System.register([],(function(exports){'use strict';return{execute:(function(){// ---
// Single export name
let foo = exports('foo',1);

// Assignment
// foo = 2
exports('foo',foo = 2);
console.log(exports('foo',foo = 2));

// foo += 2
exports('foo',foo += 2);
console.log(exports('foo',foo += 2));

// { foo } = obj
(function(v){return exports('foo',foo),v}({ foo } = obj));
console.log(function(v){return exports('foo',foo),v}({ foo } = obj));

// Update
// foo++
exports('foo',foo+1),foo++;
console.log((exports('foo',foo+1),foo++));
exports('foo',foo-1),foo--;

// ++foo
exports('foo',++foo);
console.log(exports('foo',++foo));
exports('foo',--foo);

// ---
// Multiple export names
let bar = 1; exports({bar:bar,bar2:bar});

// Assignment
// bar = 2
bar = 2,exports({bar:bar,bar2:bar}),bar;
console.log((bar = 2,exports({bar:bar,bar2:bar}),bar));

// bar += 2
bar += 2,exports({bar:bar,bar2:bar}),bar;
console.log((bar += 2,exports({bar:bar,bar2:bar}),bar));

// { bar } = obj
(function(v){return exports({bar:bar,bar2:bar}),v}({ bar } = obj));
console.log(function(v){return exports({bar:bar,bar2:bar}),v}({ bar } = obj));

// Update
// bar++
exports({bar:bar+1,bar2:bar+1}),bar++;
console.log((exports({bar:bar+1,bar2:bar+1}),bar++));
exports({bar:bar-1,bar2:bar-1}),bar--;

// ++bar
++bar,exports({bar:bar,bar2:bar}),bar;
console.log((++bar,exports({bar:bar,bar2:bar}),bar));
--bar,exports({bar:bar,bar2:bar}),bar;})}}));