text: (function() {
      if(window) {
          window.CMPT=!0
          window.DEBUG=!1
        }
      var o = {},
          f = function() {return !1;},
          cache = {};
      var is = function(data,type){
          return o.toString.call(data)==='[object '+type+']';
      };
      return function(key,func) {
          var result = cache[key],
              isfunc = is(func,'Function');
          // data is func
          if (func!=null&&!isfunc){
              result = func;
          }
          // do function defined
          if (isfunc&&(result==null||result.__dt__===true)){
              var arr = [];
              for(var i=2,l=arguments.length;i<l;i++){
                  arr.push(arguments.callee(arguments[i]));
              }
              var exports = {};
              arr.push.call(arr,exports,{},f,[]);
              var ret = func.apply(null,arr)||exports;
              if (!result||!is(ret,'Object')){
                  // for non-object return
                  result = ret;
              }else{
                  // for namespace return
                  // bad performance for-in in v8 for instance
                  if (!!Object.keys){
                      for(var ls=Object.keys(ret),i=0,l=ls.length,x;i<l;i++){
                          x = ls[i];
                          result[x] = ret[x];
                      }
                  }else{
                      for(var x in ret){
                          result[x] = ret[x];
                      }
                  }
              }
              if (result!=null&&result.__dt__===true){
                  delete result.__dt__;
              }
          }
          // init data
          if (result==null){
              result = {__dt__:true};
          }
          cache[key] = result;
          // return
          return result;
      };
  })();