Socket
Socket
Sign inDemoInstall

systemjs

Package Overview
Dependencies
Maintainers
1
Versions
236
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

systemjs - npm Package Compare versions

Comparing version 0.6.0 to 0.6.1

lib/extension-depCache.js

2

bower.json
{
"name": "system.js",
"version": "0.6.0",
"version": "0.6.1",
"dependencies": {

@@ -5,0 +5,0 @@ "es6-module-loader": "~0.6.0"

@@ -21,2 +21,43 @@ /*

// Absolute URL parsing, from https://gist.github.com/Yaffle/1088850
function parseURI(url) {
var m = String(url).replace(/^\s+|\s+$/g, '').match(/^([^:\/?#]+:)?(\/\/(?:[^:@]*(?::[^:@]*)?@)?(([^:\/?#]*)(?::(\d*))?))?([^?#]*)(\?[^#]*)?(#[\s\S]*)?/);
// authority = '//' + user + ':' + pass '@' + hostname + ':' port
return (m ? {
href : m[0] || '',
protocol : m[1] || '',
authority: m[2] || '',
host : m[3] || '',
hostname : m[4] || '',
port : m[5] || '',
pathname : m[6] || '',
search : m[7] || '',
hash : m[8] || ''
} : null);
}
function toAbsoluteURL(base, href) {
function removeDotSegments(input) {
var output = [];
input.replace(/^(\.\.?(\/|$))+/, '')
.replace(/\/(\.(\/|$))+/g, '/')
.replace(/\/\.\.$/, '/../')
.replace(/\/?[^\/]*/g, function (p) {
if (p === '/..')
output.pop();
else
output.push(p);
});
return output.join('').replace(/^\//, input.charAt(0) === '/' ? '/' : '');
}
href = parseURI(href || '');
base = parseURI(base || '');
return !href || !base ? null : (href.protocol || base.protocol) +
(href.protocol || href.authority ? href.authority : base.authority) +
removeDotSegments(href.protocol || href.authority || href.pathname.charAt(0) === '/' ? href.pathname : (href.pathname ? ((base.authority && !base.pathname ? '/' : '') + base.pathname.slice(0, base.pathname.lastIndexOf('/') + 1) + href.pathname) : base.pathname)) +
(href.protocol || href.authority || href.pathname ? href.search : (href.search || base.search)) +
href.hash;
}
// clone the original System loader

@@ -44,2 +85,5 @@ var originalSystem = __$global.System;

// call this functione everytime a wrapper executes
loader.onScriptLoad = function() {};
// override fetch to use script injection

@@ -50,10 +94,38 @@ loader.fetch = function(load) {

s.async = true;
s.addEventListener('load', function(evt) {
function complete(evt) {
if (s.readyState && s.readyState != 'loaded' && s.readyState != 'complete')
return;
cleanup();
// this runs synchronously after execution
// we now need to tell the wrapper handlers that
// this load record has just executed
loader.onScriptLoad(load);
resolve('');
}, false);
s.addEventListener('error', function(err) {
reject(err);
}, false);
}
function error(evt) {
cleanup();
reject(evt);
}
if (s.attachEvent)
s.attachEvent('onreadystatechange', complete);
s.addEventListener('load', complete, false);
s.addEventListener('error', err, false);
s.src = load.address;
head.appendChild(s);
function cleanup() {
if (s.detachEvent)
s.detachEvent('onreadystatechange', complete);
else {
s.removeEventListener('load', complete, false);
s.removeEventListener('error', err, false);
}
head.removeChild(s);
}
});

@@ -65,2 +137,95 @@ }

/*
* Meta Extension
*
* Sets default metadata on a load record (load.metadata) from
* loader.meta[moduleName].
* Also provides an inline meta syntax for module meta in source.
*
* Eg:
*
* loader.meta['my/module'] = { some: 'meta' };
*
* load.metadata.some = 'meta' will now be set on the load record.
*
* The same meta could be set with a my/module.js file containing:
*
* my/module.js
* "some meta";
* "another meta";
* console.log('this is my/module');
*
* The benefit of inline meta is that coniguration doesn't need
* to be known in advanced, which is useful for modularising
* configuration and avoiding the need for configuration injection.
*
*
* Example
* -------
*
* The simplest meta example is setting the module format:
*
* System.meta['my/module'] = { format: 'amd' };
*
* or inside 'my/module.js':
*
* "format amd";
* define(...);
*
*/
function meta(loader) {
var metaRegEx = /^(\s*\/\*.*\*\/|\s*\/\/[^\n]*|\s*"[^"]+"\s*;?|\s*'[^']+'\s*;?)+/;
var metaPartRegEx = /\/\*.*\*\/|\/\/[^\n]*|"[^"]+"\s*;?|'[^']+'\s*;?/g;
loader.meta = {};
function setConfigMeta(loader, load) {
var meta = loader.meta && loader.meta[load.name];
if (meta) {
for (var p in meta)
load.metadata[p] = load.metadata[p] || meta[p];
}
}
var loaderLocate = loader.locate;
loader.locate = function(load) {
setConfigMeta(this, load);
return loaderLocate.call(this, load);
}
var loaderTranslate = loader.translate;
loader.translate = function(load) {
// detect any meta header syntax
var meta = load.source.match(metaRegEx);
if (meta) {
var metaParts = meta[0].match(metaPartRegEx);
for (var i = 0; i < metaParts.length; i++) {
var len = metaParts[i].length;
var firstChar = metaParts[i].substr(0, 1);
if (metaParts[i].substr(len - 1, 1) == ';')
len--;
if (firstChar != '"' && firstChar != "'")
continue;
var metaString = metaParts[i].substr(1, metaParts[i].length - 3);
var metaName = metaString.substr(0, metaString.indexOf(' '));
if (metaName) {
var metaValue = metaString.substr(metaName.length + 1, metaString.length - metaName.length - 1);
if (load.metadata[metaName] instanceof Array)
load.metadata[metaName].push(metaValue);
else
load.metadata[metaName] = metaValue;
}
}
}
// config meta overrides
setConfigMeta(this, load);
return loaderTranslate.call(this, load);
}
}/*
* Instantiate registry extension

@@ -75,5 +240,9 @@ *

*
* Works as a standalone extension provided there is a
* loader.__exec(load) like the one set in SystemJS core
* Works as a standalone extension, but benefits from having a more
* advanced __eval defined like in SystemJS polyfill-wrapper-end.js
*
* The code here replicates the ES6 linking groups algorithm to ensure that
* circular ES6 compiled into System.register can work alongside circular AMD
* and CommonJS, identically to the actual ES6 loader.
*
*/

@@ -84,3 +253,3 @@ function register(loader) {

if (typeof __eval == 'undefined')
__eval = eval;
__eval = 0 || eval; // uglify breaks without the 0 ||

@@ -100,4 +269,7 @@ // define exec for easy evaluation of a load record (load.name, load.source, load.address)

if (lastLineIndex != -1) {
if (load.source.substr(lastLineIndex + 1, 21) == '//# sourceMappingURL=')
sourceMappingURL = toAbsoluteURL(load.address, load.source.substr(lastLineIndex + 22, load.source.length - lastLineIndex - 23));
if (load.source.substr(lastLineIndex + 1, 21) == '//# sourceMappingURL=') {
sourceMappingURL = load.source.substr(lastLineIndex + 22, load.source.length - lastLineIndex - 22);
if (typeof toAbsoluteURL != 'undefined')
sourceMappingURL = toAbsoluteURL(load.address, sourceMappingURL);
}
}

@@ -124,8 +296,72 @@

// Registry side table
// There are two variations of System.register:
// 1. System.register for ES6 conversion (2-3 params) - System.register([name, ]deps, declare)
// see https://github.com/ModuleLoader/es6-module-loader/wiki/System.register-Explained
//
// 2. System.register for dynamic modules (3-4 params) - System.register([name, ]deps, executingRequire, execute)
// the true or false statement
// this extension implements the linking algorithm for the two variations identical to the spec
// allowing compiled ES6 circular references to work alongside AMD and CJS circular references.
// loader.register sets loader.defined for declarative modules
var anonRegister;
var calledRegister;
function register(name, deps, declare, execute) {
if (typeof name != 'string') {
execute = declare;
declare = deps;
deps = name;
name = null;
}
calledRegister = true;
var register;
// dynamic
if (typeof declare == 'boolean') {
register = {
declarative: false,
deps: deps,
execute: execute,
executingRequire: declare
};
}
else {
// ES6 declarative
if (deps.length > 0 && declare.length != 1)
throw 'Invalid System.register form for ' + name + '. Declare function must take one argument.';
register = {
declarative: true,
deps: deps,
declare: declare
};
}
// named register
if (name) {
// we never overwrite an existing define
if (!loader.defined[name])
loader.defined[name] = register;
}
// anonymous register
else if (register.declarative) {
if (anonRegister)
throw 'Multiple anonymous System.register calls in the same module file.';
anonRegister = register;
}
}
// Registry side table - loader.defined
// Registry Entry Contains:
// - deps
// - declare for register modules
// - execute for dynamic modules, also after declare for register modules
// - declarative boolean indicating which of the above
// - execute for dynamic modules, also after declare for declarative modules
// - executingRequire indicates require drives execution for circularity of dynamic modules
// - declarative optional boolean indicating which of the above
//
// Can preload modules directly on System.defined['my/module'] = { deps, execute, executingRequire }
//
// Then the entry gets populated with derived information during processing:
// - normalizedDeps derived from deps, created in instantiate

@@ -137,27 +373,29 @@ // - depMap array derived from deps, populated gradually in link

// After linked and evaluated, entries are removed
var lastRegister;
function register(name, deps, declare) {
if (typeof name != 'string') {
declare = deps;
deps = name;
name = null;
}
if (declare.length == 0)
throw 'Invalid System.register form. Ensure setting --modules=instantiate if using Traceur.';
function defineRegister(loader) {
if (loader.register)
return;
loader.register = register;
if (!loader.defined)
loader.defined = {};
// script injection mode calls this function synchronously on load
var onScriptLoad = loader.onScriptLoad;
loader.onScriptLoad = function(load) {
onScriptLoad(load);
// anonymous define
if (anonRegister)
load.metadata.entry = anonRegister;
if (anonRegister || calledRegister)
load.metadata.format = load.metadata.format || 'register';
if (calledRegister)
load.metadata.registered = true;
}
}
lastRegister = {
deps: deps,
declare: declare,
declarative: true,
};
defineRegister(loader);
if (name)
loader.defined[name] = lastRegister;
}
loader.defined = loader.defined || {};
loader.register = register;
function buildGroups(entry, loader, groups) {

@@ -289,4 +527,7 @@ groups[entry.groupIndex] = groups[entry.groupIndex] || [];

if (!entry)
if (!entry) {
module = loader.get(name);
if (!module)
throw "System Register: The module requested " + name + " but this was not declared as a dependency";
}

@@ -299,5 +540,9 @@ else {

linkDynamicModule(entry, loader);
module = entry.module;
}
if (!module)
return '';
return module.__useDefault ? module['default'] : module;

@@ -310,3 +555,3 @@ }

entry.module = {};
entry.module = { 'default': {}, __useDefault: true };

@@ -335,3 +580,3 @@ // AMD requires execute the tree first

entry.evaluated = true;
var output = entry.execute(function(name) {
var output = entry.execute.call(loader.global, function(name) {
for (var i = 0; i < entry.deps.length; i++) {

@@ -342,3 +587,3 @@ if (entry.deps[i] != name)

}
}, entry.module, moduleName);
}, entry.module['default'], moduleName);
}

@@ -349,4 +594,6 @@ catch(e) {

if (output)
if (output && output.__esModule)
entry.module = output;
else if (output)
entry.module['default'] = output;
}

@@ -384,3 +631,2 @@

entry.execute.call(loader.global);
delete entry.execute;
}

@@ -393,7 +639,11 @@

var loader = this;
if (loader.defined && loader.defined[load.name]) {
defineRegister(loader);
if (loader.defined[load.name]) {
load.metadata.format = 'defined';
return '';
}
return loaderFetch(load);
anonRegister = null;
calledRegister = false;
// the above get picked up by onScriptLoad
return loaderFetch.call(loader, load);
}

@@ -431,8 +681,15 @@

var entry;
// first we check if this module has already been defined in the registry
if (loader.defined[load.name])
loader.defined[load.name] = entry = loader.defined[load.name];
entry = loader.defined[load.name];
// picked up already by a script injection
else if (load.metadata.entry)
entry = load.metadata.entry;
// otherwise check if it is dynamic
else if (load.metadata.execute) {
loader.defined[load.name] = entry = {
entry = {
declarative: false,
deps: load.metadata.deps || [],

@@ -443,14 +700,32 @@ execute: load.metadata.execute,

}
// Contains System.register calls
else if (load.metadata.format == 'register') {
lastRegister = null;
anonRegister = null;
calledRegister = false;
loader.__exec(load);
// for a bundle, take the last defined module
// in the bundle to be the bundle itself
if (lastRegister)
loader.defined[load.name] = entry = lastRegister;
if (anonRegister)
entry = anonRegister;
if (!calledRegister && !load.metadata.registered)
throw load.name + " detected as System.register but didn't execute.";
}
if (!entry)
// named bundles are just an empty module
if (!entry && load.metadata.format != 'es6')
return {
deps: [],
execute: function() {
return Module({});
}
};
// place this module onto defined for circular references
if (entry)
loader.defined[load.name] = entry;
// no entry -> treat as ES6
else
return loaderInstantiate.call(this, load);

@@ -464,3 +739,3 @@

normalizePromises.push(Promise.resolve(loader.normalize(entry.deps[i], load.name)));
return Promise.all(normalizePromises).then(function(normalizedDeps) {

@@ -496,4 +771,6 @@

for (var name in loader.defined) {
if (loader.defined[name].execute != entry.execute)
if (entry.declarative && loader.defined[name].execute != entry.execute)
continue;
if (!entry.declarative && loader.defined[name].declare != entry.declare);
continue;
loader.defined[name].esmodule = module;

@@ -583,2 +860,3 @@ }

}
var loaderLocate = loader.locate;

@@ -612,12 +890,9 @@ var normalizedBaseURL;

var match;
if (!loader.global.traceur && (load.metadata.format == 'es6' || !load.metadata.format) && (match = load.source.match(aliasRegEx))) {
var depName = match[1] || match[2];
load.metadata.deps = [depName];
load.metadata.execute = function(require) {
return require(depName);
}
if ((load.metadata.format == 'es6' || !load.metadata.format) && (match = load.source.match(aliasRegEx))) {
load.metadata.format = 'cjs';
load.source = 'module.exports = require("' + (match[1] || match[2]) + '");\n';
}
// detect ES6
if (load.metadata.format == 'es6' || !load.metadata.format && load.source.match(es6RegEx)) {
else if (load.metadata.format == 'es6' || !load.metadata.format && load.source.match(es6RegEx)) {
load.metadata.format = 'es6';

@@ -651,45 +926,126 @@

}
}
/*
SystemJS Global Format
// Absolute URL parsing, from https://gist.github.com/Yaffle/1088850
function parseURI(url) {
var m = String(url).replace(/^\s+|\s+$/g, '').match(/^([^:\/?#]+:)?(\/\/(?:[^:@]*(?::[^:@]*)?@)?(([^:\/?#]*)(?::(\d*))?))?([^?#]*)(\?[^#]*)?(#[\s\S]*)?/);
// authority = '//' + user + ':' + pass '@' + hostname + ':' port
return (m ? {
href : m[0] || '',
protocol : m[1] || '',
authority: m[2] || '',
host : m[3] || '',
hostname : m[4] || '',
port : m[5] || '',
pathname : m[6] || '',
search : m[7] || '',
hash : m[8] || ''
} : null);
Supports
metadata.deps
metadata.init
metadata.exports
Also detects writes to the global object avoiding global collisions.
See the SystemJS readme global support section for further information.
*/
function global(loader) {
function createHelpers(loader) {
if (loader.has('@@global-helpers'))
return;
var hasOwnProperty = loader.global.hasOwnProperty;
var moduleGlobals = {};
var curGlobalObj;
loader.set('@@global-helpers', Module({
prepareGlobal: function(moduleName, deps) {
// first, we add all the dependency modules to the global
for (var i = 0; i < deps.length; i++) {
var moduleGlobal = moduleGlobals[deps[i]];
if (moduleGlobal)
for (var m in moduleGlobal)
loader.global[m] = moduleGlobal[m];
}
// now store a complete copy of the global object
// in order to detect changes
curGlobalObj = {};
for (var g in loader.global)
if (!hasOwnProperty || loader.global.hasOwnProperty(g))
curGlobalObj[g] = loader.global[g];
},
retrieveGlobal: function(moduleName, exportName, init) {
var singleGlobal;
var exports = {};
// run init
if (init) {
var depModules = [];
for (var i = 0; i < deps.length; i++)
depModules.push(require(deps[i]));
singleGlobal = init.apply(loader.global, depModules);
}
// check for global changes, creating the globalObject for the module
// if many globals, then a module object for those is created
// if one global, then that is the module directly
if (exportName && !singleGlobal) {
var firstPart = exportName.split('.')[0];
singleGlobal = eval.call(loader.global, exportName);
exports[firstPart] = loader.global[firstPart];
}
else {
for (var g in loader.global) {
if (!hasOwnProperty && (g == 'sessionStorage' || g == 'localStorage' || g == 'clipboardData' || g == 'frames'))
continue;
if ((!hasOwnProperty || loader.global.hasOwnProperty(g)) && g != loader.global && curGlobalObj[g] != loader.global[g]) {
exports[g] = loader.global[g];
if (singleGlobal) {
if (singleGlobal !== loader.global[g])
singleGlobal = undefined;
}
else if (singleGlobal !== false) {
singleGlobal = loader.global[g];
}
}
}
}
moduleGlobals[moduleName] = exports;
return typeof singleGlobal != 'undefined' ? singleGlobal : exports;
}
}));
}
function toAbsoluteURL(base, href) {
function removeDotSegments(input) {
var output = [];
input.replace(/^(\.\.?(\/|$))+/, '')
.replace(/\/(\.(\/|$))+/g, '/')
.replace(/\/\.\.$/, '/../')
.replace(/\/?[^\/]*/g, function (p) {
if (p === '/..')
output.pop();
else
output.push(p);
});
return output.join('').replace(/^\//, input.charAt(0) === '/' ? '/' : '');
}
href = parseURI(href || '');
base = parseURI(base || '');
createHelpers(loader);
return !href || !base ? null : (href.protocol || base.protocol) +
(href.protocol || href.authority ? href.authority : base.authority) +
removeDotSegments(href.protocol || href.authority || href.pathname.charAt(0) === '/' ? href.pathname : (href.pathname ? ((base.authority && !base.pathname ? '/' : '') + base.pathname.slice(0, base.pathname.lastIndexOf('/') + 1) + href.pathname) : base.pathname)) +
(href.protocol || href.authority || href.pathname ? href.search : (href.search || base.search)) +
href.hash;
var loaderInstantiate = loader.instantiate;
loader.instantiate = function(load) {
var loader = this;
createHelpers(loader);
var exportName = load.metadata.exports;
if (!load.metadata.format)
load.metadata.format = 'global';
// global is a fallback module format
if (load.metadata.format == 'global') {
load.metadata.execute = function(require, exports, moduleName) {
loader.get('@@global-helpers').prepareGlobal(moduleName, load.metadata.deps);
if (exportName)
load.source += '\nthis["' + exportName + '"] = ' + exportName + ';';
// disable AMD detection
var define = loader.global.define;
loader.global.define = undefined;
// ensure no NodeJS environment detection
loader.global.module = undefined;
loader.global.exports = undefined;
loader.__exec(load);
loader.global.define = define;
return loader.get('@@global-helpers').retrieveGlobal(moduleName, exportName, load.metadata.init);
}
}
return loaderInstantiate.call(loader, load);
}
}
/*
}/*
SystemJS CommonJS Format

@@ -722,13 +1078,2 @@ */

loader._getCJSDeps = getCJSDeps;
var loaderTranslate = loader.translate;
loader.translate = function(load) {
var loader = this;
if (!loader._getCJSDeps)
loader._getCJSDeps = getCJSDeps;
return loaderTranslate.call(loader, load);
}
var noop = function() {}

@@ -748,4 +1093,18 @@ var nodeProcess = {

};
loader.set('@@nodeProcess', Module(nodeProcess));
loader._getCJSDeps = getCJSDeps;
if (!loader.has('@@nodeProcess'))
loader.set('@@nodeProcess', Module({ 'default': nodeProcess, __useDefault: true }));
var loaderTranslate = loader.translate;
loader.translate = function(load) {
var loader = this;
if (!loader.has('@@nodeProcess'))
loader.set('@@nodeProcess', Module({ 'default': nodeProcess, __useDefault: true }));
if (!loader._getCJSDeps)
loader._getCJSDeps = getCJSDeps;
return loaderTranslate.call(loader, load);
}
var loaderInstantiate = loader.instantiate;

@@ -788,2 +1147,3 @@ loader.instantiate = function(load) {

// disable AMD detection
var define = loader.global.define;
loader.global.define = undefined;

@@ -793,10 +1153,7 @@

loader.global.define = define;
loader.global._g = undefined;
var output = globals.module.exports;
if (output && output.__esModule)
return output;
else if (output !== undefined)
return { __useDefault: true, 'default': output };
return globals.module.exports;
}

@@ -814,6 +1171,8 @@ }

var isNode = typeof module != 'undefined' && module.exports;
// AMD Module Format Detection RegEx
// define([.., .., ..], ...)
// define(varName); || define(function(require, exports) {}); || define({})
var amdRegEx = /(?:^\s*|[}{\(\);,\n\?\&]\s*)define\s*\(\s*("[^"]+"\s*,\s*|'[^']+'\s*,\s*)?(\[(\s*("[^"]+"|'[^']+')\s*,)*(\s*("[^"]+"|'[^']+')\s*)?\]|function\s*|{|[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*\))/;
var amdRegEx = /(?:^\s*|[}{\(\);,\n\?\&]\s*)define\s*\(\s*("[^"]+"\s*,\s*|'[^']+'\s*,\s*)?\s*(\[(\s*("[^"]+"|'[^']+')\s*,)*(\s*("[^"]+"|'[^']+')\s*)?\]|function\s*|{|[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*\))/;

@@ -859,7 +1218,9 @@ /*

var lastDefine;
var anonDefine;
// set to true of the current module turns out to be a named define bundle
var defineBundle;
function createDefine(loader) {
anonDefine = null;
defineBundle = null;
lastDefine = null;
// ensure no NodeJS environment detection

@@ -869,6 +1230,18 @@ loader.global.module = undefined;

if (loader.global.define && loader.global.define.loader == loader)
return;
// script injection mode calls this function synchronously on load
var onScriptLoad = loader.onScriptLoad;
loader.onScriptLoad = function(load) {
onScriptLoad(load);
if (anonDefine || defineBundle)
load.metadata.format = 'defined';
if (anonDefine) {
load.metadata.deps = load.metadata.deps ? load.metadata.deps.concat(anonDefine.deps) : anonDefine.deps;
load.metadata.execute = anonDefine.execute;
}
}
loader.global.define = function(name, deps, factory) {

@@ -893,6 +1266,2 @@ if (typeof name != 'string') {

// a module file can only define one anonymous module
if (!name && lastDefine)
throw "Multiple defines for anonymous module";
// remove system dependencies

@@ -909,3 +1278,3 @@ var requireIndex, exportsIndex, moduleIndex

lastDefine = {
var define = {
deps: deps,

@@ -932,14 +1301,39 @@ execute: function(require, exports, moduleName) {

output = output || module && module.exports;
if (typeof output == 'undefined' && module)
output = module.exports;
if (output && output.__esModule)
if (typeof output != 'undefined')
return output;
else if (output !== undefined)
return { __useDefault: true, 'default': output };
}
};
// attaches to loader.defined as dynamic
if (name)
loader.defined[name] = lastDefine;
// anonymous define
if (!name) {
// already defined anonymously -> throw
if (anonDefine)
throw "Multiple defines for anonymous module";
anonDefine = define;
}
// named define
else {
// if it has no dependencies and we don't have any other
// defines, then let this be an anonymous define
if (deps.length == 0 && !anonDefine && !defineBundle)
anonDefine = define;
// otherwise its a bundle only
else
anonDefine = null;
// the above is just to support single modules of the form:
// define('jquery')
// still loading anonymously
// because it is done widely enough to be useful
// note this is now a bundle
defineBundle = true;
// define the module through the register registry
loader.register(name, define.deps, false, define.execute);
}
};

@@ -951,15 +1345,11 @@

if (!isNode && loader.amdDefine !== false)
createDefine(loader);
if (loader.scriptLoader) {
var loaderFetch = loader.fetch;
var scriptLoader = true;
loader.fetch = function(load) {
createDefine(this);
return Promise.resolve(loaderFetch.call(this, load)).then(function(source) {
if (lastDefine) {
load.metadata.format = 'defined';
load.metadata.deps = load.metadata.deps ? load.metadata.deps.concat(lastDefine.deps) : lastDefine.deps;
load.metadata.execute = lastDefine.execute;
}
return source;
});
if (loader.amdDefine !== false)
createDefine(this);
return loaderFetch.call(this, load);
}

@@ -975,3 +1365,3 @@ }

load.metadata.format = 'amd';
createDefine(loader);

@@ -981,7 +1371,12 @@

if (!lastDefine)
if (isNode)
loader.global.define = undefined;
if (!anonDefine && !defineBundle)
throw "AMD module " + load.name + " did not define";
load.metadata.deps = load.metadata.deps ? load.metadata.deps.concat(lastDefine.deps) : lastDefine.deps;
load.metadata.execute = lastDefine.execute;
if (anonDefine) {
load.metadata.deps = load.metadata.deps ? load.metadata.deps.concat(anonDefine.deps) : anonDefine.deps;
load.metadata.execute = anonDefine.execute;
}
}

@@ -1153,2 +1548,3 @@

loader.fetch = function(load) {
var loader = this;
if (!loader.bundles)

@@ -1166,2 +1562,8 @@ loader.bundles = {};

loader.bundles[normalized] = loader.bundles[normalized] || loader.bundles[b];
// note this module is a bundle in the meta
loader.meta = loader.meta || {};
loader.meta[normalized] = loader.meta[normalized] || {};
loader.meta[normalized].bundle = true;
return loader.load(normalized);

@@ -1396,5 +1798,48 @@ })

}
/*
* Dependency Tree Cache
*
* Allows a build to pre-populate a dependency trace tree on the loader of
* the expected dependency tree, to be loaded upfront when requesting the
* module, avoinding the n round trips latency of module loading, where
* n is the dependency tree depth.
*
* eg:
* System.depCache = {
* 'app': ['normalized', 'deps'],
* 'normalized': ['another'],
* 'deps': ['tree']
* };
*
* System.import('app')
* // simultaneously starts loading all of:
* // 'normalized', 'deps', 'another', 'tree'
* // before "app" source is even loaded
*/
function depCache(loader) {
loader.depCache = loader.depCache || {};
loaderLocate = loader.locate;
loader.locate = function(load) {
var loader = this;
if (!loader.depCache)
loader.depCache = {};
// load direct deps, in turn will pick up their trace trees
var deps = loader.depCache[load.name];
if (deps)
for (var i = 0; i < deps.length; i++)
loader.load(deps[i]);
return loaderLocate.call(loader, load);
}
}
scriptLoader(System);
meta(System);
register(System);
core(System);
global(System);
cjs(System);

@@ -1405,30 +1850,8 @@ amd(System);

versions(System);
if (__$curScript) {
System.baseURL = __$curScript.getAttribute('data-baseurl') || System.baseURL;
depCache(System);
var configPath = __$curScript.getAttribute('data-config');
if (configPath && configPath.substr(configPath.length - 1) === '/')
configPath += 'config.json';
if (__$curScript && !System.paths['@traceur'])
System.paths['@traceur'] = typeof __$curScript != 'undefined' && __$curScript.getAttribute('data-traceur-src')
|| System.baseURL + (System.baseURL.lastIndexOf('/') == System.baseURL.length - 1 ? '' : '/') + 'traceur.js';
var main = __$curScript.getAttribute('data-main');
if (!System.paths['@traceur'])
System.paths['@traceur'] = typeof __$curScript != 'undefined' && __$curScript.getAttribute('data-traceur-src');
(!configPath ? Promise.resolve() :
Promise.resolve(System.fetch.call(System, { address: configPath, metadata: {} }))
.then(JSON.parse)
.then(System.config)
).then(function() {
if (main)
return System['import'](main);
})
['catch'](function(e) {
setTimeout(function() {
throw e;
})
});
}
};

@@ -1438,3 +1861,3 @@

try {
__source = 'with(__global) { (function() { ' + __source + ' \n }).call(__global); }'
__source = (__global != __$global ? 'with(__global) { (function() { ' + __source + ' \n }).call(__global); }' : __source)
+ '\n//# sourceURL=' + __address

@@ -1475,4 +1898,4 @@ + (__sourceMap ? '\n//# sourceMappingURL=' + __sourceMap : '');

global.Module = es6ModuleLoader.Module;
global.upgradeSystemLoader();
module.exports = global.System;
global.upgradeSystemLoader();
}

@@ -1479,0 +1902,0 @@ })(__$global);

