src/cm/media/js/lib/yui/yui_3.0.0b1/api/loader.js.html
changeset 0 40c8f766c9b8
equal deleted inserted replaced
-1:000000000000 0:40c8f766c9b8
       
     1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
       
     2 <html xmlns:yui="http://yuilibrary.com/rdf/1.0/yui.rdf#">
       
     3 <head>
       
     4     <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
       
     5 	<title>API: yui   loader.js  (YUI Library)</title>
       
     6 
       
     7 	<link rel="stylesheet" type="text/css" href="assets/reset-fonts-grids-min.css" />
       
     8 	<link rel="stylesheet" type="text/css" href="assets/api.css" />
       
     9 
       
    10     <script type="text/javascript" src="assets/api-js"></script>
       
    11     <script type="text/javascript" src="assets/ac-js"></script>
       
    12 </head>
       
    13 
       
    14 <body id="yahoo-com">
       
    15 
       
    16 <div id="doc3" class="yui-t2">
       
    17 	<div id="hd">
       
    18         <h1><a href="http://developer.yahoo.com/yui/" title="Yahoo! UI Library">Yahoo! UI Library</a></h1>
       
    19         <h3>yui&nbsp; <span class="subtitle">3.0.0b1</span></h3>
       
    20         <a href="./index.html" title="Yahoo! UI Library">Yahoo! UI Library</a> 
       
    21             &gt; <a href="./module_yui.html" title="yui">yui</a>
       
    22                 
       
    23                  &gt; loader.js (source view) 
       
    24         <form onsubmit="return false">
       
    25             <div id="propertysearch">
       
    26                 Search: <input autocomplete="off" id="searchinput" />
       
    27                 <div id="searchresults">
       
    28                     &nbsp;
       
    29                 </div>
       
    30             </div>
       
    31         </form>
       
    32 	</div>
       
    33 
       
    34 	<div id="bd">
       
    35 		<div id="yui-main">
       
    36 			<div class="yui-b">
       
    37             <form action="#" name="yui-classopts-form" method="get" id="yui-classopts-form">
       
    38                 <fieldset>
       
    39                     <legend>Filters</legend>
       
    40                 <span class="classopts"><input type="checkbox" name="show_private" id="show_private" /> <label for="show_private">Show Private</label></span>
       
    41                 <span class="classopts"><input type="checkbox" name="show_protected" id="show_protected" /> <label for="show_protected">Show Protected</label></span>
       
    42                 <span class="classopts"><input type="checkbox" name="show_deprecated" id="show_deprecated" /> <label for="show_deprecated">Show Deprecated</label></span>
       
    43                 </fieldset>
       
    44             </form>
       
    45 
       
    46                     <div id="srcout">
       
    47                         <style>
       
    48                             #doc3 .classopts { display:none; }
       
    49                         </style>
       
    50 <div class="highlight" ><pre><span class="o">(</span><span class="k">function</span><span class="o">()</span> <span class="o">{</span>
       
    51 <span class="c">/**</span>
       
    52 <span class="c"> * Loader dynamically loads script and css files.  It includes the dependency</span>
       
    53 <span class="c"> * info for the version of the library in use, and will automatically pull in</span>
       
    54 <span class="c"> * dependencies for the modules requested.  It supports rollup files and will</span>
       
    55 <span class="c"> * automatically use these when appropriate in order to minimize the number of</span>
       
    56 <span class="c"> * http connections required to load all of the dependencies.  It can load the</span>
       
    57 <span class="c"> * files from the Yahoo! CDN, and it can utilize the combo service provided on</span>
       
    58 <span class="c"> * this network to reduce the number of http connections required to download </span>
       
    59 <span class="c"> * YUI files.</span>
       
    60 <span class="c"> *</span>
       
    61 <span class="c"> * @module yui</span>
       
    62 <span class="c"> * @submodule loader</span>
       
    63 <span class="c"> */</span>
       
    64 
       
    65 <span class="c">/**</span>
       
    66 <span class="c"> * Loader dynamically loads script and css files.  It includes the dependency</span>
       
    67 <span class="c"> * info for the version of the library in use, and will automatically pull in</span>
       
    68 <span class="c"> * dependencies for the modules requested.  It supports rollup files and will</span>
       
    69 <span class="c"> * automatically use these when appropriate in order to minimize the number of</span>
       
    70 <span class="c"> * http connections required to load all of the dependencies.  It can load the</span>
       
    71 <span class="c"> * files from the Yahoo! CDN, and it can utilize the combo service provided on</span>
       
    72 <span class="c"> * this network to reduce the number of http connections required to download </span>
       
    73 <span class="c"> * YUI files.</span>
       
    74 <span class="c"> * @class Loader</span>
       
    75 <span class="c"> * @constructor</span>
       
    76 <span class="c"> * @param o an optional set of configuration options.  Valid options:</span>
       
    77 <span class="c"> * &lt;ul&gt;</span>
       
    78 <span class="c"> *  &lt;li&gt;base:</span>
       
    79 <span class="c"> *  The base dir&lt;/li&gt;</span>
       
    80 <span class="c"> *  &lt;li&gt;secureBase:</span>
       
    81 <span class="c"> *  The secure base dir (not implemented)&lt;/li&gt;</span>
       
    82 <span class="c"> *  &lt;li&gt;comboBase:</span>
       
    83 <span class="c"> *  The YUI combo service base dir. Ex: http://yui.yahooapis.com/combo?&lt;/li&gt;</span>
       
    84 <span class="c"> *  &lt;li&gt;root:</span>
       
    85 <span class="c"> *  The root path to prepend to module names for the combo service. Ex: 2.5.2/build/&lt;/li&gt;</span>
       
    86 <span class="c"> *  &lt;li&gt;filter:</span>
       
    87 <span class="c"> *  </span>
       
    88 <span class="c"> * A filter to apply to result urls.  This filter will modify the default</span>
       
    89 <span class="c"> * path for all modules.  The default path for the YUI library is the</span>
       
    90 <span class="c"> * minified version of the files (e.g., event-min.js).  The filter property</span>
       
    91 <span class="c"> * can be a predefined filter or a custom filter.  The valid predefined </span>
       
    92 <span class="c"> * filters are:</span>
       
    93 <span class="c"> * &lt;dl&gt;</span>
       
    94 <span class="c"> *  &lt;dt&gt;DEBUG&lt;/dt&gt;</span>
       
    95 <span class="c"> *  &lt;dd&gt;Selects the debug versions of the library (e.g., event-debug.js).</span>
       
    96 <span class="c"> *      This option will automatically include the Logger widget&lt;/dd&gt;</span>
       
    97 <span class="c"> *  &lt;dt&gt;RAW&lt;/dt&gt;</span>
       
    98 <span class="c"> *  &lt;dd&gt;Selects the non-minified version of the library (e.g., event.js).&lt;/dd&gt;</span>
       
    99 <span class="c"> * &lt;/dl&gt;</span>
       
   100 <span class="c"> * You can also define a custom filter, which must be an object literal </span>
       
   101 <span class="c"> * containing a search expression and a replace string:</span>
       
   102 <span class="c"> * &lt;pre&gt;</span>
       
   103 <span class="c"> *  myFilter: &amp;#123; </span>
       
   104 <span class="c"> *      &#39;searchExp&#39;: &quot;-min\\.js&quot;, </span>
       
   105 <span class="c"> *      &#39;replaceStr&#39;: &quot;-debug.js&quot;</span>
       
   106 <span class="c"> *  &amp;#125;</span>
       
   107 <span class="c"> * &lt;/pre&gt;</span>
       
   108 <span class="c"> *</span>
       
   109 <span class="c"> *  &lt;/li&gt;</span>
       
   110 <span class="c"> *  &lt;li&gt;filters: per-component filter specification.  If specified for a given component, this overrides the filter config&lt;/li&gt;</span>
       
   111 <span class="c"> *  &lt;li&gt;combine:</span>
       
   112 <span class="c"> *  Use the YUI combo service to reduce the number of http connections required to load your dependencies&lt;/li&gt;</span>
       
   113 <span class="c"> *  &lt;li&gt;ignore:</span>
       
   114 <span class="c"> *  A list of modules that should never be dynamically loaded&lt;/li&gt;</span>
       
   115 <span class="c"> *  &lt;li&gt;force:</span>
       
   116 <span class="c"> *  A list of modules that should always be loaded when required, even if already present on the page&lt;/li&gt;</span>
       
   117 <span class="c"> *  &lt;li&gt;insertBefore:</span>
       
   118 <span class="c"> *  Node or id for a node that should be used as the insertion point for new nodes&lt;/li&gt;</span>
       
   119 <span class="c"> *  &lt;li&gt;charset:</span>
       
   120 <span class="c"> *  charset for dynamic nodes (deprecated, use jsAttributes or cssAttributes)&lt;/li&gt;</span>
       
   121 <span class="c"> *  &lt;li&gt;jsAttributes: object literal containing attributes to add to script nodes&lt;/li&gt;</span>
       
   122 <span class="c"> *  &lt;li&gt;cssAttributes: object literal containing attributes to add to link nodes&lt;/li&gt;</span>
       
   123 <span class="c"> *  &lt;li&gt;timeout:</span>
       
   124 <span class="c"> *  number of milliseconds before a timeout occurs when dynamically loading nodes.  in not set, there is no timeout&lt;/li&gt;</span>
       
   125 <span class="c"> *  &lt;li&gt;context:</span>
       
   126 <span class="c"> *  execution context for all callbacks&lt;/li&gt;</span>
       
   127 <span class="c"> *  &lt;li&gt;onSuccess:</span>
       
   128 <span class="c"> *  callback for the &#39;success&#39; event&lt;/li&gt;</span>
       
   129 <span class="c"> *  &lt;li&gt;onFailure: callback for the &#39;failure&#39; event&lt;/li&gt;</span>
       
   130 <span class="c"> *  &lt;li&gt;onCSS: callback for the &#39;CSSComplete&#39; event.  When loading YUI components with CSS</span>
       
   131 <span class="c"> *  the CSS is loaded first, then the script.  This provides a moment you can tie into to improve</span>
       
   132 <span class="c"> *  the presentation of the page while the script is loading.&lt;/li&gt;</span>
       
   133 <span class="c"> *  &lt;li&gt;onTimeout:</span>
       
   134 <span class="c"> *  callback for the &#39;timeout&#39; event&lt;/li&gt;</span>
       
   135 <span class="c"> *  &lt;li&gt;onProgress:</span>
       
   136 <span class="c"> *  callback executed each time a script or css file is loaded&lt;/li&gt;</span>
       
   137 <span class="c"> *  &lt;li&gt;modules:</span>
       
   138 <span class="c"> *  A list of module definitions.  See Loader.addModule for the supported module metadata&lt;/li&gt;</span>
       
   139 <span class="c"> * &lt;/ul&gt;</span>
       
   140 <span class="c"> */</span>
       
   141 
       
   142 <span class="c">// @TODO backed out the custom event changes so that the event system</span>
       
   143 <span class="c">// isn&#39;t required in the seed build.  If needed, we may want to </span>
       
   144 <span class="c">// add them back if the event system is detected.</span>
       
   145 <span class="c"></span>
       
   146 
       
   147 <span class="c">/*</span>
       
   148 <span class="c"> * Global loader queue</span>
       
   149 <span class="c"> * @property _loaderQueue</span>
       
   150 <span class="c"> * @type Queue</span>
       
   151 <span class="c"> * @private</span>
       
   152 <span class="c"> */</span>
       
   153 <span class="nx">YUI</span><span class="o">.</span><span class="nx">Env</span><span class="o">.</span><span class="nx">_loaderQueue</span> <span class="o">=</span> <span class="nx">YUI</span><span class="o">.</span><span class="nx">Env</span><span class="o">.</span><span class="nx">_loaderQueue</span> <span class="o">||</span> <span class="k">new</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">Queue</span><span class="o">();</span>
       
   154 
       
   155 <span class="k">var</span> <span class="nx">GLOBAL_ENV</span> <span class="o">=</span> <span class="nx">YUI</span><span class="o">.</span><span class="nx">Env</span><span class="o">,</span>
       
   156     <span class="nx">GLOBAL_LOADED</span><span class="o">,</span>
       
   157     <span class="nx">BASE</span> <span class="o">=</span> <span class="s1">&#39;base&#39;</span><span class="o">,</span> 
       
   158     <span class="nx">CSS</span> <span class="o">=</span> <span class="s1">&#39;css&#39;</span><span class="o">,</span>
       
   159     <span class="nx">JS</span> <span class="o">=</span> <span class="s1">&#39;js&#39;</span><span class="o">,</span>
       
   160     <span class="nx">CSSRESET</span> <span class="o">=</span> <span class="s1">&#39;cssreset&#39;</span><span class="o">,</span>
       
   161     <span class="nx">CSSFONTS</span> <span class="o">=</span> <span class="s1">&#39;cssfonts&#39;</span><span class="o">,</span>
       
   162     <span class="nx">CSSGRIDS</span> <span class="o">=</span> <span class="s1">&#39;cssgrids&#39;</span><span class="o">,</span>
       
   163     <span class="nx">CSSBASE</span>  <span class="o">=</span> <span class="s1">&#39;cssbase&#39;</span><span class="o">,</span>
       
   164     <span class="nx">CSS_AFTER</span> <span class="o">=</span> <span class="o">[</span><span class="nx">CSSRESET</span><span class="o">,</span> <span class="nx">CSSFONTS</span><span class="o">,</span> <span class="nx">CSSGRIDS</span><span class="o">,</span> 
       
   165                  <span class="s1">&#39;cssreset-context&#39;</span><span class="o">,</span> <span class="s1">&#39;cssfonts-context&#39;</span><span class="o">,</span> <span class="s1">&#39;cssgrids-context&#39;</span><span class="o">],</span>
       
   166     <span class="nx">YUI_CSS</span> <span class="o">=</span> <span class="o">[</span><span class="s1">&#39;reset&#39;</span><span class="o">,</span> <span class="s1">&#39;fonts&#39;</span><span class="o">,</span> <span class="s1">&#39;grids&#39;</span><span class="o">,</span> <span class="nx">BASE</span><span class="o">],</span>
       
   167     <span class="nx">VERSION</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">version</span><span class="o">,</span>
       
   168     <span class="nx">ROOT</span> <span class="o">=</span> <span class="nx">VERSION</span> <span class="o">+</span> <span class="s1">&#39;/build/&#39;</span><span class="o">,</span>
       
   169     <span class="nx">CONTEXT</span> <span class="o">=</span> <span class="s1">&#39;-context&#39;</span><span class="o">,</span>
       
   170 
       
   171 
       
   172     <span class="nx">ANIMBASE</span> <span class="o">=</span> <span class="s1">&#39;anim-base&#39;</span><span class="o">,</span>
       
   173     <span class="nx">DDDRAG</span> <span class="o">=</span> <span class="s1">&#39;dd-drag&#39;</span><span class="o">,</span>
       
   174     <span class="nx">DOM</span> <span class="o">=</span> <span class="s1">&#39;dom&#39;</span><span class="o">,</span>
       
   175     <span class="nx">DATASCHEMABASE</span> <span class="o">=</span> <span class="s1">&#39;dataschema-base&#39;</span><span class="o">,</span>
       
   176     <span class="nx">DATASOURCELOCAL</span> <span class="o">=</span> <span class="s1">&#39;datasource-local&#39;</span><span class="o">,</span>
       
   177     <span class="nx">DOMBASE</span> <span class="o">=</span> <span class="s1">&#39;dom-base&#39;</span><span class="o">,</span>
       
   178     <span class="nx">DOMSTYLE</span> <span class="o">=</span> <span class="s1">&#39;dom-style&#39;</span><span class="o">,</span>
       
   179     <span class="nx">DUMP</span> <span class="o">=</span> <span class="s1">&#39;dump&#39;</span><span class="o">,</span>
       
   180     <span class="nx">GET</span> <span class="o">=</span> <span class="s1">&#39;get&#39;</span><span class="o">,</span>
       
   181     <span class="nx">EVENT</span> <span class="o">=</span> <span class="s1">&#39;event&#39;</span><span class="o">,</span>
       
   182     <span class="nx">EVENTCUSTOM</span> <span class="o">=</span> <span class="s1">&#39;event-custom&#39;</span><span class="o">,</span>
       
   183     <span class="nx">IOBASE</span> <span class="o">=</span> <span class="s1">&#39;io-base&#39;</span><span class="o">,</span>
       
   184     <span class="nx">NODE</span> <span class="o">=</span> <span class="s1">&#39;node&#39;</span><span class="o">,</span>
       
   185     <span class="nx">NODEBASE</span> <span class="o">=</span> <span class="s1">&#39;node-base&#39;</span><span class="o">,</span>
       
   186     <span class="nx">OOP</span> <span class="o">=</span> <span class="s1">&#39;oop&#39;</span><span class="o">,</span>
       
   187     <span class="nx">SELECTORCSS2</span> <span class="o">=</span> <span class="s1">&#39;selector-css2&#39;</span><span class="o">,</span>
       
   188     <span class="nx">SUBSTITUTE</span> <span class="o">=</span> <span class="s1">&#39;substitute&#39;</span><span class="o">,</span>
       
   189     <span class="nx">WIDGET</span> <span class="o">=</span> <span class="s1">&#39;widget&#39;</span><span class="o">,</span>
       
   190     <span class="nx">WIDGETPOSITION</span> <span class="o">=</span> <span class="s1">&#39;widget-position&#39;</span><span class="o">,</span>
       
   191     <span class="nx">YUIBASE</span> <span class="o">=</span> <span class="s1">&#39;yui-base&#39;</span><span class="o">,</span>
       
   192 
       
   193 	<span class="nx">PLUGIN</span> <span class="o">=</span> <span class="s1">&#39;plugin&#39;</span><span class="o">,</span>
       
   194 
       
   195     <span class="nx">META</span> <span class="o">=</span> <span class="o">{</span>
       
   196 
       
   197     <span class="nx">version</span><span class="o">:</span> <span class="nx">VERSION</span><span class="o">,</span>
       
   198 
       
   199     <span class="nx">root</span><span class="o">:</span> <span class="nx">ROOT</span><span class="o">,</span>
       
   200 
       
   201     <span class="nx">base</span><span class="o">:</span> <span class="s1">&#39;http://yui.yahooapis.com/&#39;</span> <span class="o">+</span> <span class="nx">ROOT</span><span class="o">,</span>
       
   202 
       
   203     <span class="nx">comboBase</span><span class="o">:</span> <span class="s1">&#39;http://yui.yahooapis.com/combo?&#39;</span><span class="o">,</span>
       
   204 
       
   205     <span class="nx">skin</span><span class="o">:</span> <span class="o">{</span>
       
   206         <span class="nx">defaultSkin</span><span class="o">:</span> <span class="s1">&#39;sam&#39;</span><span class="o">,</span>
       
   207         <span class="nx">base</span><span class="o">:</span> <span class="s1">&#39;assets/skins/&#39;</span><span class="o">,</span>
       
   208         <span class="nx">path</span><span class="o">:</span> <span class="s1">&#39;skin.css&#39;</span><span class="o">,</span>
       
   209         <span class="nx">after</span><span class="o">:</span> <span class="nx">CSS_AFTER</span>
       
   210         <span class="c">//rollup: 3</span>
       
   211 <span class="c"></span>    <span class="o">},</span>
       
   212 
       
   213     <span class="nx">modules</span><span class="o">:</span> <span class="o">{</span>
       
   214 
       
   215        <span class="nx">dom</span><span class="o">:</span> <span class="o">{</span>
       
   216             <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">OOP</span><span class="o">],</span>
       
   217             <span class="nx">submodules</span><span class="o">:</span> <span class="o">{</span>
       
   218 
       
   219                 <span class="s1">&#39;dom-base&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   220                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">OOP</span><span class="o">]</span>
       
   221                 <span class="o">},</span>
       
   222 
       
   223                 <span class="s1">&#39;dom-style&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   224                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DOMBASE</span><span class="o">]</span>
       
   225                 <span class="o">},</span>
       
   226 
       
   227                 <span class="s1">&#39;dom-screen&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   228                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DOMBASE</span><span class="o">,</span> <span class="nx">DOMSTYLE</span><span class="o">]</span>
       
   229                 <span class="o">},</span>
       
   230 
       
   231                 <span class="s1">&#39;selector-native&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   232                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DOMBASE</span><span class="o">]</span>
       
   233                 <span class="o">},</span>
       
   234 
       
   235                 <span class="s1">&#39;selector-css2&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   236                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="s1">&#39;selector-native&#39;</span><span class="o">]</span>
       
   237                 <span class="o">},</span>
       
   238 
       
   239                 <span class="s1">&#39;selector&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   240                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DOMBASE</span><span class="o">]</span>
       
   241                 <span class="o">}</span>
       
   242 
       
   243             <span class="o">},</span>
       
   244 
       
   245             <span class="nx">plugins</span><span class="o">:</span> <span class="o">{</span>
       
   246                 <span class="s1">&#39;selector-css3&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   247                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">SELECTORCSS2</span><span class="o">]</span>
       
   248                 <span class="o">}</span>
       
   249             <span class="o">}</span>
       
   250         <span class="o">},</span>
       
   251 
       
   252         <span class="nx">node</span><span class="o">:</span> <span class="o">{</span>
       
   253             <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DOM</span><span class="o">,</span> <span class="nx">BASE</span><span class="o">],</span>
       
   254             <span class="nx">expound</span><span class="o">:</span> <span class="nx">EVENT</span><span class="o">,</span>
       
   255 
       
   256             <span class="nx">submodules</span><span class="o">:</span> <span class="o">{</span>
       
   257                 <span class="s1">&#39;node-base&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   258                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DOMBASE</span><span class="o">,</span> <span class="nx">BASE</span><span class="o">,</span> <span class="nx">SELECTORCSS2</span><span class="o">]</span>
       
   259                 <span class="o">},</span>
       
   260 
       
   261                 <span class="s1">&#39;node-style&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   262                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DOMSTYLE</span><span class="o">,</span> <span class="nx">NODEBASE</span><span class="o">]</span>
       
   263                 <span class="o">},</span>
       
   264 
       
   265                 <span class="s1">&#39;node-screen&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   266                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="s1">&#39;dom-screen&#39;</span><span class="o">,</span> <span class="nx">NODEBASE</span><span class="o">]</span>
       
   267                 <span class="o">}</span>
       
   268             <span class="o">},</span>
       
   269 
       
   270             <span class="nx">plugins</span><span class="o">:</span> <span class="o">{</span>
       
   271                 <span class="s1">&#39;node-event-simulate&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   272                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">NODEBASE</span><span class="o">,</span> <span class="s1">&#39;event-simulate&#39;</span><span class="o">]</span>
       
   273                 <span class="o">}</span>
       
   274             <span class="o">}</span>
       
   275         <span class="o">},</span>
       
   276 
       
   277         <span class="nx">anim</span><span class="o">:</span> <span class="o">{</span>
       
   278             <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">BASE</span><span class="o">,</span> <span class="nx">NODE</span><span class="o">],</span>
       
   279             <span class="nx">submodules</span><span class="o">:</span> <span class="o">{</span>
       
   280 
       
   281                 <span class="s1">&#39;anim-base&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   282                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">BASE</span><span class="o">,</span> <span class="s1">&#39;node-style&#39;</span><span class="o">]</span>
       
   283                 <span class="o">},</span>
       
   284 
       
   285                 <span class="s1">&#39;anim-color&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   286                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">ANIMBASE</span><span class="o">]</span>
       
   287                 <span class="o">},</span>
       
   288 
       
   289                 <span class="s1">&#39;anim-curve&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   290                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="s1">&#39;anim-xy&#39;</span><span class="o">]</span>
       
   291                 <span class="o">},</span>
       
   292 
       
   293                 <span class="s1">&#39;anim-easing&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   294                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">ANIMBASE</span><span class="o">]</span>
       
   295                 <span class="o">},</span>
       
   296 
       
   297                 <span class="s1">&#39;anim-scroll&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   298                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">ANIMBASE</span><span class="o">]</span>
       
   299                 <span class="o">},</span>
       
   300 
       
   301                 <span class="s1">&#39;anim-xy&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   302                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">ANIMBASE</span><span class="o">,</span> <span class="s1">&#39;node-screen&#39;</span><span class="o">]</span>
       
   303                 <span class="o">},</span>
       
   304 
       
   305                 <span class="s1">&#39;anim-node-plugin&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   306                      <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">NODE</span><span class="o">,</span> <span class="nx">ANIMBASE</span><span class="o">]</span>
       
   307                 <span class="o">}</span>
       
   308             <span class="o">}</span>
       
   309         <span class="o">},</span>
       
   310 
       
   311         <span class="nx">attribute</span><span class="o">:</span> <span class="o">{</span> 
       
   312             <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">EVENTCUSTOM</span><span class="o">]</span>
       
   313         <span class="o">},</span>
       
   314 
       
   315         <span class="nx">base</span><span class="o">:</span> <span class="o">{</span>
       
   316             <span class="nx">submodules</span><span class="o">:</span> <span class="o">{</span>
       
   317 
       
   318                 <span class="s1">&#39;base-base&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   319                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="s1">&#39;attribute&#39;</span><span class="o">]</span>
       
   320                 <span class="o">},</span>
       
   321 
       
   322                 <span class="s1">&#39;base-build&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   323                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="s1">&#39;base-base&#39;</span><span class="o">]</span>
       
   324                 <span class="o">}</span>
       
   325             <span class="o">}</span>
       
   326         <span class="o">},</span>
       
   327 
       
   328         <span class="nx">cache</span><span class="o">:</span> <span class="o">{</span> 
       
   329             <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">PLUGIN</span><span class="o">]</span>
       
   330         <span class="o">},</span>
       
   331         
       
   332         <span class="nx">compat</span><span class="o">:</span> <span class="o">{</span> 
       
   333             <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">NODE</span><span class="o">,</span> <span class="nx">DUMP</span><span class="o">,</span> <span class="nx">SUBSTITUTE</span><span class="o">]</span>
       
   334         <span class="o">},</span>
       
   335 
       
   336         <span class="nx">classnamemanager</span><span class="o">:</span> <span class="o">{</span> 
       
   337             <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">YUIBASE</span><span class="o">]</span>
       
   338         <span class="o">},</span>
       
   339 
       
   340         <span class="nx">collection</span><span class="o">:</span> <span class="o">{</span> 
       
   341             <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">OOP</span><span class="o">]</span>
       
   342         <span class="o">},</span>
       
   343 
       
   344         <span class="nx">console</span><span class="o">:</span> <span class="o">{</span>
       
   345             <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">WIDGET</span><span class="o">,</span> <span class="nx">SUBSTITUTE</span><span class="o">],</span>
       
   346             <span class="nx">skinnable</span><span class="o">:</span> <span class="kc">true</span><span class="o">,</span>
       
   347             <span class="nx">plugins</span><span class="o">:</span> <span class="o">{</span>
       
   348                 <span class="s1">&#39;console-filters&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   349                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">PLUGIN</span><span class="o">],</span>
       
   350                     <span class="nx">skinnable</span><span class="o">:</span> <span class="kc">true</span>
       
   351                 <span class="o">}</span>
       
   352             <span class="o">}</span>
       
   353         <span class="o">},</span>
       
   354         
       
   355         <span class="nx">cookie</span><span class="o">:</span> <span class="o">{</span> 
       
   356             <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">YUIBASE</span><span class="o">]</span>
       
   357         <span class="o">},</span>
       
   358 
       
   359         <span class="nx">dataschema</span><span class="o">:{</span>
       
   360             <span class="nx">submodules</span><span class="o">:</span> <span class="o">{</span>
       
   361                 <span class="s1">&#39;dataschema-base&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   362                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">BASE</span><span class="o">]</span>
       
   363                 <span class="o">},</span>
       
   364                 <span class="s1">&#39;dataschema-array&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   365                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DATASCHEMABASE</span><span class="o">]</span>
       
   366                 <span class="o">},</span>
       
   367                 <span class="s1">&#39;dataschema-json&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   368                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DATASCHEMABASE</span><span class="o">,</span> <span class="s1">&#39;json&#39;</span><span class="o">]</span>
       
   369                 <span class="o">},</span>
       
   370                 <span class="s1">&#39;dataschema-text&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   371                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DATASCHEMABASE</span><span class="o">]</span>
       
   372                 <span class="o">},</span>
       
   373                 <span class="s1">&#39;dataschema-xml&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   374                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DATASCHEMABASE</span><span class="o">]</span>
       
   375                 <span class="o">}</span>
       
   376             <span class="o">}</span>
       
   377         <span class="o">},</span>
       
   378 
       
   379         <span class="nx">datasource</span><span class="o">:{</span>
       
   380             <span class="nx">submodules</span><span class="o">:</span> <span class="o">{</span>
       
   381                 <span class="s1">&#39;datasource-local&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   382                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">BASE</span><span class="o">]</span>
       
   383                 <span class="o">},</span>
       
   384                 <span class="s1">&#39;datasource-arrayschema&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   385                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DATASOURCELOCAL</span><span class="o">,</span> <span class="nx">PLUGIN</span><span class="o">,</span> <span class="s1">&#39;dataschema-array&#39;</span><span class="o">]</span>
       
   386                 <span class="o">},</span>
       
   387                 <span class="s1">&#39;datasource-cache&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   388                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DATASOURCELOCAL</span><span class="o">,</span> <span class="s1">&#39;cache&#39;</span><span class="o">]</span>
       
   389                 <span class="o">},</span>
       
   390                 <span class="s1">&#39;datasource-function&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   391                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DATASOURCELOCAL</span><span class="o">]</span>
       
   392                 <span class="o">},</span>
       
   393                 <span class="s1">&#39;datasource-jsonschema&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   394                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DATASOURCELOCAL</span><span class="o">,</span> <span class="nx">PLUGIN</span><span class="o">,</span> <span class="s1">&#39;dataschema-json&#39;</span><span class="o">]</span>
       
   395                 <span class="o">},</span>
       
   396                 <span class="s1">&#39;datasource-polling&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   397                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DATASOURCELOCAL</span><span class="o">]</span>
       
   398                 <span class="o">},</span>
       
   399                 <span class="s1">&#39;datasource-get&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   400                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DATASOURCELOCAL</span><span class="o">,</span> <span class="nx">GET</span><span class="o">]</span>
       
   401                 <span class="o">},</span>
       
   402                 <span class="s1">&#39;datasource-textschema&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   403                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DATASOURCELOCAL</span><span class="o">,</span> <span class="nx">PLUGIN</span><span class="o">,</span> <span class="s1">&#39;dataschema-text&#39;</span><span class="o">]</span>
       
   404                 <span class="o">},</span>
       
   405                 <span class="s1">&#39;datasource-io&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   406                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DATASOURCELOCAL</span><span class="o">,</span> <span class="nx">IOBASE</span><span class="o">]</span>
       
   407                 <span class="o">},</span>
       
   408                 <span class="s1">&#39;datasource-xmlschema&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   409                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DATASOURCELOCAL</span><span class="o">,</span> <span class="nx">PLUGIN</span><span class="o">,</span> <span class="s1">&#39;dataschema-xml&#39;</span><span class="o">]</span>
       
   410                 <span class="o">}</span>
       
   411             <span class="o">}</span>
       
   412         <span class="o">},</span>
       
   413 
       
   414         <span class="nx">datatype</span><span class="o">:{</span>
       
   415             <span class="nx">submodules</span><span class="o">:</span> <span class="o">{</span>
       
   416                 <span class="s1">&#39;datatype-date&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   417                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">YUIBASE</span><span class="o">]</span>
       
   418                 <span class="o">},</span>
       
   419                 <span class="s1">&#39;datatype-number&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   420                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">YUIBASE</span><span class="o">]</span>
       
   421                 <span class="o">},</span>
       
   422                 <span class="s1">&#39;datatype-xml&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   423                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">YUIBASE</span><span class="o">]</span>
       
   424                 <span class="o">}</span>
       
   425             <span class="o">}</span>
       
   426         <span class="o">},</span>
       
   427 
       
   428         <span class="nx">dd</span><span class="o">:{</span>
       
   429             <span class="nx">submodules</span><span class="o">:</span> <span class="o">{</span>
       
   430                 <span class="s1">&#39;dd-ddm-base&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   431                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">NODE</span><span class="o">,</span> <span class="nx">BASE</span><span class="o">]</span>
       
   432                 <span class="o">},</span> 
       
   433                 <span class="s1">&#39;dd-ddm&#39;</span><span class="o">:{</span>
       
   434                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="s1">&#39;dd-ddm-base&#39;</span><span class="o">]</span>
       
   435                 <span class="o">},</span> 
       
   436                 <span class="s1">&#39;dd-ddm-drop&#39;</span><span class="o">:{</span>
       
   437                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="s1">&#39;dd-ddm&#39;</span><span class="o">]</span>
       
   438                 <span class="o">},</span> 
       
   439                 <span class="s1">&#39;dd-drag&#39;</span><span class="o">:{</span>
       
   440                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="s1">&#39;dd-ddm-base&#39;</span><span class="o">]</span>
       
   441                 <span class="o">},</span> 
       
   442                 <span class="s1">&#39;dd-drop&#39;</span><span class="o">:{</span>
       
   443                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="s1">&#39;dd-ddm-drop&#39;</span><span class="o">]</span>
       
   444                 <span class="o">},</span> 
       
   445                 <span class="s1">&#39;dd-proxy&#39;</span><span class="o">:{</span>
       
   446                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DDDRAG</span><span class="o">]</span>
       
   447                 <span class="o">},</span> 
       
   448                 <span class="s1">&#39;dd-constrain&#39;</span><span class="o">:{</span>
       
   449                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DDDRAG</span><span class="o">]</span>
       
   450                 <span class="o">},</span> 
       
   451                 <span class="s1">&#39;dd-scroll&#39;</span><span class="o">:{</span>
       
   452                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DDDRAG</span><span class="o">]</span>
       
   453                 <span class="o">},</span> 
       
   454                 <span class="s1">&#39;dd-plugin&#39;</span><span class="o">:{</span>
       
   455                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">DDDRAG</span><span class="o">],</span>
       
   456                     <span class="nx">optional</span><span class="o">:</span> <span class="o">[</span><span class="s1">&#39;dd-constrain&#39;</span><span class="o">,</span> <span class="s1">&#39;dd-proxy&#39;</span><span class="o">]</span>
       
   457                 <span class="o">},</span>
       
   458                 <span class="s1">&#39;dd-drop-plugin&#39;</span><span class="o">:{</span>
       
   459                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="s1">&#39;dd-drop&#39;</span><span class="o">]</span>
       
   460                 <span class="o">}</span>
       
   461             <span class="o">}</span>
       
   462         <span class="o">},</span>
       
   463 
       
   464         <span class="nx">dump</span><span class="o">:</span> <span class="o">{</span> 
       
   465             <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">YUIBASE</span><span class="o">]</span>
       
   466         <span class="o">},</span>
       
   467 
       
   468         <span class="nx">event</span><span class="o">:</span> <span class="o">{</span> 
       
   469             <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">EVENTCUSTOM</span><span class="o">,</span> <span class="nx">NODE</span><span class="o">]</span>
       
   470         <span class="o">},</span>
       
   471 
       
   472         <span class="s1">&#39;event-custom&#39;</span><span class="o">:</span> <span class="o">{</span> 
       
   473             <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">OOP</span><span class="o">]</span>
       
   474         <span class="o">},</span>
       
   475 
       
   476         <span class="s1">&#39;event-simulate&#39;</span><span class="o">:</span> <span class="o">{</span> 
       
   477             <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">EVENT</span><span class="o">]</span>
       
   478         <span class="o">},</span>
       
   479 
       
   480         <span class="s1">&#39;node-focusmanager&#39;</span><span class="o">:</span> <span class="o">{</span> 
       
   481             <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">NODE</span><span class="o">,</span> <span class="nx">PLUGIN</span><span class="o">]</span>
       
   482         <span class="o">},</span>
       
   483 
       
   484         <span class="nx">get</span><span class="o">:</span> <span class="o">{</span> 
       
   485             <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">YUIBASE</span><span class="o">]</span>
       
   486         <span class="o">},</span>
       
   487 
       
   488         <span class="nx">history</span><span class="o">:</span> <span class="o">{</span> 
       
   489             <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">NODE</span><span class="o">]</span>
       
   490         <span class="o">},</span>
       
   491 
       
   492         <span class="nx">imageloader</span><span class="o">:</span> <span class="o">{</span> 
       
   493             <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">NODE</span><span class="o">]</span>
       
   494         <span class="o">},</span>
       
   495         
       
   496         <span class="nx">io</span><span class="o">:{</span>
       
   497             <span class="nx">submodules</span><span class="o">:</span> <span class="o">{</span>
       
   498 
       
   499                 <span class="s1">&#39;io-base&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   500                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">EVENTCUSTOM</span><span class="o">]</span>
       
   501                 <span class="o">},</span> 
       
   502 
       
   503                 <span class="s1">&#39;io-xdr&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   504                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">IOBASE</span><span class="o">]</span>
       
   505                 <span class="o">},</span> 
       
   506 
       
   507                 <span class="s1">&#39;io-form&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   508                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">IOBASE</span><span class="o">,</span> <span class="nx">NODE</span><span class="o">]</span>
       
   509                 <span class="o">},</span> 
       
   510 
       
   511                 <span class="s1">&#39;io-upload-iframe&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   512                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">IOBASE</span><span class="o">,</span> <span class="nx">NODE</span><span class="o">]</span>
       
   513                 <span class="o">},</span>
       
   514 
       
   515                 <span class="s1">&#39;io-queue&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   516                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">IOBASE</span><span class="o">,</span> <span class="s1">&#39;queue-promote&#39;</span><span class="o">]</span>
       
   517                 <span class="o">}</span>
       
   518             <span class="o">}</span>
       
   519         <span class="o">},</span>
       
   520 
       
   521         <span class="nx">json</span><span class="o">:</span> <span class="o">{</span>
       
   522             <span class="nx">submodules</span><span class="o">:</span> <span class="o">{</span>
       
   523                 <span class="s1">&#39;json-parse&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   524                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">YUIBASE</span><span class="o">]</span>
       
   525                 <span class="o">},</span>
       
   526 
       
   527                 <span class="s1">&#39;json-stringify&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   528                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">YUIBASE</span><span class="o">]</span>
       
   529                 <span class="o">}</span>
       
   530             <span class="o">}</span>
       
   531         <span class="o">},</span>
       
   532 
       
   533         <span class="nx">loader</span><span class="o">:</span> <span class="o">{</span> 
       
   534             <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">GET</span><span class="o">]</span>
       
   535         <span class="o">},</span>
       
   536 
       
   537         <span class="s1">&#39;node-menunav&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   538             <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">NODE</span><span class="o">,</span> <span class="s1">&#39;classnamemanager&#39;</span><span class="o">,</span> <span class="nx">PLUGIN</span><span class="o">,</span> <span class="s1">&#39;node-focusmanager&#39;</span><span class="o">],</span>
       
   539             <span class="nx">skinnable</span><span class="o">:</span> <span class="kc">true</span>
       
   540         <span class="o">},</span>
       
   541         
       
   542         <span class="nx">oop</span><span class="o">:</span> <span class="o">{</span> 
       
   543             <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">YUIBASE</span><span class="o">]</span>
       
   544         <span class="o">},</span>
       
   545 
       
   546         <span class="nx">overlay</span><span class="o">:</span> <span class="o">{</span>
       
   547             <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">WIDGET</span><span class="o">,</span> <span class="nx">WIDGETPOSITION</span><span class="o">,</span> <span class="s1">&#39;widget-position-ext&#39;</span><span class="o">,</span> <span class="s1">&#39;widget-stack&#39;</span><span class="o">,</span> <span class="s1">&#39;widget-stdmod&#39;</span><span class="o">],</span>
       
   548             <span class="nx">skinnable</span><span class="o">:</span> <span class="kc">true</span>
       
   549         <span class="o">},</span>
       
   550 
       
   551         <span class="nx">plugin</span><span class="o">:</span> <span class="o">{</span> 
       
   552             <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">BASE</span><span class="o">]</span>
       
   553         <span class="o">},</span>
       
   554 
       
   555         <span class="nx">profiler</span><span class="o">:</span> <span class="o">{</span> 
       
   556             <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">YUIBASE</span><span class="o">]</span>
       
   557         <span class="o">},</span>
       
   558 
       
   559         <span class="nx">queue</span><span class="o">:</span> <span class="o">{</span>
       
   560             <span class="nx">submodules</span><span class="o">:</span> <span class="o">{</span>
       
   561                 <span class="s1">&#39;queue-base&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   562                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">YUIBASE</span><span class="o">]</span>
       
   563                 <span class="o">},</span>
       
   564                 <span class="s1">&#39;queue-run&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   565                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="s1">&#39;queue-base&#39;</span><span class="o">,</span> <span class="nx">EVENTCUSTOM</span><span class="o">]</span>
       
   566                 <span class="o">}</span>
       
   567             <span class="o">},</span>
       
   568             <span class="nx">plugins</span><span class="o">:</span> <span class="o">{</span>
       
   569                 <span class="s1">&#39;queue-promote&#39;</span><span class="o">:</span> <span class="o">{</span> <span class="o">}</span>
       
   570             <span class="o">}</span>
       
   571         <span class="o">},</span>
       
   572 
       
   573         <span class="nx">slider</span><span class="o">:</span> <span class="o">{</span>
       
   574             <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">WIDGET</span><span class="o">,</span> <span class="s1">&#39;dd-constrain&#39;</span><span class="o">],</span>
       
   575             <span class="nx">skinnable</span><span class="o">:</span> <span class="kc">true</span>
       
   576         <span class="o">},</span>
       
   577 
       
   578         <span class="nx">stylesheet</span><span class="o">:</span> <span class="o">{</span> 
       
   579             <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">YUIBASE</span><span class="o">]</span>
       
   580         <span class="o">},</span>
       
   581 
       
   582         <span class="nx">substitute</span><span class="o">:</span> <span class="o">{</span>
       
   583             <span class="nx">optional</span><span class="o">:</span> <span class="o">[</span><span class="nx">DUMP</span><span class="o">]</span>
       
   584         <span class="o">},</span>
       
   585 
       
   586         <span class="nx">widget</span><span class="o">:</span> <span class="o">{</span>
       
   587             <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">BASE</span><span class="o">,</span> <span class="nx">NODE</span><span class="o">,</span> <span class="s1">&#39;classnamemanager&#39;</span><span class="o">],</span>
       
   588             <span class="nx">plugins</span><span class="o">:</span> <span class="o">{</span>
       
   589                 <span class="s1">&#39;widget-position&#39;</span><span class="o">:</span> <span class="o">{</span> <span class="o">},</span>
       
   590                 <span class="s1">&#39;widget-position-ext&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   591                     <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">WIDGETPOSITION</span><span class="o">]</span>
       
   592                 <span class="o">},</span>
       
   593                 <span class="s1">&#39;widget-stack&#39;</span><span class="o">:</span> <span class="o">{</span>
       
   594                     <span class="nx">skinnable</span><span class="o">:</span> <span class="kc">true</span>
       
   595                 <span class="o">},</span>
       
   596                 <span class="s1">&#39;widget-stdmod&#39;</span><span class="o">:</span> <span class="o">{</span> <span class="o">}</span>
       
   597             <span class="o">},</span>
       
   598             <span class="nx">skinnable</span><span class="o">:</span> <span class="kc">true</span>
       
   599         <span class="o">},</span>
       
   600 
       
   601         <span class="nx">yui</span><span class="o">:</span> <span class="o">{</span>
       
   602             <span class="nx">supersedes</span><span class="o">:</span> <span class="o">[</span><span class="nx">YUIBASE</span><span class="o">,</span> <span class="nx">GET</span><span class="o">,</span> <span class="s1">&#39;loader&#39;</span><span class="o">,</span> <span class="s1">&#39;queue-base&#39;</span><span class="o">]</span>
       
   603         <span class="o">},</span>
       
   604 
       
   605         <span class="s1">&#39;yui-base&#39;</span><span class="o">:</span> <span class="o">{</span> <span class="o">},</span>
       
   606 
       
   607         <span class="nx">test</span><span class="o">:</span> <span class="o">{</span>                                                                                                                                                        
       
   608             <span class="nx">requires</span><span class="o">:</span> <span class="o">[</span><span class="nx">SUBSTITUTE</span><span class="o">,</span> <span class="nx">NODE</span><span class="o">,</span> <span class="s1">&#39;json&#39;</span><span class="o">,</span> <span class="s1">&#39;event-simulate&#39;</span><span class="o">]</span>                                                                                                                     
       
   609         <span class="o">}</span>  
       
   610 
       
   611     <span class="o">}</span>
       
   612 <span class="o">},</span>
       
   613 
       
   614 <span class="nx">_path</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">dir</span><span class="o">,</span> <span class="nx">file</span><span class="o">,</span> <span class="nx">type</span><span class="o">)</span> <span class="o">{</span>
       
   615     <span class="k">return</span> <span class="nx">dir</span> <span class="o">+</span> <span class="s1">&#39;/&#39;</span> <span class="o">+</span> <span class="nx">file</span> <span class="o">+</span> <span class="s1">&#39;-min.&#39;</span> <span class="o">+</span> <span class="o">(</span><span class="nx">type</span> <span class="o">||</span> <span class="nx">CSS</span><span class="o">);</span>
       
   616 <span class="o">},</span>
       
   617 
       
   618 <span class="nx">_queue</span> <span class="o">=</span> <span class="nx">YUI</span><span class="o">.</span><span class="nx">Env</span><span class="o">.</span><span class="nx">_loaderQueue</span><span class="o">,</span>
       
   619 
       
   620 <span class="nx">mods</span>  <span class="o">=</span> <span class="nx">META</span><span class="o">.</span><span class="nx">modules</span><span class="o">,</span> <span class="nx">i</span><span class="o">,</span> <span class="nx">bname</span><span class="o">,</span> <span class="nx">mname</span><span class="o">,</span> <span class="nx">contextname</span><span class="o">,</span>
       
   621 <span class="nx">L</span>     <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">Lang</span><span class="o">,</span> 
       
   622 <span class="nx">PROV</span>  <span class="o">=</span> <span class="s2">&quot;_provides&quot;</span><span class="o">,</span> 
       
   623 <span class="nx">SUPER</span> <span class="o">=</span> <span class="s2">&quot;_supersedes&quot;</span><span class="o">;</span>
       
   624 
       
   625 <span class="c">// Create the metadata for both the regular and context-aware</span>
       
   626 <span class="c">// versions of the YUI CSS foundation.</span>
       
   627 <span class="c"></span><span class="k">for</span> <span class="o">(</span><span class="nx">i</span><span class="o">=</span><span class="m">0</span><span class="o">;</span> <span class="nx">i</span><span class="o">&lt;</span><span class="nx">YUI_CSS</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span> <span class="nx">i</span><span class="o">=</span><span class="nx">i</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span>
       
   628     <span class="nx">bname</span> <span class="o">=</span> <span class="nx">YUI_CSS</span><span class="o">[</span><span class="nx">i</span><span class="o">];</span>
       
   629     <span class="nx">mname</span> <span class="o">=</span> <span class="nx">CSS</span> <span class="o">+</span> <span class="nx">bname</span><span class="o">;</span>
       
   630 
       
   631     <span class="nx">mods</span><span class="o">[</span><span class="nx">mname</span><span class="o">]</span> <span class="o">=</span> <span class="o">{</span>
       
   632         <span class="nx">type</span><span class="o">:</span> <span class="nx">CSS</span><span class="o">,</span>
       
   633         <span class="nx">path</span><span class="o">:</span> <span class="nx">_path</span><span class="o">(</span><span class="nx">mname</span><span class="o">,</span> <span class="nx">bname</span><span class="o">)</span>
       
   634     <span class="o">};</span>
       
   635 
       
   636     <span class="c">// define -context module</span>
       
   637 <span class="c"></span>    <span class="nx">contextname</span> <span class="o">=</span> <span class="nx">mname</span> <span class="o">+</span> <span class="nx">CONTEXT</span><span class="o">;</span>
       
   638     <span class="nx">bname</span> <span class="o">=</span> <span class="nx">bname</span> <span class="o">+</span> <span class="nx">CONTEXT</span><span class="o">;</span>
       
   639 
       
   640     <span class="nx">mods</span><span class="o">[</span><span class="nx">contextname</span><span class="o">]</span> <span class="o">=</span> <span class="o">{</span>
       
   641         <span class="nx">type</span><span class="o">:</span> <span class="nx">CSS</span><span class="o">,</span>
       
   642         <span class="nx">path</span><span class="o">:</span> <span class="nx">_path</span><span class="o">(</span><span class="nx">mname</span><span class="o">,</span> <span class="nx">bname</span><span class="o">)</span>
       
   643     <span class="o">};</span>
       
   644 
       
   645     <span class="k">if</span> <span class="o">(</span><span class="nx">mname</span> <span class="o">==</span> <span class="nx">CSSGRIDS</span><span class="o">)</span> <span class="o">{</span>
       
   646         <span class="nx">mods</span><span class="o">[</span><span class="nx">mname</span><span class="o">].</span><span class="nx">requires</span> <span class="o">=</span> <span class="o">[</span><span class="nx">CSSFONTS</span><span class="o">];</span>
       
   647         <span class="nx">mods</span><span class="o">[</span><span class="nx">mname</span><span class="o">].</span><span class="nx">optional</span> <span class="o">=</span> <span class="o">[</span><span class="nx">CSSRESET</span><span class="o">];</span>
       
   648         <span class="nx">mods</span><span class="o">[</span><span class="nx">contextname</span><span class="o">].</span><span class="nx">requires</span> <span class="o">=</span> <span class="o">[</span><span class="nx">CSSFONTS</span> <span class="o">+</span> <span class="nx">CONTEXT</span><span class="o">];</span>
       
   649         <span class="nx">mods</span><span class="o">[</span><span class="nx">contextname</span><span class="o">].</span><span class="nx">optional</span> <span class="o">=</span> <span class="o">[</span><span class="nx">CSSRESET</span> <span class="o">+</span> <span class="nx">CONTEXT</span><span class="o">];</span>
       
   650     <span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">(</span><span class="nx">mname</span> <span class="o">==</span> <span class="nx">CSSBASE</span><span class="o">)</span> <span class="o">{</span>
       
   651         <span class="nx">mods</span><span class="o">[</span><span class="nx">mname</span><span class="o">].</span><span class="nx">after</span> <span class="o">=</span> <span class="nx">CSS_AFTER</span><span class="o">;</span>
       
   652         <span class="nx">mods</span><span class="o">[</span><span class="nx">contextname</span><span class="o">].</span><span class="nx">after</span> <span class="o">=</span> <span class="nx">CSS_AFTER</span><span class="o">;</span>
       
   653     <span class="o">}</span>
       
   654 <span class="o">}</span>
       
   655 
       
   656 <span class="nx">Y</span><span class="o">.</span><span class="nx">Env</span><span class="o">.</span><span class="nx">meta</span> <span class="o">=</span> <span class="nx">META</span><span class="o">;</span>
       
   657 
       
   658 <span class="nx">GLOBAL_LOADED</span> <span class="o">=</span> <span class="nx">GLOBAL_ENV</span><span class="o">.</span><span class="nx">_loaded</span><span class="o">;</span>
       
   659 
       
   660 <span class="nx">Y</span><span class="o">.</span><span class="nx">Loader</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">o</span><span class="o">)</span> <span class="o">{</span>
       
   661 
       
   662     <span class="c">/**</span>
       
   663 <span class="c">     * Internal callback to handle multiple internal insert() calls</span>
       
   664 <span class="c">     * so that css is inserted prior to js</span>
       
   665 <span class="c">     * @property _internalCallback</span>
       
   666 <span class="c">     * @private</span>
       
   667 <span class="c">     */</span>
       
   668     <span class="k">this</span><span class="o">.</span><span class="nx">_internalCallback</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
       
   669 
       
   670     <span class="c">/**</span>
       
   671 <span class="c">     * Use the YUI environment listener to detect script load.  This</span>
       
   672 <span class="c">     * is only switched on for Safari 2.x and below.</span>
       
   673 <span class="c">     * @property _useYahooListener</span>
       
   674 <span class="c">     * @private</span>
       
   675 <span class="c">     */</span>
       
   676     <span class="k">this</span><span class="o">.</span><span class="nx">_useYahooListener</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
       
   677 
       
   678     <span class="c">/**</span>
       
   679 <span class="c">     * Callback that will be executed when the loader is finished</span>
       
   680 <span class="c">     * with an insert</span>
       
   681 <span class="c">     * @method onSuccess</span>
       
   682 <span class="c">     * @type function</span>
       
   683 <span class="c">     */</span>
       
   684     <span class="k">this</span><span class="o">.</span><span class="nx">onSuccess</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
       
   685 
       
   686     <span class="c">/**</span>
       
   687 <span class="c">     * Callback that will be executed if there is a failure</span>
       
   688 <span class="c">     * @method onFailure</span>
       
   689 <span class="c">     * @type function</span>
       
   690 <span class="c">     */</span>
       
   691     <span class="k">this</span><span class="o">.</span><span class="nx">onFailure</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
       
   692 
       
   693     <span class="c">/**</span>
       
   694 <span class="c">     * Callback for the &#39;CSSComplete&#39; event.  When loading YUI components with CSS</span>
       
   695 <span class="c">     * the CSS is loaded first, then the script.  This provides a moment you can tie into to improve</span>
       
   696 <span class="c">     * the presentation of the page while the script is loading.</span>
       
   697 <span class="c">     * @method onCSS</span>
       
   698 <span class="c">     * @type function</span>
       
   699 <span class="c">     */</span>
       
   700     <span class="k">this</span><span class="o">.</span><span class="nx">onCSS</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
       
   701 
       
   702     <span class="c">/**</span>
       
   703 <span class="c">     * Callback executed each time a script or css file is loaded</span>
       
   704 <span class="c">     * @method onProgress</span>
       
   705 <span class="c">     * @type function</span>
       
   706 <span class="c">     */</span>
       
   707     <span class="k">this</span><span class="o">.</span><span class="nx">onProgress</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
       
   708 
       
   709     <span class="c">/**</span>
       
   710 <span class="c">     * Callback that will be executed if a timeout occurs</span>
       
   711 <span class="c">     * @method onTimeout</span>
       
   712 <span class="c">     * @type function</span>
       
   713 <span class="c">     */</span>
       
   714     <span class="k">this</span><span class="o">.</span><span class="nx">onTimeout</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
       
   715 
       
   716     <span class="c">/**</span>
       
   717 <span class="c">     * The execution context for all callbacks</span>
       
   718 <span class="c">     * @property context</span>
       
   719 <span class="c">     * @default {YUI} the YUI instance</span>
       
   720 <span class="c">     */</span>
       
   721     <span class="k">this</span><span class="o">.</span><span class="nx">context</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">;</span>
       
   722 
       
   723     <span class="c">/**</span>
       
   724 <span class="c">     * Data that is passed to all callbacks</span>
       
   725 <span class="c">     * @property data</span>
       
   726 <span class="c">     */</span>
       
   727     <span class="k">this</span><span class="o">.</span><span class="nx">data</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
       
   728 
       
   729     <span class="c">/**</span>
       
   730 <span class="c">     * Node reference or id where new nodes should be inserted before</span>
       
   731 <span class="c">     * @property insertBefore</span>
       
   732 <span class="c">     * @type string|HTMLElement</span>
       
   733 <span class="c">     */</span>
       
   734     <span class="k">this</span><span class="o">.</span><span class="nx">insertBefore</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
       
   735 
       
   736     <span class="c">/**</span>
       
   737 <span class="c">     * The charset attribute for inserted nodes</span>
       
   738 <span class="c">     * @property charset</span>
       
   739 <span class="c">     * @type string</span>
       
   740 <span class="c">     * @deprecated, use cssAttributes or jsAttributes</span>
       
   741 <span class="c">     */</span>
       
   742     <span class="k">this</span><span class="o">.</span><span class="nx">charset</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
       
   743 
       
   744     <span class="c">/**</span>
       
   745 <span class="c">     * An object literal containing attributes to add to link nodes</span>
       
   746 <span class="c">     * @property cssAttributes</span>
       
   747 <span class="c">     * @type object</span>
       
   748 <span class="c">     */</span>
       
   749     <span class="k">this</span><span class="o">.</span><span class="nx">cssAttributes</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
       
   750 
       
   751     <span class="c">/**</span>
       
   752 <span class="c">     * An object literal containing attributes to add to script nodes</span>
       
   753 <span class="c">     * @property jsAttributes</span>
       
   754 <span class="c">     * @type object</span>
       
   755 <span class="c">     */</span>
       
   756     <span class="k">this</span><span class="o">.</span><span class="nx">jsAttributes</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
       
   757 
       
   758     <span class="c">/**</span>
       
   759 <span class="c">     * The base directory.</span>
       
   760 <span class="c">     * @property base</span>
       
   761 <span class="c">     * @type string</span>
       
   762 <span class="c">     * @default http://yui.yahooapis.com/[YUI VERSION]/build/</span>
       
   763 <span class="c">     */</span>
       
   764     <span class="k">this</span><span class="o">.</span><span class="nx">base</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">Env</span><span class="o">.</span><span class="nx">meta</span><span class="o">.</span><span class="nx">base</span><span class="o">;</span>
       
   765 
       
   766     <span class="c">/**</span>
       
   767 <span class="c">     * Base path for the combo service</span>
       
   768 <span class="c">     * @property comboBase</span>
       
   769 <span class="c">     * @type string</span>
       
   770 <span class="c">     * @default http://yui.yahooapis.com/combo?</span>
       
   771 <span class="c">     */</span>
       
   772     <span class="k">this</span><span class="o">.</span><span class="nx">comboBase</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">Env</span><span class="o">.</span><span class="nx">meta</span><span class="o">.</span><span class="nx">comboBase</span><span class="o">;</span>
       
   773 
       
   774     <span class="c">/**</span>
       
   775 <span class="c">     * If configured, YUI JS resources will use the combo</span>
       
   776 <span class="c">     * handler</span>
       
   777 <span class="c">     * @property combine</span>
       
   778 <span class="c">     * @type boolean</span>
       
   779 <span class="c">     * @default true if a base dir isn&#39;t in the config</span>
       
   780 <span class="c">     */</span>
       
   781     <span class="k">this</span><span class="o">.</span><span class="nx">combine</span> <span class="o">=</span> <span class="o">(!(</span><span class="nx">BASE</span> <span class="k">in</span> <span class="nx">o</span><span class="o">));</span>
       
   782 
       
   783     <span class="c">/**</span>
       
   784 <span class="c">     * Ignore modules registered on the YUI global</span>
       
   785 <span class="c">     * @property ignoreRegistered</span>
       
   786 <span class="c">     * @default false</span>
       
   787 <span class="c">     */</span>
       
   788     <span class="k">this</span><span class="o">.</span><span class="nx">ignoreRegistered</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
       
   789 
       
   790     <span class="c">/**</span>
       
   791 <span class="c">     * Root path to prepend to module path for the combo</span>
       
   792 <span class="c">     * service</span>
       
   793 <span class="c">     * @property root</span>
       
   794 <span class="c">     * @type string</span>
       
   795 <span class="c">     * @default [YUI VERSION]/build/</span>
       
   796 <span class="c">     */</span>
       
   797     <span class="k">this</span><span class="o">.</span><span class="nx">root</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">Env</span><span class="o">.</span><span class="nx">meta</span><span class="o">.</span><span class="nx">root</span><span class="o">;</span>
       
   798 
       
   799     <span class="c">/**</span>
       
   800 <span class="c">     * Timeout value in milliseconds.  If set, this value will be used by</span>
       
   801 <span class="c">     * the get utility.  the timeout event will fire if</span>
       
   802 <span class="c">     * a timeout occurs.</span>
       
   803 <span class="c">     * @property timeout</span>
       
   804 <span class="c">     * @type int</span>
       
   805 <span class="c">     */</span>
       
   806     <span class="k">this</span><span class="o">.</span><span class="nx">timeout</span> <span class="o">=</span> <span class="m">0</span><span class="o">;</span>
       
   807 
       
   808     <span class="c">/**</span>
       
   809 <span class="c">     * A list of modules that should not be loaded, even if</span>
       
   810 <span class="c">     * they turn up in the dependency tree</span>
       
   811 <span class="c">     * @property ignore</span>
       
   812 <span class="c">     * @type string[]</span>
       
   813 <span class="c">     */</span>
       
   814     <span class="k">this</span><span class="o">.</span><span class="nx">ignore</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
       
   815 
       
   816     <span class="c">/**</span>
       
   817 <span class="c">     * A list of modules that should always be loaded, even</span>
       
   818 <span class="c">     * if they have already been inserted into the page.</span>
       
   819 <span class="c">     * @property force</span>
       
   820 <span class="c">     * @type string[]</span>
       
   821 <span class="c">     */</span>
       
   822     <span class="k">this</span><span class="o">.</span><span class="nx">force</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
       
   823 
       
   824     <span class="k">this</span><span class="o">.</span><span class="nx">forceMap</span> <span class="o">=</span> <span class="o">{};</span>
       
   825 
       
   826     <span class="c">/**</span>
       
   827 <span class="c">     * Should we allow rollups</span>
       
   828 <span class="c">     * @property allowRollup</span>
       
   829 <span class="c">     * @type boolean</span>
       
   830 <span class="c">     * @default true</span>
       
   831 <span class="c">     */</span>
       
   832     <span class="k">this</span><span class="o">.</span><span class="nx">allowRollup</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
       
   833 
       
   834     <span class="c">/**</span>
       
   835 <span class="c">     * A filter to apply to result urls.  This filter will modify the default</span>
       
   836 <span class="c">     * path for all modules.  The default path for the YUI library is the</span>
       
   837 <span class="c">     * minified version of the files (e.g., event-min.js).  The filter property</span>
       
   838 <span class="c">     * can be a predefined filter or a custom filter.  The valid predefined </span>
       
   839 <span class="c">     * filters are:</span>
       
   840 <span class="c">     * &lt;dl&gt;</span>
       
   841 <span class="c">     *  &lt;dt&gt;DEBUG&lt;/dt&gt;</span>
       
   842 <span class="c">     *  &lt;dd&gt;Selects the debug versions of the library (e.g., event-debug.js).</span>
       
   843 <span class="c">     *      This option will automatically include the Logger widget&lt;/dd&gt;</span>
       
   844 <span class="c">     *  &lt;dt&gt;RAW&lt;/dt&gt;</span>
       
   845 <span class="c">     *  &lt;dd&gt;Selects the non-minified version of the library (e.g., event.js).&lt;/dd&gt;</span>
       
   846 <span class="c">     * &lt;/dl&gt;</span>
       
   847 <span class="c">     * You can also define a custom filter, which must be an object literal </span>
       
   848 <span class="c">     * containing a search expression and a replace string:</span>
       
   849 <span class="c">     * &lt;pre&gt;</span>
       
   850 <span class="c">     *  myFilter: &amp;#123; </span>
       
   851 <span class="c">     *      &#39;searchExp&#39;: &quot;-min\\.js&quot;, </span>
       
   852 <span class="c">     *      &#39;replaceStr&#39;: &quot;-debug.js&quot;</span>
       
   853 <span class="c">     *  &amp;#125;</span>
       
   854 <span class="c">     * &lt;/pre&gt;</span>
       
   855 <span class="c">     * @property filter</span>
       
   856 <span class="c">     * @type string|{searchExp: string, replaceStr: string}</span>
       
   857 <span class="c">     */</span>
       
   858     <span class="k">this</span><span class="o">.</span><span class="nx">filter</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
       
   859 
       
   860     <span class="c">/**</span>
       
   861 <span class="c">     * per-component filter specification.  If specified for a given component, this </span>
       
   862 <span class="c">     * overrides the filter config.</span>
       
   863 <span class="c">     * @property filters</span>
       
   864 <span class="c">     * @type object</span>
       
   865 <span class="c">     */</span>
       
   866     <span class="k">this</span><span class="o">.</span><span class="nx">filters</span> <span class="o">=</span> <span class="o">{};</span>
       
   867 
       
   868     <span class="c">/**</span>
       
   869 <span class="c">     * The list of requested modules</span>
       
   870 <span class="c">     * @property required</span>
       
   871 <span class="c">     * @type {string: boolean}</span>
       
   872 <span class="c">     */</span>
       
   873     <span class="k">this</span><span class="o">.</span><span class="nx">required</span> <span class="o">=</span> <span class="o">{};</span>
       
   874 
       
   875     <span class="c">/**</span>
       
   876 <span class="c">     * The library metadata</span>
       
   877 <span class="c">     * @property moduleInfo</span>
       
   878 <span class="c">     */</span>
       
   879     <span class="c">// this.moduleInfo = Y.merge(Y.Env.meta.moduleInfo);</span>
       
   880 <span class="c"></span>    <span class="k">this</span><span class="o">.</span><span class="nx">moduleInfo</span> <span class="o">=</span> <span class="o">{};</span>
       
   881 
       
   882     <span class="c">/**</span>
       
   883 <span class="c">     * Provides the information used to skin the skinnable components.</span>
       
   884 <span class="c">     * The following skin definition would result in &#39;skin1&#39; and &#39;skin2&#39;</span>
       
   885 <span class="c">     * being loaded for calendar (if calendar was requested), and</span>
       
   886 <span class="c">     * &#39;sam&#39; for all other skinnable components:</span>
       
   887 <span class="c">     *</span>
       
   888 <span class="c">     *   &lt;code&gt;</span>
       
   889 <span class="c">     *   skin: {</span>
       
   890 <span class="c">     *</span>
       
   891 <span class="c">     *      // The default skin, which is automatically applied if not</span>
       
   892 <span class="c">     *      // overriden by a component-specific skin definition.</span>
       
   893 <span class="c">     *      // Change this in to apply a different skin globally</span>
       
   894 <span class="c">     *      defaultSkin: &#39;sam&#39;, </span>
       
   895 <span class="c">     *</span>
       
   896 <span class="c">     *      // This is combined with the loader base property to get</span>
       
   897 <span class="c">     *      // the default root directory for a skin. ex:</span>
       
   898 <span class="c">     *      // http://yui.yahooapis.com/2.3.0/build/assets/skins/sam/</span>
       
   899 <span class="c">     *      base: &#39;assets/skins/&#39;,</span>
       
   900 <span class="c">     *</span>
       
   901 <span class="c">     *      // The name of the rollup css file for the skin</span>
       
   902 <span class="c">     *      path: &#39;skin.css&#39;,</span>
       
   903 <span class="c">     *</span>
       
   904 <span class="c">     *      // The number of skinnable components requested that are</span>
       
   905 <span class="c">     *      // required before using the rollup file rather than the</span>
       
   906 <span class="c">     *      // individual component css files</span>
       
   907 <span class="c">     *      rollup: 3,</span>
       
   908 <span class="c">     *</span>
       
   909 <span class="c">     *      // Any component-specific overrides can be specified here,</span>
       
   910 <span class="c">     *      // making it possible to load different skins for different</span>
       
   911 <span class="c">     *      // components.  It is possible to load more than one skin</span>
       
   912 <span class="c">     *      // for a given component as well.</span>
       
   913 <span class="c">     *      overrides: {</span>
       
   914 <span class="c">     *          calendar: [&#39;skin1&#39;, &#39;skin2&#39;]</span>
       
   915 <span class="c">     *      }</span>
       
   916 <span class="c">     *   }</span>
       
   917 <span class="c">     *   &lt;/code&gt;</span>
       
   918 <span class="c">     *   @property skin</span>
       
   919 <span class="c">     */</span>
       
   920      <span class="k">this</span><span class="o">.</span><span class="nx">skin</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">merge</span><span class="o">(</span><span class="nx">Y</span><span class="o">.</span><span class="nx">Env</span><span class="o">.</span><span class="nx">meta</span><span class="o">.</span><span class="nx">skin</span><span class="o">);</span>
       
   921     
       
   922     <span class="k">var</span> <span class="nx">defaults</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">Env</span><span class="o">.</span><span class="nx">meta</span><span class="o">.</span><span class="nx">modules</span><span class="o">,</span> <span class="nx">i</span><span class="o">;</span>
       
   923 
       
   924     <span class="k">for</span> <span class="o">(</span><span class="nx">i</span> <span class="k">in</span> <span class="nx">defaults</span><span class="o">)</span> <span class="o">{</span>
       
   925         <span class="k">if</span> <span class="o">(</span><span class="nx">defaults</span><span class="o">.</span><span class="nx">hasOwnProperty</span><span class="o">(</span><span class="nx">i</span><span class="o">))</span> <span class="o">{</span>
       
   926             <span class="k">this</span><span class="o">.</span><span class="nx">_internal</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
       
   927             <span class="k">this</span><span class="o">.</span><span class="nx">addModule</span><span class="o">(</span><span class="nx">defaults</span><span class="o">[</span><span class="nx">i</span><span class="o">],</span> <span class="nx">i</span><span class="o">);</span>
       
   928             <span class="k">this</span><span class="o">.</span><span class="nx">_internal</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
       
   929         <span class="o">}</span>
       
   930     <span class="o">}</span>
       
   931 
       
   932     <span class="c">/**</span>
       
   933 <span class="c">     * List of rollup files found in the library metadata</span>
       
   934 <span class="c">     * @property rollups</span>
       
   935 <span class="c">     */</span>
       
   936     <span class="k">this</span><span class="o">.</span><span class="nx">rollups</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
       
   937 
       
   938     <span class="c">/**</span>
       
   939 <span class="c">     * Whether or not to load optional dependencies for </span>
       
   940 <span class="c">     * the requested modules</span>
       
   941 <span class="c">     * @property loadOptional</span>
       
   942 <span class="c">     * @type boolean</span>
       
   943 <span class="c">     * @default false</span>
       
   944 <span class="c">     */</span>
       
   945     <span class="k">this</span><span class="o">.</span><span class="nx">loadOptional</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
       
   946 
       
   947     <span class="c">/**</span>
       
   948 <span class="c">     * All of the derived dependencies in sorted order, which</span>
       
   949 <span class="c">     * will be populated when either calculate() or insert()</span>
       
   950 <span class="c">     * is called</span>
       
   951 <span class="c">     * @property sorted</span>
       
   952 <span class="c">     * @type string[]</span>
       
   953 <span class="c">     */</span>
       
   954     <span class="k">this</span><span class="o">.</span><span class="nx">sorted</span> <span class="o">=</span> <span class="o">[];</span>
       
   955 
       
   956     <span class="c">/**</span>
       
   957 <span class="c">     * Set when beginning to compute the dependency tree. </span>
       
   958 <span class="c">     * Composed of what YUI reports to be loaded combined</span>
       
   959 <span class="c">     * with what has been loaded by any instance on the page</span>
       
   960 <span class="c">     * with the version number specified in the metadata.</span>
       
   961 <span class="c">     * @propery loaded</span>
       
   962 <span class="c">     * @type {string: boolean}</span>
       
   963 <span class="c">     */</span>
       
   964     <span class="k">this</span><span class="o">.</span><span class="nx">loaded</span> <span class="o">=</span> <span class="nx">GLOBAL_LOADED</span><span class="o">[</span><span class="nx">VERSION</span><span class="o">];</span>
       
   965 
       
   966     <span class="c">/**</span>
       
   967 <span class="c">     * A list of modules to attach to the YUI instance when complete.</span>
       
   968 <span class="c">     * If not supplied, the sorted list of dependencies are applied.</span>
       
   969 <span class="c">     * @property attaching</span>
       
   970 <span class="c">     */</span>
       
   971     <span class="k">this</span><span class="o">.</span><span class="nx">attaching</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
       
   972 
       
   973     <span class="c">/**</span>
       
   974 <span class="c">     * Flag to indicate the dependency tree needs to be recomputed</span>
       
   975 <span class="c">     * if insert is called again.</span>
       
   976 <span class="c">     * @property dirty</span>
       
   977 <span class="c">     * @type boolean</span>
       
   978 <span class="c">     * @default true</span>
       
   979 <span class="c">     */</span>
       
   980     <span class="k">this</span><span class="o">.</span><span class="nx">dirty</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
       
   981 
       
   982     <span class="c">/**</span>
       
   983 <span class="c">     * List of modules inserted by the utility</span>
       
   984 <span class="c">     * @property inserted</span>
       
   985 <span class="c">     * @type {string: boolean}</span>
       
   986 <span class="c">     */</span>
       
   987     <span class="k">this</span><span class="o">.</span><span class="nx">inserted</span> <span class="o">=</span> <span class="o">{};</span>
       
   988 
       
   989     <span class="c">/**</span>
       
   990 <span class="c">     * List of skipped modules during insert() because the module</span>
       
   991 <span class="c">     * was not defined</span>
       
   992 <span class="c">     * @property skipped</span>
       
   993 <span class="c">     */</span>
       
   994     <span class="k">this</span><span class="o">.</span><span class="nx">skipped</span> <span class="o">=</span> <span class="o">{};</span>
       
   995 
       
   996 
       
   997     <span class="c">// Y.on(&#39;yui:load&#39;, this.loadNext, this);</span>
       
   998 <span class="c"></span>
       
   999     <span class="k">this</span><span class="o">.</span><span class="nx">_config</span><span class="o">(</span><span class="nx">o</span><span class="o">);</span>
       
  1000 
       
  1001 <span class="o">};</span>
       
  1002 
       
  1003 <span class="nx">Y</span><span class="o">.</span><span class="nx">Loader</span><span class="o">.</span><span class="nx">prototype</span> <span class="o">=</span> <span class="o">{</span>
       
  1004 
       
  1005     <span class="nx">FILTER_DEFS</span><span class="o">:</span> <span class="o">{</span>
       
  1006         <span class="nx">RAW</span><span class="o">:</span> <span class="o">{</span> 
       
  1007             <span class="s1">&#39;searchExp&#39;</span><span class="o">:</span> <span class="s2">&quot;-min\\.js&quot;</span><span class="o">,</span> 
       
  1008             <span class="s1">&#39;replaceStr&#39;</span><span class="o">:</span> <span class="s2">&quot;.js&quot;</span>
       
  1009         <span class="o">},</span>
       
  1010         <span class="nx">DEBUG</span><span class="o">:</span> <span class="o">{</span> 
       
  1011             <span class="s1">&#39;searchExp&#39;</span><span class="o">:</span> <span class="s2">&quot;-min\\.js&quot;</span><span class="o">,</span> 
       
  1012             <span class="s1">&#39;replaceStr&#39;</span><span class="o">:</span> <span class="s2">&quot;-debug.js&quot;</span>
       
  1013         <span class="o">}</span>
       
  1014     <span class="o">},</span>
       
  1015 
       
  1016     <span class="nx">SKIN_PREFIX</span><span class="o">:</span> <span class="s2">&quot;skin-&quot;</span><span class="o">,</span>
       
  1017 
       
  1018     <span class="nx">_config</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">o</span><span class="o">)</span> <span class="o">{</span>
       
  1019 
       
  1020         <span class="k">var</span> <span class="nx">i</span><span class="o">,</span> <span class="nx">j</span><span class="o">,</span> <span class="nx">val</span><span class="o">,</span> <span class="nx">f</span><span class="o">;</span>
       
  1021 
       
  1022         <span class="c">// apply config values</span>
       
  1023 <span class="c"></span>        <span class="k">if</span> <span class="o">(</span><span class="nx">o</span><span class="o">)</span> <span class="o">{</span>
       
  1024             <span class="k">for</span> <span class="o">(</span><span class="nx">i</span> <span class="k">in</span> <span class="nx">o</span><span class="o">)</span> <span class="o">{</span>
       
  1025                 <span class="k">if</span> <span class="o">(</span><span class="nx">o</span><span class="o">.</span><span class="nx">hasOwnProperty</span><span class="o">(</span><span class="nx">i</span><span class="o">))</span> <span class="o">{</span>
       
  1026                     <span class="nx">val</span> <span class="o">=</span> <span class="nx">o</span><span class="o">[</span><span class="nx">i</span><span class="o">];</span>
       
  1027                     <span class="k">if</span> <span class="o">(</span><span class="nx">i</span> <span class="o">==</span> <span class="s1">&#39;require&#39;</span><span class="o">)</span> <span class="o">{</span>
       
  1028                         <span class="k">this</span><span class="o">.</span><span class="nx">require</span><span class="o">(</span><span class="nx">val</span><span class="o">);</span>
       
  1029                     <span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">(</span><span class="nx">i</span> <span class="o">==</span> <span class="s1">&#39;modules&#39;</span><span class="o">)</span> <span class="o">{</span>
       
  1030 
       
  1031                         <span class="c">// add a hash of module definitions</span>
       
  1032 <span class="c"></span>                        <span class="k">for</span> <span class="o">(</span><span class="nx">j</span> <span class="k">in</span> <span class="nx">val</span><span class="o">)</span> <span class="o">{</span>
       
  1033                             <span class="k">if</span> <span class="o">(</span><span class="nx">val</span><span class="o">.</span><span class="nx">hasOwnProperty</span><span class="o">(</span><span class="nx">j</span><span class="o">))</span> <span class="o">{</span>
       
  1034                                 <span class="k">this</span><span class="o">.</span><span class="nx">addModule</span><span class="o">(</span><span class="nx">val</span><span class="o">[</span><span class="nx">j</span><span class="o">],</span> <span class="nx">j</span><span class="o">);</span>
       
  1035                             <span class="o">}</span>
       
  1036                         <span class="o">}</span>
       
  1037 
       
  1038                     <span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
       
  1039                         <span class="k">this</span><span class="o">[</span><span class="nx">i</span><span class="o">]</span> <span class="o">=</span> <span class="nx">val</span><span class="o">;</span>
       
  1040                     <span class="o">}</span>
       
  1041                 <span class="o">}</span>
       
  1042             <span class="o">}</span>
       
  1043         <span class="o">}</span>
       
  1044 
       
  1045         <span class="c">// fix filter</span>
       
  1046 <span class="c"></span>        <span class="nx">f</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">filter</span><span class="o">;</span>
       
  1047 
       
  1048         <span class="k">if</span> <span class="o">(</span><span class="nx">L</span><span class="o">.</span><span class="nx">isString</span><span class="o">(</span><span class="nx">f</span><span class="o">))</span> <span class="o">{</span>
       
  1049             <span class="nx">f</span> <span class="o">=</span> <span class="nx">f</span><span class="o">.</span><span class="nx">toUpperCase</span><span class="o">();</span>
       
  1050             <span class="k">this</span><span class="o">.</span><span class="nx">filterName</span> <span class="o">=</span> <span class="nx">f</span><span class="o">;</span>
       
  1051             <span class="k">this</span><span class="o">.</span><span class="nx">filter</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">FILTER_DEFS</span><span class="o">[</span><span class="nx">f</span><span class="o">];</span>
       
  1052         <span class="o">}</span>
       
  1053 
       
  1054     <span class="o">},</span>
       
  1055 
       
  1056     <span class="c">/**</span>
       
  1057 <span class="c">     * Returns the skin module name for the specified skin name.  If a</span>
       
  1058 <span class="c">     * module name is supplied, the returned skin module name is </span>
       
  1059 <span class="c">     * specific to the module passed in.</span>
       
  1060 <span class="c">     * @method formatSkin</span>
       
  1061 <span class="c">     * @param skin {string} the name of the skin</span>
       
  1062 <span class="c">     * @param mod {string} optional: the name of a module to skin</span>
       
  1063 <span class="c">     * @return {string} the full skin module name</span>
       
  1064 <span class="c">     */</span>
       
  1065     <span class="nx">formatSkin</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">skin</span><span class="o">,</span> <span class="nx">mod</span><span class="o">)</span> <span class="o">{</span>
       
  1066         <span class="k">var</span> <span class="nx">s</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">SKIN_PREFIX</span> <span class="o">+</span> <span class="nx">skin</span><span class="o">;</span>
       
  1067         <span class="k">if</span> <span class="o">(</span><span class="nx">mod</span><span class="o">)</span> <span class="o">{</span>
       
  1068             <span class="nx">s</span> <span class="o">=</span> <span class="nx">s</span> <span class="o">+</span> <span class="s2">&quot;-&quot;</span> <span class="o">+</span> <span class="nx">mod</span><span class="o">;</span>
       
  1069         <span class="o">}</span>
       
  1070 
       
  1071         <span class="k">return</span> <span class="nx">s</span><span class="o">;</span>
       
  1072     <span class="o">},</span>
       
  1073 
       
  1074     <span class="c">/*</span>
       
  1075 <span class="c">     * Reverses &lt;code&gt;formatSkin&lt;/code&gt;, providing the skin name and</span>
       
  1076 <span class="c">     * module name if the string matches the pattern for skins.</span>
       
  1077 <span class="c">     * @method parseSkin</span>
       
  1078 <span class="c">     * @param mod {string} the module name to parse</span>
       
  1079 <span class="c">     * @return {skin: string, module: string} the parsed skin name </span>
       
  1080 <span class="c">     * and module name, or null if the supplied string does not match</span>
       
  1081 <span class="c">     * the skin pattern</span>
       
  1082 <span class="c">     * </span>
       
  1083 <span class="c">     * This isn&#39;t being used at the moment</span>
       
  1084 <span class="c">     *</span>
       
  1085 <span class="c">     */</span>
       
  1086     <span class="c">// parseSkin: function(mod) {</span>
       
  1087 <span class="c"></span>    <span class="c">//     </span>
       
  1088 <span class="c"></span>    <span class="c">//     if (mod.indexOf(this.SKIN_PREFIX) === 0) {</span>
       
  1089 <span class="c"></span>    <span class="c">//         var a = mod.split(&quot;-&quot;);</span>
       
  1090 <span class="c"></span>    <span class="c">//         return {skin: a[1], module: a[2]};</span>
       
  1091 <span class="c"></span>    <span class="c">//     } </span>
       
  1092 <span class="c"></span>    <span class="c">//     return null;</span>
       
  1093 <span class="c"></span>    <span class="c">// },</span>
       
  1094 <span class="c"></span>
       
  1095     <span class="c">/**</span>
       
  1096 <span class="c">     * Adds the skin def to the module info</span>
       
  1097 <span class="c">     * @method _addSkin</span>
       
  1098 <span class="c">     * @param skin {string} the name of the skin</span>
       
  1099 <span class="c">     * @param mod {string} the name of the module</span>
       
  1100 <span class="c">     * @param parent {string} parent module if this is a skin of a</span>
       
  1101 <span class="c">     * submodule or plugin</span>
       
  1102 <span class="c">     * @return {string} the module name for the skin</span>
       
  1103 <span class="c">     * @private</span>
       
  1104 <span class="c">     */</span>
       
  1105     <span class="nx">_addSkin</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">skin</span><span class="o">,</span> <span class="nx">mod</span><span class="o">,</span> <span class="nx">parent</span><span class="o">)</span> <span class="o">{</span>
       
  1106 
       
  1107         <span class="k">var</span> <span class="nx">name</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">formatSkin</span><span class="o">(</span><span class="nx">skin</span><span class="o">),</span> 
       
  1108             <span class="nx">info</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">moduleInfo</span><span class="o">,</span>
       
  1109             <span class="nx">sinf</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">skin</span><span class="o">,</span> 
       
  1110             <span class="nx">ext</span>  <span class="o">=</span> <span class="nx">info</span><span class="o">[</span><span class="nx">mod</span><span class="o">]</span> <span class="o">&amp;&amp;</span> <span class="nx">info</span><span class="o">[</span><span class="nx">mod</span><span class="o">].</span><span class="nx">ext</span><span class="o">,</span>
       
  1111             <span class="nx">mdef</span><span class="o">,</span> <span class="nx">pkg</span><span class="o">;</span>
       
  1112 
       
  1113         <span class="c">/*</span>
       
  1114 <span class="c">        // Add a module definition for the skin rollup css</span>
       
  1115 <span class="c">        // Y.log(&#39;ext? &#39; + mod + &quot;: &quot; + ext);</span>
       
  1116 <span class="c">        if (!info[name]) {</span>
       
  1117 <span class="c">            // Y.log(&#39;adding skin &#39; + name);</span>
       
  1118 <span class="c">            this.addModule({</span>
       
  1119 <span class="c">                &#39;name&#39;: name,</span>
       
  1120 <span class="c">                &#39;type&#39;: &#39;css&#39;,</span>
       
  1121 <span class="c">                &#39;path&#39;: sinf.base + skin + &#39;/&#39; + sinf.path,</span>
       
  1122 <span class="c">                //&#39;supersedes&#39;: &#39;*&#39;,</span>
       
  1123 <span class="c">                &#39;after&#39;: sinf.after,</span>
       
  1124 <span class="c">                &#39;rollup&#39;: sinf.rollup,</span>
       
  1125 <span class="c">                &#39;ext&#39;: ext</span>
       
  1126 <span class="c">            });</span>
       
  1127 <span class="c">        }</span>
       
  1128 <span class="c">        */</span>
       
  1129 
       
  1130         <span class="c">// Add a module definition for the module-specific skin css</span>
       
  1131 <span class="c"></span>        <span class="k">if</span> <span class="o">(</span><span class="nx">mod</span><span class="o">)</span> <span class="o">{</span>
       
  1132             <span class="nx">name</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">formatSkin</span><span class="o">(</span><span class="nx">skin</span><span class="o">,</span> <span class="nx">mod</span><span class="o">);</span>
       
  1133             <span class="k">if</span> <span class="o">(!</span><span class="nx">info</span><span class="o">[</span><span class="nx">name</span><span class="o">])</span> <span class="o">{</span>
       
  1134                 <span class="nx">mdef</span> <span class="o">=</span> <span class="nx">info</span><span class="o">[</span><span class="nx">mod</span><span class="o">];</span>
       
  1135                 <span class="nx">pkg</span> <span class="o">=</span> <span class="nx">mdef</span><span class="o">.</span><span class="nx">pkg</span> <span class="o">||</span> <span class="nx">mod</span><span class="o">;</span>
       
  1136                 <span class="c">// Y.log(&#39;adding skin &#39; + name);</span>
       
  1137 <span class="c"></span>                <span class="k">this</span><span class="o">.</span><span class="nx">addModule</span><span class="o">({</span>
       
  1138                     <span class="s1">&#39;name&#39;</span><span class="o">:</span> <span class="nx">name</span><span class="o">,</span>
       
  1139                     <span class="s1">&#39;type&#39;</span><span class="o">:</span> <span class="s1">&#39;css&#39;</span><span class="o">,</span>
       
  1140                     <span class="s1">&#39;after&#39;</span><span class="o">:</span> <span class="nx">sinf</span><span class="o">.</span><span class="nx">after</span><span class="o">,</span>
       
  1141                     <span class="s1">&#39;path&#39;</span><span class="o">:</span> <span class="o">(</span><span class="nx">parent</span> <span class="o">||</span> <span class="nx">pkg</span><span class="o">)</span> <span class="o">+</span> <span class="s1">&#39;/&#39;</span> <span class="o">+</span> <span class="nx">sinf</span><span class="o">.</span><span class="nx">base</span> <span class="o">+</span> <span class="nx">skin</span> <span class="o">+</span> <span class="s1">&#39;/&#39;</span> <span class="o">+</span> <span class="nx">mod</span> <span class="o">+</span> <span class="s1">&#39;.css&#39;</span><span class="o">,</span>
       
  1142                     <span class="s1">&#39;ext&#39;</span><span class="o">:</span> <span class="nx">ext</span>
       
  1143                 <span class="o">});</span>
       
  1144             <span class="o">}</span>
       
  1145         <span class="o">}</span>
       
  1146 
       
  1147         <span class="k">return</span> <span class="nx">name</span><span class="o">;</span>
       
  1148     <span class="o">},</span>
       
  1149 
       
  1150     <span class="c">/** Add a new module to the component metadata.         </span>
       
  1151 <span class="c">     * &lt;dl&gt;</span>
       
  1152 <span class="c">     *     &lt;dt&gt;name:&lt;/dt&gt;       &lt;dd&gt;required, the component name&lt;/dd&gt;</span>
       
  1153 <span class="c">     *     &lt;dt&gt;type:&lt;/dt&gt;       &lt;dd&gt;required, the component type (js or css)&lt;/dd&gt;</span>
       
  1154 <span class="c">     *     &lt;dt&gt;path:&lt;/dt&gt;       &lt;dd&gt;required, the path to the script from &quot;base&quot;&lt;/dd&gt;</span>
       
  1155 <span class="c">     *     &lt;dt&gt;requires:&lt;/dt&gt;   &lt;dd&gt;array of modules required by this component&lt;/dd&gt;</span>
       
  1156 <span class="c">     *     &lt;dt&gt;optional:&lt;/dt&gt;   &lt;dd&gt;array of optional modules for this component&lt;/dd&gt;</span>
       
  1157 <span class="c">     *     &lt;dt&gt;supersedes:&lt;/dt&gt; &lt;dd&gt;array of the modules this component replaces&lt;/dd&gt;</span>
       
  1158 <span class="c">     *     &lt;dt&gt;after:&lt;/dt&gt;      &lt;dd&gt;array of modules the components which, if present, should be sorted above this one&lt;/dd&gt;</span>
       
  1159 <span class="c">     *     &lt;dt&gt;rollup:&lt;/dt&gt;     &lt;dd&gt;the number of superseded modules required for automatic rollup&lt;/dd&gt;</span>
       
  1160 <span class="c">     *     &lt;dt&gt;fullpath:&lt;/dt&gt;   &lt;dd&gt;If fullpath is specified, this is used instead of the configured base + path&lt;/dd&gt;</span>
       
  1161 <span class="c">     *     &lt;dt&gt;skinnable:&lt;/dt&gt;  &lt;dd&gt;flag to determine if skin assets should automatically be pulled in&lt;/dd&gt;</span>
       
  1162 <span class="c">     *     &lt;dt&gt;submodules:&lt;/dt&gt; &lt;dd&gt;a has of submodules&lt;/dd&gt;</span>
       
  1163 <span class="c">     * &lt;/dl&gt;</span>
       
  1164 <span class="c">     * @method addModule</span>
       
  1165 <span class="c">     * @param o An object containing the module data</span>
       
  1166 <span class="c">     * @param name the module name (optional), required if not in the module data</span>
       
  1167 <span class="c">     * @return {boolean} true if the module was added, false if </span>
       
  1168 <span class="c">     * the object passed in did not provide all required attributes</span>
       
  1169 <span class="c">     */</span>
       
  1170     <span class="nx">addModule</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">o</span><span class="o">,</span> <span class="nx">name</span><span class="o">)</span> <span class="o">{</span>
       
  1171 
       
  1172         <span class="nx">name</span> <span class="o">=</span> <span class="nx">name</span> <span class="o">||</span> <span class="nx">o</span><span class="o">.</span><span class="nx">name</span><span class="o">;</span>
       
  1173         <span class="nx">o</span><span class="o">.</span><span class="nx">name</span> <span class="o">=</span> <span class="nx">name</span><span class="o">;</span>
       
  1174 
       
  1175         <span class="k">if</span> <span class="o">(!</span><span class="nx">o</span> <span class="o">||</span> <span class="o">!</span><span class="nx">o</span><span class="o">.</span><span class="nx">name</span><span class="o">)</span> <span class="o">{</span>
       
  1176             <span class="k">return</span> <span class="kc">false</span><span class="o">;</span>
       
  1177         <span class="o">}</span>
       
  1178 
       
  1179         <span class="k">if</span> <span class="o">(!</span><span class="nx">o</span><span class="o">.</span><span class="nx">type</span><span class="o">)</span> <span class="o">{</span>
       
  1180             <span class="nx">o</span><span class="o">.</span><span class="nx">type</span> <span class="o">=</span> <span class="nx">JS</span><span class="o">;</span>
       
  1181         <span class="o">}</span>
       
  1182 
       
  1183         <span class="k">if</span> <span class="o">(!</span><span class="nx">o</span><span class="o">.</span><span class="nx">path</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="nx">o</span><span class="o">.</span><span class="nx">fullpath</span><span class="o">)</span> <span class="o">{</span>
       
  1184             <span class="c">// o.path = name + &quot;/&quot; + name + &quot;-min.&quot; + o.type;</span>
       
  1185 <span class="c"></span>            <span class="nx">o</span><span class="o">.</span><span class="nx">path</span> <span class="o">=</span> <span class="nx">_path</span><span class="o">(</span><span class="nx">name</span><span class="o">,</span> <span class="nx">name</span><span class="o">,</span> <span class="nx">o</span><span class="o">.</span><span class="nx">type</span><span class="o">);</span>
       
  1186         <span class="o">}</span>
       
  1187 
       
  1188         <span class="nx">o</span><span class="o">.</span><span class="nx">ext</span> <span class="o">=</span> <span class="o">(</span><span class="s1">&#39;ext&#39;</span> <span class="k">in</span> <span class="nx">o</span><span class="o">)</span> <span class="o">?</span> <span class="nx">o</span><span class="o">.</span><span class="nx">ext</span> <span class="o">:</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_internal</span><span class="o">)</span> <span class="o">?</span> <span class="kc">false</span> <span class="o">:</span> <span class="kc">true</span><span class="o">;</span>
       
  1189         <span class="nx">o</span><span class="o">.</span><span class="nx">requires</span> <span class="o">=</span> <span class="nx">o</span><span class="o">.</span><span class="nx">requires</span> <span class="o">||</span> <span class="o">[];</span>
       
  1190 
       
  1191         <span class="c">// Y.log(&#39;New module &#39; + name);</span>
       
  1192 <span class="c"></span>
       
  1193         <span class="k">this</span><span class="o">.</span><span class="nx">moduleInfo</span><span class="o">[</span><span class="nx">name</span><span class="o">]</span> <span class="o">=</span> <span class="nx">o</span><span class="o">;</span>
       
  1194 
       
  1195         <span class="c">// Handle submodule logic</span>
       
  1196 <span class="c"></span>        <span class="k">var</span> <span class="nx">subs</span> <span class="o">=</span> <span class="nx">o</span><span class="o">.</span><span class="nx">submodules</span><span class="o">,</span> <span class="nx">i</span><span class="o">,</span> <span class="nx">l</span><span class="o">,</span> <span class="nx">sup</span><span class="o">,</span> <span class="nx">s</span><span class="o">,</span> <span class="nx">smod</span><span class="o">,</span> <span class="nx">plugins</span><span class="o">,</span> <span class="nx">plug</span><span class="o">;</span>
       
  1197         <span class="k">if</span> <span class="o">(</span><span class="nx">subs</span><span class="o">)</span> <span class="o">{</span>
       
  1198             <span class="nx">sup</span> <span class="o">=</span> <span class="o">[];</span> 
       
  1199             <span class="nx">l</span>   <span class="o">=</span> <span class="m">0</span><span class="o">;</span>
       
  1200 
       
  1201             <span class="k">for</span> <span class="o">(</span><span class="nx">i</span> <span class="k">in</span> <span class="nx">subs</span><span class="o">)</span> <span class="o">{</span>
       
  1202                 <span class="k">if</span> <span class="o">(</span><span class="nx">subs</span><span class="o">.</span><span class="nx">hasOwnProperty</span><span class="o">(</span><span class="nx">i</span><span class="o">))</span> <span class="o">{</span>
       
  1203                     <span class="nx">s</span> <span class="o">=</span> <span class="nx">subs</span><span class="o">[</span><span class="nx">i</span><span class="o">];</span>
       
  1204                     <span class="nx">s</span><span class="o">.</span><span class="nx">path</span> <span class="o">=</span> <span class="nx">_path</span><span class="o">(</span><span class="nx">name</span><span class="o">,</span> <span class="nx">i</span><span class="o">,</span> <span class="nx">o</span><span class="o">.</span><span class="nx">type</span><span class="o">);</span>
       
  1205                     <span class="k">this</span><span class="o">.</span><span class="nx">addModule</span><span class="o">(</span><span class="nx">s</span><span class="o">,</span> <span class="nx">i</span><span class="o">);</span>
       
  1206                     <span class="nx">sup</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span><span class="nx">i</span><span class="o">);</span>
       
  1207 
       
  1208                     <span class="k">if</span> <span class="o">(</span><span class="nx">o</span><span class="o">.</span><span class="nx">skinnable</span><span class="o">)</span> <span class="o">{</span>
       
  1209                         <span class="nx">smod</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_addSkin</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">skin</span><span class="o">.</span><span class="nx">defaultSkin</span><span class="o">,</span> <span class="nx">i</span><span class="o">,</span> <span class="nx">name</span><span class="o">);</span>
       
  1210                         <span class="nx">sup</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span><span class="nx">smod</span><span class="o">.</span><span class="nx">name</span><span class="o">);</span>
       
  1211                     <span class="o">}</span>
       
  1212 
       
  1213                     <span class="nx">l</span><span class="o">++;</span>
       
  1214                 <span class="o">}</span>
       
  1215             <span class="o">}</span>
       
  1216 
       
  1217             <span class="nx">o</span><span class="o">.</span><span class="nx">supersedes</span> <span class="o">=</span> <span class="nx">sup</span><span class="o">;</span>
       
  1218             <span class="nx">o</span><span class="o">.</span><span class="nx">rollup</span> <span class="o">=</span> <span class="nb">Math</span><span class="o">.</span><span class="nx">min</span><span class="o">(</span><span class="nx">l</span><span class="o">-</span><span class="m">1</span><span class="o">,</span> <span class="m">4</span><span class="o">);</span>
       
  1219         <span class="o">}</span>
       
  1220 
       
  1221         <span class="nx">plugins</span> <span class="o">=</span> <span class="nx">o</span><span class="o">.</span><span class="nx">plugins</span><span class="o">;</span>
       
  1222         <span class="k">if</span> <span class="o">(</span><span class="nx">plugins</span><span class="o">)</span> <span class="o">{</span>
       
  1223             <span class="k">for</span> <span class="o">(</span><span class="nx">i</span> <span class="k">in</span> <span class="nx">plugins</span><span class="o">)</span> <span class="o">{</span>
       
  1224                 <span class="k">if</span> <span class="o">(</span><span class="nx">plugins</span><span class="o">.</span><span class="nx">hasOwnProperty</span><span class="o">(</span><span class="nx">i</span><span class="o">))</span> <span class="o">{</span>
       
  1225                     <span class="nx">plug</span> <span class="o">=</span> <span class="nx">plugins</span><span class="o">[</span><span class="nx">i</span><span class="o">];</span>
       
  1226                     <span class="nx">plug</span><span class="o">.</span><span class="nx">path</span> <span class="o">=</span> <span class="nx">_path</span><span class="o">(</span><span class="nx">name</span><span class="o">,</span> <span class="nx">i</span><span class="o">,</span> <span class="nx">o</span><span class="o">.</span><span class="nx">type</span><span class="o">);</span>
       
  1227                     <span class="nx">plug</span><span class="o">.</span><span class="nx">requires</span> <span class="o">=</span> <span class="nx">plug</span><span class="o">.</span><span class="nx">requires</span> <span class="o">||</span> <span class="o">[];</span>
       
  1228                     <span class="nx">plug</span><span class="o">.</span><span class="nx">requires</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span><span class="nx">name</span><span class="o">);</span>
       
  1229                     <span class="k">this</span><span class="o">.</span><span class="nx">addModule</span><span class="o">(</span><span class="nx">plug</span><span class="o">,</span> <span class="nx">i</span><span class="o">);</span>
       
  1230                     <span class="k">if</span> <span class="o">(</span><span class="nx">o</span><span class="o">.</span><span class="nx">skinnable</span><span class="o">)</span> <span class="o">{</span>
       
  1231                         <span class="k">this</span><span class="o">.</span><span class="nx">_addSkin</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">skin</span><span class="o">.</span><span class="nx">defaultSkin</span><span class="o">,</span> <span class="nx">i</span><span class="o">,</span> <span class="nx">name</span><span class="o">);</span>
       
  1232                     <span class="o">}</span>
       
  1233                 <span class="o">}</span>
       
  1234             <span class="o">}</span>
       
  1235         <span class="o">}</span>
       
  1236 
       
  1237         <span class="k">this</span><span class="o">.</span><span class="nx">dirty</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
       
  1238 
       
  1239         <span class="k">return</span> <span class="nx">o</span><span class="o">;</span>
       
  1240     <span class="o">},</span>
       
  1241 
       
  1242     <span class="c">/**</span>
       
  1243 <span class="c">     * Add a requirement for one or more module</span>
       
  1244 <span class="c">     * @method require</span>
       
  1245 <span class="c">     * @param what {string[] | string*} the modules to load</span>
       
  1246 <span class="c">     */</span>
       
  1247     <span class="nx">require</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">what</span><span class="o">)</span> <span class="o">{</span>
       
  1248         <span class="k">var</span> <span class="nx">a</span> <span class="o">=</span> <span class="o">(</span><span class="k">typeof</span> <span class="nx">what</span> <span class="o">===</span> <span class="s2">&quot;string&quot;</span><span class="o">)</span> <span class="o">?</span> <span class="nx">arguments</span> <span class="o">:</span> <span class="nx">what</span><span class="o">;</span>
       
  1249         <span class="k">this</span><span class="o">.</span><span class="nx">dirty</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
       
  1250         <span class="nx">Y</span><span class="o">.</span><span class="nx">mix</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">required</span><span class="o">,</span> <span class="nx">Y</span><span class="o">.</span><span class="nb">Array</span><span class="o">.</span><span class="nx">hash</span><span class="o">(</span><span class="nx">a</span><span class="o">));</span>
       
  1251     <span class="o">},</span>
       
  1252 
       
  1253     <span class="c">/**</span>
       
  1254 <span class="c">     * Returns an object containing properties for all modules required</span>
       
  1255 <span class="c">     * in order to load the requested module</span>
       
  1256 <span class="c">     * @method getRequires</span>
       
  1257 <span class="c">     * @param mod The module definition from moduleInfo</span>
       
  1258 <span class="c">     */</span>
       
  1259     <span class="nx">getRequires</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">mod</span><span class="o">)</span> <span class="o">{</span>
       
  1260 
       
  1261         <span class="k">if</span> <span class="o">(!</span><span class="nx">mod</span><span class="o">)</span> <span class="o">{</span>
       
  1262             <span class="c">// Y.log(&#39;getRequires, no module&#39;);</span>
       
  1263 <span class="c"></span>            <span class="k">return</span> <span class="o">[];</span>
       
  1264         <span class="o">}</span>
       
  1265 
       
  1266         <span class="k">if</span> <span class="o">(!</span><span class="k">this</span><span class="o">.</span><span class="nx">dirty</span> <span class="o">&amp;&amp;</span> <span class="nx">mod</span><span class="o">.</span><span class="nx">expanded</span><span class="o">)</span> <span class="o">{</span>
       
  1267             <span class="c">// Y.log(&#39;already expanded&#39;);</span>
       
  1268 <span class="c"></span>            <span class="k">return</span> <span class="nx">mod</span><span class="o">.</span><span class="nx">expanded</span><span class="o">;</span>
       
  1269         <span class="o">}</span>
       
  1270 
       
  1271         <span class="k">var</span> <span class="nx">i</span><span class="o">,</span> <span class="nx">d</span><span class="o">=[],</span> <span class="nx">r</span><span class="o">=</span><span class="nx">mod</span><span class="o">.</span><span class="nx">requires</span><span class="o">,</span> <span class="nx">o</span><span class="o">=</span><span class="nx">mod</span><span class="o">.</span><span class="nx">optional</span><span class="o">,</span> 
       
  1272             <span class="nx">info</span><span class="o">=</span><span class="k">this</span><span class="o">.</span><span class="nx">moduleInfo</span><span class="o">,</span> <span class="nx">m</span><span class="o">,</span> <span class="nx">j</span><span class="o">,</span> <span class="nx">add</span><span class="o">;</span>
       
  1273 
       
  1274         <span class="k">for</span> <span class="o">(</span><span class="nx">i</span><span class="o">=</span><span class="m">0</span><span class="o">;</span> <span class="nx">i</span><span class="o">&lt;</span><span class="nx">r</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span> <span class="nx">i</span><span class="o">=</span><span class="nx">i</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span>
       
  1275             <span class="c">// Y.log(mod.name + &#39; requiring &#39; + r[i]);</span>
       
  1276 <span class="c"></span>            <span class="nx">d</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span><span class="nx">r</span><span class="o">[</span><span class="nx">i</span><span class="o">]);</span>
       
  1277             <span class="nx">m</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">getModule</span><span class="o">(</span><span class="nx">r</span><span class="o">[</span><span class="nx">i</span><span class="o">]);</span>
       
  1278             <span class="nx">add</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">getRequires</span><span class="o">(</span><span class="nx">m</span><span class="o">);</span>
       
  1279             <span class="k">for</span> <span class="o">(</span><span class="nx">j</span><span class="o">=</span><span class="m">0</span><span class="o">;</span><span class="nx">j</span><span class="o">&lt;</span><span class="nx">add</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span><span class="nx">j</span><span class="o">=</span><span class="nx">j</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span>
       
  1280                 <span class="nx">d</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span><span class="nx">add</span><span class="o">[</span><span class="nx">j</span><span class="o">]);</span>
       
  1281             <span class="o">}</span>
       
  1282         <span class="o">}</span>
       
  1283 
       
  1284         <span class="c">// get the requirements from superseded modules, if any</span>
       
  1285 <span class="c"></span>        <span class="nx">r</span><span class="o">=</span><span class="nx">mod</span><span class="o">.</span><span class="nx">supersedes</span><span class="o">;</span>
       
  1286         <span class="k">if</span> <span class="o">(</span><span class="nx">r</span><span class="o">)</span> <span class="o">{</span>
       
  1287             <span class="k">for</span> <span class="o">(</span><span class="nx">i</span><span class="o">=</span><span class="m">0</span><span class="o">;</span> <span class="nx">i</span><span class="o">&lt;</span><span class="nx">r</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span> <span class="nx">i</span><span class="o">=</span><span class="nx">i</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span>
       
  1288                 <span class="c">// Y.log(mod.name + &#39; requiring &#39; + r[i]);</span>
       
  1289 <span class="c"></span>                <span class="nx">d</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span><span class="nx">r</span><span class="o">[</span><span class="nx">i</span><span class="o">]);</span>
       
  1290                 <span class="nx">m</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">getModule</span><span class="o">(</span><span class="nx">r</span><span class="o">[</span><span class="nx">i</span><span class="o">]);</span>
       
  1291                 <span class="nx">add</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">getRequires</span><span class="o">(</span><span class="nx">m</span><span class="o">);</span>
       
  1292                 <span class="k">for</span> <span class="o">(</span><span class="nx">j</span><span class="o">=</span><span class="m">0</span><span class="o">;</span><span class="nx">j</span><span class="o">&lt;</span><span class="nx">add</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span><span class="nx">j</span><span class="o">=</span><span class="nx">j</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span>
       
  1293                     <span class="nx">d</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span><span class="nx">add</span><span class="o">[</span><span class="nx">j</span><span class="o">]);</span>
       
  1294                 <span class="o">}</span>
       
  1295             <span class="o">}</span>
       
  1296         <span class="o">}</span>
       
  1297 
       
  1298         <span class="k">if</span> <span class="o">(</span><span class="nx">o</span> <span class="o">&amp;&amp;</span> <span class="k">this</span><span class="o">.</span><span class="nx">loadOptional</span><span class="o">)</span> <span class="o">{</span>
       
  1299             <span class="k">for</span> <span class="o">(</span><span class="nx">i</span><span class="o">=</span><span class="m">0</span><span class="o">;</span> <span class="nx">i</span><span class="o">&lt;</span><span class="nx">o</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span> <span class="nx">i</span><span class="o">=</span><span class="nx">i</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span>
       
  1300                 <span class="nx">d</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span><span class="nx">o</span><span class="o">[</span><span class="nx">i</span><span class="o">]);</span>
       
  1301                 <span class="nx">add</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">getRequires</span><span class="o">(</span><span class="nx">info</span><span class="o">[</span><span class="nx">o</span><span class="o">[</span><span class="nx">i</span><span class="o">]]);</span>
       
  1302                 <span class="k">for</span> <span class="o">(</span><span class="nx">j</span><span class="o">=</span><span class="m">0</span><span class="o">;</span><span class="nx">j</span><span class="o">&lt;</span><span class="nx">add</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span><span class="nx">j</span><span class="o">=</span><span class="nx">j</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span>
       
  1303                     <span class="nx">d</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span><span class="nx">add</span><span class="o">[</span><span class="nx">j</span><span class="o">]);</span>
       
  1304                 <span class="o">}</span>
       
  1305             <span class="o">}</span>
       
  1306         <span class="o">}</span>
       
  1307 
       
  1308         <span class="nx">mod</span><span class="o">.</span><span class="nx">expanded</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nb">Object</span><span class="o">.</span><span class="nx">keys</span><span class="o">(</span><span class="nx">Y</span><span class="o">.</span><span class="nb">Array</span><span class="o">.</span><span class="nx">hash</span><span class="o">(</span><span class="nx">d</span><span class="o">));</span>
       
  1309 
       
  1310         <span class="c">// Y.log(mod.expanded);</span>
       
  1311 <span class="c"></span>
       
  1312         <span class="k">return</span> <span class="nx">mod</span><span class="o">.</span><span class="nx">expanded</span><span class="o">;</span>
       
  1313     <span class="o">},</span>
       
  1314 
       
  1315 
       
  1316     <span class="c">/**</span>
       
  1317 <span class="c">     * Returns an object literal of the modules the supplied module satisfies</span>
       
  1318 <span class="c">     * @method getProvides</span>
       
  1319 <span class="c">     * @param name{string} The name of the module</span>
       
  1320 <span class="c">     * @param notMe {string} don&#39;t add this module name, only include superseded modules</span>
       
  1321 <span class="c">     * @return what this module provides</span>
       
  1322 <span class="c">     */</span>
       
  1323     <span class="nx">getProvides</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">name</span><span class="o">,</span> <span class="nx">notMe</span><span class="o">)</span> <span class="o">{</span>
       
  1324         <span class="k">var</span> <span class="nx">addMe</span> <span class="o">=</span> <span class="o">!(</span><span class="nx">notMe</span><span class="o">),</span> <span class="nx">ckey</span> <span class="o">=</span> <span class="o">(</span><span class="nx">addMe</span><span class="o">)</span> <span class="o">?</span> <span class="nx">PROV</span> <span class="o">:</span> <span class="nx">SUPER</span><span class="o">,</span>
       
  1325             <span class="nx">m</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">getModule</span><span class="o">(</span><span class="nx">name</span><span class="o">),</span> <span class="nx">o</span> <span class="o">=</span> <span class="o">{},</span>
       
  1326             <span class="nx">s</span><span class="o">,</span> <span class="nx">done</span><span class="o">,</span> <span class="nx">me</span><span class="o">,</span> <span class="nx">i</span><span class="o">,</span>
       
  1327 
       
  1328             <span class="c">// use worker to break cycles</span>
       
  1329 <span class="c"></span>            <span class="nx">add</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">mm</span><span class="o">)</span> <span class="o">{</span>
       
  1330                 <span class="k">if</span> <span class="o">(!</span><span class="nx">done</span><span class="o">[</span><span class="nx">mm</span><span class="o">])</span> <span class="o">{</span>
       
  1331                     <span class="c">// Y.log(name + &#39; provides worker trying: &#39; + mm);</span>
       
  1332 <span class="c"></span>                    <span class="nx">done</span><span class="o">[</span><span class="nx">mm</span><span class="o">]</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
       
  1333                     <span class="c">// we always want the return value normal behavior </span>
       
  1334 <span class="c"></span>                    <span class="c">// (provides) for superseded modules.</span>
       
  1335 <span class="c"></span>                    <span class="nx">Y</span><span class="o">.</span><span class="nx">mix</span><span class="o">(</span><span class="nx">o</span><span class="o">,</span> <span class="nx">me</span><span class="o">.</span><span class="nx">getProvides</span><span class="o">(</span><span class="nx">mm</span><span class="o">));</span>
       
  1336                 <span class="o">}</span> 
       
  1337                 
       
  1338                 <span class="c">// else {</span>
       
  1339 <span class="c"></span>                <span class="c">// Y.log(name + &#39; provides worker skipping done: &#39; + mm);</span>
       
  1340 <span class="c"></span>                <span class="c">// }</span>
       
  1341 <span class="c"></span>            <span class="o">};</span>
       
  1342 
       
  1343         <span class="k">if</span> <span class="o">(!</span><span class="nx">m</span><span class="o">)</span> <span class="o">{</span>
       
  1344             <span class="k">return</span> <span class="nx">o</span><span class="o">;</span>
       
  1345         <span class="o">}</span>
       
  1346 
       
  1347         <span class="k">if</span> <span class="o">(</span><span class="nx">m</span><span class="o">[</span><span class="nx">ckey</span><span class="o">])</span> <span class="o">{</span>
       
  1348 <span class="c">// Y.log(&#39;cached: &#39; + name + &#39; &#39; + ckey + &#39; &#39; + L.dump(this.moduleInfo[name][ckey], 0));</span>
       
  1349 <span class="c"></span>            <span class="k">return</span> <span class="nx">m</span><span class="o">[</span><span class="nx">ckey</span><span class="o">];</span>
       
  1350         <span class="o">}</span>
       
  1351 
       
  1352         <span class="nx">s</span>    <span class="o">=</span> <span class="nx">m</span><span class="o">.</span><span class="nx">supersedes</span><span class="o">;</span>
       
  1353         <span class="nx">done</span> <span class="o">=</span> <span class="o">{};</span>
       
  1354         <span class="nx">me</span>   <span class="o">=</span> <span class="k">this</span><span class="o">;</span>
       
  1355 
       
  1356 
       
  1357         <span class="c">// calculate superseded modules</span>
       
  1358 <span class="c"></span>        <span class="k">if</span> <span class="o">(</span><span class="nx">s</span><span class="o">)</span> <span class="o">{</span>
       
  1359             <span class="k">for</span> <span class="o">(</span><span class="nx">i</span><span class="o">=</span><span class="m">0</span><span class="o">;</span> <span class="nx">i</span><span class="o">&lt;</span><span class="nx">s</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span> <span class="nx">i</span><span class="o">=</span><span class="nx">i</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span>
       
  1360                 <span class="nx">add</span><span class="o">(</span><span class="nx">s</span><span class="o">[</span><span class="nx">i</span><span class="o">]);</span>
       
  1361             <span class="o">}</span>
       
  1362         <span class="o">}</span>
       
  1363 
       
  1364         <span class="c">// supersedes cache</span>
       
  1365 <span class="c"></span>        <span class="nx">m</span><span class="o">[</span><span class="nx">SUPER</span><span class="o">]</span> <span class="o">=</span> <span class="nx">o</span><span class="o">;</span>
       
  1366         <span class="c">// provides cache</span>
       
  1367 <span class="c"></span>        <span class="nx">m</span><span class="o">[</span><span class="nx">PROV</span><span class="o">]</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">merge</span><span class="o">(</span><span class="nx">o</span><span class="o">);</span>
       
  1368         <span class="nx">m</span><span class="o">[</span><span class="nx">PROV</span><span class="o">][</span><span class="nx">name</span><span class="o">]</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
       
  1369 
       
  1370 <span class="c">// Y.log(name + &quot; supersedes &quot; + L.dump(m[SUPER], 0));</span>
       
  1371 <span class="c">// Y.log(name + &quot; provides &quot; + L.dump(m[PROV], 0));</span>
       
  1372 <span class="c"></span>
       
  1373         <span class="k">return</span> <span class="nx">m</span><span class="o">[</span><span class="nx">ckey</span><span class="o">];</span>
       
  1374     <span class="o">},</span>
       
  1375 
       
  1376 
       
  1377     <span class="c">/**</span>
       
  1378 <span class="c">     * Calculates the dependency tree, the result is stored in the sorted </span>
       
  1379 <span class="c">     * property</span>
       
  1380 <span class="c">     * @method calculate</span>
       
  1381 <span class="c">     * @param o optional options object</span>
       
  1382 <span class="c">     */</span>
       
  1383     <span class="nx">calculate</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">o</span><span class="o">)</span> <span class="o">{</span>
       
  1384         <span class="k">if</span> <span class="o">(</span><span class="nx">o</span> <span class="o">||</span> <span class="k">this</span><span class="o">.</span><span class="nx">dirty</span><span class="o">)</span> <span class="o">{</span>
       
  1385             <span class="k">this</span><span class="o">.</span><span class="nx">_config</span><span class="o">(</span><span class="nx">o</span><span class="o">);</span>
       
  1386             <span class="k">this</span><span class="o">.</span><span class="nx">_setup</span><span class="o">();</span>
       
  1387             <span class="k">this</span><span class="o">.</span><span class="nx">_explode</span><span class="o">();</span>
       
  1388             <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">allowRollup</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="k">this</span><span class="o">.</span><span class="nx">combine</span><span class="o">)</span> <span class="o">{</span>
       
  1389                 <span class="k">this</span><span class="o">.</span><span class="nx">_rollup</span><span class="o">();</span>
       
  1390             <span class="o">}</span>
       
  1391             <span class="k">this</span><span class="o">.</span><span class="nx">_reduce</span><span class="o">();</span>
       
  1392             <span class="k">this</span><span class="o">.</span><span class="nx">_sort</span><span class="o">();</span>
       
  1393 
       
  1394             <span class="c">// Y.log(&quot;after calculate: &quot; + this.sorted);</span>
       
  1395 <span class="c"></span>
       
  1396             <span class="k">this</span><span class="o">.</span><span class="nx">dirty</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
       
  1397         <span class="o">}</span>
       
  1398     <span class="o">},</span>
       
  1399 
       
  1400     <span class="c">/**</span>
       
  1401 <span class="c">     * Investigates the current YUI configuration on the page.  By default,</span>
       
  1402 <span class="c">     * modules already detected will not be loaded again unless a force</span>
       
  1403 <span class="c">     * option is encountered.  Called by calculate()</span>
       
  1404 <span class="c">     * @method _setup</span>
       
  1405 <span class="c">     * @private</span>
       
  1406 <span class="c">     */</span>
       
  1407     <span class="nx">_setup</span><span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
       
  1408 
       
  1409         <span class="k">var</span> <span class="nx">info</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">moduleInfo</span><span class="o">,</span> <span class="nx">name</span><span class="o">,</span> <span class="nx">i</span><span class="o">,</span> <span class="nx">j</span><span class="o">,</span> <span class="nx">m</span><span class="o">,</span> <span class="nx">o</span><span class="o">,</span> <span class="nx">l</span><span class="o">,</span> <span class="nx">smod</span><span class="o">;</span>
       
  1410 
       
  1411         <span class="c">// Create skin modules</span>
       
  1412 <span class="c"></span>        <span class="k">for</span> <span class="o">(</span><span class="nx">name</span> <span class="k">in</span> <span class="nx">info</span><span class="o">)</span> <span class="o">{</span>
       
  1413             <span class="k">if</span> <span class="o">(</span><span class="nx">info</span><span class="o">.</span><span class="nx">hasOwnProperty</span><span class="o">(</span><span class="nx">name</span><span class="o">))</span> <span class="o">{</span>
       
  1414                 <span class="nx">m</span> <span class="o">=</span> <span class="nx">info</span><span class="o">[</span><span class="nx">name</span><span class="o">];</span>
       
  1415                 <span class="k">if</span> <span class="o">(</span><span class="nx">m</span> <span class="o">&amp;&amp;</span> <span class="nx">m</span><span class="o">.</span><span class="nx">skinnable</span><span class="o">)</span> <span class="o">{</span>
       
  1416                     <span class="c">// Y.log(&quot;skinning: &quot; + name);</span>
       
  1417 <span class="c"></span>                    <span class="nx">o</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">skin</span><span class="o">.</span><span class="nx">overrides</span><span class="o">;</span>
       
  1418                     <span class="k">if</span> <span class="o">(</span><span class="nx">o</span> <span class="o">&amp;&amp;</span> <span class="nx">o</span><span class="o">[</span><span class="nx">name</span><span class="o">])</span> <span class="o">{</span>
       
  1419                         <span class="k">for</span> <span class="o">(</span><span class="nx">i</span><span class="o">=</span><span class="m">0</span><span class="o">;</span> <span class="nx">i</span><span class="o">&lt;</span><span class="nx">o</span><span class="o">[</span><span class="nx">name</span><span class="o">].</span><span class="nx">length</span><span class="o">;</span> <span class="nx">i</span><span class="o">=</span><span class="nx">i</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span>
       
  1420                             <span class="nx">smod</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_addSkin</span><span class="o">(</span><span class="nx">o</span><span class="o">[</span><span class="nx">name</span><span class="o">][</span><span class="nx">i</span><span class="o">],</span> <span class="nx">name</span><span class="o">);</span>
       
  1421                         <span class="o">}</span>
       
  1422                     <span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
       
  1423                         <span class="nx">smod</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_addSkin</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">skin</span><span class="o">.</span><span class="nx">defaultSkin</span><span class="o">,</span> <span class="nx">name</span><span class="o">);</span>
       
  1424                     <span class="o">}</span>
       
  1425 
       
  1426                     <span class="nx">m</span><span class="o">.</span><span class="nx">requires</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span><span class="nx">smod</span><span class="o">);</span>
       
  1427                 <span class="o">}</span>
       
  1428             <span class="o">}</span>
       
  1429         <span class="o">}</span>
       
  1430 
       
  1431         <span class="nx">l</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">merge</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">inserted</span><span class="o">);</span> <span class="c">// shallow clone</span>
       
  1432 <span class="c"></span>
       
  1433         <span class="c">// available modules</span>
       
  1434 <span class="c"></span>        <span class="k">if</span> <span class="o">(!</span><span class="k">this</span><span class="o">.</span><span class="nx">ignoreRegistered</span><span class="o">)</span> <span class="o">{</span>
       
  1435             <span class="nx">Y</span><span class="o">.</span><span class="nx">mix</span><span class="o">(</span><span class="nx">l</span><span class="o">,</span> <span class="nx">GLOBAL_ENV</span><span class="o">.</span><span class="nx">mods</span><span class="o">);</span>
       
  1436         <span class="o">}</span>
       
  1437         
       
  1438         <span class="c">// Y.log(&quot;Already loaded stuff: &quot; + L.dump(l, 0));</span>
       
  1439 <span class="c"></span>
       
  1440         <span class="c">// add the ignore list to the list of loaded packages</span>
       
  1441 <span class="c"></span>        <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">ignore</span><span class="o">)</span> <span class="o">{</span>
       
  1442             <span class="c">// OU.appendArray(l, this.ignore);</span>
       
  1443 <span class="c"></span>            <span class="nx">Y</span><span class="o">.</span><span class="nx">mix</span><span class="o">(</span><span class="nx">l</span><span class="o">,</span> <span class="nx">Y</span><span class="o">.</span><span class="nb">Array</span><span class="o">.</span><span class="nx">hash</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">ignore</span><span class="o">));</span>
       
  1444         <span class="o">}</span>
       
  1445 
       
  1446         <span class="c">// expand the list to include superseded modules</span>
       
  1447 <span class="c"></span>        <span class="k">for</span> <span class="o">(</span><span class="nx">j</span> <span class="k">in</span> <span class="nx">l</span><span class="o">)</span> <span class="o">{</span>
       
  1448             <span class="c">// Y.log(&quot;expanding: &quot; + j);</span>
       
  1449 <span class="c"></span>            <span class="k">if</span> <span class="o">(</span><span class="nx">l</span><span class="o">.</span><span class="nx">hasOwnProperty</span><span class="o">(</span><span class="nx">j</span><span class="o">))</span> <span class="o">{</span>
       
  1450                 <span class="nx">Y</span><span class="o">.</span><span class="nx">mix</span><span class="o">(</span><span class="nx">l</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">getProvides</span><span class="o">(</span><span class="nx">j</span><span class="o">));</span>
       
  1451             <span class="o">}</span>
       
  1452         <span class="o">}</span>
       
  1453 
       
  1454         <span class="c">// remove modules on the force list from the loaded list</span>
       
  1455 <span class="c"></span>        <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">force</span><span class="o">)</span> <span class="o">{</span>
       
  1456             <span class="k">for</span> <span class="o">(</span><span class="nx">i</span><span class="o">=</span><span class="m">0</span><span class="o">;</span> <span class="nx">i</span><span class="o">&lt;</span><span class="k">this</span><span class="o">.</span><span class="nx">force</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span> <span class="nx">i</span><span class="o">=</span><span class="nx">i</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span>
       
  1457                 <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">force</span><span class="o">[</span><span class="nx">i</span><span class="o">]</span> <span class="k">in</span> <span class="nx">l</span><span class="o">)</span> <span class="o">{</span>
       
  1458                     <span class="nx">delete</span> <span class="nx">l</span><span class="o">[</span><span class="k">this</span><span class="o">.</span><span class="nx">force</span><span class="o">[</span><span class="nx">i</span><span class="o">]];</span>
       
  1459                 <span class="o">}</span>
       
  1460             <span class="o">}</span>
       
  1461         <span class="o">}</span>
       
  1462 
       
  1463         <span class="c">// Y.log(&quot;loaded expanded: &quot; + L.dump(l, 0));</span>
       
  1464 <span class="c"></span>
       
  1465         <span class="nx">Y</span><span class="o">.</span><span class="nx">mix</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">loaded</span><span class="o">,</span> <span class="nx">l</span><span class="o">);</span>
       
  1466 
       
  1467         <span class="c">// this.loaded = l;</span>
       
  1468 <span class="c"></span>
       
  1469     <span class="o">},</span>
       
  1470     
       
  1471 
       
  1472     <span class="c">/**</span>
       
  1473 <span class="c">     * Inspects the required modules list looking for additional </span>
       
  1474 <span class="c">     * dependencies.  Expands the required list to include all </span>
       
  1475 <span class="c">     * required modules.  Called by calculate()</span>
       
  1476 <span class="c">     * @method _explode</span>
       
  1477 <span class="c">     * @private</span>
       
  1478 <span class="c">     */</span>
       
  1479     <span class="nx">_explode</span><span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
       
  1480 
       
  1481         <span class="k">var</span> <span class="nx">r</span><span class="o">=</span><span class="k">this</span><span class="o">.</span><span class="nx">required</span><span class="o">,</span> <span class="nx">i</span><span class="o">,</span> <span class="nx">mod</span><span class="o">,</span> <span class="nx">req</span><span class="o">,</span> <span class="nx">me</span> <span class="o">=</span> <span class="k">this</span><span class="o">,</span> <span class="nx">f</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">name</span><span class="o">)</span> <span class="o">{</span>
       
  1482 
       
  1483                 <span class="nx">mod</span> <span class="o">=</span> <span class="nx">me</span><span class="o">.</span><span class="nx">getModule</span><span class="o">(</span><span class="nx">name</span><span class="o">);</span>
       
  1484 
       
  1485                 <span class="k">var</span> <span class="nx">expound</span> <span class="o">=</span> <span class="nx">mod</span> <span class="o">&amp;&amp;</span> <span class="nx">mod</span><span class="o">.</span><span class="nx">expound</span><span class="o">;</span>
       
  1486                 <span class="c">// Y.log(&#39;exploding &#39; + i);</span>
       
  1487 <span class="c"></span>
       
  1488                 <span class="k">if</span> <span class="o">(</span><span class="nx">mod</span><span class="o">)</span> <span class="o">{</span>
       
  1489 
       
  1490                     <span class="k">if</span> <span class="o">(</span><span class="nx">expound</span><span class="o">)</span> <span class="o">{</span>
       
  1491                         <span class="nx">r</span><span class="o">[</span><span class="nx">expound</span><span class="o">]</span> <span class="o">=</span> <span class="nx">me</span><span class="o">.</span><span class="nx">getModule</span><span class="o">(</span><span class="nx">expound</span><span class="o">);</span>
       
  1492                         <span class="nx">req</span> <span class="o">=</span> <span class="nx">me</span><span class="o">.</span><span class="nx">getRequires</span><span class="o">(</span><span class="nx">r</span><span class="o">[</span><span class="nx">expound</span><span class="o">]);</span>
       
  1493                         <span class="nx">Y</span><span class="o">.</span><span class="nx">mix</span><span class="o">(</span><span class="nx">r</span><span class="o">,</span> <span class="nx">Y</span><span class="o">.</span><span class="nb">Array</span><span class="o">.</span><span class="nx">hash</span><span class="o">(</span><span class="nx">req</span><span class="o">));</span>
       
  1494                     <span class="o">}</span>
       
  1495 
       
  1496                     <span class="nx">req</span> <span class="o">=</span> <span class="nx">me</span><span class="o">.</span><span class="nx">getRequires</span><span class="o">(</span><span class="nx">mod</span><span class="o">);</span>
       
  1497 
       
  1498                     <span class="c">// Y.log(&#39;via explode: &#39; + req);</span>
       
  1499 <span class="c"></span>                    <span class="nx">Y</span><span class="o">.</span><span class="nx">mix</span><span class="o">(</span><span class="nx">r</span><span class="o">,</span> <span class="nx">Y</span><span class="o">.</span><span class="nb">Array</span><span class="o">.</span><span class="nx">hash</span><span class="o">(</span><span class="nx">req</span><span class="o">));</span>
       
  1500                 <span class="o">}</span>
       
  1501             <span class="o">};</span>
       
  1502 
       
  1503 
       
  1504         <span class="k">for</span> <span class="o">(</span><span class="nx">i</span> <span class="k">in</span> <span class="nx">r</span><span class="o">)</span> <span class="o">{</span>
       
  1505             <span class="k">if</span> <span class="o">(</span><span class="nx">r</span><span class="o">.</span><span class="nx">hasOwnProperty</span><span class="o">(</span><span class="nx">i</span><span class="o">))</span> <span class="o">{</span>
       
  1506                 <span class="nx">f</span><span class="o">(</span><span class="nx">i</span><span class="o">);</span>
       
  1507             <span class="o">}</span>
       
  1508         <span class="o">}</span>
       
  1509     <span class="o">},</span>
       
  1510 
       
  1511     <span class="nx">getModule</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">name</span><span class="o">)</span> <span class="o">{</span>
       
  1512 
       
  1513         <span class="k">var</span> <span class="nx">m</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">moduleInfo</span><span class="o">[</span><span class="nx">name</span><span class="o">];</span>
       
  1514 
       
  1515         <span class="c">// create the default module</span>
       
  1516 <span class="c"></span>        <span class="c">// if (!m) {</span>
       
  1517 <span class="c"></span>            <span class="c">// Y.log(&#39;Module does not exist: &#39; + name + &#39;, creating with defaults&#39;);</span>
       
  1518 <span class="c"></span>            <span class="c">// m = this.addModule({ext: false}, name);</span>
       
  1519 <span class="c"></span>        <span class="c">// }</span>
       
  1520 <span class="c"></span>
       
  1521         <span class="k">return</span> <span class="nx">m</span><span class="o">;</span>
       
  1522     <span class="o">},</span>
       
  1523 
       
  1524     <span class="c">/**</span>
       
  1525 <span class="c">     * Look for rollup packages to determine if all of the modules a</span>
       
  1526 <span class="c">     * rollup supersedes are required.  If so, include the rollup to</span>
       
  1527 <span class="c">     * help reduce the total number of connections required.  Called</span>
       
  1528 <span class="c">     * by calculate()</span>
       
  1529 <span class="c">     * @method _rollup</span>
       
  1530 <span class="c">     * @private</span>
       
  1531 <span class="c">     */</span>
       
  1532     <span class="nx">_rollup</span><span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
       
  1533         <span class="k">var</span> <span class="nx">i</span><span class="o">,</span> <span class="nx">j</span><span class="o">,</span> <span class="nx">m</span><span class="o">,</span> <span class="nx">s</span><span class="o">,</span> <span class="nx">rollups</span><span class="o">={},</span> <span class="nx">r</span><span class="o">=</span><span class="k">this</span><span class="o">.</span><span class="nx">required</span><span class="o">,</span> <span class="nx">roll</span><span class="o">,</span>
       
  1534             <span class="nx">info</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">moduleInfo</span><span class="o">,</span> <span class="nx">rolled</span><span class="o">,</span> <span class="nx">c</span><span class="o">;</span>
       
  1535 
       
  1536         <span class="c">// find and cache rollup modules</span>
       
  1537 <span class="c"></span>        <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">dirty</span> <span class="o">||</span> <span class="o">!</span><span class="k">this</span><span class="o">.</span><span class="nx">rollups</span><span class="o">)</span> <span class="o">{</span>
       
  1538             <span class="k">for</span> <span class="o">(</span><span class="nx">i</span> <span class="k">in</span> <span class="nx">info</span><span class="o">)</span> <span class="o">{</span>
       
  1539                 <span class="k">if</span> <span class="o">(</span><span class="nx">info</span><span class="o">.</span><span class="nx">hasOwnProperty</span><span class="o">(</span><span class="nx">i</span><span class="o">))</span> <span class="o">{</span>
       
  1540                     <span class="nx">m</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">getModule</span><span class="o">(</span><span class="nx">i</span><span class="o">);</span>
       
  1541                     <span class="c">// if (m &amp;&amp; m.rollup &amp;&amp; m.supersedes) {</span>
       
  1542 <span class="c"></span>                    <span class="k">if</span> <span class="o">(</span><span class="nx">m</span> <span class="o">&amp;&amp;</span> <span class="nx">m</span><span class="o">.</span><span class="nx">rollup</span><span class="o">)</span> <span class="o">{</span>
       
  1543                         <span class="nx">rollups</span><span class="o">[</span><span class="nx">i</span><span class="o">]</span> <span class="o">=</span> <span class="nx">m</span><span class="o">;</span>
       
  1544                     <span class="o">}</span>
       
  1545                 <span class="o">}</span>
       
  1546             <span class="o">}</span>
       
  1547 
       
  1548             <span class="k">this</span><span class="o">.</span><span class="nx">rollups</span> <span class="o">=</span> <span class="nx">rollups</span><span class="o">;</span>
       
  1549             <span class="k">this</span><span class="o">.</span><span class="nx">forceMap</span> <span class="o">=</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">force</span><span class="o">)</span> <span class="o">?</span> <span class="nx">Y</span><span class="o">.</span><span class="nb">Array</span><span class="o">.</span><span class="nx">hash</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">force</span><span class="o">)</span> <span class="o">:</span> <span class="o">{};</span>
       
  1550         <span class="o">}</span>
       
  1551 
       
  1552         <span class="c">// make as many passes as needed to pick up rollup rollups</span>
       
  1553 <span class="c"></span>        <span class="k">for</span> <span class="o">(;;)</span> <span class="o">{</span>
       
  1554             <span class="nx">rolled</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
       
  1555 
       
  1556             <span class="c">// go through the rollup candidates</span>
       
  1557 <span class="c"></span>            <span class="k">for</span> <span class="o">(</span><span class="nx">i</span> <span class="k">in</span> <span class="nx">rollups</span><span class="o">)</span> <span class="o">{</span> 
       
  1558 
       
  1559                 <span class="k">if</span> <span class="o">(</span><span class="nx">rollups</span><span class="o">.</span><span class="nx">hasOwnProperty</span><span class="o">(</span><span class="nx">i</span><span class="o">))</span> <span class="o">{</span>
       
  1560 
       
  1561                     <span class="c">// there can be only one, unless forced</span>
       
  1562 <span class="c"></span>                    <span class="k">if</span> <span class="o">(!</span><span class="nx">r</span><span class="o">[</span><span class="nx">i</span><span class="o">]</span> <span class="o">&amp;&amp;</span> <span class="o">((!</span><span class="k">this</span><span class="o">.</span><span class="nx">loaded</span><span class="o">[</span><span class="nx">i</span><span class="o">])</span> <span class="o">||</span> <span class="k">this</span><span class="o">.</span><span class="nx">forceMap</span><span class="o">[</span><span class="nx">i</span><span class="o">]))</span> <span class="o">{</span>
       
  1563                         <span class="nx">m</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">getModule</span><span class="o">(</span><span class="nx">i</span><span class="o">);</span> 
       
  1564                         <span class="nx">s</span> <span class="o">=</span> <span class="nx">m</span><span class="o">.</span><span class="nx">supersedes</span> <span class="o">||</span> <span class="o">[];</span> 
       
  1565                         <span class="nx">roll</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
       
  1566 
       
  1567                         <span class="c">// @TODO remove continue</span>
       
  1568 <span class="c"></span>                        <span class="k">if</span> <span class="o">(!</span><span class="nx">m</span><span class="o">.</span><span class="nx">rollup</span><span class="o">)</span> <span class="o">{</span>
       
  1569                             <span class="k">continue</span><span class="o">;</span>
       
  1570                         <span class="o">}</span>
       
  1571 
       
  1572                         <span class="nx">c</span> <span class="o">=</span> <span class="m">0</span><span class="o">;</span>
       
  1573 
       
  1574                         <span class="c">// check the threshold</span>
       
  1575 <span class="c"></span>                        <span class="k">for</span> <span class="o">(</span><span class="nx">j</span><span class="o">=</span><span class="m">0</span><span class="o">;</span><span class="nx">j</span><span class="o">&lt;</span><span class="nx">s</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span><span class="nx">j</span><span class="o">=</span><span class="nx">j</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span>
       
  1576 
       
  1577 
       
  1578                             <span class="c">// if the superseded module is loaded, we can&#39;t load the rollup</span>
       
  1579 <span class="c"></span>                            <span class="c">// unless it has been forced</span>
       
  1580 <span class="c"></span>                            <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">loaded</span><span class="o">[</span><span class="nx">s</span><span class="o">[</span><span class="nx">j</span><span class="o">]]</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="k">this</span><span class="o">.</span><span class="nx">forceMap</span><span class="o">[</span><span class="nx">s</span><span class="o">[</span><span class="nx">j</span><span class="o">]])</span> <span class="o">{</span>
       
  1581                                 <span class="nx">roll</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
       
  1582                                 <span class="k">break</span><span class="o">;</span>
       
  1583                             <span class="c">// increment the counter if this module is required.  if we are</span>
       
  1584 <span class="c"></span>                            <span class="c">// beyond the rollup threshold, we will use the rollup module</span>
       
  1585 <span class="c"></span>                            <span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">(</span><span class="nx">r</span><span class="o">[</span><span class="nx">s</span><span class="o">[</span><span class="nx">j</span><span class="o">]])</span> <span class="o">{</span>
       
  1586                                 <span class="nx">c</span><span class="o">++;</span>
       
  1587                                 <span class="c">// Y.log(&quot;adding to thresh: &quot; + c + &quot;, &quot; + s[j]);</span>
       
  1588 <span class="c"></span>                                <span class="nx">roll</span> <span class="o">=</span> <span class="o">(</span><span class="nx">c</span> <span class="o">&gt;=</span> <span class="nx">m</span><span class="o">.</span><span class="nx">rollup</span><span class="o">);</span>
       
  1589                                 <span class="k">if</span> <span class="o">(</span><span class="nx">roll</span><span class="o">)</span> <span class="o">{</span>
       
  1590                                     <span class="c">// Y.log(&quot;over thresh &quot; + c + &quot;, &quot; + s[j]);</span>
       
  1591 <span class="c"></span>                                    <span class="k">break</span><span class="o">;</span>
       
  1592                                 <span class="o">}</span>
       
  1593                             <span class="o">}</span>
       
  1594                         <span class="o">}</span>
       
  1595 
       
  1596                         <span class="k">if</span> <span class="o">(</span><span class="nx">roll</span><span class="o">)</span> <span class="o">{</span>
       
  1597                             <span class="c">// Y.log(&quot;adding rollup: &quot; +  i);</span>
       
  1598 <span class="c"></span>                            <span class="c">// add the rollup</span>
       
  1599 <span class="c"></span>                            <span class="nx">r</span><span class="o">[</span><span class="nx">i</span><span class="o">]</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
       
  1600                             <span class="nx">rolled</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
       
  1601 
       
  1602                             <span class="c">// expand the rollup&#39;s dependencies</span>
       
  1603 <span class="c"></span>                            <span class="k">this</span><span class="o">.</span><span class="nx">getRequires</span><span class="o">(</span><span class="nx">m</span><span class="o">);</span>
       
  1604                         <span class="o">}</span>
       
  1605                     <span class="o">}</span>
       
  1606                 <span class="o">}</span>
       
  1607             <span class="o">}</span>
       
  1608 
       
  1609             <span class="c">// if we made it here w/o rolling up something, we are done</span>
       
  1610 <span class="c"></span>            <span class="k">if</span> <span class="o">(!</span><span class="nx">rolled</span><span class="o">)</span> <span class="o">{</span>
       
  1611                 <span class="k">break</span><span class="o">;</span>
       
  1612             <span class="o">}</span>
       
  1613         <span class="o">}</span>
       
  1614     <span class="o">},</span>
       
  1615 
       
  1616     <span class="c">/**</span>
       
  1617 <span class="c">     * Remove superceded modules and loaded modules.  Called by</span>
       
  1618 <span class="c">     * calculate() after we have the mega list of all dependencies</span>
       
  1619 <span class="c">     * @method _reduce</span>
       
  1620 <span class="c">     * @private</span>
       
  1621 <span class="c">     */</span>
       
  1622     <span class="nx">_reduce</span><span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
       
  1623 
       
  1624         <span class="k">var</span> <span class="nx">i</span><span class="o">,</span> <span class="nx">j</span><span class="o">,</span> <span class="nx">s</span><span class="o">,</span> <span class="nx">m</span><span class="o">,</span> <span class="nx">r</span><span class="o">=</span><span class="k">this</span><span class="o">.</span><span class="nx">required</span><span class="o">;</span>
       
  1625         <span class="k">for</span> <span class="o">(</span><span class="nx">i</span> <span class="k">in</span> <span class="nx">r</span><span class="o">)</span> <span class="o">{</span>
       
  1626 
       
  1627             <span class="k">if</span> <span class="o">(</span><span class="nx">r</span><span class="o">.</span><span class="nx">hasOwnProperty</span><span class="o">(</span><span class="nx">i</span><span class="o">))</span> <span class="o">{</span>
       
  1628 
       
  1629                 <span class="c">// remove if already loaded</span>
       
  1630 <span class="c"></span>                <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">loaded</span><span class="o">[</span><span class="nx">i</span><span class="o">]</span> <span class="o">&amp;&amp;</span> <span class="o">(!</span><span class="k">this</span><span class="o">.</span><span class="nx">forceMap</span><span class="o">[</span><span class="nx">i</span><span class="o">])</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="k">this</span><span class="o">.</span><span class="nx">ignoreRegistered</span><span class="o">)</span> <span class="o">{</span> 
       
  1631                     <span class="nx">delete</span> <span class="nx">r</span><span class="o">[</span><span class="nx">i</span><span class="o">];</span>
       
  1632 
       
  1633                 <span class="c">// remove anything this module supersedes</span>
       
  1634 <span class="c"></span>                <span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
       
  1635 
       
  1636                      <span class="nx">m</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">getModule</span><span class="o">(</span><span class="nx">i</span><span class="o">);</span>
       
  1637                      <span class="nx">s</span> <span class="o">=</span> <span class="nx">m</span> <span class="o">&amp;&amp;</span> <span class="nx">m</span><span class="o">.</span><span class="nx">supersedes</span><span class="o">;</span>
       
  1638                      <span class="k">if</span> <span class="o">(</span><span class="nx">s</span><span class="o">)</span> <span class="o">{</span>
       
  1639                          <span class="k">for</span> <span class="o">(</span><span class="nx">j</span><span class="o">=</span><span class="m">0</span><span class="o">;</span> <span class="nx">j</span><span class="o">&lt;</span><span class="nx">s</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span> <span class="nx">j</span><span class="o">=</span><span class="nx">j</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span>
       
  1640                              <span class="k">if</span> <span class="o">(</span><span class="nx">s</span><span class="o">[</span><span class="nx">j</span><span class="o">]</span> <span class="k">in</span> <span class="nx">r</span><span class="o">)</span> <span class="o">{</span>
       
  1641                                  <span class="nx">delete</span> <span class="nx">r</span><span class="o">[</span><span class="nx">s</span><span class="o">[</span><span class="nx">j</span><span class="o">]];</span>
       
  1642                              <span class="o">}</span>
       
  1643                          <span class="o">}</span>
       
  1644                      <span class="o">}</span>
       
  1645                 <span class="o">}</span>
       
  1646             <span class="o">}</span>
       
  1647         <span class="o">}</span>
       
  1648     <span class="o">},</span>
       
  1649 
       
  1650     <span class="nx">_attach</span><span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
       
  1651 
       
  1652         <span class="c">// this is the full list of items the YUI needs attached,</span>
       
  1653 <span class="c"></span>        <span class="c">// which is needed if some dependencies are already on</span>
       
  1654 <span class="c"></span>        <span class="c">// the page without their dependencies.</span>
       
  1655 <span class="c"></span>        <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">attaching</span><span class="o">)</span> <span class="o">{</span>
       
  1656             <span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s1">&#39;attaching Y supplied deps: &#39;</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">attaching</span><span class="o">,</span> <span class="s2">&quot;info&quot;</span><span class="o">,</span> <span class="s2">&quot;loader&quot;</span><span class="o">);</span>
       
  1657             <span class="nx">Y</span><span class="o">.</span><span class="nx">_attach</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">attaching</span><span class="o">);</span>
       
  1658         <span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
       
  1659             <span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s1">&#39;attaching sorted list: &#39;</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">sorted</span><span class="o">,</span> <span class="s2">&quot;info&quot;</span><span class="o">,</span> <span class="s2">&quot;loader&quot;</span><span class="o">);</span>
       
  1660             <span class="nx">Y</span><span class="o">.</span><span class="nx">_attach</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">sorted</span><span class="o">);</span>
       
  1661         <span class="o">}</span>
       
  1662 
       
  1663         <span class="c">// this._pushEvents();</span>
       
  1664 <span class="c"></span>
       
  1665     <span class="o">},</span>
       
  1666 
       
  1667     <span class="nx">_finish</span><span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
       
  1668         <span class="nx">_queue</span><span class="o">.</span><span class="nx">running</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
       
  1669         <span class="k">this</span><span class="o">.</span><span class="nx">_continue</span><span class="o">();</span>
       
  1670     <span class="o">},</span>
       
  1671 
       
  1672     <span class="nx">_onSuccess</span><span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
       
  1673 
       
  1674         <span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s1">&#39;loader successful: &#39;</span> <span class="o">+</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">id</span><span class="o">,</span> <span class="s2">&quot;info&quot;</span><span class="o">,</span> <span class="s2">&quot;loader&quot;</span><span class="o">);</span>
       
  1675 
       
  1676         <span class="k">this</span><span class="o">.</span><span class="nx">_attach</span><span class="o">();</span>
       
  1677 
       
  1678         <span class="k">var</span> <span class="nx">skipped</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">skipped</span><span class="o">,</span> <span class="nx">i</span><span class="o">,</span> <span class="nx">f</span><span class="o">;</span>
       
  1679 
       
  1680         <span class="k">for</span> <span class="o">(</span><span class="nx">i</span> <span class="k">in</span> <span class="nx">skipped</span><span class="o">)</span> <span class="o">{</span>
       
  1681             <span class="k">if</span> <span class="o">(</span><span class="nx">skipped</span><span class="o">.</span><span class="nx">hasOwnProperty</span><span class="o">(</span><span class="nx">i</span><span class="o">))</span> <span class="o">{</span>
       
  1682                 <span class="nx">delete</span> <span class="k">this</span><span class="o">.</span><span class="nx">inserted</span><span class="o">[</span><span class="nx">i</span><span class="o">];</span>
       
  1683             <span class="o">}</span>
       
  1684         <span class="o">}</span>
       
  1685 
       
  1686         <span class="k">this</span><span class="o">.</span><span class="nx">skipped</span> <span class="o">=</span> <span class="o">{};</span>
       
  1687 
       
  1688         <span class="nx">f</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">onSuccess</span><span class="o">;</span>
       
  1689 
       
  1690         <span class="k">if</span> <span class="o">(</span><span class="nx">f</span><span class="o">)</span> <span class="o">{</span>
       
  1691             <span class="nx">f</span><span class="o">.</span><span class="nx">call</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">context</span><span class="o">,</span> <span class="o">{</span>
       
  1692                 <span class="nx">msg</span><span class="o">:</span> <span class="s1">&#39;success&#39;</span><span class="o">,</span>
       
  1693                 <span class="nx">data</span><span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">data</span><span class="o">,</span>
       
  1694                 <span class="nx">success</span><span class="o">:</span> <span class="kc">true</span>
       
  1695             <span class="o">});</span>
       
  1696         <span class="o">}</span>
       
  1697 
       
  1698         <span class="k">this</span><span class="o">.</span><span class="nx">_finish</span><span class="o">();</span>
       
  1699 
       
  1700     <span class="o">},</span>
       
  1701 
       
  1702     <span class="nx">_onFailure</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">o</span><span class="o">)</span> <span class="o">{</span>
       
  1703 
       
  1704         <span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s1">&#39;load error: &#39;</span> <span class="o">+</span> <span class="nx">o</span><span class="o">.</span><span class="nx">msg</span> <span class="o">+</span> <span class="s1">&#39;, &#39;</span> <span class="o">+</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">id</span><span class="o">,</span> <span class="s2">&quot;error&quot;</span><span class="o">,</span> <span class="s2">&quot;loader&quot;</span><span class="o">);</span>
       
  1705 
       
  1706         <span class="k">this</span><span class="o">.</span><span class="nx">_attach</span><span class="o">();</span>
       
  1707 
       
  1708         <span class="k">var</span> <span class="nx">f</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">onFailure</span><span class="o">;</span>
       
  1709         <span class="k">if</span> <span class="o">(</span><span class="nx">f</span><span class="o">)</span> <span class="o">{</span>
       
  1710             <span class="nx">f</span><span class="o">.</span><span class="nx">call</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">context</span><span class="o">,</span> <span class="o">{</span>
       
  1711                 <span class="nx">msg</span><span class="o">:</span> <span class="s1">&#39;failure: &#39;</span> <span class="o">+</span> <span class="nx">o</span><span class="o">.</span><span class="nx">msg</span><span class="o">,</span>
       
  1712                 <span class="nx">data</span><span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">data</span><span class="o">,</span>
       
  1713                 <span class="nx">success</span><span class="o">:</span> <span class="kc">false</span>
       
  1714             <span class="o">});</span>
       
  1715         <span class="o">}</span>
       
  1716 
       
  1717         <span class="k">this</span><span class="o">.</span><span class="nx">_finish</span><span class="o">();</span>
       
  1718     <span class="o">},</span>
       
  1719 
       
  1720     <span class="nx">_onTimeout</span><span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
       
  1721 
       
  1722         <span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s1">&#39;loader timeout: &#39;</span> <span class="o">+</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">id</span><span class="o">,</span> <span class="s2">&quot;error&quot;</span><span class="o">,</span> <span class="s2">&quot;loader&quot;</span><span class="o">);</span>
       
  1723 
       
  1724         <span class="k">this</span><span class="o">.</span><span class="nx">_attach</span><span class="o">();</span>
       
  1725 
       
  1726         <span class="k">var</span> <span class="nx">f</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">onTimeout</span><span class="o">;</span>
       
  1727         <span class="k">if</span> <span class="o">(</span><span class="nx">f</span><span class="o">)</span> <span class="o">{</span>
       
  1728             <span class="nx">f</span><span class="o">.</span><span class="nx">call</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">context</span><span class="o">,</span> <span class="o">{</span>
       
  1729                 <span class="nx">msg</span><span class="o">:</span> <span class="s1">&#39;timeout&#39;</span><span class="o">,</span>
       
  1730                 <span class="nx">data</span><span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">data</span><span class="o">,</span>
       
  1731                 <span class="nx">success</span><span class="o">:</span> <span class="kc">false</span>
       
  1732             <span class="o">});</span>
       
  1733         <span class="o">}</span>
       
  1734 
       
  1735         <span class="k">this</span><span class="o">.</span><span class="nx">_finish</span><span class="o">();</span>
       
  1736     <span class="o">},</span>
       
  1737     
       
  1738     <span class="c">/**</span>
       
  1739 <span class="c">     * Sorts the dependency tree.  The last step of calculate()</span>
       
  1740 <span class="c">     * @method _sort</span>
       
  1741 <span class="c">     * @private</span>
       
  1742 <span class="c">     */</span>
       
  1743     <span class="nx">_sort</span><span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
       
  1744         <span class="c">// create an indexed list</span>
       
  1745 <span class="c"></span>        <span class="k">var</span> <span class="nx">s</span><span class="o">=</span><span class="nx">Y</span><span class="o">.</span><span class="nb">Object</span><span class="o">.</span><span class="nx">keys</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">required</span><span class="o">),</span> <span class="nx">info</span><span class="o">=</span><span class="k">this</span><span class="o">.</span><span class="nx">moduleInfo</span><span class="o">,</span> <span class="nx">loaded</span><span class="o">=</span><span class="k">this</span><span class="o">.</span><span class="nx">loaded</span><span class="o">,</span>
       
  1746             <span class="nx">p</span><span class="o">,</span> <span class="nx">l</span><span class="o">,</span> <span class="nx">a</span><span class="o">,</span> <span class="nx">b</span><span class="o">,</span> <span class="nx">j</span><span class="o">,</span> <span class="nx">k</span><span class="o">,</span> <span class="nx">moved</span><span class="o">,</span>
       
  1747 
       
  1748         <span class="c">// returns true if b is not loaded, and is required</span>
       
  1749 <span class="c"></span>        <span class="c">// directly or by means of modules it supersedes.</span>
       
  1750 <span class="c"></span>            <span class="nx">requires</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">aa</span><span class="o">,</span> <span class="nx">bb</span><span class="o">)</span> <span class="o">{</span>
       
  1751 
       
  1752                 <span class="k">var</span> <span class="nx">mm</span> <span class="o">=</span> <span class="nx">info</span><span class="o">[</span><span class="nx">aa</span><span class="o">],</span> <span class="nx">ii</span><span class="o">,</span> <span class="nx">rr</span><span class="o">,</span> <span class="nx">after</span><span class="o">,</span> <span class="nx">other</span><span class="o">,</span> <span class="nx">ss</span><span class="o">;</span>
       
  1753 
       
  1754                 <span class="k">if</span> <span class="o">(</span><span class="nx">loaded</span><span class="o">[</span><span class="nx">bb</span><span class="o">]</span> <span class="o">||</span> <span class="o">!</span><span class="nx">mm</span><span class="o">)</span> <span class="o">{</span>
       
  1755                     <span class="k">return</span> <span class="kc">false</span><span class="o">;</span>
       
  1756                 <span class="o">}</span>
       
  1757 
       
  1758                 <span class="nx">rr</span>    <span class="o">=</span> <span class="nx">mm</span><span class="o">.</span><span class="nx">expanded</span><span class="o">;</span>
       
  1759                 <span class="nx">after</span> <span class="o">=</span> <span class="nx">mm</span><span class="o">.</span><span class="nx">after</span><span class="o">;</span> 
       
  1760                 <span class="nx">other</span> <span class="o">=</span> <span class="nx">info</span><span class="o">[</span><span class="nx">bb</span><span class="o">];</span>
       
  1761 
       
  1762                 <span class="c">// check if this module requires the other directly</span>
       
  1763 <span class="c"></span>                <span class="k">if</span> <span class="o">(</span><span class="nx">rr</span> <span class="o">&amp;&amp;</span> <span class="nx">Y</span><span class="o">.</span><span class="nb">Array</span><span class="o">.</span><span class="nx">indexOf</span><span class="o">(</span><span class="nx">rr</span><span class="o">,</span> <span class="nx">bb</span><span class="o">)</span> <span class="o">&gt;</span> <span class="o">-</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span>
       
  1764                     <span class="k">return</span> <span class="kc">true</span><span class="o">;</span>
       
  1765                 <span class="o">}</span>
       
  1766 
       
  1767                 <span class="c">// check if this module should be sorted after the other</span>
       
  1768 <span class="c"></span>                <span class="k">if</span> <span class="o">(</span><span class="nx">after</span> <span class="o">&amp;&amp;</span> <span class="nx">Y</span><span class="o">.</span><span class="nb">Array</span><span class="o">.</span><span class="nx">indexOf</span><span class="o">(</span><span class="nx">after</span><span class="o">,</span> <span class="nx">bb</span><span class="o">)</span> <span class="o">&gt;</span> <span class="o">-</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span>
       
  1769                     <span class="k">return</span> <span class="kc">true</span><span class="o">;</span>
       
  1770                 <span class="o">}</span>
       
  1771 
       
  1772                 <span class="c">// check if this module requires one the other supersedes</span>
       
  1773 <span class="c"></span>                <span class="nx">ss</span> <span class="o">=</span> <span class="nx">info</span><span class="o">[</span><span class="nx">bb</span><span class="o">]</span> <span class="o">&amp;&amp;</span> <span class="nx">info</span><span class="o">[</span><span class="nx">bb</span><span class="o">].</span><span class="nx">supersedes</span><span class="o">;</span>
       
  1774                 <span class="k">if</span> <span class="o">(</span><span class="nx">ss</span><span class="o">)</span> <span class="o">{</span>
       
  1775                     <span class="k">for</span> <span class="o">(</span><span class="nx">ii</span><span class="o">=</span><span class="m">0</span><span class="o">;</span> <span class="nx">ii</span><span class="o">&lt;</span><span class="nx">ss</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span> <span class="nx">ii</span><span class="o">=</span><span class="nx">ii</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span>
       
  1776                         <span class="k">if</span> <span class="o">(</span><span class="nx">requires</span><span class="o">(</span><span class="nx">aa</span><span class="o">,</span> <span class="nx">ss</span><span class="o">[</span><span class="nx">ii</span><span class="o">]))</span> <span class="o">{</span>
       
  1777                             <span class="k">return</span> <span class="kc">true</span><span class="o">;</span>
       
  1778                         <span class="o">}</span>
       
  1779                     <span class="o">}</span>
       
  1780                 <span class="o">}</span>
       
  1781 
       
  1782                 <span class="c">// external css files should be sorted below yui css</span>
       
  1783 <span class="c"></span>                <span class="k">if</span> <span class="o">(</span><span class="nx">mm</span><span class="o">.</span><span class="nx">ext</span> <span class="o">&amp;&amp;</span> <span class="nx">mm</span><span class="o">.</span><span class="nx">type</span> <span class="o">==</span> <span class="nx">CSS</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="nx">other</span><span class="o">.</span><span class="nx">ext</span> <span class="o">&amp;&amp;</span> <span class="nx">other</span><span class="o">.</span><span class="nx">type</span> <span class="o">==</span> <span class="nx">CSS</span><span class="o">)</span> <span class="o">{</span>
       
  1784                     <span class="k">return</span> <span class="kc">true</span><span class="o">;</span>
       
  1785                 <span class="o">}</span>
       
  1786 
       
  1787                 <span class="k">return</span> <span class="kc">false</span><span class="o">;</span>
       
  1788             <span class="o">};</span>
       
  1789 
       
  1790         <span class="c">// pointer to the first unsorted item</span>
       
  1791 <span class="c"></span>        <span class="nx">p</span> <span class="o">=</span> <span class="m">0</span><span class="o">;</span> 
       
  1792 
       
  1793         <span class="c">// keep going until we make a pass without moving anything</span>
       
  1794 <span class="c"></span>        <span class="k">for</span> <span class="o">(;;)</span> <span class="o">{</span>
       
  1795            
       
  1796             <span class="nx">l</span>     <span class="o">=</span> <span class="nx">s</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span> 
       
  1797             <span class="nx">moved</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
       
  1798 
       
  1799             <span class="c">// start the loop after items that are already sorted</span>
       
  1800 <span class="c"></span>            <span class="k">for</span> <span class="o">(</span><span class="nx">j</span><span class="o">=</span><span class="nx">p</span><span class="o">;</span> <span class="nx">j</span><span class="o">&lt;</span><span class="nx">l</span><span class="o">;</span> <span class="nx">j</span><span class="o">=</span><span class="nx">j</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span>
       
  1801 
       
  1802                 <span class="c">// check the next module on the list to see if its</span>
       
  1803 <span class="c"></span>                <span class="c">// dependencies have been met</span>
       
  1804 <span class="c"></span>                <span class="nx">a</span> <span class="o">=</span> <span class="nx">s</span><span class="o">[</span><span class="nx">j</span><span class="o">];</span>
       
  1805 
       
  1806                 <span class="c">// check everything below current item and move if we</span>
       
  1807 <span class="c"></span>                <span class="c">// find a requirement for the current item</span>
       
  1808 <span class="c"></span>                <span class="k">for</span> <span class="o">(</span><span class="nx">k</span><span class="o">=</span><span class="nx">j</span><span class="o">+</span><span class="m">1</span><span class="o">;</span> <span class="nx">k</span><span class="o">&lt;</span><span class="nx">l</span><span class="o">;</span> <span class="nx">k</span><span class="o">=</span><span class="nx">k</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span>
       
  1809                     <span class="k">if</span> <span class="o">(</span><span class="nx">requires</span><span class="o">(</span><span class="nx">a</span><span class="o">,</span> <span class="nx">s</span><span class="o">[</span><span class="nx">k</span><span class="o">]))</span> <span class="o">{</span>
       
  1810 
       
  1811                         <span class="c">// extract the dependency so we can move it up</span>
       
  1812 <span class="c"></span>                        <span class="nx">b</span> <span class="o">=</span> <span class="nx">s</span><span class="o">.</span><span class="nx">splice</span><span class="o">(</span><span class="nx">k</span><span class="o">,</span> <span class="m">1</span><span class="o">);</span>
       
  1813 
       
  1814                         <span class="c">// insert the dependency above the item that </span>
       
  1815 <span class="c"></span>                        <span class="c">// requires it</span>
       
  1816 <span class="c"></span>                        <span class="nx">s</span><span class="o">.</span><span class="nx">splice</span><span class="o">(</span><span class="nx">j</span><span class="o">,</span> <span class="m">0</span><span class="o">,</span> <span class="nx">b</span><span class="o">[</span><span class="m">0</span><span class="o">]);</span>
       
  1817 
       
  1818                         <span class="nx">moved</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
       
  1819                         <span class="k">break</span><span class="o">;</span>
       
  1820                     <span class="o">}</span>
       
  1821                 <span class="o">}</span>
       
  1822 
       
  1823                 <span class="c">// jump out of loop if we moved something</span>
       
  1824 <span class="c"></span>                <span class="k">if</span> <span class="o">(</span><span class="nx">moved</span><span class="o">)</span> <span class="o">{</span>
       
  1825                     <span class="k">break</span><span class="o">;</span>
       
  1826                 <span class="c">// this item is sorted, move our pointer and keep going</span>
       
  1827 <span class="c"></span>                <span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
       
  1828                     <span class="nx">p</span> <span class="o">=</span> <span class="nx">p</span> <span class="o">+</span> <span class="m">1</span><span class="o">;</span>
       
  1829                 <span class="o">}</span>
       
  1830             <span class="o">}</span>
       
  1831 
       
  1832             <span class="c">// when we make it here and moved is false, we are </span>
       
  1833 <span class="c"></span>            <span class="c">// finished sorting</span>
       
  1834 <span class="c"></span>            <span class="k">if</span> <span class="o">(!</span><span class="nx">moved</span><span class="o">)</span> <span class="o">{</span>
       
  1835                 <span class="k">break</span><span class="o">;</span>
       
  1836             <span class="o">}</span>
       
  1837 
       
  1838         <span class="o">}</span>
       
  1839 
       
  1840         <span class="k">this</span><span class="o">.</span><span class="nx">sorted</span> <span class="o">=</span> <span class="nx">s</span><span class="o">;</span>
       
  1841     <span class="o">},</span>
       
  1842 
       
  1843     <span class="nx">_insert</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">source</span><span class="o">,</span> <span class="nx">o</span><span class="o">,</span> <span class="nx">type</span><span class="o">)</span> <span class="o">{</span>
       
  1844 
       
  1845         <span class="c">// Y.log(&#39;private _insert() &#39; + (type || &#39;&#39;) + &#39;, &#39; + Y.id, &quot;info&quot;, &quot;loader&quot;);</span>
       
  1846 <span class="c"></span>
       
  1847         <span class="c">// restore the state at the time of the request</span>
       
  1848 <span class="c"></span>        <span class="k">if</span> <span class="o">(</span><span class="nx">source</span><span class="o">)</span> <span class="o">{</span>
       
  1849             <span class="k">this</span><span class="o">.</span><span class="nx">_config</span><span class="o">(</span><span class="nx">source</span><span class="o">);</span>
       
  1850         <span class="o">}</span>
       
  1851 
       
  1852         <span class="c">// build the dependency list</span>
       
  1853 <span class="c"></span>        <span class="k">this</span><span class="o">.</span><span class="nx">calculate</span><span class="o">(</span><span class="nx">o</span><span class="o">);</span>
       
  1854 
       
  1855         <span class="k">if</span> <span class="o">(!</span><span class="nx">type</span><span class="o">)</span> <span class="o">{</span>
       
  1856 
       
  1857             <span class="k">var</span> <span class="nx">self</span> <span class="o">=</span> <span class="k">this</span><span class="o">;</span>
       
  1858 
       
  1859             <span class="c">// Y.log(&quot;trying to load css first&quot;);</span>
       
  1860 <span class="c"></span>            <span class="k">this</span><span class="o">.</span><span class="nx">_internalCallback</span> <span class="o">=</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
       
  1861                         <span class="k">var</span> <span class="nx">f</span> <span class="o">=</span> <span class="nx">self</span><span class="o">.</span><span class="nx">onCSS</span><span class="o">;</span>
       
  1862                         <span class="k">if</span> <span class="o">(</span><span class="nx">f</span><span class="o">)</span> <span class="o">{</span>
       
  1863                             <span class="nx">f</span><span class="o">.</span><span class="nx">call</span><span class="o">(</span><span class="nx">self</span><span class="o">.</span><span class="nx">context</span><span class="o">,</span> <span class="nx">Y</span><span class="o">);</span>
       
  1864                         <span class="o">}</span>
       
  1865                         <span class="nx">self</span><span class="o">.</span><span class="nx">_internalCallback</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
       
  1866                         <span class="nx">self</span><span class="o">.</span><span class="nx">_insert</span><span class="o">(</span><span class="kc">null</span><span class="o">,</span> <span class="kc">null</span><span class="o">,</span> <span class="nx">JS</span><span class="o">);</span>
       
  1867                     <span class="o">};</span>
       
  1868 
       
  1869             <span class="c">// _queue.running = false;</span>
       
  1870 <span class="c"></span>            <span class="k">this</span><span class="o">.</span><span class="nx">_insert</span><span class="o">(</span><span class="kc">null</span><span class="o">,</span> <span class="kc">null</span><span class="o">,</span> <span class="nx">CSS</span><span class="o">);</span>
       
  1871 
       
  1872             <span class="k">return</span><span class="o">;</span>
       
  1873         <span class="o">}</span>
       
  1874 
       
  1875 
       
  1876         <span class="c">// set a flag to indicate the load has started</span>
       
  1877 <span class="c"></span>        <span class="k">this</span><span class="o">.</span><span class="nx">_loading</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
       
  1878 
       
  1879         <span class="c">// flag to indicate we are done with the combo service</span>
       
  1880 <span class="c"></span>        <span class="c">// and any additional files will need to be loaded</span>
       
  1881 <span class="c"></span>        <span class="c">// individually</span>
       
  1882 <span class="c"></span>        <span class="k">this</span><span class="o">.</span><span class="nx">_combineComplete</span> <span class="o">=</span> <span class="o">{};</span>
       
  1883 
       
  1884         <span class="c">// keep the loadType (js, css or undefined) cached</span>
       
  1885 <span class="c"></span>        <span class="k">this</span><span class="o">.</span><span class="nx">loadType</span> <span class="o">=</span> <span class="nx">type</span><span class="o">;</span>
       
  1886 
       
  1887         <span class="c">// start the load</span>
       
  1888 <span class="c"></span>        <span class="k">this</span><span class="o">.</span><span class="nx">loadNext</span><span class="o">();</span>
       
  1889 
       
  1890     <span class="o">},</span>
       
  1891 
       
  1892     <span class="nx">_continue</span><span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
       
  1893         <span class="k">if</span> <span class="o">(!(</span><span class="nx">_queue</span><span class="o">.</span><span class="nx">running</span><span class="o">)</span> <span class="o">&amp;&amp;</span> <span class="nx">_queue</span><span class="o">.</span><span class="nx">size</span><span class="o">()</span> <span class="o">&gt;</span> <span class="m">0</span><span class="o">)</span> <span class="o">{</span>
       
  1894             <span class="nx">_queue</span><span class="o">.</span><span class="nx">running</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
       
  1895             <span class="nx">_queue</span><span class="o">.</span><span class="nx">next</span><span class="o">()();</span>
       
  1896         <span class="o">}</span>
       
  1897     <span class="o">},</span>
       
  1898 
       
  1899     <span class="c">/**</span>
       
  1900 <span class="c">     * inserts the requested modules and their dependencies.  </span>
       
  1901 <span class="c">     * &lt;code&gt;type&lt;/code&gt; can be &quot;js&quot; or &quot;css&quot;.  Both script and </span>
       
  1902 <span class="c">     * css are inserted if type is not provided.</span>
       
  1903 <span class="c">     * @method insert</span>
       
  1904 <span class="c">     * @param o optional options object</span>
       
  1905 <span class="c">     * @param type {string} the type of dependency to insert</span>
       
  1906 <span class="c">     */</span>
       
  1907     <span class="nx">insert</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">o</span><span class="o">,</span> <span class="nx">type</span><span class="o">)</span> <span class="o">{</span>
       
  1908 
       
  1909         <span class="k">var</span> <span class="nx">self</span> <span class="o">=</span> <span class="k">this</span><span class="o">,</span> <span class="nx">copy</span><span class="o">;</span>
       
  1910 
       
  1911         <span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s1">&#39;public insert() &#39;</span> <span class="o">+</span> <span class="nx">type</span><span class="o">,</span> <span class="s2">&quot;info&quot;</span><span class="o">,</span> <span class="s2">&quot;loader&quot;</span><span class="o">);</span>
       
  1912         <span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s1">&#39;public insert() &#39;</span> <span class="o">+</span> <span class="o">(</span><span class="nx">type</span> <span class="o">||</span> <span class="s1">&#39;&#39;</span><span class="o">)</span> <span class="o">+</span> <span class="s1">&#39;, &#39;</span> <span class="o">+</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">id</span><span class="o">,</span> <span class="s2">&quot;info&quot;</span><span class="o">,</span> <span class="s2">&quot;loader&quot;</span><span class="o">);</span>
       
  1913 
       
  1914 
       
  1915         <span class="nx">copy</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">merge</span><span class="o">(</span><span class="k">this</span><span class="o">,</span> <span class="kc">true</span><span class="o">);</span>
       
  1916         <span class="nx">delete</span> <span class="nx">copy</span><span class="o">.</span><span class="nx">require</span><span class="o">;</span>
       
  1917         <span class="nx">delete</span> <span class="nx">copy</span><span class="o">.</span><span class="nx">dirty</span><span class="o">;</span>
       
  1918 
       
  1919         <span class="nx">_queue</span><span class="o">.</span><span class="nx">add</span><span class="o">(</span><span class="k">function</span><span class="o">()</span> <span class="o">{</span>
       
  1920             <span class="nx">self</span><span class="o">.</span><span class="nx">_insert</span><span class="o">(</span><span class="nx">copy</span><span class="o">,</span> <span class="nx">o</span><span class="o">,</span> <span class="nx">type</span><span class="o">);</span>
       
  1921         <span class="o">});</span>
       
  1922 
       
  1923         <span class="k">this</span><span class="o">.</span><span class="nx">_continue</span><span class="o">();</span>
       
  1924 
       
  1925     <span class="o">},</span>
       
  1926 
       
  1927     <span class="c">/**</span>
       
  1928 <span class="c">     * Executed every time a module is loaded, and if we are in a load</span>
       
  1929 <span class="c">     * cycle, we attempt to load the next script.  Public so that it</span>
       
  1930 <span class="c">     * is possible to call this if using a method other than</span>
       
  1931 <span class="c">     * Y.register to determine when scripts are fully loaded</span>
       
  1932 <span class="c">     * @method loadNext</span>
       
  1933 <span class="c">     * @param mname {string} optional the name of the module that has</span>
       
  1934 <span class="c">     * been loaded (which is usually why it is time to load the next</span>
       
  1935 <span class="c">     * one)</span>
       
  1936 <span class="c">     */</span>
       
  1937     <span class="nx">loadNext</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">mname</span><span class="o">)</span> <span class="o">{</span>
       
  1938 
       
  1939         <span class="c">// It is possible that this function is executed due to something</span>
       
  1940 <span class="c"></span>        <span class="c">// else one the page loading a YUI module.  Only react when we</span>
       
  1941 <span class="c"></span>        <span class="c">// are actively loading something</span>
       
  1942 <span class="c"></span>        <span class="k">if</span> <span class="o">(!</span><span class="k">this</span><span class="o">.</span><span class="nx">_loading</span><span class="o">)</span> <span class="o">{</span>
       
  1943             <span class="k">return</span><span class="o">;</span>
       
  1944         <span class="o">}</span>
       
  1945 
       
  1946         <span class="k">var</span> <span class="nx">s</span><span class="o">,</span> <span class="nx">len</span><span class="o">,</span> <span class="nx">i</span><span class="o">,</span> <span class="nx">m</span><span class="o">,</span> <span class="nx">url</span><span class="o">,</span> <span class="nx">self</span><span class="o">=</span><span class="k">this</span><span class="o">,</span> <span class="nx">type</span><span class="o">=</span><span class="k">this</span><span class="o">.</span><span class="nx">loadType</span><span class="o">,</span> <span class="nx">fn</span><span class="o">,</span> <span class="nx">msg</span><span class="o">,</span> <span class="nx">attr</span><span class="o">,</span>
       
  1947             <span class="nx">callback</span><span class="o">=</span><span class="k">function</span><span class="o">(</span><span class="nx">o</span><span class="o">)</span> <span class="o">{</span>
       
  1948                 <span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s1">&#39;Combo complete: &#39;</span> <span class="o">+</span> <span class="nx">o</span><span class="o">.</span><span class="nx">data</span><span class="o">,</span> <span class="s2">&quot;info&quot;</span><span class="o">,</span> <span class="s2">&quot;loader&quot;</span><span class="o">);</span>
       
  1949                 <span class="k">this</span><span class="o">.</span><span class="nx">_combineComplete</span><span class="o">[</span><span class="nx">type</span><span class="o">]</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
       
  1950 
       
  1951 
       
  1952                 <span class="k">var</span> <span class="nx">c</span><span class="o">=</span><span class="k">this</span><span class="o">.</span><span class="nx">_combining</span><span class="o">,</span> <span class="nx">len</span><span class="o">=</span><span class="nx">c</span><span class="o">.</span><span class="nx">length</span><span class="o">,</span> <span class="nx">i</span><span class="o">;</span>
       
  1953 
       
  1954                 <span class="k">for</span> <span class="o">(</span><span class="nx">i</span><span class="o">=</span><span class="m">0</span><span class="o">;</span> <span class="nx">i</span><span class="o">&lt;</span><span class="nx">len</span><span class="o">;</span> <span class="nx">i</span><span class="o">=</span><span class="nx">i</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span>
       
  1955                     <span class="k">this</span><span class="o">.</span><span class="nx">inserted</span><span class="o">[</span><span class="nx">c</span><span class="o">[</span><span class="nx">i</span><span class="o">]]</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
       
  1956                 <span class="o">}</span>
       
  1957 
       
  1958                 <span class="k">this</span><span class="o">.</span><span class="nx">loadNext</span><span class="o">(</span><span class="nx">o</span><span class="o">.</span><span class="nx">data</span><span class="o">);</span>
       
  1959             <span class="o">},</span>
       
  1960             <span class="nx">onsuccess</span><span class="o">=</span><span class="k">function</span><span class="o">(</span><span class="nx">o</span><span class="o">)</span> <span class="o">{</span>
       
  1961                 <span class="c">// Y.log(&#39;loading next, just loaded&#39; + o.data);</span>
       
  1962 <span class="c"></span>                <span class="nx">self</span><span class="o">.</span><span class="nx">loadNext</span><span class="o">(</span><span class="nx">o</span><span class="o">.</span><span class="nx">data</span><span class="o">);</span>
       
  1963             <span class="o">};</span>
       
  1964 
       
  1965         <span class="c">// @TODO this will need to handle the two phase insert when</span>
       
  1966 <span class="c"></span>        <span class="c">// CSS support is added</span>
       
  1967 <span class="c"></span>        <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">combine</span> <span class="o">&amp;&amp;</span> <span class="o">(!</span><span class="k">this</span><span class="o">.</span><span class="nx">_combineComplete</span><span class="o">[</span><span class="nx">type</span><span class="o">]))</span> <span class="o">{</span>
       
  1968 
       
  1969             <span class="k">this</span><span class="o">.</span><span class="nx">_combining</span> <span class="o">=</span> <span class="o">[];</span> 
       
  1970             <span class="nx">s</span><span class="o">=</span><span class="k">this</span><span class="o">.</span><span class="nx">sorted</span><span class="o">;</span>
       
  1971             <span class="nx">len</span><span class="o">=</span><span class="nx">s</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span>
       
  1972             <span class="nx">url</span><span class="o">=</span><span class="k">this</span><span class="o">.</span><span class="nx">comboBase</span><span class="o">;</span>
       
  1973 
       
  1974             <span class="k">for</span> <span class="o">(</span><span class="nx">i</span><span class="o">=</span><span class="m">0</span><span class="o">;</span> <span class="nx">i</span><span class="o">&lt;</span><span class="nx">len</span><span class="o">;</span> <span class="nx">i</span><span class="o">=</span><span class="nx">i</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span>
       
  1975                 <span class="nx">m</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">getModule</span><span class="o">(</span><span class="nx">s</span><span class="o">[</span><span class="nx">i</span><span class="o">]);</span>
       
  1976                 <span class="c">// Do not try to combine non-yui JS</span>
       
  1977 <span class="c"></span>                <span class="k">if</span> <span class="o">(</span><span class="nx">m</span> <span class="o">&amp;&amp;</span> <span class="nx">m</span><span class="o">.</span><span class="nx">type</span> <span class="o">===</span> <span class="k">this</span><span class="o">.</span><span class="nx">loadType</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="nx">m</span><span class="o">.</span><span class="nx">ext</span><span class="o">)</span> <span class="o">{</span>
       
  1978                     <span class="nx">url</span> <span class="o">+=</span> <span class="k">this</span><span class="o">.</span><span class="nx">root</span> <span class="o">+</span> <span class="nx">m</span><span class="o">.</span><span class="nx">path</span><span class="o">;</span>
       
  1979                     <span class="k">if</span> <span class="o">(</span><span class="nx">i</span> <span class="o">&lt;</span> <span class="nx">len</span><span class="o">-</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span>
       
  1980                         <span class="nx">url</span> <span class="o">+=</span> <span class="s1">&#39;&amp;&#39;</span><span class="o">;</span>
       
  1981                     <span class="o">}</span>
       
  1982 
       
  1983                     <span class="k">this</span><span class="o">.</span><span class="nx">_combining</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span><span class="nx">s</span><span class="o">[</span><span class="nx">i</span><span class="o">]);</span>
       
  1984                 <span class="o">}</span>
       
  1985             <span class="o">}</span>
       
  1986 
       
  1987             <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_combining</span><span class="o">.</span><span class="nx">length</span><span class="o">)</span> <span class="o">{</span>
       
  1988 
       
  1989 <span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s1">&#39;Attempting to use combo: &#39;</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">_combining</span><span class="o">,</span> <span class="s2">&quot;info&quot;</span><span class="o">,</span> <span class="s2">&quot;loader&quot;</span><span class="o">);</span>
       
  1990 
       
  1991                 <span class="c">// if (m.type === CSS) {</span>
       
  1992 <span class="c"></span>                <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">loadType</span> <span class="o">===</span> <span class="nx">CSS</span><span class="o">)</span> <span class="o">{</span>
       
  1993                     <span class="nx">fn</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">Get</span><span class="o">.</span><span class="nx">css</span><span class="o">;</span>
       
  1994                     <span class="nx">attr</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cssAttributes</span><span class="o">;</span>
       
  1995                 <span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
       
  1996                     <span class="nx">fn</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">Get</span><span class="o">.</span><span class="nx">script</span><span class="o">;</span>
       
  1997                     <span class="nx">attr</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">jsAttributes</span><span class="o">;</span>
       
  1998                 <span class="o">}</span>
       
  1999 
       
  2000                 <span class="c">// @TODO get rid of the redundant Get code</span>
       
  2001 <span class="c"></span>                <span class="nx">fn</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_filter</span><span class="o">(</span><span class="nx">url</span><span class="o">),</span> <span class="o">{</span>
       
  2002                     <span class="nx">data</span><span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">_loading</span><span class="o">,</span>
       
  2003                     <span class="nx">onSuccess</span><span class="o">:</span> <span class="nx">callback</span><span class="o">,</span>
       
  2004                     <span class="nx">onFailure</span><span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">_onFailure</span><span class="o">,</span>
       
  2005                     <span class="nx">onTimeout</span><span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">_onTimeout</span><span class="o">,</span>
       
  2006                     <span class="nx">insertBefore</span><span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">insertBefore</span><span class="o">,</span>
       
  2007                     <span class="nx">charset</span><span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">charset</span><span class="o">,</span>
       
  2008                     <span class="nx">attributes</span><span class="o">:</span> <span class="nx">attr</span><span class="o">,</span>
       
  2009                     <span class="nx">timeout</span><span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">timeout</span><span class="o">,</span>
       
  2010                     <span class="nx">autopurge</span><span class="o">:</span> <span class="kc">false</span><span class="o">,</span>
       
  2011                     <span class="nx">context</span><span class="o">:</span> <span class="nx">self</span> 
       
  2012                 <span class="o">});</span>
       
  2013 
       
  2014                 <span class="k">return</span><span class="o">;</span>
       
  2015 
       
  2016             <span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
       
  2017                 <span class="k">this</span><span class="o">.</span><span class="nx">_combineComplete</span><span class="o">[</span><span class="nx">type</span><span class="o">]</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
       
  2018             <span class="o">}</span>
       
  2019         <span class="o">}</span>
       
  2020 
       
  2021         <span class="k">if</span> <span class="o">(</span><span class="nx">mname</span><span class="o">)</span> <span class="o">{</span>
       
  2022 
       
  2023             <span class="c">// if the module that was just loaded isn&#39;t what we were expecting,</span>
       
  2024 <span class="c"></span>            <span class="c">// continue to wait</span>
       
  2025 <span class="c"></span>            <span class="k">if</span> <span class="o">(</span><span class="nx">mname</span> <span class="o">!==</span> <span class="k">this</span><span class="o">.</span><span class="nx">_loading</span><span class="o">)</span> <span class="o">{</span>
       
  2026                 <span class="k">return</span><span class="o">;</span>
       
  2027             <span class="o">}</span>
       
  2028 
       
  2029 <span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">&quot;loadNext executing, just loaded &quot;</span> <span class="o">+</span> <span class="nx">mname</span> <span class="o">+</span> <span class="s2">&quot;, &quot;</span> <span class="o">+</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">id</span><span class="o">,</span> <span class="s2">&quot;info&quot;</span><span class="o">,</span> <span class="s2">&quot;loader&quot;</span><span class="o">);</span>
       
  2030 
       
  2031             <span class="c">// The global handler that is called when each module is loaded</span>
       
  2032 <span class="c"></span>            <span class="c">// will pass that module name to this function.  Storing this</span>
       
  2033 <span class="c"></span>            <span class="c">// data to avoid loading the same module multiple times</span>
       
  2034 <span class="c"></span>            <span class="k">this</span><span class="o">.</span><span class="nx">inserted</span><span class="o">[</span><span class="nx">mname</span><span class="o">]</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
       
  2035             <span class="k">this</span><span class="o">.</span><span class="nx">loaded</span><span class="o">[</span><span class="nx">mname</span><span class="o">]</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
       
  2036 
       
  2037             <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">onProgress</span><span class="o">)</span> <span class="o">{</span>
       
  2038                 <span class="k">this</span><span class="o">.</span><span class="nx">onProgress</span><span class="o">.</span><span class="nx">call</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">context</span><span class="o">,</span> <span class="o">{</span>
       
  2039                         <span class="nx">name</span><span class="o">:</span> <span class="nx">mname</span><span class="o">,</span>
       
  2040                         <span class="nx">data</span><span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">data</span>
       
  2041                     <span class="o">});</span>
       
  2042             <span class="o">}</span>
       
  2043 
       
  2044 
       
  2045         <span class="o">}</span>
       
  2046 
       
  2047         <span class="nx">s</span><span class="o">=</span><span class="k">this</span><span class="o">.</span><span class="nx">sorted</span><span class="o">;</span>
       
  2048         <span class="nx">len</span><span class="o">=</span><span class="nx">s</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span>
       
  2049 
       
  2050         <span class="k">for</span> <span class="o">(</span><span class="nx">i</span><span class="o">=</span><span class="m">0</span><span class="o">;</span> <span class="nx">i</span><span class="o">&lt;</span><span class="nx">len</span><span class="o">;</span> <span class="nx">i</span><span class="o">=</span><span class="nx">i</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span>
       
  2051 
       
  2052             <span class="c">// this.inserted keeps track of what the loader has loaded.</span>
       
  2053 <span class="c"></span>            <span class="c">// move on if this item is done.</span>
       
  2054 <span class="c"></span>            <span class="k">if</span> <span class="o">(</span><span class="nx">s</span><span class="o">[</span><span class="nx">i</span><span class="o">]</span> <span class="k">in</span> <span class="k">this</span><span class="o">.</span><span class="nx">inserted</span><span class="o">)</span> <span class="o">{</span>
       
  2055                 <span class="c">// Y.log(s[i] + &quot; alread loaded &quot;);</span>
       
  2056 <span class="c"></span>                <span class="k">continue</span><span class="o">;</span>
       
  2057             <span class="o">}</span>
       
  2058 
       
  2059             <span class="c">// Because rollups will cause multiple load notifications</span>
       
  2060 <span class="c"></span>            <span class="c">// from Y, loadNext may be called multiple times for</span>
       
  2061 <span class="c"></span>            <span class="c">// the same module when loading a rollup.  We can safely</span>
       
  2062 <span class="c"></span>            <span class="c">// skip the subsequent requests</span>
       
  2063 <span class="c"></span>            <span class="k">if</span> <span class="o">(</span><span class="nx">s</span><span class="o">[</span><span class="nx">i</span><span class="o">]</span> <span class="o">===</span> <span class="k">this</span><span class="o">.</span><span class="nx">_loading</span><span class="o">)</span> <span class="o">{</span>
       
  2064                 <span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">&quot;still loading &quot;</span> <span class="o">+</span> <span class="nx">s</span><span class="o">[</span><span class="nx">i</span><span class="o">]</span> <span class="o">+</span> <span class="s2">&quot;, waiting&quot;</span><span class="o">,</span> <span class="s2">&quot;info&quot;</span><span class="o">,</span> <span class="s2">&quot;loader&quot;</span><span class="o">);</span>
       
  2065                 <span class="k">return</span><span class="o">;</span>
       
  2066             <span class="o">}</span>
       
  2067 
       
  2068             <span class="c">// log(&quot;inserting &quot; + s[i]);</span>
       
  2069 <span class="c"></span>            <span class="nx">m</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">getModule</span><span class="o">(</span><span class="nx">s</span><span class="o">[</span><span class="nx">i</span><span class="o">]);</span>
       
  2070 
       
  2071             <span class="k">if</span> <span class="o">(!</span><span class="nx">m</span><span class="o">)</span> <span class="o">{</span>
       
  2072 
       
  2073                 <span class="nx">msg</span> <span class="o">=</span> <span class="s2">&quot;Undefined module &quot;</span> <span class="o">+</span> <span class="nx">s</span><span class="o">[</span><span class="nx">i</span><span class="o">]</span> <span class="o">+</span> <span class="s2">&quot; skipped&quot;</span><span class="o">;</span>
       
  2074                 <span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="nx">msg</span><span class="o">,</span> <span class="s1">&#39;warn&#39;</span><span class="o">,</span> <span class="s1">&#39;loader&#39;</span><span class="o">);</span>
       
  2075                 <span class="k">this</span><span class="o">.</span><span class="nx">inserted</span><span class="o">[</span><span class="nx">s</span><span class="o">[</span><span class="nx">i</span><span class="o">]]</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
       
  2076                 <span class="k">this</span><span class="o">.</span><span class="nx">skipped</span><span class="o">[</span><span class="nx">s</span><span class="o">[</span><span class="nx">i</span><span class="o">]]</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
       
  2077                 <span class="k">continue</span><span class="o">;</span>
       
  2078 
       
  2079             <span class="o">}</span>
       
  2080 
       
  2081 
       
  2082             <span class="c">// The load type is stored to offer the possibility to load</span>
       
  2083 <span class="c"></span>            <span class="c">// the css separately from the script.</span>
       
  2084 <span class="c"></span>            <span class="k">if</span> <span class="o">(!</span><span class="nx">type</span> <span class="o">||</span> <span class="nx">type</span> <span class="o">===</span> <span class="nx">m</span><span class="o">.</span><span class="nx">type</span><span class="o">)</span> <span class="o">{</span>
       
  2085                 <span class="k">this</span><span class="o">.</span><span class="nx">_loading</span> <span class="o">=</span> <span class="nx">s</span><span class="o">[</span><span class="nx">i</span><span class="o">];</span>
       
  2086                 <span class="nx">Y</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">&quot;attempting to load &quot;</span> <span class="o">+</span> <span class="nx">s</span><span class="o">[</span><span class="nx">i</span><span class="o">]</span> <span class="o">+</span> <span class="s2">&quot;, &quot;</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">base</span><span class="o">,</span> <span class="s2">&quot;info&quot;</span><span class="o">,</span> <span class="s2">&quot;loader&quot;</span><span class="o">);</span>
       
  2087 
       
  2088                 <span class="k">if</span> <span class="o">(</span><span class="nx">m</span><span class="o">.</span><span class="nx">type</span> <span class="o">===</span> <span class="nx">CSS</span><span class="o">)</span> <span class="o">{</span>
       
  2089                     <span class="nx">fn</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">Get</span><span class="o">.</span><span class="nx">css</span><span class="o">;</span>
       
  2090                     <span class="nx">attr</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cssAttributes</span><span class="o">;</span>
       
  2091                 <span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
       
  2092                     <span class="nx">fn</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">Get</span><span class="o">.</span><span class="nx">script</span><span class="o">;</span>
       
  2093                     <span class="nx">attr</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">jsAttributes</span><span class="o">;</span>
       
  2094                 <span class="o">}</span>
       
  2095 
       
  2096                 <span class="nx">url</span> <span class="o">=</span> <span class="o">(</span><span class="nx">m</span><span class="o">.</span><span class="nx">fullpath</span><span class="o">)</span> <span class="o">?</span> <span class="k">this</span><span class="o">.</span><span class="nx">_filter</span><span class="o">(</span><span class="nx">m</span><span class="o">.</span><span class="nx">fullpath</span><span class="o">,</span> <span class="nx">s</span><span class="o">[</span><span class="nx">i</span><span class="o">])</span> <span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">_url</span><span class="o">(</span><span class="nx">m</span><span class="o">.</span><span class="nx">path</span><span class="o">,</span> <span class="nx">s</span><span class="o">[</span><span class="nx">i</span><span class="o">]);</span>
       
  2097 
       
  2098                 <span class="nx">fn</span><span class="o">(</span><span class="nx">url</span><span class="o">,</span> <span class="o">{</span>
       
  2099                     <span class="nx">data</span><span class="o">:</span> <span class="nx">s</span><span class="o">[</span><span class="nx">i</span><span class="o">],</span>
       
  2100                     <span class="nx">onSuccess</span><span class="o">:</span> <span class="nx">onsuccess</span><span class="o">,</span>
       
  2101                     <span class="nx">insertBefore</span><span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">insertBefore</span><span class="o">,</span>
       
  2102                     <span class="nx">charset</span><span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">charset</span><span class="o">,</span>
       
  2103                     <span class="nx">attributes</span><span class="o">:</span> <span class="nx">attr</span><span class="o">,</span>
       
  2104                     <span class="nx">onFailure</span><span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">_onFailure</span><span class="o">,</span>
       
  2105                     <span class="nx">onTimeout</span><span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">_onTimeout</span><span class="o">,</span>
       
  2106                     <span class="nx">timeout</span><span class="o">:</span> <span class="k">this</span><span class="o">.</span><span class="nx">timeout</span><span class="o">,</span>
       
  2107                     <span class="nx">autopurge</span><span class="o">:</span> <span class="kc">false</span><span class="o">,</span>
       
  2108                     <span class="nx">context</span><span class="o">:</span> <span class="nx">self</span> 
       
  2109                 <span class="o">});</span>
       
  2110 
       
  2111                 <span class="k">return</span><span class="o">;</span>
       
  2112             <span class="o">}</span>
       
  2113         <span class="o">}</span>
       
  2114 
       
  2115         <span class="c">// we are finished</span>
       
  2116 <span class="c"></span>        <span class="k">this</span><span class="o">.</span><span class="nx">_loading</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
       
  2117 
       
  2118         <span class="nx">fn</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_internalCallback</span><span class="o">;</span>
       
  2119 
       
  2120         <span class="c">// internal callback for loading css first</span>
       
  2121 <span class="c"></span>        <span class="k">if</span> <span class="o">(</span><span class="nx">fn</span><span class="o">)</span> <span class="o">{</span>
       
  2122             <span class="c">// Y.log(&#39;loader internal&#39;);</span>
       
  2123 <span class="c"></span>            <span class="k">this</span><span class="o">.</span><span class="nx">_internalCallback</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
       
  2124             <span class="nx">fn</span><span class="o">.</span><span class="nx">call</span><span class="o">(</span><span class="k">this</span><span class="o">);</span>
       
  2125 
       
  2126         <span class="c">// } else if (this.onSuccess) {</span>
       
  2127 <span class="c"></span>        <span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
       
  2128             <span class="c">// Y.log(&#39;loader complete&#39;);</span>
       
  2129 <span class="c"></span>            <span class="c">// call Y.use passing this instance. Y will use the sorted</span>
       
  2130 <span class="c"></span>            <span class="c">// dependency list.</span>
       
  2131 <span class="c"></span>            <span class="k">this</span><span class="o">.</span><span class="nx">_onSuccess</span><span class="o">();</span>
       
  2132         <span class="o">}</span>
       
  2133 
       
  2134     <span class="o">},</span>
       
  2135 
       
  2136     <span class="c">/**</span>
       
  2137 <span class="c">     * Apply filter defined for this instance to a url/path</span>
       
  2138 <span class="c">     * method _filter</span>
       
  2139 <span class="c">     * @param u {string} the string to filter</span>
       
  2140 <span class="c">     * @param name {string} the name of the module, if we are processing</span>
       
  2141 <span class="c">     * a single module as opposed to a combined url</span>
       
  2142 <span class="c">     * @return {string} the filtered string</span>
       
  2143 <span class="c">     * @private</span>
       
  2144 <span class="c">     */</span>
       
  2145     <span class="nx">_filter</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">u</span><span class="o">,</span> <span class="nx">name</span><span class="o">)</span> <span class="o">{</span>
       
  2146 
       
  2147         <span class="k">var</span> <span class="nx">f</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">filter</span><span class="o">,</span> 
       
  2148             <span class="nx">hasFilter</span> <span class="o">=</span> <span class="nx">name</span> <span class="o">&amp;&amp;</span> <span class="o">(</span><span class="nx">name</span> <span class="k">in</span> <span class="k">this</span><span class="o">.</span><span class="nx">filters</span><span class="o">),</span>
       
  2149             <span class="nx">modFilter</span> <span class="o">=</span> <span class="nx">hasFilter</span> <span class="o">&amp;&amp;</span> <span class="k">this</span><span class="o">.</span><span class="nx">filters</span><span class="o">[</span><span class="nx">name</span><span class="o">];</span>
       
  2150 
       
  2151         <span class="k">if</span> <span class="o">(</span><span class="nx">u</span><span class="o">)</span> <span class="o">{</span>
       
  2152 
       
  2153             <span class="k">if</span> <span class="o">(</span><span class="nx">hasFilter</span><span class="o">)</span> <span class="o">{</span>
       
  2154                 <span class="nx">f</span> <span class="o">=</span> <span class="o">(</span><span class="nx">L</span><span class="o">.</span><span class="nx">isString</span><span class="o">(</span><span class="nx">modFilter</span><span class="o">))</span> <span class="o">?</span> <span class="k">this</span><span class="o">.</span><span class="nx">FILTER_DEFS</span><span class="o">[</span><span class="nx">modFilter</span><span class="o">.</span><span class="nx">toUpperCase</span><span class="o">()]</span> <span class="o">||</span> <span class="kc">null</span> <span class="o">:</span> <span class="nx">modFilter</span><span class="o">;</span>
       
  2155             <span class="o">}</span>
       
  2156 
       
  2157             <span class="k">if</span> <span class="o">(</span><span class="nx">f</span><span class="o">)</span> <span class="o">{</span>
       
  2158                 <span class="nx">u</span> <span class="o">=</span> <span class="nx">u</span><span class="o">.</span><span class="nx">replace</span><span class="o">(</span><span class="k">new</span> <span class="nb">RegExp</span><span class="o">(</span><span class="nx">f</span><span class="o">.</span><span class="nx">searchExp</span><span class="o">,</span> <span class="s1">&#39;g&#39;</span><span class="o">),</span> <span class="nx">f</span><span class="o">.</span><span class="nx">replaceStr</span><span class="o">);</span>
       
  2159             <span class="o">}</span>
       
  2160         <span class="o">}</span>
       
  2161 
       
  2162         <span class="k">return</span> <span class="nx">u</span><span class="o">;</span>
       
  2163 
       
  2164     <span class="o">},</span>
       
  2165 
       
  2166     <span class="c">/**</span>
       
  2167 <span class="c">     * Generates the full url for a module</span>
       
  2168 <span class="c">     * method _url</span>
       
  2169 <span class="c">     * @param path {string} the path fragment</span>
       
  2170 <span class="c">     * @return {string} the full url</span>
       
  2171 <span class="c">     * @private</span>
       
  2172 <span class="c">     */</span>
       
  2173     <span class="nx">_url</span><span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">path</span><span class="o">,</span> <span class="nx">name</span><span class="o">)</span> <span class="o">{</span>
       
  2174         <span class="k">return</span> <span class="k">this</span><span class="o">.</span><span class="nx">_filter</span><span class="o">((</span><span class="k">this</span><span class="o">.</span><span class="nx">base</span> <span class="o">||</span> <span class="s2">&quot;&quot;</span><span class="o">)</span> <span class="o">+</span> <span class="nx">path</span><span class="o">,</span> <span class="nx">name</span><span class="o">);</span>
       
  2175     <span class="o">}</span>
       
  2176 
       
  2177 <span class="o">};</span>
       
  2178 
       
  2179 <span class="o">})();</span>
       
  2180 </pre></div>
       
  2181                     </div>
       
  2182 			</div>
       
  2183 		</div>
       
  2184 		<div class="yui-b">
       
  2185             <div class="nav">
       
  2186 
       
  2187                     <div id="moduleList" class="module">
       
  2188                         <h4>Modules</h4>
       
  2189                         <ul class="content">
       
  2190                                 <li class=""><a href="module_anim.html" title="anim">anim</a></li>
       
  2191                                 <li class=""><a href="module_attribute.html" title="attribute">attribute</a></li>
       
  2192                                 <li class=""><a href="module_base.html" title="base">base</a></li>
       
  2193                                 <li class=""><a href="module_cache.html" title="cache">cache</a></li>
       
  2194                                 <li class=""><a href="module_classnamemanager.html" title="classnamemanager">classnamemanager</a></li>
       
  2195                                 <li class=""><a href="module_collection.html" title="collection">collection</a></li>
       
  2196                                 <li class=""><a href="module_console.html" title="console">console</a></li>
       
  2197                                 <li class=""><a href="module_console-filters.html" title="console-filters">console-filters</a></li>
       
  2198                                 <li class=""><a href="module_cookie.html" title="cookie">cookie</a></li>
       
  2199                                 <li class=""><a href="module_dataschema.html" title="dataschema">dataschema</a></li>
       
  2200                                 <li class=""><a href="module_datasource.html" title="datasource">datasource</a></li>
       
  2201                                 <li class=""><a href="module_datatype.html" title="datatype">datatype</a></li>
       
  2202                                 <li class=""><a href="module_dd.html" title="dd">dd</a></li>
       
  2203                                 <li class=""><a href="module_dom.html" title="dom">dom</a></li>
       
  2204                                 <li class=""><a href="module_dump.html" title="dump">dump</a></li>
       
  2205                                 <li class=""><a href="module_event.html" title="event">event</a></li>
       
  2206                                 <li class=""><a href="module_event-custom.html" title="event-custom">event-custom</a></li>
       
  2207                                 <li class=""><a href="module_event-simulate.html" title="event-simulate">event-simulate</a></li>
       
  2208                                 <li class=""><a href="module_history.html" title="history">history</a></li>
       
  2209                                 <li class=""><a href="module_imageloader.html" title="imageloader">imageloader</a></li>
       
  2210                                 <li class=""><a href="module_io.html" title="io">io</a></li>
       
  2211                                 <li class=""><a href="module_json.html" title="json">json</a></li>
       
  2212                                 <li class=""><a href="module_node.html" title="node">node</a></li>
       
  2213                                 <li class=""><a href="module_node-focusmanager.html" title="node-focusmanager">node-focusmanager</a></li>
       
  2214                                 <li class=""><a href="module_node-menunav.html" title="node-menunav">node-menunav</a></li>
       
  2215                                 <li class=""><a href="module_oop.html" title="oop">oop</a></li>
       
  2216                                 <li class=""><a href="module_overlay.html" title="overlay">overlay</a></li>
       
  2217                                 <li class=""><a href="module_plugin.html" title="plugin">plugin</a></li>
       
  2218                                 <li class=""><a href="module_profiler.html" title="profiler">profiler</a></li>
       
  2219                                 <li class=""><a href="module_queue.html" title="queue">queue</a></li>
       
  2220                                 <li class=""><a href="module_slider.html" title="slider">slider</a></li>
       
  2221                                 <li class=""><a href="module_stylesheet.html" title="stylesheet">stylesheet</a></li>
       
  2222                                 <li class=""><a href="module_substitute.html" title="substitute">substitute</a></li>
       
  2223                                 <li class=""><a href="module_test.html" title="test">test</a></li>
       
  2224                                 <li class=""><a href="module_widget.html" title="widget">widget</a></li>
       
  2225                                 <li class=""><a href="module_widget-position.html" title="widget-position">widget-position</a></li>
       
  2226                                 <li class=""><a href="module_widget-position-ext.html" title="widget-position-ext">widget-position-ext</a></li>
       
  2227                                 <li class=""><a href="module_widget-stack.html" title="widget-stack">widget-stack</a></li>
       
  2228                                 <li class=""><a href="module_widget-stdmod.html" title="widget-stdmod">widget-stdmod</a></li>
       
  2229                                 <li class="selected"><a href="module_yui.html" title="yui">yui</a></li>
       
  2230                         </ul>
       
  2231                     </div>
       
  2232 
       
  2233                     <div id="classList" class="module">
       
  2234                         <h4>Classes</h4>
       
  2235                         <ul class="content">
       
  2236                                 <li class=""><a href="Array.html" title="Array">Array</a></li>
       
  2237                                 <li class=""><a href="config.html" title="config">config</a></li>
       
  2238                                 <li class=""><a href="Get.html" title="Get">Get</a></li>
       
  2239                                 <li class=""><a href="Lang.html" title="Lang">Lang</a></li>
       
  2240                                 <li class=""><a href="Loader.html" title="Loader">Loader</a></li>
       
  2241                                 <li class=""><a href="Object.html" title="Object">Object</a></li>
       
  2242                                 <li class=""><a href="UA.html" title="UA">UA</a></li>
       
  2243                                 <li class=""><a href="YUI.html" title="YUI">YUI</a></li>
       
  2244                         </ul>
       
  2245                     </div>
       
  2246 
       
  2247                     <div id="fileList" class="module">
       
  2248                         <h4>Files</h4>
       
  2249                         <ul class="content">        
       
  2250                                 <li class=""><a href="_module.js.html" title="_module.js">_module.js</a></li>
       
  2251                                 <li class=""><a href="get.js.html" title="get.js">get.js</a></li>
       
  2252                                 <li class="selected"><a href="loader.js.html" title="loader.js">loader.js</a></li>
       
  2253                                 <li class=""><a href="yui-array.js.html" title="yui-array.js">yui-array.js</a></li>
       
  2254                                 <li class=""><a href="yui-base.js.html" title="yui-base.js">yui-base.js</a></li>
       
  2255                                 <li class=""><a href="yui-core.js.html" title="yui-core.js">yui-core.js</a></li>
       
  2256                                 <li class=""><a href="yui-init.js.html" title="yui-init.js">yui-init.js</a></li>
       
  2257                                 <li class=""><a href="yui-lang.js.html" title="yui-lang.js">yui-lang.js</a></li>
       
  2258                                 <li class=""><a href="yui-later.js.html" title="yui-later.js">yui-later.js</a></li>
       
  2259                                 <li class=""><a href="yui-log.js.html" title="yui-log.js">yui-log.js</a></li>
       
  2260                                 <li class=""><a href="yui-object.js.html" title="yui-object.js">yui-object.js</a></li>
       
  2261                                 <li class=""><a href="yui-ua.js.html" title="yui-ua.js">yui-ua.js</a></li>
       
  2262                                 <li class=""><a href="yui.js.html" title="yui.js">yui.js</a></li>
       
  2263                         </ul>
       
  2264                     </div>
       
  2265 
       
  2266 
       
  2267 
       
  2268 
       
  2269 
       
  2270             </div>
       
  2271 		</div>
       
  2272 	</div>
       
  2273 	<div id="ft">
       
  2274         <hr />
       
  2275         Copyright &copy; 2009 Yahoo! Inc. All rights reserved.
       
  2276 	</div>
       
  2277 </div>
       
  2278 <script type="text/javascript">
       
  2279     ALL_YUI_PROPS = [{"access": "", "host": "Object", "name": "()", "url": "Object.html#method_()", "type": "method"}, {"access": "", "host": "Array", "name": "()", "url": "Array.html#method_()", "type": "method"}, {"access": "", "host": "Get", "name": "abort", "url": "Get.html#method_abort", "type": "method"}, {"access": "", "host": "YUI", "name": "add", "url": "YUI.html#method_add", "type": "method"}, {"access": "", "host": "Loader", "name": "addModule", "url": "Loader.html#method_addModule", "type": "method"}, {"access": "private", "host": "Loader", "name": "_addSkin", "url": "Loader.html#method__addSkin", "type": "method"}, {"access": "", "host": "UA", "name": "air", "url": "UA.html#property_air", "type": "property"}, {"access": "", "host": "Loader", "name": "allowRollup", "url": "Loader.html#property_allowRollup", "type": "property"}, {"access": "", "host": "YUI", "name": "applyTo", "url": "YUI.html#method_applyTo", "type": "method"}, {"access": "", "host": "Loader", "name": "attaching", "url": "Loader.html#property_attaching", "type": "property"}, {"access": "private", "host": "Get", "name": "_autoPurge", "url": "Get.html#method__autoPurge", "type": "method"}, {"access": "", "host": "YUI", "name": "available", "url": "YUI.html#event_available", "type": "event"}, {"access": "", "host": "config", "name": "base", "url": "config.html#property_base", "type": "property"}, {"access": "", "host": "Loader", "name": "base", "url": "Loader.html#property_base", "type": "property"}, {"access": "", "host": "YUI", "name": "blur", "url": "YUI.html#event_blur", "type": "event"}, {"access": "", "host": "YUI", "name": "cached", "url": "YUI.html#method_cached", "type": "method"}, {"access": "", "host": "UA", "name": "caja", "url": "UA.html#property_caja", "type": "property"}, {"access": "", "host": "Loader", "name": "calculate", "url": "Loader.html#method_calculate", "type": "method"}, {"access": "", "host": "config", "name": "charset", "url": "config.html#property_charset", "type": "property"}, {"access": "", "host": "Loader", "name": "charset", "url": "Loader.html#property_charset", "type": "property"}, {"access": "", "host": "config", "name": "combine", "url": "config.html#property_combine", "type": "property"}, {"access": "", "host": "Loader", "name": "combine", "url": "Loader.html#property_combine", "type": "property"}, {"access": "", "host": "config", "name": "comboBase", "url": "config.html#property_comboBase", "type": "property"}, {"access": "", "host": "Loader", "name": "comboBase", "url": "Loader.html#property_comboBase", "type": "property"}, {"access": "", "host": "YUI", "name": "contentready", "url": "YUI.html#event_contentready", "type": "event"}, {"access": "", "host": "Loader", "name": "context", "url": "Loader.html#property_context", "type": "property"}, {"access": "", "host": "config", "name": "core", "url": "config.html#property_core", "type": "property"}, {"access": "", "host": "Get", "name": "css", "url": "Get.html#method_css", "type": "method"}, {"access": "", "host": "config", "name": "cssAttributes", "url": "config.html#property_cssAttributes", "type": "property"}, {"access": "", "host": "Loader", "name": "cssAttributes", "url": "Loader.html#property_cssAttributes", "type": "property"}, {"access": "", "host": "Loader", "name": "data", "url": "Loader.html#property_data", "type": "property"}, {"access": "", "host": "config", "name": "dateFormat", "url": "config.html#property_dateFormat", "type": "property"}, {"access": "", "host": "config", "name": "debug", "url": "config.html#property_debug", "type": "property"}, {"access": "", "host": "YUI", "name": "delegate", "url": "YUI.html#event_delegate", "type": "event"}, {"access": "", "host": "Loader", "name": "dirty", "url": "Loader.html#property_dirty", "type": "property"}, {"access": "", "host": "config", "name": "doc", "url": "config.html#property_doc", "type": "property"}, {"access": "", "host": "YUI", "name": "domready", "url": "YUI.html#event_domready", "type": "event"}, {"access": "", "host": "Object", "name": "each", "url": "Object.html#method_each", "type": "method"}, {"access": "", "host": "Array", "name": "each", "url": "Array.html#method_each", "type": "method"}, {"access": "private", "host": "Get", "name": "_end", "url": "Get.html#method__end", "type": "method"}, {"access": "", "host": "YUI", "name": "error", "url": "YUI.html#method_error", "type": "method"}, {"access": "", "host": "YUI", "name": "event:ready", "url": "YUI.html#event_event:ready", "type": "event"}, {"access": "private", "host": "Loader", "name": "_explode", "url": "Loader.html#method__explode", "type": "method"}, {"access": "private", "host": "Object", "name": "_extract", "url": "Object.html#method__extract", "type": "method"}, {"access": "", "host": "config", "name": "filter", "url": "config.html#property_filter", "type": "property"}, {"access": "", "host": "Loader", "name": "filter", "url": "Loader.html#property_filter", "type": "property"}, {"access": "private", "host": "Loader", "name": "_filter", "url": "Loader.html#method__filter", "type": "method"}, {"access": "", "host": "config", "name": "filters", "url": "config.html#property_filters", "type": "property"}, {"access": "", "host": "Loader", "name": "filters", "url": "Loader.html#property_filters", "type": "property"}, {"access": "private", "host": "Get", "name": "_finalize", "url": "Get.html#method__finalize", "type": "method"}, {"access": "private", "host": "Get", "name": "_finish", "url": "Get.html#method__finish", "type": "method"}, {"access": "", "host": "YUI", "name": "focus", "url": "YUI.html#event_focus", "type": "event"}, {"access": "", "host": "config", "name": "force", "url": "config.html#property_force", "type": "property"}, {"access": "", "host": "Loader", "name": "force", "url": "Loader.html#property_force", "type": "property"}, {"access": "", "host": "Loader", "name": "formatSkin", "url": "Loader.html#method_formatSkin", "type": "method"}, {"access": "", "host": "UA", "name": "gecko", "url": "UA.html#property_gecko", "type": "property"}, {"access": "", "host": "Loader", "name": "getProvides", "url": "Loader.html#method_getProvides", "type": "method"}, {"access": "", "host": "Loader", "name": "getRequires", "url": "Loader.html#method_getRequires", "type": "method"}, {"access": "", "host": "Object", "name": "getValue", "url": "Object.html#method_getValue", "type": "method"}, {"access": "", "host": "YUI", "name": "Global", "url": "YUI.html#property_Global", "type": "property"}, {"access": "", "host": "YUI", "name": "guid", "url": "YUI.html#method_guid", "type": "method"}, {"access": "", "host": "Array", "name": "hash", "url": "Array.html#method_hash", "type": "method"}, {"access": "", "host": "Object", "name": "hasKey", "url": "Object.html#method_hasKey", "type": "method"}, {"access": "", "host": "Object", "name": "hasValue", "url": "Object.html#method_hasValue", "type": "method"}, {"access": "", "host": "UA", "name": "ie", "url": "UA.html#property_ie", "type": "property"}, {"access": "", "host": "config", "name": "ignore", "url": "config.html#property_ignore", "type": "property"}, {"access": "", "host": "Loader", "name": "ignore", "url": "Loader.html#property_ignore", "type": "property"}, {"access": "", "host": "Loader", "name": "ignoreRegistered", "url": "Loader.html#property_ignoreRegistered", "type": "property"}, {"access": "", "host": "Array", "name": "indexOf", "url": "Array.html#method_indexOf", "type": "method"}, {"access": "private", "host": "YUI", "name": "_init", "url": "YUI.html#method__init", "type": "method"}, {"access": "", "host": "config", "name": "injected", "url": "config.html#property_injected", "type": "property"}, {"access": "", "host": "Loader", "name": "insert", "url": "Loader.html#method_insert", "type": "method"}, {"access": "", "host": "config", "name": "insertBefore", "url": "config.html#property_insertBefore", "type": "property"}, {"access": "", "host": "Loader", "name": "insertBefore", "url": "Loader.html#property_insertBefore", "type": "property"}, {"access": "", "host": "Loader", "name": "inserted", "url": "Loader.html#property_inserted", "type": "property"}, {"access": "private", "host": "Loader", "name": "_internalCallback", "url": "Loader.html#property__internalCallback", "type": "property"}, {"access": "", "host": "Lang", "name": "isArray", "url": "Lang.html#method_isArray", "type": "method"}, {"access": "", "host": "Lang", "name": "isBoolean", "url": "Lang.html#method_isBoolean", "type": "method"}, {"access": "", "host": "Lang", "name": "isDate", "url": "Lang.html#method_isDate", "type": "method"}, {"access": "", "host": "Lang", "name": "isFunction", "url": "Lang.html#method_isFunction", "type": "method"}, {"access": "", "host": "Lang", "name": "isNull", "url": "Lang.html#method_isNull", "type": "method"}, {"access": "", "host": "Lang", "name": "isNumber", "url": "Lang.html#method_isNumber", "type": "method"}, {"access": "", "host": "Lang", "name": "isObject", "url": "Lang.html#method_isObject", "type": "method"}, {"access": "", "host": "Lang", "name": "isString", "url": "Lang.html#method_isString", "type": "method"}, {"access": "", "host": "Lang", "name": "isUndefined", "url": "Lang.html#method_isUndefined", "type": "method"}, {"access": "", "host": "Lang", "name": "isValue", "url": "Lang.html#method_isValue", "type": "method"}, {"access": "", "host": "config", "name": "jsAttributes", "url": "config.html#property_jsAttributes", "type": "property"}, {"access": "", "host": "Loader", "name": "jsAttributes", "url": "Loader.html#property_jsAttributes", "type": "property"}, {"access": "", "host": "YUI", "name": "key", "url": "YUI.html#event_key", "type": "event"}, {"access": "", "host": "Object", "name": "keys", "url": "Object.html#method_keys", "type": "method"}, {"access": "", "host": "YUI", "name": "later", "url": "YUI.html#method_later", "type": "method"}, {"access": "private", "host": "Get", "name": "_linkNode", "url": "Get.html#method__linkNode", "type": "method"}, {"access": "", "host": "Loader", "name": "loaded", "url": "Loader.html#property_loaded", "type": "property"}, {"access": "", "host": "Loader", "name": "loadNext", "url": "Loader.html#method_loadNext", "type": "method"}, {"access": "", "host": "Loader", "name": "loadOptional", "url": "Loader.html#property_loadOptional", "type": "property"}, {"access": "", "host": "config", "name": "locale", "url": "config.html#property_locale", "type": "property"}, {"access": "", "host": "YUI", "name": "log", "url": "YUI.html#method_log", "type": "method"}, {"access": "", "host": "config", "name": "logExclude", "url": "config.html#property_logExclude", "type": "property"}, {"access": "", "host": "config", "name": "logInclude", "url": "config.html#property_logInclude", "type": "property"}, {"access": "", "host": "YUI", "name": "merge", "url": "YUI.html#method_merge", "type": "method"}, {"access": "", "host": "YUI", "name": "message", "url": "YUI.html#method_message", "type": "method"}, {"access": "", "host": "YUI", "name": "mix", "url": "YUI.html#method_mix", "type": "method"}, {"access": "", "host": "UA", "name": "mobile", "url": "UA.html#property_mobile", "type": "property"}, {"access": "", "host": "Loader", "name": "moduleInfo", "url": "Loader.html#property_moduleInfo", "type": "property"}, {"access": "", "host": "config", "name": "modules", "url": "config.html#property_modules", "type": "property"}, {"access": "", "host": "YUI", "name": "mouseenter", "url": "YUI.html#event_mouseenter", "type": "event"}, {"access": "", "host": "YUI", "name": "mouseleave", "url": "YUI.html#event_mouseleave", "type": "event"}, {"access": "", "host": "YUI", "name": "namespace", "url": "YUI.html#method_namespace", "type": "method"}, {"access": "private", "host": "Get", "name": "_next", "url": "Get.html#method__next", "type": "method"}, {"access": "private", "host": "Get", "name": "_node", "url": "Get.html#method__node", "type": "method"}, {"access": "", "host": "Array", "name": "numericSort", "url": "Array.html#method_numericSort", "type": "method"}, {"access": "", "host": "config", "name": "onCSS", "url": "config.html#property_onCSS", "type": "property"}, {"access": "", "host": "Loader", "name": "onCSS", "url": "Loader.html#method_onCSS", "type": "method"}, {"access": "", "host": "Loader", "name": "onFailure", "url": "Loader.html#method_onFailure", "type": "method"}, {"access": "", "host": "Loader", "name": "onProgress", "url": "Loader.html#method_onProgress", "type": "method"}, {"access": "", "host": "Loader", "name": "onSuccess", "url": "Loader.html#method_onSuccess", "type": "method"}, {"access": "", "host": "Loader", "name": "onTimeout", "url": "Loader.html#method_onTimeout", "type": "method"}, {"access": "", "host": "UA", "name": "opera", "url": "UA.html#property_opera", "type": "property"}, {"access": "", "host": "UA", "name": "os", "url": "UA.html#property_os", "type": "property"}, {"access": "", "host": "Object", "name": "owns", "url": "Object.html#method_owns", "type": "method"}, {"access": "", "host": "config", "name": "pollInterval", "url": "config.html#property_pollInterval", "type": "property"}, {"access": "private", "host": "Get", "name": "_purge", "url": "Get.html#method__purge", "type": "method"}, {"access": "private", "host": "Get", "name": "PURGE_THRESH", "url": "Get.html#property_PURGE_THRESH", "type": "property"}, {"access": "", "host": "config", "name": "purgethreshold", "url": "config.html#property_purgethreshold", "type": "property"}, {"access": "private", "host": "Get", "name": "purging", "url": "Get.html#property_purging", "type": "property"}, {"access": "private", "host": "Get", "name": "qidx", "url": "Get.html#property_qidx", "type": "property"}, {"access": "private", "host": "Get", "name": "queue", "url": "Get.html#method_queue", "type": "method"}, {"access": "private", "host": "Get", "name": "queues", "url": "Get.html#property_queues", "type": "property"}, {"access": "private", "host": "Loader", "name": "_reduce", "url": "Loader.html#method__reduce", "type": "method"}, {"access": "", "host": "Loader", "name": "require", "url": "Loader.html#method_require", "type": "method"}, {"access": "", "host": "Loader", "name": "required", "url": "Loader.html#property_required", "type": "property"}, {"access": "private", "host": "Get", "name": "_returnData", "url": "Get.html#method__returnData", "type": "method"}, {"access": "private", "host": "Loader", "name": "_rollup", "url": "Loader.html#method__rollup", "type": "method"}, {"access": "", "host": "Loader", "name": "rollups", "url": "Loader.html#property_rollups", "type": "property"}, {"access": "", "host": "config", "name": "root", "url": "config.html#property_root", "type": "property"}, {"access": "", "host": "Loader", "name": "root", "url": "Loader.html#property_root", "type": "property"}, {"access": "", "host": "Get", "name": "script", "url": "Get.html#method_script", "type": "method"}, {"access": "private", "host": "Get", "name": "_scriptNode", "url": "Get.html#method__scriptNode", "type": "method"}, {"access": "", "host": "UA", "name": "secure", "url": "UA.html#property_secure", "type": "property"}, {"access": "", "host": "config", "name": "secureBase", "url": "config.html#property_secureBase", "type": "property"}, {"access": "private", "host": "YUI", "name": "_setup", "url": "YUI.html#method__setup", "type": "method"}, {"access": "private", "host": "Loader", "name": "_setup", "url": "Loader.html#method__setup", "type": "method"}, {"access": "", "host": "Object", "name": "setValue", "url": "Object.html#method_setValue", "type": "method"}, {"access": "", "host": "YUI", "name": "simulate", "url": "YUI.html#method_simulate", "type": "method"}, {"access": "", "host": "Object", "name": "size", "url": "Object.html#method_size", "type": "method"}, {"access": "", "host": "Loader", "name": "skin", "url": "Loader.html#property_skin", "type": "property"}, {"access": "", "host": "Loader", "name": "skipped", "url": "Loader.html#property_skipped", "type": "property"}, {"access": "", "host": "Array", "name": "some", "url": "Array.html#method_some", "type": "method"}, {"access": "private", "host": "Loader", "name": "_sort", "url": "Loader.html#method__sort", "type": "method"}, {"access": "", "host": "Loader", "name": "sorted", "url": "Loader.html#property_sorted", "type": "property"}, {"access": "", "host": "YUI", "name": "stamp", "url": "YUI.html#method_stamp", "type": "method"}, {"access": "", "host": "Array", "name": "test", "url": "Array.html#method_test", "type": "method"}, {"access": "", "host": "config", "name": "throwFail", "url": "config.html#property_throwFail", "type": "property"}, {"access": "", "host": "config", "name": "timeout", "url": "config.html#property_timeout", "type": "property"}, {"access": "private", "host": "Get", "name": "_timeout", "url": "Get.html#method__timeout", "type": "method"}, {"access": "", "host": "Loader", "name": "timeout", "url": "Loader.html#property_timeout", "type": "property"}, {"access": "private", "host": "Get", "name": "_track", "url": "Get.html#method__track", "type": "method"}, {"access": "", "host": "Lang", "name": "trim", "url": "Lang.html#method_trim", "type": "method"}, {"access": "", "host": "Lang", "name": "type", "url": "Lang.html#method_type", "type": "method"}, {"access": "private", "host": "Loader", "name": "_url", "url": "Loader.html#method__url", "type": "method"}, {"access": "", "host": "YUI", "name": "use", "url": "YUI.html#method_use", "type": "method"}, {"access": "", "host": "config", "name": "useBrowserConsole", "url": "config.html#property_useBrowserConsole", "type": "property"}, {"access": "private", "host": "Loader", "name": "_useYahooListener", "url": "Loader.html#property__useYahooListener", "type": "property"}, {"access": "", "host": "Object", "name": "values", "url": "Object.html#method_values", "type": "method"}, {"access": "", "host": "UA", "name": "webkit", "url": "UA.html#property_webkit", "type": "property"}, {"access": "", "host": "config", "name": "win", "url": "config.html#property_win", "type": "property"}, {"access": "", "host": "YUI", "name": "windowresize", "url": "YUI.html#event_windowresize", "type": "event"}, {"access": "", "host": "config", "name": "windowResizeDelay", "url": "config.html#property_windowResizeDelay", "type": "property"}];
       
  2280 </script>
       
  2281 </body>
       
  2282 </html>