diff --git a/dist/es5.js.map b/dist/es5.js.map index d102356..c9d52bb 100644 --- a/dist/es5.js.map +++ b/dist/es5.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap 1913571a5da7ad22c336","webpack:///./src/es5.js","webpack:///./src/classes/game.js","webpack:///./~/babel-runtime/core-js/object/get-prototype-of.js","webpack:///./~/core-js/library/fn/object/get-prototype-of.js","webpack:///./~/core-js/library/modules/es6.object.get-prototype-of.js","webpack:///./~/core-js/library/modules/$.to-object.js","webpack:///./~/core-js/library/modules/$.defined.js","webpack:///./~/core-js/library/modules/$.object-sap.js","webpack:///./~/core-js/library/modules/$.export.js","webpack:///./~/core-js/library/modules/$.global.js","webpack:///./~/core-js/library/modules/$.core.js","webpack:///./~/core-js/library/modules/$.ctx.js","webpack:///./~/core-js/library/modules/$.a-function.js","webpack:///./~/core-js/library/modules/$.fails.js","webpack:///./~/babel-runtime/helpers/classCallCheck.js","webpack:///./~/babel-runtime/helpers/createClass.js","webpack:///./~/babel-runtime/core-js/object/define-property.js","webpack:///./~/core-js/library/fn/object/define-property.js","webpack:///./~/core-js/library/modules/$.js","webpack:///./~/babel-runtime/helpers/possibleConstructorReturn.js","webpack:///./~/babel-runtime/helpers/typeof.js","webpack:///./~/babel-runtime/core-js/symbol/iterator.js","webpack:///./~/core-js/library/fn/symbol/iterator.js","webpack:///./~/core-js/library/modules/es6.string.iterator.js","webpack:///./~/core-js/library/modules/$.string-at.js","webpack:///./~/core-js/library/modules/$.to-integer.js","webpack:///./~/core-js/library/modules/$.iter-define.js","webpack:///./~/core-js/library/modules/$.library.js","webpack:///./~/core-js/library/modules/$.redefine.js","webpack:///./~/core-js/library/modules/$.hide.js","webpack:///./~/core-js/library/modules/$.property-desc.js","webpack:///./~/core-js/library/modules/$.descriptors.js","webpack:///./~/core-js/library/modules/$.has.js","webpack:///./~/core-js/library/modules/$.iterators.js","webpack:///./~/core-js/library/modules/$.iter-create.js","webpack:///./~/core-js/library/modules/$.set-to-string-tag.js","webpack:///./~/core-js/library/modules/$.wks.js","webpack:///./~/core-js/library/modules/$.shared.js","webpack:///./~/core-js/library/modules/$.uid.js","webpack:///./~/core-js/library/modules/web.dom.iterable.js","webpack:///./~/core-js/library/modules/es6.array.iterator.js","webpack:///./~/core-js/library/modules/$.add-to-unscopables.js","webpack:///./~/core-js/library/modules/$.iter-step.js","webpack:///./~/core-js/library/modules/$.to-iobject.js","webpack:///./~/core-js/library/modules/$.iobject.js","webpack:///./~/core-js/library/modules/$.cof.js","webpack:///./~/babel-runtime/core-js/symbol.js","webpack:///./~/core-js/library/fn/symbol/index.js","webpack:///./~/core-js/library/modules/es6.symbol.js","webpack:///./~/core-js/library/modules/$.keyof.js","webpack:///./~/core-js/library/modules/$.get-names.js","webpack:///./~/core-js/library/modules/$.enum-keys.js","webpack:///./~/core-js/library/modules/$.is-array.js","webpack:///./~/core-js/library/modules/$.an-object.js","webpack:///./~/core-js/library/modules/$.is-object.js","webpack:///./~/babel-runtime/helpers/inherits.js","webpack:///./~/babel-runtime/core-js/object/set-prototype-of.js","webpack:///./~/core-js/library/fn/object/set-prototype-of.js","webpack:///./~/core-js/library/modules/es6.object.set-prototype-of.js","webpack:///./~/core-js/library/modules/$.set-proto.js","webpack:///./~/babel-runtime/core-js/object/create.js","webpack:///./~/core-js/library/fn/object/create.js","webpack:///./src/classes/entity.js","webpack:///./src/classes/vector2d.js","webpack:///./src/classes/keyboardinput.js","webpack:///./src/classes/emitter.js","webpack:///./src/classes/sprite.js","webpack:///./src/classes/imageloader.js","webpack:///./src/libs/collisionmethods.js","webpack:///./src/classes/rect.js","webpack:///./src/classes/color.js"],"names":[],"mappings":"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;;;;AClLf,mBAAkB,uD;;;;;;ACAlB;AACA,gE;;;;;;ACDA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACPD;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA,+BAA8B;AAC9B;AACA;AACA,oDAAmD,OAAO,EAAE;AAC5D,G;;;;;;ACTA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAmE;AACnE,sFAAqF;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,gEAA+D;AAC/D;AACA;AACA;AACA,eAAc;AACd,eAAc;AACd,eAAc;AACd,eAAc;AACd,gBAAe;AACf,gBAAe;AACf,0B;;;;;;AC7CA;AACA;AACA;AACA,wCAAuC,gC;;;;;;ACHvC,8BAA6B;AAC7B,sCAAqC,gC;;;;;;ACDrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACnBA;AACA;AACA;AACA,G;;;;;;ACHA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,G;;;;;;ACNA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,G;;;;;;ACRA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,oBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC,G;;;;;;AC1BD,mBAAkB,wD;;;;;;ACAlB;AACA;AACA;AACA,G;;;;;;ACHA;AACA;AACA;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACZA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA,G;;;;;;AChBA;;AAEA,uGAAsG,mBAAmB,EAAE,mBAAmB,oGAAoG;;AAElP;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,EAAC;AACD;AACA,G;;;;;;ACpBA,mBAAkB,wD;;;;;;ACAlB;AACA;AACA,sD;;;;;;ACFA;AACA;;AAEA;AACA;AACA,8BAA6B;AAC7B,eAAc;AACd;AACA,EAAC;AACD;AACA;AACA;AACA,gCAA+B;AAC/B;AACA;AACA,WAAU;AACV,EAAC,E;;;;;;AChBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6BAA4B,aAAa;;AAEzC;AACA;AACA;AACA;AACA;AACA,yCAAwC,oCAAoC;AAC5E,6CAA4C,oCAAoC;AAChF,MAAK,2BAA2B,oCAAoC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAkB,mBAAmB;AACrC;AACA;AACA,oCAAmC,2BAA2B;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,G;;;;;;ACjEA,uB;;;;;;ACAA,0C;;;;;;ACAA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA,G;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACPA;AACA;AACA,kCAAiC,QAAQ,gBAAgB,UAAU,GAAG;AACtE,EAAC,E;;;;;;ACHD,wBAAuB;AACvB;AACA;AACA,G;;;;;;ACHA,qB;;;;;;ACAA;AACA;AACA;AACA;AACA;;AAEA;AACA,4FAAkF,aAAa,EAAE;;AAEjG;AACA,wDAAuD,0BAA0B;AACjF;AACA,G;;;;;;ACZA;AACA;AACA;;AAEA;AACA,mEAAkE,+BAA+B;AACjG,G;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACNA;AACA;AACA,oDAAmD;AACnD;AACA,wCAAuC;AACvC,G;;;;;;ACLA;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA,iE;;;;;;ACFA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAgC;AAChC,eAAc;AACd,kBAAiB;AACjB;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;;AAEA;AACA;AACA,6B;;;;;;ACjCA,6BAA4B,e;;;;;;ACA5B;AACA,WAAU;AACV,G;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACLA;AACA;AACA;AACA;AACA,G;;;;;;ACJA,kBAAiB;;AAEjB;AACA;AACA,G;;;;;;ACJA,mBAAkB,wD;;;;;;ACAlB;AACA;AACA,iD;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4BAA2B;AAC3B,qBAAoB,4BAA4B,SAAS,IAAI;AAC7D,IAAG;AACH,EAAC;AACD;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,+DAA8D;AAC9D;AACA,MAAK;AACL;AACA,uBAAsB,iCAAiC;AACvD,MAAK;AACL,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAoD,KAAK,QAAQ,iCAAiC;AAClG,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH,yBAAwB,eAAe,EAAE;AACzC,yBAAwB,gBAAgB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;;AAEA,iCAAgC,gBAAgB;;AAEhD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA,8EAA6E,sBAAsB;;AAEnG;AACA;AACA;AACA;AACA;AACA,2C;;;;;;AClOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACTA;AACA;AACA;AACA,mBAAkB;;AAElB;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,G;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACbA;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA,G;;;;;;;;;;;;ACFA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,G;;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","file":"es5.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 1913571a5da7ad22c336\n **/","\"use strict\";\n\nimport Game from \"./classes/game.js\";\nimport Emitter from \"./classes/emitter.js\";\nimport Entity from \"./classes/entity.js\";\nimport Vector2D from \"./classes/vector2d.js\";\nimport Sprite from \"./classes/sprite.js\";\nimport Rect from \"./classes/rect.js\";\nimport Color from \"./classes/color.js\";\nimport ImageLoader from \"./classes/imageloader.js\";\n\nimport {KeyConsts} from \"./classes/keyboardinput.js\";\n\n\nconst Classes = {\n Game: Game,\n Emitter: Emitter,\n Entity: Entity,\n Sprite: Sprite,\n Rect: Rect,\n Vector2D: Vector2D,\n Color: Color,\n ImageLoader: ImageLoader\n};\n\n\nconst Consts = {\n Input: {\n Keys: KeyConsts\n }\n};\n\n\nwindow.MomentumEngine = {\n Classes: Classes,\n Consts: Consts\n};\n\n\n/** WEBPACK FOOTER **\n ** ./src/es5.js\n **/","\"use strict\";\n\nimport Entity from \"./entity.js\";\nimport KeyboardInput from \"./keyboardinput.js\";\n\nclass Game extends Entity {\n\n\n constructor (config) {\n\n super(); // Call entity constructor\n config = config || {};\n config.inputs = config.inputs || {};\n\n\n // Required params\n if (config.canvas) {\n this.canvas = config.canvas;\n } else {\n throw new Error(\"MomentumEngine.Classes.Game must be constructed with a canvas\");\n }\n\n if (config.width) {\n this.width = config.width;\n } else {\n throw new Error(\"MomentumEngine.Classes.Game must be constructed with canvas width\");\n }\n\n if (config.height) {\n this.height = config.height;\n } else {\n throw new Error(\"MomentumEngine.Classes.Game must be constructed with canvas height\");\n }\n\n\n // Optional params\n this.desiredFps = config.desiredFps || 60;\n\n if (config.fixRatio) {\n\n let deviceRatio = window.devicePixelRatio,\n backingStoreRatio = 0;\n\n // Unfortunately Ejecta requires calling getContext last, so we cannot get the backingStorePixelRatio. So for Ejecta's case, we set it to 1, and call getContext later.\n if (typeof ejecta !== \"undefined\") {\n backingStoreRatio = 1;\n } else {\n\n this.context = this.canvas.getContext(\"2d\");\n\n backingStoreRatio = this.context.webkitBackingStorePixelRatio ||\n this.context.mozBackingStorePixelRatio ||\n this.context.msBackingStorePixelRatio ||\n this.context.oBackingStorePixelRatio ||\n this.context.backingStorePixelRatio || 1;\n\n }\n\n this.scale = deviceRatio / backingStoreRatio;\n\n this.canvas.width = this.width * this.scale;\n this.canvas.height = this.height * this.scale;\n\n this.canvas.style.width = this.width + \"px\";\n this.canvas.style.height = this.height + \"px\";\n\n // Call getContext last for Ejecta only.\n if (typeof ejecta !== \"undefined\") {\n this.context = this.canvas.getContext(\"2d\");\n }\n\n this.context.scale(deviceRatio, deviceRatio);\n\n } else {\n\n this.canvas.width = this.width;\n this.canvas.height = this.height;\n\n this.context = this.canvas.getContext(\"2d\");\n\n }\n\n if (typeof this.context.imageSmoothingEnabled !== \"undefined\") {\n this.context.imageSmoothingEnabled = config.imageSmoothing || false;\n }\n\n\n // Initialize defaults\n this.frameCounter = 0;\n\n this.inputs = {};\n if (config.inputs.keyboard) {\n this.inputs.keyboard = new KeyboardInput(this);\n }\n\n this._game = this;\n this._lastFrameTimestamp = 0;\n this._wantPause = true;\n\n }\n\n\n step (delta) {\n\n this.frameCounter++;\n\n this._updateEntity(delta);\n this._renderEntity();\n\n }\n\n\n start () {\n\n var self = this; // NK: Hate doing this...better way plz?\n\n if (self._wantPause) {\n self._wantPause = false;\n } else {\n console.log(\"MomentumEngine.Classes.Game.start called, game instance is already started\");\n return false; // Game is already running\n }\n\n self._wantPause = false;\n\n let requestFrame = (() => {\n\n return (window.requestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n function (callback) {\n window.setTimeout(callback, 1000 / self.desiredFps);\n });\n\n })();\n\n self._lastFrameTimestamp = +(new Date());\n self.startTime = self._lastFrameTimestamp;\n\n var loop = function () {\n\n if (self._wantPause) {\n return;\n }\n\n let currentTimestamp = +(new Date()),\n delta = currentTimestamp - self._lastFrameTimestamp;\n\n delta = Math.min(delta, 1000 / self.desiredFps);\n self._lastFrameTimestamp = currentTimestamp;\n\n self.step(delta);\n\n requestFrame(loop);\n\n };\n\n loop();\n return true;\n\n }\n\n\n pause () {\n\n if (!this._wantPause) {\n this._wantPause = true;\n return true;\n } else {\n console.log(\"MomentumEngine.Classes.Game.pause called, game instance is already paused\");\n return false;\n }\n }\n\n\n}\n\n\nexport default Game;\n\n\n/** WEBPACK FOOTER **\n ** ./src/classes/game.js\n **/","module.exports = { \"default\": require(\"core-js/library/fn/object/get-prototype-of\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/object/get-prototype-of.js\n ** module id = 2\n ** module chunks = 0 1\n **/","require('../../modules/es6.object.get-prototype-of');\nmodule.exports = require('../../modules/$.core').Object.getPrototypeOf;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/object/get-prototype-of.js\n ** module id = 3\n ** module chunks = 0 1\n **/","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./$.to-object');\n\nrequire('./$.object-sap')('getPrototypeOf', function($getPrototypeOf){\n return function getPrototypeOf(it){\n return $getPrototypeOf(toObject(it));\n };\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.object.get-prototype-of.js\n ** module id = 4\n ** module chunks = 0 1\n **/","// 7.1.13 ToObject(argument)\nvar defined = require('./$.defined');\nmodule.exports = function(it){\n return Object(defined(it));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.to-object.js\n ** module id = 5\n ** module chunks = 0 1\n **/","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function(it){\n if(it == undefined)throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.defined.js\n ** module id = 6\n ** module chunks = 0 1\n **/","// most Object methods by ES6 should accept primitives\nvar $export = require('./$.export')\n , core = require('./$.core')\n , fails = require('./$.fails');\nmodule.exports = function(KEY, exec){\n var fn = (core.Object || {})[KEY] || Object[KEY]\n , exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.object-sap.js\n ** module id = 7\n ** module chunks = 0 1\n **/","var global = require('./$.global')\n , core = require('./$.core')\n , ctx = require('./$.ctx')\n , PROTOTYPE = 'prototype';\n\nvar $export = function(type, name, source){\n var IS_FORCED = type & $export.F\n , IS_GLOBAL = type & $export.G\n , IS_STATIC = type & $export.S\n , IS_PROTO = type & $export.P\n , IS_BIND = type & $export.B\n , IS_WRAP = type & $export.W\n , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})\n , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]\n , key, own, out;\n if(IS_GLOBAL)source = name;\n for(key in source){\n // contains in native\n own = !IS_FORCED && target && key in target;\n if(own && key in exports)continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function(C){\n var F = function(param){\n return this instanceof C ? new C(param) : C(param);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n if(IS_PROTO)(exports[PROTOTYPE] || (exports[PROTOTYPE] = {}))[key] = out;\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\nmodule.exports = $export;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.export.js\n ** module id = 8\n ** module chunks = 0 1\n **/","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.global.js\n ** module id = 9\n ** module chunks = 0 1\n **/","var core = module.exports = {version: '1.2.6'};\nif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.core.js\n ** module id = 10\n ** module chunks = 0 1\n **/","// optional / simple context binding\nvar aFunction = require('./$.a-function');\nmodule.exports = function(fn, that, length){\n aFunction(fn);\n if(that === undefined)return fn;\n switch(length){\n case 1: return function(a){\n return fn.call(that, a);\n };\n case 2: return function(a, b){\n return fn.call(that, a, b);\n };\n case 3: return function(a, b, c){\n return fn.call(that, a, b, c);\n };\n }\n return function(/* ...args */){\n return fn.apply(that, arguments);\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.ctx.js\n ** module id = 11\n ** module chunks = 0 1\n **/","module.exports = function(it){\n if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.a-function.js\n ** module id = 12\n ** module chunks = 0 1\n **/","module.exports = function(exec){\n try {\n return !!exec();\n } catch(e){\n return true;\n }\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.fails.js\n ** module id = 13\n ** module chunks = 0 1\n **/","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/helpers/classCallCheck.js\n ** module id = 14\n ** module chunks = 0 1\n **/","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/helpers/createClass.js\n ** module id = 15\n ** module chunks = 0 1\n **/","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/object/define-property.js\n ** module id = 16\n ** module chunks = 0 1\n **/","var $ = require('../../modules/$');\nmodule.exports = function defineProperty(it, key, desc){\n return $.setDesc(it, key, desc);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/object/define-property.js\n ** module id = 17\n ** module chunks = 0 1\n **/","var $Object = Object;\nmodule.exports = {\n create: $Object.create,\n getProto: $Object.getPrototypeOf,\n isEnum: {}.propertyIsEnumerable,\n getDesc: $Object.getOwnPropertyDescriptor,\n setDesc: $Object.defineProperty,\n setDescs: $Object.defineProperties,\n getKeys: $Object.keys,\n getNames: $Object.getOwnPropertyNames,\n getSymbols: $Object.getOwnPropertySymbols,\n each: [].forEach\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.js\n ** module id = 18\n ** module chunks = 0 1\n **/","\"use strict\";\n\nexports.__esModule = true;\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/helpers/possibleConstructorReturn.js\n ** module id = 19\n ** module chunks = 0 1\n **/","\"use strict\";\n\nvar _typeof = typeof _Symbol === \"function\" && typeof _Symbol$iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _Symbol === \"function\" && obj.constructor === _Symbol ? \"symbol\" : typeof obj; };\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/helpers/typeof.js\n ** module id = 20\n ** module chunks = 0 1\n **/","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/symbol/iterator.js\n ** module id = 21\n ** module chunks = 0 1\n **/","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/$.wks')('iterator');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/symbol/iterator.js\n ** module id = 22\n ** module chunks = 0 1\n **/","'use strict';\nvar $at = require('./$.string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./$.iter-define')(String, 'String', function(iterated){\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , index = this._i\n , point;\n if(index >= O.length)return {value: undefined, done: true};\n point = $at(O, index);\n this._i += point.length;\n return {value: point, done: false};\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.string.iterator.js\n ** module id = 23\n ** module chunks = 0 1\n **/","var toInteger = require('./$.to-integer')\n , defined = require('./$.defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function(TO_STRING){\n return function(that, pos){\n var s = String(defined(that))\n , i = toInteger(pos)\n , l = s.length\n , a, b;\n if(i < 0 || i >= l)return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.string-at.js\n ** module id = 24\n ** module chunks = 0 1\n **/","// 7.1.4 ToInteger\nvar ceil = Math.ceil\n , floor = Math.floor;\nmodule.exports = function(it){\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.to-integer.js\n ** module id = 25\n ** module chunks = 0 1\n **/","'use strict';\nvar LIBRARY = require('./$.library')\n , $export = require('./$.export')\n , redefine = require('./$.redefine')\n , hide = require('./$.hide')\n , has = require('./$.has')\n , Iterators = require('./$.iterators')\n , $iterCreate = require('./$.iter-create')\n , setToStringTag = require('./$.set-to-string-tag')\n , getProto = require('./$').getProto\n , ITERATOR = require('./$.wks')('iterator')\n , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`\n , FF_ITERATOR = '@@iterator'\n , KEYS = 'keys'\n , VALUES = 'values';\n\nvar returnThis = function(){ return this; };\n\nmodule.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){\n $iterCreate(Constructor, NAME, next);\n var getMethod = function(kind){\n if(!BUGGY && kind in proto)return proto[kind];\n switch(kind){\n case KEYS: return function keys(){ return new Constructor(this, kind); };\n case VALUES: return function values(){ return new Constructor(this, kind); };\n } return function entries(){ return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator'\n , DEF_VALUES = DEFAULT == VALUES\n , VALUES_BUG = false\n , proto = Base.prototype\n , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]\n , $default = $native || getMethod(DEFAULT)\n , methods, key;\n // Fix native\n if($native){\n var IteratorPrototype = getProto($default.call(new Base));\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // FF fix\n if(!LIBRARY && has(proto, FF_ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);\n // fix Array#{values, @@iterator}.name in V8 / FF\n if(DEF_VALUES && $native.name !== VALUES){\n VALUES_BUG = true;\n $default = function values(){ return $native.call(this); };\n }\n }\n // Define iterator\n if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if(DEFAULT){\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: !DEF_VALUES ? $default : getMethod('entries')\n };\n if(FORCED)for(key in methods){\n if(!(key in proto))redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.iter-define.js\n ** module id = 26\n ** module chunks = 0 1\n **/","module.exports = true;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.library.js\n ** module id = 27\n ** module chunks = 0 1\n **/","module.exports = require('./$.hide');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.redefine.js\n ** module id = 28\n ** module chunks = 0 1\n **/","var $ = require('./$')\n , createDesc = require('./$.property-desc');\nmodule.exports = require('./$.descriptors') ? function(object, key, value){\n return $.setDesc(object, key, createDesc(1, value));\n} : function(object, key, value){\n object[key] = value;\n return object;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.hide.js\n ** module id = 29\n ** module chunks = 0 1\n **/","module.exports = function(bitmap, value){\n return {\n enumerable : !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable : !(bitmap & 4),\n value : value\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.property-desc.js\n ** module id = 30\n ** module chunks = 0 1\n **/","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./$.fails')(function(){\n return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.descriptors.js\n ** module id = 31\n ** module chunks = 0 1\n **/","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function(it, key){\n return hasOwnProperty.call(it, key);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.has.js\n ** module id = 32\n ** module chunks = 0 1\n **/","module.exports = {};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.iterators.js\n ** module id = 33\n ** module chunks = 0 1\n **/","'use strict';\nvar $ = require('./$')\n , descriptor = require('./$.property-desc')\n , setToStringTag = require('./$.set-to-string-tag')\n , IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./$.hide')(IteratorPrototype, require('./$.wks')('iterator'), function(){ return this; });\n\nmodule.exports = function(Constructor, NAME, next){\n Constructor.prototype = $.create(IteratorPrototype, {next: descriptor(1, next)});\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.iter-create.js\n ** module id = 34\n ** module chunks = 0 1\n **/","var def = require('./$').setDesc\n , has = require('./$.has')\n , TAG = require('./$.wks')('toStringTag');\n\nmodule.exports = function(it, tag, stat){\n if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.set-to-string-tag.js\n ** module id = 35\n ** module chunks = 0 1\n **/","var store = require('./$.shared')('wks')\n , uid = require('./$.uid')\n , Symbol = require('./$.global').Symbol;\nmodule.exports = function(name){\n return store[name] || (store[name] =\n Symbol && Symbol[name] || (Symbol || uid)('Symbol.' + name));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.wks.js\n ** module id = 36\n ** module chunks = 0 1\n **/","var global = require('./$.global')\n , SHARED = '__core-js_shared__'\n , store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function(key){\n return store[key] || (store[key] = {});\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.shared.js\n ** module id = 37\n ** module chunks = 0 1\n **/","var id = 0\n , px = Math.random();\nmodule.exports = function(key){\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.uid.js\n ** module id = 38\n ** module chunks = 0 1\n **/","require('./es6.array.iterator');\nvar Iterators = require('./$.iterators');\nIterators.NodeList = Iterators.HTMLCollection = Iterators.Array;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/web.dom.iterable.js\n ** module id = 39\n ** module chunks = 0 1\n **/","'use strict';\nvar addToUnscopables = require('./$.add-to-unscopables')\n , step = require('./$.iter-step')\n , Iterators = require('./$.iterators')\n , toIObject = require('./$.to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./$.iter-define')(Array, 'Array', function(iterated, kind){\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , kind = this._k\n , index = this._i++;\n if(!O || index >= O.length){\n this._t = undefined;\n return step(1);\n }\n if(kind == 'keys' )return step(0, index);\n if(kind == 'values')return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.array.iterator.js\n ** module id = 40\n ** module chunks = 0 1\n **/","module.exports = function(){ /* empty */ };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.add-to-unscopables.js\n ** module id = 41\n ** module chunks = 0 1\n **/","module.exports = function(done, value){\n return {value: value, done: !!done};\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.iter-step.js\n ** module id = 42\n ** module chunks = 0 1\n **/","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./$.iobject')\n , defined = require('./$.defined');\nmodule.exports = function(it){\n return IObject(defined(it));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.to-iobject.js\n ** module id = 43\n ** module chunks = 0 1\n **/","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./$.cof');\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.iobject.js\n ** module id = 44\n ** module chunks = 0 1\n **/","var toString = {}.toString;\n\nmodule.exports = function(it){\n return toString.call(it).slice(8, -1);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.cof.js\n ** module id = 45\n ** module chunks = 0 1\n **/","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/symbol.js\n ** module id = 46\n ** module chunks = 0 1\n **/","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nmodule.exports = require('../../modules/$.core').Symbol;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/symbol/index.js\n ** module id = 47\n ** module chunks = 0 1\n **/","'use strict';\n// ECMAScript 6 symbols shim\nvar $ = require('./$')\n , global = require('./$.global')\n , has = require('./$.has')\n , DESCRIPTORS = require('./$.descriptors')\n , $export = require('./$.export')\n , redefine = require('./$.redefine')\n , $fails = require('./$.fails')\n , shared = require('./$.shared')\n , setToStringTag = require('./$.set-to-string-tag')\n , uid = require('./$.uid')\n , wks = require('./$.wks')\n , keyOf = require('./$.keyof')\n , $names = require('./$.get-names')\n , enumKeys = require('./$.enum-keys')\n , isArray = require('./$.is-array')\n , anObject = require('./$.an-object')\n , toIObject = require('./$.to-iobject')\n , createDesc = require('./$.property-desc')\n , getDesc = $.getDesc\n , setDesc = $.setDesc\n , _create = $.create\n , getNames = $names.get\n , $Symbol = global.Symbol\n , $JSON = global.JSON\n , _stringify = $JSON && $JSON.stringify\n , setter = false\n , HIDDEN = wks('_hidden')\n , isEnum = $.isEnum\n , SymbolRegistry = shared('symbol-registry')\n , AllSymbols = shared('symbols')\n , useNative = typeof $Symbol == 'function'\n , ObjectProto = Object.prototype;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function(){\n return _create(setDesc({}, 'a', {\n get: function(){ return setDesc(this, 'a', {value: 7}).a; }\n })).a != 7;\n}) ? function(it, key, D){\n var protoDesc = getDesc(ObjectProto, key);\n if(protoDesc)delete ObjectProto[key];\n setDesc(it, key, D);\n if(protoDesc && it !== ObjectProto)setDesc(ObjectProto, key, protoDesc);\n} : setDesc;\n\nvar wrap = function(tag){\n var sym = AllSymbols[tag] = _create($Symbol.prototype);\n sym._k = tag;\n DESCRIPTORS && setter && setSymbolDesc(ObjectProto, tag, {\n configurable: true,\n set: function(value){\n if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n }\n });\n return sym;\n};\n\nvar isSymbol = function(it){\n return typeof it == 'symbol';\n};\n\nvar $defineProperty = function defineProperty(it, key, D){\n if(D && has(AllSymbols, key)){\n if(!D.enumerable){\n if(!has(it, HIDDEN))setDesc(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;\n D = _create(D, {enumerable: createDesc(0, false)});\n } return setSymbolDesc(it, key, D);\n } return setDesc(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P){\n anObject(it);\n var keys = enumKeys(P = toIObject(P))\n , i = 0\n , l = keys.length\n , key;\n while(l > i)$defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P){\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key){\n var E = isEnum.call(this, key);\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key]\n ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){\n var D = getDesc(it = toIObject(it), key);\n if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it){\n var names = getNames(toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i)if(!has(AllSymbols, key = names[i++]) && key != HIDDEN)result.push(key);\n return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it){\n var names = getNames(toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i)if(has(AllSymbols, key = names[i++]))result.push(AllSymbols[key]);\n return result;\n};\nvar $stringify = function stringify(it){\n if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined\n var args = [it]\n , i = 1\n , $$ = arguments\n , replacer, $replacer;\n while($$.length > i)args.push($$[i++]);\n replacer = args[1];\n if(typeof replacer == 'function')$replacer = replacer;\n if($replacer || !isArray(replacer))replacer = function(key, value){\n if($replacer)value = $replacer.call(this, key, value);\n if(!isSymbol(value))return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n};\nvar buggyJSON = $fails(function(){\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}';\n});\n\n// 19.4.1.1 Symbol([description])\nif(!useNative){\n $Symbol = function Symbol(){\n if(isSymbol(this))throw TypeError('Symbol is not a constructor');\n return wrap(uid(arguments.length > 0 ? arguments[0] : undefined));\n };\n redefine($Symbol.prototype, 'toString', function toString(){\n return this._k;\n });\n\n isSymbol = function(it){\n return it instanceof $Symbol;\n };\n\n $.create = $create;\n $.isEnum = $propertyIsEnumerable;\n $.getDesc = $getOwnPropertyDescriptor;\n $.setDesc = $defineProperty;\n $.setDescs = $defineProperties;\n $.getNames = $names.get = $getOwnPropertyNames;\n $.getSymbols = $getOwnPropertySymbols;\n\n if(DESCRIPTORS && !require('./$.library')){\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n}\n\nvar symbolStatics = {\n // 19.4.2.1 Symbol.for(key)\n 'for': function(key){\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(key){\n return keyOf(SymbolRegistry, key);\n },\n useSetter: function(){ setter = true; },\n useSimple: function(){ setter = false; }\n};\n// 19.4.2.2 Symbol.hasInstance\n// 19.4.2.3 Symbol.isConcatSpreadable\n// 19.4.2.4 Symbol.iterator\n// 19.4.2.6 Symbol.match\n// 19.4.2.8 Symbol.replace\n// 19.4.2.9 Symbol.search\n// 19.4.2.10 Symbol.species\n// 19.4.2.11 Symbol.split\n// 19.4.2.12 Symbol.toPrimitive\n// 19.4.2.13 Symbol.toStringTag\n// 19.4.2.14 Symbol.unscopables\n$.each.call((\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,' +\n 'species,split,toPrimitive,toStringTag,unscopables'\n).split(','), function(it){\n var sym = wks(it);\n symbolStatics[it] = useNative ? sym : wrap(sym);\n});\n\nsetter = true;\n\n$export($export.G + $export.W, {Symbol: $Symbol});\n\n$export($export.S, 'Symbol', symbolStatics);\n\n$export($export.S + $export.F * !useNative, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!useNative || buggyJSON), 'JSON', {stringify: $stringify});\n\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.symbol.js\n ** module id = 48\n ** module chunks = 0 1\n **/","var $ = require('./$')\n , toIObject = require('./$.to-iobject');\nmodule.exports = function(object, el){\n var O = toIObject(object)\n , keys = $.getKeys(O)\n , length = keys.length\n , index = 0\n , key;\n while(length > index)if(O[key = keys[index++]] === el)return key;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.keyof.js\n ** module id = 49\n ** module chunks = 0 1\n **/","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./$.to-iobject')\n , getNames = require('./$').getNames\n , toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function(it){\n try {\n return getNames(it);\n } catch(e){\n return windowNames.slice();\n }\n};\n\nmodule.exports.get = function getOwnPropertyNames(it){\n if(windowNames && toString.call(it) == '[object Window]')return getWindowNames(it);\n return getNames(toIObject(it));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.get-names.js\n ** module id = 50\n ** module chunks = 0 1\n **/","// all enumerable object keys, includes symbols\nvar $ = require('./$');\nmodule.exports = function(it){\n var keys = $.getKeys(it)\n , getSymbols = $.getSymbols;\n if(getSymbols){\n var symbols = getSymbols(it)\n , isEnum = $.isEnum\n , i = 0\n , key;\n while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))keys.push(key);\n }\n return keys;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.enum-keys.js\n ** module id = 51\n ** module chunks = 0 1\n **/","// 7.2.2 IsArray(argument)\nvar cof = require('./$.cof');\nmodule.exports = Array.isArray || function(arg){\n return cof(arg) == 'Array';\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.is-array.js\n ** module id = 52\n ** module chunks = 0 1\n **/","var isObject = require('./$.is-object');\nmodule.exports = function(it){\n if(!isObject(it))throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.an-object.js\n ** module id = 53\n ** module chunks = 0 1\n **/","module.exports = function(it){\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.is-object.js\n ** module id = 54\n ** module chunks = 0 1\n **/","\"use strict\";\n\nexports.__esModule = true;\n\nvar _setPrototypeOf = require(\"../core-js/object/set-prototype-of\");\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _create = require(\"../core-js/object/create\");\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n }\n\n subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/helpers/inherits.js\n ** module id = 56\n ** module chunks = 0 1\n **/","module.exports = { \"default\": require(\"core-js/library/fn/object/set-prototype-of\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/object/set-prototype-of.js\n ** module id = 57\n ** module chunks = 0 1\n **/","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/$.core').Object.setPrototypeOf;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/object/set-prototype-of.js\n ** module id = 58\n ** module chunks = 0 1\n **/","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./$.export');\n$export($export.S, 'Object', {setPrototypeOf: require('./$.set-proto').set});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.object.set-prototype-of.js\n ** module id = 59\n ** module chunks = 0 1\n **/","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar getDesc = require('./$').getDesc\n , isObject = require('./$.is-object')\n , anObject = require('./$.an-object');\nvar check = function(O, proto){\n anObject(O);\n if(!isObject(proto) && proto !== null)throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function(test, buggy, set){\n try {\n set = require('./$.ctx')(Function.call, getDesc(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch(e){ buggy = true; }\n return function setPrototypeOf(O, proto){\n check(O, proto);\n if(buggy)O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.set-proto.js\n ** module id = 60\n ** module chunks = 0 1\n **/","module.exports = { \"default\": require(\"core-js/library/fn/object/create\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/object/create.js\n ** module id = 61\n ** module chunks = 0 1\n **/","var $ = require('../../modules/$');\nmodule.exports = function create(P, D){\n return $.create(P, D);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/object/create.js\n ** module id = 62\n ** module chunks = 0 1\n **/","\"use strict\";\n\nimport Vector2D from \"./vector2d.js\";\n\nclass Entity {\n\n\n constructor (x, y) {\n\n this.pos = new Vector2D(x || 0, y || 0);\n this.velocity = new Vector2D(0, 0);\n this.acceleration = new Vector2D(0, 0);\n\n this.state = {};\n this.children = [];\n\n this._calculatedPos = this.pos.clone();\n this._lastCalculated = 0;\n this._game = null;\n this._parent = null;\n\n this._creationTime = +(new Date());\n\n }\n\n\n setVelocity (x, y) {\n\n if (x instanceof Vector2D) {\n this.velocity = x;\n } else {\n this.velocity.x = x;\n this.velocity.y = y;\n }\n\n }\n\n\n setAcceleration (x, y) {\n\n if (x instanceof Vector2D) {\n this.acceleration = x;\n } else {\n this.acceleration.x = x;\n this.acceleration.y = y;\n }\n\n }\n\n\n createChildEntity () {\n\n let child = new Entity();\n\n child._updateGame(this._game);\n child._parent = this;\n this.children.push(child);\n\n return child;\n\n }\n\n\n addChildEntity (child) {\n\n child._updateGame(this._game);\n child._parent = this;\n this.children.push(child);\n\n return child;\n\n }\n\n\n detachChildEntity (child) {\n\n for (let i = 0; i < this.children.length; i++) {\n if (this.children[i] == child) {\n\n this.children.splice(i, 1);\n return true;\n\n }\n }\n\n return false;\n\n }\n\n\n _preprocess () {\n\n // NK: The purpose of this function is to calculate the true position of the entity relative to all its parents. It does this recursively, calling the _preprocess method all the way back up the tree and continuously adding the results together.\n\n // Note there is a limiter, where the last calculated frame is stored, so that if the position has already been calculated for that node in this particular frame, the cached result is used rather than recalculating.\n\n // When rendering, the draw calls should use this._calculatedPos rather than this.pos in order for the position to be correct.\n\n if (this._game && this._lastCalculated < this._game.frameCounter) {\n\n if (this._parent) {\n\n let parentPos = this._parent._preprocess();\n\n this._calculatedPos.x = this.pos.x + parentPos.x;\n this._calculatedPos.y = this.pos.y + parentPos.y;\n\n } else {\n this._calculatedPos.x = this.pos.x;\n this._calculatedPos.y = this.pos.y;\n }\n\n this._lastCalculated = this._game.frameCounter;\n\n }\n\n return this._calculatedPos;\n\n }\n\n\n _updateGame (game) {\n\n this._game = game;\n\n this.children.forEach((child) => {\n child._updateGame(game);\n });\n\n }\n\n\n _updateEntity (delta) {\n\n if (this.timeToLive) {\n if (+(new Date()) - this._creationTime > this.timeToLive) {\n this._parent.detachChildEntity(this);\n }\n }\n\n // Calculate new position based on velocity and acceleration if there's one set\n if (this.velocity) {\n\n if (this.acceleration) {\n this.velocity.add(this.acceleration);\n }\n\n this.pos.add(this.velocity);\n\n }\n\n // If there's an update method, call it\n let updated = this.update && this.update(delta);\n\n if (updated || (typeof updated == \"undefined\") || (typeof this.update === \"undefined\")) {\n\n this.children.forEach((child) => {\n child._updateEntity(delta);\n });\n\n }\n\n }\n\n\n _renderEntity () {\n\n this._preprocess();\n\n let rendered = this.render && this.render();\n\n if (rendered || (typeof rendered == \"undefined\") || (typeof this.render === \"undefined\")) {\n\n this.children.forEach((child) => {\n child._renderEntity();\n });\n\n }\n\n }\n\n\n}\n\n\nexport default Entity;\n\n\n/** WEBPACK FOOTER **\n ** ./src/classes/entity.js\n **/","\"use strict\";\n\nclass Vector2D {\n\n\n constructor (x, y) {\n this.x = x || 0; this.y = y || 0;\n }\n\n\n invert () {\n this.x = -this.x; this.y = -this.y;\n return this;\n }\n\n\n add (val) {\n\n if (val instanceof Vector2D) {\n this.x += val.x; this.y += val.y;\n } else {\n this.x += val; this.y += val;\n }\n\n return this;\n\n }\n\n\n subtract (val) {\n\n if (val instanceof Vector2D) {\n this.x -= val.x; this.y -= val.y;\n } else {\n this.x -= val; this.y -= val;\n }\n\n return this;\n\n }\n\n\n multiply (val) {\n\n if (val instanceof Vector2D) {\n this.x *= val.x; this.y *= val.y;\n } else {\n this.x *= val; this.y *= val;\n }\n\n return this;\n\n }\n\n\n divide (val) {\n\n if (val instanceof Vector2D) {\n this.x /= val.x; this.y /= val.y;\n } else {\n this.x /= val; this.y /= val;\n }\n\n return this;\n\n }\n\n\n equals (val) {\n return (this.x == val.x && this.y == val.y);\n }\n\n\n dot (val) {\n return (this.x * val.x + this.y * val.y);\n }\n\n\n length () {\n return Math.sqrt(this.dot(this));\n }\n\n\n unit () {\n return this.divide(this.length());\n }\n\n\n min () {\n return Math.min(this.x, this.y);\n }\n\n\n max () {\n return Math.max(this.x, this.y);\n }\n\n\n degrees () {\n return (Math.atan(this.x, this.y) * 180);\n }\n\n\n angle () {\n return Math.atan2(this.x, this.y);\n }\n\n\n toArray () {\n return [this.x, this.y];\n }\n\n\n toString () {\n return `[${this.x}},${this.y}}]`;\n }\n\n\n clone () {\n return new Vector2D(this.x, this.y);\n }\n\n\n static fromAngle (angle, length) {\n return new Vector2D(length * Math.cos(angle), length * Math.sin(angle));\n }\n\n\n}\n\n\nexport default Vector2D;\n\n\n/** WEBPACK FOOTER **\n ** ./src/classes/vector2d.js\n **/","\"use strict\";\n\n\nconst KeyConsts = {\n SPACE: 32,\n BACKSPACE: 8,\n TAB: 9,\n ENTER: 13,\n SHIFT: 16,\n CTRL: 17,\n ALT: 18,\n PAUSE: 19,\n CAPS_LOCK: 20,\n ESCAPE: 27,\n PAGE_UP: 33,\n PAGE_DOWN: 34,\n END: 35,\n HOME: 36,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n INSERT: 45,\n DELETE: 46,\n NUM_0: 48,\n NUM_1: 49,\n NUM_2: 50,\n NUM_3: 51,\n NUM_4: 52,\n NUM_5: 53,\n NUM_6: 54,\n NUM_7: 55,\n NUM_8: 56,\n NUM_9: 57,\n CHAR_A: 65,\n CHAR_B: 66,\n CHAR_C: 67,\n CHAR_D: 68,\n CHAR_E: 69,\n CHAR_F: 70,\n CHAR_G: 71,\n CHAR_H: 72,\n CHAR_I: 73,\n CHAR_J: 74,\n CHAR_K: 75,\n CHAR_L: 76,\n CHAR_M: 77,\n CHAR_N: 78,\n CHAR_O: 79,\n CHAR_P: 80,\n CHAR_Q: 81,\n CHAR_R: 82,\n CHAR_S: 83,\n CHAR_T: 84,\n CHAR_U: 85,\n CHAR_V: 86,\n CHAR_W: 87,\n CHAR_X: 88,\n CHAR_Y: 89,\n CHAR_Z: 90,\n NUM_PAD_0: 96,\n NUM_PAD_1: 97,\n NUM_PAD_2: 98,\n NUM_PAD_3: 99,\n NUM_PAD_4: 100,\n NUM_PAD_5: 101,\n NUM_PAD_6: 102,\n NUM_PAD_7: 103,\n NUM_PAD_8: 104,\n NUM_PAD_9: 105,\n MULTIPLY: 106,\n ADD: 107,\n SUBTRACT: 109,\n DECIMAL: 110,\n DIVIDE: 111,\n F1: 112,\n F2: 113,\n F3: 114,\n F4: 115,\n F5: 116,\n F6: 117,\n F7: 118,\n F8: 119,\n F9: 120,\n F10: 121,\n F11: 122,\n F12: 123,\n SEMICOLON: 186,\n EQUALS: 187,\n COMMA: 188,\n DASH: 189,\n PERIOD: 190,\n FORWARD_SLASH: 191,\n GRAVE: 192,\n OPEN_BRACKET: 219,\n BACK_SLASH: 220,\n CLOSE_BRACKET: 221,\n SINGLE_QUOTE: 222\n};\n\n\nclass KeyboardInput {\n\n\n constructor () {\n\n var self = this;\n self._keyState = {};\n\n window.addEventListener(\"keydown\", (event) => {\n self._keyDownHandler(event);\n }, false);\n\n window.addEventListener(\"keyup\", (event) => {\n self._keyUpHandler(event);\n }, false);\n\n }\n\n\n isPressed (keyCode) {\n return !!this._keyState[keyCode];\n }\n\n\n _keyDownHandler (event) {\n this._keyState[event.keyCode] = true;\n }\n\n\n _keyUpHandler (event) {\n this._keyState[event.keyCode] = false;\n }\n\n\n}\n\n\nexport default KeyboardInput;\nexport {KeyConsts};\n\n\n/** WEBPACK FOOTER **\n ** ./src/classes/keyboardinput.js\n **/","\"use strict\";\n\nimport Entity from \"./entity.js\";\nimport Vector2D from \"./vector2d.js\";\n\n\nclass Emitter extends Entity {\n\n\n constructor (x, y, rate, velocity, particle) {\n\n super(x, y);\n\n this.particleVelocity = velocity;\n this.particleClass = particle;\n\n this.rate = rate;\n this.emitting = false;\n this.spread = Math.PI;\n this._lastEmitTime = this._creationTime;\n this._wasEmitting = false;\n\n this._particles = [];\n\n }\n\n\n setParticleParent (entity) {\n this._particleParent = entity;\n }\n\n\n _emit () {\n\n let ParticleClass = this.particleClass,\n parent = this._particleParent || this._parent;\n\n let angle = this.particleVelocity.angle() + this.spread - (Math.random() * this.spread * 2),\n magnitude = this.particleVelocity.length(),\n velocity = Vector2D.fromAngle(angle, magnitude);\n\n let particle = new ParticleClass(this._calculatedPos.x, this._calculatedPos.y);\n particle.velocity = velocity;\n\n //this._particles.push(particle);\n parent.addChildEntity(particle);\n\n }\n\n\n _triggerEmissions () {\n\n // We prematurely call preprocess so that child particles can spawn from the emitters permission but be children of a different parent\n // NK: This might cause a bug where child renders have an incorrect position because preprocess should normally be called after the update function but before the render, here it is before update. We'll see.\n this._preprocess();\n\n if (this.emitting) {\n\n let currentTime = +(new Date());\n\n if (!this._wasEmitting) {\n this._wasEmitting = true;\n this._lastEmitTime = currentTime;\n }\n\n let emitDelta = currentTime - this._lastEmitTime;\n if (emitDelta > this.rate) {\n\n let emissions = ~~(emitDelta / this.rate);\n\n this._lastEmitTime = currentTime + (emitDelta - (this.rate * emissions));\n\n for (let i = 0; i < emissions; i++) {\n this._emit();\n }\n\n }\n\n } else {\n this._wasEmitting = false;\n }\n\n }\n\n\n update () {\n this._triggerEmissions();\n }\n\n\n}\n\n\nexport default Emitter;\n\n\n/** WEBPACK FOOTER **\n ** ./src/classes/emitter.js\n **/","\"use strict\";\n\nimport Entity from \"./entity.js\";\nimport Vector2D from \"./vector2d.js\";\nimport ImageLoader from \"./imageloader.js\";\n\nimport CollisionMethods from \"../libs/collisionmethods.js\";\n\n\nclass Sprite extends Entity {\n\n\n constructor (x, y, width, height, image) {\n\n if (!image instanceof ImageLoader) {\n throw new Error(\"MomentumEngine.Classes.Sprite must be instantiated with an ImageLoader instance\");\n }\n\n super(x, y);\n\n this.size = new Vector2D(width || 0, height || 0);\n\n this._image = image;\n this._imagePos = new Vector2D(0, 0);\n this._imageSize = new Vector2D(0, 0);\n\n }\n\n\n setImageCoords (x, y, width, height) {\n\n this._imagePos.x = x;\n this._imagePos.y = y;\n this._imageSize.x = width || 0;\n this._imageSize.y = height || 0;\n\n }\n\n\n isReady () {\n return (this._image.isLoaded() && !this._image.isError());\n }\n\n\n render () {\n\n if (this.isReady() && this._game) {\n\n let imageObj = this._image.getImageObj();\n\n let subWidth = imageObj.width - this._imagePos.x,\n subHeight = imageObj.height - this._imagePos.y;\n\n this._game.context.drawImage(\n imageObj,\n this._imagePos.x,\n this._imagePos.y,\n this._imageSize.x || subWidth,\n this._imageSize.y || subHeight,\n this._calculatedPos.x,\n this._calculatedPos.y,\n this.size.x || subWidth,\n this.size.y || subHeight\n );\n\n return true;\n\n } else {\n return false;\n }\n\n }\n\n\n}\n\n\nexport default Sprite;\n\n\n/** WEBPACK FOOTER **\n ** ./src/classes/sprite.js\n **/","\"use strict\";\n\nclass ImageLoader {\n\n\n constructor (src) {\n\n this._loaded = false; // Default is true, set it to false until the image has loaded\n this._error = false; // If the image fails to load, this will contain the reason\n\n this._imageObj = new Image();\n\n this._imageObj.addEventListener(\"load\", () => {\n this._loaded = true;\n this._error = false;\n });\n\n this._imageObj.addEventListener(\"_error\", (err) => {\n this._loaded = false;\n this._error = err;\n });\n\n this._imageObj.src = src;\n\n }\n\n\n getImageObj () {\n\n if (this._loaded) {\n return this._imageObj;\n } else {\n return false;\n }\n\n }\n\n\n isLoaded () {\n return this._loaded;\n }\n\n\n isError () {\n return this._error;\n }\n\n\n}\n\n\nexport default ImageLoader;\n\n\n/** WEBPACK FOOTER **\n ** ./src/classes/imageloader.js\n **/","import Rect from \"../classes/rect.js\";\n\nclass CollisionMethods {\n\n\n static AABB (entity1, entity2) {\n\n if (!entity1 instanceof Rect || !entity2 instanceof Rect) {\n throw new Error(\"AABB collisions can only be checked on these entity types: Rect\");\n }\n\n return (entity1.pos.x < entity2.pos.x + entity2.size.x &&\n entity1.pos.x + entity1.size.x > entity2.pos.x &&\n entity1.pos.y < entity2.pos.y + entity2.size.y &&\n entity1.size.y + entity1.pos.y > entity2.pos.y);\n\n }\n\n\n}\n\n\nexport default CollisionMethods;\n\n\n/** WEBPACK FOOTER **\n ** ./src/libs/collisionmethods.js\n **/","\"use strict\";\n\nimport Entity from \"./entity.js\";\nimport Vector2D from \"./vector2d.js\";\n\nimport CollisionMethods from \"../libs/collisionmethods.js\";\n\n\nclass Rect extends Entity {\n\n\n constructor (x, y, width, height, color) {\n\n super(x, y);\n\n this.size = new Vector2D(width, height);\n this.color = color;\n\n }\n\n\n isCollidingWith (entity) {\n\n if (entity instanceof Rect) {\n return CollisionMethods.AABB(this, entity);\n }\n\n }\n\n\n render () {\n\n if (this._game) {\n\n this._game.context.fillStyle = this.color.toString();\n this._game.context.fillRect(this._calculatedPos.x, this._calculatedPos.y, this.size.x, this.size.y);\n\n return true;\n\n } else {\n return false;\n }\n\n }\n\n\n}\n\n\nexport default Rect;\n\n\n/** WEBPACK FOOTER **\n ** ./src/classes/rect.js\n **/","\"use strict\";\n\nclass Color {\n\n\n constructor (r, g, b, a) {\n\n this.r = r || 0;\n this.g = g || 0;\n this.b = b || 0;\n this.a = a || 1;\n\n }\n\n\n toString () {\n return `rgba(${this.r}, ${this.g}, ${this.b}, ${this.a})`;\n }\n\n\n toHex () {\n return `#${((r << 16) | (g << 8) | b).toString(16)}`;\n }\n\n\n}\n\n\nexport default Color;\n\n\n/** WEBPACK FOOTER **\n ** ./src/classes/color.js\n **/"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap e78c406e4972b9e8c899","webpack:///./src/es5.js","webpack:///./src/classes/game.js","webpack:///./~/babel-runtime/core-js/object/get-prototype-of.js","webpack:///./~/core-js/library/fn/object/get-prototype-of.js","webpack:///./~/core-js/library/modules/es6.object.get-prototype-of.js","webpack:///./~/core-js/library/modules/$.to-object.js","webpack:///./~/core-js/library/modules/$.defined.js","webpack:///./~/core-js/library/modules/$.object-sap.js","webpack:///./~/core-js/library/modules/$.export.js","webpack:///./~/core-js/library/modules/$.global.js","webpack:///./~/core-js/library/modules/$.core.js","webpack:///./~/core-js/library/modules/$.ctx.js","webpack:///./~/core-js/library/modules/$.a-function.js","webpack:///./~/core-js/library/modules/$.fails.js","webpack:///./~/babel-runtime/helpers/classCallCheck.js","webpack:///./~/babel-runtime/helpers/createClass.js","webpack:///./~/babel-runtime/core-js/object/define-property.js","webpack:///./~/core-js/library/fn/object/define-property.js","webpack:///./~/core-js/library/modules/$.js","webpack:///./~/babel-runtime/helpers/possibleConstructorReturn.js","webpack:///./~/babel-runtime/helpers/typeof.js","webpack:///./~/babel-runtime/core-js/symbol/iterator.js","webpack:///./~/core-js/library/fn/symbol/iterator.js","webpack:///./~/core-js/library/modules/es6.string.iterator.js","webpack:///./~/core-js/library/modules/$.string-at.js","webpack:///./~/core-js/library/modules/$.to-integer.js","webpack:///./~/core-js/library/modules/$.iter-define.js","webpack:///./~/core-js/library/modules/$.library.js","webpack:///./~/core-js/library/modules/$.redefine.js","webpack:///./~/core-js/library/modules/$.hide.js","webpack:///./~/core-js/library/modules/$.property-desc.js","webpack:///./~/core-js/library/modules/$.descriptors.js","webpack:///./~/core-js/library/modules/$.has.js","webpack:///./~/core-js/library/modules/$.iterators.js","webpack:///./~/core-js/library/modules/$.iter-create.js","webpack:///./~/core-js/library/modules/$.set-to-string-tag.js","webpack:///./~/core-js/library/modules/$.wks.js","webpack:///./~/core-js/library/modules/$.shared.js","webpack:///./~/core-js/library/modules/$.uid.js","webpack:///./~/core-js/library/modules/web.dom.iterable.js","webpack:///./~/core-js/library/modules/es6.array.iterator.js","webpack:///./~/core-js/library/modules/$.add-to-unscopables.js","webpack:///./~/core-js/library/modules/$.iter-step.js","webpack:///./~/core-js/library/modules/$.to-iobject.js","webpack:///./~/core-js/library/modules/$.iobject.js","webpack:///./~/core-js/library/modules/$.cof.js","webpack:///./~/babel-runtime/core-js/symbol.js","webpack:///./~/core-js/library/fn/symbol/index.js","webpack:///./~/core-js/library/modules/es6.symbol.js","webpack:///./~/core-js/library/modules/$.keyof.js","webpack:///./~/core-js/library/modules/$.get-names.js","webpack:///./~/core-js/library/modules/$.enum-keys.js","webpack:///./~/core-js/library/modules/$.is-array.js","webpack:///./~/core-js/library/modules/$.an-object.js","webpack:///./~/core-js/library/modules/$.is-object.js","webpack:///./~/babel-runtime/helpers/inherits.js","webpack:///./~/babel-runtime/core-js/object/set-prototype-of.js","webpack:///./~/core-js/library/fn/object/set-prototype-of.js","webpack:///./~/core-js/library/modules/es6.object.set-prototype-of.js","webpack:///./~/core-js/library/modules/$.set-proto.js","webpack:///./~/babel-runtime/core-js/object/create.js","webpack:///./~/core-js/library/fn/object/create.js","webpack:///./src/classes/entity.js","webpack:///./src/classes/vector2d.js","webpack:///./src/classes/keyboardinput.js","webpack:///./src/classes/emitter.js","webpack:///./src/classes/sprite.js","webpack:///./src/classes/imageloader.js","webpack:///./src/libs/collisionmethods.js","webpack:///./src/classes/rect.js","webpack:///./src/classes/color.js"],"names":[],"mappings":"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;;;;AClLf,mBAAkB,uD;;;;;;ACAlB;AACA,gE;;;;;;ACDA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACPD;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA,+BAA8B;AAC9B;AACA;AACA,oDAAmD,OAAO,EAAE;AAC5D,G;;;;;;ACTA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAmE;AACnE,sFAAqF;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,gEAA+D;AAC/D;AACA;AACA;AACA,eAAc;AACd,eAAc;AACd,eAAc;AACd,eAAc;AACd,gBAAe;AACf,gBAAe;AACf,0B;;;;;;AC7CA;AACA;AACA;AACA,wCAAuC,gC;;;;;;ACHvC,8BAA6B;AAC7B,sCAAqC,gC;;;;;;ACDrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACnBA;AACA;AACA;AACA,G;;;;;;ACHA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,G;;;;;;ACNA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,G;;;;;;ACRA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,oBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC,G;;;;;;AC1BD,mBAAkB,wD;;;;;;ACAlB;AACA;AACA;AACA,G;;;;;;ACHA;AACA;AACA;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACZA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA,G;;;;;;AChBA;;AAEA,uGAAsG,mBAAmB,EAAE,mBAAmB,oGAAoG;;AAElP;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,EAAC;AACD;AACA,G;;;;;;ACpBA,mBAAkB,wD;;;;;;ACAlB;AACA;AACA,sD;;;;;;ACFA;AACA;;AAEA;AACA;AACA,8BAA6B;AAC7B,eAAc;AACd;AACA,EAAC;AACD;AACA;AACA;AACA,gCAA+B;AAC/B;AACA;AACA,WAAU;AACV,EAAC,E;;;;;;AChBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6BAA4B,aAAa;;AAEzC;AACA;AACA;AACA;AACA;AACA,yCAAwC,oCAAoC;AAC5E,6CAA4C,oCAAoC;AAChF,MAAK,2BAA2B,oCAAoC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAkB,mBAAmB;AACrC;AACA;AACA,oCAAmC,2BAA2B;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,G;;;;;;ACjEA,uB;;;;;;ACAA,0C;;;;;;ACAA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA,G;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACPA;AACA;AACA,kCAAiC,QAAQ,gBAAgB,UAAU,GAAG;AACtE,EAAC,E;;;;;;ACHD,wBAAuB;AACvB;AACA;AACA,G;;;;;;ACHA,qB;;;;;;ACAA;AACA;AACA;AACA;AACA;;AAEA;AACA,4FAAkF,aAAa,EAAE;;AAEjG;AACA,wDAAuD,0BAA0B;AACjF;AACA,G;;;;;;ACZA;AACA;AACA;;AAEA;AACA,mEAAkE,+BAA+B;AACjG,G;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACNA;AACA;AACA,oDAAmD;AACnD;AACA,wCAAuC;AACvC,G;;;;;;ACLA;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA,iE;;;;;;ACFA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAgC;AAChC,eAAc;AACd,kBAAiB;AACjB;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;;AAEA;AACA;AACA,6B;;;;;;ACjCA,6BAA4B,e;;;;;;ACA5B;AACA,WAAU;AACV,G;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACLA;AACA;AACA;AACA;AACA,G;;;;;;ACJA,kBAAiB;;AAEjB;AACA;AACA,G;;;;;;ACJA,mBAAkB,wD;;;;;;ACAlB;AACA;AACA,iD;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4BAA2B;AAC3B,qBAAoB,4BAA4B,SAAS,IAAI;AAC7D,IAAG;AACH,EAAC;AACD;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,+DAA8D;AAC9D;AACA,MAAK;AACL;AACA,uBAAsB,iCAAiC;AACvD,MAAK;AACL,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAoD,KAAK,QAAQ,iCAAiC;AAClG,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH,yBAAwB,eAAe,EAAE;AACzC,yBAAwB,gBAAgB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;;AAEA,iCAAgC,gBAAgB;;AAEhD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA,8EAA6E,sBAAsB;;AAEnG;AACA;AACA;AACA;AACA;AACA,2C;;;;;;AClOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACTA;AACA;AACA;AACA,mBAAkB;;AAElB;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,G;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACbA;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA,G;;;;;;;;;;;;ACFA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,G;;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","file":"es5.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap e78c406e4972b9e8c899\n **/","\"use strict\";\n\nimport Game from \"./classes/game.js\";\nimport Emitter from \"./classes/emitter.js\";\nimport Entity from \"./classes/entity.js\";\nimport Vector2D from \"./classes/vector2d.js\";\nimport Sprite from \"./classes/sprite.js\";\nimport Rect from \"./classes/rect.js\";\nimport Color from \"./classes/color.js\";\nimport ImageLoader from \"./classes/imageloader.js\";\n\nimport {KeyConsts} from \"./classes/keyboardinput.js\";\n\n\nconst Classes = {\n Game: Game,\n Emitter: Emitter,\n Entity: Entity,\n Sprite: Sprite,\n Rect: Rect,\n Vector2D: Vector2D,\n Color: Color,\n ImageLoader: ImageLoader\n};\n\n\nconst Consts = {\n Input: {\n Keys: KeyConsts\n }\n};\n\n\nwindow.MomentumEngine = {\n Classes: Classes,\n Consts: Consts\n};\n\n\n/** WEBPACK FOOTER **\n ** ./src/es5.js\n **/","\"use strict\";\n\nimport Entity from \"./entity.js\";\nimport KeyboardInput from \"./keyboardinput.js\";\n\nclass Game extends Entity {\n\n\n constructor (config) {\n\n super(); // Call entity constructor\n config = config || {};\n config.inputs = config.inputs || {};\n\n\n // Required params\n if (config.canvas) {\n this.canvas = config.canvas;\n } else {\n throw new Error(\"MomentumEngine.Classes.Game must be constructed with a canvas\");\n }\n\n if (config.width) {\n this.width = config.width;\n } else {\n throw new Error(\"MomentumEngine.Classes.Game must be constructed with canvas width\");\n }\n\n if (config.height) {\n this.height = config.height;\n } else {\n throw new Error(\"MomentumEngine.Classes.Game must be constructed with canvas height\");\n }\n\n\n // Optional params\n this.desiredFps = config.desiredFps || 60;\n\n if (config.fixRatio) {\n\n let deviceRatio = window.devicePixelRatio,\n backingStoreRatio = 0;\n\n // Unfortunately Ejecta requires calling getContext last, so we cannot get the backingStorePixelRatio. So for Ejecta's case, we set it to 1, and call getContext later.\n if (typeof ejecta !== \"undefined\") {\n backingStoreRatio = 1;\n } else {\n\n this.context = this.canvas.getContext(\"2d\");\n\n backingStoreRatio = this.context.webkitBackingStorePixelRatio ||\n this.context.mozBackingStorePixelRatio ||\n this.context.msBackingStorePixelRatio ||\n this.context.oBackingStorePixelRatio ||\n this.context.backingStorePixelRatio || 1;\n\n }\n\n this.scale = deviceRatio / backingStoreRatio;\n\n this.canvas.width = this.width * this.scale;\n this.canvas.height = this.height * this.scale;\n\n this.canvas.style.width = this.width + \"px\";\n this.canvas.style.height = this.height + \"px\";\n\n // Call getContext last for Ejecta only.\n if (typeof ejecta !== \"undefined\") {\n this.context = this.canvas.getContext(\"2d\");\n }\n\n this.context.scale(deviceRatio, deviceRatio);\n\n } else {\n\n this.canvas.width = this.width;\n this.canvas.height = this.height;\n\n this.context = this.canvas.getContext(\"2d\");\n\n }\n\n if (typeof this.context.imageSmoothingEnabled !== \"undefined\") {\n this.context.imageSmoothingEnabled = config.imageSmoothing || false;\n }\n\n\n // Initialize defaults\n this.frameCounter = 0;\n\n this.inputs = {};\n if (config.inputs.keyboard) {\n this.inputs.keyboard = new KeyboardInput(this);\n }\n\n this._game = this;\n this._lastFrameTimestamp = 0;\n this._wantPause = true;\n\n }\n\n\n step (delta) {\n\n this.frameCounter++;\n\n this._updateEntity(delta);\n this._renderEntity();\n\n }\n\n\n start () {\n\n var self = this; // NK: Hate doing this...better way plz?\n\n if (self._wantPause) {\n self._wantPause = false;\n } else {\n console.log(\"MomentumEngine.Classes.Game.start called, game instance is already started\");\n return false; // Game is already running\n }\n\n self._wantPause = false;\n\n let requestFrame = (() => {\n\n return (window.requestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n function (callback) {\n window.setTimeout(callback, 1000 / self.desiredFps);\n });\n\n })();\n\n self._lastFrameTimestamp = +(new Date());\n self.startTime = self._lastFrameTimestamp;\n\n var loop = function () {\n\n if (self._wantPause) {\n return;\n }\n\n let currentTimestamp = +(new Date()),\n delta = currentTimestamp - self._lastFrameTimestamp;\n\n delta = Math.min(delta, 1000 / self.desiredFps);\n self._lastFrameTimestamp = currentTimestamp;\n\n self.step(delta);\n\n requestFrame(loop);\n\n };\n\n loop();\n return true;\n\n }\n\n\n pause () {\n\n if (!this._wantPause) {\n this._wantPause = true;\n return true;\n } else {\n console.log(\"MomentumEngine.Classes.Game.pause called, game instance is already paused\");\n return false;\n }\n }\n\n\n}\n\n\nexport default Game;\n\n\n/** WEBPACK FOOTER **\n ** ./src/classes/game.js\n **/","module.exports = { \"default\": require(\"core-js/library/fn/object/get-prototype-of\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/object/get-prototype-of.js\n ** module id = 2\n ** module chunks = 0 1\n **/","require('../../modules/es6.object.get-prototype-of');\nmodule.exports = require('../../modules/$.core').Object.getPrototypeOf;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/object/get-prototype-of.js\n ** module id = 3\n ** module chunks = 0 1\n **/","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./$.to-object');\n\nrequire('./$.object-sap')('getPrototypeOf', function($getPrototypeOf){\n return function getPrototypeOf(it){\n return $getPrototypeOf(toObject(it));\n };\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.object.get-prototype-of.js\n ** module id = 4\n ** module chunks = 0 1\n **/","// 7.1.13 ToObject(argument)\nvar defined = require('./$.defined');\nmodule.exports = function(it){\n return Object(defined(it));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.to-object.js\n ** module id = 5\n ** module chunks = 0 1\n **/","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function(it){\n if(it == undefined)throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.defined.js\n ** module id = 6\n ** module chunks = 0 1\n **/","// most Object methods by ES6 should accept primitives\nvar $export = require('./$.export')\n , core = require('./$.core')\n , fails = require('./$.fails');\nmodule.exports = function(KEY, exec){\n var fn = (core.Object || {})[KEY] || Object[KEY]\n , exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.object-sap.js\n ** module id = 7\n ** module chunks = 0 1\n **/","var global = require('./$.global')\n , core = require('./$.core')\n , ctx = require('./$.ctx')\n , PROTOTYPE = 'prototype';\n\nvar $export = function(type, name, source){\n var IS_FORCED = type & $export.F\n , IS_GLOBAL = type & $export.G\n , IS_STATIC = type & $export.S\n , IS_PROTO = type & $export.P\n , IS_BIND = type & $export.B\n , IS_WRAP = type & $export.W\n , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})\n , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]\n , key, own, out;\n if(IS_GLOBAL)source = name;\n for(key in source){\n // contains in native\n own = !IS_FORCED && target && key in target;\n if(own && key in exports)continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function(C){\n var F = function(param){\n return this instanceof C ? new C(param) : C(param);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n if(IS_PROTO)(exports[PROTOTYPE] || (exports[PROTOTYPE] = {}))[key] = out;\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\nmodule.exports = $export;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.export.js\n ** module id = 8\n ** module chunks = 0 1\n **/","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.global.js\n ** module id = 9\n ** module chunks = 0 1\n **/","var core = module.exports = {version: '1.2.6'};\nif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.core.js\n ** module id = 10\n ** module chunks = 0 1\n **/","// optional / simple context binding\nvar aFunction = require('./$.a-function');\nmodule.exports = function(fn, that, length){\n aFunction(fn);\n if(that === undefined)return fn;\n switch(length){\n case 1: return function(a){\n return fn.call(that, a);\n };\n case 2: return function(a, b){\n return fn.call(that, a, b);\n };\n case 3: return function(a, b, c){\n return fn.call(that, a, b, c);\n };\n }\n return function(/* ...args */){\n return fn.apply(that, arguments);\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.ctx.js\n ** module id = 11\n ** module chunks = 0 1\n **/","module.exports = function(it){\n if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.a-function.js\n ** module id = 12\n ** module chunks = 0 1\n **/","module.exports = function(exec){\n try {\n return !!exec();\n } catch(e){\n return true;\n }\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.fails.js\n ** module id = 13\n ** module chunks = 0 1\n **/","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/helpers/classCallCheck.js\n ** module id = 14\n ** module chunks = 0 1\n **/","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/helpers/createClass.js\n ** module id = 15\n ** module chunks = 0 1\n **/","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/object/define-property.js\n ** module id = 16\n ** module chunks = 0 1\n **/","var $ = require('../../modules/$');\nmodule.exports = function defineProperty(it, key, desc){\n return $.setDesc(it, key, desc);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/object/define-property.js\n ** module id = 17\n ** module chunks = 0 1\n **/","var $Object = Object;\nmodule.exports = {\n create: $Object.create,\n getProto: $Object.getPrototypeOf,\n isEnum: {}.propertyIsEnumerable,\n getDesc: $Object.getOwnPropertyDescriptor,\n setDesc: $Object.defineProperty,\n setDescs: $Object.defineProperties,\n getKeys: $Object.keys,\n getNames: $Object.getOwnPropertyNames,\n getSymbols: $Object.getOwnPropertySymbols,\n each: [].forEach\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.js\n ** module id = 18\n ** module chunks = 0 1\n **/","\"use strict\";\n\nexports.__esModule = true;\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/helpers/possibleConstructorReturn.js\n ** module id = 19\n ** module chunks = 0 1\n **/","\"use strict\";\n\nvar _typeof = typeof _Symbol === \"function\" && typeof _Symbol$iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _Symbol === \"function\" && obj.constructor === _Symbol ? \"symbol\" : typeof obj; };\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/helpers/typeof.js\n ** module id = 20\n ** module chunks = 0 1\n **/","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/symbol/iterator.js\n ** module id = 21\n ** module chunks = 0 1\n **/","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/$.wks')('iterator');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/symbol/iterator.js\n ** module id = 22\n ** module chunks = 0 1\n **/","'use strict';\nvar $at = require('./$.string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./$.iter-define')(String, 'String', function(iterated){\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , index = this._i\n , point;\n if(index >= O.length)return {value: undefined, done: true};\n point = $at(O, index);\n this._i += point.length;\n return {value: point, done: false};\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.string.iterator.js\n ** module id = 23\n ** module chunks = 0 1\n **/","var toInteger = require('./$.to-integer')\n , defined = require('./$.defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function(TO_STRING){\n return function(that, pos){\n var s = String(defined(that))\n , i = toInteger(pos)\n , l = s.length\n , a, b;\n if(i < 0 || i >= l)return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.string-at.js\n ** module id = 24\n ** module chunks = 0 1\n **/","// 7.1.4 ToInteger\nvar ceil = Math.ceil\n , floor = Math.floor;\nmodule.exports = function(it){\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.to-integer.js\n ** module id = 25\n ** module chunks = 0 1\n **/","'use strict';\nvar LIBRARY = require('./$.library')\n , $export = require('./$.export')\n , redefine = require('./$.redefine')\n , hide = require('./$.hide')\n , has = require('./$.has')\n , Iterators = require('./$.iterators')\n , $iterCreate = require('./$.iter-create')\n , setToStringTag = require('./$.set-to-string-tag')\n , getProto = require('./$').getProto\n , ITERATOR = require('./$.wks')('iterator')\n , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`\n , FF_ITERATOR = '@@iterator'\n , KEYS = 'keys'\n , VALUES = 'values';\n\nvar returnThis = function(){ return this; };\n\nmodule.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){\n $iterCreate(Constructor, NAME, next);\n var getMethod = function(kind){\n if(!BUGGY && kind in proto)return proto[kind];\n switch(kind){\n case KEYS: return function keys(){ return new Constructor(this, kind); };\n case VALUES: return function values(){ return new Constructor(this, kind); };\n } return function entries(){ return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator'\n , DEF_VALUES = DEFAULT == VALUES\n , VALUES_BUG = false\n , proto = Base.prototype\n , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]\n , $default = $native || getMethod(DEFAULT)\n , methods, key;\n // Fix native\n if($native){\n var IteratorPrototype = getProto($default.call(new Base));\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // FF fix\n if(!LIBRARY && has(proto, FF_ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);\n // fix Array#{values, @@iterator}.name in V8 / FF\n if(DEF_VALUES && $native.name !== VALUES){\n VALUES_BUG = true;\n $default = function values(){ return $native.call(this); };\n }\n }\n // Define iterator\n if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if(DEFAULT){\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: !DEF_VALUES ? $default : getMethod('entries')\n };\n if(FORCED)for(key in methods){\n if(!(key in proto))redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.iter-define.js\n ** module id = 26\n ** module chunks = 0 1\n **/","module.exports = true;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.library.js\n ** module id = 27\n ** module chunks = 0 1\n **/","module.exports = require('./$.hide');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.redefine.js\n ** module id = 28\n ** module chunks = 0 1\n **/","var $ = require('./$')\n , createDesc = require('./$.property-desc');\nmodule.exports = require('./$.descriptors') ? function(object, key, value){\n return $.setDesc(object, key, createDesc(1, value));\n} : function(object, key, value){\n object[key] = value;\n return object;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.hide.js\n ** module id = 29\n ** module chunks = 0 1\n **/","module.exports = function(bitmap, value){\n return {\n enumerable : !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable : !(bitmap & 4),\n value : value\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.property-desc.js\n ** module id = 30\n ** module chunks = 0 1\n **/","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./$.fails')(function(){\n return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.descriptors.js\n ** module id = 31\n ** module chunks = 0 1\n **/","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function(it, key){\n return hasOwnProperty.call(it, key);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.has.js\n ** module id = 32\n ** module chunks = 0 1\n **/","module.exports = {};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.iterators.js\n ** module id = 33\n ** module chunks = 0 1\n **/","'use strict';\nvar $ = require('./$')\n , descriptor = require('./$.property-desc')\n , setToStringTag = require('./$.set-to-string-tag')\n , IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./$.hide')(IteratorPrototype, require('./$.wks')('iterator'), function(){ return this; });\n\nmodule.exports = function(Constructor, NAME, next){\n Constructor.prototype = $.create(IteratorPrototype, {next: descriptor(1, next)});\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.iter-create.js\n ** module id = 34\n ** module chunks = 0 1\n **/","var def = require('./$').setDesc\n , has = require('./$.has')\n , TAG = require('./$.wks')('toStringTag');\n\nmodule.exports = function(it, tag, stat){\n if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.set-to-string-tag.js\n ** module id = 35\n ** module chunks = 0 1\n **/","var store = require('./$.shared')('wks')\n , uid = require('./$.uid')\n , Symbol = require('./$.global').Symbol;\nmodule.exports = function(name){\n return store[name] || (store[name] =\n Symbol && Symbol[name] || (Symbol || uid)('Symbol.' + name));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.wks.js\n ** module id = 36\n ** module chunks = 0 1\n **/","var global = require('./$.global')\n , SHARED = '__core-js_shared__'\n , store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function(key){\n return store[key] || (store[key] = {});\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.shared.js\n ** module id = 37\n ** module chunks = 0 1\n **/","var id = 0\n , px = Math.random();\nmodule.exports = function(key){\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.uid.js\n ** module id = 38\n ** module chunks = 0 1\n **/","require('./es6.array.iterator');\nvar Iterators = require('./$.iterators');\nIterators.NodeList = Iterators.HTMLCollection = Iterators.Array;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/web.dom.iterable.js\n ** module id = 39\n ** module chunks = 0 1\n **/","'use strict';\nvar addToUnscopables = require('./$.add-to-unscopables')\n , step = require('./$.iter-step')\n , Iterators = require('./$.iterators')\n , toIObject = require('./$.to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./$.iter-define')(Array, 'Array', function(iterated, kind){\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , kind = this._k\n , index = this._i++;\n if(!O || index >= O.length){\n this._t = undefined;\n return step(1);\n }\n if(kind == 'keys' )return step(0, index);\n if(kind == 'values')return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.array.iterator.js\n ** module id = 40\n ** module chunks = 0 1\n **/","module.exports = function(){ /* empty */ };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.add-to-unscopables.js\n ** module id = 41\n ** module chunks = 0 1\n **/","module.exports = function(done, value){\n return {value: value, done: !!done};\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.iter-step.js\n ** module id = 42\n ** module chunks = 0 1\n **/","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./$.iobject')\n , defined = require('./$.defined');\nmodule.exports = function(it){\n return IObject(defined(it));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.to-iobject.js\n ** module id = 43\n ** module chunks = 0 1\n **/","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./$.cof');\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.iobject.js\n ** module id = 44\n ** module chunks = 0 1\n **/","var toString = {}.toString;\n\nmodule.exports = function(it){\n return toString.call(it).slice(8, -1);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.cof.js\n ** module id = 45\n ** module chunks = 0 1\n **/","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/symbol.js\n ** module id = 46\n ** module chunks = 0 1\n **/","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nmodule.exports = require('../../modules/$.core').Symbol;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/symbol/index.js\n ** module id = 47\n ** module chunks = 0 1\n **/","'use strict';\n// ECMAScript 6 symbols shim\nvar $ = require('./$')\n , global = require('./$.global')\n , has = require('./$.has')\n , DESCRIPTORS = require('./$.descriptors')\n , $export = require('./$.export')\n , redefine = require('./$.redefine')\n , $fails = require('./$.fails')\n , shared = require('./$.shared')\n , setToStringTag = require('./$.set-to-string-tag')\n , uid = require('./$.uid')\n , wks = require('./$.wks')\n , keyOf = require('./$.keyof')\n , $names = require('./$.get-names')\n , enumKeys = require('./$.enum-keys')\n , isArray = require('./$.is-array')\n , anObject = require('./$.an-object')\n , toIObject = require('./$.to-iobject')\n , createDesc = require('./$.property-desc')\n , getDesc = $.getDesc\n , setDesc = $.setDesc\n , _create = $.create\n , getNames = $names.get\n , $Symbol = global.Symbol\n , $JSON = global.JSON\n , _stringify = $JSON && $JSON.stringify\n , setter = false\n , HIDDEN = wks('_hidden')\n , isEnum = $.isEnum\n , SymbolRegistry = shared('symbol-registry')\n , AllSymbols = shared('symbols')\n , useNative = typeof $Symbol == 'function'\n , ObjectProto = Object.prototype;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function(){\n return _create(setDesc({}, 'a', {\n get: function(){ return setDesc(this, 'a', {value: 7}).a; }\n })).a != 7;\n}) ? function(it, key, D){\n var protoDesc = getDesc(ObjectProto, key);\n if(protoDesc)delete ObjectProto[key];\n setDesc(it, key, D);\n if(protoDesc && it !== ObjectProto)setDesc(ObjectProto, key, protoDesc);\n} : setDesc;\n\nvar wrap = function(tag){\n var sym = AllSymbols[tag] = _create($Symbol.prototype);\n sym._k = tag;\n DESCRIPTORS && setter && setSymbolDesc(ObjectProto, tag, {\n configurable: true,\n set: function(value){\n if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n }\n });\n return sym;\n};\n\nvar isSymbol = function(it){\n return typeof it == 'symbol';\n};\n\nvar $defineProperty = function defineProperty(it, key, D){\n if(D && has(AllSymbols, key)){\n if(!D.enumerable){\n if(!has(it, HIDDEN))setDesc(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;\n D = _create(D, {enumerable: createDesc(0, false)});\n } return setSymbolDesc(it, key, D);\n } return setDesc(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P){\n anObject(it);\n var keys = enumKeys(P = toIObject(P))\n , i = 0\n , l = keys.length\n , key;\n while(l > i)$defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P){\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key){\n var E = isEnum.call(this, key);\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key]\n ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){\n var D = getDesc(it = toIObject(it), key);\n if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it){\n var names = getNames(toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i)if(!has(AllSymbols, key = names[i++]) && key != HIDDEN)result.push(key);\n return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it){\n var names = getNames(toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i)if(has(AllSymbols, key = names[i++]))result.push(AllSymbols[key]);\n return result;\n};\nvar $stringify = function stringify(it){\n if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined\n var args = [it]\n , i = 1\n , $$ = arguments\n , replacer, $replacer;\n while($$.length > i)args.push($$[i++]);\n replacer = args[1];\n if(typeof replacer == 'function')$replacer = replacer;\n if($replacer || !isArray(replacer))replacer = function(key, value){\n if($replacer)value = $replacer.call(this, key, value);\n if(!isSymbol(value))return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n};\nvar buggyJSON = $fails(function(){\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}';\n});\n\n// 19.4.1.1 Symbol([description])\nif(!useNative){\n $Symbol = function Symbol(){\n if(isSymbol(this))throw TypeError('Symbol is not a constructor');\n return wrap(uid(arguments.length > 0 ? arguments[0] : undefined));\n };\n redefine($Symbol.prototype, 'toString', function toString(){\n return this._k;\n });\n\n isSymbol = function(it){\n return it instanceof $Symbol;\n };\n\n $.create = $create;\n $.isEnum = $propertyIsEnumerable;\n $.getDesc = $getOwnPropertyDescriptor;\n $.setDesc = $defineProperty;\n $.setDescs = $defineProperties;\n $.getNames = $names.get = $getOwnPropertyNames;\n $.getSymbols = $getOwnPropertySymbols;\n\n if(DESCRIPTORS && !require('./$.library')){\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n}\n\nvar symbolStatics = {\n // 19.4.2.1 Symbol.for(key)\n 'for': function(key){\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(key){\n return keyOf(SymbolRegistry, key);\n },\n useSetter: function(){ setter = true; },\n useSimple: function(){ setter = false; }\n};\n// 19.4.2.2 Symbol.hasInstance\n// 19.4.2.3 Symbol.isConcatSpreadable\n// 19.4.2.4 Symbol.iterator\n// 19.4.2.6 Symbol.match\n// 19.4.2.8 Symbol.replace\n// 19.4.2.9 Symbol.search\n// 19.4.2.10 Symbol.species\n// 19.4.2.11 Symbol.split\n// 19.4.2.12 Symbol.toPrimitive\n// 19.4.2.13 Symbol.toStringTag\n// 19.4.2.14 Symbol.unscopables\n$.each.call((\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,' +\n 'species,split,toPrimitive,toStringTag,unscopables'\n).split(','), function(it){\n var sym = wks(it);\n symbolStatics[it] = useNative ? sym : wrap(sym);\n});\n\nsetter = true;\n\n$export($export.G + $export.W, {Symbol: $Symbol});\n\n$export($export.S, 'Symbol', symbolStatics);\n\n$export($export.S + $export.F * !useNative, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!useNative || buggyJSON), 'JSON', {stringify: $stringify});\n\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.symbol.js\n ** module id = 48\n ** module chunks = 0 1\n **/","var $ = require('./$')\n , toIObject = require('./$.to-iobject');\nmodule.exports = function(object, el){\n var O = toIObject(object)\n , keys = $.getKeys(O)\n , length = keys.length\n , index = 0\n , key;\n while(length > index)if(O[key = keys[index++]] === el)return key;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.keyof.js\n ** module id = 49\n ** module chunks = 0 1\n **/","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./$.to-iobject')\n , getNames = require('./$').getNames\n , toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function(it){\n try {\n return getNames(it);\n } catch(e){\n return windowNames.slice();\n }\n};\n\nmodule.exports.get = function getOwnPropertyNames(it){\n if(windowNames && toString.call(it) == '[object Window]')return getWindowNames(it);\n return getNames(toIObject(it));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.get-names.js\n ** module id = 50\n ** module chunks = 0 1\n **/","// all enumerable object keys, includes symbols\nvar $ = require('./$');\nmodule.exports = function(it){\n var keys = $.getKeys(it)\n , getSymbols = $.getSymbols;\n if(getSymbols){\n var symbols = getSymbols(it)\n , isEnum = $.isEnum\n , i = 0\n , key;\n while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))keys.push(key);\n }\n return keys;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.enum-keys.js\n ** module id = 51\n ** module chunks = 0 1\n **/","// 7.2.2 IsArray(argument)\nvar cof = require('./$.cof');\nmodule.exports = Array.isArray || function(arg){\n return cof(arg) == 'Array';\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.is-array.js\n ** module id = 52\n ** module chunks = 0 1\n **/","var isObject = require('./$.is-object');\nmodule.exports = function(it){\n if(!isObject(it))throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.an-object.js\n ** module id = 53\n ** module chunks = 0 1\n **/","module.exports = function(it){\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.is-object.js\n ** module id = 54\n ** module chunks = 0 1\n **/","\"use strict\";\n\nexports.__esModule = true;\n\nvar _setPrototypeOf = require(\"../core-js/object/set-prototype-of\");\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _create = require(\"../core-js/object/create\");\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n }\n\n subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/helpers/inherits.js\n ** module id = 56\n ** module chunks = 0 1\n **/","module.exports = { \"default\": require(\"core-js/library/fn/object/set-prototype-of\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/object/set-prototype-of.js\n ** module id = 57\n ** module chunks = 0 1\n **/","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/$.core').Object.setPrototypeOf;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/object/set-prototype-of.js\n ** module id = 58\n ** module chunks = 0 1\n **/","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./$.export');\n$export($export.S, 'Object', {setPrototypeOf: require('./$.set-proto').set});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.object.set-prototype-of.js\n ** module id = 59\n ** module chunks = 0 1\n **/","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar getDesc = require('./$').getDesc\n , isObject = require('./$.is-object')\n , anObject = require('./$.an-object');\nvar check = function(O, proto){\n anObject(O);\n if(!isObject(proto) && proto !== null)throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function(test, buggy, set){\n try {\n set = require('./$.ctx')(Function.call, getDesc(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch(e){ buggy = true; }\n return function setPrototypeOf(O, proto){\n check(O, proto);\n if(buggy)O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.set-proto.js\n ** module id = 60\n ** module chunks = 0 1\n **/","module.exports = { \"default\": require(\"core-js/library/fn/object/create\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/object/create.js\n ** module id = 61\n ** module chunks = 0 1\n **/","var $ = require('../../modules/$');\nmodule.exports = function create(P, D){\n return $.create(P, D);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/object/create.js\n ** module id = 62\n ** module chunks = 0 1\n **/","\"use strict\";\n\nimport Vector2D from \"./vector2d.js\";\n\nclass Entity {\n\n\n constructor (x, y) {\n\n this.pos = new Vector2D(x || 0, y || 0);\n this.velocity = new Vector2D(0, 0);\n this.acceleration = new Vector2D(0, 0);\n\n this.state = {};\n this.children = [];\n\n this._calculatedPos = this.pos.clone();\n this._lastCalculated = 0;\n this._game = null;\n this._parent = null;\n\n this._creationTime = +(new Date());\n\n }\n\n\n setVelocity (x, y) {\n\n if (x instanceof Vector2D) {\n this.velocity = x;\n } else {\n this.velocity.x = x;\n this.velocity.y = y;\n }\n\n }\n\n\n setAcceleration (x, y) {\n\n if (x instanceof Vector2D) {\n this.acceleration = x;\n } else {\n this.acceleration.x = x;\n this.acceleration.y = y;\n }\n\n }\n\n\n createChildEntity () {\n\n let child = new Entity();\n\n child._updateGame(this._game);\n child._parent = this;\n this.children.push(child);\n\n return child;\n\n }\n\n\n addChildEntity (child) {\n\n child._updateGame(this._game);\n child._parent = this;\n this.children.push(child);\n\n return child;\n\n }\n\n\n detachChildEntity (child) {\n\n for (let i = 0; i < this.children.length; i++) {\n if (this.children[i] == child) {\n\n this.children.splice(i, 1);\n return true;\n\n }\n }\n\n return false;\n\n }\n\n\n _preprocess () {\n\n // NK: The purpose of this function is to calculate the true position of the entity relative to all its parents. It does this recursively, calling the _preprocess method all the way back up the tree and continuously adding the results together.\n\n // Note there is a limiter, where the last calculated frame is stored, so that if the position has already been calculated for that node in this particular frame, the cached result is used rather than recalculating.\n\n // When rendering, the draw calls should use this._calculatedPos rather than this.pos in order for the position to be correct.\n\n if (this._game && this._lastCalculated < this._game.frameCounter) {\n\n if (this._parent) {\n\n let parentPos = this._parent._preprocess();\n\n this._calculatedPos.x = this.pos.x + parentPos.x;\n this._calculatedPos.y = this.pos.y + parentPos.y;\n\n } else {\n this._calculatedPos.x = this.pos.x;\n this._calculatedPos.y = this.pos.y;\n }\n\n this._lastCalculated = this._game.frameCounter;\n\n }\n\n return this._calculatedPos;\n\n }\n\n\n _updateGame (game) {\n\n this._game = game;\n\n this.children.forEach((child) => {\n child._updateGame(game);\n });\n\n }\n\n\n _updateEntity (delta) {\n\n if (this.timeToLive) {\n if (+(new Date()) - this._creationTime > this.timeToLive) {\n this._parent.detachChildEntity(this);\n }\n }\n\n // Calculate new position based on velocity and acceleration if there's one set\n if (this.velocity) {\n\n if (this.acceleration) {\n this.velocity.add(this.acceleration);\n }\n\n this.pos.add(this.velocity);\n\n }\n\n // If there's an update method, call it\n let updated = this.update && this.update(delta);\n\n if (updated || (typeof updated == \"undefined\") || (typeof this.update === \"undefined\")) {\n\n this.children.forEach((child) => {\n child._updateEntity(delta);\n });\n\n }\n\n }\n\n\n _renderEntity () {\n\n this._preprocess();\n\n let rendered = this.render && this.render();\n\n if (rendered || (typeof rendered == \"undefined\") || (typeof this.render === \"undefined\")) {\n\n this.children.forEach((child) => {\n child._renderEntity();\n });\n\n }\n\n }\n\n\n}\n\n\nexport default Entity;\n\n\n/** WEBPACK FOOTER **\n ** ./src/classes/entity.js\n **/","\"use strict\";\n\nclass Vector2D {\n\n\n constructor (x, y) {\n this.x = x || 0; this.y = y || 0;\n }\n\n\n invert () {\n this.x = -this.x; this.y = -this.y;\n return this;\n }\n\n\n add (val) {\n\n if (val instanceof Vector2D) {\n this.x += val.x; this.y += val.y;\n } else {\n this.x += val; this.y += val;\n }\n\n return this;\n\n }\n\n\n subtract (val) {\n\n if (val instanceof Vector2D) {\n this.x -= val.x; this.y -= val.y;\n } else {\n this.x -= val; this.y -= val;\n }\n\n return this;\n\n }\n\n\n multiply (val) {\n\n if (val instanceof Vector2D) {\n this.x *= val.x; this.y *= val.y;\n } else {\n this.x *= val; this.y *= val;\n }\n\n return this;\n\n }\n\n\n divide (val) {\n\n if (val instanceof Vector2D) {\n this.x /= val.x; this.y /= val.y;\n } else {\n this.x /= val; this.y /= val;\n }\n\n return this;\n\n }\n\n\n equals (val) {\n return (this.x == val.x && this.y == val.y);\n }\n\n\n dot (val) {\n return (this.x * val.x + this.y * val.y);\n }\n\n\n length () {\n return Math.sqrt(this.dot(this));\n }\n\n\n unit () {\n return this.divide(this.length());\n }\n\n\n min () {\n return Math.min(this.x, this.y);\n }\n\n\n max () {\n return Math.max(this.x, this.y);\n }\n\n\n degrees () {\n return (Math.atan(this.x, this.y) * 180);\n }\n\n\n angle () {\n return Math.atan2(this.x, this.y);\n }\n\n\n toArray () {\n return [this.x, this.y];\n }\n\n\n toString () {\n return `[${this.x}},${this.y}}]`;\n }\n\n\n clone () {\n return new Vector2D(this.x, this.y);\n }\n\n\n static fromAngle (angle, length) {\n return new Vector2D(length * Math.cos(angle), length * Math.sin(angle));\n }\n\n\n}\n\n\nexport default Vector2D;\n\n\n/** WEBPACK FOOTER **\n ** ./src/classes/vector2d.js\n **/","\"use strict\";\n\n\nconst KeyConsts = {\n SPACE: 32,\n BACKSPACE: 8,\n TAB: 9,\n ENTER: 13,\n SHIFT: 16,\n CTRL: 17,\n ALT: 18,\n PAUSE: 19,\n CAPS_LOCK: 20,\n ESCAPE: 27,\n PAGE_UP: 33,\n PAGE_DOWN: 34,\n END: 35,\n HOME: 36,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n INSERT: 45,\n DELETE: 46,\n NUM_0: 48,\n NUM_1: 49,\n NUM_2: 50,\n NUM_3: 51,\n NUM_4: 52,\n NUM_5: 53,\n NUM_6: 54,\n NUM_7: 55,\n NUM_8: 56,\n NUM_9: 57,\n CHAR_A: 65,\n CHAR_B: 66,\n CHAR_C: 67,\n CHAR_D: 68,\n CHAR_E: 69,\n CHAR_F: 70,\n CHAR_G: 71,\n CHAR_H: 72,\n CHAR_I: 73,\n CHAR_J: 74,\n CHAR_K: 75,\n CHAR_L: 76,\n CHAR_M: 77,\n CHAR_N: 78,\n CHAR_O: 79,\n CHAR_P: 80,\n CHAR_Q: 81,\n CHAR_R: 82,\n CHAR_S: 83,\n CHAR_T: 84,\n CHAR_U: 85,\n CHAR_V: 86,\n CHAR_W: 87,\n CHAR_X: 88,\n CHAR_Y: 89,\n CHAR_Z: 90,\n NUM_PAD_0: 96,\n NUM_PAD_1: 97,\n NUM_PAD_2: 98,\n NUM_PAD_3: 99,\n NUM_PAD_4: 100,\n NUM_PAD_5: 101,\n NUM_PAD_6: 102,\n NUM_PAD_7: 103,\n NUM_PAD_8: 104,\n NUM_PAD_9: 105,\n MULTIPLY: 106,\n ADD: 107,\n SUBTRACT: 109,\n DECIMAL: 110,\n DIVIDE: 111,\n F1: 112,\n F2: 113,\n F3: 114,\n F4: 115,\n F5: 116,\n F6: 117,\n F7: 118,\n F8: 119,\n F9: 120,\n F10: 121,\n F11: 122,\n F12: 123,\n SEMICOLON: 186,\n EQUALS: 187,\n COMMA: 188,\n DASH: 189,\n PERIOD: 190,\n FORWARD_SLASH: 191,\n GRAVE: 192,\n OPEN_BRACKET: 219,\n BACK_SLASH: 220,\n CLOSE_BRACKET: 221,\n SINGLE_QUOTE: 222\n};\n\n\nclass KeyboardInput {\n\n\n constructor () {\n\n var self = this;\n self._keyState = {};\n\n window.addEventListener(\"keydown\", (event) => {\n self._keyDownHandler(event);\n }, false);\n\n window.addEventListener(\"keyup\", (event) => {\n self._keyUpHandler(event);\n }, false);\n\n }\n\n\n isPressed (keyCode) {\n return !!this._keyState[keyCode];\n }\n\n\n _keyDownHandler (event) {\n this._keyState[event.keyCode] = true;\n }\n\n\n _keyUpHandler (event) {\n this._keyState[event.keyCode] = false;\n }\n\n\n}\n\n\nexport default KeyboardInput;\nexport {KeyConsts};\n\n\n/** WEBPACK FOOTER **\n ** ./src/classes/keyboardinput.js\n **/","\"use strict\";\n\nimport Entity from \"./entity.js\";\nimport Vector2D from \"./vector2d.js\";\n\n\nclass Emitter extends Entity {\n\n\n constructor (x, y, rate, velocity, particle) {\n\n super(x, y);\n\n this.particleVelocity = velocity;\n this.particleClass = particle;\n\n this.rate = rate;\n this.emitting = false;\n this.spread = Math.PI;\n this._lastEmitTime = this._creationTime;\n this._wasEmitting = false;\n\n this._particles = [];\n\n }\n\n\n setParticleParent (entity) {\n this._particleParent = entity;\n }\n\n\n _emit () {\n\n let ParticleClass = this.particleClass,\n parent = this._particleParent || this._parent;\n\n let angle = this.particleVelocity.angle() + this.spread - (Math.random() * this.spread * 2),\n magnitude = this.particleVelocity.length(),\n velocity = Vector2D.fromAngle(angle, magnitude);\n\n let particle = new ParticleClass(this._calculatedPos.x, this._calculatedPos.y);\n particle.velocity = velocity;\n\n //this._particles.push(particle);\n parent.addChildEntity(particle);\n\n }\n\n\n _triggerEmissions () {\n\n // We prematurely call preprocess so that child particles can spawn from the emitters permission but be children of a different parent\n // NK: This might cause a bug where child renders have an incorrect position because preprocess should normally be called after the update function but before the render, here it is before update. We'll see.\n this._preprocess();\n\n if (this.emitting) {\n\n let currentTime = +(new Date());\n\n if (!this._wasEmitting) {\n this._wasEmitting = true;\n this._lastEmitTime = currentTime;\n }\n\n let emitDelta = currentTime - this._lastEmitTime;\n if (emitDelta > this.rate) {\n\n let emissions = ~~(emitDelta / this.rate);\n\n this._lastEmitTime = currentTime + (emitDelta - (this.rate * emissions));\n\n for (let i = 0; i < emissions; i++) {\n this._emit();\n }\n\n }\n\n } else {\n this._wasEmitting = false;\n }\n\n }\n\n\n update () {\n this._triggerEmissions();\n }\n\n\n}\n\n\nexport default Emitter;\n\n\n/** WEBPACK FOOTER **\n ** ./src/classes/emitter.js\n **/","\"use strict\";\n\nimport Entity from \"./entity.js\";\nimport Vector2D from \"./vector2d.js\";\nimport ImageLoader from \"./imageloader.js\";\n\nimport CollisionMethods from \"../libs/collisionmethods.js\";\n\n\nclass Sprite extends Entity {\n\n\n constructor (x, y, width, height, image) {\n\n if (!image instanceof ImageLoader) {\n throw new Error(\"MomentumEngine.Classes.Sprite must be instantiated with an ImageLoader instance\");\n }\n\n super(x, y);\n\n this.size = new Vector2D(width || 0, height || 0);\n\n this._image = image;\n this._imagePos = new Vector2D(0, 0);\n this._imageSize = new Vector2D(0, 0);\n\n }\n\n\n setImageCoords (x, y, width, height) {\n\n this._imagePos.x = x;\n this._imagePos.y = y;\n this._imageSize.x = width || 0;\n this._imageSize.y = height || 0;\n\n }\n\n\n isReady () {\n return (this._image.isLoaded() && !this._image.isError());\n }\n\n\n render () {\n\n if (this.isReady() && this._game) {\n\n let imageObj = this._image.getImageObj();\n\n let subWidth = imageObj.width - this._imagePos.x,\n subHeight = imageObj.height - this._imagePos.y;\n\n this._game.context.drawImage(\n imageObj,\n this._imagePos.x,\n this._imagePos.y,\n this._imageSize.x || subWidth,\n this._imageSize.y || subHeight,\n this._calculatedPos.x,\n this._calculatedPos.y,\n this.size.x || subWidth,\n this.size.y || subHeight\n );\n\n return true;\n\n } else {\n return false;\n }\n\n }\n\n\n}\n\n\nexport default Sprite;\n\n\n/** WEBPACK FOOTER **\n ** ./src/classes/sprite.js\n **/","\"use strict\";\n\nclass ImageLoader {\n\n\n constructor (src) {\n\n this._loaded = false; // Default is true, set it to false until the image has loaded\n this._error = false; // If the image fails to load, this will contain the reason\n\n this._imageObj = new Image();\n\n this._imageObj.addEventListener(\"load\", () => {\n this._loaded = true;\n this._error = false;\n });\n\n this._imageObj.addEventListener(\"_error\", (err) => {\n this._loaded = false;\n this._error = err;\n });\n\n this._imageObj.src = src;\n\n }\n\n\n getImageObj () {\n\n if (this._loaded) {\n return this._imageObj;\n } else {\n return false;\n }\n\n }\n\n\n isLoaded () {\n return this._loaded;\n }\n\n\n isError () {\n return this._error;\n }\n\n\n}\n\n\nexport default ImageLoader;\n\n\n/** WEBPACK FOOTER **\n ** ./src/classes/imageloader.js\n **/","import Rect from \"../classes/rect.js\";\n\nclass CollisionMethods {\n\n\n static AABB (entity1, entity2) {\n\n if (!entity1 instanceof Rect || !entity2 instanceof Rect) {\n throw new Error(\"AABB collisions can only be checked on these entity types: Rect\");\n }\n\n return (entity1.pos.x < entity2.pos.x + entity2.size.x &&\n entity1.pos.x + entity1.size.x > entity2.pos.x &&\n entity1.pos.y < entity2.pos.y + entity2.size.y &&\n entity1.size.y + entity1.pos.y > entity2.pos.y);\n\n }\n\n\n}\n\n\nexport default CollisionMethods;\n\n\n/** WEBPACK FOOTER **\n ** ./src/libs/collisionmethods.js\n **/","\"use strict\";\n\nimport Entity from \"./entity.js\";\nimport Vector2D from \"./vector2d.js\";\n\nimport CollisionMethods from \"../libs/collisionmethods.js\";\n\n\nclass Rect extends Entity {\n\n\n constructor (x, y, width, height, color) {\n\n super(x, y);\n\n this.size = new Vector2D(width, height);\n this.color = color;\n\n }\n\n\n isCollidingWith (entity) {\n\n if (entity instanceof Rect) {\n return CollisionMethods.AABB(this, entity);\n }\n\n }\n\n\n render () {\n\n if (this._game) {\n\n this._game.context.fillStyle = this.color.toString();\n this._game.context.fillRect(this._calculatedPos.x, this._calculatedPos.y, this.size.x, this.size.y);\n\n return true;\n\n } else {\n return false;\n }\n\n }\n\n\n}\n\n\nexport default Rect;\n\n\n/** WEBPACK FOOTER **\n ** ./src/classes/rect.js\n **/","\"use strict\";\n\nclass Color {\n\n\n constructor (r, g, b, a) {\n\n this.r = r || 0;\n this.g = g || 0;\n this.b = b || 0;\n this.a = a || 1;\n\n }\n\n\n toString () {\n return `rgba(${this.r}, ${this.g}, ${this.b}, ${this.a})`;\n }\n\n\n toHex () {\n return `#${((r << 16) | (g << 8) | b).toString(16)}`;\n }\n\n\n}\n\n\nexport default Color;\n\n\n/** WEBPACK FOOTER **\n ** ./src/classes/color.js\n **/"],"sourceRoot":""} \ No newline at end of file diff --git a/examples/particles/dist/particles.js b/examples/particles/dist/particles.js index a4e5cad..7758248 100644 --- a/examples/particles/dist/particles.js +++ b/examples/particles/dist/particles.js @@ -143,7 +143,6 @@ } }; - //emitter.spread = Math.PI / 32; emitter.setParticleParent(mainScene); emitter.emitting = true; diff --git a/examples/particles/dist/particles.js.map b/examples/particles/dist/particles.js.map index 2604adb..7df3339 100644 --- a/examples/particles/dist/particles.js.map +++ b/examples/particles/dist/particles.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap 1913571a5da7ad22c336?eadf","webpack:///./examples/particles/particles.js","webpack:///./src/classes/game.js?42ad","webpack:///./~/babel-runtime/core-js/object/get-prototype-of.js?b265","webpack:///./~/core-js/library/fn/object/get-prototype-of.js?5193","webpack:///./~/core-js/library/modules/es6.object.get-prototype-of.js?eaa3","webpack:///./~/core-js/library/modules/$.to-object.js?093c","webpack:///./~/core-js/library/modules/$.defined.js?7087","webpack:///./~/core-js/library/modules/$.object-sap.js?f39d","webpack:///./~/core-js/library/modules/$.export.js?b734","webpack:///./~/core-js/library/modules/$.global.js?4deb","webpack:///./~/core-js/library/modules/$.core.js?7680","webpack:///./~/core-js/library/modules/$.ctx.js?e797","webpack:///./~/core-js/library/modules/$.a-function.js?860b","webpack:///./~/core-js/library/modules/$.fails.js?6c29","webpack:///./~/babel-runtime/helpers/classCallCheck.js?21af","webpack:///./~/babel-runtime/helpers/createClass.js?1dfe","webpack:///./~/babel-runtime/core-js/object/define-property.js?5f70","webpack:///./~/core-js/library/fn/object/define-property.js?b7d8","webpack:///./~/core-js/library/modules/$.js?6ce7","webpack:///./~/babel-runtime/helpers/possibleConstructorReturn.js?aad9","webpack:///./~/babel-runtime/helpers/typeof.js?f4bd","webpack:///./~/babel-runtime/core-js/symbol/iterator.js?d16b","webpack:///./~/core-js/library/fn/symbol/iterator.js?238d","webpack:///./~/core-js/library/modules/es6.string.iterator.js?fe18","webpack:///./~/core-js/library/modules/$.string-at.js?a0b4","webpack:///./~/core-js/library/modules/$.to-integer.js?b29c","webpack:///./~/core-js/library/modules/$.iter-define.js?970f","webpack:///./~/core-js/library/modules/$.library.js?c05f","webpack:///./~/core-js/library/modules/$.redefine.js?2643","webpack:///./~/core-js/library/modules/$.hide.js?2cce","webpack:///./~/core-js/library/modules/$.property-desc.js?e1db","webpack:///./~/core-js/library/modules/$.descriptors.js?8327","webpack:///./~/core-js/library/modules/$.has.js?bcec","webpack:///./~/core-js/library/modules/$.iterators.js?9d0a","webpack:///./~/core-js/library/modules/$.iter-create.js?4401","webpack:///./~/core-js/library/modules/$.set-to-string-tag.js?d0fc","webpack:///./~/core-js/library/modules/$.wks.js?3e04","webpack:///./~/core-js/library/modules/$.shared.js?6ce8","webpack:///./~/core-js/library/modules/$.uid.js?f177","webpack:///./~/core-js/library/modules/web.dom.iterable.js?bf0e","webpack:///./~/core-js/library/modules/es6.array.iterator.js?1e09","webpack:///./~/core-js/library/modules/$.add-to-unscopables.js?af5b","webpack:///./~/core-js/library/modules/$.iter-step.js?76ef","webpack:///./~/core-js/library/modules/$.to-iobject.js?daca","webpack:///./~/core-js/library/modules/$.iobject.js?3ada","webpack:///./~/core-js/library/modules/$.cof.js?74ee","webpack:///./~/babel-runtime/core-js/symbol.js?a70d","webpack:///./~/core-js/library/fn/symbol/index.js?f07a","webpack:///./~/core-js/library/modules/es6.symbol.js?670a","webpack:///./~/core-js/library/modules/$.keyof.js?3b7d","webpack:///./~/core-js/library/modules/$.get-names.js?e4b8","webpack:///./~/core-js/library/modules/$.enum-keys.js?1c2a","webpack:///./~/core-js/library/modules/$.is-array.js?4d69","webpack:///./~/core-js/library/modules/$.an-object.js?2be9","webpack:///./~/core-js/library/modules/$.is-object.js?7453","webpack:///./~/babel-runtime/helpers/inherits.js?0578","webpack:///./~/babel-runtime/core-js/object/set-prototype-of.js?bb00","webpack:///./~/core-js/library/fn/object/set-prototype-of.js?f909","webpack:///./~/core-js/library/modules/es6.object.set-prototype-of.js?b195","webpack:///./~/core-js/library/modules/$.set-proto.js?759b","webpack:///./~/babel-runtime/core-js/object/create.js?aa4b","webpack:///./~/core-js/library/fn/object/create.js?738c","webpack:///./src/classes/entity.js?7862","webpack:///./src/classes/vector2d.js?aacc","webpack:///./src/classes/keyboardinput.js?f4ac","webpack:///./src/classes/emitter.js?708e","webpack:///./src/classes/sprite.js?e426","webpack:///./src/classes/imageloader.js?b2ac","webpack:///./src/libs/collisionmethods.js?439c","webpack:///./src/classes/rect.js?5872","webpack:///./src/classes/color.js?70aa","webpack:///./src/es6.js"],"names":[],"mappings":"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HvC,8BAA6B;AAC7B,sCAAqC,gC;;;;;;ACDrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACnBA;AACA;AACA;AACA,G;;;;;;ACHA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,G;;;;;;ACNA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,G;;;;;;ACRA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,oBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC,G;;;;;;AC1BD,mBAAkB,wD;;;;;;ACAlB;AACA;AACA;AACA,G;;;;;;ACHA;AACA;AACA;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACZA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA,G;;;;;;AChBA;;AAEA,uGAAsG,mBAAmB,EAAE,mBAAmB,oGAAoG;;AAElP;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,EAAC;AACD;AACA,G;;;;;;ACpBA,mBAAkB,wD;;;;;;ACAlB;AACA;AACA,sD;;;;;;ACFA;AACA;;AAEA;AACA;AACA,8BAA6B;AAC7B,eAAc;AACd;AACA,EAAC;AACD;AACA;AACA;AACA,gCAA+B;AAC/B;AACA;AACA,WAAU;AACV,EAAC,E;;;;;;AChBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6BAA4B,aAAa;;AAEzC;AACA;AACA;AACA;AACA;AACA,yCAAwC,oCAAoC;AAC5E,6CAA4C,oCAAoC;AAChF,MAAK,2BAA2B,oCAAoC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAkB,mBAAmB;AACrC;AACA;AACA,oCAAmC,2BAA2B;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,G;;;;;;ACjEA,uB;;;;;;ACAA,0C;;;;;;ACAA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA,G;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACPA;AACA;AACA,kCAAiC,QAAQ,gBAAgB,UAAU,GAAG;AACtE,EAAC,E;;;;;;ACHD,wBAAuB;AACvB;AACA;AACA,G;;;;;;ACHA,qB;;;;;;ACAA;AACA;AACA;AACA;AACA;;AAEA;AACA,4FAAkF,aAAa,EAAE;;AAEjG;AACA,wDAAuD,0BAA0B;AACjF;AACA,G;;;;;;ACZA;AACA;AACA;;AAEA;AACA,mEAAkE,+BAA+B;AACjG,G;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACNA;AACA;AACA,oDAAmD;AACnD;AACA,wCAAuC;AACvC,G;;;;;;ACLA;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA,iE;;;;;;ACFA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAgC;AAChC,eAAc;AACd,kBAAiB;AACjB;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;;AAEA;AACA;AACA,6B;;;;;;ACjCA,6BAA4B,e;;;;;;ACA5B;AACA,WAAU;AACV,G;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACLA;AACA;AACA;AACA;AACA,G;;;;;;ACJA,kBAAiB;;AAEjB;AACA;AACA,G;;;;;;ACJA,mBAAkB,wD;;;;;;ACAlB;AACA;AACA,iD;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4BAA2B;AAC3B,qBAAoB,4BAA4B,SAAS,IAAI;AAC7D,IAAG;AACH,EAAC;AACD;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,+DAA8D;AAC9D;AACA,MAAK;AACL;AACA,uBAAsB,iCAAiC;AACvD,MAAK;AACL,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAoD,KAAK,QAAQ,iCAAiC;AAClG,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH,yBAAwB,eAAe,EAAE;AACzC,yBAAwB,gBAAgB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;;AAEA,iCAAgC,gBAAgB;;AAEhD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA,8EAA6E,sBAAsB;;AAEnG;AACA;AACA;AACA;AACA;AACA,2C;;;;;;AClOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACTA;AACA;AACA;AACA,mBAAkB;;AAElB;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,G;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACbA;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA,G;;;;;;;;;;;;ACFA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,G;;;;;;AChCA,mBAAkB,wD;;;;;;ACAlB;AACA,gE;;;;;;ACDA;AACA;AACA,+BAA8B,4CAA6C,E;;;;;;ACF3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA,QAAO,UAAU,cAAc;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,MAAK,GAAG;AACR;AACA,G;;;;;;ACzBA,mBAAkB,wD;;;;;;ACAlB;AACA;AACA;AACA,G;;;;;;ACHA;;;;;;;;;;;;;;;;;;;;KAIM;AAGF,cAHE,MAGF,CAAa,CAAb,EAAgB,CAAhB,EAAmB;6CAHjB,QAGiB;;;AAEf,cAAK,GAAL,GAAW,uBAAa,KAAK,CAAL,EAAQ,KAAK,CAAL,CAAhC,CAFe;AAGf,cAAK,QAAL,GAAgB,uBAAa,CAAb,EAAgB,CAAhB,CAAhB,CAHe;AAIf,cAAK,YAAL,GAAoB,uBAAa,CAAb,EAAgB,CAAhB,CAApB,CAJe;;AAMf,cAAK,K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","file":"particles.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 1913571a5da7ad22c336\n **/","\"use strict\";\n\nimport MomentumEngine from \"../../src/es6\";\n\nlet KeyConsts = MomentumEngine.Consts.Input.Keys;\n\n\nclass BlueParticle extends MomentumEngine.Classes.Rect {\n\n constructor (x, y) {\n super(x, y, 1, 1, new MomentumEngine.Classes.Color(255, 255, 255, 0));\n this.timeToLive = 5000;\n }\n\n update (delta) {\n this.color.a = this.color.a - (delta * 0.00025);\n }\n\n}\n\n\nwindow.onload = function () {\n\n let width = 640,\n height = 360,\n baseSize = width / 64;\n\n let particles = new MomentumEngine.Classes.Game({\n canvas: document.getElementById(\"canvas\"),\n width: width,\n height: height,\n fixRatio: true,\n desiredFps: 60,\n inputs: {\n keyboard: true\n }\n });\n\n let black = new MomentumEngine.Classes.Color(0, 0, 0),\n red = new MomentumEngine.Classes.Color(255, 0, 0);\n\n let mainScene = new MomentumEngine.Classes.Rect(0, 0, width, height, black);\n particles.addChildEntity(mainScene);\n\n let rect = new MomentumEngine.Classes.Rect(width / 2 - baseSize, height / 2 - baseSize, baseSize * 2, baseSize * 2, red),\n emitter = new MomentumEngine.Classes.Emitter(baseSize, baseSize, 4, new MomentumEngine.Classes.Vector2D(0, 1), BlueParticle);\n\n mainScene.addChildEntity(rect);\n rect.addChildEntity(emitter);\n\n rect.update = function (delta) {\n\n if (particles.inputs.keyboard.isPressed(KeyConsts.UP)) {\n rect.pos.y -= (0.2 * delta);\n }\n\n if (particles.inputs.keyboard.isPressed(KeyConsts.DOWN)) {\n rect.pos.y += (0.2 * delta);\n }\n\n if (particles.inputs.keyboard.isPressed(KeyConsts.LEFT)) {\n rect.pos.x -= (0.2 * delta);\n }\n\n if (particles.inputs.keyboard.isPressed(KeyConsts.RIGHT)) {\n rect.pos.x += (0.2 * delta);\n }\n\n };\n\n //emitter.spread = Math.PI / 32;\n emitter.setParticleParent(mainScene);\n emitter.emitting = true;\n\n particles.start();\n\n};\n\n\n/** WEBPACK FOOTER **\n ** ./examples/particles/particles.js\n **/","\"use strict\";\n\nimport Entity from \"./entity.js\";\nimport KeyboardInput from \"./keyboardinput.js\";\n\nclass Game extends Entity {\n\n\n constructor (config) {\n\n super(); // Call entity constructor\n config = config || {};\n config.inputs = config.inputs || {};\n\n\n // Required params\n if (config.canvas) {\n this.canvas = config.canvas;\n } else {\n throw new Error(\"MomentumEngine.Classes.Game must be constructed with a canvas\");\n }\n\n if (config.width) {\n this.width = config.width;\n } else {\n throw new Error(\"MomentumEngine.Classes.Game must be constructed with canvas width\");\n }\n\n if (config.height) {\n this.height = config.height;\n } else {\n throw new Error(\"MomentumEngine.Classes.Game must be constructed with canvas height\");\n }\n\n\n // Optional params\n this.desiredFps = config.desiredFps || 60;\n\n if (config.fixRatio) {\n\n let deviceRatio = window.devicePixelRatio,\n backingStoreRatio = 0;\n\n // Unfortunately Ejecta requires calling getContext last, so we cannot get the backingStorePixelRatio. So for Ejecta's case, we set it to 1, and call getContext later.\n if (typeof ejecta !== \"undefined\") {\n backingStoreRatio = 1;\n } else {\n\n this.context = this.canvas.getContext(\"2d\");\n\n backingStoreRatio = this.context.webkitBackingStorePixelRatio ||\n this.context.mozBackingStorePixelRatio ||\n this.context.msBackingStorePixelRatio ||\n this.context.oBackingStorePixelRatio ||\n this.context.backingStorePixelRatio || 1;\n\n }\n\n this.scale = deviceRatio / backingStoreRatio;\n\n this.canvas.width = this.width * this.scale;\n this.canvas.height = this.height * this.scale;\n\n this.canvas.style.width = this.width + \"px\";\n this.canvas.style.height = this.height + \"px\";\n\n // Call getContext last for Ejecta only.\n if (typeof ejecta !== \"undefined\") {\n this.context = this.canvas.getContext(\"2d\");\n }\n\n this.context.scale(deviceRatio, deviceRatio);\n\n } else {\n\n this.canvas.width = this.width;\n this.canvas.height = this.height;\n\n this.context = this.canvas.getContext(\"2d\");\n\n }\n\n if (typeof this.context.imageSmoothingEnabled !== \"undefined\") {\n this.context.imageSmoothingEnabled = config.imageSmoothing || false;\n }\n\n\n // Initialize defaults\n this.frameCounter = 0;\n\n this.inputs = {};\n if (config.inputs.keyboard) {\n this.inputs.keyboard = new KeyboardInput(this);\n }\n\n this._game = this;\n this._lastFrameTimestamp = 0;\n this._wantPause = true;\n\n }\n\n\n step (delta) {\n\n this.frameCounter++;\n\n this._updateEntity(delta);\n this._renderEntity();\n\n }\n\n\n start () {\n\n var self = this; // NK: Hate doing this...better way plz?\n\n if (self._wantPause) {\n self._wantPause = false;\n } else {\n console.log(\"MomentumEngine.Classes.Game.start called, game instance is already started\");\n return false; // Game is already running\n }\n\n self._wantPause = false;\n\n let requestFrame = (() => {\n\n return (window.requestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n function (callback) {\n window.setTimeout(callback, 1000 / self.desiredFps);\n });\n\n })();\n\n self._lastFrameTimestamp = +(new Date());\n self.startTime = self._lastFrameTimestamp;\n\n var loop = function () {\n\n if (self._wantPause) {\n return;\n }\n\n let currentTimestamp = +(new Date()),\n delta = currentTimestamp - self._lastFrameTimestamp;\n\n delta = Math.min(delta, 1000 / self.desiredFps);\n self._lastFrameTimestamp = currentTimestamp;\n\n self.step(delta);\n\n requestFrame(loop);\n\n };\n\n loop();\n return true;\n\n }\n\n\n pause () {\n\n if (!this._wantPause) {\n this._wantPause = true;\n return true;\n } else {\n console.log(\"MomentumEngine.Classes.Game.pause called, game instance is already paused\");\n return false;\n }\n }\n\n\n}\n\n\nexport default Game;\n\n\n/** WEBPACK FOOTER **\n ** ./src/classes/game.js\n **/","module.exports = { \"default\": require(\"core-js/library/fn/object/get-prototype-of\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/object/get-prototype-of.js\n ** module id = 2\n ** module chunks = 0 1\n **/","require('../../modules/es6.object.get-prototype-of');\nmodule.exports = require('../../modules/$.core').Object.getPrototypeOf;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/object/get-prototype-of.js\n ** module id = 3\n ** module chunks = 0 1\n **/","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./$.to-object');\n\nrequire('./$.object-sap')('getPrototypeOf', function($getPrototypeOf){\n return function getPrototypeOf(it){\n return $getPrototypeOf(toObject(it));\n };\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.object.get-prototype-of.js\n ** module id = 4\n ** module chunks = 0 1\n **/","// 7.1.13 ToObject(argument)\nvar defined = require('./$.defined');\nmodule.exports = function(it){\n return Object(defined(it));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.to-object.js\n ** module id = 5\n ** module chunks = 0 1\n **/","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function(it){\n if(it == undefined)throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.defined.js\n ** module id = 6\n ** module chunks = 0 1\n **/","// most Object methods by ES6 should accept primitives\nvar $export = require('./$.export')\n , core = require('./$.core')\n , fails = require('./$.fails');\nmodule.exports = function(KEY, exec){\n var fn = (core.Object || {})[KEY] || Object[KEY]\n , exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.object-sap.js\n ** module id = 7\n ** module chunks = 0 1\n **/","var global = require('./$.global')\n , core = require('./$.core')\n , ctx = require('./$.ctx')\n , PROTOTYPE = 'prototype';\n\nvar $export = function(type, name, source){\n var IS_FORCED = type & $export.F\n , IS_GLOBAL = type & $export.G\n , IS_STATIC = type & $export.S\n , IS_PROTO = type & $export.P\n , IS_BIND = type & $export.B\n , IS_WRAP = type & $export.W\n , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})\n , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]\n , key, own, out;\n if(IS_GLOBAL)source = name;\n for(key in source){\n // contains in native\n own = !IS_FORCED && target && key in target;\n if(own && key in exports)continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function(C){\n var F = function(param){\n return this instanceof C ? new C(param) : C(param);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n if(IS_PROTO)(exports[PROTOTYPE] || (exports[PROTOTYPE] = {}))[key] = out;\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\nmodule.exports = $export;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.export.js\n ** module id = 8\n ** module chunks = 0 1\n **/","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.global.js\n ** module id = 9\n ** module chunks = 0 1\n **/","var core = module.exports = {version: '1.2.6'};\nif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.core.js\n ** module id = 10\n ** module chunks = 0 1\n **/","// optional / simple context binding\nvar aFunction = require('./$.a-function');\nmodule.exports = function(fn, that, length){\n aFunction(fn);\n if(that === undefined)return fn;\n switch(length){\n case 1: return function(a){\n return fn.call(that, a);\n };\n case 2: return function(a, b){\n return fn.call(that, a, b);\n };\n case 3: return function(a, b, c){\n return fn.call(that, a, b, c);\n };\n }\n return function(/* ...args */){\n return fn.apply(that, arguments);\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.ctx.js\n ** module id = 11\n ** module chunks = 0 1\n **/","module.exports = function(it){\n if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.a-function.js\n ** module id = 12\n ** module chunks = 0 1\n **/","module.exports = function(exec){\n try {\n return !!exec();\n } catch(e){\n return true;\n }\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.fails.js\n ** module id = 13\n ** module chunks = 0 1\n **/","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/helpers/classCallCheck.js\n ** module id = 14\n ** module chunks = 0 1\n **/","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/helpers/createClass.js\n ** module id = 15\n ** module chunks = 0 1\n **/","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/object/define-property.js\n ** module id = 16\n ** module chunks = 0 1\n **/","var $ = require('../../modules/$');\nmodule.exports = function defineProperty(it, key, desc){\n return $.setDesc(it, key, desc);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/object/define-property.js\n ** module id = 17\n ** module chunks = 0 1\n **/","var $Object = Object;\nmodule.exports = {\n create: $Object.create,\n getProto: $Object.getPrototypeOf,\n isEnum: {}.propertyIsEnumerable,\n getDesc: $Object.getOwnPropertyDescriptor,\n setDesc: $Object.defineProperty,\n setDescs: $Object.defineProperties,\n getKeys: $Object.keys,\n getNames: $Object.getOwnPropertyNames,\n getSymbols: $Object.getOwnPropertySymbols,\n each: [].forEach\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.js\n ** module id = 18\n ** module chunks = 0 1\n **/","\"use strict\";\n\nexports.__esModule = true;\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/helpers/possibleConstructorReturn.js\n ** module id = 19\n ** module chunks = 0 1\n **/","\"use strict\";\n\nvar _typeof = typeof _Symbol === \"function\" && typeof _Symbol$iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _Symbol === \"function\" && obj.constructor === _Symbol ? \"symbol\" : typeof obj; };\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/helpers/typeof.js\n ** module id = 20\n ** module chunks = 0 1\n **/","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/symbol/iterator.js\n ** module id = 21\n ** module chunks = 0 1\n **/","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/$.wks')('iterator');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/symbol/iterator.js\n ** module id = 22\n ** module chunks = 0 1\n **/","'use strict';\nvar $at = require('./$.string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./$.iter-define')(String, 'String', function(iterated){\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , index = this._i\n , point;\n if(index >= O.length)return {value: undefined, done: true};\n point = $at(O, index);\n this._i += point.length;\n return {value: point, done: false};\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.string.iterator.js\n ** module id = 23\n ** module chunks = 0 1\n **/","var toInteger = require('./$.to-integer')\n , defined = require('./$.defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function(TO_STRING){\n return function(that, pos){\n var s = String(defined(that))\n , i = toInteger(pos)\n , l = s.length\n , a, b;\n if(i < 0 || i >= l)return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.string-at.js\n ** module id = 24\n ** module chunks = 0 1\n **/","// 7.1.4 ToInteger\nvar ceil = Math.ceil\n , floor = Math.floor;\nmodule.exports = function(it){\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.to-integer.js\n ** module id = 25\n ** module chunks = 0 1\n **/","'use strict';\nvar LIBRARY = require('./$.library')\n , $export = require('./$.export')\n , redefine = require('./$.redefine')\n , hide = require('./$.hide')\n , has = require('./$.has')\n , Iterators = require('./$.iterators')\n , $iterCreate = require('./$.iter-create')\n , setToStringTag = require('./$.set-to-string-tag')\n , getProto = require('./$').getProto\n , ITERATOR = require('./$.wks')('iterator')\n , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`\n , FF_ITERATOR = '@@iterator'\n , KEYS = 'keys'\n , VALUES = 'values';\n\nvar returnThis = function(){ return this; };\n\nmodule.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){\n $iterCreate(Constructor, NAME, next);\n var getMethod = function(kind){\n if(!BUGGY && kind in proto)return proto[kind];\n switch(kind){\n case KEYS: return function keys(){ return new Constructor(this, kind); };\n case VALUES: return function values(){ return new Constructor(this, kind); };\n } return function entries(){ return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator'\n , DEF_VALUES = DEFAULT == VALUES\n , VALUES_BUG = false\n , proto = Base.prototype\n , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]\n , $default = $native || getMethod(DEFAULT)\n , methods, key;\n // Fix native\n if($native){\n var IteratorPrototype = getProto($default.call(new Base));\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // FF fix\n if(!LIBRARY && has(proto, FF_ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);\n // fix Array#{values, @@iterator}.name in V8 / FF\n if(DEF_VALUES && $native.name !== VALUES){\n VALUES_BUG = true;\n $default = function values(){ return $native.call(this); };\n }\n }\n // Define iterator\n if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if(DEFAULT){\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: !DEF_VALUES ? $default : getMethod('entries')\n };\n if(FORCED)for(key in methods){\n if(!(key in proto))redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.iter-define.js\n ** module id = 26\n ** module chunks = 0 1\n **/","module.exports = true;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.library.js\n ** module id = 27\n ** module chunks = 0 1\n **/","module.exports = require('./$.hide');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.redefine.js\n ** module id = 28\n ** module chunks = 0 1\n **/","var $ = require('./$')\n , createDesc = require('./$.property-desc');\nmodule.exports = require('./$.descriptors') ? function(object, key, value){\n return $.setDesc(object, key, createDesc(1, value));\n} : function(object, key, value){\n object[key] = value;\n return object;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.hide.js\n ** module id = 29\n ** module chunks = 0 1\n **/","module.exports = function(bitmap, value){\n return {\n enumerable : !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable : !(bitmap & 4),\n value : value\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.property-desc.js\n ** module id = 30\n ** module chunks = 0 1\n **/","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./$.fails')(function(){\n return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.descriptors.js\n ** module id = 31\n ** module chunks = 0 1\n **/","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function(it, key){\n return hasOwnProperty.call(it, key);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.has.js\n ** module id = 32\n ** module chunks = 0 1\n **/","module.exports = {};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.iterators.js\n ** module id = 33\n ** module chunks = 0 1\n **/","'use strict';\nvar $ = require('./$')\n , descriptor = require('./$.property-desc')\n , setToStringTag = require('./$.set-to-string-tag')\n , IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./$.hide')(IteratorPrototype, require('./$.wks')('iterator'), function(){ return this; });\n\nmodule.exports = function(Constructor, NAME, next){\n Constructor.prototype = $.create(IteratorPrototype, {next: descriptor(1, next)});\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.iter-create.js\n ** module id = 34\n ** module chunks = 0 1\n **/","var def = require('./$').setDesc\n , has = require('./$.has')\n , TAG = require('./$.wks')('toStringTag');\n\nmodule.exports = function(it, tag, stat){\n if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.set-to-string-tag.js\n ** module id = 35\n ** module chunks = 0 1\n **/","var store = require('./$.shared')('wks')\n , uid = require('./$.uid')\n , Symbol = require('./$.global').Symbol;\nmodule.exports = function(name){\n return store[name] || (store[name] =\n Symbol && Symbol[name] || (Symbol || uid)('Symbol.' + name));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.wks.js\n ** module id = 36\n ** module chunks = 0 1\n **/","var global = require('./$.global')\n , SHARED = '__core-js_shared__'\n , store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function(key){\n return store[key] || (store[key] = {});\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.shared.js\n ** module id = 37\n ** module chunks = 0 1\n **/","var id = 0\n , px = Math.random();\nmodule.exports = function(key){\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.uid.js\n ** module id = 38\n ** module chunks = 0 1\n **/","require('./es6.array.iterator');\nvar Iterators = require('./$.iterators');\nIterators.NodeList = Iterators.HTMLCollection = Iterators.Array;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/web.dom.iterable.js\n ** module id = 39\n ** module chunks = 0 1\n **/","'use strict';\nvar addToUnscopables = require('./$.add-to-unscopables')\n , step = require('./$.iter-step')\n , Iterators = require('./$.iterators')\n , toIObject = require('./$.to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./$.iter-define')(Array, 'Array', function(iterated, kind){\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , kind = this._k\n , index = this._i++;\n if(!O || index >= O.length){\n this._t = undefined;\n return step(1);\n }\n if(kind == 'keys' )return step(0, index);\n if(kind == 'values')return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.array.iterator.js\n ** module id = 40\n ** module chunks = 0 1\n **/","module.exports = function(){ /* empty */ };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.add-to-unscopables.js\n ** module id = 41\n ** module chunks = 0 1\n **/","module.exports = function(done, value){\n return {value: value, done: !!done};\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.iter-step.js\n ** module id = 42\n ** module chunks = 0 1\n **/","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./$.iobject')\n , defined = require('./$.defined');\nmodule.exports = function(it){\n return IObject(defined(it));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.to-iobject.js\n ** module id = 43\n ** module chunks = 0 1\n **/","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./$.cof');\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.iobject.js\n ** module id = 44\n ** module chunks = 0 1\n **/","var toString = {}.toString;\n\nmodule.exports = function(it){\n return toString.call(it).slice(8, -1);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.cof.js\n ** module id = 45\n ** module chunks = 0 1\n **/","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/symbol.js\n ** module id = 46\n ** module chunks = 0 1\n **/","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nmodule.exports = require('../../modules/$.core').Symbol;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/symbol/index.js\n ** module id = 47\n ** module chunks = 0 1\n **/","'use strict';\n// ECMAScript 6 symbols shim\nvar $ = require('./$')\n , global = require('./$.global')\n , has = require('./$.has')\n , DESCRIPTORS = require('./$.descriptors')\n , $export = require('./$.export')\n , redefine = require('./$.redefine')\n , $fails = require('./$.fails')\n , shared = require('./$.shared')\n , setToStringTag = require('./$.set-to-string-tag')\n , uid = require('./$.uid')\n , wks = require('./$.wks')\n , keyOf = require('./$.keyof')\n , $names = require('./$.get-names')\n , enumKeys = require('./$.enum-keys')\n , isArray = require('./$.is-array')\n , anObject = require('./$.an-object')\n , toIObject = require('./$.to-iobject')\n , createDesc = require('./$.property-desc')\n , getDesc = $.getDesc\n , setDesc = $.setDesc\n , _create = $.create\n , getNames = $names.get\n , $Symbol = global.Symbol\n , $JSON = global.JSON\n , _stringify = $JSON && $JSON.stringify\n , setter = false\n , HIDDEN = wks('_hidden')\n , isEnum = $.isEnum\n , SymbolRegistry = shared('symbol-registry')\n , AllSymbols = shared('symbols')\n , useNative = typeof $Symbol == 'function'\n , ObjectProto = Object.prototype;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function(){\n return _create(setDesc({}, 'a', {\n get: function(){ return setDesc(this, 'a', {value: 7}).a; }\n })).a != 7;\n}) ? function(it, key, D){\n var protoDesc = getDesc(ObjectProto, key);\n if(protoDesc)delete ObjectProto[key];\n setDesc(it, key, D);\n if(protoDesc && it !== ObjectProto)setDesc(ObjectProto, key, protoDesc);\n} : setDesc;\n\nvar wrap = function(tag){\n var sym = AllSymbols[tag] = _create($Symbol.prototype);\n sym._k = tag;\n DESCRIPTORS && setter && setSymbolDesc(ObjectProto, tag, {\n configurable: true,\n set: function(value){\n if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n }\n });\n return sym;\n};\n\nvar isSymbol = function(it){\n return typeof it == 'symbol';\n};\n\nvar $defineProperty = function defineProperty(it, key, D){\n if(D && has(AllSymbols, key)){\n if(!D.enumerable){\n if(!has(it, HIDDEN))setDesc(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;\n D = _create(D, {enumerable: createDesc(0, false)});\n } return setSymbolDesc(it, key, D);\n } return setDesc(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P){\n anObject(it);\n var keys = enumKeys(P = toIObject(P))\n , i = 0\n , l = keys.length\n , key;\n while(l > i)$defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P){\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key){\n var E = isEnum.call(this, key);\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key]\n ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){\n var D = getDesc(it = toIObject(it), key);\n if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it){\n var names = getNames(toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i)if(!has(AllSymbols, key = names[i++]) && key != HIDDEN)result.push(key);\n return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it){\n var names = getNames(toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i)if(has(AllSymbols, key = names[i++]))result.push(AllSymbols[key]);\n return result;\n};\nvar $stringify = function stringify(it){\n if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined\n var args = [it]\n , i = 1\n , $$ = arguments\n , replacer, $replacer;\n while($$.length > i)args.push($$[i++]);\n replacer = args[1];\n if(typeof replacer == 'function')$replacer = replacer;\n if($replacer || !isArray(replacer))replacer = function(key, value){\n if($replacer)value = $replacer.call(this, key, value);\n if(!isSymbol(value))return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n};\nvar buggyJSON = $fails(function(){\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}';\n});\n\n// 19.4.1.1 Symbol([description])\nif(!useNative){\n $Symbol = function Symbol(){\n if(isSymbol(this))throw TypeError('Symbol is not a constructor');\n return wrap(uid(arguments.length > 0 ? arguments[0] : undefined));\n };\n redefine($Symbol.prototype, 'toString', function toString(){\n return this._k;\n });\n\n isSymbol = function(it){\n return it instanceof $Symbol;\n };\n\n $.create = $create;\n $.isEnum = $propertyIsEnumerable;\n $.getDesc = $getOwnPropertyDescriptor;\n $.setDesc = $defineProperty;\n $.setDescs = $defineProperties;\n $.getNames = $names.get = $getOwnPropertyNames;\n $.getSymbols = $getOwnPropertySymbols;\n\n if(DESCRIPTORS && !require('./$.library')){\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n}\n\nvar symbolStatics = {\n // 19.4.2.1 Symbol.for(key)\n 'for': function(key){\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(key){\n return keyOf(SymbolRegistry, key);\n },\n useSetter: function(){ setter = true; },\n useSimple: function(){ setter = false; }\n};\n// 19.4.2.2 Symbol.hasInstance\n// 19.4.2.3 Symbol.isConcatSpreadable\n// 19.4.2.4 Symbol.iterator\n// 19.4.2.6 Symbol.match\n// 19.4.2.8 Symbol.replace\n// 19.4.2.9 Symbol.search\n// 19.4.2.10 Symbol.species\n// 19.4.2.11 Symbol.split\n// 19.4.2.12 Symbol.toPrimitive\n// 19.4.2.13 Symbol.toStringTag\n// 19.4.2.14 Symbol.unscopables\n$.each.call((\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,' +\n 'species,split,toPrimitive,toStringTag,unscopables'\n).split(','), function(it){\n var sym = wks(it);\n symbolStatics[it] = useNative ? sym : wrap(sym);\n});\n\nsetter = true;\n\n$export($export.G + $export.W, {Symbol: $Symbol});\n\n$export($export.S, 'Symbol', symbolStatics);\n\n$export($export.S + $export.F * !useNative, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!useNative || buggyJSON), 'JSON', {stringify: $stringify});\n\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.symbol.js\n ** module id = 48\n ** module chunks = 0 1\n **/","var $ = require('./$')\n , toIObject = require('./$.to-iobject');\nmodule.exports = function(object, el){\n var O = toIObject(object)\n , keys = $.getKeys(O)\n , length = keys.length\n , index = 0\n , key;\n while(length > index)if(O[key = keys[index++]] === el)return key;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.keyof.js\n ** module id = 49\n ** module chunks = 0 1\n **/","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./$.to-iobject')\n , getNames = require('./$').getNames\n , toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function(it){\n try {\n return getNames(it);\n } catch(e){\n return windowNames.slice();\n }\n};\n\nmodule.exports.get = function getOwnPropertyNames(it){\n if(windowNames && toString.call(it) == '[object Window]')return getWindowNames(it);\n return getNames(toIObject(it));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.get-names.js\n ** module id = 50\n ** module chunks = 0 1\n **/","// all enumerable object keys, includes symbols\nvar $ = require('./$');\nmodule.exports = function(it){\n var keys = $.getKeys(it)\n , getSymbols = $.getSymbols;\n if(getSymbols){\n var symbols = getSymbols(it)\n , isEnum = $.isEnum\n , i = 0\n , key;\n while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))keys.push(key);\n }\n return keys;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.enum-keys.js\n ** module id = 51\n ** module chunks = 0 1\n **/","// 7.2.2 IsArray(argument)\nvar cof = require('./$.cof');\nmodule.exports = Array.isArray || function(arg){\n return cof(arg) == 'Array';\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.is-array.js\n ** module id = 52\n ** module chunks = 0 1\n **/","var isObject = require('./$.is-object');\nmodule.exports = function(it){\n if(!isObject(it))throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.an-object.js\n ** module id = 53\n ** module chunks = 0 1\n **/","module.exports = function(it){\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.is-object.js\n ** module id = 54\n ** module chunks = 0 1\n **/","\"use strict\";\n\nexports.__esModule = true;\n\nvar _setPrototypeOf = require(\"../core-js/object/set-prototype-of\");\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _create = require(\"../core-js/object/create\");\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n }\n\n subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/helpers/inherits.js\n ** module id = 56\n ** module chunks = 0 1\n **/","module.exports = { \"default\": require(\"core-js/library/fn/object/set-prototype-of\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/object/set-prototype-of.js\n ** module id = 57\n ** module chunks = 0 1\n **/","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/$.core').Object.setPrototypeOf;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/object/set-prototype-of.js\n ** module id = 58\n ** module chunks = 0 1\n **/","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./$.export');\n$export($export.S, 'Object', {setPrototypeOf: require('./$.set-proto').set});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.object.set-prototype-of.js\n ** module id = 59\n ** module chunks = 0 1\n **/","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar getDesc = require('./$').getDesc\n , isObject = require('./$.is-object')\n , anObject = require('./$.an-object');\nvar check = function(O, proto){\n anObject(O);\n if(!isObject(proto) && proto !== null)throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function(test, buggy, set){\n try {\n set = require('./$.ctx')(Function.call, getDesc(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch(e){ buggy = true; }\n return function setPrototypeOf(O, proto){\n check(O, proto);\n if(buggy)O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.set-proto.js\n ** module id = 60\n ** module chunks = 0 1\n **/","module.exports = { \"default\": require(\"core-js/library/fn/object/create\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/object/create.js\n ** module id = 61\n ** module chunks = 0 1\n **/","var $ = require('../../modules/$');\nmodule.exports = function create(P, D){\n return $.create(P, D);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/object/create.js\n ** module id = 62\n ** module chunks = 0 1\n **/","\"use strict\";\n\nimport Vector2D from \"./vector2d.js\";\n\nclass Entity {\n\n\n constructor (x, y) {\n\n this.pos = new Vector2D(x || 0, y || 0);\n this.velocity = new Vector2D(0, 0);\n this.acceleration = new Vector2D(0, 0);\n\n this.state = {};\n this.children = [];\n\n this._calculatedPos = this.pos.clone();\n this._lastCalculated = 0;\n this._game = null;\n this._parent = null;\n\n this._creationTime = +(new Date());\n\n }\n\n\n setVelocity (x, y) {\n\n if (x instanceof Vector2D) {\n this.velocity = x;\n } else {\n this.velocity.x = x;\n this.velocity.y = y;\n }\n\n }\n\n\n setAcceleration (x, y) {\n\n if (x instanceof Vector2D) {\n this.acceleration = x;\n } else {\n this.acceleration.x = x;\n this.acceleration.y = y;\n }\n\n }\n\n\n createChildEntity () {\n\n let child = new Entity();\n\n child._updateGame(this._game);\n child._parent = this;\n this.children.push(child);\n\n return child;\n\n }\n\n\n addChildEntity (child) {\n\n child._updateGame(this._game);\n child._parent = this;\n this.children.push(child);\n\n return child;\n\n }\n\n\n detachChildEntity (child) {\n\n for (let i = 0; i < this.children.length; i++) {\n if (this.children[i] == child) {\n\n this.children.splice(i, 1);\n return true;\n\n }\n }\n\n return false;\n\n }\n\n\n _preprocess () {\n\n // NK: The purpose of this function is to calculate the true position of the entity relative to all its parents. It does this recursively, calling the _preprocess method all the way back up the tree and continuously adding the results together.\n\n // Note there is a limiter, where the last calculated frame is stored, so that if the position has already been calculated for that node in this particular frame, the cached result is used rather than recalculating.\n\n // When rendering, the draw calls should use this._calculatedPos rather than this.pos in order for the position to be correct.\n\n if (this._game && this._lastCalculated < this._game.frameCounter) {\n\n if (this._parent) {\n\n let parentPos = this._parent._preprocess();\n\n this._calculatedPos.x = this.pos.x + parentPos.x;\n this._calculatedPos.y = this.pos.y + parentPos.y;\n\n } else {\n this._calculatedPos.x = this.pos.x;\n this._calculatedPos.y = this.pos.y;\n }\n\n this._lastCalculated = this._game.frameCounter;\n\n }\n\n return this._calculatedPos;\n\n }\n\n\n _updateGame (game) {\n\n this._game = game;\n\n this.children.forEach((child) => {\n child._updateGame(game);\n });\n\n }\n\n\n _updateEntity (delta) {\n\n if (this.timeToLive) {\n if (+(new Date()) - this._creationTime > this.timeToLive) {\n this._parent.detachChildEntity(this);\n }\n }\n\n // Calculate new position based on velocity and acceleration if there's one set\n if (this.velocity) {\n\n if (this.acceleration) {\n this.velocity.add(this.acceleration);\n }\n\n this.pos.add(this.velocity);\n\n }\n\n // If there's an update method, call it\n let updated = this.update && this.update(delta);\n\n if (updated || (typeof updated == \"undefined\") || (typeof this.update === \"undefined\")) {\n\n this.children.forEach((child) => {\n child._updateEntity(delta);\n });\n\n }\n\n }\n\n\n _renderEntity () {\n\n this._preprocess();\n\n let rendered = this.render && this.render();\n\n if (rendered || (typeof rendered == \"undefined\") || (typeof this.render === \"undefined\")) {\n\n this.children.forEach((child) => {\n child._renderEntity();\n });\n\n }\n\n }\n\n\n}\n\n\nexport default Entity;\n\n\n/** WEBPACK FOOTER **\n ** ./src/classes/entity.js\n **/","\"use strict\";\n\nclass Vector2D {\n\n\n constructor (x, y) {\n this.x = x || 0; this.y = y || 0;\n }\n\n\n invert () {\n this.x = -this.x; this.y = -this.y;\n return this;\n }\n\n\n add (val) {\n\n if (val instanceof Vector2D) {\n this.x += val.x; this.y += val.y;\n } else {\n this.x += val; this.y += val;\n }\n\n return this;\n\n }\n\n\n subtract (val) {\n\n if (val instanceof Vector2D) {\n this.x -= val.x; this.y -= val.y;\n } else {\n this.x -= val; this.y -= val;\n }\n\n return this;\n\n }\n\n\n multiply (val) {\n\n if (val instanceof Vector2D) {\n this.x *= val.x; this.y *= val.y;\n } else {\n this.x *= val; this.y *= val;\n }\n\n return this;\n\n }\n\n\n divide (val) {\n\n if (val instanceof Vector2D) {\n this.x /= val.x; this.y /= val.y;\n } else {\n this.x /= val; this.y /= val;\n }\n\n return this;\n\n }\n\n\n equals (val) {\n return (this.x == val.x && this.y == val.y);\n }\n\n\n dot (val) {\n return (this.x * val.x + this.y * val.y);\n }\n\n\n length () {\n return Math.sqrt(this.dot(this));\n }\n\n\n unit () {\n return this.divide(this.length());\n }\n\n\n min () {\n return Math.min(this.x, this.y);\n }\n\n\n max () {\n return Math.max(this.x, this.y);\n }\n\n\n degrees () {\n return (Math.atan(this.x, this.y) * 180);\n }\n\n\n angle () {\n return Math.atan2(this.x, this.y);\n }\n\n\n toArray () {\n return [this.x, this.y];\n }\n\n\n toString () {\n return `[${this.x}},${this.y}}]`;\n }\n\n\n clone () {\n return new Vector2D(this.x, this.y);\n }\n\n\n static fromAngle (angle, length) {\n return new Vector2D(length * Math.cos(angle), length * Math.sin(angle));\n }\n\n\n}\n\n\nexport default Vector2D;\n\n\n/** WEBPACK FOOTER **\n ** ./src/classes/vector2d.js\n **/","\"use strict\";\n\n\nconst KeyConsts = {\n SPACE: 32,\n BACKSPACE: 8,\n TAB: 9,\n ENTER: 13,\n SHIFT: 16,\n CTRL: 17,\n ALT: 18,\n PAUSE: 19,\n CAPS_LOCK: 20,\n ESCAPE: 27,\n PAGE_UP: 33,\n PAGE_DOWN: 34,\n END: 35,\n HOME: 36,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n INSERT: 45,\n DELETE: 46,\n NUM_0: 48,\n NUM_1: 49,\n NUM_2: 50,\n NUM_3: 51,\n NUM_4: 52,\n NUM_5: 53,\n NUM_6: 54,\n NUM_7: 55,\n NUM_8: 56,\n NUM_9: 57,\n CHAR_A: 65,\n CHAR_B: 66,\n CHAR_C: 67,\n CHAR_D: 68,\n CHAR_E: 69,\n CHAR_F: 70,\n CHAR_G: 71,\n CHAR_H: 72,\n CHAR_I: 73,\n CHAR_J: 74,\n CHAR_K: 75,\n CHAR_L: 76,\n CHAR_M: 77,\n CHAR_N: 78,\n CHAR_O: 79,\n CHAR_P: 80,\n CHAR_Q: 81,\n CHAR_R: 82,\n CHAR_S: 83,\n CHAR_T: 84,\n CHAR_U: 85,\n CHAR_V: 86,\n CHAR_W: 87,\n CHAR_X: 88,\n CHAR_Y: 89,\n CHAR_Z: 90,\n NUM_PAD_0: 96,\n NUM_PAD_1: 97,\n NUM_PAD_2: 98,\n NUM_PAD_3: 99,\n NUM_PAD_4: 100,\n NUM_PAD_5: 101,\n NUM_PAD_6: 102,\n NUM_PAD_7: 103,\n NUM_PAD_8: 104,\n NUM_PAD_9: 105,\n MULTIPLY: 106,\n ADD: 107,\n SUBTRACT: 109,\n DECIMAL: 110,\n DIVIDE: 111,\n F1: 112,\n F2: 113,\n F3: 114,\n F4: 115,\n F5: 116,\n F6: 117,\n F7: 118,\n F8: 119,\n F9: 120,\n F10: 121,\n F11: 122,\n F12: 123,\n SEMICOLON: 186,\n EQUALS: 187,\n COMMA: 188,\n DASH: 189,\n PERIOD: 190,\n FORWARD_SLASH: 191,\n GRAVE: 192,\n OPEN_BRACKET: 219,\n BACK_SLASH: 220,\n CLOSE_BRACKET: 221,\n SINGLE_QUOTE: 222\n};\n\n\nclass KeyboardInput {\n\n\n constructor () {\n\n var self = this;\n self._keyState = {};\n\n window.addEventListener(\"keydown\", (event) => {\n self._keyDownHandler(event);\n }, false);\n\n window.addEventListener(\"keyup\", (event) => {\n self._keyUpHandler(event);\n }, false);\n\n }\n\n\n isPressed (keyCode) {\n return !!this._keyState[keyCode];\n }\n\n\n _keyDownHandler (event) {\n this._keyState[event.keyCode] = true;\n }\n\n\n _keyUpHandler (event) {\n this._keyState[event.keyCode] = false;\n }\n\n\n}\n\n\nexport default KeyboardInput;\nexport {KeyConsts};\n\n\n/** WEBPACK FOOTER **\n ** ./src/classes/keyboardinput.js\n **/","\"use strict\";\n\nimport Entity from \"./entity.js\";\nimport Vector2D from \"./vector2d.js\";\n\n\nclass Emitter extends Entity {\n\n\n constructor (x, y, rate, velocity, particle) {\n\n super(x, y);\n\n this.particleVelocity = velocity;\n this.particleClass = particle;\n\n this.rate = rate;\n this.emitting = false;\n this.spread = Math.PI;\n this._lastEmitTime = this._creationTime;\n this._wasEmitting = false;\n\n this._particles = [];\n\n }\n\n\n setParticleParent (entity) {\n this._particleParent = entity;\n }\n\n\n _emit () {\n\n let ParticleClass = this.particleClass,\n parent = this._particleParent || this._parent;\n\n let angle = this.particleVelocity.angle() + this.spread - (Math.random() * this.spread * 2),\n magnitude = this.particleVelocity.length(),\n velocity = Vector2D.fromAngle(angle, magnitude);\n\n let particle = new ParticleClass(this._calculatedPos.x, this._calculatedPos.y);\n particle.velocity = velocity;\n\n //this._particles.push(particle);\n parent.addChildEntity(particle);\n\n }\n\n\n _triggerEmissions () {\n\n // We prematurely call preprocess so that child particles can spawn from the emitters permission but be children of a different parent\n // NK: This might cause a bug where child renders have an incorrect position because preprocess should normally be called after the update function but before the render, here it is before update. We'll see.\n this._preprocess();\n\n if (this.emitting) {\n\n let currentTime = +(new Date());\n\n if (!this._wasEmitting) {\n this._wasEmitting = true;\n this._lastEmitTime = currentTime;\n }\n\n let emitDelta = currentTime - this._lastEmitTime;\n if (emitDelta > this.rate) {\n\n let emissions = ~~(emitDelta / this.rate);\n\n this._lastEmitTime = currentTime + (emitDelta - (this.rate * emissions));\n\n for (let i = 0; i < emissions; i++) {\n this._emit();\n }\n\n }\n\n } else {\n this._wasEmitting = false;\n }\n\n }\n\n\n update () {\n this._triggerEmissions();\n }\n\n\n}\n\n\nexport default Emitter;\n\n\n/** WEBPACK FOOTER **\n ** ./src/classes/emitter.js\n **/","\"use strict\";\n\nimport Entity from \"./entity.js\";\nimport Vector2D from \"./vector2d.js\";\nimport ImageLoader from \"./imageloader.js\";\n\nimport CollisionMethods from \"../libs/collisionmethods.js\";\n\n\nclass Sprite extends Entity {\n\n\n constructor (x, y, width, height, image) {\n\n if (!image instanceof ImageLoader) {\n throw new Error(\"MomentumEngine.Classes.Sprite must be instantiated with an ImageLoader instance\");\n }\n\n super(x, y);\n\n this.size = new Vector2D(width || 0, height || 0);\n\n this._image = image;\n this._imagePos = new Vector2D(0, 0);\n this._imageSize = new Vector2D(0, 0);\n\n }\n\n\n setImageCoords (x, y, width, height) {\n\n this._imagePos.x = x;\n this._imagePos.y = y;\n this._imageSize.x = width || 0;\n this._imageSize.y = height || 0;\n\n }\n\n\n isReady () {\n return (this._image.isLoaded() && !this._image.isError());\n }\n\n\n render () {\n\n if (this.isReady() && this._game) {\n\n let imageObj = this._image.getImageObj();\n\n let subWidth = imageObj.width - this._imagePos.x,\n subHeight = imageObj.height - this._imagePos.y;\n\n this._game.context.drawImage(\n imageObj,\n this._imagePos.x,\n this._imagePos.y,\n this._imageSize.x || subWidth,\n this._imageSize.y || subHeight,\n this._calculatedPos.x,\n this._calculatedPos.y,\n this.size.x || subWidth,\n this.size.y || subHeight\n );\n\n return true;\n\n } else {\n return false;\n }\n\n }\n\n\n}\n\n\nexport default Sprite;\n\n\n/** WEBPACK FOOTER **\n ** ./src/classes/sprite.js\n **/","\"use strict\";\n\nclass ImageLoader {\n\n\n constructor (src) {\n\n this._loaded = false; // Default is true, set it to false until the image has loaded\n this._error = false; // If the image fails to load, this will contain the reason\n\n this._imageObj = new Image();\n\n this._imageObj.addEventListener(\"load\", () => {\n this._loaded = true;\n this._error = false;\n });\n\n this._imageObj.addEventListener(\"_error\", (err) => {\n this._loaded = false;\n this._error = err;\n });\n\n this._imageObj.src = src;\n\n }\n\n\n getImageObj () {\n\n if (this._loaded) {\n return this._imageObj;\n } else {\n return false;\n }\n\n }\n\n\n isLoaded () {\n return this._loaded;\n }\n\n\n isError () {\n return this._error;\n }\n\n\n}\n\n\nexport default ImageLoader;\n\n\n/** WEBPACK FOOTER **\n ** ./src/classes/imageloader.js\n **/","import Rect from \"../classes/rect.js\";\n\nclass CollisionMethods {\n\n\n static AABB (entity1, entity2) {\n\n if (!entity1 instanceof Rect || !entity2 instanceof Rect) {\n throw new Error(\"AABB collisions can only be checked on these entity types: Rect\");\n }\n\n return (entity1.pos.x < entity2.pos.x + entity2.size.x &&\n entity1.pos.x + entity1.size.x > entity2.pos.x &&\n entity1.pos.y < entity2.pos.y + entity2.size.y &&\n entity1.size.y + entity1.pos.y > entity2.pos.y);\n\n }\n\n\n}\n\n\nexport default CollisionMethods;\n\n\n/** WEBPACK FOOTER **\n ** ./src/libs/collisionmethods.js\n **/","\"use strict\";\n\nimport Entity from \"./entity.js\";\nimport Vector2D from \"./vector2d.js\";\n\nimport CollisionMethods from \"../libs/collisionmethods.js\";\n\n\nclass Rect extends Entity {\n\n\n constructor (x, y, width, height, color) {\n\n super(x, y);\n\n this.size = new Vector2D(width, height);\n this.color = color;\n\n }\n\n\n isCollidingWith (entity) {\n\n if (entity instanceof Rect) {\n return CollisionMethods.AABB(this, entity);\n }\n\n }\n\n\n render () {\n\n if (this._game) {\n\n this._game.context.fillStyle = this.color.toString();\n this._game.context.fillRect(this._calculatedPos.x, this._calculatedPos.y, this.size.x, this.size.y);\n\n return true;\n\n } else {\n return false;\n }\n\n }\n\n\n}\n\n\nexport default Rect;\n\n\n/** WEBPACK FOOTER **\n ** ./src/classes/rect.js\n **/","\"use strict\";\n\nclass Color {\n\n\n constructor (r, g, b, a) {\n\n this.r = r || 0;\n this.g = g || 0;\n this.b = b || 0;\n this.a = a || 1;\n\n }\n\n\n toString () {\n return `rgba(${this.r}, ${this.g}, ${this.b}, ${this.a})`;\n }\n\n\n toHex () {\n return `#${((r << 16) | (g << 8) | b).toString(16)}`;\n }\n\n\n}\n\n\nexport default Color;\n\n\n/** WEBPACK FOOTER **\n ** ./src/classes/color.js\n **/","\"use strict\";\n\nimport Game from \"./classes/game.js\";\nimport Emitter from \"./classes/emitter.js\";\nimport Entity from \"./classes/entity.js\";\nimport Vector2D from \"./classes/vector2d.js\";\nimport Sprite from \"./classes/sprite.js\";\nimport Rect from \"./classes/rect.js\";\nimport Color from \"./classes/color.js\";\nimport ImageLoader from \"./classes/imageloader.js\";\n\nimport {KeyConsts} from \"./classes/keyboardinput.js\";\n\n\nconst Classes = {\n Game: Game,\n Emitter: Emitter,\n Entity: Entity,\n Sprite: Sprite,\n Rect: Rect,\n Vector2D: Vector2D,\n Color: Color,\n ImageLoader: ImageLoader\n};\n\n\nconst Consts = {\n Input: {\n Keys: KeyConsts\n }\n};\n\n\nexport default {\n Classes,\n Consts\n};\n\n\n/** WEBPACK FOOTER **\n ** ./src/es6.js\n **/"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap e78c406e4972b9e8c899?c245","webpack:///./examples/particles/particles.js","webpack:///./src/classes/game.js?42ad","webpack:///./~/babel-runtime/core-js/object/get-prototype-of.js?b265","webpack:///./~/core-js/library/fn/object/get-prototype-of.js?5193","webpack:///./~/core-js/library/modules/es6.object.get-prototype-of.js?eaa3","webpack:///./~/core-js/library/modules/$.to-object.js?093c","webpack:///./~/core-js/library/modules/$.defined.js?7087","webpack:///./~/core-js/library/modules/$.object-sap.js?f39d","webpack:///./~/core-js/library/modules/$.export.js?b734","webpack:///./~/core-js/library/modules/$.global.js?4deb","webpack:///./~/core-js/library/modules/$.core.js?7680","webpack:///./~/core-js/library/modules/$.ctx.js?e797","webpack:///./~/core-js/library/modules/$.a-function.js?860b","webpack:///./~/core-js/library/modules/$.fails.js?6c29","webpack:///./~/babel-runtime/helpers/classCallCheck.js?21af","webpack:///./~/babel-runtime/helpers/createClass.js?1dfe","webpack:///./~/babel-runtime/core-js/object/define-property.js?5f70","webpack:///./~/core-js/library/fn/object/define-property.js?b7d8","webpack:///./~/core-js/library/modules/$.js?6ce7","webpack:///./~/babel-runtime/helpers/possibleConstructorReturn.js?aad9","webpack:///./~/babel-runtime/helpers/typeof.js?f4bd","webpack:///./~/babel-runtime/core-js/symbol/iterator.js?d16b","webpack:///./~/core-js/library/fn/symbol/iterator.js?238d","webpack:///./~/core-js/library/modules/es6.string.iterator.js?fe18","webpack:///./~/core-js/library/modules/$.string-at.js?a0b4","webpack:///./~/core-js/library/modules/$.to-integer.js?b29c","webpack:///./~/core-js/library/modules/$.iter-define.js?970f","webpack:///./~/core-js/library/modules/$.library.js?c05f","webpack:///./~/core-js/library/modules/$.redefine.js?2643","webpack:///./~/core-js/library/modules/$.hide.js?2cce","webpack:///./~/core-js/library/modules/$.property-desc.js?e1db","webpack:///./~/core-js/library/modules/$.descriptors.js?8327","webpack:///./~/core-js/library/modules/$.has.js?bcec","webpack:///./~/core-js/library/modules/$.iterators.js?9d0a","webpack:///./~/core-js/library/modules/$.iter-create.js?4401","webpack:///./~/core-js/library/modules/$.set-to-string-tag.js?d0fc","webpack:///./~/core-js/library/modules/$.wks.js?3e04","webpack:///./~/core-js/library/modules/$.shared.js?6ce8","webpack:///./~/core-js/library/modules/$.uid.js?f177","webpack:///./~/core-js/library/modules/web.dom.iterable.js?bf0e","webpack:///./~/core-js/library/modules/es6.array.iterator.js?1e09","webpack:///./~/core-js/library/modules/$.add-to-unscopables.js?af5b","webpack:///./~/core-js/library/modules/$.iter-step.js?76ef","webpack:///./~/core-js/library/modules/$.to-iobject.js?daca","webpack:///./~/core-js/library/modules/$.iobject.js?3ada","webpack:///./~/core-js/library/modules/$.cof.js?74ee","webpack:///./~/babel-runtime/core-js/symbol.js?a70d","webpack:///./~/core-js/library/fn/symbol/index.js?f07a","webpack:///./~/core-js/library/modules/es6.symbol.js?670a","webpack:///./~/core-js/library/modules/$.keyof.js?3b7d","webpack:///./~/core-js/library/modules/$.get-names.js?e4b8","webpack:///./~/core-js/library/modules/$.enum-keys.js?1c2a","webpack:///./~/core-js/library/modules/$.is-array.js?4d69","webpack:///./~/core-js/library/modules/$.an-object.js?2be9","webpack:///./~/core-js/library/modules/$.is-object.js?7453","webpack:///./~/babel-runtime/helpers/inherits.js?0578","webpack:///./~/babel-runtime/core-js/object/set-prototype-of.js?bb00","webpack:///./~/core-js/library/fn/object/set-prototype-of.js?f909","webpack:///./~/core-js/library/modules/es6.object.set-prototype-of.js?b195","webpack:///./~/core-js/library/modules/$.set-proto.js?759b","webpack:///./~/babel-runtime/core-js/object/create.js?aa4b","webpack:///./~/core-js/library/fn/object/create.js?738c","webpack:///./src/classes/entity.js?7862","webpack:///./src/classes/vector2d.js?aacc","webpack:///./src/classes/keyboardinput.js?f4ac","webpack:///./src/classes/emitter.js?708e","webpack:///./src/classes/sprite.js?e426","webpack:///./src/classes/imageloader.js?b2ac","webpack:///./src/libs/collisionmethods.js?439c","webpack:///./src/classes/rect.js?5872","webpack:///./src/classes/color.js?70aa","webpack:///./src/es6.js"],"names":[],"mappings":"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vC,8BAA6B;AAC7B,sCAAqC,gC;;;;;;ACDrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACnBA;AACA;AACA;AACA,G;;;;;;ACHA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,G;;;;;;ACNA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,G;;;;;;ACRA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,oBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC,G;;;;;;AC1BD,mBAAkB,wD;;;;;;ACAlB;AACA;AACA;AACA,G;;;;;;ACHA;AACA;AACA;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACZA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA,G;;;;;;AChBA;;AAEA,uGAAsG,mBAAmB,EAAE,mBAAmB,oGAAoG;;AAElP;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA,EAAC;AACD;AACA,G;;;;;;ACpBA,mBAAkB,wD;;;;;;ACAlB;AACA;AACA,sD;;;;;;ACFA;AACA;;AAEA;AACA;AACA,8BAA6B;AAC7B,eAAc;AACd;AACA,EAAC;AACD;AACA;AACA;AACA,gCAA+B;AAC/B;AACA;AACA,WAAU;AACV,EAAC,E;;;;;;AChBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6BAA4B,aAAa;;AAEzC;AACA;AACA;AACA;AACA;AACA,yCAAwC,oCAAoC;AAC5E,6CAA4C,oCAAoC;AAChF,MAAK,2BAA2B,oCAAoC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAkB,mBAAmB;AACrC;AACA;AACA,oCAAmC,2BAA2B;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,G;;;;;;ACjEA,uB;;;;;;ACAA,0C;;;;;;ACAA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA,G;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACPA;AACA;AACA,kCAAiC,QAAQ,gBAAgB,UAAU,GAAG;AACtE,EAAC,E;;;;;;ACHD,wBAAuB;AACvB;AACA;AACA,G;;;;;;ACHA,qB;;;;;;ACAA;AACA;AACA;AACA;AACA;;AAEA;AACA,4FAAkF,aAAa,EAAE;;AAEjG;AACA,wDAAuD,0BAA0B;AACjF;AACA,G;;;;;;ACZA;AACA;AACA;;AAEA;AACA,mEAAkE,+BAA+B;AACjG,G;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACNA;AACA;AACA,oDAAmD;AACnD;AACA,wCAAuC;AACvC,G;;;;;;ACLA;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA,iE;;;;;;ACFA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAgC;AAChC,eAAc;AACd,kBAAiB;AACjB;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;;AAEA;AACA;AACA,6B;;;;;;ACjCA,6BAA4B,e;;;;;;ACA5B;AACA,WAAU;AACV,G;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACLA;AACA;AACA;AACA;AACA,G;;;;;;ACJA,kBAAiB;;AAEjB;AACA;AACA,G;;;;;;ACJA,mBAAkB,wD;;;;;;ACAlB;AACA;AACA,iD;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4BAA2B;AAC3B,qBAAoB,4BAA4B,SAAS,IAAI;AAC7D,IAAG;AACH,EAAC;AACD;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,+DAA8D;AAC9D;AACA,MAAK;AACL;AACA,uBAAsB,iCAAiC;AACvD,MAAK;AACL,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAoD,KAAK,QAAQ,iCAAiC;AAClG,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH,yBAAwB,eAAe,EAAE;AACzC,yBAAwB,gBAAgB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;;AAEA,iCAAgC,gBAAgB;;AAEhD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA,8EAA6E,sBAAsB;;AAEnG;AACA;AACA;AACA;AACA;AACA,2C;;;;;;AClOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACTA;AACA;AACA;AACA,mBAAkB;;AAElB;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,G;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACbA;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA,G;;;;;;;;;;;;ACFA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,G;;;;;;AChCA,mBAAkB,wD;;;;;;ACAlB;AACA,gE;;;;;;ACDA;AACA;AACA,+BAA8B,4CAA6C,E;;;;;;ACF3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA,QAAO,UAAU,cAAc;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,MAAK,GAAG;AACR;AACA,G;;;;;;ACzBA,mBAAkB,wD;;;;;;ACAlB;AACA;AACA;AACA,G;;;;;;ACHA;;;;;;;;;;;;;;;;;;;;KAIM;AAGF,cAHE,MAGF,CAAa,CAAb,EAAgB,CAAhB,EAAmB;6CAHjB,QAGiB;;;AAEf,cAAK,GAAL,GAAW,uBAAa,KAAK,CAAL,EAAQ,KAAK,CAAL,CAAhC,CAFe;AAGf,cAAK,QAAL,GAAgB,uBAAa,CAAb,EAAgB,CAAhB,CAAhB,CAHe;AAIf,cAAK,YAAL,GAAoB,uBAAa,CAAb,EAAgB,CAAhB,CAApB,CAJe;;AAMf,cAAK,KA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","file":"particles.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap e78c406e4972b9e8c899\n **/","\"use strict\";\n\nimport MomentumEngine from \"../../src/es6\";\n\nlet KeyConsts = MomentumEngine.Consts.Input.Keys;\n\n\nclass BlueParticle extends MomentumEngine.Classes.Rect {\n\n constructor (x, y) {\n super(x, y, 1, 1, new MomentumEngine.Classes.Color(255, 255, 255, 0));\n this.timeToLive = 5000;\n }\n\n update (delta) {\n this.color.a = this.color.a - (delta * 0.00025);\n }\n\n}\n\n\nwindow.onload = function () {\n\n let width = 640,\n height = 360,\n baseSize = width / 64;\n\n let particles = new MomentumEngine.Classes.Game({\n canvas: document.getElementById(\"canvas\"),\n width: width,\n height: height,\n fixRatio: true,\n desiredFps: 60,\n inputs: {\n keyboard: true\n }\n });\n\n let black = new MomentumEngine.Classes.Color(0, 0, 0),\n red = new MomentumEngine.Classes.Color(255, 0, 0);\n\n let mainScene = new MomentumEngine.Classes.Rect(0, 0, width, height, black);\n particles.addChildEntity(mainScene);\n\n let rect = new MomentumEngine.Classes.Rect(width / 2 - baseSize, height / 2 - baseSize, baseSize * 2, baseSize * 2, red),\n emitter = new MomentumEngine.Classes.Emitter(baseSize, baseSize, 4, new MomentumEngine.Classes.Vector2D(0, 1), BlueParticle);\n\n mainScene.addChildEntity(rect);\n rect.addChildEntity(emitter);\n\n rect.update = function (delta) {\n\n if (particles.inputs.keyboard.isPressed(KeyConsts.UP)) {\n rect.pos.y -= (0.2 * delta);\n }\n\n if (particles.inputs.keyboard.isPressed(KeyConsts.DOWN)) {\n rect.pos.y += (0.2 * delta);\n }\n\n if (particles.inputs.keyboard.isPressed(KeyConsts.LEFT)) {\n rect.pos.x -= (0.2 * delta);\n }\n\n if (particles.inputs.keyboard.isPressed(KeyConsts.RIGHT)) {\n rect.pos.x += (0.2 * delta);\n }\n\n };\n\n emitter.setParticleParent(mainScene);\n emitter.emitting = true;\n\n particles.start();\n\n};\n\n\n/** WEBPACK FOOTER **\n ** ./examples/particles/particles.js\n **/","\"use strict\";\n\nimport Entity from \"./entity.js\";\nimport KeyboardInput from \"./keyboardinput.js\";\n\nclass Game extends Entity {\n\n\n constructor (config) {\n\n super(); // Call entity constructor\n config = config || {};\n config.inputs = config.inputs || {};\n\n\n // Required params\n if (config.canvas) {\n this.canvas = config.canvas;\n } else {\n throw new Error(\"MomentumEngine.Classes.Game must be constructed with a canvas\");\n }\n\n if (config.width) {\n this.width = config.width;\n } else {\n throw new Error(\"MomentumEngine.Classes.Game must be constructed with canvas width\");\n }\n\n if (config.height) {\n this.height = config.height;\n } else {\n throw new Error(\"MomentumEngine.Classes.Game must be constructed with canvas height\");\n }\n\n\n // Optional params\n this.desiredFps = config.desiredFps || 60;\n\n if (config.fixRatio) {\n\n let deviceRatio = window.devicePixelRatio,\n backingStoreRatio = 0;\n\n // Unfortunately Ejecta requires calling getContext last, so we cannot get the backingStorePixelRatio. So for Ejecta's case, we set it to 1, and call getContext later.\n if (typeof ejecta !== \"undefined\") {\n backingStoreRatio = 1;\n } else {\n\n this.context = this.canvas.getContext(\"2d\");\n\n backingStoreRatio = this.context.webkitBackingStorePixelRatio ||\n this.context.mozBackingStorePixelRatio ||\n this.context.msBackingStorePixelRatio ||\n this.context.oBackingStorePixelRatio ||\n this.context.backingStorePixelRatio || 1;\n\n }\n\n this.scale = deviceRatio / backingStoreRatio;\n\n this.canvas.width = this.width * this.scale;\n this.canvas.height = this.height * this.scale;\n\n this.canvas.style.width = this.width + \"px\";\n this.canvas.style.height = this.height + \"px\";\n\n // Call getContext last for Ejecta only.\n if (typeof ejecta !== \"undefined\") {\n this.context = this.canvas.getContext(\"2d\");\n }\n\n this.context.scale(deviceRatio, deviceRatio);\n\n } else {\n\n this.canvas.width = this.width;\n this.canvas.height = this.height;\n\n this.context = this.canvas.getContext(\"2d\");\n\n }\n\n if (typeof this.context.imageSmoothingEnabled !== \"undefined\") {\n this.context.imageSmoothingEnabled = config.imageSmoothing || false;\n }\n\n\n // Initialize defaults\n this.frameCounter = 0;\n\n this.inputs = {};\n if (config.inputs.keyboard) {\n this.inputs.keyboard = new KeyboardInput(this);\n }\n\n this._game = this;\n this._lastFrameTimestamp = 0;\n this._wantPause = true;\n\n }\n\n\n step (delta) {\n\n this.frameCounter++;\n\n this._updateEntity(delta);\n this._renderEntity();\n\n }\n\n\n start () {\n\n var self = this; // NK: Hate doing this...better way plz?\n\n if (self._wantPause) {\n self._wantPause = false;\n } else {\n console.log(\"MomentumEngine.Classes.Game.start called, game instance is already started\");\n return false; // Game is already running\n }\n\n self._wantPause = false;\n\n let requestFrame = (() => {\n\n return (window.requestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n function (callback) {\n window.setTimeout(callback, 1000 / self.desiredFps);\n });\n\n })();\n\n self._lastFrameTimestamp = +(new Date());\n self.startTime = self._lastFrameTimestamp;\n\n var loop = function () {\n\n if (self._wantPause) {\n return;\n }\n\n let currentTimestamp = +(new Date()),\n delta = currentTimestamp - self._lastFrameTimestamp;\n\n delta = Math.min(delta, 1000 / self.desiredFps);\n self._lastFrameTimestamp = currentTimestamp;\n\n self.step(delta);\n\n requestFrame(loop);\n\n };\n\n loop();\n return true;\n\n }\n\n\n pause () {\n\n if (!this._wantPause) {\n this._wantPause = true;\n return true;\n } else {\n console.log(\"MomentumEngine.Classes.Game.pause called, game instance is already paused\");\n return false;\n }\n }\n\n\n}\n\n\nexport default Game;\n\n\n/** WEBPACK FOOTER **\n ** ./src/classes/game.js\n **/","module.exports = { \"default\": require(\"core-js/library/fn/object/get-prototype-of\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/object/get-prototype-of.js\n ** module id = 2\n ** module chunks = 0 1\n **/","require('../../modules/es6.object.get-prototype-of');\nmodule.exports = require('../../modules/$.core').Object.getPrototypeOf;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/object/get-prototype-of.js\n ** module id = 3\n ** module chunks = 0 1\n **/","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./$.to-object');\n\nrequire('./$.object-sap')('getPrototypeOf', function($getPrototypeOf){\n return function getPrototypeOf(it){\n return $getPrototypeOf(toObject(it));\n };\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.object.get-prototype-of.js\n ** module id = 4\n ** module chunks = 0 1\n **/","// 7.1.13 ToObject(argument)\nvar defined = require('./$.defined');\nmodule.exports = function(it){\n return Object(defined(it));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.to-object.js\n ** module id = 5\n ** module chunks = 0 1\n **/","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function(it){\n if(it == undefined)throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.defined.js\n ** module id = 6\n ** module chunks = 0 1\n **/","// most Object methods by ES6 should accept primitives\nvar $export = require('./$.export')\n , core = require('./$.core')\n , fails = require('./$.fails');\nmodule.exports = function(KEY, exec){\n var fn = (core.Object || {})[KEY] || Object[KEY]\n , exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.object-sap.js\n ** module id = 7\n ** module chunks = 0 1\n **/","var global = require('./$.global')\n , core = require('./$.core')\n , ctx = require('./$.ctx')\n , PROTOTYPE = 'prototype';\n\nvar $export = function(type, name, source){\n var IS_FORCED = type & $export.F\n , IS_GLOBAL = type & $export.G\n , IS_STATIC = type & $export.S\n , IS_PROTO = type & $export.P\n , IS_BIND = type & $export.B\n , IS_WRAP = type & $export.W\n , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})\n , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]\n , key, own, out;\n if(IS_GLOBAL)source = name;\n for(key in source){\n // contains in native\n own = !IS_FORCED && target && key in target;\n if(own && key in exports)continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function(C){\n var F = function(param){\n return this instanceof C ? new C(param) : C(param);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n if(IS_PROTO)(exports[PROTOTYPE] || (exports[PROTOTYPE] = {}))[key] = out;\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\nmodule.exports = $export;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.export.js\n ** module id = 8\n ** module chunks = 0 1\n **/","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.global.js\n ** module id = 9\n ** module chunks = 0 1\n **/","var core = module.exports = {version: '1.2.6'};\nif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.core.js\n ** module id = 10\n ** module chunks = 0 1\n **/","// optional / simple context binding\nvar aFunction = require('./$.a-function');\nmodule.exports = function(fn, that, length){\n aFunction(fn);\n if(that === undefined)return fn;\n switch(length){\n case 1: return function(a){\n return fn.call(that, a);\n };\n case 2: return function(a, b){\n return fn.call(that, a, b);\n };\n case 3: return function(a, b, c){\n return fn.call(that, a, b, c);\n };\n }\n return function(/* ...args */){\n return fn.apply(that, arguments);\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.ctx.js\n ** module id = 11\n ** module chunks = 0 1\n **/","module.exports = function(it){\n if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.a-function.js\n ** module id = 12\n ** module chunks = 0 1\n **/","module.exports = function(exec){\n try {\n return !!exec();\n } catch(e){\n return true;\n }\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.fails.js\n ** module id = 13\n ** module chunks = 0 1\n **/","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/helpers/classCallCheck.js\n ** module id = 14\n ** module chunks = 0 1\n **/","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/helpers/createClass.js\n ** module id = 15\n ** module chunks = 0 1\n **/","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/object/define-property.js\n ** module id = 16\n ** module chunks = 0 1\n **/","var $ = require('../../modules/$');\nmodule.exports = function defineProperty(it, key, desc){\n return $.setDesc(it, key, desc);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/object/define-property.js\n ** module id = 17\n ** module chunks = 0 1\n **/","var $Object = Object;\nmodule.exports = {\n create: $Object.create,\n getProto: $Object.getPrototypeOf,\n isEnum: {}.propertyIsEnumerable,\n getDesc: $Object.getOwnPropertyDescriptor,\n setDesc: $Object.defineProperty,\n setDescs: $Object.defineProperties,\n getKeys: $Object.keys,\n getNames: $Object.getOwnPropertyNames,\n getSymbols: $Object.getOwnPropertySymbols,\n each: [].forEach\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.js\n ** module id = 18\n ** module chunks = 0 1\n **/","\"use strict\";\n\nexports.__esModule = true;\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/helpers/possibleConstructorReturn.js\n ** module id = 19\n ** module chunks = 0 1\n **/","\"use strict\";\n\nvar _typeof = typeof _Symbol === \"function\" && typeof _Symbol$iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _Symbol === \"function\" && obj.constructor === _Symbol ? \"symbol\" : typeof obj; };\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/helpers/typeof.js\n ** module id = 20\n ** module chunks = 0 1\n **/","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/symbol/iterator.js\n ** module id = 21\n ** module chunks = 0 1\n **/","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/$.wks')('iterator');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/symbol/iterator.js\n ** module id = 22\n ** module chunks = 0 1\n **/","'use strict';\nvar $at = require('./$.string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./$.iter-define')(String, 'String', function(iterated){\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , index = this._i\n , point;\n if(index >= O.length)return {value: undefined, done: true};\n point = $at(O, index);\n this._i += point.length;\n return {value: point, done: false};\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.string.iterator.js\n ** module id = 23\n ** module chunks = 0 1\n **/","var toInteger = require('./$.to-integer')\n , defined = require('./$.defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function(TO_STRING){\n return function(that, pos){\n var s = String(defined(that))\n , i = toInteger(pos)\n , l = s.length\n , a, b;\n if(i < 0 || i >= l)return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.string-at.js\n ** module id = 24\n ** module chunks = 0 1\n **/","// 7.1.4 ToInteger\nvar ceil = Math.ceil\n , floor = Math.floor;\nmodule.exports = function(it){\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.to-integer.js\n ** module id = 25\n ** module chunks = 0 1\n **/","'use strict';\nvar LIBRARY = require('./$.library')\n , $export = require('./$.export')\n , redefine = require('./$.redefine')\n , hide = require('./$.hide')\n , has = require('./$.has')\n , Iterators = require('./$.iterators')\n , $iterCreate = require('./$.iter-create')\n , setToStringTag = require('./$.set-to-string-tag')\n , getProto = require('./$').getProto\n , ITERATOR = require('./$.wks')('iterator')\n , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`\n , FF_ITERATOR = '@@iterator'\n , KEYS = 'keys'\n , VALUES = 'values';\n\nvar returnThis = function(){ return this; };\n\nmodule.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){\n $iterCreate(Constructor, NAME, next);\n var getMethod = function(kind){\n if(!BUGGY && kind in proto)return proto[kind];\n switch(kind){\n case KEYS: return function keys(){ return new Constructor(this, kind); };\n case VALUES: return function values(){ return new Constructor(this, kind); };\n } return function entries(){ return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator'\n , DEF_VALUES = DEFAULT == VALUES\n , VALUES_BUG = false\n , proto = Base.prototype\n , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]\n , $default = $native || getMethod(DEFAULT)\n , methods, key;\n // Fix native\n if($native){\n var IteratorPrototype = getProto($default.call(new Base));\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // FF fix\n if(!LIBRARY && has(proto, FF_ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);\n // fix Array#{values, @@iterator}.name in V8 / FF\n if(DEF_VALUES && $native.name !== VALUES){\n VALUES_BUG = true;\n $default = function values(){ return $native.call(this); };\n }\n }\n // Define iterator\n if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if(DEFAULT){\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: !DEF_VALUES ? $default : getMethod('entries')\n };\n if(FORCED)for(key in methods){\n if(!(key in proto))redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.iter-define.js\n ** module id = 26\n ** module chunks = 0 1\n **/","module.exports = true;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.library.js\n ** module id = 27\n ** module chunks = 0 1\n **/","module.exports = require('./$.hide');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.redefine.js\n ** module id = 28\n ** module chunks = 0 1\n **/","var $ = require('./$')\n , createDesc = require('./$.property-desc');\nmodule.exports = require('./$.descriptors') ? function(object, key, value){\n return $.setDesc(object, key, createDesc(1, value));\n} : function(object, key, value){\n object[key] = value;\n return object;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.hide.js\n ** module id = 29\n ** module chunks = 0 1\n **/","module.exports = function(bitmap, value){\n return {\n enumerable : !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable : !(bitmap & 4),\n value : value\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.property-desc.js\n ** module id = 30\n ** module chunks = 0 1\n **/","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./$.fails')(function(){\n return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.descriptors.js\n ** module id = 31\n ** module chunks = 0 1\n **/","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function(it, key){\n return hasOwnProperty.call(it, key);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.has.js\n ** module id = 32\n ** module chunks = 0 1\n **/","module.exports = {};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.iterators.js\n ** module id = 33\n ** module chunks = 0 1\n **/","'use strict';\nvar $ = require('./$')\n , descriptor = require('./$.property-desc')\n , setToStringTag = require('./$.set-to-string-tag')\n , IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./$.hide')(IteratorPrototype, require('./$.wks')('iterator'), function(){ return this; });\n\nmodule.exports = function(Constructor, NAME, next){\n Constructor.prototype = $.create(IteratorPrototype, {next: descriptor(1, next)});\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.iter-create.js\n ** module id = 34\n ** module chunks = 0 1\n **/","var def = require('./$').setDesc\n , has = require('./$.has')\n , TAG = require('./$.wks')('toStringTag');\n\nmodule.exports = function(it, tag, stat){\n if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.set-to-string-tag.js\n ** module id = 35\n ** module chunks = 0 1\n **/","var store = require('./$.shared')('wks')\n , uid = require('./$.uid')\n , Symbol = require('./$.global').Symbol;\nmodule.exports = function(name){\n return store[name] || (store[name] =\n Symbol && Symbol[name] || (Symbol || uid)('Symbol.' + name));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.wks.js\n ** module id = 36\n ** module chunks = 0 1\n **/","var global = require('./$.global')\n , SHARED = '__core-js_shared__'\n , store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function(key){\n return store[key] || (store[key] = {});\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.shared.js\n ** module id = 37\n ** module chunks = 0 1\n **/","var id = 0\n , px = Math.random();\nmodule.exports = function(key){\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.uid.js\n ** module id = 38\n ** module chunks = 0 1\n **/","require('./es6.array.iterator');\nvar Iterators = require('./$.iterators');\nIterators.NodeList = Iterators.HTMLCollection = Iterators.Array;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/web.dom.iterable.js\n ** module id = 39\n ** module chunks = 0 1\n **/","'use strict';\nvar addToUnscopables = require('./$.add-to-unscopables')\n , step = require('./$.iter-step')\n , Iterators = require('./$.iterators')\n , toIObject = require('./$.to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./$.iter-define')(Array, 'Array', function(iterated, kind){\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , kind = this._k\n , index = this._i++;\n if(!O || index >= O.length){\n this._t = undefined;\n return step(1);\n }\n if(kind == 'keys' )return step(0, index);\n if(kind == 'values')return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.array.iterator.js\n ** module id = 40\n ** module chunks = 0 1\n **/","module.exports = function(){ /* empty */ };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.add-to-unscopables.js\n ** module id = 41\n ** module chunks = 0 1\n **/","module.exports = function(done, value){\n return {value: value, done: !!done};\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.iter-step.js\n ** module id = 42\n ** module chunks = 0 1\n **/","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./$.iobject')\n , defined = require('./$.defined');\nmodule.exports = function(it){\n return IObject(defined(it));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.to-iobject.js\n ** module id = 43\n ** module chunks = 0 1\n **/","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./$.cof');\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.iobject.js\n ** module id = 44\n ** module chunks = 0 1\n **/","var toString = {}.toString;\n\nmodule.exports = function(it){\n return toString.call(it).slice(8, -1);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.cof.js\n ** module id = 45\n ** module chunks = 0 1\n **/","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/symbol.js\n ** module id = 46\n ** module chunks = 0 1\n **/","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nmodule.exports = require('../../modules/$.core').Symbol;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/symbol/index.js\n ** module id = 47\n ** module chunks = 0 1\n **/","'use strict';\n// ECMAScript 6 symbols shim\nvar $ = require('./$')\n , global = require('./$.global')\n , has = require('./$.has')\n , DESCRIPTORS = require('./$.descriptors')\n , $export = require('./$.export')\n , redefine = require('./$.redefine')\n , $fails = require('./$.fails')\n , shared = require('./$.shared')\n , setToStringTag = require('./$.set-to-string-tag')\n , uid = require('./$.uid')\n , wks = require('./$.wks')\n , keyOf = require('./$.keyof')\n , $names = require('./$.get-names')\n , enumKeys = require('./$.enum-keys')\n , isArray = require('./$.is-array')\n , anObject = require('./$.an-object')\n , toIObject = require('./$.to-iobject')\n , createDesc = require('./$.property-desc')\n , getDesc = $.getDesc\n , setDesc = $.setDesc\n , _create = $.create\n , getNames = $names.get\n , $Symbol = global.Symbol\n , $JSON = global.JSON\n , _stringify = $JSON && $JSON.stringify\n , setter = false\n , HIDDEN = wks('_hidden')\n , isEnum = $.isEnum\n , SymbolRegistry = shared('symbol-registry')\n , AllSymbols = shared('symbols')\n , useNative = typeof $Symbol == 'function'\n , ObjectProto = Object.prototype;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function(){\n return _create(setDesc({}, 'a', {\n get: function(){ return setDesc(this, 'a', {value: 7}).a; }\n })).a != 7;\n}) ? function(it, key, D){\n var protoDesc = getDesc(ObjectProto, key);\n if(protoDesc)delete ObjectProto[key];\n setDesc(it, key, D);\n if(protoDesc && it !== ObjectProto)setDesc(ObjectProto, key, protoDesc);\n} : setDesc;\n\nvar wrap = function(tag){\n var sym = AllSymbols[tag] = _create($Symbol.prototype);\n sym._k = tag;\n DESCRIPTORS && setter && setSymbolDesc(ObjectProto, tag, {\n configurable: true,\n set: function(value){\n if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n }\n });\n return sym;\n};\n\nvar isSymbol = function(it){\n return typeof it == 'symbol';\n};\n\nvar $defineProperty = function defineProperty(it, key, D){\n if(D && has(AllSymbols, key)){\n if(!D.enumerable){\n if(!has(it, HIDDEN))setDesc(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;\n D = _create(D, {enumerable: createDesc(0, false)});\n } return setSymbolDesc(it, key, D);\n } return setDesc(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P){\n anObject(it);\n var keys = enumKeys(P = toIObject(P))\n , i = 0\n , l = keys.length\n , key;\n while(l > i)$defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P){\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key){\n var E = isEnum.call(this, key);\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key]\n ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){\n var D = getDesc(it = toIObject(it), key);\n if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it){\n var names = getNames(toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i)if(!has(AllSymbols, key = names[i++]) && key != HIDDEN)result.push(key);\n return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it){\n var names = getNames(toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i)if(has(AllSymbols, key = names[i++]))result.push(AllSymbols[key]);\n return result;\n};\nvar $stringify = function stringify(it){\n if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined\n var args = [it]\n , i = 1\n , $$ = arguments\n , replacer, $replacer;\n while($$.length > i)args.push($$[i++]);\n replacer = args[1];\n if(typeof replacer == 'function')$replacer = replacer;\n if($replacer || !isArray(replacer))replacer = function(key, value){\n if($replacer)value = $replacer.call(this, key, value);\n if(!isSymbol(value))return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n};\nvar buggyJSON = $fails(function(){\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}';\n});\n\n// 19.4.1.1 Symbol([description])\nif(!useNative){\n $Symbol = function Symbol(){\n if(isSymbol(this))throw TypeError('Symbol is not a constructor');\n return wrap(uid(arguments.length > 0 ? arguments[0] : undefined));\n };\n redefine($Symbol.prototype, 'toString', function toString(){\n return this._k;\n });\n\n isSymbol = function(it){\n return it instanceof $Symbol;\n };\n\n $.create = $create;\n $.isEnum = $propertyIsEnumerable;\n $.getDesc = $getOwnPropertyDescriptor;\n $.setDesc = $defineProperty;\n $.setDescs = $defineProperties;\n $.getNames = $names.get = $getOwnPropertyNames;\n $.getSymbols = $getOwnPropertySymbols;\n\n if(DESCRIPTORS && !require('./$.library')){\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n}\n\nvar symbolStatics = {\n // 19.4.2.1 Symbol.for(key)\n 'for': function(key){\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(key){\n return keyOf(SymbolRegistry, key);\n },\n useSetter: function(){ setter = true; },\n useSimple: function(){ setter = false; }\n};\n// 19.4.2.2 Symbol.hasInstance\n// 19.4.2.3 Symbol.isConcatSpreadable\n// 19.4.2.4 Symbol.iterator\n// 19.4.2.6 Symbol.match\n// 19.4.2.8 Symbol.replace\n// 19.4.2.9 Symbol.search\n// 19.4.2.10 Symbol.species\n// 19.4.2.11 Symbol.split\n// 19.4.2.12 Symbol.toPrimitive\n// 19.4.2.13 Symbol.toStringTag\n// 19.4.2.14 Symbol.unscopables\n$.each.call((\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,' +\n 'species,split,toPrimitive,toStringTag,unscopables'\n).split(','), function(it){\n var sym = wks(it);\n symbolStatics[it] = useNative ? sym : wrap(sym);\n});\n\nsetter = true;\n\n$export($export.G + $export.W, {Symbol: $Symbol});\n\n$export($export.S, 'Symbol', symbolStatics);\n\n$export($export.S + $export.F * !useNative, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!useNative || buggyJSON), 'JSON', {stringify: $stringify});\n\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.symbol.js\n ** module id = 48\n ** module chunks = 0 1\n **/","var $ = require('./$')\n , toIObject = require('./$.to-iobject');\nmodule.exports = function(object, el){\n var O = toIObject(object)\n , keys = $.getKeys(O)\n , length = keys.length\n , index = 0\n , key;\n while(length > index)if(O[key = keys[index++]] === el)return key;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.keyof.js\n ** module id = 49\n ** module chunks = 0 1\n **/","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./$.to-iobject')\n , getNames = require('./$').getNames\n , toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function(it){\n try {\n return getNames(it);\n } catch(e){\n return windowNames.slice();\n }\n};\n\nmodule.exports.get = function getOwnPropertyNames(it){\n if(windowNames && toString.call(it) == '[object Window]')return getWindowNames(it);\n return getNames(toIObject(it));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.get-names.js\n ** module id = 50\n ** module chunks = 0 1\n **/","// all enumerable object keys, includes symbols\nvar $ = require('./$');\nmodule.exports = function(it){\n var keys = $.getKeys(it)\n , getSymbols = $.getSymbols;\n if(getSymbols){\n var symbols = getSymbols(it)\n , isEnum = $.isEnum\n , i = 0\n , key;\n while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))keys.push(key);\n }\n return keys;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.enum-keys.js\n ** module id = 51\n ** module chunks = 0 1\n **/","// 7.2.2 IsArray(argument)\nvar cof = require('./$.cof');\nmodule.exports = Array.isArray || function(arg){\n return cof(arg) == 'Array';\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.is-array.js\n ** module id = 52\n ** module chunks = 0 1\n **/","var isObject = require('./$.is-object');\nmodule.exports = function(it){\n if(!isObject(it))throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.an-object.js\n ** module id = 53\n ** module chunks = 0 1\n **/","module.exports = function(it){\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.is-object.js\n ** module id = 54\n ** module chunks = 0 1\n **/","\"use strict\";\n\nexports.__esModule = true;\n\nvar _setPrototypeOf = require(\"../core-js/object/set-prototype-of\");\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _create = require(\"../core-js/object/create\");\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _typeof2 = require(\"../helpers/typeof\");\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n }\n\n subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/helpers/inherits.js\n ** module id = 56\n ** module chunks = 0 1\n **/","module.exports = { \"default\": require(\"core-js/library/fn/object/set-prototype-of\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/object/set-prototype-of.js\n ** module id = 57\n ** module chunks = 0 1\n **/","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/$.core').Object.setPrototypeOf;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/object/set-prototype-of.js\n ** module id = 58\n ** module chunks = 0 1\n **/","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./$.export');\n$export($export.S, 'Object', {setPrototypeOf: require('./$.set-proto').set});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/es6.object.set-prototype-of.js\n ** module id = 59\n ** module chunks = 0 1\n **/","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar getDesc = require('./$').getDesc\n , isObject = require('./$.is-object')\n , anObject = require('./$.an-object');\nvar check = function(O, proto){\n anObject(O);\n if(!isObject(proto) && proto !== null)throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function(test, buggy, set){\n try {\n set = require('./$.ctx')(Function.call, getDesc(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch(e){ buggy = true; }\n return function setPrototypeOf(O, proto){\n check(O, proto);\n if(buggy)O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/modules/$.set-proto.js\n ** module id = 60\n ** module chunks = 0 1\n **/","module.exports = { \"default\": require(\"core-js/library/fn/object/create\"), __esModule: true };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/core-js/object/create.js\n ** module id = 61\n ** module chunks = 0 1\n **/","var $ = require('../../modules/$');\nmodule.exports = function create(P, D){\n return $.create(P, D);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/library/fn/object/create.js\n ** module id = 62\n ** module chunks = 0 1\n **/","\"use strict\";\n\nimport Vector2D from \"./vector2d.js\";\n\nclass Entity {\n\n\n constructor (x, y) {\n\n this.pos = new Vector2D(x || 0, y || 0);\n this.velocity = new Vector2D(0, 0);\n this.acceleration = new Vector2D(0, 0);\n\n this.state = {};\n this.children = [];\n\n this._calculatedPos = this.pos.clone();\n this._lastCalculated = 0;\n this._game = null;\n this._parent = null;\n\n this._creationTime = +(new Date());\n\n }\n\n\n setVelocity (x, y) {\n\n if (x instanceof Vector2D) {\n this.velocity = x;\n } else {\n this.velocity.x = x;\n this.velocity.y = y;\n }\n\n }\n\n\n setAcceleration (x, y) {\n\n if (x instanceof Vector2D) {\n this.acceleration = x;\n } else {\n this.acceleration.x = x;\n this.acceleration.y = y;\n }\n\n }\n\n\n createChildEntity () {\n\n let child = new Entity();\n\n child._updateGame(this._game);\n child._parent = this;\n this.children.push(child);\n\n return child;\n\n }\n\n\n addChildEntity (child) {\n\n child._updateGame(this._game);\n child._parent = this;\n this.children.push(child);\n\n return child;\n\n }\n\n\n detachChildEntity (child) {\n\n for (let i = 0; i < this.children.length; i++) {\n if (this.children[i] == child) {\n\n this.children.splice(i, 1);\n return true;\n\n }\n }\n\n return false;\n\n }\n\n\n _preprocess () {\n\n // NK: The purpose of this function is to calculate the true position of the entity relative to all its parents. It does this recursively, calling the _preprocess method all the way back up the tree and continuously adding the results together.\n\n // Note there is a limiter, where the last calculated frame is stored, so that if the position has already been calculated for that node in this particular frame, the cached result is used rather than recalculating.\n\n // When rendering, the draw calls should use this._calculatedPos rather than this.pos in order for the position to be correct.\n\n if (this._game && this._lastCalculated < this._game.frameCounter) {\n\n if (this._parent) {\n\n let parentPos = this._parent._preprocess();\n\n this._calculatedPos.x = this.pos.x + parentPos.x;\n this._calculatedPos.y = this.pos.y + parentPos.y;\n\n } else {\n this._calculatedPos.x = this.pos.x;\n this._calculatedPos.y = this.pos.y;\n }\n\n this._lastCalculated = this._game.frameCounter;\n\n }\n\n return this._calculatedPos;\n\n }\n\n\n _updateGame (game) {\n\n this._game = game;\n\n this.children.forEach((child) => {\n child._updateGame(game);\n });\n\n }\n\n\n _updateEntity (delta) {\n\n if (this.timeToLive) {\n if (+(new Date()) - this._creationTime > this.timeToLive) {\n this._parent.detachChildEntity(this);\n }\n }\n\n // Calculate new position based on velocity and acceleration if there's one set\n if (this.velocity) {\n\n if (this.acceleration) {\n this.velocity.add(this.acceleration);\n }\n\n this.pos.add(this.velocity);\n\n }\n\n // If there's an update method, call it\n let updated = this.update && this.update(delta);\n\n if (updated || (typeof updated == \"undefined\") || (typeof this.update === \"undefined\")) {\n\n this.children.forEach((child) => {\n child._updateEntity(delta);\n });\n\n }\n\n }\n\n\n _renderEntity () {\n\n this._preprocess();\n\n let rendered = this.render && this.render();\n\n if (rendered || (typeof rendered == \"undefined\") || (typeof this.render === \"undefined\")) {\n\n this.children.forEach((child) => {\n child._renderEntity();\n });\n\n }\n\n }\n\n\n}\n\n\nexport default Entity;\n\n\n/** WEBPACK FOOTER **\n ** ./src/classes/entity.js\n **/","\"use strict\";\n\nclass Vector2D {\n\n\n constructor (x, y) {\n this.x = x || 0; this.y = y || 0;\n }\n\n\n invert () {\n this.x = -this.x; this.y = -this.y;\n return this;\n }\n\n\n add (val) {\n\n if (val instanceof Vector2D) {\n this.x += val.x; this.y += val.y;\n } else {\n this.x += val; this.y += val;\n }\n\n return this;\n\n }\n\n\n subtract (val) {\n\n if (val instanceof Vector2D) {\n this.x -= val.x; this.y -= val.y;\n } else {\n this.x -= val; this.y -= val;\n }\n\n return this;\n\n }\n\n\n multiply (val) {\n\n if (val instanceof Vector2D) {\n this.x *= val.x; this.y *= val.y;\n } else {\n this.x *= val; this.y *= val;\n }\n\n return this;\n\n }\n\n\n divide (val) {\n\n if (val instanceof Vector2D) {\n this.x /= val.x; this.y /= val.y;\n } else {\n this.x /= val; this.y /= val;\n }\n\n return this;\n\n }\n\n\n equals (val) {\n return (this.x == val.x && this.y == val.y);\n }\n\n\n dot (val) {\n return (this.x * val.x + this.y * val.y);\n }\n\n\n length () {\n return Math.sqrt(this.dot(this));\n }\n\n\n unit () {\n return this.divide(this.length());\n }\n\n\n min () {\n return Math.min(this.x, this.y);\n }\n\n\n max () {\n return Math.max(this.x, this.y);\n }\n\n\n degrees () {\n return (Math.atan(this.x, this.y) * 180);\n }\n\n\n angle () {\n return Math.atan2(this.x, this.y);\n }\n\n\n toArray () {\n return [this.x, this.y];\n }\n\n\n toString () {\n return `[${this.x}},${this.y}}]`;\n }\n\n\n clone () {\n return new Vector2D(this.x, this.y);\n }\n\n\n static fromAngle (angle, length) {\n return new Vector2D(length * Math.cos(angle), length * Math.sin(angle));\n }\n\n\n}\n\n\nexport default Vector2D;\n\n\n/** WEBPACK FOOTER **\n ** ./src/classes/vector2d.js\n **/","\"use strict\";\n\n\nconst KeyConsts = {\n SPACE: 32,\n BACKSPACE: 8,\n TAB: 9,\n ENTER: 13,\n SHIFT: 16,\n CTRL: 17,\n ALT: 18,\n PAUSE: 19,\n CAPS_LOCK: 20,\n ESCAPE: 27,\n PAGE_UP: 33,\n PAGE_DOWN: 34,\n END: 35,\n HOME: 36,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n INSERT: 45,\n DELETE: 46,\n NUM_0: 48,\n NUM_1: 49,\n NUM_2: 50,\n NUM_3: 51,\n NUM_4: 52,\n NUM_5: 53,\n NUM_6: 54,\n NUM_7: 55,\n NUM_8: 56,\n NUM_9: 57,\n CHAR_A: 65,\n CHAR_B: 66,\n CHAR_C: 67,\n CHAR_D: 68,\n CHAR_E: 69,\n CHAR_F: 70,\n CHAR_G: 71,\n CHAR_H: 72,\n CHAR_I: 73,\n CHAR_J: 74,\n CHAR_K: 75,\n CHAR_L: 76,\n CHAR_M: 77,\n CHAR_N: 78,\n CHAR_O: 79,\n CHAR_P: 80,\n CHAR_Q: 81,\n CHAR_R: 82,\n CHAR_S: 83,\n CHAR_T: 84,\n CHAR_U: 85,\n CHAR_V: 86,\n CHAR_W: 87,\n CHAR_X: 88,\n CHAR_Y: 89,\n CHAR_Z: 90,\n NUM_PAD_0: 96,\n NUM_PAD_1: 97,\n NUM_PAD_2: 98,\n NUM_PAD_3: 99,\n NUM_PAD_4: 100,\n NUM_PAD_5: 101,\n NUM_PAD_6: 102,\n NUM_PAD_7: 103,\n NUM_PAD_8: 104,\n NUM_PAD_9: 105,\n MULTIPLY: 106,\n ADD: 107,\n SUBTRACT: 109,\n DECIMAL: 110,\n DIVIDE: 111,\n F1: 112,\n F2: 113,\n F3: 114,\n F4: 115,\n F5: 116,\n F6: 117,\n F7: 118,\n F8: 119,\n F9: 120,\n F10: 121,\n F11: 122,\n F12: 123,\n SEMICOLON: 186,\n EQUALS: 187,\n COMMA: 188,\n DASH: 189,\n PERIOD: 190,\n FORWARD_SLASH: 191,\n GRAVE: 192,\n OPEN_BRACKET: 219,\n BACK_SLASH: 220,\n CLOSE_BRACKET: 221,\n SINGLE_QUOTE: 222\n};\n\n\nclass KeyboardInput {\n\n\n constructor () {\n\n var self = this;\n self._keyState = {};\n\n window.addEventListener(\"keydown\", (event) => {\n self._keyDownHandler(event);\n }, false);\n\n window.addEventListener(\"keyup\", (event) => {\n self._keyUpHandler(event);\n }, false);\n\n }\n\n\n isPressed (keyCode) {\n return !!this._keyState[keyCode];\n }\n\n\n _keyDownHandler (event) {\n this._keyState[event.keyCode] = true;\n }\n\n\n _keyUpHandler (event) {\n this._keyState[event.keyCode] = false;\n }\n\n\n}\n\n\nexport default KeyboardInput;\nexport {KeyConsts};\n\n\n/** WEBPACK FOOTER **\n ** ./src/classes/keyboardinput.js\n **/","\"use strict\";\n\nimport Entity from \"./entity.js\";\nimport Vector2D from \"./vector2d.js\";\n\n\nclass Emitter extends Entity {\n\n\n constructor (x, y, rate, velocity, particle) {\n\n super(x, y);\n\n this.particleVelocity = velocity;\n this.particleClass = particle;\n\n this.rate = rate;\n this.emitting = false;\n this.spread = Math.PI;\n this._lastEmitTime = this._creationTime;\n this._wasEmitting = false;\n\n this._particles = [];\n\n }\n\n\n setParticleParent (entity) {\n this._particleParent = entity;\n }\n\n\n _emit () {\n\n let ParticleClass = this.particleClass,\n parent = this._particleParent || this._parent;\n\n let angle = this.particleVelocity.angle() + this.spread - (Math.random() * this.spread * 2),\n magnitude = this.particleVelocity.length(),\n velocity = Vector2D.fromAngle(angle, magnitude);\n\n let particle = new ParticleClass(this._calculatedPos.x, this._calculatedPos.y);\n particle.velocity = velocity;\n\n //this._particles.push(particle);\n parent.addChildEntity(particle);\n\n }\n\n\n _triggerEmissions () {\n\n // We prematurely call preprocess so that child particles can spawn from the emitters permission but be children of a different parent\n // NK: This might cause a bug where child renders have an incorrect position because preprocess should normally be called after the update function but before the render, here it is before update. We'll see.\n this._preprocess();\n\n if (this.emitting) {\n\n let currentTime = +(new Date());\n\n if (!this._wasEmitting) {\n this._wasEmitting = true;\n this._lastEmitTime = currentTime;\n }\n\n let emitDelta = currentTime - this._lastEmitTime;\n if (emitDelta > this.rate) {\n\n let emissions = ~~(emitDelta / this.rate);\n\n this._lastEmitTime = currentTime + (emitDelta - (this.rate * emissions));\n\n for (let i = 0; i < emissions; i++) {\n this._emit();\n }\n\n }\n\n } else {\n this._wasEmitting = false;\n }\n\n }\n\n\n update () {\n this._triggerEmissions();\n }\n\n\n}\n\n\nexport default Emitter;\n\n\n/** WEBPACK FOOTER **\n ** ./src/classes/emitter.js\n **/","\"use strict\";\n\nimport Entity from \"./entity.js\";\nimport Vector2D from \"./vector2d.js\";\nimport ImageLoader from \"./imageloader.js\";\n\nimport CollisionMethods from \"../libs/collisionmethods.js\";\n\n\nclass Sprite extends Entity {\n\n\n constructor (x, y, width, height, image) {\n\n if (!image instanceof ImageLoader) {\n throw new Error(\"MomentumEngine.Classes.Sprite must be instantiated with an ImageLoader instance\");\n }\n\n super(x, y);\n\n this.size = new Vector2D(width || 0, height || 0);\n\n this._image = image;\n this._imagePos = new Vector2D(0, 0);\n this._imageSize = new Vector2D(0, 0);\n\n }\n\n\n setImageCoords (x, y, width, height) {\n\n this._imagePos.x = x;\n this._imagePos.y = y;\n this._imageSize.x = width || 0;\n this._imageSize.y = height || 0;\n\n }\n\n\n isReady () {\n return (this._image.isLoaded() && !this._image.isError());\n }\n\n\n render () {\n\n if (this.isReady() && this._game) {\n\n let imageObj = this._image.getImageObj();\n\n let subWidth = imageObj.width - this._imagePos.x,\n subHeight = imageObj.height - this._imagePos.y;\n\n this._game.context.drawImage(\n imageObj,\n this._imagePos.x,\n this._imagePos.y,\n this._imageSize.x || subWidth,\n this._imageSize.y || subHeight,\n this._calculatedPos.x,\n this._calculatedPos.y,\n this.size.x || subWidth,\n this.size.y || subHeight\n );\n\n return true;\n\n } else {\n return false;\n }\n\n }\n\n\n}\n\n\nexport default Sprite;\n\n\n/** WEBPACK FOOTER **\n ** ./src/classes/sprite.js\n **/","\"use strict\";\n\nclass ImageLoader {\n\n\n constructor (src) {\n\n this._loaded = false; // Default is true, set it to false until the image has loaded\n this._error = false; // If the image fails to load, this will contain the reason\n\n this._imageObj = new Image();\n\n this._imageObj.addEventListener(\"load\", () => {\n this._loaded = true;\n this._error = false;\n });\n\n this._imageObj.addEventListener(\"_error\", (err) => {\n this._loaded = false;\n this._error = err;\n });\n\n this._imageObj.src = src;\n\n }\n\n\n getImageObj () {\n\n if (this._loaded) {\n return this._imageObj;\n } else {\n return false;\n }\n\n }\n\n\n isLoaded () {\n return this._loaded;\n }\n\n\n isError () {\n return this._error;\n }\n\n\n}\n\n\nexport default ImageLoader;\n\n\n/** WEBPACK FOOTER **\n ** ./src/classes/imageloader.js\n **/","import Rect from \"../classes/rect.js\";\n\nclass CollisionMethods {\n\n\n static AABB (entity1, entity2) {\n\n if (!entity1 instanceof Rect || !entity2 instanceof Rect) {\n throw new Error(\"AABB collisions can only be checked on these entity types: Rect\");\n }\n\n return (entity1.pos.x < entity2.pos.x + entity2.size.x &&\n entity1.pos.x + entity1.size.x > entity2.pos.x &&\n entity1.pos.y < entity2.pos.y + entity2.size.y &&\n entity1.size.y + entity1.pos.y > entity2.pos.y);\n\n }\n\n\n}\n\n\nexport default CollisionMethods;\n\n\n/** WEBPACK FOOTER **\n ** ./src/libs/collisionmethods.js\n **/","\"use strict\";\n\nimport Entity from \"./entity.js\";\nimport Vector2D from \"./vector2d.js\";\n\nimport CollisionMethods from \"../libs/collisionmethods.js\";\n\n\nclass Rect extends Entity {\n\n\n constructor (x, y, width, height, color) {\n\n super(x, y);\n\n this.size = new Vector2D(width, height);\n this.color = color;\n\n }\n\n\n isCollidingWith (entity) {\n\n if (entity instanceof Rect) {\n return CollisionMethods.AABB(this, entity);\n }\n\n }\n\n\n render () {\n\n if (this._game) {\n\n this._game.context.fillStyle = this.color.toString();\n this._game.context.fillRect(this._calculatedPos.x, this._calculatedPos.y, this.size.x, this.size.y);\n\n return true;\n\n } else {\n return false;\n }\n\n }\n\n\n}\n\n\nexport default Rect;\n\n\n/** WEBPACK FOOTER **\n ** ./src/classes/rect.js\n **/","\"use strict\";\n\nclass Color {\n\n\n constructor (r, g, b, a) {\n\n this.r = r || 0;\n this.g = g || 0;\n this.b = b || 0;\n this.a = a || 1;\n\n }\n\n\n toString () {\n return `rgba(${this.r}, ${this.g}, ${this.b}, ${this.a})`;\n }\n\n\n toHex () {\n return `#${((r << 16) | (g << 8) | b).toString(16)}`;\n }\n\n\n}\n\n\nexport default Color;\n\n\n/** WEBPACK FOOTER **\n ** ./src/classes/color.js\n **/","\"use strict\";\n\nimport Game from \"./classes/game.js\";\nimport Emitter from \"./classes/emitter.js\";\nimport Entity from \"./classes/entity.js\";\nimport Vector2D from \"./classes/vector2d.js\";\nimport Sprite from \"./classes/sprite.js\";\nimport Rect from \"./classes/rect.js\";\nimport Color from \"./classes/color.js\";\nimport ImageLoader from \"./classes/imageloader.js\";\n\nimport {KeyConsts} from \"./classes/keyboardinput.js\";\n\n\nconst Classes = {\n Game: Game,\n Emitter: Emitter,\n Entity: Entity,\n Sprite: Sprite,\n Rect: Rect,\n Vector2D: Vector2D,\n Color: Color,\n ImageLoader: ImageLoader\n};\n\n\nconst Consts = {\n Input: {\n Keys: KeyConsts\n }\n};\n\n\nexport default {\n Classes,\n Consts\n};\n\n\n/** WEBPACK FOOTER **\n ** ./src/es6.js\n **/"],"sourceRoot":""} \ No newline at end of file diff --git a/examples/particles/particles.js b/examples/particles/particles.js index c48ae28..f348124 100644 --- a/examples/particles/particles.js +++ b/examples/particles/particles.js @@ -67,7 +67,7 @@ window.onload = function () { } }; - + emitter.setParticleParent(mainScene); emitter.emitting = true; diff --git a/src/classes/keyboardinput.js b/src/classes/keyboardinput.js index 855382b..902f991 100644 --- a/src/classes/keyboardinput.js +++ b/src/classes/keyboardinput.js @@ -119,7 +119,7 @@ class KeyboardInput { isPressed (keyCode) { - return !!this._keyState[keyCode]; + return !!this._keyState[keyCode]; }