@@ -8,2 +8,2 @@ /*

!function(__$global){function __eval(__source,__global,__address,__sourceMap){try{__source="with(__global) { (function() { "+__source+" \n }).call(__global); }\n//# sourceURL="+__address+(__sourceMap?"\n//# sourceMappingURL="+__sourceMap:""),eval(__source)}catch(e){throw"SyntaxError"==e.name&&(e.message="Evaluating "+__address+"\n "+e.message),e}}__$global.upgradeSystemLoader=function(){function e(e){"undefined"==typeof u&&(u=Array.prototype.indexOf);var t=document.getElementsByTagName("head")[0];e.fetch=function(e){return new Promise(function(r,a){var n=document.createElement("script");n.async=!0,n.addEventListener("load",function(){r("")},!1),n.addEventListener("error",function(e){a(e)},!1),n.src=e.address,t.appendChild(n)})},e.scriptLoader=!0}function t(e){function t(e){var t=this;"@traceur"==e.name&&(f=d,p=Module);var r,a=e.source.lastIndexOf("\n");-1!=a&&"//# sourceMappingURL="==e.source.substr(a+1,21)&&(r=toAbsoluteURL(e.address,e.source.substr(a+22,e.source.length-a-23))),__eval(e.source,t.global,e.address,r),"@traceur"==e.name&&(t.global.traceurSystem=t.global.System,t.global.System=f)}function r(e){for(var t=[],r=0;r<e.length;r++)-1==u.call(t,e[r])&&t.push(e[r]);return t}function a(t,r,a){if("string"!=typeof t&&(a=r,r=t,t=null),0==a.length)throw"Invalid System.register form. Ensure setting --modules=instantiate if using Traceur.";e.defined||(e.defined={}),m={deps:r,declare:a,declarative:!0},t&&(e.defined[t]=m)}function n(e,t,r){if(r[e.groupIndex]=r[e.groupIndex]||[],-1==u.call(r[e.groupIndex],e)){r[e.groupIndex].push(e);for(var a=0;a<e.normalizedDeps.length;a++){var o=e.normalizedDeps[a],i=t.defined[o];if(i){var s=e.groupIndex+(i.declarative!=e.declarative);if(void 0===i.groupIndex||i.groupIndex<s){if(i.groupIndex&&(r[i.groupIndex].splice(r[i.groupIndex].indexOf(i),1),0==r[i.groupIndex].length))throw new TypeError("Mixed dependency cycle detected");i.groupIndex=s}n(i,t,r)}}}}function o(e,t){var r=t.defined[e];r.groupIndex=0;var a=[];n(r,t,a);for(var o=!!r.declarative==a.length%2,s=a.length-1;s>=0;s--){for(var u=a[s],d=0;d<u.length;d++){var c=u[d];o?i(c,t):l(c,t)}o=!o}}function i(e,t){if(!e.module){var r=[],a=e.declare.call(t.global,r);e.module=a.exports,e.exportStar=a.exportStar,e.execute=a.execute;for(var n=e.module,o=0;o<e.normalizedDeps.length;o++){var s=e.normalizedDeps[o],l=t.defined[s];l?l.module?depModule=l.module:(i(l,t),depModule=l.module):depModule=t.get(s),e.exportStar&&-1!=u.call(e.exportStar,e.normalizedDeps[o])&&!function(e){for(var t in e)(function(t){Object.defineProperty(n,t,{enumerable:!0,get:function(){return e[t]},set:function(r){e[t]=r}})})(t)}(depModule),r[o]=depModule}}}function s(e,t){var r,a=t.defined[e];return a?(a.declarative?c(e,[],t):a.evaluated||l(a,t),r=a.module):r=t.get(e),r.__useDefault?r["default"]:r}function l(e,t){if(!e.module){if(e.module={},!e.executingRequire)for(var r=0;r<e.normalizedDeps.length;r++){var a=e.normalizedDeps[r],n=t.defined[a];n&&l(n,t)}var o;for(var i in t.defined)if(t.defined[i]==e){o=i;break}try{e.evaluated=!0;var u=e.execute(function(r){for(var a=0;a<e.deps.length;a++)if(e.deps[a]==r)return s(e.normalizedDeps[a],t)},e.module,o)}catch(d){throw d}u&&(e.module=u)}}function c(e,t,r){var a=r.defined[e];if(!a.evaluated&&a.declarative){t.push(e);for(var n=0;n<a.normalizedDeps.length;n++){var o=a.normalizedDeps[n];-1==u.call(t,o)&&(r.defined[o]?c(o,t,r):r.get(o))}a.evaluated||(a.evaluated=!0,a.execute.call(r.global),delete a.execute)}}"undefined"==typeof u&&(u=Array.prototype.indexOf),"undefined"==typeof __eval&&(__eval=eval);var f,p;e.__exec=t;var m;e.defined=e.defined||{},e.register=a;var g=/System\.register/,h=e.fetch;e.fetch=function(e){var t=this;return t.defined&&t.defined[e.name]?(e.metadata.format="defined",""):h(e)};var v=e.translate;e.translate=function(e){return this.register=a,this.__exec=t,e.metadata.deps=e.metadata.deps||[],Promise.resolve(v.call(this,e)).then(function(t){return(e.metadata.init||e.metadata.exports)&&(e.metadata.format=e.metadata.format||"global"),("register"==e.metadata.format||!e.metadata.format&&e.source.match(g))&&(e.metadata.format="register"),t})};var _=e.instantiate;e.instantiate=function(e){var t,a=this;if(a.defined[e.name]?a.defined[e.name]=t=a.defined[e.name]:e.metadata.execute?a.defined[e.name]=t={deps:e.metadata.deps||[],execute:e.metadata.execute,executingRequire:e.metadata.executingRequire}:"register"==e.metadata.format&&(m=null,a.__exec(e),m&&(a.defined[e.name]=t=m)),!t)return _.call(this,e);t.deps=r(t.deps);for(var n=[],i=0;i<t.deps.length;i++)n.push(Promise.resolve(a.normalize(t.deps[i],e.name)));return Promise.all(n).then(function(r){return t.normalizedDeps=r,t.depMap=[],{deps:t.deps,execute:function(){if(t.esmodule)return delete a.defined[e.name],t.esmodule;o(e.name,a),c(e.name,[],a),delete a.defined[e.name];var r=Module(t.module);for(var n in a.defined)a.defined[n].execute==t.execute&&(a.defined[n].esmodule=r);return r}}})}}function r(e){function t(e){var t=String(e).replace(/^\s+|\s+$/g,"").match(/^([^:\/?#]+:)?(\/\/(?:[^:@]*(?::[^:@]*)?@)?(([^:\/?#]*)(?::(\d*))?))?([^?#]*)(\?[^#]*)?(#[\s\S]*)?/);return t?{href:t[0]||"",protocol:t[1]||"",authority:t[2]||"",host:t[3]||"",hostname:t[4]||"",port:t[5]||"",pathname:t[6]||"",search:t[7]||"",hash:t[8]||""}:null}function r(e,r){function a(e){var t=[];return e.replace(/^(\.\.?(\/|$))+/,"").replace(/\/(\.(\/|$))+/g,"/").replace(/\/\.\.$/,"/../").replace(/\/?[^\/]*/g,function(e){"/.."===e?t.pop():t.push(e)}),t.join("").replace(/^\//,"/"===e.charAt(0)?"/":"")}return r=t(r||""),e=t(e||""),r&&e?(r.protocol||e.protocol)+(r.protocol||r.authority?r.authority:e.authority)+a(r.protocol||r.authority||"/"===r.pathname.charAt(0)?r.pathname:r.pathname?(e.authority&&!e.pathname?"/":"")+e.pathname.slice(0,e.pathname.lastIndexOf("/")+1)+r.pathname:e.pathname)+(r.protocol||r.authority||r.pathname?r.search:r.search||e.search)+r.hash:null}var a=e["import"];e["import"]=function(e,t){return a.call(this,e,t).then(function(e){return e.__useDefault?e["default"]:e})},e.set("@empty",Module({})),e.config=function(e){for(var t in e){var r=e[t];if("object"==typeof r){this[t]=this[t]||{};for(var a in r)this[t][a]=r[a]}else this[t]=r}};var n;if("undefined"==typeof window)n=process.cwd()+"/";else if(n=document.baseURI,!n){var o=document.getElementsByTagName("base");n=o[0]&&o[0].href||window.location.href}var i,s=e.locate;e.locate=function(e){return this.baseURL!=i&&(i=r(n,this.baseURL),"/"!=i.substr(i.length-1,1)&&(i+="/"),this.baseURL=i),Promise.resolve(s.call(this,e))};var u=/^\s*export\s*\*\s*from\s*(?:'([^']+)'|"([^"]+)")/,l=/(?:^\s*|[}{\(\);,\n]\s*)(import\s+['"]|(import|module)\s+[^"'\(\)\n;]+\s+from\s+['"]|export\s+(\*|\{|default|function|var|const|let|[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*))/,d=e.translate;e.translate=function(e){var t=this;if("@traceur"==e.name)return d.call(t,e);var r;if(!t.global.traceur&&("es6"==e.metadata.format||!e.metadata.format)&&(r=e.source.match(u))){var a=r[1]||r[2];e.metadata.deps=[a],e.metadata.execute=function(e){return e(a)}}return"es6"!=e.metadata.format&&(e.metadata.format||!e.source.match(l))||(e.metadata.format="es6",t.global.traceur)?d.call(t,e):t["import"]("@traceur").then(function(){return d.call(t,e)})};var c=e.instantiate;e.instantiate=function(e){var t=this;return"@traceur"==e.name?(t.__exec(e),{deps:[],execute:function(){return Module({})}}):c.call(t,e)}}function a(e){function t(e){r.lastIndex=0,a.lastIndex=0;for(var t,o=[],e=e.replace(n,"");t=a.exec(e);)o.push(t[2]||t[3]);return o}var r=/(?:^\s*|[}{\(\);,\n=:\?\&]\s*|module\.)(exports\s*\[\s*('[^']+'|"[^"]+")\s*\]|\exports\s*\.\s*[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*|exports\s*\=)/,a=/(?:^\s*|[}{\(\);,\n=:\?\&]\s*)require\s*\(\s*("([^"]+)"|'([^']+)')\s*\)/g,n=/(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/gm;e._getCJSDeps=t;var o=e.translate;e.translate=function(e){var r=this;return r._getCJSDeps||(r._getCJSDeps=t),o.call(r,e)};var i=function(){},s={nextTick:function(e){setTimeout(e,7)},browser:"undefined"!=typeof window,env:{},argv:[],on:i,once:i,off:i,emit:i,cwd:function(){return"/"}};e.set("@@nodeProcess",Module(s));var u=e.instantiate;e.instantiate=function(n){return n.metadata.format||(r.lastIndex=0,a.lastIndex=0,(a.exec(n.source)||r.exec(n.source))&&(n.metadata.format="cjs")),"cjs"==n.metadata.format&&(n.metadata.deps=n.metadata.deps?n.metadata.deps.concat(t(n.source)):n.metadata.deps,n.metadata.executingRequire=!0,n.metadata.execute=function(t,r){var a=n.address.split("/");a.pop(),a=a.join("/");var o=e.global._g={global:e.global,exports:r,module:{exports:r},process:s,require:t,__filename:n.address,__dirname:a},i="";for(var u in o)i+="var "+u+" = _g."+u+";";n.source=i+n.source,e.global.define=void 0,e.__exec(n),e.global._g=void 0;var l=o.module.exports;return l&&l.__esModule?l:void 0!==l?{__useDefault:!0,"default":l}:void 0}),u.call(this,n)}}function n(e){function t(e,r,a,n){var o=this;if("object"==typeof e&&!(e instanceof Array))return t.apply(null,Array.prototype.splice.call(arguments,1,arguments.length-1));if(!(e instanceof Array)){if("string"==typeof e){var i=o.get(e);return i.__useDefault?i["default"]:i}throw"Invalid require"}Promise.all(e.map(function(e){return o["import"](e,n)})).then(function(e){r.apply(null,e)},a)}function r(e,r,a){return function(n,o,i){return"string"==typeof n?r(n):t.call(a,n,o,i,{name:e})}}function a(e){o=null,e.global.module=void 0,e.global.exports=void 0,e.global.define&&e.global.define.loader==e||(e.global.define=function(t,a,n){if("string"!=typeof t&&(n=a,a=t,t=null),!(a instanceof Array)){if(n=a,!e._getCJSDeps)throw"AMD extension needs CJS extension for AMD CJS support";a=["require","exports","module"].concat(e._getCJSDeps(n.toString()))}if("function"!=typeof n&&(n=function(e){return function(){return e}}(n)),!t&&o)throw"Multiple defines for anonymous module";var i,s,l;-1!=(i=u.call(a,"require"))&&a.splice(i,1),-1!=(s=u.call(a,"exports"))&&a.splice(s,1),-1!=(l=u.call(a,"module"))&&a.splice(l,1),o={deps:a,execute:function(t,o,u){for(var d=[],c=0;c<a.length;c++)d.push(t(a[c]));var f;-1!=l&&d.splice(l,0,o,f={id:u,uri:e.baseURL+u,config:function(){return{}},exports:o}),-1!=s&&d.splice(s,0,o),-1!=i&&d.splice(i,0,r(u,t,e));var p=n.apply(e.global,d);return p=p||f&&f.exports,p&&p.__esModule?p:void 0!==p?{__useDefault:!0,"default":p}:void 0}},t&&(e.defined[t]=o)},e.global.define.amd={},e.global.define.loader=e)}var n=/(?:^\s*|[}{\(\);,\n\?\&]\s*)define\s*\(\s*("[^"]+"\s*,\s*|'[^']+'\s*,\s*)?(\[(\s*("[^"]+"|'[^']+')\s*,)*(\s*("[^"]+"|'[^']+')\s*)?\]|function\s*|{|[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*\))/;e.require=t;var o;if(e.scriptLoader){var i=e.fetch;e.fetch=function(e){return a(this),Promise.resolve(i.call(this,e)).then(function(t){return o&&(e.metadata.format="defined",e.metadata.deps=e.metadata.deps?e.metadata.deps.concat(o.deps):o.deps,e.metadata.execute=o.execute),t})}}var s=e.instantiate;e.instantiate=function(e){var t=this;if("amd"==e.metadata.format||!e.metadata.format&&e.source.match(n)){if(e.metadata.format="amd",a(t),t.__exec(e),!o)throw"AMD module "+e.name+" did not define";e.metadata.deps=e.metadata.deps?e.metadata.deps.concat(o.deps):o.deps,e.metadata.execute=o.execute}return s.call(t,e)}}function o(e){function t(e,t){var r=t.split("/"),a=e.split("/");if(r.length>a.length)return 0;for(var n=0;n<r.length;n++)if(a[n]!=r[n])return 0;return r.length}function r(e,r,a){var n,o,i,s,u=0,l=0;if(r)for(var d in a.map){var c=a.map[d];if("object"==typeof c&&!(t(r,d)<=l))for(var f in c)t(e,f)<=u||(n=f,u=f.split("/").length,o=d,l=d.split("/").length)}n&&(s=e.split("/"),i=s.splice(u,s.length-u).join("/"),e=a.map[o][n]+(i?"/"+i:""),u=0);for(var d in a.map){var c=a.map[d];"string"==typeof c&&(t(e,d)<=u||(n=d,u=d.split("/").length))}return u?(s=e.split("/"),i=s.splice(u,s.length-u).join("/"),a.map[n]+(i?"/"+i:"")):e}e.map=e.map||{};var a=e.normalize;e.normalize=function(e,t,n){var o=this;o.map||(o.map={});var i=!1;return"/"==e.substr(e.length-1,1)&&(i=!0,e+="#"),Promise.resolve(a.call(o,e,t,n)).then(function(e){if(e=r(e,t,o),i){var a=e.split("/");a.pop();var n=a.pop();a.push(n),a.push(n),e=a.join("/")}return e})}}function i(e){"undefined"==typeof u&&(u=Array.prototype.indexOf),e.bundles=e.bundles||{};var t=e.fetch;e.fetch=function(r){e.bundles||(e.bundles={});for(var a in e.bundles)if(-1!=u.call(e.bundles[a],r.name))return Promise.resolve(e.normalize(a)).then(function(t){return e.bundles[t]=e.bundles[t]||e.bundles[a],e.load(t)}).then(function(){return""});return t.apply(this,arguments)}}function s(e){"undefined"==typeof u&&(u=Array.prototype.indexOf);var t=/^(\d+)(?:\.(\d+)(?:\.(\d+)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?)?)?$/,r=function(e,t){var r,a=e.split("."),n=t.split(".");a[2]&&-1!=(r=u.call(a[2],"-"))&&a.splice(2,1,a[2].substr(0,r),a[2].substr(r+1)),n[2]&&-1!=(r=u.call(n[2],"-"))&&n.splice(2,1,n[2].substr(0,r),n[2].substr(r+1));for(var o=0;o<Math.max(a.length,n.length);o++){if(!a[o])return 1;if(!n[o])return-1;if(a[o]!=n[o])return parseInt(a[o])>parseInt(n[o])?1:-1}return 0};e.versions=e.versions||{};var a=e.normalize;e.normalize=function(n,o,i){e.versions||(e.versions={});var s=this.versions;return Promise.resolve(a.call(this,n,o,i)).then(function(e){var a,n,o,i,l=e.indexOf("@");if(-1==l||0==l){for(var d in s)if(i=s[d],e.substr(0,d.length)==d&&(o=e.substr(d.length,1),!o||"/"==o))return d+"@"+("string"==typeof i?i:i[i.length-1])+e.substr(d.length);return e}a=e.substr(l+1).split("/")[0];var c,f=a.length;if("^"==a.substr(0,1)&&(a=a.substr(1),c=!0),n=a.match(t),!n)return e;c&&(n[2]||(c=!1),n[3]||(n[2]>0?n[3]="0":c=!1)),c&&(n[1]>0?(n[2]||(a=n[1]+".0.0"),n[3]||(a=n[1]+".0"),c=a,n=[n[1]]):n[2]>0?(c=a,n=[0,n[2]]):(c=!1,n=[0,0,n[3]]),a=n.join("."));var p=e.substr(0,l);if(i=s[p]||[],"string"==typeof i&&(i=[i]),!n[3]||c)for(var m=i.length-1;m>=0;m--){var g=i[m];if(g.substr(0,a.length)==a&&g.substr(a.length,1).match(/^[\.\-]?$/)&&(!c||c&&-1!=r(g,c)))return p+"@"+g+e.substr(p.length+f+1)}return-1==u.call(i,a)&&(i.push(a),i.sort(r),e=p+"@"+a+e.substr(p.length+f+1),n[3]&&-1!=(l=u.call(i,n[1]+"."+n[2]))&&i.splice(l,1),n[2]&&-1!=(l=u.call(i,n[1]))&&i.splice(l,1),s[p]=1==i.length?i[0]:i),e})}}__$global.upgradeSystemLoader=void 0;var u=Array.prototype.indexOf||function(e){for(var t=0,r=this.length;r>t;t++)if(this[t]===e)return t;return-1},l=__$global.System,d=__$global.System=new LoaderPolyfill(l);if(d.baseURL=l.baseURL,d.paths={"*":"*.js"},d.originalSystem=l,d.noConflict=function(){__$global.SystemJS=d,__$global.System=d.originalSystem},e(d),t(d),r(d),a(d),n(d),o(d),i(d),s(d),__$curScript){d.baseURL=__$curScript.getAttribute("data-baseurl")||d.baseURL;var c=__$curScript.getAttribute("data-config");c&&"/"===c.substr(c.length-1)&&(c+="config.json");var f=__$curScript.getAttribute("data-main");d.paths["@traceur"]||(d.paths["@traceur"]="undefined"!=typeof __$curScript&&__$curScript.getAttribute("data-traceur-src")),(c?Promise.resolve(d.fetch.call(d,{address:c,metadata:{}})).then(JSON.parse).then(d.config):Promise.resolve()).then(function(){return f?d["import"](f):void 0})["catch"](function(e){setTimeout(function(){throw e})})}};var __$curScript;!function(e){if("undefined"!=typeof window){var t=document.getElementsByTagName("script");if(__$curScript=t[t.length-1],!e.System||e.System.registerModule){var r=__$curScript.src,a=r.substr(0,r.lastIndexOf("/")+1);document.write('<script type="text/javascript" src="'+a+'es6-module-loader.js" data-init="upgradeSystemLoader"></script>')}else e.upgradeSystemLoader()}else{var n=require("es6-module-loader");e.System=n.System,e.Loader=n.Loader,e.Module=n.Module,module.exports=e.System,e.upgradeSystemLoader()}}(__$global)}("undefined"!=typeof window?window:global);
!function(__$global){function __eval(__source,__global,__address,__sourceMap){try{__source=(__global!=__$global?"with(__global) { (function() { "+__source+" \n }).call(__global); }":__source)+"\n//# sourceURL="+__address+(__sourceMap?"\n//# sourceMappingURL="+__sourceMap:""),eval(__source)}catch(e){throw"SyntaxError"==e.name&&(e.message="Evaluating "+__address+"\n "+e.message),e}}__$global.upgradeSystemLoader=function(){function e(e){var t=String(e).replace(/^\s+|\s+$/g,"").match(/^([^:\/?#]+:)?(\/\/(?:[^:@]*(?::[^:@]*)?@)?(([^:\/?#]*)(?::(\d*))?))?([^?#]*)(\?[^#]*)?(#[\s\S]*)?/);return t?{href:t[0]||"",protocol:t[1]||"",authority:t[2]||"",host:t[3]||"",hostname:t[4]||"",port:t[5]||"",pathname:t[6]||"",search:t[7]||"",hash:t[8]||""}:null}function t(t,a){function r(e){var t=[];return e.replace(/^(\.\.?(\/|$))+/,"").replace(/\/(\.(\/|$))+/g,"/").replace(/\/\.\.$/,"/../").replace(/\/?[^\/]*/g,function(e){"/.."===e?t.pop():t.push(e)}),t.join("").replace(/^\//,"/"===e.charAt(0)?"/":"")}return a=e(a||""),t=e(t||""),a&&t?(a.protocol||t.protocol)+(a.protocol||a.authority?a.authority:t.authority)+r(a.protocol||a.authority||"/"===a.pathname.charAt(0)?a.pathname:a.pathname?(t.authority&&!t.pathname?"/":"")+t.pathname.slice(0,t.pathname.lastIndexOf("/")+1)+a.pathname:t.pathname)+(a.protocol||a.authority||a.pathname?a.search:a.search||t.search)+a.hash:null}function a(e){"undefined"==typeof p&&(p=Array.prototype.indexOf);var t=document.getElementsByTagName("head")[0];e.onScriptLoad=function(){},e.fetch=function(a){return new Promise(function(r,n){function o(){s.readyState&&"loaded"!=s.readyState&&"complete"!=s.readyState||(l(),e.onScriptLoad(a),r(""))}function l(){s.detachEvent?s.detachEvent("onreadystatechange",o):(s.removeEventListener("load",o,!1),s.removeEventListener("error",err,!1)),t.removeChild(s)}var s=document.createElement("script");s.async=!0,s.attachEvent&&s.attachEvent("onreadystatechange",o),s.addEventListener("load",o,!1),s.addEventListener("error",err,!1),s.src=a.address,t.appendChild(s)})},e.scriptLoader=!0}function r(e){function t(e,t){var a=e.meta&&e.meta[t.name];if(a)for(var r in a)t.metadata[r]=t.metadata[r]||a[r]}var a=/^(\s*\/\*.*\*\/|\s*\/\/[^\n]*|\s*"[^"]+"\s*;?|\s*'[^']+'\s*;?)+/,r=/\/\*.*\*\/|\/\/[^\n]*|"[^"]+"\s*;?|'[^']+'\s*;?/g;e.meta={};var n=e.locate;e.locate=function(e){return t(this,e),n.call(this,e)};var o=e.translate;e.translate=function(e){var n=e.source.match(a);if(n)for(var l=n[0].match(r),s=0;s<l.length;s++){var i=l[s].length,u=l[s].substr(0,1);if(";"==l[s].substr(i-1,1)&&i--,'"'==u||"'"==u){var d=l[s].substr(1,l[s].length-3),c=d.substr(0,d.indexOf(" "));if(c){var f=d.substr(c.length+1,d.length-c.length-1);e.metadata[c]instanceof Array?e.metadata[c].push(f):e.metadata[c]=f}}}return t(this,e),o.call(this,e)}}function n(e){function a(e){var a=this;"@traceur"==e.name&&(f=g,m=Module);var r,n=e.source.lastIndexOf("\n");-1!=n&&"//# sourceMappingURL="==e.source.substr(n+1,21)&&(r=e.source.substr(n+22,e.source.length-n-22),"undefined"!=typeof t&&(r=t(e.address,r))),__eval(e.source,a.global,e.address,r),"@traceur"==e.name&&(a.global.traceurSystem=a.global.System,a.global.System=f)}function r(e){for(var t=[],a=0;a<e.length;a++)-1==p.call(t,e[a])&&t.push(e[a]);return t}function n(t,a,r,n){"string"!=typeof t&&(n=r,r=a,a=t,t=null),v=!0;var o;if("boolean"==typeof r)o={declarative:!1,deps:a,execute:n,executingRequire:r};else{if(a.length>0&&1!=r.length)throw"Invalid System.register form for "+t+". Declare function must take one argument.";o={declarative:!0,deps:a,declare:r}}if(t)e.defined[t]||(e.defined[t]=o);else if(o.declarative){if(h)throw"Multiple anonymous System.register calls in the same module file.";h=o}}function o(e){if(!e.register){e.register=n,e.defined||(e.defined={});var t=e.onScriptLoad;e.onScriptLoad=function(e){t(e),h&&(e.metadata.entry=h),(h||v)&&(e.metadata.format=e.metadata.format||"register"),v&&(e.metadata.registered=!0)}}}function l(e,t,a){if(a[e.groupIndex]=a[e.groupIndex]||[],-1==p.call(a[e.groupIndex],e)){a[e.groupIndex].push(e);for(var r=0;r<e.normalizedDeps.length;r++){var n=e.normalizedDeps[r],o=t.defined[n];if(o){var s=e.groupIndex+(o.declarative!=e.declarative);if(void 0===o.groupIndex||o.groupIndex<s){if(o.groupIndex&&(a[o.groupIndex].splice(a[o.groupIndex].indexOf(o),1),0==a[o.groupIndex].length))throw new TypeError("Mixed dependency cycle detected");o.groupIndex=s}l(o,t,a)}}}}function s(e,t){var a=t.defined[e];a.groupIndex=0;var r=[];l(a,t,r);for(var n=!!a.declarative==r.length%2,o=r.length-1;o>=0;o--){for(var s=r[o],u=0;u<s.length;u++){var c=s[u];n?i(c,t):d(c,t)}n=!n}}function i(e,t){if(!e.module){var a=[],r=e.declare.call(t.global,a);e.module=r.exports,e.exportStar=r.exportStar,e.execute=r.execute;for(var n=e.module,o=0;o<e.normalizedDeps.length;o++){var l=e.normalizedDeps[o],s=t.defined[l];s?s.module?depModule=s.module:(i(s,t),depModule=s.module):depModule=t.get(l),e.exportStar&&-1!=p.call(e.exportStar,e.normalizedDeps[o])&&!function(e){for(var t in e)(function(t){Object.defineProperty(n,t,{enumerable:!0,get:function(){return e[t]},set:function(a){e[t]=a}})})(t)}(depModule),a[o]=depModule}}}function u(e,t){var a,r=t.defined[e];if(r)r.declarative?c(e,[],t):r.evaluated||d(r,t),a=r.module;else if(a=t.get(e),!a)throw"System Register: The module requested "+e+" but this was not declared as a dependency";return a?a.__useDefault?a["default"]:a:""}function d(e,t){if(!e.module){if(e.module={"default":{},__useDefault:!0},!e.executingRequire)for(var a=0;a<e.normalizedDeps.length;a++){var r=e.normalizedDeps[a],n=t.defined[r];n&&d(n,t)}var o;for(var l in t.defined)if(t.defined[l]==e){o=l;break}try{e.evaluated=!0;var s=e.execute.call(t.global,function(a){for(var r=0;r<e.deps.length;r++)if(e.deps[r]==a)return u(e.normalizedDeps[r],t)},e.module["default"],o)}catch(i){throw i}s&&s.__esModule?e.module=s:s&&(e.module["default"]=s)}}function c(e,t,a){var r=a.defined[e];if(!r.evaluated&&r.declarative){t.push(e);for(var n=0;n<r.normalizedDeps.length;n++){var o=r.normalizedDeps[n];-1==p.call(t,o)&&(a.defined[o]?c(o,t,a):a.get(o))}r.evaluated||(r.evaluated=!0,r.execute.call(a.global))}}"undefined"==typeof p&&(p=Array.prototype.indexOf),"undefined"==typeof __eval&&(__eval=0||eval);var f,m;e.__exec=a;var h,v;o(e);var b=/System\.register/,_=e.fetch;e.fetch=function(e){var t=this;return o(t),t.defined[e.name]?(e.metadata.format="defined",""):(h=null,v=!1,_.call(t,e))};var y=e.translate;e.translate=function(e){return this.register=n,this.__exec=a,e.metadata.deps=e.metadata.deps||[],Promise.resolve(y.call(this,e)).then(function(t){return(e.metadata.init||e.metadata.exports)&&(e.metadata.format=e.metadata.format||"global"),("register"==e.metadata.format||!e.metadata.format&&e.source.match(b))&&(e.metadata.format="register"),t})};var x=e.instantiate;e.instantiate=function(e){var t,a=this;if(a.defined[e.name])t=a.defined[e.name];else if(e.metadata.entry)t=e.metadata.entry;else if(e.metadata.execute)t={declarative:!1,deps:e.metadata.deps||[],execute:e.metadata.execute,executingRequire:e.metadata.executingRequire};else if("register"==e.metadata.format&&(h=null,v=!1,a.__exec(e),h&&(t=h),!v&&!e.metadata.registered))throw e.name+" detected as System.register but didn't execute.";if(!t&&"es6"!=e.metadata.format)return{deps:[],execute:function(){return Module({})}};if(!t)return x.call(this,e);a.defined[e.name]=t,t.deps=r(t.deps);for(var n=[],o=0;o<t.deps.length;o++)n.push(Promise.resolve(a.normalize(t.deps[o],e.name)));return Promise.all(n).then(function(r){return t.normalizedDeps=r,t.depMap=[],{deps:t.deps,execute:function(){if(t.esmodule)return delete a.defined[e.name],t.esmodule;s(e.name,a),c(e.name,[],a),delete a.defined[e.name];var r=Module(t.module);for(var n in a.defined)t.declarative&&a.defined[n].execute!=t.execute||!t.declarative&&a.defined[n].declare!=t.declare;return r}}})}}function o(e){var a=e["import"];e["import"]=function(e,t){return a.call(this,e,t).then(function(e){return e.__useDefault?e["default"]:e})},e.set("@empty",Module({})),e.config=function(e){for(var t in e){var a=e[t];if("object"==typeof a){this[t]=this[t]||{};for(var r in a)this[t][r]=a[r]}else this[t]=a}};var r;if("undefined"==typeof window)r=process.cwd()+"/";else if(r=document.baseURI,!r){var n=document.getElementsByTagName("base");r=n[0]&&n[0].href||window.location.href}var o,l=e.locate;e.locate=function(e){return this.baseURL!=o&&(o=t(r,this.baseURL),"/"!=o.substr(o.length-1,1)&&(o+="/"),this.baseURL=o),Promise.resolve(l.call(this,e))};var s=/^\s*export\s*\*\s*from\s*(?:'([^']+)'|"([^"]+)")/,i=/(?:^\s*|[}{\(\);,\n]\s*)(import\s+['"]|(import|module)\s+[^"'\(\)\n;]+\s+from\s+['"]|export\s+(\*|\{|default|function|var|const|let|[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*))/,u=e.translate;e.translate=function(e){var t=this;if("@traceur"==e.name)return u.call(t,e);var a;if("es6"!=e.metadata.format&&e.metadata.format||!(a=e.source.match(s))){if(("es6"==e.metadata.format||!e.metadata.format&&e.source.match(i))&&(e.metadata.format="es6",!t.global.traceur))return t["import"]("@traceur").then(function(){return u.call(t,e)})}else e.metadata.format="cjs",e.source='module.exports = require("'+(a[1]||a[2])+'");\n';return u.call(t,e)};var d=e.instantiate;e.instantiate=function(e){var t=this;return"@traceur"==e.name?(t.__exec(e),{deps:[],execute:function(){return Module({})}}):d.call(t,e)}}function l(e){function t(e){if(!e.has("@@global-helpers")){var t,a=e.global.hasOwnProperty,r={};e.set("@@global-helpers",Module({prepareGlobal:function(n,o){for(var l=0;l<o.length;l++){var s=r[o[l]];if(s)for(var i in s)e.global[i]=s[i]}t={};for(var u in e.global)(!a||e.global.hasOwnProperty(u))&&(t[u]=e.global[u])},retrieveGlobal:function(n,o,l){var s,i={};if(l){for(var u=[],d=0;d<deps.length;d++)u.push(require(deps[d]));s=l.apply(e.global,u)}if(o&&!s){var c=o.split(".")[0];s=eval.call(e.global,o),i[c]=e.global[c]}else for(var f in e.global)(a||"sessionStorage"!=f&&"localStorage"!=f&&"clipboardData"!=f&&"frames"!=f)&&(a&&!e.global.hasOwnProperty(f)||f==e.global||t[f]==e.global[f]||(i[f]=e.global[f],s?s!==e.global[f]&&(s=void 0):s!==!1&&(s=e.global[f])));return r[n]=i,"undefined"!=typeof s?s:i}}))}}t(e);var a=e.instantiate;e.instantiate=function(e){var r=this;t(r);var n=e.metadata.exports;return e.metadata.format||(e.metadata.format="global"),"global"==e.metadata.format&&(e.metadata.execute=function(t,a,o){r.get("@@global-helpers").prepareGlobal(o,e.metadata.deps),n&&(e.source+='\nthis["'+n+'"] = '+n+";");var l=r.global.define;return r.global.define=void 0,r.global.module=void 0,r.global.exports=void 0,r.__exec(e),r.global.define=l,r.get("@@global-helpers").retrieveGlobal(o,n,e.metadata.init)}),a.call(r,e)}}function s(e){function t(e){a.lastIndex=0,r.lastIndex=0;for(var t,o=[],e=e.replace(n,"");t=r.exec(e);)o.push(t[2]||t[3]);return o}var a=/(?:^\s*|[}{\(\);,\n=:\?\&]\s*|module\.)(exports\s*\[\s*('[^']+'|"[^"]+")\s*\]|\exports\s*\.\s*[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*|exports\s*\=)/,r=/(?:^\s*|[}{\(\);,\n=:\?\&]\s*)require\s*\(\s*("([^"]+)"|'([^']+)')\s*\)/g,n=/(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/gm,o=function(){},l={nextTick:function(e){setTimeout(e,7)},browser:"undefined"!=typeof window,env:{},argv:[],on:o,once:o,off:o,emit:o,cwd:function(){return"/"}};e._getCJSDeps=t,e.has("@@nodeProcess")||e.set("@@nodeProcess",Module({"default":l,__useDefault:!0}));var s=e.translate;e.translate=function(e){var a=this;return a.has("@@nodeProcess")||a.set("@@nodeProcess",Module({"default":l,__useDefault:!0})),a._getCJSDeps||(a._getCJSDeps=t),s.call(a,e)};var i=e.instantiate;e.instantiate=function(n){return n.metadata.format||(a.lastIndex=0,r.lastIndex=0,(r.exec(n.source)||a.exec(n.source))&&(n.metadata.format="cjs")),"cjs"==n.metadata.format&&(n.metadata.deps=n.metadata.deps?n.metadata.deps.concat(t(n.source)):n.metadata.deps,n.metadata.executingRequire=!0,n.metadata.execute=function(t,a){var r=n.address.split("/");r.pop(),r=r.join("/");var o=e.global._g={global:e.global,exports:a,module:{exports:a},process:l,require:t,__filename:n.address,__dirname:r},s="";for(var i in o)s+="var "+i+" = _g."+i+";";n.source=s+n.source;var u=e.global.define;return e.global.define=void 0,e.__exec(n),e.global.define=u,e.global._g=void 0,o.module.exports}),i.call(this,n)}}function i(e){function t(e,a,r,n){var o=this;if("object"==typeof e&&!(e instanceof Array))return t.apply(null,Array.prototype.splice.call(arguments,1,arguments.length-1));if(!(e instanceof Array)){if("string"==typeof e){var l=o.get(e);return l.__useDefault?l["default"]:l}throw"Invalid require"}Promise.all(e.map(function(e){return o["import"](e,n)})).then(function(e){a.apply(null,e)},r)}function a(e,a,r){return function(n,o,l){return"string"==typeof n?a(n):t.call(r,n,o,l,{name:e})}}function r(e){if(l=null,s=null,e.global.module=void 0,e.global.exports=void 0,!e.global.define||e.global.define.loader!=e){var t=e.onScriptLoad;e.onScriptLoad=function(e){t(e),(l||s)&&(e.metadata.format="defined"),l&&(e.metadata.deps=e.metadata.deps?e.metadata.deps.concat(l.deps):l.deps,e.metadata.execute=l.execute)},e.global.define=function(t,r,n){if("string"!=typeof t&&(n=r,r=t,t=null),!(r instanceof Array)){if(n=r,!e._getCJSDeps)throw"AMD extension needs CJS extension for AMD CJS support";r=["require","exports","module"].concat(e._getCJSDeps(n.toString()))}"function"!=typeof n&&(n=function(e){return function(){return e}}(n));var o,i,u;-1!=(o=p.call(r,"require"))&&r.splice(o,1),-1!=(i=p.call(r,"exports"))&&r.splice(i,1),-1!=(u=p.call(r,"module"))&&r.splice(u,1);var d={deps:r,execute:function(t,l,s){for(var d=[],c=0;c<r.length;c++)d.push(t(r[c]));var f;-1!=u&&d.splice(u,0,l,f={id:s,uri:e.baseURL+s,config:function(){return{}},exports:l}),-1!=i&&d.splice(i,0,l),-1!=o&&d.splice(o,0,a(s,t,e));var p=n.apply(e.global,d);return"undefined"==typeof p&&f&&(p=f.exports),"undefined"!=typeof p?p:void 0}};if(t)l=0!=r.length||l||s?null:d,s=!0,e.register(t,d.deps,!1,d.execute);else{if(l)throw"Multiple defines for anonymous module";l=d}},e.global.define.amd={},e.global.define.loader=e}}var n="undefined"!=typeof module&&module.exports,o=/(?:^\s*|[}{\(\);,\n\?\&]\s*)define\s*\(\s*("[^"]+"\s*,\s*|'[^']+'\s*,\s*)?\s*(\[(\s*("[^"]+"|'[^']+')\s*,)*(\s*("[^"]+"|'[^']+')\s*)?\]|function\s*|{|[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*\))/;e.require=t;var l,s;if(n||e.amdDefine===!1||r(e),e.scriptLoader){var i=e.fetch;e.fetch=function(t){return e.amdDefine!==!1&&r(this),i.call(this,t)}}var u=e.instantiate;e.instantiate=function(e){var t=this;if("amd"==e.metadata.format||!e.metadata.format&&e.source.match(o)){if(e.metadata.format="amd",r(t),t.__exec(e),n&&(t.global.define=void 0),!l&&!s)throw"AMD module "+e.name+" did not define";l&&(e.metadata.deps=e.metadata.deps?e.metadata.deps.concat(l.deps):l.deps,e.metadata.execute=l.execute)}return u.call(t,e)}}function u(e){function t(e,t){var a=t.split("/"),r=e.split("/");if(a.length>r.length)return 0;for(var n=0;n<a.length;n++)if(r[n]!=a[n])return 0;return a.length}function a(e,a,r){var n,o,l,s,i=0,u=0;if(a)for(var d in r.map){var c=r.map[d];if("object"==typeof c&&!(t(a,d)<=u))for(var f in c)t(e,f)<=i||(n=f,i=f.split("/").length,o=d,u=d.split("/").length)}n&&(s=e.split("/"),l=s.splice(i,s.length-i).join("/"),e=r.map[o][n]+(l?"/"+l:""),i=0);for(var d in r.map){var c=r.map[d];"string"==typeof c&&(t(e,d)<=i||(n=d,i=d.split("/").length))}return i?(s=e.split("/"),l=s.splice(i,s.length-i).join("/"),r.map[n]+(l?"/"+l:"")):e}e.map=e.map||{};var r=e.normalize;e.normalize=function(e,t,n){var o=this;o.map||(o.map={});var l=!1;return"/"==e.substr(e.length-1,1)&&(l=!0,e+="#"),Promise.resolve(r.call(o,e,t,n)).then(function(e){if(e=a(e,t,o),l){var r=e.split("/");r.pop();var n=r.pop();r.push(n),r.push(n),e=r.join("/")}return e})}}function d(e){"undefined"==typeof p&&(p=Array.prototype.indexOf),e.bundles=e.bundles||{};var t=e.fetch;e.fetch=function(e){var a=this;a.bundles||(a.bundles={});for(var r in a.bundles)if(-1!=p.call(a.bundles[r],e.name))return Promise.resolve(a.normalize(r)).then(function(e){return a.bundles[e]=a.bundles[e]||a.bundles[r],a.meta=a.meta||{},a.meta[e]=a.meta[e]||{},a.meta[e].bundle=!0,a.load(e)}).then(function(){return""});return t.apply(this,arguments)}}function c(e){"undefined"==typeof p&&(p=Array.prototype.indexOf);var t=/^(\d+)(?:\.(\d+)(?:\.(\d+)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?)?)?$/,a=function(e,t){var a,r=e.split("."),n=t.split(".");r[2]&&-1!=(a=p.call(r[2],"-"))&&r.splice(2,1,r[2].substr(0,a),r[2].substr(a+1)),n[2]&&-1!=(a=p.call(n[2],"-"))&&n.splice(2,1,n[2].substr(0,a),n[2].substr(a+1));for(var o=0;o<Math.max(r.length,n.length);o++){if(!r[o])return 1;if(!n[o])return-1;if(r[o]!=n[o])return parseInt(r[o])>parseInt(n[o])?1:-1}return 0};e.versions=e.versions||{};var r=e.normalize;e.normalize=function(n,o,l){e.versions||(e.versions={});var s=this.versions;return Promise.resolve(r.call(this,n,o,l)).then(function(e){var r,n,o,l,i=e.indexOf("@");if(-1==i||0==i){for(var u in s)if(l=s[u],e.substr(0,u.length)==u&&(o=e.substr(u.length,1),!o||"/"==o))return u+"@"+("string"==typeof l?l:l[l.length-1])+e.substr(u.length);return e}r=e.substr(i+1).split("/")[0];var d,c=r.length;if("^"==r.substr(0,1)&&(r=r.substr(1),d=!0),n=r.match(t),!n)return e;d&&(n[2]||(d=!1),n[3]||(n[2]>0?n[3]="0":d=!1)),d&&(n[1]>0?(n[2]||(r=n[1]+".0.0"),n[3]||(r=n[1]+".0"),d=r,n=[n[1]]):n[2]>0?(d=r,n=[0,n[2]]):(d=!1,n=[0,0,n[3]]),r=n.join("."));var f=e.substr(0,i);if(l=s[f]||[],"string"==typeof l&&(l=[l]),!n[3]||d)for(var m=l.length-1;m>=0;m--){var g=l[m];if(g.substr(0,r.length)==r&&g.substr(r.length,1).match(/^[\.\-]?$/)&&(!d||d&&-1!=a(g,d)))return f+"@"+g+e.substr(f.length+c+1)}return-1==p.call(l,r)&&(l.push(r),l.sort(a),e=f+"@"+r+e.substr(f.length+c+1),n[3]&&-1!=(i=p.call(l,n[1]+"."+n[2]))&&l.splice(i,1),n[2]&&-1!=(i=p.call(l,n[1]))&&l.splice(i,1),s[f]=1==l.length?l[0]:l),e})}}function f(e){e.depCache=e.depCache||{},loaderLocate=e.locate,e.locate=function(e){var t=this;t.depCache||(t.depCache={});var a=t.depCache[e.name];if(a)for(var r=0;r<a.length;r++)t.load(a[r]);return loaderLocate.call(t,e)}}__$global.upgradeSystemLoader=void 0;var p=Array.prototype.indexOf||function(e){for(var t=0,a=this.length;a>t;t++)if(this[t]===e)return t;return-1},m=__$global.System,g=__$global.System=new LoaderPolyfill(m);g.baseURL=m.baseURL,g.paths={"*":"*.js"},g.originalSystem=m,g.noConflict=function(){__$global.SystemJS=g,__$global.System=g.originalSystem},a(g),r(g),n(g),o(g),l(g),s(g),i(g),u(g),d(g),c(g),f(g),__$curScript&&!g.paths["@traceur"]&&(g.paths["@traceur"]="undefined"!=typeof __$curScript&&__$curScript.getAttribute("data-traceur-src")||g.baseURL+(g.baseURL.lastIndexOf("/")==g.baseURL.length-1?"":"/")+"traceur.js")};var __$curScript;!function(e){if("undefined"!=typeof window){var t=document.getElementsByTagName("script");if(__$curScript=t[t.length-1],!e.System||e.System.registerModule){var a=__$curScript.src,r=a.substr(0,a.lastIndexOf("/")+1);document.write('<script type="text/javascript" src="'+r+'es6-module-loader.js" data-init="upgradeSystemLoader">'+"<"+"/script>")}else e.upgradeSystemLoader()}else{var n=require("es6-module-loader");e.System=n.System,e.Loader=n.Loader,e.Module=n.Module,e.upgradeSystemLoader(),module.exports=e.System}}(__$global)}("undefined"!=typeof window?window:global);

@@ -21,2 +21,43 @@ /*

// Absolute URL parsing, from https://gist.github.com/Yaffle/1088850
function parseURI(url) {
var m = String(url).replace(/^\s+|\s+$/g, '').match(/^([^:\/?#]+:)?(\/\/(?:[^:@]*(?::[^:@]*)?@)?(([^:\/?#]*)(?::(\d*))?))?([^?#]*)(\?[^#]*)?(#[\s\S]*)?/);
// authority = '//' + user + ':' + pass '@' + hostname + ':' port
return (m ? {
href : m[0] || '',
protocol : m[1] || '',
authority: m[2] || '',
host : m[3] || '',
hostname : m[4] || '',
port : m[5] || '',
pathname : m[6] || '',
search : m[7] || '',
hash : m[8] || ''
} : null);
}
function toAbsoluteURL(base, href) {
function removeDotSegments(input) {
var output = [];
input.replace(/^(\.\.?(\/|$))+/, '')
.replace(/\/(\.(\/|$))+/g, '/')
.replace(/\/\.\.$/, '/../')
.replace(/\/?[^\/]*/g, function (p) {
if (p === '/..')
output.pop();
else
output.push(p);
});
return output.join('').replace(/^\//, input.charAt(0) === '/' ? '/' : '');
}
href = parseURI(href || '');
base = parseURI(base || '');
return !href || !base ? null : (href.protocol || base.protocol) +
(href.protocol || href.authority ? href.authority : base.authority) +
removeDotSegments(href.protocol || href.authority || href.pathname.charAt(0) === '/' ? href.pathname : (href.pathname ? ((base.authority && !base.pathname ? '/' : '') + base.pathname.slice(0, base.pathname.lastIndexOf('/') + 1) + href.pathname) : base.pathname)) +
(href.protocol || href.authority || href.pathname ? href.search : (href.search || base.search)) +
href.hash;
}
// clone the original System loader

@@ -137,5 +178,9 @@ var originalSystem = __$global.System;

*
* Works as a standalone extension provided there is a
* loader.__exec(load) like the one set in SystemJS core
* Works as a standalone extension, but benefits from having a more
* advanced __eval defined like in SystemJS polyfill-wrapper-end.js
*
* The code here replicates the ES6 linking groups algorithm to ensure that
* circular ES6 compiled into System.register can work alongside circular AMD
* and CommonJS, identically to the actual ES6 loader.
*
*/

@@ -146,3 +191,3 @@ function register(loader) {

if (typeof __eval == 'undefined')
__eval = eval;
__eval = 0 || eval; // uglify breaks without the 0 ||

@@ -162,4 +207,7 @@ // define exec for easy evaluation of a load record (load.name, load.source, load.address)

if (lastLineIndex != -1) {
if (load.source.substr(lastLineIndex + 1, 21) == '//# sourceMappingURL=')
sourceMappingURL = toAbsoluteURL(load.address, load.source.substr(lastLineIndex + 22, load.source.length - lastLineIndex - 23));
if (load.source.substr(lastLineIndex + 1, 21) == '//# sourceMappingURL=') {
sourceMappingURL = load.source.substr(lastLineIndex + 22, load.source.length - lastLineIndex - 22);
if (typeof toAbsoluteURL != 'undefined')
sourceMappingURL = toAbsoluteURL(load.address, sourceMappingURL);
}
}

@@ -186,8 +234,72 @@

// Registry side table
// There are two variations of System.register:
// 1. System.register for ES6 conversion (2-3 params) - System.register([name, ]deps, declare)
// see https://github.com/ModuleLoader/es6-module-loader/wiki/System.register-Explained
//
// 2. System.register for dynamic modules (3-4 params) - System.register([name, ]deps, executingRequire, execute)
// the true or false statement
// this extension implements the linking algorithm for the two variations identical to the spec
// allowing compiled ES6 circular references to work alongside AMD and CJS circular references.
// loader.register sets loader.defined for declarative modules
var anonRegister;
var calledRegister;
function register(name, deps, declare, execute) {
if (typeof name != 'string') {
execute = declare;
declare = deps;
deps = name;
name = null;
}
calledRegister = true;
var register;
// dynamic
if (typeof declare == 'boolean') {
register = {
declarative: false,
deps: deps,
execute: execute,
executingRequire: declare
};
}
else {
// ES6 declarative
if (deps.length > 0 && declare.length != 1)
throw 'Invalid System.register form for ' + name + '. Declare function must take one argument.';
register = {
declarative: true,
deps: deps,
declare: declare
};
}
// named register
if (name) {
// we never overwrite an existing define
if (!loader.defined[name])
loader.defined[name] = register;
}
// anonymous register
else if (register.declarative) {
if (anonRegister)
throw 'Multiple anonymous System.register calls in the same module file.';
anonRegister = register;
}
}
// Registry side table - loader.defined
// Registry Entry Contains:
// - deps
// - declare for register modules
// - execute for dynamic modules, also after declare for register modules
// - declarative boolean indicating which of the above
// - execute for dynamic modules, also after declare for declarative modules
// - executingRequire indicates require drives execution for circularity of dynamic modules
// - declarative optional boolean indicating which of the above
//
// Can preload modules directly on System.defined['my/module'] = { deps, execute, executingRequire }
//
// Then the entry gets populated with derived information during processing:
// - normalizedDeps derived from deps, created in instantiate

@@ -199,27 +311,29 @@ // - depMap array derived from deps, populated gradually in link

// After linked and evaluated, entries are removed
var lastRegister;
function register(name, deps, declare) {
if (typeof name != 'string') {
declare = deps;
deps = name;
name = null;
}
if (declare.length == 0)
throw 'Invalid System.register form. Ensure setting --modules=instantiate if using Traceur.';
function defineRegister(loader) {
if (loader.register)
return;
loader.register = register;
if (!loader.defined)
loader.defined = {};
// script injection mode calls this function synchronously on load
var onScriptLoad = loader.onScriptLoad;
loader.onScriptLoad = function(load) {
onScriptLoad(load);
// anonymous define
if (anonRegister)
load.metadata.entry = anonRegister;
if (anonRegister || calledRegister)
load.metadata.format = load.metadata.format || 'register';
if (calledRegister)
load.metadata.registered = true;
}
}
lastRegister = {
deps: deps,
declare: declare,
declarative: true,
};
defineRegister(loader);
if (name)
loader.defined[name] = lastRegister;
}
loader.defined = loader.defined || {};
loader.register = register;
function buildGroups(entry, loader, groups) {

@@ -351,4 +465,7 @@ groups[entry.groupIndex] = groups[entry.groupIndex] || [];

if (!entry)
if (!entry) {
module = loader.get(name);
if (!module)
throw "System Register: The module requested " + name + " but this was not declared as a dependency";
}

@@ -361,5 +478,9 @@ else {

linkDynamicModule(entry, loader);
module = entry.module;
}
if (!module)
return '';
return module.__useDefault ? module['default'] : module;

@@ -372,3 +493,3 @@ }

entry.module = {};
entry.module = { 'default': {}, __useDefault: true };

@@ -397,3 +518,3 @@ // AMD requires execute the tree first

entry.evaluated = true;
var output = entry.execute(function(name) {
var output = entry.execute.call(loader.global, function(name) {
for (var i = 0; i < entry.deps.length; i++) {

@@ -404,3 +525,3 @@ if (entry.deps[i] != name)

}
}, entry.module, moduleName);
}, entry.module['default'], moduleName);
}

@@ -411,4 +532,6 @@ catch(e) {

if (output)
if (output && output.__esModule)
entry.module = output;
else if (output)
entry.module['default'] = output;
}

@@ -446,3 +569,2 @@

entry.execute.call(loader.global);
delete entry.execute;
}

@@ -455,7 +577,11 @@

var loader = this;
if (loader.defined && loader.defined[load.name]) {
defineRegister(loader);
if (loader.defined[load.name]) {
load.metadata.format = 'defined';
return '';
}
return loaderFetch(load);
anonRegister = null;
calledRegister = false;
// the above get picked up by onScriptLoad
return loaderFetch.call(loader, load);
}

@@ -493,8 +619,15 @@

var entry;
// first we check if this module has already been defined in the registry
if (loader.defined[load.name])
loader.defined[load.name] = entry = loader.defined[load.name];
entry = loader.defined[load.name];
// picked up already by a script injection
else if (load.metadata.entry)
entry = load.metadata.entry;
// otherwise check if it is dynamic
else if (load.metadata.execute) {
loader.defined[load.name] = entry = {
entry = {
declarative: false,
deps: load.metadata.deps || [],

@@ -505,14 +638,32 @@ execute: load.metadata.execute,

}
// Contains System.register calls
else if (load.metadata.format == 'register') {
lastRegister = null;
anonRegister = null;
calledRegister = false;
loader.__exec(load);
// for a bundle, take the last defined module
// in the bundle to be the bundle itself
if (lastRegister)
loader.defined[load.name] = entry = lastRegister;
if (anonRegister)
entry = anonRegister;
if (!calledRegister && !load.metadata.registered)
throw load.name + " detected as System.register but didn't execute.";
}
if (!entry)
// named bundles are just an empty module
if (!entry && load.metadata.format != 'es6')
return {
deps: [],
execute: function() {
return Module({});
}
};
// place this module onto defined for circular references
if (entry)
loader.defined[load.name] = entry;
// no entry -> treat as ES6
else
return loaderInstantiate.call(this, load);

@@ -526,3 +677,3 @@

normalizePromises.push(Promise.resolve(loader.normalize(entry.deps[i], load.name)));
return Promise.all(normalizePromises).then(function(normalizedDeps) {

@@ -558,4 +709,6 @@

for (var name in loader.defined) {
if (loader.defined[name].execute != entry.execute)
if (entry.declarative && loader.defined[name].execute != entry.execute)
continue;
if (!entry.declarative && loader.defined[name].declare != entry.declare);
continue;
loader.defined[name].esmodule = module;

@@ -645,2 +798,3 @@ }

}
var loaderLocate = loader.locate;

@@ -674,12 +828,9 @@ var normalizedBaseURL;

var match;
if (!loader.global.traceur && (load.metadata.format == 'es6' || !load.metadata.format) && (match = load.source.match(aliasRegEx))) {
var depName = match[1] || match[2];
load.metadata.deps = [depName];
load.metadata.execute = function(require) {
return require(depName);
}
if ((load.metadata.format == 'es6' || !load.metadata.format) && (match = load.source.match(aliasRegEx))) {
load.metadata.format = 'cjs';
load.source = 'module.exports = require("' + (match[1] || match[2]) + '");\n';
}
// detect ES6
if (load.metadata.format == 'es6' || !load.metadata.format && load.source.match(es6RegEx)) {
else if (load.metadata.format == 'es6' || !load.metadata.format && load.source.match(es6RegEx)) {
load.metadata.format = 'es6';

@@ -713,43 +864,2 @@

}
// Absolute URL parsing, from https://gist.github.com/Yaffle/1088850
function parseURI(url) {
var m = String(url).replace(/^\s+|\s+$/g, '').match(/^([^:\/?#]+:)?(\/\/(?:[^:@]*(?::[^:@]*)?@)?(([^:\/?#]*)(?::(\d*))?))?([^?#]*)(\?[^#]*)?(#[\s\S]*)?/);
// authority = '//' + user + ':' + pass '@' + hostname + ':' port
return (m ? {
href : m[0] || '',
protocol : m[1] || '',
authority: m[2] || '',
host : m[3] || '',
hostname : m[4] || '',
port : m[5] || '',
pathname : m[6] || '',
search : m[7] || '',
hash : m[8] || ''
} : null);
}
function toAbsoluteURL(base, href) {
function removeDotSegments(input) {
var output = [];
input.replace(/^(\.\.?(\/|$))+/, '')
.replace(/\/(\.(\/|$))+/g, '/')
.replace(/\/\.\.$/, '/../')
.replace(/\/?[^\/]*/g, function (p) {
if (p === '/..')
output.pop();
else
output.push(p);
});
return output.join('').replace(/^\//, input.charAt(0) === '/' ? '/' : '');
}
href = parseURI(href || '');
base = parseURI(base || '');
return !href || !base ? null : (href.protocol || base.protocol) +
(href.protocol || href.authority ? href.authority : base.authority) +
removeDotSegments(href.protocol || href.authority || href.pathname.charAt(0) === '/' ? href.pathname : (href.pathname ? ((base.authority && !base.pathname ? '/' : '') + base.pathname.slice(0, base.pathname.lastIndexOf('/') + 1) + href.pathname) : base.pathname)) +
(href.protocol || href.authority || href.pathname ? href.search : (href.search || base.search)) +
href.hash;
}
}

@@ -768,19 +878,13 @@ /*

function global(loader) {
function createHelpers(loader) {
if (loader.has('@@global-helpers'))
return;
var loaderInstantiate = loader.instantiate;
loader.instantiate = function(load) {
var loader = this;
var hasOwnProperty = loader.global.hasOwnProperty;
var moduleGlobals = {};
// global is a fallback module format
if (load.metadata.format == 'global' || !load.metadata.format) {
load.metadata.deps = load.metadata.deps || [];
var deps = load.metadata.deps;
var curGlobalObj;
var moduleGlobals = loader.moduleGlobals = loader.moduleGlobals || {};
var globalExport = load.metadata.exports;
var init = load.metadata.init;
load.metadata.execute = function(require, exports, moduleName) {
var hasOwnProperty = loader.global.hasOwnProperty;
loader.set('@@global-helpers', Module({
prepareGlobal: function(moduleName, deps) {
// first, we add all the dependency modules to the global

@@ -796,13 +900,10 @@ for (var i = 0; i < deps.length; i++) {

// in order to detect changes
var globalObj = {};
curGlobalObj = {};
for (var g in loader.global)
if (!hasOwnProperty || loader.global.hasOwnProperty(g))
globalObj[g] = loader.global[g];
if (globalExport)
load.source += '\nthis["' + globalExport + '"] = ' + globalExport;
loader.__exec(load);
curGlobalObj[g] = loader.global[g];
},
retrieveGlobal: function(moduleName, exportName, init) {
var singleGlobal;
var exports = {};

@@ -820,5 +921,5 @@ // run init

// if one global, then that is the module directly
if (globalExport && !singleGlobal) {
var firstPart = globalExport.split('.')[0];
singleGlobal = eval.call(loader.global, globalExport);
if (exportName && !singleGlobal) {
var firstPart = exportName.split('.')[0];
singleGlobal = eval.call(loader.global, exportName);
exports[firstPart] = loader.global[firstPart];

@@ -831,19 +932,58 @@ }

continue;
if ((!hasOwnProperty || loader.global.hasOwnProperty(g)) && g != loader.global && globalObj[g] != loader.global[g]) {
if ((!hasOwnProperty || loader.global.hasOwnProperty(g)) && g != loader.global && curGlobalObj[g] != loader.global[g]) {
exports[g] = loader.global[g];
if (singleGlobal) {
if (singleGlobal !== loader.global[g])
singleGlobal = false;
singleGlobal = undefined;
}
else if (singleGlobal !== false)
else if (singleGlobal !== false) {
singleGlobal = loader.global[g];
}
}
}
}
moduleGlobals[load.name] = exports;
var module = singleGlobal ? singleGlobal : exports;
moduleGlobals[moduleName] = exports;
return { __useDefault: true, 'default': module };
return typeof singleGlobal != 'undefined' ? singleGlobal : exports;
}
}));
}
createHelpers(loader);
var loaderInstantiate = loader.instantiate;
loader.instantiate = function(load) {
var loader = this;
createHelpers(loader);
var exportName = load.metadata.exports;
if (!load.metadata.format)
load.metadata.format = 'global';
// global is a fallback module format
if (load.metadata.format == 'global') {
load.metadata.execute = function(require, exports, moduleName) {
loader.get('@@global-helpers').prepareGlobal(moduleName, load.metadata.deps);
if (exportName)
load.source += '\nthis["' + exportName + '"] = ' + exportName + ';';
// disable AMD detection
var define = loader.global.define;
loader.global.define = undefined;
// ensure no NodeJS environment detection
loader.global.module = undefined;
loader.global.exports = undefined;
loader.__exec(load);
loader.global.define = define;
return loader.get('@@global-helpers').retrieveGlobal(moduleName, exportName, load.metadata.init);
}
}

@@ -880,13 +1020,2 @@ return loaderInstantiate.call(loader, load);

loader._getCJSDeps = getCJSDeps;
var loaderTranslate = loader.translate;
loader.translate = function(load) {
var loader = this;
if (!loader._getCJSDeps)
loader._getCJSDeps = getCJSDeps;
return loaderTranslate.call(loader, load);
}
var noop = function() {}

@@ -906,4 +1035,18 @@ var nodeProcess = {

};
loader.set('@@nodeProcess', Module(nodeProcess));
loader._getCJSDeps = getCJSDeps;
if (!loader.has('@@nodeProcess'))
loader.set('@@nodeProcess', Module({ 'default': nodeProcess, __useDefault: true }));
var loaderTranslate = loader.translate;
loader.translate = function(load) {
var loader = this;
if (!loader.has('@@nodeProcess'))
loader.set('@@nodeProcess', Module({ 'default': nodeProcess, __useDefault: true }));
if (!loader._getCJSDeps)
loader._getCJSDeps = getCJSDeps;
return loaderTranslate.call(loader, load);
}
var loaderInstantiate = loader.instantiate;

@@ -946,2 +1089,3 @@ loader.instantiate = function(load) {

// disable AMD detection
var define = loader.global.define;
loader.global.define = undefined;

@@ -951,10 +1095,7 @@

loader.global.define = define;
loader.global._g = undefined;
var output = globals.module.exports;
if (output && output.__esModule)
return output;
else if (output !== undefined)
return { __useDefault: true, 'default': output };
return globals.module.exports;
}

@@ -972,6 +1113,8 @@ }

var isNode = typeof module != 'undefined' && module.exports;
// AMD Module Format Detection RegEx
// define([.., .., ..], ...)
// define(varName); || define(function(require, exports) {}); || define({})
var amdRegEx = /(?:^\s*|[}{\(\);,\n\?\&]\s*)define\s*\(\s*("[^"]+"\s*,\s*|'[^']+'\s*,\s*)?(\[(\s*("[^"]+"|'[^']+')\s*,)*(\s*("[^"]+"|'[^']+')\s*)?\]|function\s*|{|[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*\))/;
var amdRegEx = /(?:^\s*|[}{\(\);,\n\?\&]\s*)define\s*\(\s*("[^"]+"\s*,\s*|'[^']+'\s*,\s*)?\s*(\[(\s*("[^"]+"|'[^']+')\s*,)*(\s*("[^"]+"|'[^']+')\s*)?\]|function\s*|{|[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*\))/;

@@ -1017,7 +1160,9 @@ /*

var lastDefine;
var anonDefine;
// set to true of the current module turns out to be a named define bundle
var defineBundle;
function createDefine(loader) {
anonDefine = null;
defineBundle = null;
lastDefine = null;
// ensure no NodeJS environment detection

@@ -1027,6 +1172,18 @@ loader.global.module = undefined;

if (loader.global.define && loader.global.define.loader == loader)
return;
// script injection mode calls this function synchronously on load
var onScriptLoad = loader.onScriptLoad;
loader.onScriptLoad = function(load) {
onScriptLoad(load);
if (anonDefine || defineBundle)
load.metadata.format = 'defined';
if (anonDefine) {
load.metadata.deps = load.metadata.deps ? load.metadata.deps.concat(anonDefine.deps) : anonDefine.deps;
load.metadata.execute = anonDefine.execute;
}
}
loader.global.define = function(name, deps, factory) {

@@ -1051,6 +1208,2 @@ if (typeof name != 'string') {

// a module file can only define one anonymous module
if (!name && lastDefine)
throw "Multiple defines for anonymous module";
// remove system dependencies

@@ -1067,3 +1220,3 @@ var requireIndex, exportsIndex, moduleIndex

lastDefine = {
var define = {
deps: deps,

@@ -1090,14 +1243,39 @@ execute: function(require, exports, moduleName) {

output = output || module && module.exports;
if (typeof output == 'undefined' && module)
output = module.exports;
if (output && output.__esModule)
if (typeof output != 'undefined')
return output;
else if (output !== undefined)
return { __useDefault: true, 'default': output };
}
};
// attaches to loader.defined as dynamic
if (name)
loader.defined[name] = lastDefine;
// anonymous define
if (!name) {
// already defined anonymously -> throw
if (anonDefine)
throw "Multiple defines for anonymous module";
anonDefine = define;
}
// named define
else {
// if it has no dependencies and we don't have any other
// defines, then let this be an anonymous define
if (deps.length == 0 && !anonDefine && !defineBundle)
anonDefine = define;
// otherwise its a bundle only
else
anonDefine = null;
// the above is just to support single modules of the form:
// define('jquery')
// still loading anonymously
// because it is done widely enough to be useful
// note this is now a bundle
defineBundle = true;
// define the module through the register registry
loader.register(name, define.deps, false, define.execute);
}
};

@@ -1109,15 +1287,11 @@

if (!isNode && loader.amdDefine !== false)
createDefine(loader);
if (loader.scriptLoader) {
var loaderFetch = loader.fetch;
var scriptLoader = true;
loader.fetch = function(load) {
createDefine(this);
return Promise.resolve(loaderFetch.call(this, load)).then(function(source) {
if (lastDefine) {
load.metadata.format = 'defined';
load.metadata.deps = load.metadata.deps ? load.metadata.deps.concat(lastDefine.deps) : lastDefine.deps;
load.metadata.execute = lastDefine.execute;
}
return source;
});
if (loader.amdDefine !== false)
createDefine(this);
return loaderFetch.call(this, load);
}

@@ -1133,3 +1307,3 @@ }

load.metadata.format = 'amd';
createDefine(loader);

@@ -1139,7 +1313,12 @@

if (!lastDefine)
if (isNode)
loader.global.define = undefined;
if (!anonDefine && !defineBundle)
throw "AMD module " + load.name + " did not define";
load.metadata.deps = load.metadata.deps ? load.metadata.deps.concat(lastDefine.deps) : lastDefine.deps;
load.metadata.execute = lastDefine.execute;
if (anonDefine) {
load.metadata.deps = load.metadata.deps ? load.metadata.deps.concat(anonDefine.deps) : anonDefine.deps;
load.metadata.execute = anonDefine.execute;
}
}

@@ -1365,5 +1544,3 @@

else
return new Promise(function(resolve) {
resolve(loader.locate(load));
})
return Promise.resolve(loader.locate(load))
.then(function(address) {

@@ -1381,4 +1558,6 @@ return address.substr(0, address.length - 3);

var loader = this;
if (load.metadata.plugin && load.metadata.plugin.fetch)
return load.metadata.plugin.fetch.call(loader, load);
if (load.metadata.plugin && load.metadata.plugin.fetch && !load.metadata.pluginFetchCalled) {
load.metadata.pluginFetchCalled = true;
return load.metadata.plugin.fetch.call(loader, load, loaderFetch);
}
else

@@ -1392,3 +1571,8 @@ return loaderFetch.call(loader, load);

if (load.metadata.plugin && load.metadata.plugin.translate)
return load.metadata.plugin.translate.call(loader, load, loaderTranslate);
return Promise.resolve(load.metadata.plugin.translate.call(loader, load)).then(function(result) {
if (result)
return result;
else
return loaderTranslate.call(loader, load);
});
else

@@ -1402,5 +1586,13 @@ return loaderTranslate.call(loader, load);

if (load.metadata.plugin && load.metadata.plugin.instantiate)
return load.metadata.plugin.instantiate.call(loader, load, loaderInstantiate);
return Promise.resolve(load.metadata.plugin.instantiate.call(loader, load)).then(function(result) {
if (result) {
load.metadata.format = 'defined';
load.metadata.execute = function() {
return result;
};
}
return loaderInstantiate.call(loader, load);
});
else
return loaderInstantiate.call(this, load);
return loaderInstantiate.call(loader, load);
}

@@ -1436,2 +1628,3 @@

loader.fetch = function(load) {
var loader = this;
if (!loader.bundles)

@@ -1449,2 +1642,8 @@ loader.bundles = {};

loader.bundles[normalized] = loader.bundles[normalized] || loader.bundles[b];
// note this module is a bundle in the meta
loader.meta = loader.meta || {};
loader.meta[normalized] = loader.meta[normalized] || {};
loader.meta[normalized].bundle = true;
return loader.load(normalized);

@@ -1679,2 +1878,43 @@ })

}
/*
* Dependency Tree Cache
*
* Allows a build to pre-populate a dependency trace tree on the loader of
* the expected dependency tree, to be loaded upfront when requesting the
* module, avoinding the n round trips latency of module loading, where
* n is the dependency tree depth.
*
* eg:
* System.depCache = {
* 'app': ['normalized', 'deps'],
* 'normalized': ['another'],
* 'deps': ['tree']
* };
*
* System.import('app')
* // simultaneously starts loading all of:
* // 'normalized', 'deps', 'another', 'tree'
* // before "app" source is even loaded
*/
function depCache(loader) {
loader.depCache = loader.depCache || {};
loaderLocate = loader.locate;
loader.locate = function(load) {
var loader = this;
if (!loader.depCache)
loader.depCache = {};
// load direct deps, in turn will pick up their trace trees
var deps = loader.depCache[load.name];
if (deps)
for (var i = 0; i < deps.length; i++)
loader.load(deps[i]);
return loaderLocate.call(loader, load);
}
}
meta(System);

@@ -1690,30 +1930,8 @@ register(System);

versions(System);
if (__$curScript) {
System.baseURL = __$curScript.getAttribute('data-baseurl') || System.baseURL;
depCache(System);
var configPath = __$curScript.getAttribute('data-config');
if (configPath && configPath.substr(configPath.length - 1) === '/')
configPath += 'config.json';
if (__$curScript && !System.paths['@traceur'])
System.paths['@traceur'] = typeof __$curScript != 'undefined' && __$curScript.getAttribute('data-traceur-src')
|| System.baseURL + (System.baseURL.lastIndexOf('/') == System.baseURL.length - 1 ? '' : '/') + 'traceur.js';
var main = __$curScript.getAttribute('data-main');
if (!System.paths['@traceur'])
System.paths['@traceur'] = typeof __$curScript != 'undefined' && __$curScript.getAttribute('data-traceur-src');
(!configPath ? Promise.resolve() :
Promise.resolve(System.fetch.call(System, { address: configPath, metadata: {} }))
.then(JSON.parse)
.then(System.config)
).then(function() {
if (main)
return System['import'](main);
})
['catch'](function(e) {
setTimeout(function() {
throw e;
})
});
}
};

@@ -1723,3 +1941,3 @@

try {
__source = 'with(__global) { (function() { ' + __source + ' \n }).call(__global); }'
__source = (__global != __$global ? 'with(__global) { (function() { ' + __source + ' \n }).call(__global); }' : __source)
+ '\n//# sourceURL=' + __address

@@ -1760,4 +1978,4 @@ + (__sourceMap ? '\n//# sourceMappingURL=' + __sourceMap : '');

global.Module = es6ModuleLoader.Module;
global.upgradeSystemLoader();
module.exports = global.System;
global.upgradeSystemLoader();
}

@@ -1764,0 +1982,0 @@ })(__$global);

@@ -8,2 +8,2 @@ /*

!function(__$global){function __eval(__source,__global,__address,__sourceMap){try{__source="with(__global) { (function() { "+__source+" \n }).call(__global); }\n//# sourceURL="+__address+(__sourceMap?"\n//# sourceMappingURL="+__sourceMap:""),eval(__source)}catch(e){throw"SyntaxError"==e.name&&(e.message="Evaluating "+__address+"\n "+e.message),e}}__$global.upgradeSystemLoader=function(){function e(e){function t(e,t){var a=e.meta&&e.meta[t.name];if(a)for(var r in a)t.metadata[r]=t.metadata[r]||a[r]}var a=/^(\s*\/\*.*\*\/|\s*\/\/[^\n]*|\s*"[^"]+"\s*;?|\s*'[^']+'\s*;?)+/,r=/\/\*.*\*\/|\/\/[^\n]*|"[^"]+"\s*;?|'[^']+'\s*;?/g;e.meta={};var n=e.locate;e.locate=function(e){return t(this,e),n.call(this,e)};var o=e.translate;e.translate=function(e){var n=e.source.match(a);if(n)for(var i=n[0].match(r),s=0;s<i.length;s++){var l=i[s].length,u=i[s].substr(0,1);if(";"==i[s].substr(l-1,1)&&l--,'"'==u||"'"==u){var d=i[s].substr(1,i[s].length-3),c=d.substr(0,d.indexOf(" "));if(c){var f=d.substr(c.length+1,d.length-c.length-1);e.metadata[c]instanceof Array?e.metadata[c].push(f):e.metadata[c]=f}}}return t(this,e),o.call(this,e)}}function t(e){function t(e){var t=this;"@traceur"==e.name&&(c=f,p=Module);var a,r=e.source.lastIndexOf("\n");-1!=r&&"//# sourceMappingURL="==e.source.substr(r+1,21)&&(a=toAbsoluteURL(e.address,e.source.substr(r+22,e.source.length-r-23))),__eval(e.source,t.global,e.address,a),"@traceur"==e.name&&(t.global.traceurSystem=t.global.System,t.global.System=c)}function a(e){for(var t=[],a=0;a<e.length;a++)-1==d.call(t,e[a])&&t.push(e[a]);return t}function r(t,a,r){if("string"!=typeof t&&(r=a,a=t,t=null),0==r.length)throw"Invalid System.register form. Ensure setting --modules=instantiate if using Traceur.";e.defined||(e.defined={}),m={deps:a,declare:r,declarative:!0},t&&(e.defined[t]=m)}function n(e,t,a){if(a[e.groupIndex]=a[e.groupIndex]||[],-1==d.call(a[e.groupIndex],e)){a[e.groupIndex].push(e);for(var r=0;r<e.normalizedDeps.length;r++){var o=e.normalizedDeps[r],i=t.defined[o];if(i){var s=e.groupIndex+(i.declarative!=e.declarative);if(void 0===i.groupIndex||i.groupIndex<s){if(i.groupIndex&&(a[i.groupIndex].splice(a[i.groupIndex].indexOf(i),1),0==a[i.groupIndex].length))throw new TypeError("Mixed dependency cycle detected");i.groupIndex=s}n(i,t,a)}}}}function o(e,t){var a=t.defined[e];a.groupIndex=0;var r=[];n(a,t,r);for(var o=!!a.declarative==r.length%2,s=r.length-1;s>=0;s--){for(var u=r[s],d=0;d<u.length;d++){var c=u[d];o?i(c,t):l(c,t)}o=!o}}function i(e,t){if(!e.module){var a=[],r=e.declare.call(t.global,a);e.module=r.exports,e.exportStar=r.exportStar,e.execute=r.execute;for(var n=e.module,o=0;o<e.normalizedDeps.length;o++){var s=e.normalizedDeps[o],l=t.defined[s];l?l.module?depModule=l.module:(i(l,t),depModule=l.module):depModule=t.get(s),e.exportStar&&-1!=d.call(e.exportStar,e.normalizedDeps[o])&&!function(e){for(var t in e)(function(t){Object.defineProperty(n,t,{enumerable:!0,get:function(){return e[t]},set:function(a){e[t]=a}})})(t)}(depModule),a[o]=depModule}}}function s(e,t){var a,r=t.defined[e];return r?(r.declarative?u(e,[],t):r.evaluated||l(r,t),a=r.module):a=t.get(e),a.__useDefault?a["default"]:a}function l(e,t){if(!e.module){if(e.module={},!e.executingRequire)for(var a=0;a<e.normalizedDeps.length;a++){var r=e.normalizedDeps[a],n=t.defined[r];n&&l(n,t)}var o;for(var i in t.defined)if(t.defined[i]==e){o=i;break}try{e.evaluated=!0;var u=e.execute(function(a){for(var r=0;r<e.deps.length;r++)if(e.deps[r]==a)return s(e.normalizedDeps[r],t)},e.module,o)}catch(d){throw d}u&&(e.module=u)}}function u(e,t,a){var r=a.defined[e];if(!r.evaluated&&r.declarative){t.push(e);for(var n=0;n<r.normalizedDeps.length;n++){var o=r.normalizedDeps[n];-1==d.call(t,o)&&(a.defined[o]?u(o,t,a):a.get(o))}r.evaluated||(r.evaluated=!0,r.execute.call(a.global),delete r.execute)}}"undefined"==typeof d&&(d=Array.prototype.indexOf),"undefined"==typeof __eval&&(__eval=eval);var c,p;e.__exec=t;var m;e.defined=e.defined||{},e.register=r;var g=/System\.register/,h=e.fetch;e.fetch=function(e){var t=this;return t.defined&&t.defined[e.name]?(e.metadata.format="defined",""):h(e)};var v=e.translate;e.translate=function(e){return this.register=r,this.__exec=t,e.metadata.deps=e.metadata.deps||[],Promise.resolve(v.call(this,e)).then(function(t){return(e.metadata.init||e.metadata.exports)&&(e.metadata.format=e.metadata.format||"global"),("register"==e.metadata.format||!e.metadata.format&&e.source.match(g))&&(e.metadata.format="register"),t})};var b=e.instantiate;e.instantiate=function(e){var t,r=this;if(r.defined[e.name]?r.defined[e.name]=t=r.defined[e.name]:e.metadata.execute?r.defined[e.name]=t={deps:e.metadata.deps||[],execute:e.metadata.execute,executingRequire:e.metadata.executingRequire}:"register"==e.metadata.format&&(m=null,r.__exec(e),m&&(r.defined[e.name]=t=m)),!t)return b.call(this,e);t.deps=a(t.deps);for(var n=[],i=0;i<t.deps.length;i++)n.push(Promise.resolve(r.normalize(t.deps[i],e.name)));return Promise.all(n).then(function(a){return t.normalizedDeps=a,t.depMap=[],{deps:t.deps,execute:function(){if(t.esmodule)return delete r.defined[e.name],t.esmodule;o(e.name,r),u(e.name,[],r),delete r.defined[e.name];var a=Module(t.module);for(var n in r.defined)r.defined[n].execute==t.execute&&(r.defined[n].esmodule=a);return a}}})}}function a(e){function t(e){var t=String(e).replace(/^\s+|\s+$/g,"").match(/^([^:\/?#]+:)?(\/\/(?:[^:@]*(?::[^:@]*)?@)?(([^:\/?#]*)(?::(\d*))?))?([^?#]*)(\?[^#]*)?(#[\s\S]*)?/);return t?{href:t[0]||"",protocol:t[1]||"",authority:t[2]||"",host:t[3]||"",hostname:t[4]||"",port:t[5]||"",pathname:t[6]||"",search:t[7]||"",hash:t[8]||""}:null}function a(e,a){function r(e){var t=[];return e.replace(/^(\.\.?(\/|$))+/,"").replace(/\/(\.(\/|$))+/g,"/").replace(/\/\.\.$/,"/../").replace(/\/?[^\/]*/g,function(e){"/.."===e?t.pop():t.push(e)}),t.join("").replace(/^\//,"/"===e.charAt(0)?"/":"")}return a=t(a||""),e=t(e||""),a&&e?(a.protocol||e.protocol)+(a.protocol||a.authority?a.authority:e.authority)+r(a.protocol||a.authority||"/"===a.pathname.charAt(0)?a.pathname:a.pathname?(e.authority&&!e.pathname?"/":"")+e.pathname.slice(0,e.pathname.lastIndexOf("/")+1)+a.pathname:e.pathname)+(a.protocol||a.authority||a.pathname?a.search:a.search||e.search)+a.hash:null}var r=e["import"];e["import"]=function(e,t){return r.call(this,e,t).then(function(e){return e.__useDefault?e["default"]:e})},e.set("@empty",Module({})),e.config=function(e){for(var t in e){var a=e[t];if("object"==typeof a){this[t]=this[t]||{};for(var r in a)this[t][r]=a[r]}else this[t]=a}};var n;if("undefined"==typeof window)n=process.cwd()+"/";else if(n=document.baseURI,!n){var o=document.getElementsByTagName("base");n=o[0]&&o[0].href||window.location.href}var i,s=e.locate;e.locate=function(e){return this.baseURL!=i&&(i=a(n,this.baseURL),"/"!=i.substr(i.length-1,1)&&(i+="/"),this.baseURL=i),Promise.resolve(s.call(this,e))};var l=/^\s*export\s*\*\s*from\s*(?:'([^']+)'|"([^"]+)")/,u=/(?:^\s*|[}{\(\);,\n]\s*)(import\s+['"]|(import|module)\s+[^"'\(\)\n;]+\s+from\s+['"]|export\s+(\*|\{|default|function|var|const|let|[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*))/,d=e.translate;e.translate=function(e){var t=this;if("@traceur"==e.name)return d.call(t,e);var a;if(!t.global.traceur&&("es6"==e.metadata.format||!e.metadata.format)&&(a=e.source.match(l))){var r=a[1]||a[2];e.metadata.deps=[r],e.metadata.execute=function(e){return e(r)}}return"es6"!=e.metadata.format&&(e.metadata.format||!e.source.match(u))||(e.metadata.format="es6",t.global.traceur)?d.call(t,e):t["import"]("@traceur").then(function(){return d.call(t,e)})};var c=e.instantiate;e.instantiate=function(e){var t=this;return"@traceur"==e.name?(t.__exec(e),{deps:[],execute:function(){return Module({})}}):c.call(t,e)}}function r(e){var t=e.instantiate;e.instantiate=function(e){var a=this;if("global"==e.metadata.format||!e.metadata.format){e.metadata.deps=e.metadata.deps||[];var r=e.metadata.deps,n=a.moduleGlobals=a.moduleGlobals||{},o=e.metadata.exports,i=e.metadata.init;e.metadata.execute=function(t,s){for(var l=a.global.hasOwnProperty,u=0;u<r.length;u++){var d=n[r[u]];if(d)for(var c in d)a.global[c]=d[c]}var f={};for(var p in a.global)(!l||a.global.hasOwnProperty(p))&&(f[p]=a.global[p]);o&&(e.source+='\nthis["'+o+'"] = '+o),a.__exec(e);var m;if(i){for(var g=[],u=0;u<r.length;u++)g.push(t(r[u]));m=i.apply(a.global,g)}if(o&&!m){var h=o.split(".")[0];m=eval.call(a.global,o),s[h]=a.global[h]}else for(var p in a.global)(l||"sessionStorage"!=p&&"localStorage"!=p&&"clipboardData"!=p&&"frames"!=p)&&(l&&!a.global.hasOwnProperty(p)||p==a.global||f[p]==a.global[p]||(s[p]=a.global[p],m?m!==a.global[p]&&(m=!1):m!==!1&&(m=a.global[p])));n[e.name]=s;var v=m?m:s;return{__useDefault:!0,"default":v}}}return t.call(a,e)}}function n(e){function t(e){a.lastIndex=0,r.lastIndex=0;for(var t,o=[],e=e.replace(n,"");t=r.exec(e);)o.push(t[2]||t[3]);return o}var a=/(?:^\s*|[}{\(\);,\n=:\?\&]\s*|module\.)(exports\s*\[\s*('[^']+'|"[^"]+")\s*\]|\exports\s*\.\s*[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*|exports\s*\=)/,r=/(?:^\s*|[}{\(\);,\n=:\?\&]\s*)require\s*\(\s*("([^"]+)"|'([^']+)')\s*\)/g,n=/(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/gm;e._getCJSDeps=t;var o=e.translate;e.translate=function(e){var a=this;return a._getCJSDeps||(a._getCJSDeps=t),o.call(a,e)};var i=function(){},s={nextTick:function(e){setTimeout(e,7)},browser:"undefined"!=typeof window,env:{},argv:[],on:i,once:i,off:i,emit:i,cwd:function(){return"/"}};e.set("@@nodeProcess",Module(s));var l=e.instantiate;e.instantiate=function(n){return n.metadata.format||(a.lastIndex=0,r.lastIndex=0,(r.exec(n.source)||a.exec(n.source))&&(n.metadata.format="cjs")),"cjs"==n.metadata.format&&(n.metadata.deps=n.metadata.deps?n.metadata.deps.concat(t(n.source)):n.metadata.deps,n.metadata.executingRequire=!0,n.metadata.execute=function(t,a){var r=n.address.split("/");r.pop(),r=r.join("/");var o=e.global._g={global:e.global,exports:a,module:{exports:a},process:s,require:t,__filename:n.address,__dirname:r},i="";for(var l in o)i+="var "+l+" = _g."+l+";";n.source=i+n.source,e.global.define=void 0,e.__exec(n),e.global._g=void 0;var u=o.module.exports;return u&&u.__esModule?u:void 0!==u?{__useDefault:!0,"default":u}:void 0}),l.call(this,n)}}function o(e){function t(e,a,r,n){var o=this;if("object"==typeof e&&!(e instanceof Array))return t.apply(null,Array.prototype.splice.call(arguments,1,arguments.length-1));if(!(e instanceof Array)){if("string"==typeof e){var i=o.get(e);return i.__useDefault?i["default"]:i}throw"Invalid require"}Promise.all(e.map(function(e){return o["import"](e,n)})).then(function(e){a.apply(null,e)},r)}function a(e,a,r){return function(n,o,i){return"string"==typeof n?a(n):t.call(r,n,o,i,{name:e})}}function r(e){o=null,e.global.module=void 0,e.global.exports=void 0,e.global.define&&e.global.define.loader==e||(e.global.define=function(t,r,n){if("string"!=typeof t&&(n=r,r=t,t=null),!(r instanceof Array)){if(n=r,!e._getCJSDeps)throw"AMD extension needs CJS extension for AMD CJS support";r=["require","exports","module"].concat(e._getCJSDeps(n.toString()))}if("function"!=typeof n&&(n=function(e){return function(){return e}}(n)),!t&&o)throw"Multiple defines for anonymous module";var i,s,l;-1!=(i=d.call(r,"require"))&&r.splice(i,1),-1!=(s=d.call(r,"exports"))&&r.splice(s,1),-1!=(l=d.call(r,"module"))&&r.splice(l,1),o={deps:r,execute:function(t,o,u){for(var d=[],c=0;c<r.length;c++)d.push(t(r[c]));var f;-1!=l&&d.splice(l,0,o,f={id:u,uri:e.baseURL+u,config:function(){return{}},exports:o}),-1!=s&&d.splice(s,0,o),-1!=i&&d.splice(i,0,a(u,t,e));var p=n.apply(e.global,d);return p=p||f&&f.exports,p&&p.__esModule?p:void 0!==p?{__useDefault:!0,"default":p}:void 0}},t&&(e.defined[t]=o)},e.global.define.amd={},e.global.define.loader=e)}var n=/(?:^\s*|[}{\(\);,\n\?\&]\s*)define\s*\(\s*("[^"]+"\s*,\s*|'[^']+'\s*,\s*)?(\[(\s*("[^"]+"|'[^']+')\s*,)*(\s*("[^"]+"|'[^']+')\s*)?\]|function\s*|{|[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*\))/;e.require=t;var o;if(e.scriptLoader){var i=e.fetch;e.fetch=function(e){return r(this),Promise.resolve(i.call(this,e)).then(function(t){return o&&(e.metadata.format="defined",e.metadata.deps=e.metadata.deps?e.metadata.deps.concat(o.deps):o.deps,e.metadata.execute=o.execute),t})}}var s=e.instantiate;e.instantiate=function(e){var t=this;if("amd"==e.metadata.format||!e.metadata.format&&e.source.match(n)){if(e.metadata.format="amd",r(t),t.__exec(e),!o)throw"AMD module "+e.name+" did not define";e.metadata.deps=e.metadata.deps?e.metadata.deps.concat(o.deps):o.deps,e.metadata.execute=o.execute}return s.call(t,e)}}function i(e){function t(e,t){var a=t.split("/"),r=e.split("/");if(a.length>r.length)return 0;for(var n=0;n<a.length;n++)if(r[n]!=a[n])return 0;return a.length}function a(e,a,r){var n,o,i,s,l=0,u=0;if(a)for(var d in r.map){var c=r.map[d];if("object"==typeof c&&!(t(a,d)<=u))for(var f in c)t(e,f)<=l||(n=f,l=f.split("/").length,o=d,u=d.split("/").length)}n&&(s=e.split("/"),i=s.splice(l,s.length-l).join("/"),e=r.map[o][n]+(i?"/"+i:""),l=0);for(var d in r.map){var c=r.map[d];"string"==typeof c&&(t(e,d)<=l||(n=d,l=d.split("/").length))}return l?(s=e.split("/"),i=s.splice(l,s.length-l).join("/"),r.map[n]+(i?"/"+i:"")):e}e.map=e.map||{};var r=e.normalize;e.normalize=function(e,t,n){var o=this;o.map||(o.map={});var i=!1;return"/"==e.substr(e.length-1,1)&&(i=!0,e+="#"),Promise.resolve(r.call(o,e,t,n)).then(function(e){if(e=a(e,t,o),i){var r=e.split("/");r.pop();var n=r.pop();r.push(n),r.push(n),e=r.join("/")}return e})}}function s(e){"undefined"==typeof d&&(d=Array.prototype.indexOf);var t=e.normalize;e.normalize=function(e,a,r){var n,o=this;return a&&-1!=(n=a.indexOf("!"))&&(a=a.substr(0,n)),Promise.resolve(t.call(o,e,a,r)).then(function(e){var t=e.lastIndexOf("!");if(-1!=t){var n=e.substr(0,t),i=e.substr(t+1)||n.substr(n.lastIndexOf(".")+1);return new Promise(function(e){e(o.normalize(i,a,r))}).then(function(e){return i=e,o.normalize(n,a,r)}).then(function(e){return e+"!"+i})}return e})};var a=e.locate;e.locate=function(e){var t=this,r=e.name,n=r.lastIndexOf("!");if(-1!=n){var o=r.substr(n+1);e.name=r.substr(0,n);var i=t.pluginLoader||t;return i["import"](o).then(function(){var a=i.get(o);return a=a["default"]||a,e.metadata.plugin=a,e.metadata.pluginName=o,e.metadata.pluginArgument=e.name,a.locate?a.locate.call(t,e):new Promise(function(a){a(t.locate(e))}).then(function(e){return e.substr(0,e.length-3)})})}return a.call(this,e)};var r=e.fetch;e.fetch=function(e){var t=this;return e.metadata.plugin&&e.metadata.plugin.fetch?e.metadata.plugin.fetch.call(t,e):r.call(t,e)};var n=e.translate;e.translate=function(e){var t=this;return e.metadata.plugin&&e.metadata.plugin.translate?e.metadata.plugin.translate.call(t,e,n):n.call(t,e)};var o=e.instantiate;e.instantiate=function(e){var t=this;return e.metadata.plugin&&e.metadata.plugin.instantiate?e.metadata.plugin.instantiate.call(t,e,o):o.call(this,e)}}function l(e){"undefined"==typeof d&&(d=Array.prototype.indexOf),e.bundles=e.bundles||{};var t=e.fetch;e.fetch=function(a){e.bundles||(e.bundles={});for(var r in e.bundles)if(-1!=d.call(e.bundles[r],a.name))return Promise.resolve(e.normalize(r)).then(function(t){return e.bundles[t]=e.bundles[t]||e.bundles[r],e.load(t)}).then(function(){return""});return t.apply(this,arguments)}}function u(e){"undefined"==typeof d&&(d=Array.prototype.indexOf);var t=/^(\d+)(?:\.(\d+)(?:\.(\d+)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?)?)?$/,a=function(e,t){var a,r=e.split("."),n=t.split(".");r[2]&&-1!=(a=d.call(r[2],"-"))&&r.splice(2,1,r[2].substr(0,a),r[2].substr(a+1)),n[2]&&-1!=(a=d.call(n[2],"-"))&&n.splice(2,1,n[2].substr(0,a),n[2].substr(a+1));for(var o=0;o<Math.max(r.length,n.length);o++){if(!r[o])return 1;if(!n[o])return-1;if(r[o]!=n[o])return parseInt(r[o])>parseInt(n[o])?1:-1}return 0};e.versions=e.versions||{};var r=e.normalize;e.normalize=function(n,o,i){e.versions||(e.versions={});var s=this.versions;return Promise.resolve(r.call(this,n,o,i)).then(function(e){var r,n,o,i,l=e.indexOf("@");if(-1==l||0==l){for(var u in s)if(i=s[u],e.substr(0,u.length)==u&&(o=e.substr(u.length,1),!o||"/"==o))return u+"@"+("string"==typeof i?i:i[i.length-1])+e.substr(u.length);return e}r=e.substr(l+1).split("/")[0];var c,f=r.length;if("^"==r.substr(0,1)&&(r=r.substr(1),c=!0),n=r.match(t),!n)return e;c&&(n[2]||(c=!1),n[3]||(n[2]>0?n[3]="0":c=!1)),c&&(n[1]>0?(n[2]||(r=n[1]+".0.0"),n[3]||(r=n[1]+".0"),c=r,n=[n[1]]):n[2]>0?(c=r,n=[0,n[2]]):(c=!1,n=[0,0,n[3]]),r=n.join("."));var p=e.substr(0,l);if(i=s[p]||[],"string"==typeof i&&(i=[i]),!n[3]||c)for(var m=i.length-1;m>=0;m--){var g=i[m];if(g.substr(0,r.length)==r&&g.substr(r.length,1).match(/^[\.\-]?$/)&&(!c||c&&-1!=a(g,c)))return p+"@"+g+e.substr(p.length+f+1)}return-1==d.call(i,r)&&(i.push(r),i.sort(a),e=p+"@"+r+e.substr(p.length+f+1),n[3]&&-1!=(l=d.call(i,n[1]+"."+n[2]))&&i.splice(l,1),n[2]&&-1!=(l=d.call(i,n[1]))&&i.splice(l,1),s[p]=1==i.length?i[0]:i),e})}}__$global.upgradeSystemLoader=void 0;var d=Array.prototype.indexOf||function(e){for(var t=0,a=this.length;a>t;t++)if(this[t]===e)return t;return-1},c=__$global.System,f=__$global.System=new LoaderPolyfill(c);if(f.baseURL=c.baseURL,f.paths={"*":"*.js"},f.originalSystem=c,f.noConflict=function(){__$global.SystemJS=f,__$global.System=f.originalSystem},e(f),t(f),a(f),r(f),n(f),o(f),i(f),s(f),l(f),u(f),__$curScript){f.baseURL=__$curScript.getAttribute("data-baseurl")||f.baseURL;var p=__$curScript.getAttribute("data-config");p&&"/"===p.substr(p.length-1)&&(p+="config.json");var m=__$curScript.getAttribute("data-main");f.paths["@traceur"]||(f.paths["@traceur"]="undefined"!=typeof __$curScript&&__$curScript.getAttribute("data-traceur-src")),(p?Promise.resolve(f.fetch.call(f,{address:p,metadata:{}})).then(JSON.parse).then(f.config):Promise.resolve()).then(function(){return m?f["import"](m):void 0})["catch"](function(e){setTimeout(function(){throw e})})}};var __$curScript;!function(e){if("undefined"!=typeof window){var t=document.getElementsByTagName("script");if(__$curScript=t[t.length-1],!e.System||e.System.registerModule){var a=__$curScript.src,r=a.substr(0,a.lastIndexOf("/")+1);document.write('<script type="text/javascript" src="'+r+'es6-module-loader.js" data-init="upgradeSystemLoader"></script>')}else e.upgradeSystemLoader()}else{var n=require("es6-module-loader");e.System=n.System,e.Loader=n.Loader,e.Module=n.Module,module.exports=e.System,e.upgradeSystemLoader()}}(__$global)}("undefined"!=typeof window?window:global);
!function(__$global){function __eval(__source,__global,__address,__sourceMap){try{__source=(__global!=__$global?"with(__global) { (function() { "+__source+" \n }).call(__global); }":__source)+"\n//# sourceURL="+__address+(__sourceMap?"\n//# sourceMappingURL="+__sourceMap:""),eval(__source)}catch(e){throw"SyntaxError"==e.name&&(e.message="Evaluating "+__address+"\n "+e.message),e}}__$global.upgradeSystemLoader=function(){function e(e){var t=String(e).replace(/^\s+|\s+$/g,"").match(/^([^:\/?#]+:)?(\/\/(?:[^:@]*(?::[^:@]*)?@)?(([^:\/?#]*)(?::(\d*))?))?([^?#]*)(\?[^#]*)?(#[\s\S]*)?/);return t?{href:t[0]||"",protocol:t[1]||"",authority:t[2]||"",host:t[3]||"",hostname:t[4]||"",port:t[5]||"",pathname:t[6]||"",search:t[7]||"",hash:t[8]||""}:null}function t(t,a){function r(e){var t=[];return e.replace(/^(\.\.?(\/|$))+/,"").replace(/\/(\.(\/|$))+/g,"/").replace(/\/\.\.$/,"/../").replace(/\/?[^\/]*/g,function(e){"/.."===e?t.pop():t.push(e)}),t.join("").replace(/^\//,"/"===e.charAt(0)?"/":"")}return a=e(a||""),t=e(t||""),a&&t?(a.protocol||t.protocol)+(a.protocol||a.authority?a.authority:t.authority)+r(a.protocol||a.authority||"/"===a.pathname.charAt(0)?a.pathname:a.pathname?(t.authority&&!t.pathname?"/":"")+t.pathname.slice(0,t.pathname.lastIndexOf("/")+1)+a.pathname:t.pathname)+(a.protocol||a.authority||a.pathname?a.search:a.search||t.search)+a.hash:null}function a(e){function t(e,t){var a=e.meta&&e.meta[t.name];if(a)for(var r in a)t.metadata[r]=t.metadata[r]||a[r]}var a=/^(\s*\/\*.*\*\/|\s*\/\/[^\n]*|\s*"[^"]+"\s*;?|\s*'[^']+'\s*;?)+/,r=/\/\*.*\*\/|\/\/[^\n]*|"[^"]+"\s*;?|'[^']+'\s*;?/g;e.meta={};var n=e.locate;e.locate=function(e){return t(this,e),n.call(this,e)};var o=e.translate;e.translate=function(e){var n=e.source.match(a);if(n)for(var l=n[0].match(r),i=0;i<l.length;i++){var s=l[i].length,u=l[i].substr(0,1);if(";"==l[i].substr(s-1,1)&&s--,'"'==u||"'"==u){var d=l[i].substr(1,l[i].length-3),c=d.substr(0,d.indexOf(" "));if(c){var f=d.substr(c.length+1,d.length-c.length-1);e.metadata[c]instanceof Array?e.metadata[c].push(f):e.metadata[c]=f}}}return t(this,e),o.call(this,e)}}function r(e){function a(e){var a=this;"@traceur"==e.name&&(f=g,m=Module);var r,n=e.source.lastIndexOf("\n");-1!=n&&"//# sourceMappingURL="==e.source.substr(n+1,21)&&(r=e.source.substr(n+22,e.source.length-n-22),"undefined"!=typeof t&&(r=t(e.address,r))),__eval(e.source,a.global,e.address,r),"@traceur"==e.name&&(a.global.traceurSystem=a.global.System,a.global.System=f)}function r(e){for(var t=[],a=0;a<e.length;a++)-1==p.call(t,e[a])&&t.push(e[a]);return t}function n(t,a,r,n){"string"!=typeof t&&(n=r,r=a,a=t,t=null),v=!0;var o;if("boolean"==typeof r)o={declarative:!1,deps:a,execute:n,executingRequire:r};else{if(a.length>0&&1!=r.length)throw"Invalid System.register form for "+t+". Declare function must take one argument.";o={declarative:!0,deps:a,declare:r}}if(t)e.defined[t]||(e.defined[t]=o);else if(o.declarative){if(h)throw"Multiple anonymous System.register calls in the same module file.";h=o}}function o(e){if(!e.register){e.register=n,e.defined||(e.defined={});var t=e.onScriptLoad;e.onScriptLoad=function(e){t(e),h&&(e.metadata.entry=h),(h||v)&&(e.metadata.format=e.metadata.format||"register"),v&&(e.metadata.registered=!0)}}}function l(e,t,a){if(a[e.groupIndex]=a[e.groupIndex]||[],-1==p.call(a[e.groupIndex],e)){a[e.groupIndex].push(e);for(var r=0;r<e.normalizedDeps.length;r++){var n=e.normalizedDeps[r],o=t.defined[n];if(o){var i=e.groupIndex+(o.declarative!=e.declarative);if(void 0===o.groupIndex||o.groupIndex<i){if(o.groupIndex&&(a[o.groupIndex].splice(a[o.groupIndex].indexOf(o),1),0==a[o.groupIndex].length))throw new TypeError("Mixed dependency cycle detected");o.groupIndex=i}l(o,t,a)}}}}function i(e,t){var a=t.defined[e];a.groupIndex=0;var r=[];l(a,t,r);for(var n=!!a.declarative==r.length%2,o=r.length-1;o>=0;o--){for(var i=r[o],u=0;u<i.length;u++){var c=i[u];n?s(c,t):d(c,t)}n=!n}}function s(e,t){if(!e.module){var a=[],r=e.declare.call(t.global,a);e.module=r.exports,e.exportStar=r.exportStar,e.execute=r.execute;for(var n=e.module,o=0;o<e.normalizedDeps.length;o++){var l=e.normalizedDeps[o],i=t.defined[l];i?i.module?depModule=i.module:(s(i,t),depModule=i.module):depModule=t.get(l),e.exportStar&&-1!=p.call(e.exportStar,e.normalizedDeps[o])&&!function(e){for(var t in e)(function(t){Object.defineProperty(n,t,{enumerable:!0,get:function(){return e[t]},set:function(a){e[t]=a}})})(t)}(depModule),a[o]=depModule}}}function u(e,t){var a,r=t.defined[e];if(r)r.declarative?c(e,[],t):r.evaluated||d(r,t),a=r.module;else if(a=t.get(e),!a)throw"System Register: The module requested "+e+" but this was not declared as a dependency";return a?a.__useDefault?a["default"]:a:""}function d(e,t){if(!e.module){if(e.module={"default":{},__useDefault:!0},!e.executingRequire)for(var a=0;a<e.normalizedDeps.length;a++){var r=e.normalizedDeps[a],n=t.defined[r];n&&d(n,t)}var o;for(var l in t.defined)if(t.defined[l]==e){o=l;break}try{e.evaluated=!0;var i=e.execute.call(t.global,function(a){for(var r=0;r<e.deps.length;r++)if(e.deps[r]==a)return u(e.normalizedDeps[r],t)},e.module["default"],o)}catch(s){throw s}i&&i.__esModule?e.module=i:i&&(e.module["default"]=i)}}function c(e,t,a){var r=a.defined[e];if(!r.evaluated&&r.declarative){t.push(e);for(var n=0;n<r.normalizedDeps.length;n++){var o=r.normalizedDeps[n];-1==p.call(t,o)&&(a.defined[o]?c(o,t,a):a.get(o))}r.evaluated||(r.evaluated=!0,r.execute.call(a.global))}}"undefined"==typeof p&&(p=Array.prototype.indexOf),"undefined"==typeof __eval&&(__eval=0||eval);var f,m;e.__exec=a;var h,v;o(e);var b=/System\.register/,_=e.fetch;e.fetch=function(e){var t=this;return o(t),t.defined[e.name]?(e.metadata.format="defined",""):(h=null,v=!1,_.call(t,e))};var x=e.translate;e.translate=function(e){return this.register=n,this.__exec=a,e.metadata.deps=e.metadata.deps||[],Promise.resolve(x.call(this,e)).then(function(t){return(e.metadata.init||e.metadata.exports)&&(e.metadata.format=e.metadata.format||"global"),("register"==e.metadata.format||!e.metadata.format&&e.source.match(b))&&(e.metadata.format="register"),t})};var y=e.instantiate;e.instantiate=function(e){var t,a=this;if(a.defined[e.name])t=a.defined[e.name];else if(e.metadata.entry)t=e.metadata.entry;else if(e.metadata.execute)t={declarative:!1,deps:e.metadata.deps||[],execute:e.metadata.execute,executingRequire:e.metadata.executingRequire};else if("register"==e.metadata.format&&(h=null,v=!1,a.__exec(e),h&&(t=h),!v&&!e.metadata.registered))throw e.name+" detected as System.register but didn't execute.";if(!t&&"es6"!=e.metadata.format)return{deps:[],execute:function(){return Module({})}};if(!t)return y.call(this,e);a.defined[e.name]=t,t.deps=r(t.deps);for(var n=[],o=0;o<t.deps.length;o++)n.push(Promise.resolve(a.normalize(t.deps[o],e.name)));return Promise.all(n).then(function(r){return t.normalizedDeps=r,t.depMap=[],{deps:t.deps,execute:function(){if(t.esmodule)return delete a.defined[e.name],t.esmodule;i(e.name,a),c(e.name,[],a),delete a.defined[e.name];var r=Module(t.module);for(var n in a.defined)t.declarative&&a.defined[n].execute!=t.execute||!t.declarative&&a.defined[n].declare!=t.declare;return r}}})}}function n(e){var a=e["import"];e["import"]=function(e,t){return a.call(this,e,t).then(function(e){return e.__useDefault?e["default"]:e})},e.set("@empty",Module({})),e.config=function(e){for(var t in e){var a=e[t];if("object"==typeof a){this[t]=this[t]||{};for(var r in a)this[t][r]=a[r]}else this[t]=a}};var r;if("undefined"==typeof window)r=process.cwd()+"/";else if(r=document.baseURI,!r){var n=document.getElementsByTagName("base");r=n[0]&&n[0].href||window.location.href}var o,l=e.locate;e.locate=function(e){return this.baseURL!=o&&(o=t(r,this.baseURL),"/"!=o.substr(o.length-1,1)&&(o+="/"),this.baseURL=o),Promise.resolve(l.call(this,e))};var i=/^\s*export\s*\*\s*from\s*(?:'([^']+)'|"([^"]+)")/,s=/(?:^\s*|[}{\(\);,\n]\s*)(import\s+['"]|(import|module)\s+[^"'\(\)\n;]+\s+from\s+['"]|export\s+(\*|\{|default|function|var|const|let|[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*))/,u=e.translate;e.translate=function(e){var t=this;if("@traceur"==e.name)return u.call(t,e);var a;if("es6"!=e.metadata.format&&e.metadata.format||!(a=e.source.match(i))){if(("es6"==e.metadata.format||!e.metadata.format&&e.source.match(s))&&(e.metadata.format="es6",!t.global.traceur))return t["import"]("@traceur").then(function(){return u.call(t,e)})}else e.metadata.format="cjs",e.source='module.exports = require("'+(a[1]||a[2])+'");\n';return u.call(t,e)};var d=e.instantiate;e.instantiate=function(e){var t=this;return"@traceur"==e.name?(t.__exec(e),{deps:[],execute:function(){return Module({})}}):d.call(t,e)}}function o(e){function t(e){if(!e.has("@@global-helpers")){var t,a=e.global.hasOwnProperty,r={};e.set("@@global-helpers",Module({prepareGlobal:function(n,o){for(var l=0;l<o.length;l++){var i=r[o[l]];if(i)for(var s in i)e.global[s]=i[s]}t={};for(var u in e.global)(!a||e.global.hasOwnProperty(u))&&(t[u]=e.global[u])},retrieveGlobal:function(n,o,l){var i,s={};if(l){for(var u=[],d=0;d<deps.length;d++)u.push(require(deps[d]));i=l.apply(e.global,u)}if(o&&!i){var c=o.split(".")[0];i=eval.call(e.global,o),s[c]=e.global[c]}else for(var f in e.global)(a||"sessionStorage"!=f&&"localStorage"!=f&&"clipboardData"!=f&&"frames"!=f)&&(a&&!e.global.hasOwnProperty(f)||f==e.global||t[f]==e.global[f]||(s[f]=e.global[f],i?i!==e.global[f]&&(i=void 0):i!==!1&&(i=e.global[f])));return r[n]=s,"undefined"!=typeof i?i:s}}))}}t(e);var a=e.instantiate;e.instantiate=function(e){var r=this;t(r);var n=e.metadata.exports;return e.metadata.format||(e.metadata.format="global"),"global"==e.metadata.format&&(e.metadata.execute=function(t,a,o){r.get("@@global-helpers").prepareGlobal(o,e.metadata.deps),n&&(e.source+='\nthis["'+n+'"] = '+n+";");var l=r.global.define;return r.global.define=void 0,r.global.module=void 0,r.global.exports=void 0,r.__exec(e),r.global.define=l,r.get("@@global-helpers").retrieveGlobal(o,n,e.metadata.init)}),a.call(r,e)}}function l(e){function t(e){a.lastIndex=0,r.lastIndex=0;for(var t,o=[],e=e.replace(n,"");t=r.exec(e);)o.push(t[2]||t[3]);return o}var a=/(?:^\s*|[}{\(\);,\n=:\?\&]\s*|module\.)(exports\s*\[\s*('[^']+'|"[^"]+")\s*\]|\exports\s*\.\s*[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*|exports\s*\=)/,r=/(?:^\s*|[}{\(\);,\n=:\?\&]\s*)require\s*\(\s*("([^"]+)"|'([^']+)')\s*\)/g,n=/(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/gm,o=function(){},l={nextTick:function(e){setTimeout(e,7)},browser:"undefined"!=typeof window,env:{},argv:[],on:o,once:o,off:o,emit:o,cwd:function(){return"/"}};e._getCJSDeps=t,e.has("@@nodeProcess")||e.set("@@nodeProcess",Module({"default":l,__useDefault:!0}));var i=e.translate;e.translate=function(e){var a=this;return a.has("@@nodeProcess")||a.set("@@nodeProcess",Module({"default":l,__useDefault:!0})),a._getCJSDeps||(a._getCJSDeps=t),i.call(a,e)};var s=e.instantiate;e.instantiate=function(n){return n.metadata.format||(a.lastIndex=0,r.lastIndex=0,(r.exec(n.source)||a.exec(n.source))&&(n.metadata.format="cjs")),"cjs"==n.metadata.format&&(n.metadata.deps=n.metadata.deps?n.metadata.deps.concat(t(n.source)):n.metadata.deps,n.metadata.executingRequire=!0,n.metadata.execute=function(t,a){var r=n.address.split("/");r.pop(),r=r.join("/");var o=e.global._g={global:e.global,exports:a,module:{exports:a},process:l,require:t,__filename:n.address,__dirname:r},i="";for(var s in o)i+="var "+s+" = _g."+s+";";n.source=i+n.source;var u=e.global.define;return e.global.define=void 0,e.__exec(n),e.global.define=u,e.global._g=void 0,o.module.exports}),s.call(this,n)}}function i(e){function t(e,a,r,n){var o=this;if("object"==typeof e&&!(e instanceof Array))return t.apply(null,Array.prototype.splice.call(arguments,1,arguments.length-1));if(!(e instanceof Array)){if("string"==typeof e){var l=o.get(e);return l.__useDefault?l["default"]:l}throw"Invalid require"}Promise.all(e.map(function(e){return o["import"](e,n)})).then(function(e){a.apply(null,e)},r)}function a(e,a,r){return function(n,o,l){return"string"==typeof n?a(n):t.call(r,n,o,l,{name:e})}}function r(e){if(l=null,i=null,e.global.module=void 0,e.global.exports=void 0,!e.global.define||e.global.define.loader!=e){var t=e.onScriptLoad;e.onScriptLoad=function(e){t(e),(l||i)&&(e.metadata.format="defined"),l&&(e.metadata.deps=e.metadata.deps?e.metadata.deps.concat(l.deps):l.deps,e.metadata.execute=l.execute)},e.global.define=function(t,r,n){if("string"!=typeof t&&(n=r,r=t,t=null),!(r instanceof Array)){if(n=r,!e._getCJSDeps)throw"AMD extension needs CJS extension for AMD CJS support";r=["require","exports","module"].concat(e._getCJSDeps(n.toString()))}"function"!=typeof n&&(n=function(e){return function(){return e}}(n));var o,s,u;-1!=(o=p.call(r,"require"))&&r.splice(o,1),-1!=(s=p.call(r,"exports"))&&r.splice(s,1),-1!=(u=p.call(r,"module"))&&r.splice(u,1);var d={deps:r,execute:function(t,l,i){for(var d=[],c=0;c<r.length;c++)d.push(t(r[c]));var f;-1!=u&&d.splice(u,0,l,f={id:i,uri:e.baseURL+i,config:function(){return{}},exports:l}),-1!=s&&d.splice(s,0,l),-1!=o&&d.splice(o,0,a(i,t,e));var p=n.apply(e.global,d);return"undefined"==typeof p&&f&&(p=f.exports),"undefined"!=typeof p?p:void 0}};if(t)l=0!=r.length||l||i?null:d,i=!0,e.register(t,d.deps,!1,d.execute);else{if(l)throw"Multiple defines for anonymous module";l=d}},e.global.define.amd={},e.global.define.loader=e}}var n="undefined"!=typeof module&&module.exports,o=/(?:^\s*|[}{\(\);,\n\?\&]\s*)define\s*\(\s*("[^"]+"\s*,\s*|'[^']+'\s*,\s*)?\s*(\[(\s*("[^"]+"|'[^']+')\s*,)*(\s*("[^"]+"|'[^']+')\s*)?\]|function\s*|{|[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*\))/;e.require=t;var l,i;if(n||e.amdDefine===!1||r(e),e.scriptLoader){var s=e.fetch;e.fetch=function(t){return e.amdDefine!==!1&&r(this),s.call(this,t)}}var u=e.instantiate;e.instantiate=function(e){var t=this;if("amd"==e.metadata.format||!e.metadata.format&&e.source.match(o)){if(e.metadata.format="amd",r(t),t.__exec(e),n&&(t.global.define=void 0),!l&&!i)throw"AMD module "+e.name+" did not define";l&&(e.metadata.deps=e.metadata.deps?e.metadata.deps.concat(l.deps):l.deps,e.metadata.execute=l.execute)}return u.call(t,e)}}function s(e){function t(e,t){var a=t.split("/"),r=e.split("/");if(a.length>r.length)return 0;for(var n=0;n<a.length;n++)if(r[n]!=a[n])return 0;return a.length}function a(e,a,r){var n,o,l,i,s=0,u=0;if(a)for(var d in r.map){var c=r.map[d];if("object"==typeof c&&!(t(a,d)<=u))for(var f in c)t(e,f)<=s||(n=f,s=f.split("/").length,o=d,u=d.split("/").length)}n&&(i=e.split("/"),l=i.splice(s,i.length-s).join("/"),e=r.map[o][n]+(l?"/"+l:""),s=0);for(var d in r.map){var c=r.map[d];"string"==typeof c&&(t(e,d)<=s||(n=d,s=d.split("/").length))}return s?(i=e.split("/"),l=i.splice(s,i.length-s).join("/"),r.map[n]+(l?"/"+l:"")):e}e.map=e.map||{};var r=e.normalize;e.normalize=function(e,t,n){var o=this;o.map||(o.map={});var l=!1;return"/"==e.substr(e.length-1,1)&&(l=!0,e+="#"),Promise.resolve(r.call(o,e,t,n)).then(function(e){if(e=a(e,t,o),l){var r=e.split("/");r.pop();var n=r.pop();r.push(n),r.push(n),e=r.join("/")}return e})}}function u(e){"undefined"==typeof p&&(p=Array.prototype.indexOf);var t=e.normalize;e.normalize=function(e,a,r){var n,o=this;return a&&-1!=(n=a.indexOf("!"))&&(a=a.substr(0,n)),Promise.resolve(t.call(o,e,a,r)).then(function(e){var t=e.lastIndexOf("!");if(-1!=t){var n=e.substr(0,t),l=e.substr(t+1)||n.substr(n.lastIndexOf(".")+1);return new Promise(function(e){e(o.normalize(l,a,r))}).then(function(e){return l=e,o.normalize(n,a,r)}).then(function(e){return e+"!"+l})}return e})};var a=e.locate;e.locate=function(e){var t=this,r=e.name,n=r.lastIndexOf("!");if(-1!=n){var o=r.substr(n+1);e.name=r.substr(0,n);var l=t.pluginLoader||t;return l["import"](o).then(function(){var a=l.get(o);return a=a["default"]||a,e.metadata.plugin=a,e.metadata.pluginName=o,e.metadata.pluginArgument=e.name,a.locate?a.locate.call(t,e):Promise.resolve(t.locate(e)).then(function(e){return e.substr(0,e.length-3)})})}return a.call(this,e)};var r=e.fetch;e.fetch=function(e){var t=this;return e.metadata.plugin&&e.metadata.plugin.fetch&&!e.metadata.pluginFetchCalled?(e.metadata.pluginFetchCalled=!0,e.metadata.plugin.fetch.call(t,e,r)):r.call(t,e)};var n=e.translate;e.translate=function(e){var t=this;return e.metadata.plugin&&e.metadata.plugin.translate?Promise.resolve(e.metadata.plugin.translate.call(t,e)).then(function(a){return a?a:n.call(t,e)}):n.call(t,e)};var o=e.instantiate;e.instantiate=function(e){var t=this;return e.metadata.plugin&&e.metadata.plugin.instantiate?Promise.resolve(e.metadata.plugin.instantiate.call(t,e)).then(function(a){return a&&(e.metadata.format="defined",e.metadata.execute=function(){return a}),o.call(t,e)}):o.call(t,e)}}function d(e){"undefined"==typeof p&&(p=Array.prototype.indexOf),e.bundles=e.bundles||{};var t=e.fetch;e.fetch=function(e){var a=this;a.bundles||(a.bundles={});for(var r in a.bundles)if(-1!=p.call(a.bundles[r],e.name))return Promise.resolve(a.normalize(r)).then(function(e){return a.bundles[e]=a.bundles[e]||a.bundles[r],a.meta=a.meta||{},a.meta[e]=a.meta[e]||{},a.meta[e].bundle=!0,a.load(e)}).then(function(){return""});return t.apply(this,arguments)}}function c(e){"undefined"==typeof p&&(p=Array.prototype.indexOf);var t=/^(\d+)(?:\.(\d+)(?:\.(\d+)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?)?)?$/,a=function(e,t){var a,r=e.split("."),n=t.split(".");r[2]&&-1!=(a=p.call(r[2],"-"))&&r.splice(2,1,r[2].substr(0,a),r[2].substr(a+1)),n[2]&&-1!=(a=p.call(n[2],"-"))&&n.splice(2,1,n[2].substr(0,a),n[2].substr(a+1));for(var o=0;o<Math.max(r.length,n.length);o++){if(!r[o])return 1;if(!n[o])return-1;if(r[o]!=n[o])return parseInt(r[o])>parseInt(n[o])?1:-1}return 0};e.versions=e.versions||{};var r=e.normalize;e.normalize=function(n,o,l){e.versions||(e.versions={});var i=this.versions;return Promise.resolve(r.call(this,n,o,l)).then(function(e){var r,n,o,l,s=e.indexOf("@");if(-1==s||0==s){for(var u in i)if(l=i[u],e.substr(0,u.length)==u&&(o=e.substr(u.length,1),!o||"/"==o))return u+"@"+("string"==typeof l?l:l[l.length-1])+e.substr(u.length);return e}r=e.substr(s+1).split("/")[0];var d,c=r.length;if("^"==r.substr(0,1)&&(r=r.substr(1),d=!0),n=r.match(t),!n)return e;d&&(n[2]||(d=!1),n[3]||(n[2]>0?n[3]="0":d=!1)),d&&(n[1]>0?(n[2]||(r=n[1]+".0.0"),n[3]||(r=n[1]+".0"),d=r,n=[n[1]]):n[2]>0?(d=r,n=[0,n[2]]):(d=!1,n=[0,0,n[3]]),r=n.join("."));var f=e.substr(0,s);if(l=i[f]||[],"string"==typeof l&&(l=[l]),!n[3]||d)for(var m=l.length-1;m>=0;m--){var g=l[m];if(g.substr(0,r.length)==r&&g.substr(r.length,1).match(/^[\.\-]?$/)&&(!d||d&&-1!=a(g,d)))return f+"@"+g+e.substr(f.length+c+1)}return-1==p.call(l,r)&&(l.push(r),l.sort(a),e=f+"@"+r+e.substr(f.length+c+1),n[3]&&-1!=(s=p.call(l,n[1]+"."+n[2]))&&l.splice(s,1),n[2]&&-1!=(s=p.call(l,n[1]))&&l.splice(s,1),i[f]=1==l.length?l[0]:l),e})}}function f(e){e.depCache=e.depCache||{},loaderLocate=e.locate,e.locate=function(e){var t=this;t.depCache||(t.depCache={});var a=t.depCache[e.name];if(a)for(var r=0;r<a.length;r++)t.load(a[r]);return loaderLocate.call(t,e)}}__$global.upgradeSystemLoader=void 0;var p=Array.prototype.indexOf||function(e){for(var t=0,a=this.length;a>t;t++)if(this[t]===e)return t;return-1},m=__$global.System,g=__$global.System=new LoaderPolyfill(m);g.baseURL=m.baseURL,g.paths={"*":"*.js"},g.originalSystem=m,g.noConflict=function(){__$global.SystemJS=g,__$global.System=g.originalSystem},a(g),r(g),n(g),o(g),l(g),i(g),s(g),u(g),d(g),c(g),f(g),__$curScript&&!g.paths["@traceur"]&&(g.paths["@traceur"]="undefined"!=typeof __$curScript&&__$curScript.getAttribute("data-traceur-src")||g.baseURL+(g.baseURL.lastIndexOf("/")==g.baseURL.length-1?"":"/")+"traceur.js")};var __$curScript;!function(e){if("undefined"!=typeof window){var t=document.getElementsByTagName("script");if(__$curScript=t[t.length-1],!e.System||e.System.registerModule){var a=__$curScript.src,r=a.substr(0,a.lastIndexOf("/")+1);document.write('<script type="text/javascript" src="'+r+'es6-module-loader.js" data-init="upgradeSystemLoader">'+"<"+"/script>")}else e.upgradeSystemLoader()}else{var n=require("es6-module-loader");e.System=n.System,e.Loader=n.Loader,e.Module=n.Module,e.upgradeSystemLoader(),module.exports=e.System}}(__$global)}("undefined"!=typeof window?window:global);

@@ -8,6 +8,8 @@ /*

var isNode = typeof module != 'undefined' && module.exports;
// AMD Module Format Detection RegEx
// define([.., .., ..], ...)
// define(varName); || define(function(require, exports) {}); || define({})
var amdRegEx = /(?:^\s*|[}{\(\);,\n\?\&]\s*)define\s*\(\s*("[^"]+"\s*,\s*|'[^']+'\s*,\s*)?(\[(\s*("[^"]+"|'[^']+')\s*,)*(\s*("[^"]+"|'[^']+')\s*)?\]|function\s*|{|[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*\))/;
var amdRegEx = /(?:^\s*|[}{\(\);,\n\?\&]\s*)define\s*\(\s*("[^"]+"\s*,\s*|'[^']+'\s*,\s*)?\s*(\[(\s*("[^"]+"|'[^']+')\s*,)*(\s*("[^"]+"|'[^']+')\s*)?\]|function\s*|{|[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*\))/;

@@ -53,7 +55,9 @@ /*

var lastDefine;
var anonDefine;
// set to true of the current module turns out to be a named define bundle
var defineBundle;
function createDefine(loader) {
anonDefine = null;
defineBundle = null;
lastDefine = null;
// ensure no NodeJS environment detection

@@ -63,6 +67,18 @@ loader.global.module = undefined;

if (loader.global.define && loader.global.define.loader == loader)
return;
// script injection mode calls this function synchronously on load
var onScriptLoad = loader.onScriptLoad;
loader.onScriptLoad = function(load) {
onScriptLoad(load);
if (anonDefine || defineBundle)
load.metadata.format = 'defined';
if (anonDefine) {
load.metadata.deps = load.metadata.deps ? load.metadata.deps.concat(anonDefine.deps) : anonDefine.deps;
load.metadata.execute = anonDefine.execute;
}
}
loader.global.define = function(name, deps, factory) {

@@ -87,6 +103,2 @@ if (typeof name != 'string') {

// a module file can only define one anonymous module
if (!name && lastDefine)
throw "Multiple defines for anonymous module";
// remove system dependencies

@@ -103,3 +115,3 @@ var requireIndex, exportsIndex, moduleIndex

lastDefine = {
var define = {
deps: deps,

@@ -126,14 +138,39 @@ execute: function(require, exports, moduleName) {

output = output || module && module.exports;
if (typeof output == 'undefined' && module)
output = module.exports;
if (output && output.__esModule)
if (typeof output != 'undefined')
return output;
else if (output !== undefined)
return { __useDefault: true, 'default': output };
}
};
// attaches to loader.defined as dynamic
if (name)
loader.defined[name] = lastDefine;
// anonymous define
if (!name) {
// already defined anonymously -> throw
if (anonDefine)
throw "Multiple defines for anonymous module";
anonDefine = define;
}
// named define
else {
// if it has no dependencies and we don't have any other
// defines, then let this be an anonymous define
if (deps.length == 0 && !anonDefine && !defineBundle)
anonDefine = define;
// otherwise its a bundle only
else
anonDefine = null;
// the above is just to support single modules of the form:
// define('jquery')
// still loading anonymously
// because it is done widely enough to be useful
// note this is now a bundle
defineBundle = true;
// define the module through the register registry
loader.register(name, define.deps, false, define.execute);
}
};

@@ -145,15 +182,11 @@

if (!isNode && loader.amdDefine !== false)
createDefine(loader);
if (loader.scriptLoader) {
var loaderFetch = loader.fetch;
var scriptLoader = true;
loader.fetch = function(load) {
createDefine(this);
return Promise.resolve(loaderFetch.call(this, load)).then(function(source) {
if (lastDefine) {
load.metadata.format = 'defined';
load.metadata.deps = load.metadata.deps ? load.metadata.deps.concat(lastDefine.deps) : lastDefine.deps;
load.metadata.execute = lastDefine.execute;
}
return source;
});
if (loader.amdDefine !== false)
createDefine(this);
return loaderFetch.call(this, load);
}

@@ -169,3 +202,3 @@ }

load.metadata.format = 'amd';
createDefine(loader);

@@ -175,7 +208,12 @@

if (!lastDefine)
if (isNode)
loader.global.define = undefined;
if (!anonDefine && !defineBundle)
throw "AMD module " + load.name + " did not define";
load.metadata.deps = load.metadata.deps ? load.metadata.deps.concat(lastDefine.deps) : lastDefine.deps;
load.metadata.execute = lastDefine.execute;
if (anonDefine) {
load.metadata.deps = load.metadata.deps ? load.metadata.deps.concat(anonDefine.deps) : anonDefine.deps;
load.metadata.execute = anonDefine.execute;
}
}

@@ -182,0 +220,0 @@

@@ -29,2 +29,3 @@ /*

loader.fetch = function(load) {
var loader = this;
if (!loader.bundles)

@@ -42,2 +43,8 @@ loader.bundles = {};

loader.bundles[normalized] = loader.bundles[normalized] || loader.bundles[b];
// note this module is a bundle in the meta
loader.meta = loader.meta || {};
loader.meta[normalized] = loader.meta[normalized] || {};
loader.meta[normalized].bundle = true;
return loader.load(normalized);

@@ -44,0 +51,0 @@ })

@@ -29,13 +29,2 @@ /*

loader._getCJSDeps = getCJSDeps;
var loaderTranslate = loader.translate;
loader.translate = function(load) {
var loader = this;
if (!loader._getCJSDeps)
loader._getCJSDeps = getCJSDeps;
return loaderTranslate.call(loader, load);
}
var noop = function() {}

@@ -55,4 +44,18 @@ var nodeProcess = {

};
loader.set('@@nodeProcess', Module(nodeProcess));
loader._getCJSDeps = getCJSDeps;
if (!loader.has('@@nodeProcess'))
loader.set('@@nodeProcess', Module({ 'default': nodeProcess, __useDefault: true }));
var loaderTranslate = loader.translate;
loader.translate = function(load) {
var loader = this;
if (!loader.has('@@nodeProcess'))
loader.set('@@nodeProcess', Module({ 'default': nodeProcess, __useDefault: true }));
if (!loader._getCJSDeps)
loader._getCJSDeps = getCJSDeps;
return loaderTranslate.call(loader, load);
}
var loaderInstantiate = loader.instantiate;

@@ -95,2 +98,3 @@ loader.instantiate = function(load) {

// disable AMD detection
var define = loader.global.define;
loader.global.define = undefined;

@@ -100,10 +104,7 @@

loader.global.define = define;
loader.global._g = undefined;
var output = globals.module.exports;
if (output && output.__esModule)
return output;
else if (output !== undefined)
return { __useDefault: true, 'default': output };
return globals.module.exports;
}

@@ -110,0 +111,0 @@ }

@@ -76,2 +76,3 @@ /*

}
var loaderLocate = loader.locate;

@@ -105,12 +106,9 @@ var normalizedBaseURL;

var match;
if (!loader.global.traceur && (load.metadata.format == 'es6' || !load.metadata.format) && (match = load.source.match(aliasRegEx))) {
var depName = match[1] || match[2];
load.metadata.deps = [depName];
load.metadata.execute = function(require) {
return require(depName);
}
if ((load.metadata.format == 'es6' || !load.metadata.format) && (match = load.source.match(aliasRegEx))) {
load.metadata.format = 'cjs';
load.source = 'module.exports = require("' + (match[1] || match[2]) + '");\n';
}
// detect ES6
if (load.metadata.format == 'es6' || !load.metadata.format && load.source.match(es6RegEx)) {
else if (load.metadata.format == 'es6' || !load.metadata.format && load.source.match(es6RegEx)) {
load.metadata.format = 'es6';

@@ -144,43 +142,2 @@

}
// Absolute URL parsing, from https://gist.github.com/Yaffle/1088850
function parseURI(url) {
var m = String(url).replace(/^\s+|\s+$/g, '').match(/^([^:\/?#]+:)?(\/\/(?:[^:@]*(?::[^:@]*)?@)?(([^:\/?#]*)(?::(\d*))?))?([^?#]*)(\?[^#]*)?(#[\s\S]*)?/);
// authority = '//' + user + ':' + pass '@' + hostname + ':' port
return (m ? {
href : m[0] || '',
protocol : m[1] || '',
authority: m[2] || '',
host : m[3] || '',
hostname : m[4] || '',
port : m[5] || '',
pathname : m[6] || '',
search : m[7] || '',
hash : m[8] || ''
} : null);
}
function toAbsoluteURL(base, href) {
function removeDotSegments(input) {
var output = [];
input.replace(/^(\.\.?(\/|$))+/, '')
.replace(/\/(\.(\/|$))+/g, '/')
.replace(/\/\.\.$/, '/../')
.replace(/\/?[^\/]*/g, function (p) {
if (p === '/..')
output.pop();
else
output.push(p);
});
return output.join('').replace(/^\//, input.charAt(0) === '/' ? '/' : '');
}
href = parseURI(href || '');
base = parseURI(base || '');
return !href || !base ? null : (href.protocol || base.protocol) +
(href.protocol || href.authority ? href.authority : base.authority) +
removeDotSegments(href.protocol || href.authority || href.pathname.charAt(0) === '/' ? href.pathname : (href.pathname ? ((base.authority && !base.pathname ? '/' : '') + base.pathname.slice(0, base.pathname.lastIndexOf('/') + 1) + href.pathname) : base.pathname)) +
(href.protocol || href.authority || href.pathname ? href.search : (href.search || base.search)) +
href.hash;
}
}

@@ -13,19 +13,13 @@ /*

function global(loader) {
function createHelpers(loader) {
if (loader.has('@@global-helpers'))
return;
var loaderInstantiate = loader.instantiate;
loader.instantiate = function(load) {
var loader = this;
var hasOwnProperty = loader.global.hasOwnProperty;
var moduleGlobals = {};
// global is a fallback module format
if (load.metadata.format == 'global' || !load.metadata.format) {
load.metadata.deps = load.metadata.deps || [];
var deps = load.metadata.deps;
var curGlobalObj;
var moduleGlobals = loader.moduleGlobals = loader.moduleGlobals || {};
var globalExport = load.metadata.exports;
var init = load.metadata.init;
load.metadata.execute = function(require, exports, moduleName) {
var hasOwnProperty = loader.global.hasOwnProperty;
loader.set('@@global-helpers', Module({
prepareGlobal: function(moduleName, deps) {
// first, we add all the dependency modules to the global

@@ -41,13 +35,10 @@ for (var i = 0; i < deps.length; i++) {

// in order to detect changes
var globalObj = {};
curGlobalObj = {};
for (var g in loader.global)
if (!hasOwnProperty || loader.global.hasOwnProperty(g))
globalObj[g] = loader.global[g];
if (globalExport)
load.source += '\nthis["' + globalExport + '"] = ' + globalExport;
loader.__exec(load);
curGlobalObj[g] = loader.global[g];
},
retrieveGlobal: function(moduleName, exportName, init) {
var singleGlobal;
var exports = {};

@@ -65,5 +56,5 @@ // run init

// if one global, then that is the module directly
if (globalExport && !singleGlobal) {
var firstPart = globalExport.split('.')[0];
singleGlobal = eval.call(loader.global, globalExport);
if (exportName && !singleGlobal) {
var firstPart = exportName.split('.')[0];
singleGlobal = eval.call(loader.global, exportName);
exports[firstPart] = loader.global[firstPart];

@@ -76,19 +67,58 @@ }

continue;
if ((!hasOwnProperty || loader.global.hasOwnProperty(g)) && g != loader.global && globalObj[g] != loader.global[g]) {
if ((!hasOwnProperty || loader.global.hasOwnProperty(g)) && g != loader.global && curGlobalObj[g] != loader.global[g]) {
exports[g] = loader.global[g];
if (singleGlobal) {
if (singleGlobal !== loader.global[g])
singleGlobal = false;
singleGlobal = undefined;
}
else if (singleGlobal !== false)
else if (singleGlobal !== false) {
singleGlobal = loader.global[g];
}
}
}
}
moduleGlobals[load.name] = exports;
var module = singleGlobal ? singleGlobal : exports;
moduleGlobals[moduleName] = exports;
return { __useDefault: true, 'default': module };
return typeof singleGlobal != 'undefined' ? singleGlobal : exports;
}
}));
}
createHelpers(loader);
var loaderInstantiate = loader.instantiate;
loader.instantiate = function(load) {
var loader = this;
createHelpers(loader);
var exportName = load.metadata.exports;
if (!load.metadata.format)
load.metadata.format = 'global';
// global is a fallback module format
if (load.metadata.format == 'global') {
load.metadata.execute = function(require, exports, moduleName) {
loader.get('@@global-helpers').prepareGlobal(moduleName, load.metadata.deps);
if (exportName)
load.source += '\nthis["' + exportName + '"] = ' + exportName + ';';
// disable AMD detection
var define = loader.global.define;
loader.global.define = undefined;
// ensure no NodeJS environment detection
loader.global.module = undefined;
loader.global.exports = undefined;
loader.__exec(load);
loader.global.define = define;
return loader.get('@@global-helpers').retrieveGlobal(moduleName, exportName, load.metadata.init);
}
}

@@ -95,0 +125,0 @@ return loaderInstantiate.call(loader, load);

@@ -83,5 +83,3 @@ /*

else
return new Promise(function(resolve) {
resolve(loader.locate(load));
})
return Promise.resolve(loader.locate(load))
.then(function(address) {

@@ -99,4 +97,6 @@ return address.substr(0, address.length - 3);

var loader = this;
if (load.metadata.plugin && load.metadata.plugin.fetch)
return load.metadata.plugin.fetch.call(loader, load);
if (load.metadata.plugin && load.metadata.plugin.fetch && !load.metadata.pluginFetchCalled) {
load.metadata.pluginFetchCalled = true;
return load.metadata.plugin.fetch.call(loader, load, loaderFetch);
}
else

@@ -110,3 +110,8 @@ return loaderFetch.call(loader, load);

if (load.metadata.plugin && load.metadata.plugin.translate)
return load.metadata.plugin.translate.call(loader, load, loaderTranslate);
return Promise.resolve(load.metadata.plugin.translate.call(loader, load)).then(function(result) {
if (result)
return result;
else
return loaderTranslate.call(loader, load);
});
else

@@ -120,7 +125,15 @@ return loaderTranslate.call(loader, load);

if (load.metadata.plugin && load.metadata.plugin.instantiate)
return load.metadata.plugin.instantiate.call(loader, load, loaderInstantiate);
return Promise.resolve(load.metadata.plugin.instantiate.call(loader, load)).then(function(result) {
if (result) {
load.metadata.format = 'defined';
load.metadata.execute = function() {
return result;
};
}
return loaderInstantiate.call(loader, load);
});
else
return loaderInstantiate.call(this, load);
return loaderInstantiate.call(loader, load);
}
}

@@ -11,5 +11,9 @@ /*

*
* Works as a standalone extension provided there is a
* loader.__exec(load) like the one set in SystemJS core
* Works as a standalone extension, but benefits from having a more
* advanced __eval defined like in SystemJS polyfill-wrapper-end.js
*
* The code here replicates the ES6 linking groups algorithm to ensure that
* circular ES6 compiled into System.register can work alongside circular AMD
* and CommonJS, identically to the actual ES6 loader.
*
*/

@@ -20,3 +24,3 @@ function register(loader) {

if (typeof __eval == 'undefined')
__eval = eval;
__eval = 0 || eval; // uglify breaks without the 0 ||

@@ -36,4 +40,7 @@ // define exec for easy evaluation of a load record (load.name, load.source, load.address)

if (lastLineIndex != -1) {
if (load.source.substr(lastLineIndex + 1, 21) == '//# sourceMappingURL=')
sourceMappingURL = toAbsoluteURL(load.address, load.source.substr(lastLineIndex + 22, load.source.length - lastLineIndex - 23));
if (load.source.substr(lastLineIndex + 1, 21) == '//# sourceMappingURL=') {
sourceMappingURL = load.source.substr(lastLineIndex + 22, load.source.length - lastLineIndex - 22);
if (typeof toAbsoluteURL != 'undefined')
sourceMappingURL = toAbsoluteURL(load.address, sourceMappingURL);
}
}

@@ -60,8 +67,72 @@

// Registry side table
// There are two variations of System.register:
// 1. System.register for ES6 conversion (2-3 params) - System.register([name, ]deps, declare)
// see https://github.com/ModuleLoader/es6-module-loader/wiki/System.register-Explained
//
// 2. System.register for dynamic modules (3-4 params) - System.register([name, ]deps, executingRequire, execute)
// the true or false statement
// this extension implements the linking algorithm for the two variations identical to the spec
// allowing compiled ES6 circular references to work alongside AMD and CJS circular references.
// loader.register sets loader.defined for declarative modules
var anonRegister;
var calledRegister;
function register(name, deps, declare, execute) {
if (typeof name != 'string') {
execute = declare;
declare = deps;
deps = name;
name = null;
}
calledRegister = true;
var register;
// dynamic
if (typeof declare == 'boolean') {
register = {
declarative: false,
deps: deps,
execute: execute,
executingRequire: declare
};
}
else {
// ES6 declarative
if (deps.length > 0 && declare.length != 1)
throw 'Invalid System.register form for ' + name + '. Declare function must take one argument.';
register = {
declarative: true,
deps: deps,
declare: declare
};
}
// named register
if (name) {
// we never overwrite an existing define
if (!loader.defined[name])
loader.defined[name] = register;
}
// anonymous register
else if (register.declarative) {
if (anonRegister)
throw 'Multiple anonymous System.register calls in the same module file.';
anonRegister = register;
}
}
// Registry side table - loader.defined
// Registry Entry Contains:
// - deps
// - declare for register modules
// - execute for dynamic modules, also after declare for register modules
// - declarative boolean indicating which of the above
// - execute for dynamic modules, also after declare for declarative modules
// - executingRequire indicates require drives execution for circularity of dynamic modules
// - declarative optional boolean indicating which of the above
//
// Can preload modules directly on System.defined['my/module'] = { deps, execute, executingRequire }
//
// Then the entry gets populated with derived information during processing:
// - normalizedDeps derived from deps, created in instantiate

@@ -73,27 +144,29 @@ // - depMap array derived from deps, populated gradually in link

// After linked and evaluated, entries are removed
var lastRegister;
function register(name, deps, declare) {
if (typeof name != 'string') {
declare = deps;
deps = name;
name = null;
}
if (declare.length == 0)
throw 'Invalid System.register form. Ensure setting --modules=instantiate if using Traceur.';
function defineRegister(loader) {
if (loader.register)
return;
loader.register = register;
if (!loader.defined)
loader.defined = {};
// script injection mode calls this function synchronously on load
var onScriptLoad = loader.onScriptLoad;
loader.onScriptLoad = function(load) {
onScriptLoad(load);
// anonymous define
if (anonRegister)
load.metadata.entry = anonRegister;
if (anonRegister || calledRegister)
load.metadata.format = load.metadata.format || 'register';
if (calledRegister)
load.metadata.registered = true;
}
}
lastRegister = {
deps: deps,
declare: declare,
declarative: true,
};
defineRegister(loader);
if (name)
loader.defined[name] = lastRegister;
}
loader.defined = loader.defined || {};
loader.register = register;
function buildGroups(entry, loader, groups) {

@@ -225,4 +298,7 @@ groups[entry.groupIndex] = groups[entry.groupIndex] || [];

if (!entry)
if (!entry) {
module = loader.get(name);
if (!module)
throw "System Register: The module requested " + name + " but this was not declared as a dependency";
}

@@ -235,5 +311,9 @@ else {

linkDynamicModule(entry, loader);
module = entry.module;
}
if (!module)
return '';
return module.__useDefault ? module['default'] : module;

@@ -246,3 +326,3 @@ }

entry.module = {};
entry.module = { 'default': {}, __useDefault: true };

@@ -271,3 +351,3 @@ // AMD requires execute the tree first

entry.evaluated = true;
var output = entry.execute(function(name) {
var output = entry.execute.call(loader.global, function(name) {
for (var i = 0; i < entry.deps.length; i++) {

@@ -278,3 +358,3 @@ if (entry.deps[i] != name)

}
}, entry.module, moduleName);
}, entry.module['default'], moduleName);
}

@@ -285,4 +365,6 @@ catch(e) {

if (output)
if (output && output.__esModule)
entry.module = output;
else if (output)
entry.module['default'] = output;
}

@@ -320,3 +402,2 @@

entry.execute.call(loader.global);
delete entry.execute;
}

@@ -329,7 +410,11 @@

var loader = this;
if (loader.defined && loader.defined[load.name]) {
defineRegister(loader);
if (loader.defined[load.name]) {
load.metadata.format = 'defined';
return '';
}
return loaderFetch(load);
anonRegister = null;
calledRegister = false;
// the above get picked up by onScriptLoad
return loaderFetch.call(loader, load);
}

@@ -367,8 +452,15 @@

var entry;
// first we check if this module has already been defined in the registry
if (loader.defined[load.name])
loader.defined[load.name] = entry = loader.defined[load.name];
entry = loader.defined[load.name];
// picked up already by a script injection
else if (load.metadata.entry)
entry = load.metadata.entry;
// otherwise check if it is dynamic
else if (load.metadata.execute) {
loader.defined[load.name] = entry = {
entry = {
declarative: false,
deps: load.metadata.deps || [],

@@ -379,14 +471,32 @@ execute: load.metadata.execute,

}
// Contains System.register calls
else if (load.metadata.format == 'register') {
lastRegister = null;
anonRegister = null;
calledRegister = false;
loader.__exec(load);
// for a bundle, take the last defined module
// in the bundle to be the bundle itself
if (lastRegister)
loader.defined[load.name] = entry = lastRegister;
if (anonRegister)
entry = anonRegister;
if (!calledRegister && !load.metadata.registered)
throw load.name + " detected as System.register but didn't execute.";
}
if (!entry)
// named bundles are just an empty module
if (!entry && load.metadata.format != 'es6')
return {
deps: [],
execute: function() {
return Module({});
}
};
// place this module onto defined for circular references
if (entry)
loader.defined[load.name] = entry;
// no entry -> treat as ES6
else
return loaderInstantiate.call(this, load);

@@ -400,3 +510,3 @@

normalizePromises.push(Promise.resolve(loader.normalize(entry.deps[i], load.name)));
return Promise.all(normalizePromises).then(function(normalizedDeps) {

@@ -432,4 +542,6 @@

for (var name in loader.defined) {
if (loader.defined[name].execute != entry.execute)
if (entry.declarative && loader.defined[name].execute != entry.execute)
continue;
if (!entry.declarative && loader.defined[name].declare != entry.declare);
continue;
loader.defined[name].esmodule = module;

@@ -436,0 +548,0 @@ }

@@ -11,2 +11,5 @@ /*

// call this functione everytime a wrapper executes
loader.onScriptLoad = function() {};
// override fetch to use script injection

@@ -17,10 +20,38 @@ loader.fetch = function(load) {

s.async = true;
s.addEventListener('load', function(evt) {
function complete(evt) {
if (s.readyState && s.readyState != 'loaded' && s.readyState != 'complete')
return;
cleanup();
// this runs synchronously after execution
// we now need to tell the wrapper handlers that
// this load record has just executed
loader.onScriptLoad(load);
resolve('');
}, false);
s.addEventListener('error', function(err) {
reject(err);
}, false);
}
function error(evt) {
cleanup();
reject(evt);
}
if (s.attachEvent)
s.attachEvent('onreadystatechange', complete);
s.addEventListener('load', complete, false);
s.addEventListener('error', err, false);
s.src = load.address;
head.appendChild(s);
function cleanup() {
if (s.detachEvent)
s.detachEvent('onreadystatechange', complete);
else {
s.removeEventListener('load', complete, false);
s.removeEventListener('error', err, false);
}
head.removeChild(s);
}
});

@@ -27,0 +58,0 @@ }

@@ -1,29 +0,6 @@

if (__$curScript) {
System.baseURL = __$curScript.getAttribute('data-baseurl') || System.baseURL;
var configPath = __$curScript.getAttribute('data-config');
if (configPath && configPath.substr(configPath.length - 1) === '/')
configPath += 'config.json';
if (__$curScript && !System.paths['@traceur'])
System.paths['@traceur'] = typeof __$curScript != 'undefined' && __$curScript.getAttribute('data-traceur-src')
|| System.baseURL + (System.baseURL.lastIndexOf('/') == System.baseURL.length - 1 ? '' : '/') + 'traceur.js';
var main = __$curScript.getAttribute('data-main');
if (!System.paths['@traceur'])
System.paths['@traceur'] = typeof __$curScript != 'undefined' && __$curScript.getAttribute('data-traceur-src');
(!configPath ? Promise.resolve() :
Promise.resolve(System.fetch.call(System, { address: configPath, metadata: {} }))
.then(JSON.parse)
.then(System.config)
).then(function() {
if (main)
return System['import'](main);
})
['catch'](function(e) {
setTimeout(function() {
throw e;
})
});
}
};

@@ -33,3 +10,3 @@

try {
__source = 'with(__global) { (function() { ' + __source + ' \n }).call(__global); }'
__source = (__global != __$global ? 'with(__global) { (function() { ' + __source + ' \n }).call(__global); }' : __source)
+ '\n//# sourceURL=' + __address

@@ -70,4 +47,4 @@ + (__sourceMap ? '\n//# sourceMappingURL=' + __sourceMap : '');

global.Module = es6ModuleLoader.Module;
global.upgradeSystemLoader();
module.exports = global.System;
global.upgradeSystemLoader();
}

@@ -74,0 +51,0 @@ })(__$global);

@@ -14,2 +14,43 @@ (function(__$global) {

// Absolute URL parsing, from https://gist.github.com/Yaffle/1088850
function parseURI(url) {
var m = String(url).replace(/^\s+|\s+$/g, '').match(/^([^:\/?#]+:)?(\/\/(?:[^:@]*(?::[^:@]*)?@)?(([^:\/?#]*)(?::(\d*))?))?([^?#]*)(\?[^#]*)?(#[\s\S]*)?/);
// authority = '//' + user + ':' + pass '@' + hostname + ':' port
return (m ? {
href : m[0] || '',
protocol : m[1] || '',
authority: m[2] || '',
host : m[3] || '',
hostname : m[4] || '',
port : m[5] || '',
pathname : m[6] || '',
search : m[7] || '',
hash : m[8] || ''
} : null);
}
function toAbsoluteURL(base, href) {
function removeDotSegments(input) {
var output = [];
input.replace(/^(\.\.?(\/|$))+/, '')
.replace(/\/(\.(\/|$))+/g, '/')
.replace(/\/\.\.$/, '/../')
.replace(/\/?[^\/]*/g, function (p) {
if (p === '/..')
output.pop();
else
output.push(p);
});
return output.join('').replace(/^\//, input.charAt(0) === '/' ? '/' : '');
}
href = parseURI(href || '');
base = parseURI(base || '');
return !href || !base ? null : (href.protocol || base.protocol) +
(href.protocol || href.authority ? href.authority : base.authority) +
removeDotSegments(href.protocol || href.authority || href.pathname.charAt(0) === '/' ? href.pathname : (href.pathname ? ((base.authority && !base.pathname ? '/' : '') + base.pathname.slice(0, base.pathname.lastIndexOf('/') + 1) + href.pathname) : base.pathname)) +
(href.protocol || href.authority || href.pathname ? href.search : (href.search || base.search)) +
href.hash;
}
// clone the original System loader

@@ -16,0 +57,0 @@ var originalSystem = __$global.System;

{
"name": "systemjs",
"version": "0.6.0",
"version": "0.6.1",
"description": "System loader extension for flexible AMD & CommonJS support",

@@ -16,3 +16,4 @@ "main": "dist/system.js",

"devDependencies": {
"qunit": "^0.6.2"
"qunit": "^0.6.2",
"uglify-js": "~2.4.13"
},

@@ -19,0 +20,0 @@ "scripts": {

@@ -15,3 +15,3 @@ SystemJS

Designed to work with the [ES6 Module Loader polyfill](https://github.com/ModuleLoader/es6-module-loader) (7KB) for a combined total footprint of 13.3KB minified and gzipped. In future, with native implementations, the ES6 Module Loader polyfill should no longer be necessary. As jQuery provides for the DOM, this library can smooth over inconsistiencies and missing practical functionality provided by the native System loader.
Designed to work with the [ES6 Module Loader polyfill](https://github.com/ModuleLoader/es6-module-loader) (7KB) for a combined total footprint of 14KB minified and gzipped. In future, with native implementations, the ES6 Module Loader polyfill should no longer be necessary. As jQuery provides for the DOM, this library can smooth over inconsistiencies and missing practical functionality provided by the native System loader.

@@ -27,3 +27,3 @@ Runs in IE8+ and NodeJS. ES6 modules are only supported in IE9+.

Download [`es6-module-loader.js`](https://github.com/ModuleLoader/es6-module-loader/blob/v0.6.0/dist/es6-module-loader.js) and [`traceur.js`](https://github.com/google/traceur-compiler/blob/0.0.41/bin/traceur.js) and locate them in the same folder as `system.js` from this repo.
Download [`es6-module-loader.js`](https://github.com/ModuleLoader/es6-module-loader/blob/v0.6.1/dist/es6-module-loader.js) and [`traceur.js`](https://github.com/google/traceur-compiler/blob/0.0.42/bin/traceur.js) and locate them in the same folder as `system.js` from this repo.

@@ -101,2 +101,6 @@ We then include `dist/system.js` with a script tag in the page.

console.log(new m.q().es6); // yay
}, function() {
setTimeout(function() {
throw e;
});
});

@@ -115,25 +119,2 @@ </script>

### Convenience Form
Typically we would have configuration shared between pages, so we can create a shared `config.json` file:
config.json:
```js
{
"paths": {
"app/*": "/app/*.js"
}
}
```
Then with script attributes, the above example can be rewritten as:
```html
<script src="system.js" baseurl="/lib" config="/" main="app/"></script>
```
This will load `/config.json` before loading the main from `app/app` (`app/` being a shorthand for this). Any loading errors will be caught and thrown.
> Data Attributes like `data-baseurl` can be used instead of the above for valid XHTML.
### Map Configuration

@@ -209,2 +190,6 @@

m == 'world';
}, function(e) {
setTimeout(function() {
throw e;
});
});

@@ -265,3 +250,8 @@ ```

```javascript
System.import('jquery');
System.import('jquery')
.catch(function(e) {
setTimeout(function() {
throw e;
});
});
```

@@ -347,3 +337,3 @@

This will compile all ES6 files in the directory `app` into corresponding AMD files in `app-built`.
This will compile all ES6 files in the directory `app` into corresponding ES5 `System.register` files in `app-built`.

@@ -357,4 +347,9 @@ The `instantiate` modules option writes the modules out using a `System.register` call, which is supported by SystemJS.

<script src="system.js"></script>
<script>
System.paths['app/*'] = 'app-built/*';
</script>
```
We can then use map or paths config to ensure that `app/main` gets directed to the new folder. Alternatively rename `app-built` to replace `app`.
Now the application will continue to behave identically without needing to compile ES6 in the browser.

@@ -372,5 +367,20 @@

We can create a custom bundle with Traceur by comining together a module with all its dependencies into a single file:
Bundles configuration allows a single bundle file to be loaded in place of separate module files.
```javascript
System.bundles['build/core'] = ['jquery', 'app/app', 'app/dep', 'lib/third-party'];
// loads "app/app" from the module "build/core".
System.import('app/app'));
// a request to any one of 'jquery', 'app/app', 'app/dep', 'lib/third-party'
// would delegate to the "build/core" module
```
A built file must contain the exact named defines or named `System.register` statements for the modules
it contains. Mismatched names will result in separate requests still being made.
We can create a custom bundle with Traceur by combining together a module with all its dependencies into a single file:
```
traceur --out build.js app/main.js app/core.js app/another.js

@@ -381,4 +391,3 @@ ```

We can then include this bundle with a `<script>` tag in the page, or we can use the `bundles` config to dynamically load it when a module
is dynamically requested from that bundle.
We can also just include this bundle with a `<script>` tag in the page.

@@ -401,2 +410,6 @@ ### CSP-Compatible Production

// loads app/main from the app-built bundle
}, function(e) {
setTimeout(function() {
throw e;
});
});

@@ -406,4 +419,6 @@ </script>

_Note that this CSP-compatibility mode doesn't fully support plugins, CommonJS or global script loading._
To make all module formats work with CSP, we need to ensure everything is built with a suitable wrapper.
See [SystemJS Builder](https://github.com/systemjs/builder) for a single-file build workflow that can wrap up all module formats.
### NodeJS Usage

@@ -410,0 +425,0 @@

@@ -13,3 +13,6 @@ "format global";

setTimeout(function() {
throw e;
if (typeof window == 'undefined')
console.log(e.stack);
else
throw e;
start();

@@ -134,2 +137,7 @@ });

asyncTest('Prefetching', function() {
throws(System['import']('tests/prefetch'));
start();
});
asyncTest('Package loading shorthand', function() {

@@ -264,2 +272,40 @@ System.map['tests/package'] = 'tests/some-package';

System.bundles['tests/mixed-bundle'] = ['tree/third', 'tree/cjs', 'tree/jquery', 'tree/second', 'tree/global', 'tree/amd', 'tree/first'];
asyncTest('Loading AMD from a bundle', function() {
System['import']('tree/amd').then(function(m) {
ok(m.is == 'amd');
start();
}, err);
});
System.bundles['tests/mixed-bundle'] = ['tree/third', 'tree/cjs', 'tree/jquery', 'tree/second', 'tree/global', 'tree/amd', 'tree/first'];
asyncTest('Loading CommonJS from a bundle', function() {
System['import']('tree/cjs').then(function(m) {
ok(m.cjs === true);
start();
}, err);
});
asyncTest('Loading a Global from a bundle', function() {
System['import']('tree/global').then(function(m) {
ok(m === 'output');
start();
}, err);
});
asyncTest('Loading named System.register', function() {
System['import']('tree/third').then(function(m) {
ok(m.some == 'exports');
start();
}, err);
});
asyncTest('Loading System.register from ES6', function() {
System['import']('tree/first').then(function(m) {
ok(m.p == 5);
start();
}, err);
});
//asyncTest('Loading from jspm', function() {

@@ -266,0 +312,0 @@ // System.paths['npm:*'] = 'https://npm.jspm.io/*.js';

exports.locate = function(load) {
return {
then: function(resolve, reject) {
setTimeout(function() {
resolve('custom fetch');
}, 20);
}
};
return new Promise(function(resolve, reject) {
setTimeout(function() {
resolve('custom fetch');
}, 20);
});
}
exports.fetch = function(load) {
return {
then: function(resolve, reject) {
setTimeout(function() {
resolve(load.address);
}, 20);
}
}
return new Promise(function(resolve, reject) {
setTimeout(function() {
resolve(load.address);
}, 20);
});
}
exports.translate = function(load) {
return '(typeof window != "undefined" ? window : global).q = "' + load.source + ':' + load.name + '";';
load.source = '"deps ./plugin-dep"; (typeof window != "undefined" ? window : global).q = "' + load.source + ':' + load.name + '";';
}
"format cjs";
exports.translate = function(load, systemTranslate) {
exports.translate = function(load) {
load.source = 'require("tests/global"); exports.extra = "yay!"; \n' + load.source;
return systemTranslate.call(this, load);
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc