/* SystemJS AMD Format */ (function() { // AMD Module Format Detection RegEx // define([.., .., ..], ...) // define(varName); || define(function(require, exports) {}); || define({}) var amdRegEx = /(?:^\uFEFF?|[^$_a-zA-Z\xA0-\uFFFF.])define\s*\(\s*("[^"]+"\s*,\s*|'[^']+'\s*,\s*)?\s*(\[(\s*(("[^"]+"|'[^']+')\s*,|\/\/.*\r?\n|\/\*(.|\s)*?\*\/))*(\s*("[^"]+"|'[^']+')\s*,?)?(\s*(\/\/.*\r?\n|\/\*(.|\s)*?\*\/))*\s*\]|function\s*|{|[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*\))/; hook('instantiate', function(instantiate) { return function(load) { var loader = this; if (load.metadata.format == 'amd' || !load.metadata.format && load.source.match(amdRegEx)) { load.metadata.format = 'amd'; if (!loader.builder && loader.execute !== false) { var curDefine = __global.define; __global.define = this.amdDefine; try { __exec.call(loader, load); } finally { __global.define = curDefine; } if (!load.metadata.entry && !load.metadata.bundle) throw new TypeError('AMD module ' + load.name + ' did not define'); } else { load.metadata.execute = function() { return load.metadata.builderExecute.apply(this, arguments); }; } } return instantiate.call(loader, load); }; }); })();