From ae48ce9de2e439cbe5179e2ccaa2e17e443f725d Mon Sep 17 00:00:00 2001 From: Nathan Kunicki Date: Mon, 21 Dec 2015 16:40:40 +0000 Subject: [PATCH] Committed dists --- dist/es5.js | 2 ++ dist/es5.js.map | 1 + src/libs/collisionmethods.js | 1 - 3 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 dist/es5.js create mode 100644 dist/es5.js.map diff --git a/dist/es5.js b/dist/es5.js new file mode 100644 index 0000000..267ee87 --- /dev/null +++ b/dist/es5.js @@ -0,0 +1,2 @@ +!function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return t[r].call(i.exports,i,i.exports,e),i.loaded=!0,i.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}var i=n(1),o=r(i),u=n(51),a=r(u),s=n(52),c=r(s),f=n(54),l=r(f),d=n(56),h=r(d),y=n(53),_={Game:o["default"],Entity:a["default"],Rect:l["default"],Vector2D:c["default"],Color:h["default"]},p={Input:{Keys:y.KeyConsts}};window.MomentumEngine={Classes:_,Consts:p}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),o=r(i),u=n(14),a=r(u),s=n(15),c=r(s),f=n(19),l=r(f),d=n(44),h=r(d),y=n(51),_=r(y),p=n(53),v=r(p),m=function(t){function e(t){(0,a["default"])(this,e);var n=(0,l["default"])(this,(0,o["default"])(e).call(this));if(t=t||{},t.inputs=t.inputs||{},!t.canvas)throw new Error("MomentumEngine.Game must be constructed with a canvas");if(n.canvas=t.canvas,!t.width)throw new Error("MomentumEngine.Game must be constructed with canvas width");if(n.width=t.width,!t.height)throw new Error("MomentumEngine.Game must be constructed with canvas height");if(n.height=t.height,n.desiredFps=t.desiredFps||60,t.fixRatio){var r=window.devicePixelRatio,i=0;"undefined"!=typeof ejecta?i=1:(n.context=n.canvas.getContext("2d"),i=n.context.webkitBackingStorePixelRatio||n.context.mozBackingStorePixelRatio||n.context.msBackingStorePixelRatio||n.context.oBackingStorePixelRatio||n.context.backingStorePixelRatio||1),n.scale=r/i,n.canvas.width=n.width*n.scale,n.canvas.height=n.height*n.scale,n.canvas.style.width=n.width+"px",n.canvas.style.height=n.height+"px","undefined"!=typeof ejecta&&(n.context=n.canvas.getContext("2d")),n.context.scale(r,r)}else n.canvas.width=n.width,n.canvas.height=n.height,n.context=n.canvas.getContext("2d");return"undefined"!=typeof n.context.imageSmoothingEnabled&&(n.context.imageSmoothingEnabled=t.imageSmoothing||!1),n.lastFrameDelta=0,n.frameCounter=0,n.inputs={},t.inputs.keyboard&&(n.inputs.keyboard=new v["default"](n)),n._game=n,n._lastFrameTimestamp=0,n._wantPause=!0,n}return(0,h["default"])(e,t),(0,c["default"])(e,[{key:"start",value:function(){var t=this;if(!t._wantPause)return console.log("MomentumEngine.Game.start called, game instance is already started"),!1;t._wantPause=!1,t._wantPause=!1;var e=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(e){window.setTimeout(e,1e3/t.desiredFps)}}();t._lastFrameTimestamp=+new Date;var n=function r(){t.frameCounter++;var n=+new Date;t.lastFrameDelta=n-t._lastFrameTimestamp,t._lastFrameTimestamp=n,t.lastFrameDelta=Math.min(t.lastFrameDelta,1e3/t.desiredFps),t._wantPause||(t._updateEntity.bind(t),t._updateEntity(),t._renderEntity.bind(t),t._renderEntity(),e(r))};return n(),!0}},{key:"pause",value:function(){return this._wantPause?(console.log("MomentumEngine.Game.pause called, game instance is already paused"),!1):(this._wantPause=!0,!0)}}]),e}(_["default"]);e["default"]=m},function(t,e,n){t.exports={"default":n(3),__esModule:!0}},function(t,e,n){n(4),t.exports=n(10).Object.getPrototypeOf},function(t,e,n){var r=n(5);n(7)("getPrototypeOf",function(t){return function(e){return t(r(e))}})},function(t,e,n){var r=n(6);t.exports=function(t){return Object(r(t))}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,n){var r=n(8),i=n(10),o=n(13);t.exports=function(t,e){var n=(i.Object||{})[t]||Object[t],u={};u[t]=e(n),r(r.S+r.F*o(function(){n(1)}),"Object",u)}},function(t,e,n){var r=n(9),i=n(10),o=n(11),u="prototype",a=function(t,e,n){var s,c,f,l=t&a.F,d=t&a.G,h=t&a.S,y=t&a.P,_=t&a.B,p=t&a.W,v=d?i:i[e]||(i[e]={}),m=d?r:h?r[e]:(r[e]||{})[u];d&&(n=e);for(s in n)c=!l&&m&&s in m,c&&s in v||(f=c?m[s]:n[s],v[s]=d&&"function"!=typeof m[s]?n[s]:_&&c?o(f,r):p&&m[s]==f?function(t){var e=function(e){return this instanceof t?new t(e):t(e)};return e[u]=t[u],e}(f):y&&"function"==typeof f?o(Function.call,f):f,y&&((v[u]||(v[u]={}))[s]=f))};a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,t.exports=a},function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e){var n=t.exports={version:"1.2.6"};"number"==typeof __e&&(__e=n)},function(t,e,n){var r=n(12);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},function(t,e){"use strict";e.__esModule=!0,e["default"]=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}e.__esModule=!0;var i=n(16),o=r(i);e["default"]=function(){function t(t,e){for(var n=0;ni;)U(t,n=r[i++],e[n]);return t},G=function(t,e){return void 0===e?P(t):B(P(t),e)},L=function(t){var e=O.call(this,t);return e||!o(this,t)||!o(D,t)||o(this,k)&&this[k][t]?e:!0},I=function(t,e){var n=b(t=g(t),e);return!n||!o(D,e)||o(t,k)&&t[k][e]||(n.enumerable=!0),n},K=function(t){for(var e,n=A(g(t)),r=[],i=0;n.length>i;)o(D,e=n[i++])||e==k||r.push(e);return r},z=function(t){for(var e,n=A(g(t)),r=[],i=0;n.length>i;)o(D,e=n[i++])&&r.push(D[e]);return r},W=function(t){if(void 0!==t&&!T(t)){for(var e,n,r=[t],i=1,o=arguments;o.length>i;)r.push(o[i++]);return e=r[1],"function"==typeof e&&(n=e),(n||!v(e))&&(e=function(t,e){return n&&(e=n.call(this,t,e)),T(e)?void 0:e}),r[1]=e,S.apply(M,r)}},q=c(function(){var t=E();return"[null]"!=S([t])||"{}"!=S({a:t})||"{}"!=S(Object(t))});F||(E=function(){if(T(this))throw TypeError("Symbol is not a constructor");return j(d(arguments.length>0?arguments[0]:void 0))},s(E.prototype,"toString",function(){return this._k}),T=function(t){return t instanceof E},r.create=G,r.isEnum=L,r.getDesc=I,r.setDesc=U,r.setDescs=B,r.getNames=_.get=K,r.getSymbols=z,u&&!n(42)&&s(N,"propertyIsEnumerable",L,!0));var J={"for":function(t){return o(R,t+="")?R[t]:R[t]=E(t)},keyFor:function(t){return y(R,t)},useSetter:function(){C=!0},useSimple:function(){C=!1}};r.each.call("hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),function(t){var e=h(t);J[t]=F?e:j(e)}),C=!0,a(a.G+a.W,{Symbol:E}),a(a.S,"Symbol",J),a(a.S+a.F*!F,"Object",{create:G,defineProperty:U,defineProperties:B,getOwnPropertyDescriptor:I,getOwnPropertyNames:K,getOwnPropertySymbols:z}),M&&a(a.S+a.F*(!F||q),"JSON",{stringify:W}),l(E,"Symbol"),l(Math,"Math",!0),l(i.JSON,"JSON",!0)},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){t.exports=!n(13)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e,n){t.exports=n(27)},function(t,e,n){var r=n(18),i=n(28);t.exports=n(25)?function(t,e,n){return r.setDesc(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var r=n(9),i="__core-js_shared__",o=r[i]||(r[i]={});t.exports=function(t){return o[t]||(o[t]={})}},function(t,e,n){var r=n(18).setDesc,i=n(24),o=n(31)("toStringTag");t.exports=function(t,e,n){t&&!i(t=n?t:t.prototype,o)&&r(t,o,{configurable:!0,value:e})}},function(t,e,n){var r=n(29)("wks"),i=n(32),o=n(9).Symbol;t.exports=function(t){return r[t]||(r[t]=o&&o[t]||(o||i)("Symbol."+t))}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},function(t,e,n){var r=n(18),i=n(34);t.exports=function(t,e){for(var n,o=i(t),u=r.getKeys(o),a=u.length,s=0;a>s;)if(o[n=u[s++]]===e)return n}},function(t,e,n){var r=n(35),i=n(6);t.exports=function(t){return r(i(t))}},function(t,e,n){var r=n(36);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,n){var r=n(34),i=n(18).getNames,o={}.toString,u="object"==typeof window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],a=function(t){try{return i(t)}catch(e){return u.slice()}};t.exports.get=function(t){return u&&"[object Window]"==o.call(t)?a(t):i(r(t))}},function(t,e,n){var r=n(18);t.exports=function(t){var e=r.getKeys(t),n=r.getSymbols;if(n)for(var i,o=n(t),u=r.isEnum,a=0;o.length>a;)u.call(t,i=o[a++])&&e.push(i);return e}},function(t,e,n){var r=n(36);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e,n){var r=n(41);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e){t.exports=!0},function(t,e){},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}e.__esModule=!0;var i=n(45),o=r(i),u=n(49),a=r(u),s=n(20),c=r(s);e["default"]=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof e?"undefined":(0,c["default"])(e)));t.prototype=(0,a["default"])(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(o["default"]?(0,o["default"])(t,e):t.__proto__=e)}},function(t,e,n){t.exports={"default":n(46),__esModule:!0}},function(t,e,n){n(47),t.exports=n(10).Object.setPrototypeOf},function(t,e,n){var r=n(8);r(r.S,"Object",{setPrototypeOf:n(48).set})},function(t,e,n){var r=n(18).getDesc,i=n(41),o=n(40),u=function(t,e){if(o(t),!i(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,i){try{i=n(11)(Function.call,r(Object.prototype,"__proto__").set,2),i(t,[]),e=!(t instanceof Array)}catch(o){e=!0}return function(t,n){return u(t,n),e?t.__proto__=n:i(t,n),t}}({},!1):void 0),check:u}},function(t,e,n){t.exports={"default":n(50),__esModule:!0}},function(t,e,n){var r=n(18);t.exports=function(t,e){return r.create(t,e)}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(14),o=r(i),u=n(15),a=r(u),s=n(52),c=r(s),f=function(){function t(e,n){(0,o["default"])(this,t),this.pos=new c["default"](e||0,n||0),this.state={},this.children=[],this._calculatedPos=this.pos.clone(),this._lastCalculated=0,this._game=null,this._parent=null}return(0,a["default"])(t,[{key:"createChildEntity",value:function(){var e=new t;return e._updateGame(this._game),e._parent=this,this.children.push(e),e}},{key:"addChildEntity",value:function(t){return t._updateGame(this._game),t._parent=this,this.children.push(t),t}},{key:"detachChildEntity",value:function(t){}},{key:"_recalculatePos",value:function(){if(this._game&&this._lastCalculatede.pos.x&&t.pos.ye.pos.y}}]),t}();e["default"]=f},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{"default":t}}Object.defineProperty(e,"__esModule",{value:!0});var o=n(14),u=i(o),a=n(15),s=i(a),c=function(){function t(e,n,r,i){(0,u["default"])(this,t),this.r=e||0,this.g=n||0,this.b=r||0,this.a=i||1}return(0,s["default"])(t,[{key:"toString",value:function(){return"rgba("+this.r+", "+this.g+", "+this.b+", "+this.a+")"}},{key:"toHex",value:function(){return"#"+(r<<16|g<<8|b).toString(16)}}]),t}();e["default"]=c}]); +//# sourceMappingURL=es5.js.map \ No newline at end of file diff --git a/dist/es5.js.map b/dist/es5.js.map new file mode 100644 index 0000000..53a546c --- /dev/null +++ b/dist/es5.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///es5.js","webpack:///webpack/bootstrap aca3eac3faf20cb34c79","webpack:///./src/es5.js","webpack:///./src/classes/game.js","webpack:///./~/babel-runtime/core-js/object/get-prototype-of.js","webpack:///./~/babel-runtime/~/core-js/library/fn/object/get-prototype-of.js","webpack:///./~/babel-runtime/~/core-js/library/modules/es6.object.get-prototype-of.js","webpack:///./~/babel-runtime/~/core-js/library/modules/$.to-object.js","webpack:///./~/babel-runtime/~/core-js/library/modules/$.defined.js","webpack:///./~/babel-runtime/~/core-js/library/modules/$.object-sap.js","webpack:///./~/babel-runtime/~/core-js/library/modules/$.export.js","webpack:///./~/babel-runtime/~/core-js/library/modules/$.global.js","webpack:///./~/babel-runtime/~/core-js/library/modules/$.core.js","webpack:///./~/babel-runtime/~/core-js/library/modules/$.ctx.js","webpack:///./~/babel-runtime/~/core-js/library/modules/$.a-function.js","webpack:///./~/babel-runtime/~/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:///./~/babel-runtime/~/core-js/library/fn/object/define-property.js","webpack:///./~/babel-runtime/~/core-js/library/modules/$.js","webpack:///./~/babel-runtime/helpers/possibleConstructorReturn.js","webpack:///./~/babel-runtime/helpers/typeof.js","webpack:///./~/babel-runtime/core-js/symbol.js","webpack:///./~/babel-runtime/~/core-js/library/fn/symbol/index.js","webpack:///./~/babel-runtime/~/core-js/library/modules/es6.symbol.js","webpack:///./~/babel-runtime/~/core-js/library/modules/$.has.js","webpack:///./~/babel-runtime/~/core-js/library/modules/$.descriptors.js","webpack:///./~/babel-runtime/~/core-js/library/modules/$.redefine.js","webpack:///./~/babel-runtime/~/core-js/library/modules/$.hide.js","webpack:///./~/babel-runtime/~/core-js/library/modules/$.property-desc.js","webpack:///./~/babel-runtime/~/core-js/library/modules/$.shared.js","webpack:///./~/babel-runtime/~/core-js/library/modules/$.set-to-string-tag.js","webpack:///./~/babel-runtime/~/core-js/library/modules/$.wks.js","webpack:///./~/babel-runtime/~/core-js/library/modules/$.uid.js","webpack:///./~/babel-runtime/~/core-js/library/modules/$.keyof.js","webpack:///./~/babel-runtime/~/core-js/library/modules/$.to-iobject.js","webpack:///./~/babel-runtime/~/core-js/library/modules/$.iobject.js","webpack:///./~/babel-runtime/~/core-js/library/modules/$.cof.js","webpack:///./~/babel-runtime/~/core-js/library/modules/$.get-names.js","webpack:///./~/babel-runtime/~/core-js/library/modules/$.enum-keys.js","webpack:///./~/babel-runtime/~/core-js/library/modules/$.is-array.js","webpack:///./~/babel-runtime/~/core-js/library/modules/$.an-object.js","webpack:///./~/babel-runtime/~/core-js/library/modules/$.is-object.js","webpack:///./~/babel-runtime/~/core-js/library/modules/$.library.js","webpack:///./~/babel-runtime/helpers/inherits.js","webpack:///./~/babel-runtime/core-js/object/set-prototype-of.js","webpack:///./~/babel-runtime/~/core-js/library/fn/object/set-prototype-of.js","webpack:///./~/babel-runtime/~/core-js/library/modules/es6.object.set-prototype-of.js","webpack:///./~/babel-runtime/~/core-js/library/modules/$.set-proto.js","webpack:///./~/babel-runtime/core-js/object/create.js","webpack:///./~/babel-runtime/~/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/rect.js","webpack:///./src/libs/collisionmethods.js","webpack:///./src/classes/color.js"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","id","loaded","call","m","c","p","_interopRequireDefault","obj","__esModule","default","_game","_game2","_entity","_entity2","_vector2d","_vector2d2","_rect","_rect2","_color","_color2","_keyboardinput","Classes","Game","Entity","Rect","Vector2D","Color","Consts","Input","Keys","KeyConsts","window","MomentumEngine","Object","defineProperty","value","_getPrototypeOf","_getPrototypeOf2","_classCallCheck2","_classCallCheck3","_createClass2","_createClass3","_possibleConstructorReturn2","_possibleConstructorReturn3","_inherits2","_inherits3","_keyboardinput2","_Entity","config","this","_this","inputs","canvas","Error","width","height","desiredFps","fixRatio","deviceRatio","devicePixelRatio","backingStoreRatio","ejecta","context","getContext","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","scale","style","imageSmoothingEnabled","imageSmoothing","lastFrameDelta","frameCounter","keyboard","_lastFrameTimestamp","_wantPause","key","self","console","log","requestFrame","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","callback","setTimeout","Date","loop","currentTimestamp","Math","min","_updateEntity","bind","_renderEntity","getPrototypeOf","toObject","$getPrototypeOf","it","defined","undefined","TypeError","$export","core","fails","KEY","exec","fn","exp","S","F","global","ctx","PROTOTYPE","type","name","source","own","out","IS_FORCED","IS_GLOBAL","G","IS_STATIC","IS_PROTO","P","IS_BIND","B","IS_WRAP","W","target","C","param","Function","__g","version","__e","aFunction","that","length","a","b","apply","arguments","e","instance","Constructor","_defineProperty","_defineProperty2","defineProperties","props","i","descriptor","enumerable","configurable","writable","protoProps","staticProps","prototype","$","desc","setDesc","$Object","create","getProto","isEnum","propertyIsEnumerable","getDesc","getOwnPropertyDescriptor","setDescs","getKeys","keys","getNames","getOwnPropertyNames","getSymbols","getOwnPropertySymbols","each","forEach","_typeof2","_typeof3","ReferenceError","_typeof","_Symbol","constructor","_symbol","_symbol2","Symbol","has","DESCRIPTORS","redefine","$fails","shared","setToStringTag","uid","wks","keyOf","$names","enumKeys","isArray","anObject","toIObject","createDesc","_create","get","$Symbol","$JSON","JSON","_stringify","stringify","setter","HIDDEN","SymbolRegistry","AllSymbols","useNative","ObjectProto","setSymbolDesc","D","protoDesc","wrap","tag","sym","_k","set","isSymbol","$defineProperty","$defineProperties","l","$create","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","names","result","push","$getOwnPropertySymbols","$stringify","replacer","$replacer","args","$$","buggyJSON","symbolStatics","for","keyFor","useSetter","useSimple","split","hasOwnProperty","object","bitmap","SHARED","store","def","TAG","stat","px","random","concat","toString","el","O","index","IObject","cof","slice","windowNames","getWindowNames","symbols","Array","arg","isObject","_setPrototypeOf","_setPrototypeOf2","_create2","subClass","superClass","__proto__","setPrototypeOf","check","proto","test","buggy","x","y","pos","state","children","_calculatedPos","clone","_lastCalculated","_parent","child","_updateGame","entity","parentPos","_recalculatePos","game","update","render","val","sqrt","dot","divide","max","atan","SPACE","BACKSPACE","TAB","ENTER","SHIFT","CTRL","ALT","PAUSE","CAPS_LOCK","ESCAPE","PAGE_UP","PAGE_DOWN","END","HOME","LEFT","UP","RIGHT","DOWN","INSERT","DELETE","NUM_0","NUM_1","NUM_2","NUM_3","NUM_4","NUM_5","NUM_6","NUM_7","NUM_8","NUM_9","CHAR_A","CHAR_B","CHAR_C","CHAR_D","CHAR_E","CHAR_F","CHAR_G","CHAR_H","CHAR_I","CHAR_J","CHAR_K","CHAR_L","CHAR_M","CHAR_N","CHAR_O","CHAR_P","CHAR_Q","CHAR_R","CHAR_S","CHAR_T","CHAR_U","CHAR_V","CHAR_W","CHAR_X","CHAR_Y","CHAR_Z","NUM_PAD_0","NUM_PAD_1","NUM_PAD_2","NUM_PAD_3","NUM_PAD_4","NUM_PAD_5","NUM_PAD_6","NUM_PAD_7","NUM_PAD_8","NUM_PAD_9","MULTIPLY","ADD","SUBTRACT","DECIMAL","DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","SEMICOLON","EQUALS","COMMA","DASH","PERIOD","FORWARD_SLASH","GRAVE","OPEN_BRACKET","BACK_SLASH","CLOSE_BRACKET","SINGLE_QUOTE","KeyboardInput","_keyState","addEventListener","event","_keyDownHandler","_keyUpHandler","keyCode","_collisionmethods","_collisionmethods2","color","size","AABB","fillStyle","fillRect","CollisionMethods","entity1","entity2","r","g"],"mappings":"CAAS,SAAUA,GCInB,QAAAC,GAAAC,GAGA,GAAAC,EAAAD,GACA,MAAAC,GAAAD,GAAAE,OAGA,IAAAC,GAAAF,EAAAD,IACAE,WACAE,GAAAJ,EACAK,QAAA,EAUA,OANAP,GAAAE,GAAAM,KAAAH,EAAAD,QAAAC,IAAAD,QAAAH,GAGAI,EAAAE,QAAA,EAGAF,EAAAD,QAvBA,GAAAD,KAqCA,OATAF,GAAAQ,EAAAT,EAGAC,EAAAS,EAAAP,EAGAF,EAAAU,EAAA,GAGAV,EAAA,KDMM,SAASI,EAAQD,EAASH,GE5ChC,YFsEC,SAASW,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,UAASF,GAtBvF,GAAIG,GAAQf,EAAoB,GAE5BgB,EAASL,EAAuBI,GAEhCE,EAAUjB,EAAoB,IAE9BkB,EAAWP,EAAuBM,GAElCE,EAAYnB,EAAoB,IAEhCoB,EAAaT,EAAuBQ,GAEpCE,EAAQrB,EAAoB,IAE5BsB,EAASX,EAAuBU,GAEhCE,EAASvB,EAAoB,IAE7BwB,EAAUb,EAAuBY,GAEjCE,EAAiBzB,EAAoB,IEzDpC0B,GACFC,KAAIX,aACJY,OAAMV,aACNW,KAAIP,aACJQ,SAAQV,aACRW,MAAKP,cAIHQ,GACFC,OACIC,KAAIT,EAdJU,WAmBRC,QAAOC,gBACHX,QAASA,EACTM,OAAQA,IFgEN,SAAS5B,EAAQD,EAASH,GG7FhC,YHiIC,SAASW,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,UAASF,GAhCvF0B,OAAOC,eAAepC,EAAS,cAC3BqC,OAAO,GAGX,IAAIC,GAAkBzC,EAAoB,GAEtC0C,EAAmB/B,EAAuB8B,GAE1CE,EAAmB3C,EAAoB,IAEvC4C,EAAmBjC,EAAuBgC,GAE1CE,EAAgB7C,EAAoB,IAEpC8C,EAAgBnC,EAAuBkC,GAEvCE,EAA8B/C,EAAoB,IAElDgD,EAA8BrC,EAAuBoC,GAErDE,EAAajD,EAAoB,IAEjCkD,EAAavC,EAAuBsC,GAEpChC,EAAUjB,EAAoB,IAE9BkB,EAAWP,EAAuBM,GAElCQ,EAAiBzB,EAAoB,IAErCmD,EAAkBxC,EAAuBc,GG1HxCE,EAAI,SAAAyB,GAGN,QAHEzB,GAGW0B,IH+HP,EAAGT,cAA0BU,KGlIjC3B,EHqIG,IAAI4B,IAAS,EAAGP,cAAqCM,MAAO,EAAGZ,cGrIlEf,GAAIpB,KAAA+C,MAWF,IALAD,EAASA,MACTA,EAAOG,OAASH,EAAOG,YAInBH,EAAOI,OAGP,KAAM,IAAIC,OAAM,wDAGpB,IALIH,EAAKE,OAASJ,EAAOI,QAKrBJ,EAAOM,MAGP,KAAM,IAAID,OAAM,4DAGpB,IALIH,EAAKI,MAAQN,EAAOM,OAKpBN,EAAOO,OAGP,KAAM,IAAIF,OAAM,6DAOpB,IATIH,EAAKK,OAASP,EAAOO,OAOzBL,EAAKM,WAAaR,EAAOQ,YAAc,GAEnCR,EAAOS,SAAU,CAEjB,GAAIC,GAAc3B,OAAO4B,iBACrBC,EAAoB,CAGF,oBAAXC,QACPD,EAAoB,GAGpBV,EAAKY,QAAUZ,EAAKE,OAAOW,WAAW,MAEtCH,EAAoBV,EAAKY,QAAQE,8BAC7Bd,EAAKY,QAAQG,2BACbf,EAAKY,QAAQI,0BACbhB,EAAKY,QAAQK,yBACbjB,EAAKY,QAAQM,wBAA0B,GAI/ClB,EAAKmB,MAAQX,EAAcE,EAE3BV,EAAKE,OAAOE,MAAQJ,EAAKI,MAAQJ,EAAKmB,MACtCnB,EAAKE,OAAOG,OAASL,EAAKK,OAASL,EAAKmB,MAExCnB,EAAKE,OAAOkB,MAAMhB,MAAQJ,EAAKI,MAAQ,KACvCJ,EAAKE,OAAOkB,MAAMf,OAASL,EAAKK,OAAS,KAGnB,mBAAXM,UACPX,EAAKY,QAAUZ,EAAKE,OAAOW,WAAW,OAG1Cb,EAAKY,QAAQO,MAAMX,EAAaA,OAIhCR,GAAKE,OAAOE,MAAQJ,EAAKI,MACzBJ,EAAKE,OAAOG,OAASL,EAAKK,OAE1BL,EAAKY,QAAUZ,EAAKE,OAAOW,WAAW,KH6IzC,OGzIiD,mBAAvCb,GAAKY,QAAQS,wBACpBrB,EAAKY,QAAQS,sBAAwBvB,EAAOwB,iBAAkB,GAKlEtB,EAAKuB,eAAiB,EACtBvB,EAAKwB,aAAe,EAEpBxB,EAAKC,UACDH,EAAOG,OAAOwB,WACdzB,EAAKC,OAAOwB,SAAW,GAAA7B,cAAAI,IAG3BA,EAAKxC,MAAKwC,EACVA,EAAK0B,oBAAsB,EAC3B1B,EAAK2B,YAAa,EHyHV3B,EAmEX,OA1JC,EAAGL,cG/HHvB,EAAIyB,IHyNJ,EAAGN,cGzNHnB,IH0NGwD,IAAK,QACL3C,MAAO,WGvHR,GAAI4C,GAAO9B,IAEX,KAAI8B,EAAKF,WAIL,MADAG,SAAQC,IAAI,uEACL,CAHPF,GAAKF,YAAa,EAMtBE,EAAKF,YAAa,CAElB,IAAIK,GAAe,WAEf,MAAQnD,QAAOoD,uBACXpD,OAAOqD,6BACPrD,OAAOsD,0BACP,SAAUC,GACNvD,OAAOwD,WAAWD,EAAU,IAAOP,EAAKvB,eAKpDuB,GAAKH,qBAAwB,GAAIY,KAEjC,IAAIC,GAAO,QAAPA,KAEAV,EAAKL,cAEL,IAAIgB,IAAqB,GAAIF,KAE7BT,GAAKN,eAAiBiB,EAAmBX,EAAKH,oBAC9CG,EAAKH,oBAAsBc,EAE3BX,EAAKN,eAAiBkB,KAAKC,IAAIb,EAAKN,eAAgB,IAAOM,EAAKvB,YAE5DuB,EAAKF,aAITE,EAAKc,cAAcC,KAAKf,GACxBA,EAAKc,gBAELd,EAAKgB,cAAcD,KAAKf,GACxBA,EAAKgB,gBAELb,EAAaO,IAKjB,OADAA,MACO,KHuHNX,IAAK,QACL3C,MAAO,WGjHR,MAAKc,MAAK4B,YAING,QAAQC,IAAI,sEACL,IAJPhC,KAAK4B,YAAa,GACX,OA/JbvD,GH0RFT,aAEHf,cGlHcwB,GHsHT,SAASvB,EAAQD,EAASH,GIrShCI,EAAAD,SAAkBW,UAAAd,EAAA,GAAAa,YAAA,IJ2SZ,SAAST,EAAQD,EAASH,GK3ShCA,EAAA,GACAI,EAAAD,QAAAH,EAAA,IAAAsC,OAAA+D,gBLiTM,SAASjG,EAAQD,EAASH,GMjThC,GAAAsG,GAAAtG,EAAA,EAEAA,GAAA,6BAAAuG,GACA,gBAAAC,GACA,MAAAD,GAAAD,EAAAE,QN0TM,SAASpG,EAAQD,EAASH,GO9ThC,GAAAyG,GAAAzG,EAAA,EACAI,GAAAD,QAAA,SAAAqG,GACA,MAAAlE,QAAAmE,EAAAD,MPsUM,SAASpG,EAAQD,GQxUvBC,EAAAD,QAAA,SAAAqG,GACA,GAAAE,QAAAF,EAAA,KAAAG,WAAA,yBAAAH,EACA,OAAAA,KRgVM,SAASpG,EAAQD,EAASH,GSlVhC,GAAA4G,GAAA5G,EAAA,GACA6G,EAAA7G,EAAA,IACA8G,EAAA9G,EAAA,GACAI,GAAAD,QAAA,SAAA4G,EAAAC,GACA,GAAAC,IAAAJ,EAAAvE,YAA8ByE,IAAAzE,OAAAyE,GAC9BG,IACAA,GAAAH,GAAAC,EAAAC,GACAL,IAAAO,EAAAP,EAAAQ,EAAAN,EAAA,WAAmDG,EAAA,KAAS,SAAAC,KT0VtD,SAAS9G,EAAQD,EAASH,GUlWhC,GAAAqH,GAAArH,EAAA,GACA6G,EAAA7G,EAAA,IACAsH,EAAAtH,EAAA,IACAuH,EAAA,YAEAX,EAAA,SAAAY,EAAAC,EAAAC,GACA,GAQAvC,GAAAwC,EAAAC,EARAC,EAAAL,EAAAZ,EAAAQ,EACAU,EAAAN,EAAAZ,EAAAmB,EACAC,EAAAR,EAAAZ,EAAAO,EACAc,EAAAT,EAAAZ,EAAAsB,EACAC,EAAAX,EAAAZ,EAAAwB,EACAC,EAAAb,EAAAZ,EAAA0B,EACAnI,EAAA2H,EAAAjB,IAAAY,KAAAZ,EAAAY,OACAc,EAAAT,EAAAT,EAAAW,EAAAX,EAAAI,IAAAJ,EAAAI,QAAqFF,EAErFO,KAAAJ,EAAAD,EACA,KAAAtC,IAAAuC,GAEAC,GAAAE,GAAAU,GAAApD,IAAAoD,GACAZ,GAAAxC,IAAAhF,KAEAyH,EAAAD,EAAAY,EAAApD,GAAAuC,EAAAvC,GAEAhF,EAAAgF,GAAA2C,GAAA,kBAAAS,GAAApD,GAAAuC,EAAAvC,GAEAgD,GAAAR,EAAAL,EAAAM,EAAAP,GAEAgB,GAAAE,EAAApD,IAAAyC,EAAA,SAAAY,GACA,GAAApB,GAAA,SAAAqB,GACA,MAAAnF,gBAAAkF,GAAA,GAAAA,GAAAC,GAAAD,EAAAC,GAGA,OADArB,GAAAG,GAAAiB,EAAAjB,GACAH,GAEKQ,GAAAK,GAAA,kBAAAL,GAAAN,EAAAoB,SAAAnI,KAAAqH,KACLK,KAAA9H,EAAAoH,KAAApH,EAAAoH,QAA+DpC,GAAAyC,IAI/DhB,GAAAQ,EAAA,EACAR,EAAAmB,EAAA,EACAnB,EAAAO,EAAA,EACAP,EAAAsB,EAAA,EACAtB,EAAAwB,EAAA,GACAxB,EAAA0B,EAAA,GACAlI,EAAAD,QAAAyG,GVwWM,SAASxG,EAAQD,GWpZvB,GAAAkH,GAAAjH,EAAAD,QAAA,mBAAAiC,gBAAA4D,WACA5D,OAAA,mBAAAgD,YAAAY,WAAAZ,KAAAsD,SAAA,gBACA,iBAAAC,WAAAtB,IX2ZM,SAASjH,EAAQD,GY9ZvB,GAAA0G,GAAAzG,EAAAD,SAA6ByI,QAAA,QAC7B,iBAAAC,WAAAhC,IZoaM,SAASzG,EAAQD,EAASH,GapahC,GAAA8I,GAAA9I,EAAA,GACAI,GAAAD,QAAA,SAAA8G,EAAA8B,EAAAC,GAEA,GADAF,EAAA7B,GACAP,SAAAqC,EAAA,MAAA9B,EACA,QAAA+B,GACA,uBAAAC,GACA,MAAAhC,GAAA1G,KAAAwI,EAAAE,GAEA,wBAAAA,EAAAC,GACA,MAAAjC,GAAA1G,KAAAwI,EAAAE,EAAAC,GAEA,wBAAAD,EAAAC,EAAAzI,GACA,MAAAwG,GAAA1G,KAAAwI,EAAAE,EAAAC,EAAAzI,IAGA,kBACA,MAAAwG,GAAAkC,MAAAJ,EAAAK,cb6aM,SAAShJ,EAAQD,Gc9bvBC,EAAAD,QAAA,SAAAqG,GACA,qBAAAA,GAAA,KAAAG,WAAAH,EAAA,sBACA,OAAAA,KdqcM,SAASpG,EAAQD,GevcvBC,EAAAD,QAAA,SAAA6G,GACA,IACA,QAAAA,IACG,MAAAqC,GACH,Yf+cM,SAASjJ,EAAQD,GgBndvB,YAEAA,GAAAU,YAAA,EAEAV,aAAA,SAAAmJ,EAAAC,GACA,KAAAD,YAAAC,IACA,SAAA5C,WAAA,uChB2dM,SAASvG,EAAQD,EAASH,GiBjehC,YAQA,SAAAW,GAAAC,GAAsC,MAAAA,MAAAC,WAAAD,GAAuCE,UAAAF,GAN7ET,EAAAU,YAAA,CAEA,IAAA2I,GAAAxJ,EAAA,IAEAyJ,EAAA9I,EAAA6I,EAIArJ,cAAA,WACA,QAAAuJ,GAAAnB,EAAAoB,GACA,OAAAC,GAAA,EAAmBA,EAAAD,EAAAX,OAAkBY,IAAA,CACrC,GAAAC,GAAAF,EAAAC,EACAC,GAAAC,WAAAD,EAAAC,aAAA,EACAD,EAAAE,cAAA,EACA,SAAAF,OAAAG,UAAA,IACA,EAAAP,cAAAlB,EAAAsB,EAAA1E,IAAA0E,IAIA,gBAAAN,EAAAU,EAAAC,GAGA,MAFAD,IAAAP,EAAAH,EAAAY,UAAAF,GACAC,GAAAR,EAAAH,EAAAW,GACAX,OjByeM,SAASnJ,EAAQD,EAASH,GkBjgBhCI,EAAAD,SAAkBW,UAAAd,EAAA,IAAAa,YAAA,IlBugBZ,SAAST,EAAQD,EAASH,GmBvgBhC,GAAAoK,GAAApK,EAAA,GACAI,GAAAD,QAAA,SAAAqG,EAAArB,EAAAkF,GACA,MAAAD,GAAAE,QAAA9D,EAAArB,EAAAkF,KnB8gBM,SAASjK,EAAQD,GoBhhBvB,GAAAoK,GAAAjI,MACAlC,GAAAD,SACAqK,OAAAD,EAAAC,OACAC,SAAAF,EAAAlE,eACAqE,UAAgBC,qBAChBC,QAAAL,EAAAM,yBACAP,QAAAC,EAAAhI,eACAuI,SAAAP,EAAAb,iBACAqB,QAAAR,EAAAS,KACAC,SAAAV,EAAAW,oBACAC,WAAAZ,EAAAa,sBACAC,QAAAC,UpBuhBM,SAASlL,EAAQD,EAASH,GqBliBhC,YAQA,SAAAW,GAAAC,GAAsC,MAAAA,MAAAC,WAAAD,GAAuCE,UAAAF,GAN7ET,EAAAU,YAAA,CAEA,IAAA0K,GAAAvL,EAAA,IAEAwL,EAAA7K,EAAA4K,EAIApL,cAAA,SAAAiF,EAAA7E,GACA,IAAA6E,EACA,SAAAqG,gBAAA,4DAGA,QAAAlL,GAAA,+BAAAA,GAAA,eAAAiL,cAAAjL,KAAA,kBAAAA,GAAA6E,EAAA7E,IrByiBM,SAASH,EAAQD,EAASH,GsBxjBhC,YAQA,SAAAW,GAAAC,GAAsC,MAAAA,MAAAC,WAAAD,GAAuCE,UAAAF,GAE7E,QAAA8K,GAAA9K,GAAuB,MAAAA,IAAA,mBAAA+K,UAAA/K,EAAAgL,cAAAD,QAAA,eAAA/K,GARvBT,EAAAU,YAAA,CAEA,IAAAgL,GAAA7L,EAAA,IAEA8L,EAAAnL,EAAAkL,EAMA1L,cAAA,SAAAS,GACA,MAAAA,IAAA,mBAAAkL,eAAAlL,EAAAgL,cAAAE,aAAA,4BAAAlL,GAAA,YAAA8K,EAAA9K,KtB+jBM,SAASR,EAAQD,EAASH,GuB5kBhCI,EAAAD,SAAkBW,UAAAd,EAAA,IAAAa,YAAA,IvBklBZ,SAAST,EAAQD,EAASH,GwBllBhCA,EAAA,IACAA,EAAA,IACAI,EAAAD,QAAAH,EAAA,IAAA+L,QxBwlBM,SAAS3L,EAAQD,EAASH,GyB1lBhC,YAEA,IAAAoK,GAAApK,EAAA,IACAqH,EAAArH,EAAA,GACAgM,EAAAhM,EAAA,IACAiM,EAAAjM,EAAA,IACA4G,EAAA5G,EAAA,GACAkM,EAAAlM,EAAA,IACAmM,EAAAnM,EAAA,IACAoM,EAAApM,EAAA,IACAqM,EAAArM,EAAA,IACAsM,EAAAtM,EAAA,IACAuM,EAAAvM,EAAA,IACAwM,EAAAxM,EAAA,IACAyM,EAAAzM,EAAA,IACA0M,EAAA1M,EAAA,IACA2M,EAAA3M,EAAA,IACA4M,EAAA5M,EAAA,IACA6M,EAAA7M,EAAA,IACA8M,EAAA9M,EAAA,IACA4K,EAAAR,EAAAQ,QACAN,EAAAF,EAAAE,QACAyC,EAAA3C,EAAAI,OACAS,EAAAwB,EAAAO,IACAC,EAAA5F,EAAA0E,OACAmB,EAAA7F,EAAA8F,KACAC,EAAAF,KAAAG,UACAC,GAAA,EACAC,EAAAhB,EAAA,WACA7B,EAAAN,EAAAM,OACA8C,EAAApB,EAAA,mBACAqB,EAAArB,EAAA,WACAsB,EAAA,kBAAAT,GACAU,EAAArL,OAAA6H,UAGAyD,EAAA3B,GAAAE,EAAA,WACA,MAEG,IAFHY,EAAAzC,KAA2B,KAC3B0C,IAAA,WAAoB,MAAA1C,GAAAhH,KAAA,KAA4Bd,MAAA,IAASyG,MACtDA,IACF,SAAAzC,EAAArB,EAAA0I,GACD,GAAAC,GAAAlD,EAAA+C,EAAAxI,EACA2I,UAAAH,GAAAxI,GACAmF,EAAA9D,EAAArB,EAAA0I,GACAC,GAAAtH,IAAAmH,GAAArD,EAAAqD,EAAAxI,EAAA2I,IACCxD,EAEDyD,EAAA,SAAAC,GACA,GAAAC,GAAAR,EAAAO,GAAAjB,EAAAE,EAAA9C,UASA,OARA8D,GAAAC,GAAAF,EACA/B,GAAAqB,GAAAM,EAAAD,EAAAK,GACAjE,cAAA,EACAoE,IAAA,SAAA3L,GACAwJ,EAAA1I,KAAAiK,IAAAvB,EAAA1I,KAAAiK,GAAAS,KAAA1K,KAAAiK,GAAAS,IAAA,GACAJ,EAAAtK,KAAA0K,EAAAlB,EAAA,EAAAtK,OAGAyL,GAGAG,EAAA,SAAA5H,GACA,sBAAAA,IAGA6H,EAAA,SAAA7H,EAAArB,EAAA0I,GACA,MAAAA,IAAA7B,EAAAyB,EAAAtI,IACA0I,EAAA/D,YAIAkC,EAAAxF,EAAA+G,IAAA/G,EAAA+G,GAAApI,KAAAqB,EAAA+G,GAAApI,IAAA,GACA0I,EAAAd,EAAAc,GAAsB/D,WAAAgD,EAAA,UAJtBd,EAAAxF,EAAA+G,IAAAjD,EAAA9D,EAAA+G,EAAAT,EAAA,OACAtG,EAAA+G,GAAApI,IAAA,GAIKyI,EAAApH,EAAArB,EAAA0I,IACFvD,EAAA9D,EAAArB,EAAA0I,IAEHS,EAAA,SAAA9H,EAAA0B,GACA0E,EAAApG,EAKA,KAJA,GAGArB,GAHA6F,EAAA0B,EAAAxE,EAAA2E,EAAA3E,IACA0B,EAAA,EACA2E,EAAAvD,EAAAhC,OAEAuF,EAAA3E,GAAAyE,EAAA7H,EAAArB,EAAA6F,EAAApB,KAAA1B,EAAA/C,GACA,OAAAqB,IAEAgI,EAAA,SAAAhI,EAAA0B,GACA,MAAAxB,UAAAwB,EAAA6E,EAAAvG,GAAA8H,EAAAvB,EAAAvG,GAAA0B,IAEAuG,EAAA,SAAAtJ,GACA,GAAAuJ,GAAAhE,EAAAnK,KAAA+C,KAAA6B,EACA,OAAAuJ,KAAA1C,EAAA1I,KAAA6B,KAAA6G,EAAAyB,EAAAtI,IAAA6G,EAAA1I,KAAAiK,IAAAjK,KAAAiK,GAAApI,GACAuJ,GAAA,GAEAC,EAAA,SAAAnI,EAAArB,GACA,GAAA0I,GAAAjD,EAAApE,EAAAqG,EAAArG,GAAArB,EAEA,QADA0I,IAAA7B,EAAAyB,EAAAtI,IAAA6G,EAAAxF,EAAA+G,IAAA/G,EAAA+G,GAAApI,KAAA0I,EAAA/D,YAAA,GACA+D,GAEAe,EAAA,SAAApI,GAKA,IAJA,GAGArB,GAHA0J,EAAA5D,EAAA4B,EAAArG,IACAsI,KACAlF,EAAA,EAEAiF,EAAA7F,OAAAY,GAAAoC,EAAAyB,EAAAtI,EAAA0J,EAAAjF,OAAAzE,GAAAoI,GAAAuB,EAAAC,KAAA5J,EACA,OAAA2J,IAEAE,EAAA,SAAAxI,GAKA,IAJA,GAGArB,GAHA0J,EAAA5D,EAAA4B,EAAArG,IACAsI,KACAlF,EAAA,EAEAiF,EAAA7F,OAAAY,GAAAoC,EAAAyB,EAAAtI,EAAA0J,EAAAjF,OAAAkF,EAAAC,KAAAtB,EAAAtI,GACA,OAAA2J,IAEAG,EAAA,SAAAzI,GACA,GAAAE,SAAAF,IAAA4H,EAAA5H,GAAA,CAKA,IAJA,GAGA0I,GAAAC,EAHAC,GAAA5I,GACAoD,EAAA,EACAyF,EAAAjG,UAEAiG,EAAArG,OAAAY,GAAAwF,EAAAL,KAAAM,EAAAzF,KAQA,OAPAsF,GAAAE,EAAA,GACA,kBAAAF,KAAAC,EAAAD,IACAC,IAAAxC,EAAAuC,QAAA,SAAA/J,EAAA3C,GAEA,MADA2M,KAAA3M,EAAA2M,EAAA5O,KAAA+C,KAAA6B,EAAA3C,IACA4L,EAAA5L,GAAA,OAAAA,IAEA4M,EAAA,GAAAF,EACA9B,EAAAjE,MAAA+D,EAAAkC,KAEAE,EAAAnD,EAAA,WACA,GAAAhF,GAAA8F,GAIA,iBAAAG,GAAAjG,KAAyD,MAAzDiG,GAAoDnE,EAAA9B,KAAa,MAAAiG,EAAA9K,OAAA6E,KAIjEuG,KACAT,EAAA,WACA,GAAAmB,EAAA9K,MAAA,KAAAqD,WAAA,8BACA,OAAAoH,GAAAzB,EAAAlD,UAAAJ,OAAA,EAAAI,UAAA,GAAA1C,UAEAwF,EAAAe,EAAA9C,UAAA,sBACA,MAAA7G,MAAA4K,KAGAE,EAAA,SAAA5H,GACA,MAAAA,aAAAyG,IAGA7C,EAAAI,OAAAgE,EACApE,EAAAM,OAAA+D,EACArE,EAAAQ,QAAA+D,EACAvE,EAAAE,QAAA+D,EACAjE,EAAAU,SAAAwD,EACAlE,EAAAa,SAAAwB,EAAAO,IAAA4B,EACAxE,EAAAe,WAAA6D,EAEA/C,IAAAjM,EAAA,KACAkM,EAAAyB,EAAA,uBAAAc,GAAA,GAIA,IAAAc,IAEAC,MAAA,SAAArK,GACA,MAAA6G,GAAAwB,EAAArI,GAAA,IACAqI,EAAArI,GACAqI,EAAArI,GAAA8H,EAAA9H,IAGAsK,OAAA,SAAAtK,GACA,MAAAqH,GAAAgB,EAAArI,IAEAuK,UAAA,WAAwBpC,GAAA,GACxBqC,UAAA,WAAwBrC,GAAA,GAaxBlD,GAAAiB,KAAA9K,KAAA,iHAGAqP,MAAA,cAAApJ,GACA,GAAAyH,GAAA1B,EAAA/F,EACA+I,GAAA/I,GAAAkH,EAAAO,EAAAF,EAAAE,KAGAX,GAAA,EAEA1G,IAAAmB,EAAAnB,EAAA0B,GAAgCyD,OAAAkB,IAEhCrG,IAAAO,EAAA,SAAAoI,GAEA3I,IAAAO,EAAAP,EAAAQ,GAAAsG,EAAA,UAEAlD,OAAAgE,EAEAjM,eAAA8L,EAEA3E,iBAAA4E,EAEAzD,yBAAA8D,EAEAzD,oBAAA0D,EAEAxD,sBAAA4D,IAIA9B,GAAAtG,IAAAO,EAAAP,EAAAQ,IAAAsG,GAAA4B,GAAA,QAA6EjC,UAAA4B,IAG7E5C,EAAAY,EAAA,UAEAZ,EAAArG,KAAA,WAEAqG,EAAAhF,EAAA8F,KAAA,YzBgmBM,SAAS/M,EAAQD,G0Bl0BvB,GAAA0P,MAAuBA,cACvBzP,GAAAD,QAAA,SAAAqG,EAAArB,GACA,MAAA0K,GAAAtP,KAAAiG,EAAArB,K1By0BM,SAAS/E,EAAQD,EAASH,G2B10BhCI,EAAAD,SAAAH,EAAA,eACA,MAAsE,IAAtEsC,OAAAC,kBAAiC,KAAQyK,IAAA,WAAgB,YAAa/D,K3Bk1BhE,SAAS7I,EAAQD,EAASH,G4Bp1BhCI,EAAAD,QAAAH,EAAA,K5B01BM,SAASI,EAAQD,EAASH,G6B11BhC,GAAAoK,GAAApK,EAAA,IACA8M,EAAA9M,EAAA,GACAI,GAAAD,QAAAH,EAAA,aAAA8P,EAAA3K,EAAA3C,GACA,MAAA4H,GAAAE,QAAAwF,EAAA3K,EAAA2H,EAAA,EAAAtK,KACC,SAAAsN,EAAA3K,EAAA3C,GAED,MADAsN,GAAA3K,GAAA3C,EACAsN,I7Bi2BM,SAAS1P,EAAQD,G8Bv2BvBC,EAAAD,QAAA,SAAA4P,EAAAvN,GACA,OACAsH,aAAA,EAAAiG,GACAhG,eAAA,EAAAgG,GACA/F,WAAA,EAAA+F,GACAvN,W9B+2BM,SAASpC,EAAQD,EAASH,G+Bp3BhC,GAAAqH,GAAArH,EAAA,GACAgQ,EAAA,qBACAC,EAAA5I,EAAA2I,KAAA3I,EAAA2I,MACA5P,GAAAD,QAAA,SAAAgF,GACA,MAAA8K,GAAA9K,KAAA8K,EAAA9K,S/B23BM,SAAS/E,EAAQD,EAASH,GgC/3BhC,GAAAkQ,GAAAlQ,EAAA,IAAAsK,QACA0B,EAAAhM,EAAA,IACAmQ,EAAAnQ,EAAA,kBAEAI,GAAAD,QAAA,SAAAqG,EAAAwH,EAAAoC,GACA5J,IAAAwF,EAAAxF,EAAA4J,EAAA5J,IAAA2D,UAAAgG,IAAAD,EAAA1J,EAAA2J,GAAkEpG,cAAA,EAAAvH,MAAAwL,MhCs4B5D,SAAS5N,EAAQD,EAASH,GiC34BhC,GAAAiQ,GAAAjQ,EAAA,WACAsM,EAAAtM,EAAA,IACA+L,EAAA/L,EAAA,GAAA+L,MACA3L,GAAAD,QAAA,SAAAsH,GACA,MAAAwI,GAAAxI,KAAAwI,EAAAxI,GACAsE,KAAAtE,KAAAsE,GAAAO,GAAA,UAAA7E,MjCk5BM,SAASrH,EAAQD,GkCv5BvB,GAAAE,GAAA,EACAgQ,EAAArK,KAAAsK,QACAlQ,GAAAD,QAAA,SAAAgF,GACA,gBAAAoL,OAAA7J,SAAAvB,EAAA,GAAAA,EAAA,QAAA9E,EAAAgQ,GAAAG,SAAA,OlC85BM,SAASpQ,EAAQD,EAASH,GmCj6BhC,GAAAoK,GAAApK,EAAA,IACA6M,EAAA7M,EAAA,GACAI,GAAAD,QAAA,SAAA2P,EAAAW,GAMA,IALA,GAIAtL,GAJAuL,EAAA7D,EAAAiD,GACA9E,EAAAZ,EAAAW,QAAA2F,GACA1H,EAAAgC,EAAAhC,OACA2H,EAAA,EAEA3H,EAAA2H,GAAA,GAAAD,EAAAvL,EAAA6F,EAAA2F,QAAAF,EAAA,MAAAtL,KnCw6BM,SAAS/E,EAAQD,EAASH,GoC/6BhC,GAAA4Q,GAAA5Q,EAAA,IACAyG,EAAAzG,EAAA,EACAI,GAAAD,QAAA,SAAAqG,GACA,MAAAoK,GAAAnK,EAAAD,MpCu7BM,SAASpG,EAAQD,EAASH,GqC17BhC,GAAA6Q,GAAA7Q,EAAA,GACAI,GAAAD,QAAAmC,OAAA,KAAAqI,qBAAA,GAAArI,OAAA,SAAAkE,GACA,gBAAAqK,EAAArK,KAAAoJ,MAAA,IAAAtN,OAAAkE,KrCk8BM,SAASpG,EAAQD,GsCr8BvB,GAAAqQ,MAAiBA,QAEjBpQ,GAAAD,QAAA,SAAAqG,GACA,MAAAgK,GAAAjQ,KAAAiG,GAAAsK,MAAA,QtC48BM,SAAS1Q,EAAQD,EAASH,GuC98BhC,GAAA6M,GAAA7M,EAAA,IACAiL,EAAAjL,EAAA,IAAAiL,SACAuF,KAAkBA,SAElBO,EAAA,gBAAA3O,SAAAE,OAAA4I,oBACA5I,OAAA4I,oBAAA9I,WAEA4O,EAAA,SAAAxK,GACA,IACA,MAAAyE,GAAAzE,GACG,MAAA6C,GACH,MAAA0H,GAAAD,SAIA1Q,GAAAD,QAAA6M,IAAA,SAAAxG,GACA,MAAAuK,IAAA,mBAAAP,EAAAjQ,KAAAiG,GAAAwK,EAAAxK,GACAyE,EAAA4B,EAAArG,MvCs9BM,SAASpG,EAAQD,EAASH,GwCv+BhC,GAAAoK,GAAApK,EAAA,GACAI,GAAAD,QAAA,SAAAqG,GACA,GAAAwE,GAAAZ,EAAAW,QAAAvE,GACA2E,EAAAf,EAAAe,UACA,IAAAA,EAKA,IAJA,GAGAhG,GAHA8L,EAAA9F,EAAA3E,GACAkE,EAAAN,EAAAM,OACAd,EAAA,EAEAqH,EAAAjI,OAAAY,GAAAc,EAAAnK,KAAAiG,EAAArB,EAAA8L,EAAArH,OAAAoB,EAAA+D,KAAA5J,EAEA,OAAA6F,KxC++BM,SAAS5K,EAAQD,EAASH,GyC1/BhC,GAAA6Q,GAAA7Q,EAAA,GACAI,GAAAD,QAAA+Q,MAAAvE,SAAA,SAAAwE,GACA,eAAAN,EAAAM,KzCkgCM,SAAS/Q,EAAQD,EAASH,G0CrgChC,GAAAoR,GAAApR,EAAA,GACAI,GAAAD,QAAA,SAAAqG,GACA,IAAA4K,EAAA5K,GAAA,KAAAG,WAAAH,EAAA,qBACA,OAAAA,K1C4gCM,SAASpG,EAAQD,G2C/gCvBC,EAAAD,QAAA,SAAAqG,GACA,sBAAAA,GAAA,OAAAA,EAAA,kBAAAA,K3CshCM,SAASpG,EAAQD,G4CvhCvBC,EAAAD,SAAA,G5C6hCM,SAASC,EAAQD,KAMjB,SAASC,EAAQD,EAASH,G6CniChC,YAgBA,SAAAW,GAAAC,GAAsC,MAAAA,MAAAC,WAAAD,GAAuCE,UAAAF,GAd7ET,EAAAU,YAAA,CAEA,IAAAwQ,GAAArR,EAAA,IAEAsR,EAAA3Q,EAAA0Q,GAEAtE,EAAA/M,EAAA,IAEAuR,EAAA5Q,EAAAoM,GAEAxB,EAAAvL,EAAA,IAEAwL,EAAA7K,EAAA4K,EAIApL,cAAA,SAAAqR,EAAAC,GACA,qBAAAA,IAAA,OAAAA,EACA,SAAA9K,WAAA,+EAAA8K,GAAA,eAAAjG,cAAAiG,IAGAD,GAAArH,WAAA,EAAAoH,cAAAE,KAAAtH,WACAyB,aACApJ,MAAAgP,EACA1H,YAAA,EACAE,UAAA,EACAD,cAAA,KAGA0H,IAAAH,cAAA,EAAAA,cAAAE,EAAAC,GAAAD,EAAAE,UAAAD,K7C0iCM,SAASrR,EAAQD,EAASH,G8CzkChCI,EAAAD,SAAkBW,UAAAd,EAAA,IAAAa,YAAA,I9C+kCZ,SAAST,EAAQD,EAASH,G+C/kChCA,EAAA,IACAI,EAAAD,QAAAH,EAAA,IAAAsC,OAAAqP,gB/CqlCM,SAASvR,EAAQD,EAASH,GgDrlChC,GAAA4G,GAAA5G,EAAA,EACA4G,KAAAO,EAAA,UAA8BwK,eAAA3R,EAAA,IAAAmO,OhD4lCxB,SAAS/N,EAAQD,EAASH,GiD5lChC,GAAA4K,GAAA5K,EAAA,IAAA4K,QACAwG,EAAApR,EAAA,IACA4M,EAAA5M,EAAA,IACA4R,EAAA,SAAAlB,EAAAmB,GAEA,GADAjF,EAAA8D,IACAU,EAAAS,IAAA,OAAAA,EAAA,KAAAlL,WAAAkL,EAAA,6BAEAzR,GAAAD,SACAgO,IAAA7L,OAAAqP,iBAAA,gBACA,SAAAG,EAAAC,EAAA5D,GACA,IACAA,EAAAnO,EAAA,IAAA0I,SAAAnI,KAAAqK,EAAAtI,OAAA6H,UAAA,aAAAgE,IAAA,GACAA,EAAA2D,MACAC,IAAAD,YAAAZ,QACO,MAAA7H,GAAU0I,GAAA,EACjB,gBAAArB,EAAAmB,GAIA,MAHAD,GAAAlB,EAAAmB,GACAE,EAAArB,EAAAgB,UAAAG,EACA1D,EAAAuC,EAAAmB,GACAnB,QAEQ,GAAAhK,QACRkL,UjDqmCM,SAASxR,EAAQD,EAASH,GkD7nChCI,EAAAD,SAAkBW,UAAAd,EAAA,IAAAa,YAAA,IlDmoCZ,SAAST,EAAQD,EAASH,GmDnoChC,GAAAoK,GAAApK,EAAA,GACAI,GAAAD,QAAA,SAAA+H,EAAA2F,GACA,MAAAzD,GAAAI,OAAAtC,EAAA2F,KnD0oCM,SAASzN,EAAQD,EAASH,GoD5oChC,YpDgqCC,SAASW,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,UAASF,GAhBvF0B,OAAOC,eAAepC,EAAS,cAC3BqC,OAAO,GAGX,IAAIG,GAAmB3C,EAAoB,IAEvC4C,EAAmBjC,EAAuBgC,GAE1CE,EAAgB7C,EAAoB,IAEpC8C,EAAgBnC,EAAuBkC,GAEvC1B,EAAYnB,EAAoB,IAEhCoB,EAAaT,EAAuBQ,GoD1pCnCS,EAAM,WAGR,QAHEA,GAGWoQ,EAAGC,IpD6pCV,EAAGrP,cAA0BU,KoDhqCjC1B,GAKE0B,KAAK4O,IAAM,GAAA9Q,cAAa4Q,GAAK,EAAGC,GAAK,GAErC3O,KAAK6O,SACL7O,KAAK8O,YAEL9O,KAAK+O,eAAiB/O,KAAK4O,IAAII,QAC/BhP,KAAKiP,gBAAkB,EACvBjP,KAAKvC,MAAQ,KACbuC,KAAKkP,QAAU,KpDsvClB,OAtFC,EAAG1P,coD7qCHlB,IpD8qCGuD,IAAK,oBACL3C,MAAO,WoD3pCR,GAAIiQ,GAAQ,GAAI7Q,EAMhB,OAJA6Q,GAAMC,YAAYpP,KAAKvC,OACvB0R,EAAMD,QAAUlP,KAChBA,KAAK8O,SAASrD,KAAK0D,GAEZA,KpDgqCNtN,IAAK,iBACL3C,MAAO,SoD5pCIiQ,GAMZ,MAJAA,GAAMC,YAAYpP,KAAKvC,OACvB0R,EAAMD,QAAUlP,KAChBA,KAAK8O,SAASrD,KAAK0D,GAEZA,KpD+pCNtN,IAAK,oBACL3C,MAAO,SoD3pCOmQ,OpD+pCdxN,IAAK,kBACL3C,MAAO,WoDrpCR,GAAIc,KAAKvC,OAASuC,KAAKiP,gBAAkBjP,KAAKvC,MAAMgE,aAAc,CAE9D,GAAIzB,KAAKkP,QAAS,CAEd,GAAII,GAAYtP,KAAKkP,QAAQK,iBAE7BvP,MAAK+O,eAAeL,EAAI1O,KAAK4O,IAAIF,EAAIY,EAAUZ,EAC/C1O,KAAK+O,eAAeJ,EAAI3O,KAAK4O,IAAID,EAAIW,EAAUX,MAE/C3O,MAAK+O,eAAeL,EAAI1O,KAAK4O,IAAIF,EACjC1O,KAAK+O,eAAeJ,EAAI3O,KAAK4O,IAAID,CAGrC3O,MAAKiP,gBAAkBjP,KAAKvC,MAAMgE,aAItC,MAAOzB,MAAK+O,kBpD6pCXlN,IAAK,cACL3C,MAAO,SoDzpCCsQ,GAETxP,KAAKvC,MAAQ+R,EAEbxP,KAAK8O,SAAS9G,QAAQ,SAACmH,GACnBA,EAAMC,YAAYI,QpD6pCrB3N,IAAK,gBACL3C,MAAO,YoDtpCHc,KAAKyP,QAAUzP,KAAKyP,UAAqC,mBAAhBzP,MAAKyP,SAE/CzP,KAAK8O,SAAS9G,QAAQ,SAACmH,GACnBA,EAAMvM,qBpD6pCbf,IAAK,gBACL3C,MAAO,YoDppCHc,KAAK0P,QAAU1P,KAAK0P,UAAqC,mBAAhB1P,MAAK0P,SAE/C1P,KAAK8O,SAAS9G,QAAQ,SAACmH,GACnBA,EAAMrM,sBAxGhBxE,IpDswCLzB,coDnpCcyB,GpDupCT,SAASxB,EAAQD,EAASH,GqD9wChC,YrD8xCC,SAASW,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,UAASF,GAZvF0B,OAAOC,eAAepC,EAAS,cAC3BqC,OAAO,GAGX,IAAIG,GAAmB3C,EAAoB,IAEvC4C,EAAmBjC,EAAuBgC,GAE1CE,EAAgB7C,EAAoB,IAEpC8C,EAAgBnC,EAAuBkC,GqD1xCtCf,EAAQ,WAGV,QAHEA,GAGWkQ,EAAGC,IrD6xCV,EAAGrP,cAA0BU,KqDhyCjCxB,GAIEwB,KAAK0O,EAAIA,GAAK,EAAG1O,KAAK2O,EAAIA,GAAK,ErD04ClC,OAzGC,EAAGnP,cqDryCHhB,IrDsyCGqD,IAAK,SACL3C,MAAO,WqD7xCR,MADAc,MAAK0O,GAAK1O,KAAK0O,EAAG1O,KAAK2O,GAAK3O,KAAK2O,EAC1B3O,QrDkyCN6B,IAAK,MACL3C,MAAO,SqD/xCPyQ,GAQD,MANIA,aAAenR,IACfwB,KAAK0O,GAAKiB,EAAIjB,EAAG1O,KAAK2O,GAAKgB,EAAIhB,IAE/B3O,KAAK0O,GAAKiB,EAAK3P,KAAK2O,GAAKgB,GAGtB3P,QrDkyCN6B,IAAK,WACL3C,MAAO,SqD9xCFyQ,GAQN,MANIA,aAAenR,IACfwB,KAAK0O,GAAKiB,EAAIjB,EAAG1O,KAAK2O,GAAKgB,EAAIhB,IAE/B3O,KAAK0O,GAAKiB,EAAK3P,KAAK2O,GAAKgB,GAGtB3P,QrDiyCN6B,IAAK,WACL3C,MAAO,SqD7xCFyQ,GAQN,MANIA,aAAenR,IACfwB,KAAK0O,GAAKiB,EAAIjB,EAAG1O,KAAK2O,GAAKgB,EAAIhB,IAE/B3O,KAAK0O,GAAKiB,EAAK3P,KAAK2O,GAAKgB,GAGtB3P,QrDgyCN6B,IAAK,SACL3C,MAAO,SqD5xCJyQ,GAQJ,MANIA,aAAenR,IACfwB,KAAK0O,GAAKiB,EAAIjB,EAAG1O,KAAK2O,GAAKgB,EAAIhB,IAE/B3O,KAAK0O,GAAKiB,EAAK3P,KAAK2O,GAAKgB,GAGtB3P,QrD+xCN6B,IAAK,SACL3C,MAAO,SqD3xCJyQ,GACJ,MAAQ3P,MAAK0O,GAAKiB,EAAIjB,GAAK1O,KAAK2O,GAAKgB,EAAIhB,KrD8xCxC9M,IAAK,MACL3C,MAAO,SqD3xCPyQ,GACD,MAAQ3P,MAAK0O,EAAIiB,EAAIjB,EAAI1O,KAAK2O,EAAIgB,EAAIhB,KrD8xCrC9M,IAAK,SACL3C,MAAO,WqD1xCR,MAAOwD,MAAKkN,KAAK5P,KAAK6P,IAAI7P,UrD8xCzB6B,IAAK,OACL3C,MAAO,WqD1xCR,MAAOc,MAAK8P,OAAO9P,KAAK0F,arD8xCvB7D,IAAK,MACL3C,MAAO,WqD1xCR,MAAOwD,MAAKC,IAAI3C,KAAK0O,EAAG1O,KAAK2O,MrD8xC5B9M,IAAK,MACL3C,MAAO,WqD1xCR,MAAOwD,MAAKqN,IAAI/P,KAAK0O,EAAG1O,KAAK2O,MrD8xC5B9M,IAAK,UACL3C,MAAO,WqD1xCR,MAAoC,KAA5BwD,KAAKsN,KAAKhQ,KAAK0O,EAAG1O,KAAK2O,MrD8xC9B9M,IAAK,UACL3C,MAAO,WqD1xCR,OAAQc,KAAK0O,EAAG1O,KAAK2O,MrD8xCpB9M,IAAK,WACL3C,MAAO,WqD1xCR,UAAWc,KAAK0O,EAAC,KAAK1O,KAAK2O,EAAC,QrD8xC3B9M,IAAK,QACL3C,MAAO,WqD1xCR,MAAO,IAAIV,GAASwB,KAAK0O,EAAG1O,KAAK2O,OAhHnCnQ,IrDi5CL3B,cqD1xCc2B,GrD8xCT,SAAS1B,EAAQD,EAASH,GsDv5ChC,YtDw6CC,SAASW,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,UAASF,GAbvF0B,OAAOC,eAAepC,EAAS,cAC3BqC,OAAO,IAEXrC,EAAQgC,UAAYuE,MAEpB,IAAI/D,GAAmB3C,EAAoB,IAEvC4C,EAAmBjC,EAAuBgC,GAE1CE,EAAgB7C,EAAoB,IAEpC8C,EAAgBnC,EAAuBkC,GsDn6CtCV,GACFoR,MAAO,GACPC,UAAW,EACXC,IAAK,EACLC,MAAO,GACPC,MAAO,GACPC,KAAM,GACNC,IAAK,GACLC,MAAO,GACPC,UAAW,GACXC,OAAQ,GACRC,QAAS,GACTC,UAAW,GACXC,IAAK,GACLC,KAAM,GACNC,KAAM,GACNC,GAAI,GACJC,MAAO,GACPC,KAAM,GACNC,OAAQ,GACRC,OAAQ,GACRC,MAAO,GACPC,MAAO,GACPC,MAAO,GACPC,MAAO,GACPC,MAAO,GACPC,MAAO,GACPC,MAAO,GACPC,MAAO,GACPC,MAAO,GACPC,MAAO,GACPC,OAAQ,GACRC,OAAQ,GACRC,OAAQ,GACRC,OAAQ,GACRC,OAAQ,GACRC,OAAQ,GACRC,OAAQ,GACRC,OAAQ,GACRC,OAAQ,GACRC,OAAQ,GACRC,OAAQ,GACRC,OAAQ,GACRC,OAAQ,GACRC,OAAQ,GACRC,OAAQ,GACRC,OAAQ,GACRC,OAAQ,GACRC,OAAQ,GACRC,OAAQ,GACRC,OAAQ,GACRC,OAAQ,GACRC,OAAQ,GACRC,OAAQ,GACRC,OAAQ,GACRC,OAAQ,GACRC,OAAQ,GACRC,UAAW,GACXC,UAAW,GACXC,UAAW,GACXC,UAAW,GACXC,UAAW,IACXC,UAAW,IACXC,UAAW,IACXC,UAAW,IACXC,UAAW,IACXC,UAAW,IACXC,SAAU,IACVC,IAAK,IACLC,SAAU,IACVC,QAAS,IACTC,OAAQ,IACRC,GAAI,IACJC,GAAI,IACJC,GAAI,IACJC,GAAI,IACJC,GAAI,IACJC,GAAI,IACJC,GAAI,IACJC,GAAI,IACJC,GAAI,IACJC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,UAAW,IACXC,OAAQ,IACRC,MAAO,IACPC,KAAM,IACNC,OAAQ,IACRC,cAAe,IACfC,MAAO,IACPC,aAAc,IACdC,WAAY,IACZC,cAAe,IACfC,aAAc,KAIZC,EAAa,WAGf,QAHEA,MtDw6CI,EAAGzW,cAA0BU,KsDx6CjC+V,EAKE,IAAIjU,GAAO9B,IACX8B,GAAKkU,aAELlX,OAAOmX,iBAAiB,UAAW,SAACC,GAChCpU,EAAKqU,gBAAgBD,KACtB,GAEHpX,OAAOmX,iBAAiB,QAAS,SAACC,GAC9BpU,EAAKsU,cAAcF,KACpB,GtDw7CN,OAhBC,EAAG1W,csDt7CHuW,ItDu7CGlU,IAAK,YACL3C,MAAO,SsDr6CDmX,GACX,QAASrW,KAAKgW,UAAUK,MtDw6CnBxU,IAAK,kBACL3C,MAAO,SsDr6CKgX,GACblW,KAAKgW,UAAUE,EAAMG,UAAW,KtDw6C/BxU,IAAK,gBACL3C,MAAO,SsDr6CGgX,GACXlW,KAAKgW,UAAUE,EAAMG,UAAW,MA9BlCN,ItDy8CLlZ,csDp6CckZ,EtDq6CdlZ,EsDp6COgC,atDw6CF,SAAS/B,EAAQD,EAASH,GuDnjDhC,YvD2lDC,SAASW,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,UAASF,GApCvF0B,OAAOC,eAAepC,EAAS,cAC3BqC,OAAO,GAGX,IAAIC,GAAkBzC,EAAoB,GAEtC0C,EAAmB/B,EAAuB8B,GAE1CE,EAAmB3C,EAAoB,IAEvC4C,EAAmBjC,EAAuBgC,GAE1CE,EAAgB7C,EAAoB,IAEpC8C,EAAgBnC,EAAuBkC,GAEvCE,EAA8B/C,EAAoB,IAElDgD,EAA8BrC,EAAuBoC,GAErDE,EAAajD,EAAoB,IAEjCkD,EAAavC,EAAuBsC,GAEpChC,EAAUjB,EAAoB,IAE9BkB,EAAWP,EAAuBM,GAElCE,EAAYnB,EAAoB,IAEhCoB,EAAaT,EAAuBQ,GAEpCyY,EAAoB5Z,EAAoB,IAExC6Z,EAAqBlZ,EAAuBiZ,GuDjlD3C/X,EAAI,SAAAuB,GAGN,QAHEvB,GAGWmQ,EAAGC,EAAGtO,EAAOC,EAAQkW,IvDslD5B,EAAGlX,cAA0BU,KuDzlDjCzB,EvD2lDG,IAAI0B,IAAS,EAAGP,cAAqCM,MAAO,EAAGZ,cuD3lDlEb,GAAItB,KAAA+C,KAKI0O,EAAGC,GvD2lDR,OuDzlDD1O,GAAKwW,KAAO,GAAA3Y,cAAauC,EAAOC,GAChCL,EAAKuW,MAAQA,EvDwlDLvW,EA4BX,OAtCC,EAAGL,cuDtlDHrB,EAAIuB,IvDmmDJ,EAAGN,cuDnmDHjB,IvDomDGsD,IAAK,cACL3C,MAAO,SuDxlDCmQ,GAET,MAAIA,aAAkB9Q,GACXgY,aAAiBG,KAAK1W,KAAMqP,GADvC,UvD6lDCxN,IAAK,SACL3C,MAAO,WuDnlDR,MAFAc,MAAKuP,kBAEDvP,KAAKvC,OAELuC,KAAKvC,MAAMoD,QAAQ8V,UAAY3W,KAAKwW,MACpCxW,KAAKvC,MAAMoD,QAAQ+V,SAAS5W,KAAK+O,eAAeL,EAAG1O,KAAK+O,eAAeJ,EAAG3O,KAAKyW,KAAK/H,EAAG1O,KAAKyW,KAAK9H,IAE1F,IAGA,MAlCbpQ,GvD6nDFX,aAEHf,cuDplDc0B,GvDwlDT,SAASzB,EAAQD,EAASH,GAE/B,YAkBA,SAASW,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,UAASF,GAhBvF0B,OAAOC,eAAepC,EAAS,cAC3BqC,OAAO,GAGX,IAAIG,GAAmB3C,EAAoB,IAEvC4C,EAAmBjC,EAAuBgC,GAE1CE,EAAgB7C,EAAoB,IAEpC8C,EAAgBnC,EAAuBkC,GAEvCxB,EAAQrB,EAAoB,IAE5BsB,EAASX,EAAuBU,GwD3pD/B8Y,EAAgB,WxDgqDjB,QwDhqDCA,MxDiqDI,EAAGvX,cAA0BU,KwDjqDjC6W,GxD+qDD,OAXC,EAAGrX,cwDpqDHqX,EAAgB,OxDqqDbhV,IAAK,OACL3C,MAAO,SwDnqDC4X,EAASC,GAElB,IAAKD,YAAO9Y,gBAAqB+Y,YAAO/Y,cACpC,KAAM,IAAIoC,OAAM,kEAGpB,OAAQ0W,GAAQlI,IAAIF,EAAIqI,EAAQnI,IAAIF,EAAIqI,EAAQN,KAAK/H,GACjDoI,EAAQlI,IAAIF,EAAIoI,EAAQL,KAAK/H,EAAIqI,EAAQnI,IAAIF,GAC7CoI,EAAQlI,IAAID,EAAIoI,EAAQnI,IAAID,EAAIoI,EAAQN,KAAK9H,GAC7CmI,EAAQL,KAAK9H,EAAImI,EAAQlI,IAAID,EAAIoI,EAAQnI,IAAID,MAZnDkI,IxDkrDLha,cwD9pDcga,GxDkqDT,SAAS/Z,EAAQD,EAASH,GAE/B,YAcA,SAASW,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQE,UAASF,GAZvF0B,OAAOC,eAAepC,EAAS,cAC3BqC,OAAO,GAGX,IAAIG,GAAmB3C,EAAoB,IAEvC4C,EAAmBjC,EAAuBgC,GAE1CE,EAAgB7C,EAAoB,IAEpC8C,EAAgBnC,EAAuBkC,GyDtsDtCd,EAAK,WAGP,QAHEA,GAGWuY,EAAGC,EAAGrR,EAAGD,IzDysDhB,EAAGrG,cAA0BU,KyD5sDjCvB,GAKEuB,KAAKgX,EAAIA,GAAK,EACdhX,KAAKiX,EAAIA,GAAK,EACdjX,KAAK4F,EAAIA,GAAK,EACd5F,KAAK2F,EAAIA,GAAK,EzDutDjB,OAXC,EAAGnG,cyDptDHf,IzDqtDGoD,IAAK,WACL3C,MAAO,WyDxsDR,cAAec,KAAKgX,EAAC,KAAKhX,KAAKiX,EAAC,KAAKjX,KAAK4F,EAAC,KAAK5F,KAAK2F,EAAC,OzD4sDrD9D,IAAK,QACL3C,MAAO,WyDxsDR,WAAa8X,GAAK,GAAOC,GAAK,EAAKrR,GAAGsH,SAAS,QAnBjDzO,IzDkuDL5B,cyDxsDc4B","file":"es5.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \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/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tvar _game = __webpack_require__(1);\n\t\n\tvar _game2 = _interopRequireDefault(_game);\n\t\n\tvar _entity = __webpack_require__(51);\n\t\n\tvar _entity2 = _interopRequireDefault(_entity);\n\t\n\tvar _vector2d = __webpack_require__(52);\n\t\n\tvar _vector2d2 = _interopRequireDefault(_vector2d);\n\t\n\tvar _rect = __webpack_require__(54);\n\t\n\tvar _rect2 = _interopRequireDefault(_rect);\n\t\n\tvar _color = __webpack_require__(56);\n\t\n\tvar _color2 = _interopRequireDefault(_color);\n\t\n\tvar _keyboardinput = __webpack_require__(53);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar Classes = {\n\t Game: _game2.default,\n\t Entity: _entity2.default,\n\t Rect: _rect2.default,\n\t Vector2D: _vector2d2.default,\n\t Color: _color2.default\n\t};\n\t\n\tvar Consts = {\n\t Input: {\n\t Keys: _keyboardinput.KeyConsts\n\t }\n\t};\n\t\n\twindow.MomentumEngine = {\n\t Classes: Classes,\n\t Consts: Consts\n\t};\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _getPrototypeOf = __webpack_require__(2);\n\t\n\tvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\t\n\tvar _classCallCheck2 = __webpack_require__(14);\n\t\n\tvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\t\n\tvar _createClass2 = __webpack_require__(15);\n\t\n\tvar _createClass3 = _interopRequireDefault(_createClass2);\n\t\n\tvar _possibleConstructorReturn2 = __webpack_require__(19);\n\t\n\tvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\t\n\tvar _inherits2 = __webpack_require__(44);\n\t\n\tvar _inherits3 = _interopRequireDefault(_inherits2);\n\t\n\tvar _entity = __webpack_require__(51);\n\t\n\tvar _entity2 = _interopRequireDefault(_entity);\n\t\n\tvar _keyboardinput = __webpack_require__(53);\n\t\n\tvar _keyboardinput2 = _interopRequireDefault(_keyboardinput);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar Game = (function (_Entity) {\n\t (0, _inherits3.default)(Game, _Entity);\n\t\n\t function Game(config) {\n\t (0, _classCallCheck3.default)(this, Game);\n\t // Call entity constructor\n\t\n\t var _this = (0, _possibleConstructorReturn3.default)(this, (0, _getPrototypeOf2.default)(Game).call(this));\n\t\n\t config = config || {};\n\t config.inputs = config.inputs || {};\n\t\n\t // Required params\n\t if (config.canvas) {\n\t _this.canvas = config.canvas;\n\t } else {\n\t throw new Error(\"MomentumEngine.Game must be constructed with a canvas\");\n\t }\n\t\n\t if (config.width) {\n\t _this.width = config.width;\n\t } else {\n\t throw new Error(\"MomentumEngine.Game must be constructed with canvas width\");\n\t }\n\t\n\t if (config.height) {\n\t _this.height = config.height;\n\t } else {\n\t throw new Error(\"MomentumEngine.Game must be constructed with canvas height\");\n\t }\n\t\n\t // Optional params\n\t _this.desiredFps = config.desiredFps || 60;\n\t\n\t if (config.fixRatio) {\n\t\n\t var deviceRatio = window.devicePixelRatio,\n\t backingStoreRatio = 0;\n\t\n\t // 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\t if (typeof ejecta !== \"undefined\") {\n\t backingStoreRatio = 1;\n\t } else {\n\t\n\t _this.context = _this.canvas.getContext(\"2d\");\n\t\n\t backingStoreRatio = _this.context.webkitBackingStorePixelRatio || _this.context.mozBackingStorePixelRatio || _this.context.msBackingStorePixelRatio || _this.context.oBackingStorePixelRatio || _this.context.backingStorePixelRatio || 1;\n\t }\n\t\n\t _this.scale = deviceRatio / backingStoreRatio;\n\t\n\t _this.canvas.width = _this.width * _this.scale;\n\t _this.canvas.height = _this.height * _this.scale;\n\t\n\t _this.canvas.style.width = _this.width + \"px\";\n\t _this.canvas.style.height = _this.height + \"px\";\n\t\n\t // Call getContext last for Ejecta only.\n\t if (typeof ejecta !== \"undefined\") {\n\t _this.context = _this.canvas.getContext(\"2d\");\n\t }\n\t\n\t _this.context.scale(deviceRatio, deviceRatio);\n\t } else {\n\t\n\t _this.canvas.width = _this.width;\n\t _this.canvas.height = _this.height;\n\t\n\t _this.context = _this.canvas.getContext(\"2d\");\n\t }\n\t\n\t if (typeof _this.context.imageSmoothingEnabled !== \"undefined\") {\n\t _this.context.imageSmoothingEnabled = config.imageSmoothing || false;\n\t }\n\t\n\t // Initialize defaults\n\t _this.lastFrameDelta = 0;\n\t _this.frameCounter = 0;\n\t\n\t _this.inputs = {};\n\t if (config.inputs.keyboard) {\n\t _this.inputs.keyboard = new _keyboardinput2.default(_this);\n\t }\n\t\n\t _this._game = _this;\n\t _this._lastFrameTimestamp = 0;\n\t _this._wantPause = true;\n\t\n\t return _this;\n\t }\n\t\n\t (0, _createClass3.default)(Game, [{\n\t key: \"start\",\n\t value: function start() {\n\t\n\t var self = this; // NK: Hate doing this...better way plz?\n\t\n\t if (self._wantPause) {\n\t self._wantPause = false;\n\t } else {\n\t console.log(\"MomentumEngine.Game.start called, game instance is already started\");\n\t return false; // Game is already running\n\t }\n\t\n\t self._wantPause = false;\n\t\n\t var requestFrame = (function () {\n\t\n\t return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function (callback) {\n\t window.setTimeout(callback, 1000 / self.desiredFps);\n\t };\n\t })();\n\t\n\t self._lastFrameTimestamp = +new Date();\n\t\n\t var loop = function loop() {\n\t\n\t self.frameCounter++;\n\t\n\t var currentTimestamp = +new Date();\n\t\n\t self.lastFrameDelta = currentTimestamp - self._lastFrameTimestamp;\n\t self._lastFrameTimestamp = currentTimestamp;\n\t\n\t self.lastFrameDelta = Math.min(self.lastFrameDelta, 1000 / self.desiredFps);\n\t\n\t if (self._wantPause) {\n\t return;\n\t }\n\t\n\t self._updateEntity.bind(self);\n\t self._updateEntity();\n\t\n\t self._renderEntity.bind(self);\n\t self._renderEntity();\n\t\n\t requestFrame(loop);\n\t };\n\t\n\t loop();\n\t return true;\n\t }\n\t }, {\n\t key: \"pause\",\n\t value: function pause() {\n\t\n\t if (!this._wantPause) {\n\t this._wantPause = true;\n\t return true;\n\t } else {\n\t console.log(\"MomentumEngine.Game.pause called, game instance is already paused\");\n\t return false;\n\t }\n\t }\n\t }]);\n\t return Game;\n\t})(_entity2.default);\n\t\n\texports.default = Game;\n\n/***/ },\n/* 2 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(3), __esModule: true };\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(4);\n\tmodule.exports = __webpack_require__(10).Object.getPrototypeOf;\n\n/***/ },\n/* 4 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.9 Object.getPrototypeOf(O)\n\tvar toObject = __webpack_require__(5);\n\t\n\t__webpack_require__(7)('getPrototypeOf', function($getPrototypeOf){\n\t return function getPrototypeOf(it){\n\t return $getPrototypeOf(toObject(it));\n\t };\n\t});\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 7.1.13 ToObject(argument)\n\tvar defined = __webpack_require__(6);\n\tmodule.exports = function(it){\n\t return Object(defined(it));\n\t};\n\n/***/ },\n/* 6 */\n/***/ function(module, exports) {\n\n\t// 7.2.1 RequireObjectCoercible(argument)\n\tmodule.exports = function(it){\n\t if(it == undefined)throw TypeError(\"Can't call method on \" + it);\n\t return it;\n\t};\n\n/***/ },\n/* 7 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// most Object methods by ES6 should accept primitives\n\tvar $export = __webpack_require__(8)\n\t , core = __webpack_require__(10)\n\t , fails = __webpack_require__(13);\n\tmodule.exports = function(KEY, exec){\n\t var fn = (core.Object || {})[KEY] || Object[KEY]\n\t , exp = {};\n\t exp[KEY] = exec(fn);\n\t $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);\n\t};\n\n/***/ },\n/* 8 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar global = __webpack_require__(9)\n\t , core = __webpack_require__(10)\n\t , ctx = __webpack_require__(11)\n\t , PROTOTYPE = 'prototype';\n\t\n\tvar $export = function(type, name, source){\n\t var IS_FORCED = type & $export.F\n\t , IS_GLOBAL = type & $export.G\n\t , IS_STATIC = type & $export.S\n\t , IS_PROTO = type & $export.P\n\t , IS_BIND = type & $export.B\n\t , IS_WRAP = type & $export.W\n\t , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})\n\t , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]\n\t , key, own, out;\n\t if(IS_GLOBAL)source = name;\n\t for(key in source){\n\t // contains in native\n\t own = !IS_FORCED && target && key in target;\n\t if(own && key in exports)continue;\n\t // export native or passed\n\t out = own ? target[key] : source[key];\n\t // prevent global pollution for namespaces\n\t exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n\t // bind timers to global for call from export context\n\t : IS_BIND && own ? ctx(out, global)\n\t // wrap global constructors for prevent change them in library\n\t : IS_WRAP && target[key] == out ? (function(C){\n\t var F = function(param){\n\t return this instanceof C ? new C(param) : C(param);\n\t };\n\t F[PROTOTYPE] = C[PROTOTYPE];\n\t return F;\n\t // make static versions for prototype methods\n\t })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n\t if(IS_PROTO)(exports[PROTOTYPE] || (exports[PROTOTYPE] = {}))[key] = out;\n\t }\n\t};\n\t// type bitmap\n\t$export.F = 1; // forced\n\t$export.G = 2; // global\n\t$export.S = 4; // static\n\t$export.P = 8; // proto\n\t$export.B = 16; // bind\n\t$export.W = 32; // wrap\n\tmodule.exports = $export;\n\n/***/ },\n/* 9 */\n/***/ function(module, exports) {\n\n\t// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\n\tvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n\t ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\n\tif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef\n\n/***/ },\n/* 10 */\n/***/ function(module, exports) {\n\n\tvar core = module.exports = {version: '1.2.6'};\n\tif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// optional / simple context binding\n\tvar aFunction = __webpack_require__(12);\n\tmodule.exports = function(fn, that, length){\n\t aFunction(fn);\n\t if(that === undefined)return fn;\n\t switch(length){\n\t case 1: return function(a){\n\t return fn.call(that, a);\n\t };\n\t case 2: return function(a, b){\n\t return fn.call(that, a, b);\n\t };\n\t case 3: return function(a, b, c){\n\t return fn.call(that, a, b, c);\n\t };\n\t }\n\t return function(/* ...args */){\n\t return fn.apply(that, arguments);\n\t };\n\t};\n\n/***/ },\n/* 12 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function(it){\n\t if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n\t return it;\n\t};\n\n/***/ },\n/* 13 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function(exec){\n\t try {\n\t return !!exec();\n\t } catch(e){\n\t return true;\n\t }\n\t};\n\n/***/ },\n/* 14 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\texports.default = function (instance, Constructor) {\n\t if (!(instance instanceof Constructor)) {\n\t throw new TypeError(\"Cannot call a class as a function\");\n\t }\n\t};\n\n/***/ },\n/* 15 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tvar _defineProperty = __webpack_require__(16);\n\t\n\tvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = (function () {\n\t function defineProperties(target, props) {\n\t for (var i = 0; i < props.length; i++) {\n\t var descriptor = props[i];\n\t descriptor.enumerable = descriptor.enumerable || false;\n\t descriptor.configurable = true;\n\t if (\"value\" in descriptor) descriptor.writable = true;\n\t (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n\t }\n\t }\n\t\n\t return function (Constructor, protoProps, staticProps) {\n\t if (protoProps) defineProperties(Constructor.prototype, protoProps);\n\t if (staticProps) defineProperties(Constructor, staticProps);\n\t return Constructor;\n\t };\n\t})();\n\n/***/ },\n/* 16 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(17), __esModule: true };\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar $ = __webpack_require__(18);\n\tmodule.exports = function defineProperty(it, key, desc){\n\t return $.setDesc(it, key, desc);\n\t};\n\n/***/ },\n/* 18 */\n/***/ function(module, exports) {\n\n\tvar $Object = Object;\n\tmodule.exports = {\n\t create: $Object.create,\n\t getProto: $Object.getPrototypeOf,\n\t isEnum: {}.propertyIsEnumerable,\n\t getDesc: $Object.getOwnPropertyDescriptor,\n\t setDesc: $Object.defineProperty,\n\t setDescs: $Object.defineProperties,\n\t getKeys: $Object.keys,\n\t getNames: $Object.getOwnPropertyNames,\n\t getSymbols: $Object.getOwnPropertySymbols,\n\t each: [].forEach\n\t};\n\n/***/ },\n/* 19 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tvar _typeof2 = __webpack_require__(20);\n\t\n\tvar _typeof3 = _interopRequireDefault(_typeof2);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = function (self, call) {\n\t if (!self) {\n\t throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n\t }\n\t\n\t return call && ((typeof call === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(call)) === \"object\" || typeof call === \"function\") ? call : self;\n\t};\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tvar _symbol = __webpack_require__(21);\n\t\n\tvar _symbol2 = _interopRequireDefault(_symbol);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tfunction _typeof(obj) { return obj && typeof _Symbol !== \"undefined\" && obj.constructor === _Symbol ? \"symbol\" : typeof obj; }\n\t\n\texports.default = function (obj) {\n\t return obj && typeof _symbol2.default !== \"undefined\" && obj.constructor === _symbol2.default ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n\t};\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(22), __esModule: true };\n\n/***/ },\n/* 22 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(23);\n\t__webpack_require__(43);\n\tmodule.exports = __webpack_require__(10).Symbol;\n\n/***/ },\n/* 23 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// ECMAScript 6 symbols shim\n\tvar $ = __webpack_require__(18)\n\t , global = __webpack_require__(9)\n\t , has = __webpack_require__(24)\n\t , DESCRIPTORS = __webpack_require__(25)\n\t , $export = __webpack_require__(8)\n\t , redefine = __webpack_require__(26)\n\t , $fails = __webpack_require__(13)\n\t , shared = __webpack_require__(29)\n\t , setToStringTag = __webpack_require__(30)\n\t , uid = __webpack_require__(32)\n\t , wks = __webpack_require__(31)\n\t , keyOf = __webpack_require__(33)\n\t , $names = __webpack_require__(37)\n\t , enumKeys = __webpack_require__(38)\n\t , isArray = __webpack_require__(39)\n\t , anObject = __webpack_require__(40)\n\t , toIObject = __webpack_require__(34)\n\t , createDesc = __webpack_require__(28)\n\t , getDesc = $.getDesc\n\t , setDesc = $.setDesc\n\t , _create = $.create\n\t , getNames = $names.get\n\t , $Symbol = global.Symbol\n\t , $JSON = global.JSON\n\t , _stringify = $JSON && $JSON.stringify\n\t , setter = false\n\t , HIDDEN = wks('_hidden')\n\t , isEnum = $.isEnum\n\t , SymbolRegistry = shared('symbol-registry')\n\t , AllSymbols = shared('symbols')\n\t , useNative = typeof $Symbol == 'function'\n\t , ObjectProto = Object.prototype;\n\t\n\t// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\n\tvar setSymbolDesc = DESCRIPTORS && $fails(function(){\n\t return _create(setDesc({}, 'a', {\n\t get: function(){ return setDesc(this, 'a', {value: 7}).a; }\n\t })).a != 7;\n\t}) ? function(it, key, D){\n\t var protoDesc = getDesc(ObjectProto, key);\n\t if(protoDesc)delete ObjectProto[key];\n\t setDesc(it, key, D);\n\t if(protoDesc && it !== ObjectProto)setDesc(ObjectProto, key, protoDesc);\n\t} : setDesc;\n\t\n\tvar wrap = function(tag){\n\t var sym = AllSymbols[tag] = _create($Symbol.prototype);\n\t sym._k = tag;\n\t DESCRIPTORS && setter && setSymbolDesc(ObjectProto, tag, {\n\t configurable: true,\n\t set: function(value){\n\t if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;\n\t setSymbolDesc(this, tag, createDesc(1, value));\n\t }\n\t });\n\t return sym;\n\t};\n\t\n\tvar isSymbol = function(it){\n\t return typeof it == 'symbol';\n\t};\n\t\n\tvar $defineProperty = function defineProperty(it, key, D){\n\t if(D && has(AllSymbols, key)){\n\t if(!D.enumerable){\n\t if(!has(it, HIDDEN))setDesc(it, HIDDEN, createDesc(1, {}));\n\t it[HIDDEN][key] = true;\n\t } else {\n\t if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;\n\t D = _create(D, {enumerable: createDesc(0, false)});\n\t } return setSymbolDesc(it, key, D);\n\t } return setDesc(it, key, D);\n\t};\n\tvar $defineProperties = function defineProperties(it, P){\n\t anObject(it);\n\t var keys = enumKeys(P = toIObject(P))\n\t , i = 0\n\t , l = keys.length\n\t , key;\n\t while(l > i)$defineProperty(it, key = keys[i++], P[key]);\n\t return it;\n\t};\n\tvar $create = function create(it, P){\n\t return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n\t};\n\tvar $propertyIsEnumerable = function propertyIsEnumerable(key){\n\t var E = isEnum.call(this, key);\n\t return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key]\n\t ? E : true;\n\t};\n\tvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){\n\t var D = getDesc(it = toIObject(it), key);\n\t if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true;\n\t return D;\n\t};\n\tvar $getOwnPropertyNames = function getOwnPropertyNames(it){\n\t var names = getNames(toIObject(it))\n\t , result = []\n\t , i = 0\n\t , key;\n\t while(names.length > i)if(!has(AllSymbols, key = names[i++]) && key != HIDDEN)result.push(key);\n\t return result;\n\t};\n\tvar $getOwnPropertySymbols = function getOwnPropertySymbols(it){\n\t var names = getNames(toIObject(it))\n\t , result = []\n\t , i = 0\n\t , key;\n\t while(names.length > i)if(has(AllSymbols, key = names[i++]))result.push(AllSymbols[key]);\n\t return result;\n\t};\n\tvar $stringify = function stringify(it){\n\t if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined\n\t var args = [it]\n\t , i = 1\n\t , $$ = arguments\n\t , replacer, $replacer;\n\t while($$.length > i)args.push($$[i++]);\n\t replacer = args[1];\n\t if(typeof replacer == 'function')$replacer = replacer;\n\t if($replacer || !isArray(replacer))replacer = function(key, value){\n\t if($replacer)value = $replacer.call(this, key, value);\n\t if(!isSymbol(value))return value;\n\t };\n\t args[1] = replacer;\n\t return _stringify.apply($JSON, args);\n\t};\n\tvar buggyJSON = $fails(function(){\n\t var S = $Symbol();\n\t // MS Edge converts symbol values to JSON as {}\n\t // WebKit converts symbol values to JSON as null\n\t // V8 throws on boxed symbols\n\t return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}';\n\t});\n\t\n\t// 19.4.1.1 Symbol([description])\n\tif(!useNative){\n\t $Symbol = function Symbol(){\n\t if(isSymbol(this))throw TypeError('Symbol is not a constructor');\n\t return wrap(uid(arguments.length > 0 ? arguments[0] : undefined));\n\t };\n\t redefine($Symbol.prototype, 'toString', function toString(){\n\t return this._k;\n\t });\n\t\n\t isSymbol = function(it){\n\t return it instanceof $Symbol;\n\t };\n\t\n\t $.create = $create;\n\t $.isEnum = $propertyIsEnumerable;\n\t $.getDesc = $getOwnPropertyDescriptor;\n\t $.setDesc = $defineProperty;\n\t $.setDescs = $defineProperties;\n\t $.getNames = $names.get = $getOwnPropertyNames;\n\t $.getSymbols = $getOwnPropertySymbols;\n\t\n\t if(DESCRIPTORS && !__webpack_require__(42)){\n\t redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n\t }\n\t}\n\t\n\tvar symbolStatics = {\n\t // 19.4.2.1 Symbol.for(key)\n\t 'for': function(key){\n\t return has(SymbolRegistry, key += '')\n\t ? SymbolRegistry[key]\n\t : SymbolRegistry[key] = $Symbol(key);\n\t },\n\t // 19.4.2.5 Symbol.keyFor(sym)\n\t keyFor: function keyFor(key){\n\t return keyOf(SymbolRegistry, key);\n\t },\n\t useSetter: function(){ setter = true; },\n\t useSimple: function(){ setter = false; }\n\t};\n\t// 19.4.2.2 Symbol.hasInstance\n\t// 19.4.2.3 Symbol.isConcatSpreadable\n\t// 19.4.2.4 Symbol.iterator\n\t// 19.4.2.6 Symbol.match\n\t// 19.4.2.8 Symbol.replace\n\t// 19.4.2.9 Symbol.search\n\t// 19.4.2.10 Symbol.species\n\t// 19.4.2.11 Symbol.split\n\t// 19.4.2.12 Symbol.toPrimitive\n\t// 19.4.2.13 Symbol.toStringTag\n\t// 19.4.2.14 Symbol.unscopables\n\t$.each.call((\n\t 'hasInstance,isConcatSpreadable,iterator,match,replace,search,' +\n\t 'species,split,toPrimitive,toStringTag,unscopables'\n\t).split(','), function(it){\n\t var sym = wks(it);\n\t symbolStatics[it] = useNative ? sym : wrap(sym);\n\t});\n\t\n\tsetter = true;\n\t\n\t$export($export.G + $export.W, {Symbol: $Symbol});\n\t\n\t$export($export.S, 'Symbol', symbolStatics);\n\t\n\t$export($export.S + $export.F * !useNative, 'Object', {\n\t // 19.1.2.2 Object.create(O [, Properties])\n\t create: $create,\n\t // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n\t defineProperty: $defineProperty,\n\t // 19.1.2.3 Object.defineProperties(O, Properties)\n\t defineProperties: $defineProperties,\n\t // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n\t getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n\t // 19.1.2.7 Object.getOwnPropertyNames(O)\n\t getOwnPropertyNames: $getOwnPropertyNames,\n\t // 19.1.2.8 Object.getOwnPropertySymbols(O)\n\t getOwnPropertySymbols: $getOwnPropertySymbols\n\t});\n\t\n\t// 24.3.2 JSON.stringify(value [, replacer [, space]])\n\t$JSON && $export($export.S + $export.F * (!useNative || buggyJSON), 'JSON', {stringify: $stringify});\n\t\n\t// 19.4.3.5 Symbol.prototype[@@toStringTag]\n\tsetToStringTag($Symbol, 'Symbol');\n\t// 20.2.1.9 Math[@@toStringTag]\n\tsetToStringTag(Math, 'Math', true);\n\t// 24.3.3 JSON[@@toStringTag]\n\tsetToStringTag(global.JSON, 'JSON', true);\n\n/***/ },\n/* 24 */\n/***/ function(module, exports) {\n\n\tvar hasOwnProperty = {}.hasOwnProperty;\n\tmodule.exports = function(it, key){\n\t return hasOwnProperty.call(it, key);\n\t};\n\n/***/ },\n/* 25 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// Thank's IE8 for his funny defineProperty\n\tmodule.exports = !__webpack_require__(13)(function(){\n\t return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;\n\t});\n\n/***/ },\n/* 26 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__(27);\n\n/***/ },\n/* 27 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar $ = __webpack_require__(18)\n\t , createDesc = __webpack_require__(28);\n\tmodule.exports = __webpack_require__(25) ? function(object, key, value){\n\t return $.setDesc(object, key, createDesc(1, value));\n\t} : function(object, key, value){\n\t object[key] = value;\n\t return object;\n\t};\n\n/***/ },\n/* 28 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function(bitmap, value){\n\t return {\n\t enumerable : !(bitmap & 1),\n\t configurable: !(bitmap & 2),\n\t writable : !(bitmap & 4),\n\t value : value\n\t };\n\t};\n\n/***/ },\n/* 29 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar global = __webpack_require__(9)\n\t , SHARED = '__core-js_shared__'\n\t , store = global[SHARED] || (global[SHARED] = {});\n\tmodule.exports = function(key){\n\t return store[key] || (store[key] = {});\n\t};\n\n/***/ },\n/* 30 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar def = __webpack_require__(18).setDesc\n\t , has = __webpack_require__(24)\n\t , TAG = __webpack_require__(31)('toStringTag');\n\t\n\tmodule.exports = function(it, tag, stat){\n\t if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});\n\t};\n\n/***/ },\n/* 31 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar store = __webpack_require__(29)('wks')\n\t , uid = __webpack_require__(32)\n\t , Symbol = __webpack_require__(9).Symbol;\n\tmodule.exports = function(name){\n\t return store[name] || (store[name] =\n\t Symbol && Symbol[name] || (Symbol || uid)('Symbol.' + name));\n\t};\n\n/***/ },\n/* 32 */\n/***/ function(module, exports) {\n\n\tvar id = 0\n\t , px = Math.random();\n\tmodule.exports = function(key){\n\t return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n\t};\n\n/***/ },\n/* 33 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar $ = __webpack_require__(18)\n\t , toIObject = __webpack_require__(34);\n\tmodule.exports = function(object, el){\n\t var O = toIObject(object)\n\t , keys = $.getKeys(O)\n\t , length = keys.length\n\t , index = 0\n\t , key;\n\t while(length > index)if(O[key = keys[index++]] === el)return key;\n\t};\n\n/***/ },\n/* 34 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// to indexed object, toObject with fallback for non-array-like ES3 strings\n\tvar IObject = __webpack_require__(35)\n\t , defined = __webpack_require__(6);\n\tmodule.exports = function(it){\n\t return IObject(defined(it));\n\t};\n\n/***/ },\n/* 35 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// fallback for non-array-like ES3 and non-enumerable old V8 strings\n\tvar cof = __webpack_require__(36);\n\tmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\n\t return cof(it) == 'String' ? it.split('') : Object(it);\n\t};\n\n/***/ },\n/* 36 */\n/***/ function(module, exports) {\n\n\tvar toString = {}.toString;\n\t\n\tmodule.exports = function(it){\n\t return toString.call(it).slice(8, -1);\n\t};\n\n/***/ },\n/* 37 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\n\tvar toIObject = __webpack_require__(34)\n\t , getNames = __webpack_require__(18).getNames\n\t , toString = {}.toString;\n\t\n\tvar windowNames = typeof window == 'object' && Object.getOwnPropertyNames\n\t ? Object.getOwnPropertyNames(window) : [];\n\t\n\tvar getWindowNames = function(it){\n\t try {\n\t return getNames(it);\n\t } catch(e){\n\t return windowNames.slice();\n\t }\n\t};\n\t\n\tmodule.exports.get = function getOwnPropertyNames(it){\n\t if(windowNames && toString.call(it) == '[object Window]')return getWindowNames(it);\n\t return getNames(toIObject(it));\n\t};\n\n/***/ },\n/* 38 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// all enumerable object keys, includes symbols\n\tvar $ = __webpack_require__(18);\n\tmodule.exports = function(it){\n\t var keys = $.getKeys(it)\n\t , getSymbols = $.getSymbols;\n\t if(getSymbols){\n\t var symbols = getSymbols(it)\n\t , isEnum = $.isEnum\n\t , i = 0\n\t , key;\n\t while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))keys.push(key);\n\t }\n\t return keys;\n\t};\n\n/***/ },\n/* 39 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 7.2.2 IsArray(argument)\n\tvar cof = __webpack_require__(36);\n\tmodule.exports = Array.isArray || function(arg){\n\t return cof(arg) == 'Array';\n\t};\n\n/***/ },\n/* 40 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(41);\n\tmodule.exports = function(it){\n\t if(!isObject(it))throw TypeError(it + ' is not an object!');\n\t return it;\n\t};\n\n/***/ },\n/* 41 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function(it){\n\t return typeof it === 'object' ? it !== null : typeof it === 'function';\n\t};\n\n/***/ },\n/* 42 */\n/***/ function(module, exports) {\n\n\tmodule.exports = true;\n\n/***/ },\n/* 43 */\n/***/ function(module, exports) {\n\n\n\n/***/ },\n/* 44 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tvar _setPrototypeOf = __webpack_require__(45);\n\t\n\tvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\t\n\tvar _create = __webpack_require__(49);\n\t\n\tvar _create2 = _interopRequireDefault(_create);\n\t\n\tvar _typeof2 = __webpack_require__(20);\n\t\n\tvar _typeof3 = _interopRequireDefault(_typeof2);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = function (subClass, superClass) {\n\t if (typeof superClass !== \"function\" && superClass !== null) {\n\t throw new TypeError(\"Super expression must either be null or a function, not \" + (typeof superClass === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(superClass)));\n\t }\n\t\n\t subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, {\n\t constructor: {\n\t value: subClass,\n\t enumerable: false,\n\t writable: true,\n\t configurable: true\n\t }\n\t });\n\t if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass;\n\t};\n\n/***/ },\n/* 45 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(46), __esModule: true };\n\n/***/ },\n/* 46 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(47);\n\tmodule.exports = __webpack_require__(10).Object.setPrototypeOf;\n\n/***/ },\n/* 47 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.1.3.19 Object.setPrototypeOf(O, proto)\n\tvar $export = __webpack_require__(8);\n\t$export($export.S, 'Object', {setPrototypeOf: __webpack_require__(48).set});\n\n/***/ },\n/* 48 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// Works with __proto__ only. Old v8 can't work with null proto objects.\n\t/* eslint-disable no-proto */\n\tvar getDesc = __webpack_require__(18).getDesc\n\t , isObject = __webpack_require__(41)\n\t , anObject = __webpack_require__(40);\n\tvar check = function(O, proto){\n\t anObject(O);\n\t if(!isObject(proto) && proto !== null)throw TypeError(proto + \": can't set as prototype!\");\n\t};\n\tmodule.exports = {\n\t set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n\t function(test, buggy, set){\n\t try {\n\t set = __webpack_require__(11)(Function.call, getDesc(Object.prototype, '__proto__').set, 2);\n\t set(test, []);\n\t buggy = !(test instanceof Array);\n\t } catch(e){ buggy = true; }\n\t return function setPrototypeOf(O, proto){\n\t check(O, proto);\n\t if(buggy)O.__proto__ = proto;\n\t else set(O, proto);\n\t return O;\n\t };\n\t }({}, false) : undefined),\n\t check: check\n\t};\n\n/***/ },\n/* 49 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(50), __esModule: true };\n\n/***/ },\n/* 50 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar $ = __webpack_require__(18);\n\tmodule.exports = function create(P, D){\n\t return $.create(P, D);\n\t};\n\n/***/ },\n/* 51 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _classCallCheck2 = __webpack_require__(14);\n\t\n\tvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\t\n\tvar _createClass2 = __webpack_require__(15);\n\t\n\tvar _createClass3 = _interopRequireDefault(_createClass2);\n\t\n\tvar _vector2d = __webpack_require__(52);\n\t\n\tvar _vector2d2 = _interopRequireDefault(_vector2d);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar Entity = (function () {\n\t function Entity(x, y) {\n\t (0, _classCallCheck3.default)(this, Entity);\n\t\n\t this.pos = new _vector2d2.default(x || 0, y || 0);\n\t\n\t this.state = {};\n\t this.children = [];\n\t\n\t this._calculatedPos = this.pos.clone();\n\t this._lastCalculated = 0;\n\t this._game = null;\n\t this._parent = null;\n\t }\n\t\n\t (0, _createClass3.default)(Entity, [{\n\t key: \"createChildEntity\",\n\t value: function createChildEntity() {\n\t\n\t var child = new Entity();\n\t\n\t child._updateGame(this._game);\n\t child._parent = this;\n\t this.children.push(child);\n\t\n\t return child;\n\t }\n\t }, {\n\t key: \"addChildEntity\",\n\t value: function addChildEntity(child) {\n\t\n\t child._updateGame(this._game);\n\t child._parent = this;\n\t this.children.push(child);\n\t\n\t return child;\n\t }\n\t }, {\n\t key: \"detachChildEntity\",\n\t value: function detachChildEntity(entity) {\n\t // Not implemented\n\t }\n\t }, {\n\t key: \"_recalculatePos\",\n\t value: function _recalculatePos() {\n\t\n\t // NK: This should be called within \"render\", not \"update\". 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 _recalculatePos method all the way back up the tree and continuously adding the results together.\n\t\n\t // 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\t\n\t if (this._game && this._lastCalculated < this._game.frameCounter) {\n\t\n\t if (this._parent) {\n\t\n\t var parentPos = this._parent._recalculatePos();\n\t\n\t this._calculatedPos.x = this.pos.x + parentPos.x;\n\t this._calculatedPos.y = this.pos.y + parentPos.y;\n\t } else {\n\t this._calculatedPos.x = this.pos.x;\n\t this._calculatedPos.y = this.pos.y;\n\t }\n\t\n\t this._lastCalculated = this._game.frameCounter;\n\t }\n\t\n\t return this._calculatedPos;\n\t }\n\t }, {\n\t key: \"_updateGame\",\n\t value: function _updateGame(game) {\n\t\n\t this._game = game;\n\t\n\t this.children.forEach(function (child) {\n\t child._updateGame(game);\n\t });\n\t }\n\t }, {\n\t key: \"_updateEntity\",\n\t value: function _updateEntity() {\n\t\n\t if (this.update && this.update() || typeof this.update === \"undefined\") {\n\t\n\t this.children.forEach(function (child) {\n\t child._updateEntity();\n\t });\n\t }\n\t }\n\t }, {\n\t key: \"_renderEntity\",\n\t value: function _renderEntity() {\n\t\n\t if (this.render && this.render() || typeof this.render === \"undefined\") {\n\t\n\t this.children.forEach(function (child) {\n\t child._renderEntity();\n\t });\n\t }\n\t }\n\t }]);\n\t return Entity;\n\t})();\n\t\n\texports.default = Entity;\n\n/***/ },\n/* 52 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _classCallCheck2 = __webpack_require__(14);\n\t\n\tvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\t\n\tvar _createClass2 = __webpack_require__(15);\n\t\n\tvar _createClass3 = _interopRequireDefault(_createClass2);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar Vector2D = (function () {\n\t function Vector2D(x, y) {\n\t (0, _classCallCheck3.default)(this, Vector2D);\n\t\n\t this.x = x || 0;this.y = y || 0;\n\t }\n\t\n\t (0, _createClass3.default)(Vector2D, [{\n\t key: \"invert\",\n\t value: function invert() {\n\t this.x = -this.x;this.y = -this.y;\n\t return this;\n\t }\n\t }, {\n\t key: \"add\",\n\t value: function add(val) {\n\t\n\t if (val instanceof Vector2D) {\n\t this.x += val.x;this.y += val.y;\n\t } else {\n\t this.x += val;this.y += val;\n\t }\n\t\n\t return this;\n\t }\n\t }, {\n\t key: \"subtract\",\n\t value: function subtract(val) {\n\t\n\t if (val instanceof Vector2D) {\n\t this.x -= val.x;this.y -= val.y;\n\t } else {\n\t this.x -= val;this.y -= val;\n\t }\n\t\n\t return this;\n\t }\n\t }, {\n\t key: \"multiply\",\n\t value: function multiply(val) {\n\t\n\t if (val instanceof Vector2D) {\n\t this.x *= val.x;this.y *= val.y;\n\t } else {\n\t this.x *= val;this.y *= val;\n\t }\n\t\n\t return this;\n\t }\n\t }, {\n\t key: \"divide\",\n\t value: function divide(val) {\n\t\n\t if (val instanceof Vector2D) {\n\t this.x /= val.x;this.y /= val.y;\n\t } else {\n\t this.x /= val;this.y /= val;\n\t }\n\t\n\t return this;\n\t }\n\t }, {\n\t key: \"equals\",\n\t value: function equals(val) {\n\t return this.x == val.x && this.y == val.y;\n\t }\n\t }, {\n\t key: \"dot\",\n\t value: function dot(val) {\n\t return this.x * val.x + this.y * val.y;\n\t }\n\t }, {\n\t key: \"length\",\n\t value: function length() {\n\t return Math.sqrt(this.dot(this));\n\t }\n\t }, {\n\t key: \"unit\",\n\t value: function unit() {\n\t return this.divide(this.length());\n\t }\n\t }, {\n\t key: \"min\",\n\t value: function min() {\n\t return Math.min(this.x, this.y);\n\t }\n\t }, {\n\t key: \"max\",\n\t value: function max() {\n\t return Math.max(this.x, this.y);\n\t }\n\t }, {\n\t key: \"degrees\",\n\t value: function degrees() {\n\t return Math.atan(this.x, this.y) * 180;\n\t }\n\t }, {\n\t key: \"toArray\",\n\t value: function toArray() {\n\t return [this.x, this.y];\n\t }\n\t }, {\n\t key: \"toString\",\n\t value: function toString() {\n\t return \"[\" + this.x + \"},\" + this.y + \"}]\";\n\t }\n\t }, {\n\t key: \"clone\",\n\t value: function clone() {\n\t return new Vector2D(this.x, this.y);\n\t }\n\t }]);\n\t return Vector2D;\n\t})();\n\t\n\texports.default = Vector2D;\n\n/***/ },\n/* 53 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.KeyConsts = undefined;\n\t\n\tvar _classCallCheck2 = __webpack_require__(14);\n\t\n\tvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\t\n\tvar _createClass2 = __webpack_require__(15);\n\t\n\tvar _createClass3 = _interopRequireDefault(_createClass2);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar KeyConsts = {\n\t SPACE: 32,\n\t BACKSPACE: 8,\n\t TAB: 9,\n\t ENTER: 13,\n\t SHIFT: 16,\n\t CTRL: 17,\n\t ALT: 18,\n\t PAUSE: 19,\n\t CAPS_LOCK: 20,\n\t ESCAPE: 27,\n\t PAGE_UP: 33,\n\t PAGE_DOWN: 34,\n\t END: 35,\n\t HOME: 36,\n\t LEFT: 37,\n\t UP: 38,\n\t RIGHT: 39,\n\t DOWN: 40,\n\t INSERT: 45,\n\t DELETE: 46,\n\t NUM_0: 48,\n\t NUM_1: 49,\n\t NUM_2: 50,\n\t NUM_3: 51,\n\t NUM_4: 52,\n\t NUM_5: 53,\n\t NUM_6: 54,\n\t NUM_7: 55,\n\t NUM_8: 56,\n\t NUM_9: 57,\n\t CHAR_A: 65,\n\t CHAR_B: 66,\n\t CHAR_C: 67,\n\t CHAR_D: 68,\n\t CHAR_E: 69,\n\t CHAR_F: 70,\n\t CHAR_G: 71,\n\t CHAR_H: 72,\n\t CHAR_I: 73,\n\t CHAR_J: 74,\n\t CHAR_K: 75,\n\t CHAR_L: 76,\n\t CHAR_M: 77,\n\t CHAR_N: 78,\n\t CHAR_O: 79,\n\t CHAR_P: 80,\n\t CHAR_Q: 81,\n\t CHAR_R: 82,\n\t CHAR_S: 83,\n\t CHAR_T: 84,\n\t CHAR_U: 85,\n\t CHAR_V: 86,\n\t CHAR_W: 87,\n\t CHAR_X: 88,\n\t CHAR_Y: 89,\n\t CHAR_Z: 90,\n\t NUM_PAD_0: 96,\n\t NUM_PAD_1: 97,\n\t NUM_PAD_2: 98,\n\t NUM_PAD_3: 99,\n\t NUM_PAD_4: 100,\n\t NUM_PAD_5: 101,\n\t NUM_PAD_6: 102,\n\t NUM_PAD_7: 103,\n\t NUM_PAD_8: 104,\n\t NUM_PAD_9: 105,\n\t MULTIPLY: 106,\n\t ADD: 107,\n\t SUBTRACT: 109,\n\t DECIMAL: 110,\n\t DIVIDE: 111,\n\t F1: 112,\n\t F2: 113,\n\t F3: 114,\n\t F4: 115,\n\t F5: 116,\n\t F6: 117,\n\t F7: 118,\n\t F8: 119,\n\t F9: 120,\n\t F10: 121,\n\t F11: 122,\n\t F12: 123,\n\t SEMICOLON: 186,\n\t EQUALS: 187,\n\t COMMA: 188,\n\t DASH: 189,\n\t PERIOD: 190,\n\t FORWARD_SLASH: 191,\n\t GRAVE: 192,\n\t OPEN_BRACKET: 219,\n\t BACK_SLASH: 220,\n\t CLOSE_BRACKET: 221,\n\t SINGLE_QUOTE: 222\n\t};\n\t\n\tvar KeyboardInput = (function () {\n\t function KeyboardInput() {\n\t (0, _classCallCheck3.default)(this, KeyboardInput);\n\t\n\t var self = this;\n\t self._keyState = {};\n\t\n\t window.addEventListener(\"keydown\", function (event) {\n\t self._keyDownHandler(event);\n\t }, false);\n\t\n\t window.addEventListener(\"keyup\", function (event) {\n\t self._keyUpHandler(event);\n\t }, false);\n\t }\n\t\n\t (0, _createClass3.default)(KeyboardInput, [{\n\t key: \"isPressed\",\n\t value: function isPressed(keyCode) {\n\t return !!this._keyState[keyCode];\n\t }\n\t }, {\n\t key: \"_keyDownHandler\",\n\t value: function _keyDownHandler(event) {\n\t this._keyState[event.keyCode] = true;\n\t }\n\t }, {\n\t key: \"_keyUpHandler\",\n\t value: function _keyUpHandler(event) {\n\t this._keyState[event.keyCode] = false;\n\t }\n\t }]);\n\t return KeyboardInput;\n\t})();\n\t\n\texports.default = KeyboardInput;\n\texports.KeyConsts = KeyConsts;\n\n/***/ },\n/* 54 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _getPrototypeOf = __webpack_require__(2);\n\t\n\tvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\t\n\tvar _classCallCheck2 = __webpack_require__(14);\n\t\n\tvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\t\n\tvar _createClass2 = __webpack_require__(15);\n\t\n\tvar _createClass3 = _interopRequireDefault(_createClass2);\n\t\n\tvar _possibleConstructorReturn2 = __webpack_require__(19);\n\t\n\tvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\t\n\tvar _inherits2 = __webpack_require__(44);\n\t\n\tvar _inherits3 = _interopRequireDefault(_inherits2);\n\t\n\tvar _entity = __webpack_require__(51);\n\t\n\tvar _entity2 = _interopRequireDefault(_entity);\n\t\n\tvar _vector2d = __webpack_require__(52);\n\t\n\tvar _vector2d2 = _interopRequireDefault(_vector2d);\n\t\n\tvar _collisionmethods = __webpack_require__(55);\n\t\n\tvar _collisionmethods2 = _interopRequireDefault(_collisionmethods);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar Rect = (function (_Entity) {\n\t (0, _inherits3.default)(Rect, _Entity);\n\t\n\t function Rect(x, y, width, height, color) {\n\t (0, _classCallCheck3.default)(this, Rect);\n\t\n\t var _this = (0, _possibleConstructorReturn3.default)(this, (0, _getPrototypeOf2.default)(Rect).call(this, x, y));\n\t\n\t _this.size = new _vector2d2.default(width, height);\n\t _this.color = color;\n\t\n\t return _this;\n\t }\n\t\n\t (0, _createClass3.default)(Rect, [{\n\t key: \"isColliding\",\n\t value: function isColliding(entity) {\n\t\n\t if (entity instanceof Rect) {\n\t return _collisionmethods2.default.AABB(this, entity);\n\t }\n\t }\n\t }, {\n\t key: \"render\",\n\t value: function render() {\n\t\n\t this._recalculatePos();\n\t\n\t if (this._game) {\n\t\n\t this._game.context.fillStyle = this.color;\n\t this._game.context.fillRect(this._calculatedPos.x, this._calculatedPos.y, this.size.x, this.size.y);\n\t\n\t return true;\n\t } else {\n\t return false;\n\t }\n\t }\n\t }]);\n\t return Rect;\n\t})(_entity2.default);\n\t\n\texports.default = Rect;\n\n/***/ },\n/* 55 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _classCallCheck2 = __webpack_require__(14);\n\t\n\tvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\t\n\tvar _createClass2 = __webpack_require__(15);\n\t\n\tvar _createClass3 = _interopRequireDefault(_createClass2);\n\t\n\tvar _rect = __webpack_require__(54);\n\t\n\tvar _rect2 = _interopRequireDefault(_rect);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar CollisionMethods = (function () {\n\t function CollisionMethods() {\n\t (0, _classCallCheck3.default)(this, CollisionMethods);\n\t }\n\t\n\t (0, _createClass3.default)(CollisionMethods, null, [{\n\t key: \"AABB\",\n\t value: function AABB(entity1, entity2) {\n\t\n\t if (!entity1 instanceof _rect2.default || !entity2 instanceof _rect2.default) {\n\t throw new Error(\"AABB collisions can only be checked on these entity types: Rect\");\n\t }\n\t\n\t return entity1.pos.x < entity2.pos.x + entity2.size.x && entity1.pos.x + entity1.size.x > entity2.pos.x && entity1.pos.y < entity2.pos.y + entity2.size.y && entity1.size.y + entity1.pos.y > entity2.pos.y;\n\t }\n\t }]);\n\t return CollisionMethods;\n\t})();\n\t\n\texports.default = CollisionMethods;\n\n/***/ },\n/* 56 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _classCallCheck2 = __webpack_require__(14);\n\t\n\tvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\t\n\tvar _createClass2 = __webpack_require__(15);\n\t\n\tvar _createClass3 = _interopRequireDefault(_createClass2);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\tvar Color = (function () {\n\t function Color(r, g, b, a) {\n\t (0, _classCallCheck3.default)(this, Color);\n\t\n\t this.r = r || 0;\n\t this.g = g || 0;\n\t this.b = b || 0;\n\t this.a = a || 1;\n\t }\n\t\n\t (0, _createClass3.default)(Color, [{\n\t key: \"toString\",\n\t value: function toString() {\n\t return \"rgba(\" + this.r + \", \" + this.g + \", \" + this.b + \", \" + this.a + \")\";\n\t }\n\t }, {\n\t key: \"toHex\",\n\t value: function toHex() {\n\t return \"#\" + (r << 16 | g << 8 | b).toString(16);\n\t }\n\t }]);\n\t return Color;\n\t})();\n\t\n\texports.default = Color;\n\n/***/ }\n/******/ ]);\n\n\n/** WEBPACK FOOTER **\n ** es5.js\n **/"," \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 aca3eac3faf20cb34c79\n **/","\"use strict\";\n\nimport Game from \"./classes/game.js\";\nimport Entity from \"./classes/entity.js\";\nimport Vector2D from \"./classes/vector2d.js\";\nimport Rect from \"./classes/rect.js\";\nimport Color from \"./classes/color.js\";\n\nimport {KeyConsts} from \"./classes/keyboardinput.js\";\n\n\nconst Classes = {\n Game: Game,\n Entity: Entity,\n Rect: Rect,\n Vector2D: Vector2D,\n Color: Color\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.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.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.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.lastFrameDelta = 0;\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 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.Game.start called, game instance is already started\");\n return false; // Game is already running\n }\n\n self._wantPause = false;\n\n var 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\n var loop = function () {\n\n self.frameCounter++;\n\n let currentTimestamp = +(new Date());\n\n self.lastFrameDelta = currentTimestamp - self._lastFrameTimestamp;\n self._lastFrameTimestamp = currentTimestamp;\n\n self.lastFrameDelta = Math.min(self.lastFrameDelta, 1000 / self.desiredFps);\n\n if (self._wantPause) {\n return;\n }\n\n self._updateEntity.bind(self);\n self._updateEntity();\n\n self._renderEntity.bind(self);\n self._renderEntity();\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.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\n **/","require('../../modules/es6.object.get-prototype-of');\nmodule.exports = require('../../modules/$.core').Object.getPrototypeOf;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/~/core-js/library/fn/object/get-prototype-of.js\n ** module id = 3\n ** module chunks = 0\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 ** ./~/babel-runtime/~/core-js/library/modules/es6.object.get-prototype-of.js\n ** module id = 4\n ** module chunks = 0\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 ** ./~/babel-runtime/~/core-js/library/modules/$.to-object.js\n ** module id = 5\n ** module chunks = 0\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 ** ./~/babel-runtime/~/core-js/library/modules/$.defined.js\n ** module id = 6\n ** module chunks = 0\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 ** ./~/babel-runtime/~/core-js/library/modules/$.object-sap.js\n ** module id = 7\n ** module chunks = 0\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 ** ./~/babel-runtime/~/core-js/library/modules/$.export.js\n ** module id = 8\n ** module chunks = 0\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 ** ./~/babel-runtime/~/core-js/library/modules/$.global.js\n ** module id = 9\n ** module chunks = 0\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 ** ./~/babel-runtime/~/core-js/library/modules/$.core.js\n ** module id = 10\n ** module chunks = 0\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 ** ./~/babel-runtime/~/core-js/library/modules/$.ctx.js\n ** module id = 11\n ** module chunks = 0\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 ** ./~/babel-runtime/~/core-js/library/modules/$.a-function.js\n ** module id = 12\n ** module chunks = 0\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 ** ./~/babel-runtime/~/core-js/library/modules/$.fails.js\n ** module id = 13\n ** module chunks = 0\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\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\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\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 ** ./~/babel-runtime/~/core-js/library/fn/object/define-property.js\n ** module id = 17\n ** module chunks = 0\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 ** ./~/babel-runtime/~/core-js/library/modules/$.js\n ** module id = 18\n ** module chunks = 0\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\n **/","\"use strict\";\n\nexports.__esModule = true;\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _typeof(obj) { return obj && typeof _Symbol !== \"undefined\" && obj.constructor === _Symbol ? \"symbol\" : typeof obj; }\n\nexports.default = function (obj) {\n return obj && typeof _symbol2.default !== \"undefined\" && 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\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 = 21\n ** module chunks = 0\n **/","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nmodule.exports = require('../../modules/$.core').Symbol;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/~/core-js/library/fn/symbol/index.js\n ** module id = 22\n ** module chunks = 0\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 ** ./~/babel-runtime/~/core-js/library/modules/es6.symbol.js\n ** module id = 23\n ** module chunks = 0\n **/","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function(it, key){\n return hasOwnProperty.call(it, key);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/~/core-js/library/modules/$.has.js\n ** module id = 24\n ** module chunks = 0\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 ** ./~/babel-runtime/~/core-js/library/modules/$.descriptors.js\n ** module id = 25\n ** module chunks = 0\n **/","module.exports = require('./$.hide');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/~/core-js/library/modules/$.redefine.js\n ** module id = 26\n ** module chunks = 0\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 ** ./~/babel-runtime/~/core-js/library/modules/$.hide.js\n ** module id = 27\n ** module chunks = 0\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 ** ./~/babel-runtime/~/core-js/library/modules/$.property-desc.js\n ** module id = 28\n ** module chunks = 0\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 ** ./~/babel-runtime/~/core-js/library/modules/$.shared.js\n ** module id = 29\n ** module chunks = 0\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 ** ./~/babel-runtime/~/core-js/library/modules/$.set-to-string-tag.js\n ** module id = 30\n ** module chunks = 0\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 ** ./~/babel-runtime/~/core-js/library/modules/$.wks.js\n ** module id = 31\n ** module chunks = 0\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 ** ./~/babel-runtime/~/core-js/library/modules/$.uid.js\n ** module id = 32\n ** module chunks = 0\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 ** ./~/babel-runtime/~/core-js/library/modules/$.keyof.js\n ** module id = 33\n ** module chunks = 0\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 ** ./~/babel-runtime/~/core-js/library/modules/$.to-iobject.js\n ** module id = 34\n ** module chunks = 0\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 ** ./~/babel-runtime/~/core-js/library/modules/$.iobject.js\n ** module id = 35\n ** module chunks = 0\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 ** ./~/babel-runtime/~/core-js/library/modules/$.cof.js\n ** module id = 36\n ** module chunks = 0\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 ** ./~/babel-runtime/~/core-js/library/modules/$.get-names.js\n ** module id = 37\n ** module chunks = 0\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 ** ./~/babel-runtime/~/core-js/library/modules/$.enum-keys.js\n ** module id = 38\n ** module chunks = 0\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 ** ./~/babel-runtime/~/core-js/library/modules/$.is-array.js\n ** module id = 39\n ** module chunks = 0\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 ** ./~/babel-runtime/~/core-js/library/modules/$.an-object.js\n ** module id = 40\n ** module chunks = 0\n **/","module.exports = function(it){\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/~/core-js/library/modules/$.is-object.js\n ** module id = 41\n ** module chunks = 0\n **/","module.exports = true;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/~/core-js/library/modules/$.library.js\n ** module id = 42\n ** module chunks = 0\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 = 44\n ** module chunks = 0\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 = 45\n ** module chunks = 0\n **/","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/$.core').Object.setPrototypeOf;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/~/core-js/library/fn/object/set-prototype-of.js\n ** module id = 46\n ** module chunks = 0\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 ** ./~/babel-runtime/~/core-js/library/modules/es6.object.set-prototype-of.js\n ** module id = 47\n ** module chunks = 0\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 ** ./~/babel-runtime/~/core-js/library/modules/$.set-proto.js\n ** module id = 48\n ** module chunks = 0\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 = 49\n ** module chunks = 0\n **/","var $ = require('../../modules/$');\nmodule.exports = function create(P, D){\n return $.create(P, D);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/babel-runtime/~/core-js/library/fn/object/create.js\n ** module id = 50\n ** module chunks = 0\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\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 }\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 (entity) {\n // Not implemented\n }\n\n\n _recalculatePos () {\n\n // NK: This should be called within \"render\", not \"update\". 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 _recalculatePos 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 if (this._game && this._lastCalculated < this._game.frameCounter) {\n\n if (this._parent) {\n\n let parentPos = this._parent._recalculatePos();\n\n this._calculatedPos.x = this.pos.x + parentPos.x;\n this._calculatedPos.y = this.pos.y + parentPos.y;\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 () {\n\n if ((this.update && this.update()) || (typeof this.update === \"undefined\")) {\n\n this.children.forEach((child) => {\n child._updateEntity();\n });\n\n }\n\n }\n\n\n _renderEntity () {\n\n if ((this.render && this.render()) || (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 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}\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\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 isColliding (entity) {\n\n if (entity instanceof Rect) {\n return CollisionMethods.AABB(this, entity);\n }\n\n }\n\n\n render () {\n\n this._recalculatePos();\n\n if (this._game) {\n\n this._game.context.fillStyle = this.color;\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 **/","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 **/","class 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/src/libs/collisionmethods.js b/src/libs/collisionmethods.js index e4ca9bd..cec5d57 100644 --- a/src/libs/collisionmethods.js +++ b/src/libs/collisionmethods.js @@ -1,5 +1,4 @@ import Rect from "../classes/rect.js"; -import Vector2D from "../classes/vector2d.js"; class CollisionMethods {