System.register([], function (_export, _context) {
  "use strict";

  return {
    setters: [],
    execute: function () {
      _recorder_._src_client_reactive_babel_plugin_active_expression_rewriting_constants_js = _recorder_._src_client_reactive_babel_plugin_active_expression_rewriting_constants_js || {};
      const AEXPR_IDENTIFIER_NAME = "aexpr";

      _export("AEXPR_IDENTIFIER_NAME", AEXPR_IDENTIFIER_NAME);

      _recorder_._src_client_reactive_babel_plugin_active_expression_rewriting_constants_js.AEXPR_IDENTIFIER_NAME = AEXPR_IDENTIFIER_NAME;
      const GET_MEMBER = "getMember";

      _export("GET_MEMBER", GET_MEMBER);

      _recorder_._src_client_reactive_babel_plugin_active_expression_rewriting_constants_js.GET_MEMBER = GET_MEMBER;
      const GET_AND_CALL_MEMBER = "getAndCallMember";

      _export("GET_AND_CALL_MEMBER", GET_AND_CALL_MEMBER);

      _recorder_._src_client_reactive_babel_plugin_active_expression_rewriting_constants_js.GET_AND_CALL_MEMBER = GET_AND_CALL_MEMBER;
      const IGNORE_STRING = "aexpr ignore";

      _export("IGNORE_STRING", IGNORE_STRING);

      _recorder_._src_client_reactive_babel_plugin_active_expression_rewriting_constants_js.IGNORE_STRING = IGNORE_STRING;
      const IGNORE_INDICATOR = Symbol("aexpr ignore");

      _export("IGNORE_INDICATOR", IGNORE_INDICATOR);

      _recorder_._src_client_reactive_babel_plugin_active_expression_rewriting_constants_js.IGNORE_INDICATOR = IGNORE_INDICATOR;
      const SET_MEMBER_BY_OPERATORS = {
        '=': 'setMember',
        '+=': 'setMemberAddition',
        '-=': 'setMemberSubtraction',
        '*=': 'setMemberMultiplication',
        '/=': 'setMemberDivision',
        '%=': 'setMemberRemainder',
        //'**=': 'setMemberExponentiation',
        '<<=': 'setMemberLeftShift',
        '>>=': 'setMemberRightShift',
        '>>>=': 'setMemberUnsignedRightShift',
        '&=': 'setMemberBitwiseAND',
        '^=': 'setMemberBitwiseXOR',
        '|=': 'setMemberBitwiseOR'
      };

      _export("SET_MEMBER_BY_OPERATORS", SET_MEMBER_BY_OPERATORS);

      _recorder_._src_client_reactive_babel_plugin_active_expression_rewriting_constants_js.SET_MEMBER_BY_OPERATORS = SET_MEMBER_BY_OPERATORS;
      const SET_LOCAL = "setLocal";

      _export("SET_LOCAL", SET_LOCAL);

      _recorder_._src_client_reactive_babel_plugin_active_expression_rewriting_constants_js.SET_LOCAL = SET_LOCAL;
      const GET_LOCAL = "getLocal";

      _export("GET_LOCAL", GET_LOCAL);

      _recorder_._src_client_reactive_babel_plugin_active_expression_rewriting_constants_js.GET_LOCAL = GET_LOCAL;
      const SET_GLOBAL = "setGlobal";

      _export("SET_GLOBAL", SET_GLOBAL);

      _recorder_._src_client_reactive_babel_plugin_active_expression_rewriting_constants_js.SET_GLOBAL = SET_GLOBAL;
      const GET_GLOBAL = "getGlobal";

      // TODO: use multiple flag for indication of generated content, marking explicit scopes, etc.

      _export("GET_GLOBAL", GET_GLOBAL);

      _recorder_._src_client_reactive_babel_plugin_active_expression_rewriting_constants_js.GET_GLOBAL = GET_GLOBAL;
      const FLAG_GENERATED_SCOPE_OBJECT = Symbol('FLAG: generated scope object');

      _export("FLAG_GENERATED_SCOPE_OBJECT", FLAG_GENERATED_SCOPE_OBJECT);

      _recorder_._src_client_reactive_babel_plugin_active_expression_rewriting_constants_js.FLAG_GENERATED_SCOPE_OBJECT = FLAG_GENERATED_SCOPE_OBJECT;
      const FLAG_SHOULD_NOT_REWRITE_IDENTIFIER = Symbol('FLAG: should not rewrite identifier');

      _export("FLAG_SHOULD_NOT_REWRITE_IDENTIFIER", FLAG_SHOULD_NOT_REWRITE_IDENTIFIER);

      _recorder_._src_client_reactive_babel_plugin_active_expression_rewriting_constants_js.FLAG_SHOULD_NOT_REWRITE_IDENTIFIER = FLAG_SHOULD_NOT_REWRITE_IDENTIFIER;
      const FLAG_SHOULD_NOT_REWRITE_MEMBER_EXPRESSION = Symbol('FLAG: should not rewrite member expression');

      _export("FLAG_SHOULD_NOT_REWRITE_MEMBER_EXPRESSION", FLAG_SHOULD_NOT_REWRITE_MEMBER_EXPRESSION);

      _recorder_._src_client_reactive_babel_plugin_active_expression_rewriting_constants_js.FLAG_SHOULD_NOT_REWRITE_MEMBER_EXPRESSION = FLAG_SHOULD_NOT_REWRITE_MEMBER_EXPRESSION;
      const FLAG_SHOULD_NOT_REWRITE_ASSIGNMENT_EXPRESSION = Symbol('FLAG: should not rewrite assignment expression');

      _export("FLAG_SHOULD_NOT_REWRITE_ASSIGNMENT_EXPRESSION", FLAG_SHOULD_NOT_REWRITE_ASSIGNMENT_EXPRESSION);

      _recorder_._src_client_reactive_babel_plugin_active_expression_rewriting_constants_js.FLAG_SHOULD_NOT_REWRITE_ASSIGNMENT_EXPRESSION = FLAG_SHOULD_NOT_REWRITE_ASSIGNMENT_EXPRESSION;
      const GENERATED_IMPORT_IDENTIFIER = Symbol("generated import identifier");

      _export("GENERATED_IMPORT_IDENTIFIER", GENERATED_IMPORT_IDENTIFIER);

      _recorder_._src_client_reactive_babel_plugin_active_expression_rewriting_constants_js.GENERATED_IMPORT_IDENTIFIER = GENERATED_IMPORT_IDENTIFIER;
    }
  };
});