System.register(["src/client/ContextJS/src/contextjs.js", "src/client/graphics.js", "./preferences.js", "active-group", "src/client/triples/triples.js", "active-expression-rewriting"], function (_export, _context) {
  "use strict";

  var cop, pt, rect, Point, Rectangle, Preferences, select, trackInstance, Knot, aexpr;
  return {
    setters: [function (_srcClientContextJSSrcContextjsJs) {
      cop = _srcClientContextJSSrcContextjsJs;
    }, function (_srcClientGraphicsJs) {
      pt = _srcClientGraphicsJs.pt;
      rect = _srcClientGraphicsJs.rect;
      Point = _srcClientGraphicsJs.Point;
      Rectangle = _srcClientGraphicsJs.Rectangle;
    }, function (_preferencesJs) {
      Preferences = _preferencesJs.default;
    }, function (_activeGroup) {
      select = _activeGroup.default;
      trackInstance = _activeGroup.trackInstance;
    }, function (_srcClientTriplesTriplesJs) {
      Knot = _srcClientTriplesTriplesJs.Knot;
    }, function (_activeExpressionRewriting) {
      aexpr = _activeExpressionRewriting.default;
    }],
    execute: function () {
      const __SystemJSRewritingHack = {};
      _recorder_._src_client_interactive_js = _recorder_._src_client_interactive_js || {};
      Object.defineProperty(_recorder_._src_client_interactive_js, "cop", {
        get() {
          return cop;
        },

        set(thisIsVererySecretVariableName) {
          cop = thisIsVererySecretVariableName;
          return true;
        },

        enumerable: true,
        configurable: true
      });
      Object.defineProperty(_recorder_._src_client_interactive_js, "Rectangle", {
        get() {
          return Rectangle;
        },

        set(thisIsVererySecretVariableName) {
          Rectangle = thisIsVererySecretVariableName;
          return true;
        },

        enumerable: true,
        configurable: true
      });
      Object.defineProperty(_recorder_._src_client_interactive_js, "Point", {
        get() {
          return Point;
        },

        set(thisIsVererySecretVariableName) {
          Point = thisIsVererySecretVariableName;
          return true;
        },

        enumerable: true,
        configurable: true
      });
      Object.defineProperty(_recorder_._src_client_interactive_js, "rect", {
        get() {
          return rect;
        },

        set(thisIsVererySecretVariableName) {
          rect = thisIsVererySecretVariableName;
          return true;
        },

        enumerable: true,
        configurable: true
      });
      Object.defineProperty(_recorder_._src_client_interactive_js, "pt", {
        get() {
          return pt;
        },

        set(thisIsVererySecretVariableName) {
          pt = thisIsVererySecretVariableName;
          return true;
        },

        enumerable: true,
        configurable: true
      });
      Object.defineProperty(_recorder_._src_client_interactive_js, "Preferences", {
        get() {
          return Preferences;
        },

        set(thisIsVererySecretVariableName) {
          Preferences = thisIsVererySecretVariableName;
          return true;
        },

        enumerable: true,
        configurable: true
      });
      Object.defineProperty(_recorder_._src_client_interactive_js, "trackInstance", {
        get() {
          return trackInstance;
        },

        set(thisIsVererySecretVariableName) {
          trackInstance = thisIsVererySecretVariableName;
          return true;
        },

        enumerable: true,
        configurable: true
      });
      Object.defineProperty(_recorder_._src_client_interactive_js, "select", {
        get() {
          return select;
        },

        set(thisIsVererySecretVariableName) {
          select = thisIsVererySecretVariableName;
          return true;
        },

        enumerable: true,
        configurable: true
      });
      Object.defineProperty(_recorder_._src_client_interactive_js, "Knot", {
        get() {
          return Knot;
        },

        set(thisIsVererySecretVariableName) {
          Knot = thisIsVererySecretVariableName;
          return true;
        },

        enumerable: true,
        configurable: true
      });
      Object.defineProperty(_recorder_._src_client_interactive_js, "aexpr", {
        get() {
          return aexpr;
        },

        set(thisIsVererySecretVariableName) {
          aexpr = thisIsVererySecretVariableName;
          return true;
        },

        enumerable: true,
        configurable: true
      });


      /* Layer for interactive development, that will not be active by default
       *
       * - This API should not be used in other methods...
       * - One could consider it as an internal API-based more EUD-friendly DSL
       * - The domain is "interactive" development... using workspace and other such tools
       */

      cop.layer(window, "InteractiveLayer"
      // we will risk overriding methods here, because it is only active in a layer, that is not loaded by default
      ).refineClass(Object, {
        $methods() {
          var m = [];
          for (var ea in this) {
            try {
              if (this[ea] instanceof Function) m.push(ea);
            } catch (e) {
              // e
            }
          }
          return m.sort();
        }
      }, {
        $methods: {
          location: {
            file: 'https://lively-kernel.org/lively4/composed-offset/src/client/interactive.js',
            end: {
              column: 3,
              line: 29
            },
            start: {
              column: 1,
              line: 18
            },
            source: ''
          },
          code: "$methods() {\n    var m = [];\n    for (var ea in this) {\n      try {\n        if (this[ea] instanceof Function)\n          m.push(ea)\n      } catch(e) {\n        // e\n      }\n    }\n    return m.sort()\n  }"
        }
      }).refineClass(Point, {
        $show() {
          lively.showPoint(this);
        }
      }, {
        $show: {
          location: {
            file: 'https://lively-kernel.org/lively4/composed-offset/src/client/interactive.js',
            end: {
              column: 3,
              line: 34
            },
            start: {
              column: 2,
              line: 32
            },
            source: ''
          },
          code: "$show() {\n    lively.showPoint(this)\n  }"
        }
      }).refineClass(Rectangle, {
        $show() {
          lively.showRect(this.topLeft(), this.extent());
        }
      }, {
        $show: {
          location: {
            file: 'https://lively-kernel.org/lively4/composed-offset/src/client/interactive.js',
            end: {
              column: 3,
              line: 39
            },
            start: {
              column: 2,
              line: 37
            },
            source: ''
          },
          code: "$show() {\n    lively.showRect(this.topLeft(), this.extent())\n  }"
        }
      }).refineClass(HTMLElement, {
        get $pos() {
          return lively.getPosition(this);
        },

        set $pos(value) {
          return lively.setPosition(this, value);
        },

        get $g_pos() {
          return lively.getGlobalPosition(this);
        },

        set $g_pos(value) {
          return lively.setGlobalPosition(this, value);
        },
        $show() {
          lively.showElement(this);
        }
      }, {
        $pos: {
          location: {
            file: 'https://lively-kernel.org/lively4/composed-offset/src/client/interactive.js',
            end: {
              column: 3,
              line: 44
            },
            start: {
              column: 2,
              line: 42
            },
            source: ''
          },
          code: "get $pos() {\n    return lively.getPosition(this)\n  }"
        },
        $pos: {
          location: {
            file: 'https://lively-kernel.org/lively4/composed-offset/src/client/interactive.js',
            end: {
              column: 3,
              line: 48
            },
            start: {
              column: 2,
              line: 46
            },
            source: ''
          },
          code: "set $pos(value) {\n    return lively.setPosition(this, value)\n  }"
        },
        $g_pos: {
          location: {
            file: 'https://lively-kernel.org/lively4/composed-offset/src/client/interactive.js',
            end: {
              column: 3,
              line: 52
            },
            start: {
              column: 2,
              line: 50
            },
            source: ''
          },
          code: "get $g_pos() {\n    return lively.getGlobalPosition(this)\n  }"
        },
        $g_pos: {
          location: {
            file: 'https://lively-kernel.org/lively4/composed-offset/src/client/interactive.js',
            end: {
              column: 3,
              line: 56
            },
            start: {
              column: 2,
              line: 54
            },
            source: ''
          },
          code: "set $g_pos(value) {\n    return lively.setGlobalPosition(this, value)\n  }"
        },
        $show: {
          location: {
            file: 'https://lively-kernel.org/lively4/composed-offset/src/client/interactive.js',
            end: {
              column: 3,
              line: 59
            },
            start: {
              column: 2,
              line: 57
            },
            source: ''
          },
          code: "$show() {\n    lively.showElement(this)\n  }"
        }
      }).refineObject(window, {
        get pt() {
          return pt;
        },
        get rect() {
          return rect;
        },
        get Preferences() {
          return Preferences;
        },

        get cop() {
          return cop;
        },

        get aexpr() {
          return aexpr;
        },
        get select() {
          return select;
        },
        get trackInstance() {
          return trackInstance;
        },
        get Knot() {
          return Knot;
        },

        get $morph() {
          return name => document.body.querySelector("#" + name);
        }
      }, {
        pt: {
          location: {
            file: 'https://lively-kernel.org/lively4/composed-offset/src/client/interactive.js',
            end: {
              column: 3,
              line: 64
            },
            start: {
              column: 2,
              line: 62
            },
            source: ''
          },
          code: "get pt() {\n    return pt\n  }"
        },
        rect: {
          location: {
            file: 'https://lively-kernel.org/lively4/composed-offset/src/client/interactive.js',
            end: {
              column: 3,
              line: 67
            },
            start: {
              column: 2,
              line: 65
            },
            source: ''
          },
          code: "get rect() {\n    return rect\n  }"
        },
        Preferences: {
          location: {
            file: 'https://lively-kernel.org/lively4/composed-offset/src/client/interactive.js',
            end: {
              column: 3,
              line: 70
            },
            start: {
              column: 2,
              line: 68
            },
            source: ''
          },
          code: "get Preferences() {\n    return Preferences\n  }"
        },
        cop: {
          location: {
            file: 'https://lively-kernel.org/lively4/composed-offset/src/client/interactive.js',
            end: {
              column: 3,
              line: 74
            },
            start: {
              column: 2,
              line: 72
            },
            source: ''
          },
          code: "get cop() {\n    return cop\n  }"
        },
        aexpr: {
          location: {
            file: 'https://lively-kernel.org/lively4/composed-offset/src/client/interactive.js',
            end: {
              column: 3,
              line: 78
            },
            start: {
              column: 2,
              line: 76
            },
            source: ''
          },
          code: "get aexpr() {\n    return aexpr;\n  }"
        },
        select: {
          location: {
            file: 'https://lively-kernel.org/lively4/composed-offset/src/client/interactive.js',
            end: {
              column: 3,
              line: 81
            },
            start: {
              column: 2,
              line: 79
            },
            source: ''
          },
          code: "get select() {\n    return select;\n  }"
        },
        trackInstance: {
          location: {
            file: 'https://lively-kernel.org/lively4/composed-offset/src/client/interactive.js',
            end: {
              column: 3,
              line: 84
            },
            start: {
              column: 2,
              line: 82
            },
            source: ''
          },
          code: "get trackInstance() {\n    return trackInstance;\n  }"
        },
        Knot: {
          location: {
            file: 'https://lively-kernel.org/lively4/composed-offset/src/client/interactive.js',
            end: {
              column: 3,
              line: 87
            },
            start: {
              column: 2,
              line: 85
            },
            source: ''
          },
          code: "get Knot() {\n    return Knot;\n  }"
        },
        $morph: {
          location: {
            file: 'https://lively-kernel.org/lively4/composed-offset/src/client/interactive.js',
            end: {
              column: 3,
              line: 91
            },
            start: {
              column: 2,
              line: 89
            },
            source: ''
          },
          code: "get $morph() {\n    return name => document.body.querySelector(\"#\" + name)\n  }"
        }
      });
    }
  };
});