public/javascripts/yui/yuiloader/yuiloader.js
function(mm) {
                if (!done[mm]) {
                    // Y.log(name + ' provides worker trying: ' + mm);
                    done[mm] = true;
                    // we always want the return value normal behavior 
                    // (provides) for superseded modules.
                    lang.augmentObject(o, me.getProvides(mm));
                } 
                
                // else {
                // Y.log(name + ' provides worker skipping done: ' + mm);
                // }
            }
function(mm) {
                if (!done[mm]) {
                    // Y.log(name + ' provides worker trying: ' + mm);
                    done[mm] = true;
                    // we always want the return value normal behavior 
                    // (provides) for superseded modules.
                    lang.augmentObject(o, me.getProvides(mm));
                } 
                
                // else {
                // Y.log(name + ' provides worker skipping done: ' + mm);
                // }
            }
function ( mm ) { if ( ! done [ mm ] ) { // Y.log(name + ' provides worker trying: ' + mm); done [ mm ] = true ; // we always want the return value normal behavior  // (provides) for superseded modules. lang . augmentObject ( o , me . getProvides ( mm ) ) ; } // else { // Y.log(name + ' provides worker skipping done: ' + mm); // } }
use worker to break cycles
use worker to break cycles