{"version":3,"sources":["webpack:///webpack/bootstrap b0b7eb4a2b8dcb74cec3","webpack:///./js/main.js","webpack:///./js/webgl.js","webpack:///./~/blob-util/lib/index.js","webpack:///./~/blob/index.js","webpack:///./~/native-or-lie/index.js","webpack:///./~/lie/lib/browser.js","webpack:///./~/immediate/lib/browser.js","webpack:///./js/assetmgr.js","webpack:///./js/math.js","webpack:///./js/util.js","webpack:///./js/gfxutils.js","webpack:///./js/states/preloader.js","webpack:///./js/states/loader.js","webpack:///./js/material/flatColor.js","webpack:///./js/font.js","webpack:///./js/material/textured.js","webpack:///./js/transitions/fade.js","webpack:///./js/states/play.js","webpack:///./js/states/baseState.js","webpack:///./js/keyboard.js","webpack:///./js/material/lights.js","webpack:///./js/objects/skyBackground.js","webpack:///./js/objects/earth.js","webpack:///./js/states/runandgundemo.js","webpack:///./js/objects/checkerboardBg.js","webpack:///./js/physicsAA2D.js","webpack:///./js/math2dvec.js","webpack:///./js/sound.js"],"names":[],"mappings":"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CD;AA9QK,IAAR;AAgRA,UAAO,CAAP;AACD,EA3SM,C;;;;;;ACPP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAgB;AAChB;AACA,0EAAyE,8BAA8B;AACvG;AACA,YAAW,MAAM;AACjB,YAAW,OAAO,+BAA+B,oBAAoB;AACrE,cAAa;AACb;AACA;AACA;AACA;AACA,gBAAe,eAAe;AAC9B;AACA;AACA;;AAEA;AACA;AACA,4BAA2B;AAC3B;AACA;AACA,YAAW,KAAK;AAChB,cAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA,4BAA2B;AAC3B;AACA;AACA,YAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAW,KAAK;AAChB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,iBAAiB;AAC5B,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA,sCAAqC,WAAW;AAChD,IAAG;AACH;;AAEA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,iBAAiB;AAC5B,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA,YAAW,KAAK;AAChB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA,gCAA+B;AAC/B;AACA,YAAW,OAAO;AAClB,cAAa,QAAQ;AACrB;AACA;AACA;AACA,wCAAuC;AACvC;;AAEA;AACA,gCAA+B,WAAW;AAC1C,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,iBAAiB;AAC5B,YAAW,iBAAiB;AAC5B;AACA,YAAW,iBAAiB;AAC5B;AACA,cAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;;AAEA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,iBAAiB;AAC5B,YAAW,iBAAiB;AAC5B;AACA,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,iBAAiB;AAC5B,YAAW,iBAAiB;AAC5B;AACA,YAAW,iBAAiB;AAC5B;AACA,cAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA,YAAW,YAAY;AACvB,YAAW,iBAAiB;AAC5B,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA,YAAW,KAAK;AAChB,cAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpTA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,kBAAiB,gBAAgB;AACjC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,kBAAiB,gBAAgB;AACjC;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qCAAoC;AACpC;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA;AACA,EAAC;;;;;;;;AC/FD;;;;;;;ACAA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AA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","file":"bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap b0b7eb4a2b8dcb74cec3","import {WebGLRenderer} from \"./webgl.js\";\nimport {PreloaderState} from \"./states/preloader.js\";\nimport PlayState from \"./states/play.js\";\nimport RunAndGunDemoState from \"./states/runandgundemo.js\";\nimport {AssetManager} from \"./assetmgr.js\";\nimport {SoundEngine} from \"./sound.js\";\nimport {FontLoader} from \"./font.js\";\n\nlet game = {};\nwindow.theGame = game;\n\nwindow.onload = () => {\n let clickState = false;\n let lastClickState = false;\n\n try {\n let canvas = document.getElementById(\"gamecanvas\");\n game.render = WebGLRenderer(game, canvas, canvas.getContext(\"webgl\", {\n alpha: true,\n stencil: true\n }) || canvas.getContext(\"experimental-webgl\", {\n alpha: true,\n stencil: true\n }));\n game.sound = SoundEngine(game);\n game.mouse = {\n x: 0, y: 0,\n justClicked() {\n return clickState && !lastClickState;\n }\n };\n \n game.switchState = (newstate) => {\n if(game.state && game.state.destroy) {\n game.state.destroy();\n }\n game.state = newstate;\n if(newstate.initialize) {\n newstate.initialize();\n }\n };\n \n game.switchState(PreloaderState(game, PlayState));\n \n AssetManager.addAssetLoader(game.render.assetLoader());\n AssetManager.addAssetLoader(game.sound.createAssetLoader());\n AssetManager.addAssetLoader(FontLoader);\n } catch(err) {\n document.write(err);\n return;\n }\n \n let lastTick = performance.now();\n let lastFrameDone = 0;\n game.tick = (timestamp) => {\n let delta = timestamp - lastTick;\n lastTick = timestamp;\n\n game.render.prepareFrame();\n \n if(game.state && game.state.tick) {\n game.state.tick(delta);\n }\n\n if(game.state && game.state.getKeyboard) {\n game.state.getKeyboard().update();\n }\n\n lastClickState = clickState;\n\n game.render.finalizeFrame();\n \n window.requestAnimationFrame(game.tick);\n \n lastFrameDone = performance.now();\n };\n window.requestAnimationFrame(game.tick);\n\n document.addEventListener(\"keydown\", (evt) => {\n if(game.state && game.state.getKeyboard) {\n game.state.getKeyboard().keyDown(evt);\n }\n });\n\n document.addEventListener(\"keyup\", (evt) => {\n if(game.state && game.state.getKeyboard) {\n game.state.getKeyboard().keyUp(evt);\n }\n });\n\n document.addEventListener(\"mousemove\", (evt) => {\n game.mouse.x = evt.clientX;\n game.mouse.y = evt.clientY;\n });\n\n document.addEventListener(\"mousedown\", (evt) => {\n clickState = true;\n });\n document.addEventListener(\"mouseup\", (evt) => {\n clickState = false;\n });\n};\n\n\n\n// WEBPACK FOOTER //\n// ./js/main.js","import * as BlobUtil from \"blob-util\";\n\nimport {AssetManager} from \"./assetmgr.js\";\nimport {Mat4, Mat4Stack, Vec4} from \"./math.js\";\nimport {blobToImage} from \"./util.js\";\nimport {Colors} from \"./gfxutils.js\";\n\nexport let WebGLRenderer = (game, canvas, gl) => {\n if(!gl) {\n if(!canvas.getContext(\"webgl\")) {\n throw \"Could not open WebGL context (no parameters)\";\n }\n if(!canvas.getContext(\"webgl\", {alpha: false})) {\n throw \"Could not open WebGL context {alpha: false}\";\n }\n if(!canvas.getContext(\"webgl\", {stencil: true})) {\n throw \"Could not open WebGL context {stencil: true}\";\n }\n if(!canvas.getContext(\"webgl\", {alpha: false, stencil: true})) {\n throw \"Could not open WebGL context {alpha: false, stencil: true}\";\n }\n throw \"Could not open WebGL context, all tests passed?!\";\n }\n\n gl.enable(gl.BLEND);\n gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);\n\n let pixelMatrix = Mat4.create();\n\n let currentMaterial = null;\n let currentMaterialFlush = null;\n let currentFramebuffer = null;\n \n let r = {\n gl,\n width: 0,\n height: 0,\n cwidth: 0,\n cheight: 0,\n manageSize() {\n if(canvas.width != window.innerWidth || canvas.height != window.innerHeight) {\n r.width = r.cwidth = canvas.width = window.innerWidth;\n r.height = r.cheight = canvas.height = window.innerHeight;\n\n gl.viewport(0, 0, canvas.width, canvas.height);\n \n if(game.state && game.state.updateSize) {\n game.state.updateSize(canvas.width, canvas.height);\n }\n }\n },\n clear(color) {\n gl.clearColor(color.r, color.g, color.b, color.a);\n gl.clear(gl.COLOR_BUFFER_BIT);\n },\n prepareFrame() {\n r.manageSize();\n currentMaterial = null;\n gl.bindFramebuffer(gl.FRAMEBUFFER, null);\n gl.blendEquation(gl.FUNC_ADD);\n gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);\n },\n finalizeFrame() {\n r.flushMaterials();\n },\n \n // padding is extra space beyond the edges of the canvas that is guarenteed to be there\n // margin space is not guarenteed to be there; it serves only to make resizing smoother\n // margin defaults to 50 pixels\n createFramebuffer(padding, margin=50) {\n let width = r.width + 2*padding + 2*margin;\n let height = r.height + 2*padding + 2*margin;\n \n let fb = gl.createFramebuffer();\n gl.bindFramebuffer(gl.FRAMEBUFFER, fb);\n\n let colorBuffer = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, colorBuffer);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, width, height, 0, gl.RGBA, gl.UNSIGNED_BYTE, null);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n\n gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, colorBuffer, 0);\n \n switch(gl.checkFramebufferStatus(gl.FRAMEBUFFER)) {\n case gl.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:\n throw \"FRAMEBUFFER_INCOMPLETE_ATTACHMENT\";\n case gl.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:\n throw \"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT\";\n case gl.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:\n throw \"FRAMEBUFFER_INCOMPLETE_DIMENSIONS\";\n case gl.FRAMEBUFFER_UNSUPPORTED:\n throw \"FRAMEBUFFER_UNSUPPORTED\";\n case gl.FRAMEBUFFER_COMPLETE:\n break;\n default:\n throw \"WTF?\"\n }\n\n gl.bindTexture(gl.TEXTURE_2D, null);\n gl.bindFramebuffer(gl.FRAMEBUFFER, null);\n\n let colorBufferObj = {\n glTex: colorBuffer,\n width: width,\n height: height\n };\n\n let matrix = Mat4.create();\n let originalMatrix = Mat4.create();\n let workingMatrix = Mat4.create();\n \n let computeMatrix = () => {\n matrix.load.scale(canvas.width/width, canvas.height/height);\n };\n \n computeMatrix();\n \n let self = {\n boundsMatrix: matrix,\n bind(modMat) {\n if(canvas.width + 2*padding > width\n || canvas.height + 2*padding > height) {\n width = r.cwidth + 2*padding + 2*margin;\n height = r.cheight + 2*padding + 2*margin;\n colorBufferObj.width = width;\n colorBufferObj.height = height;\n gl.bindTexture(gl.TEXTURE_2D, colorBuffer); // resize color buffer\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, width, height, 0, gl.RGBA, gl.UNSIGNED_BYTE, null);\n gl.bindTexture(gl.TEXTURE_2D, null);\n }\n\n computeMatrix();\n\n originalMatrix.load.from(modMat);\n workingMatrix.load.from(matrix);\n workingMatrix.multiply(modMat);\n modMat.load.from(workingMatrix);\n //modMat.multiply(matrix);\n \n if(currentMaterial) {\n currentMaterialFlush();\n }\n \n gl.bindFramebuffer(gl.FRAMEBUFFER, fb);\n currentFramebuffer = self;\n r.width = width;\n r.height = height;\n gl.viewport(0, 0, r.width, r.height);\n },\n unbind(modMat) {\n if(currentMaterial) {\n currentMaterialFlush();\n }\n \n gl.bindFramebuffer(gl.FRAMEBUFFER, null);\n currentFramebuffer = null;\n r.width = canvas.width;\n r.height = canvas.height;\n gl.viewport(0, 0, r.width, r.height);\n modMat.load.from(originalMatrix);\n },\n draw(material) {\n let origMat = material.getMatrix();\n material.setMatrix(Mat4.identity);\n material.rect(-1.0-(width-canvas.width)/canvas.width,\n -1.0-(height-canvas.height)/canvas.height,\n width*2/canvas.width, height*2/canvas.height,\n colorBufferObj);\n material.setMatrix(origMat);\n }\n };\n\n return self;\n },\n assetLoader() {\n let loaders = {\n texture(placeholder) {\n return AssetManager.getFile(placeholder.spec.src).then((blob) => {\n return blobToImage(blob);\n }).then((img) => {\n let texture = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, true);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, img);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\n //gl.generateMipmap(gl.TEXTURE_2D);\n gl.bindTexture(gl.TEXTURE_2D, null);\n return {\n glTex: texture,\n width: img.width,\n height: img.height\n };\n });\n },\n shader(placeholder) {\n if(placeholder.spec.shaderType != \"fragment\" && placeholder.spec.shaderType != \"vertex\") {\n return Promise.reject(\"unrecognized shader type '\" + placeholder.spec.shaderType + \"'\");\n }\n return AssetManager.getFile(placeholder.spec.src).then((blob) => {\n return BlobUtil.blobToBinaryString(blob);\n }).then((src) => {\n let shader = gl.createShader({fragment: gl.FRAGMENT_SHADER, vertex: gl.VERTEX_SHADER}[placeholder.spec.shaderType]);\n gl.shaderSource(shader, src);\n gl.compileShader(shader);\n if(!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {\n let log = gl.getShaderInfoLog(shader);\n gl.deleteShader(shader);\n throw \"Could not compile shader: \" + log;\n }\n \n return {\n glObject: shader,\n attributes: placeholder.spec.attributes || [],\n uniforms: placeholder.spec.uniforms || []\n };\n });\n },\n program(placeholder) {\n return Promise.all(placeholder.spec.shaders.map((id) => {\n return placeholder.depend(id);\n })).then((shaders) => {\n let program = gl.createProgram();\n for(let i = 0; i < shaders.length; i++) {\n gl.attachShader(program, shaders[i].glObject);\n }\n \n gl.linkProgram(program);\n \n if(!gl.getProgramParameter(program, gl.LINK_STATUS)) {\n let log = gl.getProgramInfoLog(program);\n gl.deleteProgram(program);\n throw \"Could not link program: \" + log;\n }\n\n let attributeList = Array.prototype.concat.apply([], shaders.map((s) => s.attributes));\n let uniformList = Array.prototype.concat.apply([], shaders.map((s) => s.uniforms));\n\n let attributes = {};\n let uniforms = {};\n \n attributeList.forEach((spec) => {\n spec.location = gl.getAttribLocation(program, spec.name);\n if(spec.location < 0) {\n// throw \"Could not find attribtue '\" + spec.name + \"'\";\n }\n if(attributes[spec.name]) {\n let a = attributes[spec.name];\n if(a.dataType != spec.dataType || a.components != spec.components) {\n throw \"Conflicting definitions for attribute '\" + spec.name + \"'\";\n }\n } else {\n attributes[spec.name] = spec;\n }\n });\n \n uniformList.forEach((spec) => {\n spec.location = gl.getUniformLocation(program, spec.name);\n if(!spec.location) {\n// throw \"Could not find uniform '\" + spec.name + \"'\";\n }\n if(uniforms[spec.name]) {\n let a = uniforms[spec.name];\n if(a.dataType != spec.dataType || a.components != spec.components) {\n throw \"Conflicting definitions for uniform '\" + spec.name + \"'\";\n }\n } else {\n uniforms[spec.name] = spec;\n }\n });\n \n return {\n program,\n attributes,\n uniforms\n };\n });\n }\n };\n\n return {\n canLoad(placeholder) {\n return loaders[placeholder.spec.type] != undefined;\n },\n load(placeholder) {\n return loaders[placeholder.spec.type](placeholder);\n }\n };\n },\n changeMaterial(material, flush) {\n if(currentMaterial && currentMaterial != material) {\n currentMaterialFlush();\n }\n currentMaterial = material;\n currentMaterialFlush = flush;\n },\n unbindMaterial() {\n currentMaterial = null;\n },\n flushMaterials() {\n r.changeMaterial(null);\n }\n };\n return r;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./js/webgl.js","'use strict';\n\n/* jshint -W079 */\nvar Blob = require('blob');\nvar Promise = require('native-or-lie');\n\n//\n// PRIVATE\n//\n\n// From http://stackoverflow.com/questions/14967647/ (continues on next line)\n// encode-decode-image-with-base64-breaks-image (2013-04-21)\nfunction binaryStringToArrayBuffer(binary) {\n var length = binary.length;\n var buf = new ArrayBuffer(length);\n var arr = new Uint8Array(buf);\n var i = -1;\n while (++i < length) {\n arr[i] = binary.charCodeAt(i);\n }\n return buf;\n}\n\n// Can't find original post, but this is close\n// http://stackoverflow.com/questions/6965107/ (continues on next line)\n// converting-between-strings-and-arraybuffers\nfunction arrayBufferToBinaryString(buffer) {\n var binary = '';\n var bytes = new Uint8Array(buffer);\n var length = bytes.byteLength;\n var i = -1;\n while (++i < length) {\n binary += String.fromCharCode(bytes[i]);\n }\n return binary;\n}\n\n// doesn't download the image more than once, because\n// browsers aren't dumb. uses the cache\nfunction loadImage(src, crossOrigin) {\n return new Promise(function (resolve, reject) {\n var img = new Image();\n if (crossOrigin) {\n img.crossOrigin = crossOrigin;\n }\n img.onload = function () {\n resolve(img);\n };\n img.onerror = reject;\n img.src = src;\n });\n}\n\nfunction imgToCanvas(img) {\n var canvas = document.createElement('canvas');\n\n canvas.width = img.width;\n canvas.height = img.height;\n\n // copy the image contents to the canvas\n var context = canvas.getContext('2d');\n context.drawImage(\n img,\n 0, 0,\n img.width, img.height,\n 0, 0,\n img.width, img.height);\n\n return canvas;\n}\n\n//\n// PUBLIC\n//\n\n/**\n * Shim for\n * [new Blob()]{@link https://developer.mozilla.org/en-US/docs/Web/API/Blob.Blob}\n * to support\n * [older browsers that use the deprecated BlobBuilder
API]{@link http://caniuse.com/blob}.\n *\n * @param {Array} parts - content of the Blob
\n * @param {Object} options - usually just {type: myContentType}
\n * @returns {Blob}\n */\nfunction createBlob(parts, options) {\n options = options || {};\n if (typeof options === 'string') {\n options = {type: options}; // do you a solid here\n }\n return new Blob(parts, options);\n}\n\n/**\n * Shim for\n * [URL.createObjectURL()]{@link https://developer.mozilla.org/en-US/docs/Web/API/URL.createObjectURL}\n * to support browsers that only have the prefixed\n * webkitURL
(e.g. Android <4.4).\n * @param {Blob} blob\n * @returns {string} url\n */\nfunction createObjectURL(blob) {\n return (window.URL || window.webkitURL).createObjectURL(blob);\n}\n\n/**\n * Shim for\n * [URL.revokeObjectURL()]{@link https://developer.mozilla.org/en-US/docs/Web/API/URL.revokeObjectURL}\n * to support browsers that only have the prefixed\n * webkitURL
(e.g. Android <4.4).\n * @param {string} url\n */\nfunction revokeObjectURL(url) {\n return (window.URL || window.webkitURL).revokeObjectURL(url);\n}\n\n/**\n * Convert a Blob
to a binary string. Returns a Promise.\n *\n * @param {Blob} blob\n * @returns {Promise} Promise that resolves with the binary string\n */\nfunction blobToBinaryString(blob) {\n return new Promise(function (resolve, reject) {\n var reader = new FileReader();\n var hasBinaryString = typeof reader.readAsBinaryString === 'function';\n reader.onloadend = function (e) {\n var result = e.target.result || '';\n if (hasBinaryString) {\n return resolve(result);\n }\n resolve(arrayBufferToBinaryString(result));\n };\n reader.onerror = reject;\n if (hasBinaryString) {\n reader.readAsBinaryString(blob);\n } else {\n reader.readAsArrayBuffer(blob);\n }\n });\n}\n\n/**\n * Convert a base64-encoded string to a Blob
. Returns a Promise.\n * @param {string} base64\n * @param {string|undefined} type - the content type (optional)\n * @returns {Promise} Promise that resolves with the Blob
\n */\nfunction base64StringToBlob(base64, type) {\n return Promise.resolve().then(function () {\n var parts = [binaryStringToArrayBuffer(atob(base64))];\n return type ? createBlob(parts, {type: type}) : createBlob(parts);\n });\n}\n\n/**\n * Convert a binary string to a Blob
. Returns a Promise.\n * @param {string} binary\n * @param {string|undefined} type - the content type (optional)\n * @returns {Promise} Promise that resolves with the Blob
\n */\nfunction binaryStringToBlob(binary, type) {\n return Promise.resolve().then(function () {\n return base64StringToBlob(btoa(binary), type);\n });\n}\n\n/**\n * Convert a Blob
to a binary string. Returns a Promise.\n * @param {Blob} blob\n * @returns {Promise} Promise that resolves with the binary string\n */\nfunction blobToBase64String(blob) {\n return blobToBinaryString(blob).then(function (binary) {\n return btoa(binary);\n });\n}\n\n/**\n * Convert a data URL string\n * (e.g. 'data:image/png;base64,iVBORw0KG...'
)\n * to a Blob
. Returns a Promise.\n * @param {string} dataURL\n * @returns {Promise} Promise that resolves with the Blob
\n */\nfunction dataURLToBlob(dataURL) {\n return Promise.resolve().then(function () {\n var type = dataURL.match(/data:([^;]+)/)[1];\n var base64 = dataURL.replace(/^[^,]+,/, '');\n\n var buff = binaryStringToArrayBuffer(atob(base64));\n return createBlob([buff], {type: type});\n });\n}\n\n/**\n * Convert an image's src
URL to a data URL by loading the image and painting\n * it to a canvas
. Returns a Promise.\n *\n *
canvas
to a Blob
. Returns a Promise.\n * @param {string} canvas\n * @param {string|undefined} type - the content type (optional, defaults to 'image/png')\n * @param {number|undefined} quality - a number between 0 and 1 indicating image quality\n * if the requested type is 'image/jpeg' or 'image/webp'\n * @returns {Promise} Promise that resolves with the Blob
\n */\nfunction canvasToBlob(canvas, type, quality) {\n return Promise.resolve().then(function () {\n if (typeof canvas.toBlob === 'function') {\n return new Promise(function (resolve) {\n canvas.toBlob(resolve, type, quality);\n });\n }\n return dataURLToBlob(canvas.toDataURL(type, quality));\n });\n}\n\n/**\n * Convert an image's src
URL to a Blob
by loading the image and painting\n * it to a canvas
. Returns a Promise.\n *\n * Note: this will coerce the image to the desired content type, and it\n * will only paint the first frame of an animated GIF.\n *\n * @param {string} src\n * @param {string|undefined} type - the content type (optional, defaults to 'image/png')\n * @param {string|undefined} crossOrigin - for CORS-enabled images, set this to\n * 'Anonymous' to avoid \"tainted canvas\" errors\n * @param {number|undefined} quality - a number between 0 and 1 indicating image quality\n * if the requested type is 'image/jpeg' or 'image/webp'\n * @returns {Promise} Promise that resolves with the Blob
\n */\nfunction imgSrcToBlob(src, type, crossOrigin, quality) {\n type = type || 'image/png';\n\n return loadImage(src, crossOrigin).then(function (img) {\n return imgToCanvas(img);\n }).then(function (canvas) {\n return canvasToBlob(canvas, type, quality);\n });\n}\n\n/**\n * Convert an ArrayBuffer
to a Blob
. Returns a Promise.\n *\n * @param {ArrayBuffer} buffer\n * @param {string|undefined} type - the content type (optional)\n * @returns {Promise} Promise that resolves with the Blob
\n */\nfunction arrayBufferToBlob(buffer, type) {\n return Promise.resolve().then(function () {\n return createBlob([buffer], type);\n });\n}\n\n/**\n * Convert a Blob
to an ArrayBuffer
. Returns a Promise.\n * @param {Blob} blob\n * @returns {Promise} Promise that resolves with the ArrayBuffer
\n */\nfunction blobToArrayBuffer(blob) {\n return new Promise(function (resolve, reject) {\n var reader = new FileReader();\n reader.onloadend = function (e) {\n var result = e.target.result || new ArrayBuffer(0);\n resolve(result);\n };\n reader.onerror = reject;\n reader.readAsArrayBuffer(blob);\n });\n}\n\nmodule.exports = {\n createBlob : createBlob,\n createObjectURL : createObjectURL,\n revokeObjectURL : revokeObjectURL,\n imgSrcToBlob : imgSrcToBlob,\n imgSrcToDataURL : imgSrcToDataURL,\n canvasToBlob : canvasToBlob,\n dataURLToBlob : dataURLToBlob,\n blobToBase64String : blobToBase64String,\n base64StringToBlob : base64StringToBlob,\n binaryStringToBlob : binaryStringToBlob,\n blobToBinaryString : blobToBinaryString,\n arrayBufferToBlob : arrayBufferToBlob,\n blobToArrayBuffer : blobToArrayBuffer\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/blob-util/lib/index.js\n// module id = 2\n// module chunks = 0","/**\n * Create a blob builder even when vendor prefixes exist\n */\n\nvar BlobBuilder = global.BlobBuilder\n || global.WebKitBlobBuilder\n || global.MSBlobBuilder\n || global.MozBlobBuilder;\n\n/**\n * Check if Blob constructor is supported\n */\n\nvar blobSupported = (function() {\n try {\n var a = new Blob(['hi']);\n return a.size === 2;\n } catch(e) {\n return false;\n }\n})();\n\n/**\n * Check if Blob constructor supports ArrayBufferViews\n * Fails in Safari 6, so we need to map to ArrayBuffers there.\n */\n\nvar blobSupportsArrayBufferView = blobSupported && (function() {\n try {\n var b = new Blob([new Uint8Array([1,2])]);\n return b.size === 2;\n } catch(e) {\n return false;\n }\n})();\n\n/**\n * Check if BlobBuilder is supported\n */\n\nvar blobBuilderSupported = BlobBuilder\n && BlobBuilder.prototype.append\n && BlobBuilder.prototype.getBlob;\n\n/**\n * Helper function that maps ArrayBufferViews to ArrayBuffers\n * Used by BlobBuilder constructor and old browsers that didn't\n * support it in the Blob constructor.\n */\n\nfunction mapArrayBufferViews(ary) {\n for (var i = 0; i < ary.length; i++) {\n var chunk = ary[i];\n if (chunk.buffer instanceof ArrayBuffer) {\n var buf = chunk.buffer;\n\n // if this is a subarray, make a copy so we only\n // include the subarray region from the underlying buffer\n if (chunk.byteLength !== buf.byteLength) {\n var copy = new Uint8Array(chunk.byteLength);\n copy.set(new Uint8Array(buf, chunk.byteOffset, chunk.byteLength));\n buf = copy.buffer;\n }\n\n ary[i] = buf;\n }\n }\n}\n\nfunction BlobBuilderConstructor(ary, options) {\n options = options || {};\n\n var bb = new BlobBuilder();\n mapArrayBufferViews(ary);\n\n for (var i = 0; i < ary.length; i++) {\n bb.append(ary[i]);\n }\n\n return (options.type) ? bb.getBlob(options.type) : bb.getBlob();\n};\n\nfunction BlobConstructor(ary, options) {\n mapArrayBufferViews(ary);\n return new Blob(ary, options || {});\n};\n\nmodule.exports = (function() {\n if (blobSupported) {\n return blobSupportsArrayBufferView ? global.Blob : BlobConstructor;\n } else if (blobBuilderSupported) {\n return BlobBuilderConstructor;\n } else {\n return undefined;\n }\n})();\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/blob/index.js\n// module id = 3\n// module chunks = 0","module.exports = typeof Promise === 'function' ? Promise : require('lie');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/native-or-lie/index.js\n// module id = 4\n// module chunks = 0","'use strict';\nvar immediate = require('immediate');\n\n/* istanbul ignore next */\nfunction INTERNAL() {}\n\nvar handlers = {};\n\nvar REJECTED = ['REJECTED'];\nvar FULFILLED = ['FULFILLED'];\nvar PENDING = ['PENDING'];\n\nmodule.exports = Promise;\n\nfunction Promise(resolver) {\n if (typeof resolver !== 'function') {\n throw new TypeError('resolver must be a function');\n }\n this.state = PENDING;\n this.queue = [];\n this.outcome = void 0;\n if (resolver !== INTERNAL) {\n safelyResolveThenable(this, resolver);\n }\n}\n\nPromise.prototype[\"catch\"] = function (onRejected) {\n return this.then(null, onRejected);\n};\nPromise.prototype.then = function (onFulfilled, onRejected) {\n if (typeof onFulfilled !== 'function' && this.state === FULFILLED ||\n typeof onRejected !== 'function' && this.state === REJECTED) {\n return this;\n }\n var promise = new this.constructor(INTERNAL);\n if (this.state !== PENDING) {\n var resolver = this.state === FULFILLED ? onFulfilled : onRejected;\n unwrap(promise, resolver, this.outcome);\n } else {\n this.queue.push(new QueueItem(promise, onFulfilled, onRejected));\n }\n\n return promise;\n};\nfunction QueueItem(promise, onFulfilled, onRejected) {\n this.promise = promise;\n if (typeof onFulfilled === 'function') {\n this.onFulfilled = onFulfilled;\n this.callFulfilled = this.otherCallFulfilled;\n }\n if (typeof onRejected === 'function') {\n this.onRejected = onRejected;\n this.callRejected = this.otherCallRejected;\n }\n}\nQueueItem.prototype.callFulfilled = function (value) {\n handlers.resolve(this.promise, value);\n};\nQueueItem.prototype.otherCallFulfilled = function (value) {\n unwrap(this.promise, this.onFulfilled, value);\n};\nQueueItem.prototype.callRejected = function (value) {\n handlers.reject(this.promise, value);\n};\nQueueItem.prototype.otherCallRejected = function (value) {\n unwrap(this.promise, this.onRejected, value);\n};\n\nfunction unwrap(promise, func, value) {\n immediate(function () {\n var returnValue;\n try {\n returnValue = func(value);\n } catch (e) {\n return handlers.reject(promise, e);\n }\n if (returnValue === promise) {\n handlers.reject(promise, new TypeError('Cannot resolve promise with itself'));\n } else {\n handlers.resolve(promise, returnValue);\n }\n });\n}\n\nhandlers.resolve = function (self, value) {\n var result = tryCatch(getThen, value);\n if (result.status === 'error') {\n return handlers.reject(self, result.value);\n }\n var thenable = result.value;\n\n if (thenable) {\n safelyResolveThenable(self, thenable);\n } else {\n self.state = FULFILLED;\n self.outcome = value;\n var i = -1;\n var len = self.queue.length;\n while (++i < len) {\n self.queue[i].callFulfilled(value);\n }\n }\n return self;\n};\nhandlers.reject = function (self, error) {\n self.state = REJECTED;\n self.outcome = error;\n var i = -1;\n var len = self.queue.length;\n while (++i < len) {\n self.queue[i].callRejected(error);\n }\n return self;\n};\n\nfunction getThen(obj) {\n // Make sure we only access the accessor once as required by the spec\n var then = obj && obj.then;\n if (obj && typeof obj === 'object' && typeof then === 'function') {\n return function appyThen() {\n then.apply(obj, arguments);\n };\n }\n}\n\nfunction safelyResolveThenable(self, thenable) {\n // Either fulfill, reject or reject with error\n var called = false;\n function onError(value) {\n if (called) {\n return;\n }\n called = true;\n handlers.reject(self, value);\n }\n\n function onSuccess(value) {\n if (called) {\n return;\n }\n called = true;\n handlers.resolve(self, value);\n }\n\n function tryToUnwrap() {\n thenable(onSuccess, onError);\n }\n\n var result = tryCatch(tryToUnwrap);\n if (result.status === 'error') {\n onError(result.value);\n }\n}\n\nfunction tryCatch(func, value) {\n var out = {};\n try {\n out.value = func(value);\n out.status = 'success';\n } catch (e) {\n out.status = 'error';\n out.value = e;\n }\n return out;\n}\n\nPromise.resolve = resolve;\nfunction resolve(value) {\n if (value instanceof this) {\n return value;\n }\n return handlers.resolve(new this(INTERNAL), value);\n}\n\nPromise.reject = reject;\nfunction reject(reason) {\n var promise = new this(INTERNAL);\n return handlers.reject(promise, reason);\n}\n\nPromise.all = all;\nfunction all(iterable) {\n var self = this;\n if (Object.prototype.toString.call(iterable) !== '[object Array]') {\n return this.reject(new TypeError('must be an array'));\n }\n\n var len = iterable.length;\n var called = false;\n if (!len) {\n return this.resolve([]);\n }\n\n var values = new Array(len);\n var resolved = 0;\n var i = -1;\n var promise = new this(INTERNAL);\n\n while (++i < len) {\n allResolver(iterable[i], i);\n }\n return promise;\n function allResolver(value, i) {\n self.resolve(value).then(resolveFromAll, function (error) {\n if (!called) {\n called = true;\n handlers.reject(promise, error);\n }\n });\n function resolveFromAll(outValue) {\n values[i] = outValue;\n if (++resolved === len && !called) {\n called = true;\n handlers.resolve(promise, values);\n }\n }\n }\n}\n\nPromise.race = race;\nfunction race(iterable) {\n var self = this;\n if (Object.prototype.toString.call(iterable) !== '[object Array]') {\n return this.reject(new TypeError('must be an array'));\n }\n\n var len = iterable.length;\n var called = false;\n if (!len) {\n return this.resolve([]);\n }\n\n var i = -1;\n var promise = new this(INTERNAL);\n\n while (++i < len) {\n resolver(iterable[i]);\n }\n return promise;\n function resolver(value) {\n self.resolve(value).then(function (response) {\n if (!called) {\n called = true;\n handlers.resolve(promise, response);\n }\n }, function (error) {\n if (!called) {\n called = true;\n handlers.reject(promise, error);\n }\n });\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lie/lib/browser.js\n// module id = 5\n// module chunks = 0","'use strict';\nvar Mutation = global.MutationObserver || global.WebKitMutationObserver;\n\nvar scheduleDrain;\n\n{\n if (Mutation) {\n var called = 0;\n var observer = new Mutation(nextTick);\n var element = global.document.createTextNode('');\n observer.observe(element, {\n characterData: true\n });\n scheduleDrain = function () {\n element.data = (called = ++called % 2);\n };\n } else if (!global.setImmediate && typeof global.MessageChannel !== 'undefined') {\n var channel = new global.MessageChannel();\n channel.port1.onmessage = nextTick;\n scheduleDrain = function () {\n channel.port2.postMessage(0);\n };\n } else if ('document' in global && 'onreadystatechange' in global.document.createElement('script')) {\n scheduleDrain = function () {\n\n // Create a