Skip to content

Instantly share code, notes, and snippets.

@mikolalysenko
Created July 8, 2013 17:25
Show Gist options
  • Save mikolalysenko/5950732 to your computer and use it in GitHub Desktop.
Save mikolalysenko/5950732 to your computer and use it in GitHub Desktop.
made with requirebin.com
var shell = require("gl-now")()
var createMesh = require("gl-mesh")
var simple3DShader = require("simple-3d-shader")
var attachCamera = require("game-shell-orbit-camera")
var glm = require("gl-matrix")
var mat4 = glm.mat4
var shader, mesh
var camera = attachCamera(shell)
camera.lookAt([0, 3, 20], [0, 3, 0], [0, 1, 0])
shell.on("gl-init", function() {
shader = simple3DShader(shell.gl)
mesh = createMesh(shell.gl, require("bunny"))
})
shell.on("gl-render", function(t) {
//Bind shader
shader.bind()
//Set camera parameters
var scratch = mat4.create()
shader.uniforms.model = scratch
shader.uniforms.projection = mat4.perspective(scratch, Math.PI/4.0, shell.width/shell.height, 0.1, 1000.0)
shader.uniforms.view = camera.view(scratch)
//Draw object
mesh.bind(shader)
mesh.draw()
mesh.unbind()
})
require=function(e,t,r){function n(r,a){if(!t[r]){if(!e[r]){var o="function"==typeof require&&require;if(!a&&o)return o(r,!0);if(i)return i(r,!0);throw Error("Cannot find module '"+r+"'")}var s=t[r]={exports:{}};e[r][0].call(s.exports,function(t){var i=e[r][1][t];return n(i?i:t)},s,s.exports)}return t[r].exports}for(var i="function"==typeof require&&require,a=0;r.length>a;a++)n(r[a]);return n}({"gl-now":[function(e,t){t.exports=e("M/vh3Z")},{}],"M/vh3Z":[function(e,t){"use strict";function r(e){e=e||{};var t=n(e);return t.on("init",function(){var r=document.createElement("canvas");r.style.position="absolute",r.style.left="0px",r.style.top="0px",t.element.appendChild(r),r.width=t.width,r.height=t.height;var n=r.getContext("webgl")||r.getContext("experimental-webgl");if(!n)throw Error("Unable to initialize WebGL");t.canvas=r,t.gl=n,t.clearFlags=void 0===e.clearFlags?n.COLOR_BUFFER_BIT|n.DEPTH_BUFFER_BIT:e.clearFlags,t.clearColor=e.clearColor||[.2,.4,.8,1],t.clearDepth=e.clearDepth||1,t.clearStencil=e.clearStencil||0,t.on("resize",function(e,t){r.width=e,r.height=t}),t.on("render",function(e){n.bindFramebuffer(n.FRAMEBUFFER,null),n.viewport(0,0,t.width,t.height),t.clearFlags&n.STENCIL_BUFFER_BIT&&n.clearStencil(t.clearStencil),t.clearFlags&n.COLOR_BUFFER_BIT&&n.clearColor(t.clearColor[0],t.clearColor[1],t.clearColor[2],t.clearColor[3]),t.clearFlags&n.DEPTH_BUFFER_BIT&&n.clearDepth(t.clearDepth),t.clearFlags&&n.clear(n.COLOR_BUFFER_BIT|n.DEPTH_BUFFER_BIT|n.STENCIL_BUFFER_BIT),t.emit("gl-render",e)}),t.emit("gl-init")}),t}var n=e("game-shell");t.exports=r},{"game-shell":1}],2:[function(e,t){var r=t.exports={};r.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){if(e.source===window&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var t=r.shift();t()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),r.title="browser",r.browser=!0,r.env={},r.argv=[],r.binding=function(){throw Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(){throw Error("process.chdir is not supported")}},{}],3:[function(e,t,r){(function(e){function t(e,t){if(e.indexOf)return e.indexOf(t);for(var r=0;e.length>r;r++)if(t===e[r])return r;return-1}e.EventEmitter||(e.EventEmitter=function(){});var n=r.EventEmitter=e.EventEmitter,i="function"==typeof Array.isArray?Array.isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)},a=10;n.prototype.setMaxListeners=function(e){this._events||(this._events={}),this._events.maxListeners=e},n.prototype.emit=function(e){if("error"===e&&(!this._events||!this._events.error||i(this._events.error)&&!this._events.error.length))throw arguments[1]instanceof Error?arguments[1]:Error("Uncaught, unspecified 'error' event.");if(!this._events)return!1;var t=this._events[e];if(!t)return!1;if("function"==typeof t){switch(arguments.length){case 1:t.call(this);break;case 2:t.call(this,arguments[1]);break;case 3:t.call(this,arguments[1],arguments[2]);break;default:var r=Array.prototype.slice.call(arguments,1);t.apply(this,r)}return!0}if(i(t)){for(var r=Array.prototype.slice.call(arguments,1),n=t.slice(),a=0,o=n.length;o>a;a++)n[a].apply(this,r);return!0}return!1},n.prototype.addListener=function(e,t){if("function"!=typeof t)throw Error("addListener only takes instances of Function");if(this._events||(this._events={}),this.emit("newListener",e,t),this._events[e])if(i(this._events[e])){if(!this._events[e].warned){var r;r=void 0!==this._events.maxListeners?this._events.maxListeners:a,r&&r>0&&this._events[e].length>r&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),console.trace())}this._events[e].push(t)}else this._events[e]=[this._events[e],t];else this._events[e]=t;return this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){var r=this;return r.on(e,function n(){r.removeListener(e,n),t.apply(this,arguments)}),this},n.prototype.removeListener=function(e,r){if("function"!=typeof r)throw Error("removeListener only takes instances of Function");if(!this._events||!this._events[e])return this;var n=this._events[e];if(i(n)){var a=t(n,r);if(0>a)return this;n.splice(a,1),0==n.length&&delete this._events[e]}else this._events[e]===r&&delete this._events[e];return this},n.prototype.removeAllListeners=function(e){return 0===arguments.length?(this._events={},this):(e&&this._events&&this._events[e]&&(this._events[e]=null),this)},n.prototype.listeners=function(e){return this._events||(this._events={}),this._events[e]||(this._events[e]=[]),i(this._events[e])||(this._events[e]=[this._events[e]]),this._events[e]}})(e("__browserify_process"))},{__browserify_process:2}],4:[function(){for(var e=0,t=["ms","moz","webkit","o"],r=0;t.length>r&&!window.requestAnimationFrame;++r)window.requestAnimationFrame=window[t[r]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[t[r]+"CancelAnimationFrame"]||window[t[r]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(t){var r=(new Date).getTime(),n=Math.max(0,16-(r-e)),i=window.setTimeout(function(){t(r+n)},n);return e=r+n,i}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(e){clearTimeout(e)})},{}],5:[function(e,t){function r(e,t,r,o){e[n](a+t,"wheel"==i?r:function(e){!e&&(e=window.event);var t={originalEvent:e,target:e.target||e.srcElement,type:"wheel",deltaMode:"MozMousePixelScroll"==e.type?0:1,deltaX:0,delatZ:0,preventDefault:function(){e.preventDefault?e.preventDefault():e.returnValue=!1}};return"mousewheel"==i?(t.deltaY=-1/40*e.wheelDelta,e.wheelDeltaX&&(t.deltaX=-1/40*e.wheelDeltaX)):t.deltaY=e.detail,r(t)},o||!1)}var n,i,a="";window.addEventListener?n="addEventListener":(n="attachEvent",a="on"),i="onwheel"in document.createElement("div")?"wheel":void 0!==document.onmousewheel?"mousewheel":"DOMMouseScroll",t.exports=function(e,t,n){r(e,i,t,n),"DOMMouseScroll"==i&&r(e,"MozMousePixelScroll",t,n)}},{}],6:[function(e,t){t.exports=window.performance.now?function(){return window.performance.now()}:window.performance.webktiNow?function(){return window.performance.webkitNow()}:Date.now?Date.now:function(){return(new Date).getTime()}},{}],7:[function(e,t,r){function n(e){return e instanceof Array||Array.isArray(e)||e&&e!==Object.prototype&&n(e.__proto__)}function i(e){return e instanceof RegExp||"object"==typeof e&&"[object RegExp]"===Object.prototype.toString.call(e)}function a(e){if(e instanceof Date)return!0;if("object"!=typeof e)return!1;var t=Date.prototype&&s(Date.prototype),r=e.__proto__&&s(e.__proto__);return JSON.stringify(r)===JSON.stringify(t)}e("events"),r.isArray=n,r.isDate=function(e){return"[object Date]"===Object.prototype.toString.call(e)},r.isRegExp=function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},r.print=function(){},r.puts=function(){},r.debug=function(){},r.inspect=function(e,t,u,c){function l(e,u){if(e&&"function"==typeof e.inspect&&e!==r&&(!e.constructor||e.constructor.prototype!==e))return e.inspect(u);switch(typeof e){case"undefined":return p("undefined","undefined");case"string":var c="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return p(c,"string");case"number":return p(""+e,"number");case"boolean":return p(""+e,"boolean")}if(null===e)return p("null","null");var h=o(e),d=t?s(e):h;if("function"==typeof e&&0===d.length){if(i(e))return p(""+e,"regexp");var v=e.name?": "+e.name:"";return p("[Function"+v+"]","special")}if(a(e)&&0===d.length)return p(e.toUTCString(),"date");var g,m,y;if(n(e)?(m="Array",y=["[","]"]):(m="Object",y=["{","}"]),"function"==typeof e){var b=e.name?": "+e.name:"";g=i(e)?" "+e:" [Function"+b+"]"}else g="";if(a(e)&&(g=" "+e.toUTCString()),0===d.length)return y[0]+g+y[1];if(0>u)return i(e)?p(""+e,"regexp"):p("[Object]","special");f.push(e);var w=d.map(function(t){var r,i;if(e.__lookupGetter__&&(e.__lookupGetter__(t)?i=e.__lookupSetter__(t)?p("[Getter/Setter]","special"):p("[Getter]","special"):e.__lookupSetter__(t)&&(i=p("[Setter]","special"))),0>h.indexOf(t)&&(r="["+t+"]"),i||(0>f.indexOf(e[t])?(i=null===u?l(e[t]):l(e[t],u-1),i.indexOf("\n")>-1&&(i=n(e)?i.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+i.split("\n").map(function(e){return" "+e}).join("\n"))):i=p("[Circular]","special")),r===void 0){if("Array"===m&&t.match(/^\d+$/))return i;r=JSON.stringify(""+t),r.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(r=r.substr(1,r.length-2),r=p(r,"name")):(r=r.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),r=p(r,"string"))}return r+": "+i});f.pop();var x=0,_=w.reduce(function(e,t){return x++,t.indexOf("\n")>=0&&x++,e+t.length+1},0);return w=_>50?y[0]+(""===g?"":g+"\n ")+" "+w.join(",\n ")+" "+y[1]:y[0]+g+" "+w.join(", ")+" "+y[1]}var f=[],p=function(e,t){var r={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},n={special:"cyan",number:"blue","boolean":"yellow",undefined:"grey","null":"bold",string:"green",date:"magenta",regexp:"red"}[t];return n?"["+r[n][0]+"m"+e+"["+r[n][1]+"m":e};return c||(p=function(e){return e}),l(e,u===void 0?2:u)},r.log=function(){},r.pump=null;var o=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t},s=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.hasOwnProperty.call(e,r)&&t.push(r);return t},u=Object.create||function(e,t){var r;if(null===e)r={__proto__:null};else{if("object"!=typeof e)throw new TypeError("typeof prototype["+typeof e+"] != 'object'");var n=function(){};n.prototype=e,r=new n,r.__proto__=e}return t!==void 0&&Object.defineProperties&&Object.defineProperties(r,t),r};r.inherits=function(e,t){e.super_=t,e.prototype=u(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})};var c=/%[sdj%]/g;r.format=function(e){if("string"!=typeof e){for(var t=[],n=0;arguments.length>n;n++)t.push(r.inspect(arguments[n]));return t.join(" ")}for(var n=1,i=arguments,a=i.length,o=(e+"").replace(c,function(e){if("%%"===e)return"%";if(n>=a)return e;switch(e){case"%s":return i[n++]+"";case"%d":return Number(i[n++]);case"%j":return JSON.stringify(i[n++]);default:return e}}),s=i[n];a>n;s=i[++n])o+=null===s||"object"!=typeof s?" "+s:" "+r.inspect(s);return o}},{events:3}],1:[function(e,t){"use strict";function r(e){var t=T(D,e);return 0>t||t>=D.length?-1:t}function n(e){return r(R[e])}function i(){L.call(this),this._curKeyState=Array(D.length),this._pressCount=Array(D.length),this._releaseCount=Array(D.length),this._tickInterval=null,this._rafHandle=null,this._tickRate=0,this._lastTick=q(),this._frameTime=0,this._paused=!0,this._width=0,this._height=0,this._wantFullscreen=!1,this._wantPointerLock=!1,this._fullscreenActive=!1,this._pointerLockActive=!1,this._render=p.bind(void 0,this);for(var e=0;D.length>e;++e)this._curKeyState[e]=!1,this._pressCount[e]=this._releaseCount[e]=0;this.element=null,this.bindings={},this.frameSkip=100,this.tickCount=0,this.frameCount=0,this.startTime=q(),this.tickTime=this._tickRate,this.frameTime=10,this.stickyFullscreen=!1,this.stuckyPointLock=!1,this.scroll=[0,0,0],this.mouseX=0,this.mouseY=0,this.prevMouseX=0,this.prevMouseY=0}function a(e,t,n){if(n in t){for(var i=t[n],a=0,o=i.length;o>a;++a)if(e[r(i[a])])return!0;return!1}var s=r(n);return s>=0?e[s]:!1}function o(e,t,n){if(n in t){for(var i=t[n],a=0,o=0,s=i.length;s>o;++o)a+=e[r(i[o])];return a}var u=r(n);return u>=0?e[u]:0}function s(e){var t=e.element;if(e._wantFullscreen&&!e._fullscreenActive){var r=t.requestFullscreen||t.requestFullScreen||t.webkitRequestFullscreen||t.webkitRequestFullScreen||t.mozRequestFullscreen||t.mozRequestFullScreen||function(){};r.call(t)}if(e._wantPointerLock&&!e._pointerLockActive){var n=t.requestPointerLock||t.webkitRequestPointerLock||t.mozRequestPointerLock||t.msRequestPointerLock||t.oRequestPointerLock||function(){};n.call(t)}}function u(e){e._fullscreenActive=document.fullscreen||document.mozFullScreen||document.webkitIsFullScreen||!1,!e.stickyFullscreen&&e._fullscreenActive&&(e._wantFullscreen=!1)}function c(e){e._pointerLockActive=e.element===(document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||null),!e.stickyPointerLock&&e._pointerLockActive&&(e._wantPointerLock=!1)}function l(e,t,r){var n=e._curKeyState[t];n!==r&&(r?e._pressCount[t]++:e._releaseCount[t]++,e._curKeyState[t]=r)}function f(e){for(var t,r,n,i=q()+e.frameSkip,a=e._pressCount,o=e._releaseCount,s=e._tickRate,u=D.length;!e._paused&&q()>=e._lastTick+s;){if(q()>i)return e._lastTick=q()+s,void 0;for(r=q(),e.emit("tick"),n=q(),e.tickTime=n-r,++e.tickCount,e._lastTick+=s,t=0;u>t;++t)a[t]=o[t]=0;e._pointerLockActive?(e.prevMouseX=e.mouseX=e.width>>1,e.prevMouseY=e.mouseY=e.height>>1):(e.prevMouseX=e.mouseX,e.prevMouseY=e.mouseY),e.scroll[0]=e.scroll[1]=e.scroll[2]=0}}function p(e){if(!e._paused){f(e);var t;t=e._paused?e._frameTime:P(1,(q()-e._lastTick)/e._tickRate),++e.frameCount;var r=q();e.emit("render",t);var n=q();e.frameTime=n-r,requestAnimationFrame(e._render)}}function h(e,t){var r=n(t.keyCode||t.char||t.which||t.charCode);r>=0&&l(e,r,!1)}function d(e,t){var r=n(t.keyCode||t.char||t.which||t.charCode);r>=0&&l(e,r,!0)}function v(e,t){for(var r=0;32>r;++r)l(e,Y[r],!!(t&1<<r))}function g(e,t){if(void 0!==t.buttons&&v(e,t.buttons),e._pointerLockActive){var r=t.movementX||t.mozMovementX||t.webkitMovementX||0,n=t.movementY||t.mozMovementY||t.webkitMovementY||0;e.mouseX+=r,e.mouseY+=n}else e.mouseX=t.clientX-e.element.offsetLeft,e.mouseY=t.clientY-e.element.offsetTop;return!1}function m(e,t){return void 0===t.buttons?l(e,Y[t.button],!0):v(e,t.buttons),!1}function y(e,t){return void 0===t.buttons?l(e,Y[t.button],!1):v(e,t.buttons),!1}function b(e,t){return e._pointerLockActive?(e.prevMouseX=e.mouseX=e.width>>1,e.prevMouseY=e.mouseY=e.height>>1):(e.prevMouseX=e.mouseX=t.clientX-e.element.offsetLeft,e.prevMouseY=e.mouseY=t.clientY-e.element.offsetTop),!1}function w(e){return v(e,0),!1}function x(e,t){var r=1;switch(t.deltaMode){case 0:r=1;break;case 1:r=12;break;case 2:r=e.height}return e.scroll[0]+=t.deltaX*r,e.scroll[1]+=t.deltaY*r,e.scroll[2]+=t.deltaZ*r||0,!1}function _(){return!1}function E(e){var t,r=D.length,n=e._curKeyState,i=e._releaseCount;for(t=0;r>t;++t)n[t]&&++i[t],n[t]=!1;return!1}function k(e){var t=0|e.element.clientWidth,r=0|e.element.clientHeight;(t!==e._width||r!==e._height)&&(e._width=t,e._height=r,e.emit("resize",t,r))}function A(){var e=document.createElement("div");return e.style.position="absolute",e.style.left="0px",e.style.right="0px",e.style.top="0px",e.style.bottom="0px",e.style.height="100%",e.style.overflow="hidden",document.body.appendChild(e),e}function S(e){e=e||{};var t=!!e.fullscreen,r=t;void 0!==typeof e.pointerLock&&(r=!!e.pointerLock);var n=new i;return n._tickRate=e.tickRate||30,n.frameSkip=e.frameSkip||5*(n._tickRate+5),n.stickyFullscreen=!!e.stickyFullscreen||!!e.sticky,n.stickyPointerLock=!!e.stickPointerLock||!e.sticky,e.bindings&&(n.bindings=bindings),setTimeout(function(){F(function(){var i=e.element;if("string"==typeof i){var a=document.querySelector(i);a||(a=document.getElementById(i)),a||(a=document.getElementByClass(i)[0]),a||(a=A()),n.element=a}else n.element="object"==typeof i&&i?i:"function"==typeof i?i():A();n.element.style&&(n.element.style["-webkit-touch-callout"]="none",n.element.style["-webkit-user-select"]="none",n.element.style["-khtml-user-select"]="none",n.element.style["-moz-user-select"]="none",n.element.style["-ms-user-select"]="none",n.element.style["user-select"]="none"),n._width=n.element.clientWidth,n._height=n.element.clientHeight;var o=k.bind(void 0,n);if("undefined"!=typeof MutationObserver){var l=new MutationObserver(o);l.observe(n.element,{attributes:!0,subtree:!0})}else n.element.addEventListener("DOMSubtreeModified",o,!1);window.addEventListener("resize",o,!1),window.addEventListener("keydown",d.bind(void 0,n),!0),window.addEventListener("keyup",h.bind(void 0,n),!0),n.element.oncontextmenu=_.bind(void 0,n),n.element.onmousedown=m.bind(void 0,n),n.element.onmouseup=y.bind(void 0,n),n.element.onmousemove=g.bind(void 0,n),n.element.onmouseenter=b.bind(void 0,n);var f=w.bind(void 0,n);n.element.onmouseleave=f,n.element.onmouseout=f,window.addEventListener("mouseleave",f,!0),window.addEventListener("mouseout",f,!0);var p=E.bind(void 0,n);n.element.onblur=p,window.addEventListener("blur",p,!0),C(n.element,x.bind(void 0,n),!1),document.body.style.overflow="hidden",document.body.style.height="100%";var v=u.bind(void 0,n);document.addEventListener("fullscreenchange",v,!1),document.addEventListener("mozfullscreenchange",v,!1),document.addEventListener("webkitfullscreenchange",v,!1),n.element.addEventListener("click",s.bind(void 0,n),!0);var S=c.bind(void 0,n);document.addEventListener("pointerlockchange",S,!1),document.addEventListener("mozpointerlockchange",S,!1),document.addEventListener("webkitpointerlockchange",S,!1),document.addEventListener("pointerlocklost",S,!1),document.addEventListener("webkitpointerlocklost",S,!1),document.addEventListener("mozpointerlocklost",S,!1),n.fullscreen=t,n.pointerLock=r,n.bind("mouse-left","mouse-1"),n.bind("mouse-right","mouse-3"),n.bind("mouse-middle","mouse-2"),n._lastTick=q(),n.startTime=q(),n.paused=!1,n.emit("init")})},0),n}var L=e("events").EventEmitter,M=e("util"),F=e("domready"),j=e("vkey"),I=e("invert-hash"),O=e("uniq"),T=e("lower-bound"),N=e("iota-array"),P=Math.min;e("./lib/raf-polyfill.js");var C=e("./lib/mousewheel-polyfill.js"),q=e("./lib/hrtime-polyfill.js"),R=function(){var e,t,r=Array(256);for(e=0;256>e;++e)r[e]="UNK";for(e in j)t=j[e],"<"===t.charAt(0)&&">"===t.charAt(t.length-1)&&(t=t.substring(1,t.length-1)),t=t.replace(/\s/g,"-"),r[parseInt(e)]=t;return r}(),D=O(Object.keys(I(R)));M.inherits(i,L);var U=i.prototype;U.keyNames=D,U.bind=function(e){var t;t=e in this.bindings?this.bindings[e]:[];for(var n,i=1,a=arguments.length;a>i;++i)if(n=arguments[i],r(n)>=0)t.push(n);else if(n in this.bindings)for(var o=this.bindings[n],s=0;o.length>s;++s)t.push(o[s]);t=O(t),t.length>0&&(this.bindings[e]=t)},U.unbind=function(e){e in this.bindings&&delete this.bindings[e]},U.down=function(e){return a(this._curKeyState,this.bindings,e)},U.wasDown=function(e){return this.down(e)||!!this.press(e)},U.up=function(e){return!this.down(e)},U.wasUp=function(e){return this.up(e)||!!this.release(e)},U.press=function(e){return o(this._pressCount,this.bindings,e)},U.release=function(e){return o(this._releaseCount,this.bindings,e)},Object.defineProperty(U,"paused",{get:function(){return this._paused},set:function(e){var t=!!e;t!==this._paused&&(this._paused?(this._paused=!1,this._lastTick=q()-Math.floor(this._frameTime*this._tickRate),this._tickInterval=setInterval(f,this._tickRate,this),this._rafHandle=requestAnimationFrame(this._render)):(this._paused=!0,this._frameTime=P(1,(q()-this._lastTick)/this._tickRate),clearInterval(this._tickInterval),cancelAnimationFrame(this._rafHandle)))}});var B=document.exitFullscreen||document.cancelFullscreen||document.cancelFullScreen||document.webkitCancelFullscreen||document.webkitCancelFullScreen||document.mozCancelFullscreen||document.mozCancelFullScreen||function(){};Object.defineProperty(U,"fullscreen",{get:function(){return this._fullscreenActive},set:function(e){var t=!!e;return t?(this._wantFullscreen=!0,s(this)):(this._wantFullscreen=!1,B.call(document)),this._fullscreenActive}});var V=document.exitPointerLock||document.webkitExitPointerLock||document.mozExitPointerLock||function(){};Object.defineProperty(U,"pointerLock",{get:function(){return this._pointerLockActive},set:function(e){var t=!!e;return t?(this._wantPointerLock=!0,s(this)):(this._wantPointerLock=!1,V.call(document)),this._pointerLockActive}}),Object.defineProperty(U,"width",{get:function(){return this.element.clientWidth}}),Object.defineProperty(U,"height",{get:function(){return this.element.clientHeight}});var Y=N(32).map(function(e){return r("mouse-"+(e+1))});t.exports=S},{events:3,util:7,"./lib/raf-polyfill.js":4,"./lib/mousewheel-polyfill.js":5,"./lib/hrtime-polyfill.js":6,vkey:8,domready:9,"invert-hash":10,uniq:11,"lower-bound":12,"iota-array":13}],8:[function(e,t){(function(){var e,r="undefined"!=typeof window?window.navigator.userAgent:"",n=/OS X/.test(r),i=/Opera/.test(r),a=!/like Gecko/.test(r)&&!i,o=t.exports={0:n?"<menu>":"<UNK>",1:"<mouse 1>",2:"<mouse 2>",3:"<break>",4:"<mouse 3>",5:"<mouse 4>",6:"<mouse 5>",8:"<backspace>",9:"<tab>",12:"<clear>",13:"<enter>",16:"<shift>",17:"<control>",18:"<alt>",19:"<pause>",20:"<caps-lock>",21:"<ime-hangul>",23:"<ime-junja>",24:"<ime-final>",25:"<ime-kanji>",27:"<escape>",28:"<ime-convert>",29:"<ime-nonconvert>",30:"<ime-accept>",31:"<ime-mode-change>",27:"<escape>",32:"<space>",33:"<page-up>",34:"<page-down>",35:"<end>",36:"<home>",37:"<left>",38:"<up>",39:"<right>",40:"<down>",41:"<select>",42:"<print>",43:"<execute>",44:"<snapshot>",45:"<insert>",46:"<delete>",47:"<help>",91:"<meta>",92:"<meta>",93:n?"<meta>":"<menu>",95:"<sleep>",106:"<num-*>",107:"<num-+>",108:"<num-enter>",109:"<num-->",110:"<num-.>",111:"<num-/>",144:"<num-lock>",145:"<scroll-lock>",160:"<shift-left>",161:"<shift-right>",162:"<control-left>",163:"<control-right>",164:"<alt-left>",165:"<alt-right>",166:"<browser-back>",167:"<browser-forward>",168:"<browser-refresh>",169:"<browser-stop>",170:"<browser-search>",171:"<browser-favorites>",172:"<browser-home>",173:n&&a?"-":"<volume-mute>",174:"<volume-down>",175:"<volume-up>",176:"<next-track>",177:"<prev-track>",178:"<stop>",179:"<play-pause>",180:"<launch-mail>",181:"<launch-media-select>",182:"<launch-app 1>",183:"<launch-app 2>",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",223:"<meta>",224:"<meta>",226:"<alt-gr>",229:"<ime-process>",231:i?"`":"<unicode>",246:"<attention>",247:"<crsel>",248:"<exsel>",249:"<erase-eof>",250:"<play>",251:"<zoom>",252:"<no-name>",253:"<pa-1>",254:"<clear>"};for(e=58;65>e;++e)o[e]=String.fromCharCode(e);for(e=48;58>e;++e)o[e]=e-48+"";for(e=65;91>e;++e)o[e]=String.fromCharCode(e);for(e=96;107>e;++e)o[e]="<num-"+(e-96)+">";for(e=112;136>e;++e)o[e]="F"+(e-111)})()},{}],9:[function(e,t){!function(e,r){t!==void 0?t.exports=r():"function"==typeof define&&"object"==typeof define.amd?define(r):this[e]=r()}("domready",function(e){function t(e){for(p=1;e=n.shift();)e()}var r,n=[],i=!1,a=document,o=a.documentElement,s=o.doScroll,u="DOMContentLoaded",c="addEventListener",l="onreadystatechange",f="readyState",p=/^loade|c/.test(a[f]);return a[c]&&a[c](u,r=function(){a.removeEventListener(u,r,i),t()},i),s&&a.attachEvent(l,r=function(){/^c/.test(a[f])&&(a.detachEvent(l,r),t())}),e=s?function(t){self!=top?p?t():n.push(t):function(){try{o.doScroll("left")}catch(r){return setTimeout(function(){e(t)},50)}t()}()}:function(e){p?e():n.push(e)}})},{}],10:[function(e,t){"use strict";function r(e){var t={};for(var r in e)e.hasOwnProperty(r)&&(t[e[r]]=r);return t}t.exports=r},{}],11:[function(e,t){"use strict";function r(e,t){for(var r=1,n=e.length,i=e[0],a=e[0],o=1;n>o;++o)if(a=i,i=e[o],t(i,a)){if(o===r){r++;continue}e[r++]=i}return e.length=r,e}function n(e){for(var t=1,r=e.length,n=e[0],i=e[0],a=1;r>a;++a,i=n)if(i=n,n=e[a],n!==i){if(a===t){t++;continue}e[t++]=n}return e.length=t,e}function i(e,t,i){return 0===e.length?[]:t?(i||e.sort(t),r(e,t)):(i||e.sort(),n(e))}t.exports=i},{}],12:[function(e,t){"use strict";function r(e,t,r,n,i){for(n=0|n,i=0|i;i>n;){var a=n+i>>>1,o=r(t,e[a]);0>o?i=a-1:o>0?n=a+1:i=a}return 0>=r(e[n],t)?n:n-1}function n(e,t,r,n){for(r=0|r,n=0|n;n>r;){var i=r+n>>>1;e[i]>t?n=i-1:t>e[i]?r=i+1:n=i}return t>=e[r]?r:r-1}function i(e,t,i,a,o){return a||(a=0),"number"!=typeof o&&(o=e.length-1),i?r(e,t,i,a,o):n(e,t,a,o)}t.exports=i},{}],13:[function(e,t){"use strict";function r(e){for(var t=Array(e),r=0;e>r;++r)t[r]=r;return t}t.exports=r},{}]},{},[]),require=function(e,t,r){function n(r,a){if(!t[r]){if(!e[r]){var o="function"==typeof require&&require;if(!a&&o)return o(r,!0);if(i)return i(r,!0);throw Error("Cannot find module '"+r+"'")}var s=t[r]={exports:{}};e[r][0].call(s.exports,function(t){var i=e[r][1][t];return n(i?i:t)},s,s.exports)}return t[r].exports}for(var i="function"==typeof require&&require,a=0;r.length>a;a++)n(r[a]);return n}({"gl-matrix":[function(e,t){t.exports=e("LKpu3k")},{}],LKpu3k:[function(e,t,r){(function(){(function(){"use strict";var e={};r===void 0?"function"==typeof define&&"object"==typeof define.amd&&define.amd?(e.exports={},define(function(){return e.exports})):e.exports=window:e.exports=r,function(e){var t={};if(!r)var r=1e-6;t.create=function(){return new Float32Array(2)},t.clone=function(e){var t=new Float32Array(2);return t[0]=e[0],t[1]=e[1],t},t.fromValues=function(e,t){var r=new Float32Array(2);return r[0]=e,r[1]=t,r},t.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e},t.set=function(e,t,r){return e[0]=t,e[1]=r,e},t.add=function(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e},t.sub=t.subtract=function(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e},t.mul=t.multiply=function(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e},t.div=t.divide=function(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e},t.min=function(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e},t.max=function(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e},t.scale=function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e},t.dist=t.distance=function(e,t){var r=t[0]-e[0],n=t[1]-e[1];return Math.sqrt(r*r+n*n)},t.sqrDist=t.squaredDistance=function(e,t){var r=t[0]-e[0],n=t[1]-e[1];return r*r+n*n},t.len=t.length=function(e){var t=e[0],r=e[1];return Math.sqrt(t*t+r*r)},t.sqrLen=t.squaredLength=function(e){var t=e[0],r=e[1];return t*t+r*r},t.negate=function(e,t){return e[0]=-t[0],e[1]=-t[1],e},t.normalize=function(e,t){var r=t[0],n=t[1],i=r*r+n*n;return i>0&&(i=1/Math.sqrt(i),e[0]=t[0]*i,e[1]=t[1]*i),e},t.dot=function(e,t){return e[0]*t[0]+e[1]*t[1]},t.cross=function(e,t,r){var n=t[0]*r[1]-t[1]*r[0];return e[0]=e[1]=0,e[2]=n,e},t.lerp=function(e,t,r,n){var i=t[0],a=t[1];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e},t.transformMat2=function(e,t,r){var n=t[0],i=t[1];return e[0]=n*r[0]+i*r[1],e[1]=n*r[2]+i*r[3],e},t.forEach=function(){var e=new Float32Array(2);return function(t,r,n,i,a,o){var s,u;for(r||(r=2),n||(n=0),u=i?Math.min(i*r+n,t.length):t.length,s=n;u>s;s+=r)e[0]=t[s],e[1]=t[s+1],a(e,e,o),t[s]=e[0],t[s+1]=e[1];return t}}(),t.str=function(e){return"vec2("+e[0]+", "+e[1]+")"},e!==void 0&&(e.vec2=t);var n={};if(!r)var r=1e-6;n.create=function(){return new Float32Array(3)},n.clone=function(e){var t=new Float32Array(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t},n.fromValues=function(e,t,r){var n=new Float32Array(3);return n[0]=e,n[1]=t,n[2]=r,n},n.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},n.set=function(e,t,r,n){return e[0]=t,e[1]=r,e[2]=n,e},n.add=function(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e},n.sub=n.subtract=function(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e},n.mul=n.multiply=function(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e},n.div=n.divide=function(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e},n.min=function(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e[2]=Math.min(t[2],r[2]),e},n.max=function(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e[2]=Math.max(t[2],r[2]),e},n.scale=function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e},n.dist=n.distance=function(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return Math.sqrt(r*r+n*n+i*i)},n.sqrDist=n.squaredDistance=function(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return r*r+n*n+i*i},n.len=n.length=function(e){var t=e[0],r=e[1],n=e[2];return Math.sqrt(t*t+r*r+n*n)},n.sqrLen=n.squaredLength=function(e){var t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n},n.negate=function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e},n.normalize=function(e,t){var r=t[0],n=t[1],i=t[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a),e},n.dot=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]},n.cross=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],u=r[2];return e[0]=i*u-a*s,e[1]=a*o-n*u,e[2]=n*s-i*o,e},n.lerp=function(e,t,r,n){var i=t[0],a=t[1],o=t[2];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e},n.transformMat4=function(e,t,r){var n=t[0],i=t[1],a=t[2];return e[0]=r[0]*n+r[4]*i+r[8]*a+r[12],e[1]=r[1]*n+r[5]*i+r[9]*a+r[13],e[2]=r[2]*n+r[6]*i+r[10]*a+r[14],e},n.transformQuat=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],u=r[2],c=r[3],l=c*n+s*a-u*i,f=c*i+u*n-o*a,p=c*a+o*i-s*n,h=-o*n-s*i-u*a;return e[0]=l*c+h*-o+f*-u-p*-s,e[1]=f*c+h*-s+p*-o-l*-u,e[2]=p*c+h*-u+l*-s-f*-o,e},n.forEach=function(){var e=new Float32Array(3);return function(t,r,n,i,a,o){var s,u;for(r||(r=3),n||(n=0),u=i?Math.min(i*r+n,t.length):t.length,s=n;u>s;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2];return t}}(),n.str=function(e){return"vec3("+e[0]+", "+e[1]+", "+e[2]+")"},e!==void 0&&(e.vec3=n);var i={};if(!r)var r=1e-6;i.create=function(){return new Float32Array(4)},i.clone=function(e){var t=new Float32Array(4);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},i.fromValues=function(e,t,r,n){var i=new Float32Array(4);return i[0]=e,i[1]=t,i[2]=r,i[3]=n,i},i.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},i.set=function(e,t,r,n,i){return e[0]=t,e[1]=r,e[2]=n,e[3]=i,e},i.add=function(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e},i.sub=i.subtract=function(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e},i.mul=i.multiply=function(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e[3]=t[3]*r[3],e},i.div=i.divide=function(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e[3]=t[3]/r[3],e},i.min=function(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e[2]=Math.min(t[2],r[2]),e[3]=Math.min(t[3],r[3]),e},i.max=function(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e[2]=Math.max(t[2],r[2]),e[3]=Math.max(t[3],r[3]),e},i.scale=function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e},i.dist=i.distance=function(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2],a=t[3]-e[3];return Math.sqrt(r*r+n*n+i*i+a*a)},i.sqrDist=i.squaredDistance=function(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2],a=t[3]-e[3];return r*r+n*n+i*i+a*a},i.len=i.length=function(e){var t=e[0],r=e[1],n=e[2],i=e[3];return Math.sqrt(t*t+r*r+n*n+i*i)},i.sqrLen=i.squaredLength=function(e){var t=e[0],r=e[1],n=e[2],i=e[3];return t*t+r*r+n*n+i*i},i.negate=function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=-t[3],e},i.normalize=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=r*r+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o),e[0]=t[0]*o,e[1]=t[1]*o,e[2]=t[2]*o,e[3]=t[3]*o),e},i.dot=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]},i.lerp=function(e,t,r,n){var i=t[0],a=t[1],o=t[2],s=t[3];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e[3]=s+n*(r[3]-s),e},i.transformMat4=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3];return e[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,e[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,e[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,e[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,e},i.transformQuat=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],u=r[2],c=r[3],l=c*n+s*a-u*i,f=c*i+u*n-o*a,p=c*a+o*i-s*n,h=-o*n-s*i-u*a;return e[0]=l*c+h*-o+f*-u-p*-s,e[1]=f*c+h*-s+p*-o-l*-u,e[2]=p*c+h*-u+l*-s-f*-o,e},i.forEach=function(){var e=new Float32Array(4);return function(t,r,n,i,a,o){var s,u;for(r||(r=4),n||(n=0),u=i?Math.min(i*r+n,t.length):t.length,s=n;u>s;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],e[3]=t[s+3],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2],t[s+3]=e[3];
return t}}(),i.str=function(e){return"vec4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")"},e!==void 0&&(e.vec4=i);var a={},o=new Float32Array([1,0,0,1]);if(!r)var r=1e-6;a.create=function(){return new Float32Array(o)},a.clone=function(e){var t=new Float32Array(4);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},a.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},a.identity=function(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=1,e},a.transpose=function(e,t){if(e===t){var r=t[1];e[1]=t[2],e[2]=r}else e[0]=t[0],e[1]=t[2],e[2]=t[1],e[3]=t[3];return e},a.invert=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=r*a-i*n;return o?(o=1/o,e[0]=a*o,e[1]=-n*o,e[2]=-i*o,e[3]=r*o,e):null},a.adjoint=function(e,t){var r=t[0];return e[0]=t[3],e[1]=-t[1],e[2]=-t[2],e[3]=r,e},a.determinant=function(e){return e[0]*e[3]-e[2]*e[1]},a.mul=a.multiply=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=r[0],u=r[1],c=r[2],l=r[3];return e[0]=n*s+i*c,e[1]=n*u+i*l,e[2]=a*s+o*c,e[3]=a*u+o*l,e},a.rotate=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+i*s,e[1]=n*-s+i*u,e[2]=a*u+o*s,e[3]=a*-s+o*u,e},a.scale=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=r[0],u=r[1];return e[0]=n*s,e[1]=i*u,e[2]=a*s,e[3]=o*u,e},a.str=function(e){return"mat2("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")"},e!==void 0&&(e.mat2=a);var s={},u=new Float32Array([1,0,0,0,1,0,0,0,1]);if(!r)var r=1e-6;s.create=function(){return new Float32Array(u)},s.clone=function(e){var t=new Float32Array(9);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t},s.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e},s.identity=function(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e},s.transpose=function(e,t){if(e===t){var r=t[1],n=t[2],i=t[5];e[1]=t[3],e[2]=t[6],e[3]=r,e[5]=t[7],e[6]=n,e[7]=i}else e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8];return e},s.invert=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=l*o-s*c,p=-l*a+s*u,h=c*a-o*u,d=r*f+n*p+i*h;return d?(d=1/d,e[0]=f*d,e[1]=(-l*n+i*c)*d,e[2]=(s*n-i*o)*d,e[3]=p*d,e[4]=(l*r-i*u)*d,e[5]=(-s*r+i*a)*d,e[6]=h*d,e[7]=(-c*r+n*u)*d,e[8]=(o*r-n*a)*d,e):null},s.adjoint=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8];return e[0]=o*l-s*c,e[1]=i*c-n*l,e[2]=n*s-i*o,e[3]=s*u-a*l,e[4]=r*l-i*u,e[5]=i*a-r*s,e[6]=a*c-o*u,e[7]=n*u-r*c,e[8]=r*o-n*a,e},s.determinant=function(e){var t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],u=e[7],c=e[8];return t*(c*a-o*u)+r*(-c*i+o*s)+n*(u*i-a*s)},s.mul=s.multiply=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=r[0],h=r[1],d=r[2],v=r[3],g=r[4],m=r[5],y=r[6],b=r[7],w=r[8];return e[0]=p*n+h*o+d*c,e[1]=p*i+h*s+d*l,e[2]=p*a+h*u+d*f,e[3]=v*n+g*o+m*c,e[4]=v*i+g*s+m*l,e[5]=v*a+g*u+m*f,e[6]=y*n+b*o+w*c,e[7]=y*i+b*s+w*l,e[8]=y*a+b*u+w*f,e},s.str=function(e){return"mat3("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+")"},e!==void 0&&(e.mat3=s);var c={},l=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);if(!r)var r=1e-6;c.create=function(){return new Float32Array(l)},c.clone=function(e){var t=new Float32Array(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},c.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},c.identity=function(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},c.transpose=function(e,t){if(e===t){var r=t[1],n=t[2],i=t[3],a=t[6],o=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=a,e[11]=t[14],e[12]=i,e[13]=o,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e},c.invert=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=t[9],p=t[10],h=t[11],d=t[12],v=t[13],g=t[14],m=t[15],y=r*s-n*o,b=r*u-i*o,w=r*c-a*o,x=n*u-i*s,_=n*c-a*s,E=i*c-a*u,k=l*v-f*d,A=l*g-p*d,S=l*m-h*d,L=f*g-p*v,M=f*m-h*v,F=p*m-h*g,j=y*F-b*M+w*L+x*S-_*A+E*k;return j?(j=1/j,e[0]=(s*F-u*M+c*L)*j,e[1]=(i*M-n*F-a*L)*j,e[2]=(v*E-g*_+m*x)*j,e[3]=(p*_-f*E-h*x)*j,e[4]=(u*S-o*F-c*A)*j,e[5]=(r*F-i*S+a*A)*j,e[6]=(g*w-d*E-m*b)*j,e[7]=(l*E-p*w+h*b)*j,e[8]=(o*M-s*S+c*k)*j,e[9]=(n*S-r*M-a*k)*j,e[10]=(d*_-v*w+m*y)*j,e[11]=(f*w-l*_-h*y)*j,e[12]=(s*A-o*L-u*k)*j,e[13]=(r*L-n*A+i*k)*j,e[14]=(v*b-d*x-g*y)*j,e[15]=(l*x-f*b+p*y)*j,e):null},c.adjoint=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=t[9],p=t[10],h=t[11],d=t[12],v=t[13],g=t[14],m=t[15];return e[0]=s*(p*m-h*g)-f*(u*m-c*g)+v*(u*h-c*p),e[1]=-(n*(p*m-h*g)-f*(i*m-a*g)+v*(i*h-a*p)),e[2]=n*(u*m-c*g)-s*(i*m-a*g)+v*(i*c-a*u),e[3]=-(n*(u*h-c*p)-s*(i*h-a*p)+f*(i*c-a*u)),e[4]=-(o*(p*m-h*g)-l*(u*m-c*g)+d*(u*h-c*p)),e[5]=r*(p*m-h*g)-l*(i*m-a*g)+d*(i*h-a*p),e[6]=-(r*(u*m-c*g)-o*(i*m-a*g)+d*(i*c-a*u)),e[7]=r*(u*h-c*p)-o*(i*h-a*p)+l*(i*c-a*u),e[8]=o*(f*m-h*v)-l*(s*m-c*v)+d*(s*h-c*f),e[9]=-(r*(f*m-h*v)-l*(n*m-a*v)+d*(n*h-a*f)),e[10]=r*(s*m-c*v)-o*(n*m-a*v)+d*(n*c-a*s),e[11]=-(r*(s*h-c*f)-o*(n*h-a*f)+l*(n*c-a*s)),e[12]=-(o*(f*g-p*v)-l*(s*g-u*v)+d*(s*p-u*f)),e[13]=r*(f*g-p*v)-l*(n*g-i*v)+d*(n*p-i*f),e[14]=-(r*(s*g-u*v)-o*(n*g-i*v)+d*(n*u-i*s)),e[15]=r*(s*p-u*f)-o*(n*p-i*f)+l*(n*u-i*s),e},c.determinant=function(e){var t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],u=e[7],c=e[8],l=e[9],f=e[10],p=e[11],h=e[12],d=e[13],v=e[14],g=e[15],m=t*o-r*a,y=t*s-n*a,b=t*u-i*a,w=r*s-n*o,x=r*u-i*o,_=n*u-i*s,E=c*d-l*h,k=c*v-f*h,A=c*g-p*h,S=l*v-f*d,L=l*g-p*d,M=f*g-p*v;return m*M-y*L+b*S+w*A-x*k+_*E},c.mul=c.multiply=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=t[9],h=t[10],d=t[11],v=t[12],g=t[13],m=t[14],y=t[15],b=r[0],w=r[1],x=r[2],_=r[3];return e[0]=b*n+w*s+x*f+_*v,e[1]=b*i+w*u+x*p+_*g,e[2]=b*a+w*c+x*h+_*m,e[3]=b*o+w*l+x*d+_*y,b=r[4],w=r[5],x=r[6],_=r[7],e[4]=b*n+w*s+x*f+_*v,e[5]=b*i+w*u+x*p+_*g,e[6]=b*a+w*c+x*h+_*m,e[7]=b*o+w*l+x*d+_*y,b=r[8],w=r[9],x=r[10],_=r[11],e[8]=b*n+w*s+x*f+_*v,e[9]=b*i+w*u+x*p+_*g,e[10]=b*a+w*c+x*h+_*m,e[11]=b*o+w*l+x*d+_*y,b=r[12],w=r[13],x=r[14],_=r[15],e[12]=b*n+w*s+x*f+_*v,e[13]=b*i+w*u+x*p+_*g,e[14]=b*a+w*c+x*h+_*m,e[15]=b*o+w*l+x*d+_*y,e},c.translate=function(e,t,r){var n,i,a,o,s,u,c,l,f,p,h,d,v=r[0],g=r[1],m=r[2];return t===e?(e[12]=t[0]*v+t[4]*g+t[8]*m+t[12],e[13]=t[1]*v+t[5]*g+t[9]*m+t[13],e[14]=t[2]*v+t[6]*g+t[10]*m+t[14],e[15]=t[3]*v+t[7]*g+t[11]*m+t[15]):(n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=t[9],h=t[10],d=t[11],e[0]=n,e[1]=i,e[2]=a,e[3]=o,e[4]=s,e[5]=u,e[6]=c,e[7]=l,e[8]=f,e[9]=p,e[10]=h,e[11]=d,e[12]=n*v+s*g+f*m+t[12],e[13]=i*v+u*g+p*m+t[13],e[14]=a*v+c*g+h*m+t[14],e[15]=o*v+l*g+d*m+t[15]),e},c.scale=function(e,t,r){var n=r[0],i=r[1],a=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},c.rotate=function(e,t,n,i){var a,o,s,u,c,l,f,p,h,d,v,g,m,y,b,w,x,_,E,k,A,S,L,M,F=i[0],j=i[1],I=i[2],O=Math.sqrt(F*F+j*j+I*I);return r>Math.abs(O)?null:(O=1/O,F*=O,j*=O,I*=O,a=Math.sin(n),o=Math.cos(n),s=1-o,u=t[0],c=t[1],l=t[2],f=t[3],p=t[4],h=t[5],d=t[6],v=t[7],g=t[8],m=t[9],y=t[10],b=t[11],w=F*F*s+o,x=j*F*s+I*a,_=I*F*s-j*a,E=F*j*s-I*a,k=j*j*s+o,A=I*j*s+F*a,S=F*I*s+j*a,L=j*I*s-F*a,M=I*I*s+o,e[0]=u*w+p*x+g*_,e[1]=c*w+h*x+m*_,e[2]=l*w+d*x+y*_,e[3]=f*w+v*x+b*_,e[4]=u*E+p*k+g*A,e[5]=c*E+h*k+m*A,e[6]=l*E+d*k+y*A,e[7]=f*E+v*k+b*A,e[8]=u*S+p*L+g*M,e[9]=c*S+h*L+m*M,e[10]=l*S+d*L+y*M,e[11]=f*S+v*L+b*M,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)},c.rotateX=function(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[4],o=t[5],s=t[6],u=t[7],c=t[8],l=t[9],f=t[10],p=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*i+c*n,e[5]=o*i+l*n,e[6]=s*i+f*n,e[7]=u*i+p*n,e[8]=c*i-a*n,e[9]=l*i-o*n,e[10]=f*i-s*n,e[11]=p*i-u*n,e},c.rotateY=function(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],u=t[3],c=t[8],l=t[9],f=t[10],p=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i-c*n,e[1]=o*i-l*n,e[2]=s*i-f*n,e[3]=u*i-p*n,e[8]=a*n+c*i,e[9]=o*n+l*i,e[10]=s*n+f*i,e[11]=u*n+p*i,e},c.rotateZ=function(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],u=t[3],c=t[4],l=t[5],f=t[6],p=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+c*n,e[1]=o*i+l*n,e[2]=s*i+f*n,e[3]=u*i+p*n,e[4]=c*i-a*n,e[5]=l*i-o*n,e[6]=f*i-s*n,e[7]=p*i-u*n,e},c.fromRotationTranslation=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=n+n,u=i+i,c=a+a,l=n*s,f=n*u,p=n*c,h=i*u,d=i*c,v=a*c,g=o*s,m=o*u,y=o*c;return e[0]=1-(h+v),e[1]=f+y,e[2]=p-m,e[3]=0,e[4]=f-y,e[5]=1-(l+v),e[6]=d+g,e[7]=0,e[8]=p+m,e[9]=d-g,e[10]=1-(l+h),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e},c.frustum=function(e,t,r,n,i,a,o){var s=1/(r-t),u=1/(i-n),c=1/(a-o);return e[0]=2*a*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=2*a*u,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(i+n)*u,e[10]=(o+a)*c,e[11]=-1,e[12]=0,e[13]=0,e[14]=2*o*a*c,e[15]=0,e},c.perspective=function(e,t,r,n,i){var a=1/Math.tan(t/2),o=1/(n-i);return e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=(i+n)*o,e[11]=-1,e[12]=0,e[13]=0,e[14]=2*i*n*o,e[15]=0,e},c.ortho=function(e,t,r,n,i,a,o){var s=1/(t-r),u=1/(n-i),c=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*u,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*c,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*u,e[14]=(o+a)*c,e[15]=1,e},c.lookAt=function(e,t,n,i){var a,o,s,u,l,f,p,h,d,v,g=t[0],m=t[1],y=t[2],b=i[0],w=i[1],x=i[2],_=n[0],E=n[1],k=n[2];return r>Math.abs(g-_)&&r>Math.abs(m-E)&&r>Math.abs(y-k)?c.identity(e):(p=g-_,h=m-E,d=y-k,v=1/Math.sqrt(p*p+h*h+d*d),p*=v,h*=v,d*=v,a=w*d-x*h,o=x*p-b*d,s=b*h-w*p,v=Math.sqrt(a*a+o*o+s*s),v?(v=1/v,a*=v,o*=v,s*=v):(a=0,o=0,s=0),u=h*s-d*o,l=d*a-p*s,f=p*o-h*a,v=Math.sqrt(u*u+l*l+f*f),v?(v=1/v,u*=v,l*=v,f*=v):(u=0,l=0,f=0),e[0]=a,e[1]=u,e[2]=p,e[3]=0,e[4]=o,e[5]=l,e[6]=h,e[7]=0,e[8]=s,e[9]=f,e[10]=d,e[11]=0,e[12]=-(a*g+o*m+s*y),e[13]=-(u*g+l*m+f*y),e[14]=-(p*g+h*m+d*y),e[15]=1,e)},c.str=function(e){return"mat4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"},e!==void 0&&(e.mat4=c);var f={},p=new Float32Array([0,0,0,1]);if(!r)var r=1e-6;f.create=function(){return new Float32Array(p)},f.clone=i.clone,f.fromValues=i.fromValues,f.copy=i.copy,f.set=i.set,f.identity=function(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e},f.setAxisAngle=function(e,t,r){r=.5*r;var n=Math.sin(r);return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=Math.cos(r),e},f.add=i.add,f.mul=f.multiply=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=r[0],u=r[1],c=r[2],l=r[3];return e[0]=n*l+o*s+i*c-a*u,e[1]=i*l+o*u+a*s-n*c,e[2]=a*l+o*c+n*u-i*s,e[3]=o*l-n*s-i*u-a*c,e},f.scale=i.scale,f.rotateX=function(e,t,r){r*=.5;var n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+o*s,e[1]=i*u+a*s,e[2]=a*u-i*s,e[3]=o*u-n*s,e},f.rotateY=function(e,t,r){r*=.5;var n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u-a*s,e[1]=i*u+o*s,e[2]=a*u+n*s,e[3]=o*u-i*s,e},f.rotateZ=function(e,t,r){r*=.5;var n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+i*s,e[1]=i*u-n*s,e[2]=a*u+o*s,e[3]=o*u-a*s,e},f.calculateW=function(e,t){var r=t[0],n=t[1],i=t[2];return e[0]=r,e[1]=n,e[2]=i,e[3]=-Math.sqrt(Math.abs(1-r*r-n*n-i*i)),e},f.dot=i.dot,f.lerp=i.lerp,f.slerp=function(e,t,r,n){var i,a,o,s,u=t[0],c=t[1],l=t[2],f=t[3],p=r[0],h=r[1],d=r[2],v=t[3],g=u*p+c*h+l*d+f*v;return Math.abs(g)>=1?(e!==t&&(e[0]=u,e[1]=c,e[2]=l,e[3]=f),e):(i=Math.acos(g),a=Math.sqrt(1-g*g),.001>Math.abs(a)?(e[0]=.5*u+.5*p,e[1]=.5*c+.5*h,e[2]=.5*l+.5*d,e[3]=.5*f+.5*v,e):(o=Math.sin((1-n)*i)/a,s=Math.sin(n*i)/a,e[0]=u*o+p*s,e[1]=c*o+h*s,e[2]=l*o+d*s,e[3]=f*o+v*s,e))},f.invert=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=r*r+n*n+i*i+a*a,s=o?1/o:0;return e[0]=-r*s,e[1]=-n*s,e[2]=-i*s,e[3]=a*s,e},f.conjugate=function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e},f.len=f.length=i.length,f.sqrLen=f.squaredLength=i.squaredLength,f.normalize=i.normalize,f.str=function(e){return"quat("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")"},e!==void 0&&(e.quat=f)}(e.exports)})()})()},{}]},{},[]),require=function(e,t,r){function n(r,a){if(!t[r]){if(!e[r]){var o="function"==typeof require&&require;if(!a&&o)return o(r,!0);if(i)return i(r,!0);throw Error("Cannot find module '"+r+"'")}var s=t[r]={exports:{}};e[r][0].call(s.exports,function(t){var i=e[r][1][t];return n(i?i:t)},s,s.exports)}return t[r].exports}for(var i="function"==typeof require&&require,a=0;r.length>a;a++)n(r[a]);return n}({"game-shell-orbit-camera":[function(e,t){t.exports=e("mJr24t")},{}],mJr24t:[function(e,t){"use strict";function r(e){var t=n();return e.on("tick",function(){var r=e.down("control"),n=e.down("shift"),i=e.down("mouse-left"),a=e.down("mouse-right"),o=e.down("mouse-middle");if(!i||r||n||t.rotate([e.mouseX/e.width-.5,e.mouseY/e.height-.5],[e.prevMouseX/e.width-.5,e.prevMouseY/e.height-.5]),(a||i&&r&&!n)&&t.pan([(e.mouseX-e.prevMouseX)/e.width,(e.mouseY-e.prevMouseY)/e.height]),e.scroll[1]&&(t.distance*=Math.exp(e.scroll[1]/e.height)),o||i&&!r&&n){var s=e.mouseY-e.prevMouseY;s&&(t.distance*=Math.exp(s/e.height))}}),t}var n=e("orbit-camera");t.exports=r},{"orbit-camera":1}],1:[function(e,t){"use strict";function r(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[4],e[4]=t[5],e[5]=t[6],e[6]=t[8],e[7]=t[9],e[8]=t[10],e}function n(e,t){var r,n=t[0]+t[4]+t[8];if(n>0)r=Math.sqrt(n+1),e[3]=.5*r,r=.5/r,e[0]=(t[7]-t[5])*r,e[1]=(t[2]-t[6])*r,e[2]=(t[3]-t[1])*r;else{var i=0;t[4]>t[0]&&(i=1),t[8]>t[3*i+i]&&(i=2);var a=(i+1)%3,o=(i+2)%3;r=Math.sqrt(t[3*i+i]-t[3*a+a]-t[3*o+o]+1),e[i]=.5*r,r=.5/r,e[3]=(t[3*o+a]-t[3*a+o])*r,e[a]=(t[3*a+i]+t[3*i+a])*r,e[o]=(t[3*o+i]+t[3*i+o])*r}return e}function i(e,t,r){this.rotation=e,this.center=t,this.distance=r}function a(e,t){var r=t[0],n=t[1];t[2];var i=r*r+n*n;i>1&&(i=1),e[0]=-t[0],e[1]=t[1],e[2]=t[2]||Math.sqrt(1-i),e[3]=0}function o(e,t,r){e=e||[0,0,-1],t=t||[0,0,0],r=r||[0,1,0];var n=new i(l.create(),u.create(),1);return n.lookAt(e,t,r),n}var s=e("gl-matrix"),u=s.vec3;s.mat3;var c=s.mat4,l=s.quat,f=new Float32Array(16),p=new Float32Array(16),h=i.prototype;h.view=function(e){return e||(e=c.create()),p[0]=p[1]=0,p[2]=-this.distance,c.fromRotationTranslation(e,l.conjugate(f,this.rotation),p),c.translate(e,e,u.negate(f,this.center)),e},h.lookAt=function(e,t,i){c.lookAt(f,e,t,i),r(f,f),n(this.rotation,f),u.copy(this.center,t),this.distance=u.distance(e,t)},h.pan=function(e){var t=this.distance;f[0]=-t*(e[0]||0),f[1]=t*(e[1]||0),f[2]=t*(e[2]||0),u.transformQuat(f,f,this.rotation),u.add(this.center,this.center,f)},h.zoom=function(e){this.distance+=e,0>this.distance&&(this.distance=0)},h.rotate=function(e,t){a(f,e),a(p,t),l.invert(p,p),l.multiply(f,f,p),1e-6>l.length(f)||(l.multiply(this.rotation,this.rotation,f),l.normalize(this.rotation,this.rotation))},t.exports=o},{"gl-matrix":2}],2:[function(e,t,r){(function(){(function(){"use strict";var e={};r===void 0?"function"==typeof define&&"object"==typeof define.amd&&define.amd?(e.exports={},define(function(){return e.exports})):e.exports=window:e.exports=r,function(e){var t={};if(!r)var r=1e-6;t.create=function(){return new Float32Array(2)},t.clone=function(e){var t=new Float32Array(2);return t[0]=e[0],t[1]=e[1],t},t.fromValues=function(e,t){var r=new Float32Array(2);return r[0]=e,r[1]=t,r},t.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e},t.set=function(e,t,r){return e[0]=t,e[1]=r,e},t.add=function(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e},t.sub=t.subtract=function(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e},t.mul=t.multiply=function(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e},t.div=t.divide=function(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e},t.min=function(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e},t.max=function(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e},t.scale=function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e},t.dist=t.distance=function(e,t){var r=t[0]-e[0],n=t[1]-e[1];return Math.sqrt(r*r+n*n)},t.sqrDist=t.squaredDistance=function(e,t){var r=t[0]-e[0],n=t[1]-e[1];return r*r+n*n},t.len=t.length=function(e){var t=e[0],r=e[1];return Math.sqrt(t*t+r*r)},t.sqrLen=t.squaredLength=function(e){var t=e[0],r=e[1];return t*t+r*r},t.negate=function(e,t){return e[0]=-t[0],e[1]=-t[1],e},t.normalize=function(e,t){var r=t[0],n=t[1],i=r*r+n*n;return i>0&&(i=1/Math.sqrt(i),e[0]=t[0]*i,e[1]=t[1]*i),e},t.dot=function(e,t){return e[0]*t[0]+e[1]*t[1]},t.cross=function(e,t,r){var n=t[0]*r[1]-t[1]*r[0];return e[0]=e[1]=0,e[2]=n,e},t.lerp=function(e,t,r,n){var i=t[0],a=t[1];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e},t.transformMat2=function(e,t,r){var n=t[0],i=t[1];return e[0]=n*r[0]+i*r[1],e[1]=n*r[2]+i*r[3],e},t.forEach=function(){var e=new Float32Array(2);return function(t,r,n,i,a,o){var s,u;for(r||(r=2),n||(n=0),u=i?Math.min(i*r+n,t.length):t.length,s=n;u>s;s+=r)e[0]=t[s],e[1]=t[s+1],a(e,e,o),t[s]=e[0],t[s+1]=e[1];return t}}(),t.str=function(e){return"vec2("+e[0]+", "+e[1]+")"},e!==void 0&&(e.vec2=t);var n={};if(!r)var r=1e-6;n.create=function(){return new Float32Array(3)},n.clone=function(e){var t=new Float32Array(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t},n.fromValues=function(e,t,r){var n=new Float32Array(3);return n[0]=e,n[1]=t,n[2]=r,n},n.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},n.set=function(e,t,r,n){return e[0]=t,e[1]=r,e[2]=n,e},n.add=function(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e},n.sub=n.subtract=function(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e},n.mul=n.multiply=function(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e},n.div=n.divide=function(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e},n.min=function(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e[2]=Math.min(t[2],r[2]),e},n.max=function(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e[2]=Math.max(t[2],r[2]),e},n.scale=function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e},n.dist=n.distance=function(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return Math.sqrt(r*r+n*n+i*i)},n.sqrDist=n.squaredDistance=function(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2];return r*r+n*n+i*i},n.len=n.length=function(e){var t=e[0],r=e[1],n=e[2];return Math.sqrt(t*t+r*r+n*n)},n.sqrLen=n.squaredLength=function(e){var t=e[0],r=e[1],n=e[2];return t*t+r*r+n*n},n.negate=function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e},n.normalize=function(e,t){var r=t[0],n=t[1],i=t[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a),e},n.dot=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]},n.cross=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],u=r[2];return e[0]=i*u-a*s,e[1]=a*o-n*u,e[2]=n*s-i*o,e},n.lerp=function(e,t,r,n){var i=t[0],a=t[1],o=t[2];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e},n.transformMat4=function(e,t,r){var n=t[0],i=t[1],a=t[2];return e[0]=r[0]*n+r[4]*i+r[8]*a+r[12],e[1]=r[1]*n+r[5]*i+r[9]*a+r[13],e[2]=r[2]*n+r[6]*i+r[10]*a+r[14],e},n.transformQuat=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],u=r[2],c=r[3],l=c*n+s*a-u*i,f=c*i+u*n-o*a,p=c*a+o*i-s*n,h=-o*n-s*i-u*a;return e[0]=l*c+h*-o+f*-u-p*-s,e[1]=f*c+h*-s+p*-o-l*-u,e[2]=p*c+h*-u+l*-s-f*-o,e},n.forEach=function(){var e=new Float32Array(3);return function(t,r,n,i,a,o){var s,u;for(r||(r=3),n||(n=0),u=i?Math.min(i*r+n,t.length):t.length,s=n;u>s;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2];return t}}(),n.str=function(e){return"vec3("+e[0]+", "+e[1]+", "+e[2]+")"},e!==void 0&&(e.vec3=n);var i={};if(!r)var r=1e-6;i.create=function(){return new Float32Array(4)},i.clone=function(e){var t=new Float32Array(4);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},i.fromValues=function(e,t,r,n){var i=new Float32Array(4);return i[0]=e,i[1]=t,i[2]=r,i[3]=n,i},i.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},i.set=function(e,t,r,n,i){return e[0]=t,e[1]=r,e[2]=n,e[3]=i,e},i.add=function(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e},i.sub=i.subtract=function(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e},i.mul=i.multiply=function(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e[2]=t[2]*r[2],e[3]=t[3]*r[3],e},i.div=i.divide=function(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e[2]=t[2]/r[2],e[3]=t[3]/r[3],e},i.min=function(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e[2]=Math.min(t[2],r[2]),e[3]=Math.min(t[3],r[3]),e},i.max=function(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e[2]=Math.max(t[2],r[2]),e[3]=Math.max(t[3],r[3]),e},i.scale=function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e},i.dist=i.distance=function(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2],a=t[3]-e[3];return Math.sqrt(r*r+n*n+i*i+a*a)},i.sqrDist=i.squaredDistance=function(e,t){var r=t[0]-e[0],n=t[1]-e[1],i=t[2]-e[2],a=t[3]-e[3];return r*r+n*n+i*i+a*a},i.len=i.length=function(e){var t=e[0],r=e[1],n=e[2],i=e[3];return Math.sqrt(t*t+r*r+n*n+i*i)},i.sqrLen=i.squaredLength=function(e){var t=e[0],r=e[1],n=e[2],i=e[3];return t*t+r*r+n*n+i*i},i.negate=function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=-t[3],e},i.normalize=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=r*r+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o),e[0]=t[0]*o,e[1]=t[1]*o,e[2]=t[2]*o,e[3]=t[3]*o),e},i.dot=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]},i.lerp=function(e,t,r,n){var i=t[0],a=t[1],o=t[2],s=t[3];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e[3]=s+n*(r[3]-s),e},i.transformMat4=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3];return e[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,e[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,e[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,e[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,e},i.transformQuat=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],u=r[2],c=r[3],l=c*n+s*a-u*i,f=c*i+u*n-o*a,p=c*a+o*i-s*n,h=-o*n-s*i-u*a;return e[0]=l*c+h*-o+f*-u-p*-s,e[1]=f*c+h*-s+p*-o-l*-u,e[2]=p*c+h*-u+l*-s-f*-o,e},i.forEach=function(){var e=new Float32Array(4);return function(t,r,n,i,a,o){var s,u;for(r||(r=4),n||(n=0),u=i?Math.min(i*r+n,t.length):t.length,s=n;u>s;s+=r)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],e[3]=t[s+3],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2],t[s+3]=e[3];return t}}(),i.str=function(e){return"vec4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")"},e!==void 0&&(e.vec4=i);var a={},o=new Float32Array([1,0,0,1]);if(!r)var r=1e-6;a.create=function(){return new Float32Array(o)},a.clone=function(e){var t=new Float32Array(4);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},a.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},a.identity=function(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=1,e},a.transpose=function(e,t){if(e===t){var r=t[1];e[1]=t[2],e[2]=r}else e[0]=t[0],e[1]=t[2],e[2]=t[1],e[3]=t[3];return e},a.invert=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=r*a-i*n;return o?(o=1/o,e[0]=a*o,e[1]=-n*o,e[2]=-i*o,e[3]=r*o,e):null},a.adjoint=function(e,t){var r=t[0];return e[0]=t[3],e[1]=-t[1],e[2]=-t[2],e[3]=r,e},a.determinant=function(e){return e[0]*e[3]-e[2]*e[1]},a.mul=a.multiply=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=r[0],u=r[1],c=r[2],l=r[3];return e[0]=n*s+i*c,e[1]=n*u+i*l,e[2]=a*s+o*c,e[3]=a*u+o*l,e},a.rotate=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+i*s,e[1]=n*-s+i*u,e[2]=a*u+o*s,e[3]=a*-s+o*u,e},a.scale=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=r[0],u=r[1];return e[0]=n*s,e[1]=i*u,e[2]=a*s,e[3]=o*u,e},a.str=function(e){return"mat2("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")"},e!==void 0&&(e.mat2=a);var s={},u=new Float32Array([1,0,0,0,1,0,0,0,1]);if(!r)var r=1e-6;s.create=function(){return new Float32Array(u)},s.clone=function(e){var t=new Float32Array(9);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t},s.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e},s.identity=function(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e},s.transpose=function(e,t){if(e===t){var r=t[1],n=t[2],i=t[5];e[1]=t[3],e[2]=t[6],e[3]=r,e[5]=t[7],e[6]=n,e[7]=i}else e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8];return e},s.invert=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=l*o-s*c,p=-l*a+s*u,h=c*a-o*u,d=r*f+n*p+i*h;return d?(d=1/d,e[0]=f*d,e[1]=(-l*n+i*c)*d,e[2]=(s*n-i*o)*d,e[3]=p*d,e[4]=(l*r-i*u)*d,e[5]=(-s*r+i*a)*d,e[6]=h*d,e[7]=(-c*r+n*u)*d,e[8]=(o*r-n*a)*d,e):null},s.adjoint=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8];return e[0]=o*l-s*c,e[1]=i*c-n*l,e[2]=n*s-i*o,e[3]=s*u-a*l,e[4]=r*l-i*u,e[5]=i*a-r*s,e[6]=a*c-o*u,e[7]=n*u-r*c,e[8]=r*o-n*a,e},s.determinant=function(e){var t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],u=e[7],c=e[8];return t*(c*a-o*u)+r*(-c*i+o*s)+n*(u*i-a*s)},s.mul=s.multiply=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=r[0],h=r[1],d=r[2],v=r[3],g=r[4],m=r[5],y=r[6],b=r[7],w=r[8];return e[0]=p*n+h*o+d*c,e[1]=p*i+h*s+d*l,e[2]=p*a+h*u+d*f,e[3]=v*n+g*o+m*c,e[4]=v*i+g*s+m*l,e[5]=v*a+g*u+m*f,e[6]=y*n+b*o+w*c,e[7]=y*i+b*s+w*l,e[8]=y*a+b*u+w*f,e},s.str=function(e){return"mat3("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+")"},e!==void 0&&(e.mat3=s);var c={},l=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);if(!r)var r=1e-6;c.create=function(){return new Float32Array(l)},c.clone=function(e){var t=new Float32Array(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},c.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},c.identity=function(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},c.transpose=function(e,t){if(e===t){var r=t[1],n=t[2],i=t[3],a=t[6],o=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=a,e[11]=t[14],e[12]=i,e[13]=o,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e},c.invert=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=t[9],p=t[10],h=t[11],d=t[12],v=t[13],g=t[14],m=t[15],y=r*s-n*o,b=r*u-i*o,w=r*c-a*o,x=n*u-i*s,_=n*c-a*s,E=i*c-a*u,k=l*v-f*d,A=l*g-p*d,S=l*m-h*d,L=f*g-p*v,M=f*m-h*v,F=p*m-h*g,j=y*F-b*M+w*L+x*S-_*A+E*k;return j?(j=1/j,e[0]=(s*F-u*M+c*L)*j,e[1]=(i*M-n*F-a*L)*j,e[2]=(v*E-g*_+m*x)*j,e[3]=(p*_-f*E-h*x)*j,e[4]=(u*S-o*F-c*A)*j,e[5]=(r*F-i*S+a*A)*j,e[6]=(g*w-d*E-m*b)*j,e[7]=(l*E-p*w+h*b)*j,e[8]=(o*M-s*S+c*k)*j,e[9]=(n*S-r*M-a*k)*j,e[10]=(d*_-v*w+m*y)*j,e[11]=(f*w-l*_-h*y)*j,e[12]=(s*A-o*L-u*k)*j,e[13]=(r*L-n*A+i*k)*j,e[14]=(v*b-d*x-g*y)*j,e[15]=(l*x-f*b+p*y)*j,e):null},c.adjoint=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],c=t[7],l=t[8],f=t[9],p=t[10],h=t[11],d=t[12],v=t[13],g=t[14],m=t[15];return e[0]=s*(p*m-h*g)-f*(u*m-c*g)+v*(u*h-c*p),e[1]=-(n*(p*m-h*g)-f*(i*m-a*g)+v*(i*h-a*p)),e[2]=n*(u*m-c*g)-s*(i*m-a*g)+v*(i*c-a*u),e[3]=-(n*(u*h-c*p)-s*(i*h-a*p)+f*(i*c-a*u)),e[4]=-(o*(p*m-h*g)-l*(u*m-c*g)+d*(u*h-c*p)),e[5]=r*(p*m-h*g)-l*(i*m-a*g)+d*(i*h-a*p),e[6]=-(r*(u*m-c*g)-o*(i*m-a*g)+d*(i*c-a*u)),e[7]=r*(u*h-c*p)-o*(i*h-a*p)+l*(i*c-a*u),e[8]=o*(f*m-h*v)-l*(s*m-c*v)+d*(s*h-c*f),e[9]=-(r*(f*m-h*v)-l*(n*m-a*v)+d*(n*h-a*f)),e[10]=r*(s*m-c*v)-o*(n*m-a*v)+d*(n*c-a*s),e[11]=-(r*(s*h-c*f)-o*(n*h-a*f)+l*(n*c-a*s)),e[12]=-(o*(f*g-p*v)-l*(s*g-u*v)+d*(s*p-u*f)),e[13]=r*(f*g-p*v)-l*(n*g-i*v)+d*(n*p-i*f),e[14]=-(r*(s*g-u*v)-o*(n*g-i*v)+d*(n*u-i*s)),e[15]=r*(s*p-u*f)-o*(n*p-i*f)+l*(n*u-i*s),e},c.determinant=function(e){var t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],u=e[7],c=e[8],l=e[9],f=e[10],p=e[11],h=e[12],d=e[13],v=e[14],g=e[15],m=t*o-r*a,y=t*s-n*a,b=t*u-i*a,w=r*s-n*o,x=r*u-i*o,_=n*u-i*s,E=c*d-l*h,k=c*v-f*h,A=c*g-p*h,S=l*v-f*d,L=l*g-p*d,M=f*g-p*v;return m*M-y*L+b*S+w*A-x*k+_*E},c.mul=c.multiply=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=t[9],h=t[10],d=t[11],v=t[12],g=t[13],m=t[14],y=t[15],b=r[0],w=r[1],x=r[2],_=r[3];return e[0]=b*n+w*s+x*f+_*v,e[1]=b*i+w*u+x*p+_*g,e[2]=b*a+w*c+x*h+_*m,e[3]=b*o+w*l+x*d+_*y,b=r[4],w=r[5],x=r[6],_=r[7],e[4]=b*n+w*s+x*f+_*v,e[5]=b*i+w*u+x*p+_*g,e[6]=b*a+w*c+x*h+_*m,e[7]=b*o+w*l+x*d+_*y,b=r[8],w=r[9],x=r[10],_=r[11],e[8]=b*n+w*s+x*f+_*v,e[9]=b*i+w*u+x*p+_*g,e[10]=b*a+w*c+x*h+_*m,e[11]=b*o+w*l+x*d+_*y,b=r[12],w=r[13],x=r[14],_=r[15],e[12]=b*n+w*s+x*f+_*v,e[13]=b*i+w*u+x*p+_*g,e[14]=b*a+w*c+x*h+_*m,e[15]=b*o+w*l+x*d+_*y,e},c.translate=function(e,t,r){var n,i,a,o,s,u,c,l,f,p,h,d,v=r[0],g=r[1],m=r[2];return t===e?(e[12]=t[0]*v+t[4]*g+t[8]*m+t[12],e[13]=t[1]*v+t[5]*g+t[9]*m+t[13],e[14]=t[2]*v+t[6]*g+t[10]*m+t[14],e[15]=t[3]*v+t[7]*g+t[11]*m+t[15]):(n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],u=t[5],c=t[6],l=t[7],f=t[8],p=t[9],h=t[10],d=t[11],e[0]=n,e[1]=i,e[2]=a,e[3]=o,e[4]=s,e[5]=u,e[6]=c,e[7]=l,e[8]=f,e[9]=p,e[10]=h,e[11]=d,e[12]=n*v+s*g+f*m+t[12],e[13]=i*v+u*g+p*m+t[13],e[14]=a*v+c*g+h*m+t[14],e[15]=o*v+l*g+d*m+t[15]),e},c.scale=function(e,t,r){var n=r[0],i=r[1],a=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},c.rotate=function(e,t,n,i){var a,o,s,u,c,l,f,p,h,d,v,g,m,y,b,w,x,_,E,k,A,S,L,M,F=i[0],j=i[1],I=i[2],O=Math.sqrt(F*F+j*j+I*I);return r>Math.abs(O)?null:(O=1/O,F*=O,j*=O,I*=O,a=Math.sin(n),o=Math.cos(n),s=1-o,u=t[0],c=t[1],l=t[2],f=t[3],p=t[4],h=t[5],d=t[6],v=t[7],g=t[8],m=t[9],y=t[10],b=t[11],w=F*F*s+o,x=j*F*s+I*a,_=I*F*s-j*a,E=F*j*s-I*a,k=j*j*s+o,A=I*j*s+F*a,S=F*I*s+j*a,L=j*I*s-F*a,M=I*I*s+o,e[0]=u*w+p*x+g*_,e[1]=c*w+h*x+m*_,e[2]=l*w+d*x+y*_,e[3]=f*w+v*x+b*_,e[4]=u*E+p*k+g*A,e[5]=c*E+h*k+m*A,e[6]=l*E+d*k+y*A,e[7]=f*E+v*k+b*A,e[8]=u*S+p*L+g*M,e[9]=c*S+h*L+m*M,e[10]=l*S+d*L+y*M,e[11]=f*S+v*L+b*M,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)},c.rotateX=function(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[4],o=t[5],s=t[6],u=t[7],c=t[8],l=t[9],f=t[10],p=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*i+c*n,e[5]=o*i+l*n,e[6]=s*i+f*n,e[7]=u*i+p*n,e[8]=c*i-a*n,e[9]=l*i-o*n,e[10]=f*i-s*n,e[11]=p*i-u*n,e},c.rotateY=function(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],u=t[3],c=t[8],l=t[9],f=t[10],p=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i-c*n,e[1]=o*i-l*n,e[2]=s*i-f*n,e[3]=u*i-p*n,e[8]=a*n+c*i,e[9]=o*n+l*i,e[10]=s*n+f*i,e[11]=u*n+p*i,e},c.rotateZ=function(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],u=t[3],c=t[4],l=t[5],f=t[6],p=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+c*n,e[1]=o*i+l*n,e[2]=s*i+f*n,e[3]=u*i+p*n,e[4]=c*i-a*n,e[5]=l*i-o*n,e[6]=f*i-s*n,e[7]=p*i-u*n,e
},c.fromRotationTranslation=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=n+n,u=i+i,c=a+a,l=n*s,f=n*u,p=n*c,h=i*u,d=i*c,v=a*c,g=o*s,m=o*u,y=o*c;return e[0]=1-(h+v),e[1]=f+y,e[2]=p-m,e[3]=0,e[4]=f-y,e[5]=1-(l+v),e[6]=d+g,e[7]=0,e[8]=p+m,e[9]=d-g,e[10]=1-(l+h),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e},c.frustum=function(e,t,r,n,i,a,o){var s=1/(r-t),u=1/(i-n),c=1/(a-o);return e[0]=2*a*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=2*a*u,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(i+n)*u,e[10]=(o+a)*c,e[11]=-1,e[12]=0,e[13]=0,e[14]=2*o*a*c,e[15]=0,e},c.perspective=function(e,t,r,n,i){var a=1/Math.tan(t/2),o=1/(n-i);return e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=(i+n)*o,e[11]=-1,e[12]=0,e[13]=0,e[14]=2*i*n*o,e[15]=0,e},c.ortho=function(e,t,r,n,i,a,o){var s=1/(t-r),u=1/(n-i),c=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*u,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*c,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*u,e[14]=(o+a)*c,e[15]=1,e},c.lookAt=function(e,t,n,i){var a,o,s,u,l,f,p,h,d,v,g=t[0],m=t[1],y=t[2],b=i[0],w=i[1],x=i[2],_=n[0],E=n[1],k=n[2];return r>Math.abs(g-_)&&r>Math.abs(m-E)&&r>Math.abs(y-k)?c.identity(e):(p=g-_,h=m-E,d=y-k,v=1/Math.sqrt(p*p+h*h+d*d),p*=v,h*=v,d*=v,a=w*d-x*h,o=x*p-b*d,s=b*h-w*p,v=Math.sqrt(a*a+o*o+s*s),v?(v=1/v,a*=v,o*=v,s*=v):(a=0,o=0,s=0),u=h*s-d*o,l=d*a-p*s,f=p*o-h*a,v=Math.sqrt(u*u+l*l+f*f),v?(v=1/v,u*=v,l*=v,f*=v):(u=0,l=0,f=0),e[0]=a,e[1]=u,e[2]=p,e[3]=0,e[4]=o,e[5]=l,e[6]=h,e[7]=0,e[8]=s,e[9]=f,e[10]=d,e[11]=0,e[12]=-(a*g+o*m+s*y),e[13]=-(u*g+l*m+f*y),e[14]=-(p*g+h*m+d*y),e[15]=1,e)},c.str=function(e){return"mat4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"},e!==void 0&&(e.mat4=c);var f={},p=new Float32Array([0,0,0,1]);if(!r)var r=1e-6;f.create=function(){return new Float32Array(p)},f.clone=i.clone,f.fromValues=i.fromValues,f.copy=i.copy,f.set=i.set,f.identity=function(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e},f.setAxisAngle=function(e,t,r){r=.5*r;var n=Math.sin(r);return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=Math.cos(r),e},f.add=i.add,f.mul=f.multiply=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=r[0],u=r[1],c=r[2],l=r[3];return e[0]=n*l+o*s+i*c-a*u,e[1]=i*l+o*u+a*s-n*c,e[2]=a*l+o*c+n*u-i*s,e[3]=o*l-n*s-i*u-a*c,e},f.scale=i.scale,f.rotateX=function(e,t,r){r*=.5;var n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+o*s,e[1]=i*u+a*s,e[2]=a*u-i*s,e[3]=o*u-n*s,e},f.rotateY=function(e,t,r){r*=.5;var n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u-a*s,e[1]=i*u+o*s,e[2]=a*u+n*s,e[3]=o*u-i*s,e},f.rotateZ=function(e,t,r){r*=.5;var n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+i*s,e[1]=i*u-n*s,e[2]=a*u+o*s,e[3]=o*u-a*s,e},f.calculateW=function(e,t){var r=t[0],n=t[1],i=t[2];return e[0]=r,e[1]=n,e[2]=i,e[3]=-Math.sqrt(Math.abs(1-r*r-n*n-i*i)),e},f.dot=i.dot,f.lerp=i.lerp,f.slerp=function(e,t,r,n){var i,a,o,s,u=t[0],c=t[1],l=t[2],f=t[3],p=r[0],h=r[1],d=r[2],v=t[3],g=u*p+c*h+l*d+f*v;return Math.abs(g)>=1?(e!==t&&(e[0]=u,e[1]=c,e[2]=l,e[3]=f),e):(i=Math.acos(g),a=Math.sqrt(1-g*g),.001>Math.abs(a)?(e[0]=.5*u+.5*p,e[1]=.5*c+.5*h,e[2]=.5*l+.5*d,e[3]=.5*f+.5*v,e):(o=Math.sin((1-n)*i)/a,s=Math.sin(n*i)/a,e[0]=u*o+p*s,e[1]=c*o+h*s,e[2]=l*o+d*s,e[3]=f*o+v*s,e))},f.invert=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=r*r+n*n+i*i+a*a,s=o?1/o:0;return e[0]=-r*s,e[1]=-n*s,e[2]=-i*s,e[3]=a*s,e},f.conjugate=function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e},f.len=f.length=i.length,f.sqrLen=f.squaredLength=i.squaredLength,f.normalize=i.normalize,f.str=function(e){return"quat("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")"},e!==void 0&&(e.quat=f)}(e.exports)})()})()},{}]},{},[]),require=function(e,t,r){function n(r,a){if(!t[r]){if(!e[r]){var o="function"==typeof require&&require;if(!a&&o)return o(r,!0);if(i)return i(r,!0);throw Error("Cannot find module '"+r+"'")}var s=t[r]={exports:{}};e[r][0].call(s.exports,function(t){var i=e[r][1][t];return n(i?i:t)},s,s.exports)}return t[r].exports}for(var i="function"==typeof require&&require,a=0;r.length>a;a++)n(r[a]);return n}({1:[function(e,t){"use strict";function r(e,t,r,n,i,a,o){this.gl=e,this.mode=t,this.numElements=r,this.vao=n,this.elements=i,this.attributes=a,this.attributeNames=o}r.prototype.bind=function(e){this.vao.bind();for(var t=this.attributeNames,r=t.length,n=0;r>n;++n){var i=e.attributes[t[n]];i&&(i.location=n)}},r.prototype.unbind=function(){this.vao.unbind()},r.prototype.dispose=function(){this.vao.dispose(),this.elements&&this.elements.dispose();for(var e=this.attributes,t=e.length,r=0;t>r;++r){var n=e[r];n.buffer&&n.buffer.dispose()}},r.prototype.draw=function(){this.elements?this.elements.draw(this.mode,this.numElements):this.gl.drawArrays(this.mode,0,this.numElements)},t.exports=r},{}],"gl-mesh":[function(e,t){t.exports=e("hOkVq7")},{}],hOkVq7:[function(e,t){"use strict";function r(e){this.gl=e,this.mode=e.POINTS,this.numElements=0,this.elements=null,this.attributes={}}function n(e,t,r,n){this.buffer=e,this.size=t,this.type=r,this.normalized=n}function i(e,t){return t instanceof Uint8Array||t instanceof Uint8ClampedArray?e.UNSIGNED_BYTE:t instanceof Int8Array?e.BYTE:t instanceof Uint16Array?e.UNSIGNED_SHORT:t instanceof Int16Array?e.SHORT:t instanceof Uint32Array?e.UNSIGNED_INT:t instanceof Int32Array?e.INT:t instanceof Float32Array?e.FLOAT:0}function a(e,t,r){return t===e.UNSIGNED_BYTE?g.mallocUint8(r):t===e.BYTE?g.mallocInt8(r):t===e.UNSIGNED_SHORT?g.mallocUint16(r):t===e.SHORT?g.mallocInt16(r):t===e.UNSIGNED_INT?g.mallocUint32(r):t===e.INT?g.mallocInt32(r):g.mallocFloat32(r)}function o(e,t,r){var o=[],s=[];for(var u in r){var c,l,f,h,m=r[u];if("number"==typeof m.length){if(m.length!==t)throw Error("Incorrect vertex count for attribute "+u);if("number"==typeof m[0]){var y=i(m);if(y)h=1,l=y,f=y===e.BYTE||y===e.UNSIGNED_BYTE,c=p(e,m);else{for(var b=g.mallocFloat32(t),w=0;t>w;++w)b[w]=m[w];h=1,l=e.FLOAT,f=!1,c=p(e,b.subarray(0,t)),g.freeUint32(b)}}else if(m[0].length){h=0|m[0].length;for(var x=0,b=g.mallocFloat32(h*t),w=0;t>w;++w)for(var _=m[w],E=0;h>E;++E)b[x++]=_[E];l=e.FLOAT,f=!1,c=p(e,b.subarray(0,x)),g.freeFloat32(b)}}else{if(!m.shape)throw Error("Invalid vertex attribute "+u);if(m.shape[0]!==t)throw Error("Invalid shape for attribute "+u);1===m.shape.length&&(m=d(m.data,[m.shape[0],1],[m.stride[0],1],m.offset));var k=!0;if(l=i(e,m.data),l||(k=!1,l=e.FLOAT),(1!==stride[0]||shape[1]>1&&1!==stride[1])&&(k=!1),f=l===e.BYTE||l===e.UNSIGNED_BYTE,h=m.shape[1],k)c=0===m.offset&&m.data.length===h*t?p(e,m.data):p(e,m.data.subarray(0,h*t));else{var b=a(e,l,h*t),A=d(b,m.shape);v.assign(A,m),c=p(e,A.data.subarray(0,h*t)),g.free(b)}}o.push(u),s.push(new n(c,h,l,f))}return{names:o,values:s}}function s(e,t,r,o){var s=0|o.shape[0],u=0|o.shape[1],c=0|s*u,l=[],f=[];for(var h in r){var d,v,m,y,b=r[h];if("number"==typeof b.length){if(b.length!==t)throw Error("Invalid attribute size for attribute "+h);if("number"==typeof b[0]){v=1,d=i(e,b);var w;d||(d=e.FLOAT),m=d===e.BYTE||e.UNSIGNED_BYTE,w=a(e,d,c);for(var x=0,_=0;s>_;++_)for(var E=0;u>E;++E)w[x++]=b[o.get(_,E)];y=p(e,w.subarray(0,x)),g.free(w)}else{if(v=0|b[0].length,1>v||v>4)throw Error("Invalid attribute size for attribute "+h);d=e.FLOAT,m=!1;for(var w=g.mallocFloat32(c*v),x=0,_=0;s>_;++_)for(var E=0;u>E;++E)for(var k=b[o.get(_,E)],A=0;v>A;++A)w[x++]=k[A];y=p(e,w.subarray(0,c*v)),g.freeFloat32(w)}}else{if(!b.shape)throw Error("Invalid attribute "+h+", unrecognized type");if(b.shape[0]!==t)throw Error("Invalid number of vertices for attribute "+h);if(1===b.shape.length){v=1,d=i(e,array.data),d||(d=e.FLOAT),m=d===e.BYTE||d===e.UNSIGNED_BYTE;for(var w=a(e,d,c),x=0,_=0;s>_;++_)for(var E=0;u>E;++E)w[x++]=b.get(o.get(_,E));y=p(e,w.subarray(0,x)),g.free(w)}else{if(2!==b.shape.length)throw Error("Invalid attribute "+h+", shape is too big");if(v=0|b.shape[1],1>v||v>4)throw Error("Invalid attribute size for attribute "+h);d=i(e,array.data),d||(d=e.FLOAT),m=d===e.BYTE||e.UNSIGNED_BYTE;for(var w=a(e,d,c*v),x=0,_=0;s>_;++_)for(var E=0;u>E;++E)for(var S=o.get(_,E),A=0;v>A;++A)w[x++]=b.get(S,A);y=p(e,w.subarray(0,x)),g.free(w)}}l.push(h),f.push(new n(y,v,d,m))}return{names:l,values:f}}function u(e,t,r,n){for(var i=0|n.length,a=g.mallocUint32(i),o=0;i>o;++o)a[o]=n[o];var u=s(e,t,r,d(a,[i,1]));return g.freeUint32(a),u}function c(e,t,r,n){for(var i=0|n.length,a=0|n[0].length,o=0,u=g.mallocUint32(i*a),c=0;i>c;++c)for(var l=n[c],f=0;a>f;++f)u[o++]=l[f];var p=s(e,t,r,d(u,[i,a]));return g.freeUint32(u),p}function l(e,t,n,i,a){if(0===n)return new r(e);var o=h(e,i,a.values);return new m(e,t,n,o,i,a.values,a.names)}function f(e,t,r){if(2===arguments.length&&t.cells){r={};for(var n in t)"cells"!==n&&(r[n]=t[n]);t=t.cells}var i;if(void 0===r)r=t,t=void 0,i=e.POINTS;else if(t instanceof Array){if(0===t.length)return l(e,e.POINTS,0,null,[]);if("number"==typeof t[0]||1===t[0].length)i=e.POINTS;else if(2===t[0].length)i=e.LINES;else{if(3!==t[0].length)throw Error("Invalid shape for element array");i=e.TRIANGLES}}else{if(!t.shape)throw Error("Invalid data type for element array");if(1===t.shape.length)i=e.POINTS,t=d(t.data,[t.shape[0],1],[t.stride[0],1],t.offset);else{if(2!==t.shape.length)throw Error("Invalid shape for element array");if(1===t.shape[1])i=e.POINTS;else if(2===t.shape[1])i=e.LINES;else{if(3!==t.shape[1])throw Error("Invalid shape for elment array");i=e.TRIANGLES}}if(0===t.shape[0])return l(e,i,0,null,[])}var a=Object.keys(r);if(1>a.length)throw Error("Invalid number of vertex attributes");var f,h=r[a[0]];if(h.length)f=h.length;else{if(!h.shape)throw Error("Invalid vertex attribute: "+a[0]);f=h.shape[0]}if(void 0===t)return l(e,e.POINTS,f,null,o(e,f,r));if(65536>=f&&i!==e.POINTS){var m,y;if(t instanceof Array)if("number"==typeof t[0]){y=0|t.length;for(var b=g.mallocUint16(y),w=0;y>w;++w)b[w]=t[w];m=p(e,e.ELEMENT_ARRAY_BUFFER,b.subarray(0,y)),g.freeUint16(b)}else{var x=0|t.length,_=0|t[0].length,E=0;y=0|x*_;for(var k=g.mallocUint16(y),w=0;x>w;++w)for(var A=t[w],S=0;_>S;++S)k[E++]=A[S];m=p(e,e.ELEMENT_ARRAY_BUFFER,k.subarray(0,y)),g.freeUint16(k)}else if(y=t.shape[0]*t.shape[1],1===t.stride[1]&&t.stride[0]===t.shape[1]&&t.data instanceof Uint16Array)m=0===t.offset&&t.data.length===y?p(e,e.ELEMENT_ARRAY_BUFFER,t.data):p(e,e.ELEMENT_ARRAY_BUFFER,t.data.subarray(t.offset,t.offset+y));else{var k=g.mallocUint16(y),L=d(k,t.shape);v.assign(L,t),m=p(e,e.ELEMENT_ARRAY_BUFFER,k.subarray(0,y)),g.freeUint16(k)}return l(e,i,y,m,o(e,f,r))}return t instanceof Array?"number"==typeof t[0]?l(e,i,t.length,null,u(e,f,r,t)):l(e,i,t.length*t[0].length,null,c(e,f,r,t)):l(e,i,t.shape[0]*t.shape[1],null,s(e,f,r,t))}e("webglew");var p=e("gl-buffer"),h=e("gl-vao"),d=e("ndarray"),v=e("ndarray-ops"),g=e("typedarray-pool"),m=e("./lib/mesh.js");r.prototype.dispose=function(){},r.prototype.bind=function(){},r.prototype.unbind=function(){},r.prototype.draw=function(){},t.exports=f},{"./lib/mesh.js":1,webglew:2,"gl-vao":3,"gl-buffer":4,ndarray:5,"ndarray-ops":6,"typedarray-pool":7}],2:[function(e,t){"use strict";function r(e){for(var t=0;i.length>t;++t){var r=i[t];if(0===e.indexOf(r))return e.slice(r.length)}return e}function n(e){if(e._webglew_struct)return e._webglew_struct;for(var t={},n=e.getSupportedExtensions(),i=0;n.length>i;++i){var a=e.getExtension(n[i]);a&&(t[n[i]]=a,t[r(n[i])]=a)}return e._webglew_struct=t,t}var i=["WEBKIT_","MOZ_"];t.exports=n},{}],5:[function(e,t){"use strict";function r(e,t){return e[0]-t[0]}function n(){var e,t=this.stride,n=Array(t.length);for(e=0;n.length>e;++e)n[e]=[Math.abs(t[e]),e];n.sort(r);var i=Array(n.length);for(e=0;i.length>e;++e)i[e]=n[e][1];return i}function i(e,t){if(0===t){var r=Function([c,"ZeroArray.prototype.dtype='"+e+"'","return ZeroArray"].join("\n"));return r()}var i="generic"===e,a=["'use strict'"],s=u(t),l=s.map(function(e){return"i"+e}),f="this.offset+"+s.map(function(e){return["a[",e,"]*i",e].join("")}).join("+"),p=["View",t,"d",e].join("");a.push(["function ",p,"(a,b,c,d){this.data=a;this.shape=b;this.stride=c;this.offset=d;}"].join("")),a.push(["var proto=",p,".prototype"].join("")),a.push(["proto.dtype='",e,"'"].join("")),a.push(["Object.defineProperty(proto,'size',{get:function ",p,"_size(){var s=this.shape;return ",s.map(function(e){return["s[",e,"]"].join("")}).join("*"),"}})"].join("")),1===t?a.push("proto.order=[0]"):(a.push("Object.defineProperty(proto,'order',{get:"),4>t?(a.push(["function ",p,"_order(){"].join("")),2===t?a.push("return (this.stride[0]>this.stride[1])?[1,0]:[0,1]}})"):3===t&&a.push("var s=this.stride;if(s[0] > s[1]){if(s[1]>s[2]){return [2,1,0];}else if(s[0]>s[2]){return [1,2,0];}else{return [1,0,2];}}else if(s[0]>s[2]){return [2,0,1];}else if(s[2]>s[1]){return [0,1,2];}else{return [0,2,1];}}})")):a.push("ORDER})")),a.push(["proto.set=function ",p,"_set(",l.join(","),",v){var a=this.stride"].join("")),i?a.push(["return this.data.set(",f,",v)}"].join("")):a.push(["return this.data[",f,"]=v}"].join("")),a.push(["proto.get=function ",p,"_get(",l.join(","),"){var a=this.stride"].join("")),i?a.push(["return this.data.get(",f,")}"].join("")):a.push(["return this.data[",f,"]}"].join("")),a.push(["proto.hi=function ",p,"_hi(",l.join(","),"){var a=this.shape"].join(""));for(var h=Array(t),d=0;t>d;++d)h[d]=["typeof i",d,"!=='number'?a[",d,"]:i",d,"|0"].join("");a.push(["return new ",p,"(this.data,[",h.join(","),"],this.stride.slice(0),this.offset)}"].join("")),a.push(["proto.lo=function ",p,"_lo(",l.join(","),"){var a=this.shape.slice(0),b=this.offset,c=this.stride.slice(0),d=0"].join(""));for(var d=0;t>d;++d)a.push(["if(typeof i",d,"==='number'){d=i",d,"|0;b+=c[",d,"]*d;a[",d,"]-=d}"].join(""));a.push(["return new ",p,"(this.data,a,c,b)}"].join("")),a.push(["proto.step=function ",p,"_step(",l.join(","),"){var a=this.shape.slice(0),b=this.stride.slice(0),c=this.offset,d=0,ceil=Math.ceil"].join(""));for(var d=0;t>d;++d)a.push(["if(typeof i",d,"==='number'){d=i",d,"|0;if(d<0){c+=b[",d,"]*(a[",d,"]-1);a[",d,"]=ceil(-a[",d,"]/d)}else{a[",d,"]=ceil(a[",d,"]/d)}b[",d,"]*=d}"].join(""));a.push(["return new ",p,"(this.data,a,b,c)}"].join(""));for(var v=Array(t),g=Array(t),d=0;t>d;++d)v[d]=["a[i",d,"|0]"].join(""),g[d]=["b[i",d,"|0]"].join("");a.push(["proto.transpose=function ",p,"_transpose(",l,"){var a=this.shape,b=this.stride;return new ",p,"(this.data,[",v.join(","),"],[",g.join(","),"],this.offset)}"].join("")),a.push(["proto.pick=function ",p,"_pick(",l,"){var a=[],b=[],c=this.offset,d=this.shape,e=this.stride"].join(""));for(var d=0;t>d;++d)a.push(["if(i",d,">=0){c=(c+e[",d,"]*i",d,")|0}else{a.push(d[",d,"]);b.push(e[",d,"])}"].join(""));a.push("return CTOR(this.data,a,b,c)}"),a.push("return "+p);var m=Function("CTOR","ORDER",a.join("\n"));return m(o,n)}function a(e){return e instanceof Float64Array?"float64":e instanceof Float32Array?"float32":e instanceof Int32Array?"int32":e instanceof Uint32Array?"uint32":e instanceof Uint8Array?"uint8":e instanceof Uint16Array?"uint16":e instanceof Int16Array?"int16":e instanceof Int8Array?"int8":e instanceof Array?"array":"generic"}function o(e,t,r,n){var o=a(e),s=t.length,u=o+s,c=l[u];return c?new c(e,t,r,n):(c=i(o,s),l[u]=c,new c(e,t,r,n))}function s(e,t,r,n){if(void 0===t&&(t=[e.length]),void 0===r){var i=t.length;r=Array(i);for(var a=i-1,s=1;a>=0;--a)r[a]=s,s*=t[a]}if(void 0===n){n=0;for(var i=t.length,a=0;i>a;++a)0>r[a]&&(n-=(t[a]-1)*r[a])}return o(e,t,r,n)}var u=e("iota-array"),c="function ZeroArray(a,b,c,d) {this.data = a;this.shape = b;this.stride = c;this.offset = d};var proto=ZeroArray.prototype;proto.size=0;proto.order=[];proto.get=proto.set=function() {return Number.NaN};proto.lo=proto.hi=proto.transpose=proto.step=proto.pick=function() {return new ZeroArray(this.data,this.shape,this.stride,this.offset)}",l={};t.exports=s},{"iota-array":8}],7:[function(e,t,r){(function(t){"use strict";var n=e("bit-twiddle"),i=e("dup");t.__TYPEDARRAY_POOL||(t.__TYPEDARRAY_POOL={UINT8:i([32,0]),UINT16:i([32,0]),UINT32:i([32,0]),INT8:i([32,0]),INT16:i([32,0]),INT32:i([32,0]),FLOAT:i([32,0]),DOUBLE:i([32,0]),DATA:i([32,0])});var a=t.__TYPEDARRAY_POOL,o=a.UINT8,s=a.UINT16,u=a.UINT32,c=a.INT8,l=a.INT16,f=a.INT32,p=a.FLOAT,h=a.DOUBLE,d=a.DATA;r.free=function(e){if(e instanceof ArrayBuffer){var t=0|e.byteLength,r=n.log2(t);d[r].push(e)}else{var t=0|e.length,r=n.log2(t);e instanceof Uint8Array?o[r].push(e):e instanceof Uint16Array?s[r].push(e):e instanceof Uint32Array?u[r].push(e):e instanceof Int8Array?c[r].push(e):e instanceof Int16Array?l[r].push(e):e instanceof Int32Array?f[r].push(e):e instanceof Float32Array?p[r].push(e):e instanceof Float64Array&&h[r].push(e)}},r.freeUint8=function(e){o[n.log2(e.length)].push(e)},r.freeUint16=function(e){s[n.log2(e.length)].push(e)},r.freeUint32=function(e){u[n.log2(e.length)].push(e)},r.freeInt8=function(e){c[n.log2(e.length)].push(e)},r.freeInt16=function(e){l[n.log2(e.length)].push(e)},r.freeInt32=function(e){f[n.log2(e.length)].push(e)},r.freeFloat32=r.freeFloat=function(e){p[n.log2(e.length)].push(e)},r.freeFloat64=r.freeDouble=function(e){h[n.log2(e.length)].push(e)},r.freeArrayBuffer=function(e){d[n.log2(e.length)].push(e)},r.malloc=function(e,t){e=n.nextPow2(e);var r=n.log2(e);if(void 0===t){var i=d[r];if(i.length>0){var a=i[i.length-1];return i.pop(),a}return new ArrayBuffer(e)}switch(t){case"uint8":var v=o[r];if(v.length>0){var g=v[v.length-1];return v.pop(),g}return new Uint8Array(e);case"uint16":var m=s[r];if(m.length>0){var y=m[m.length-1];return m.pop(),y}return new Uint16Array(e);case"uint32":var b=u[r];if(b.length>0){var w=b[b.length-1];return b.pop(),w}return new Uint32Array(e);case"int8":var x=c[r];if(x.length>0){var _=x[x.length-1];return x.pop(),_}return new Int8Array(e);case"int16":var E=l[r];if(E.length>0){var k=E[E.length-1];return E.pop(),k}return new Int16Array(e);case"int32":var A=f[r];if(A.length>0){var S=A[A.length-1];return A.pop(),S}return new Int32Array(e);case"float":case"float32":var L=p[r];if(L.length>0){var M=L[L.length-1];return L.pop(),M}return new Float32Array(e);case"double":case"float64":var F=h[r];if(F.length>0){var j=F[F.length-1];return F.pop(),j}return new Float64Array(e);default:return null}return null},r.mallocUint8=function(e){e=n.nextPow2(e);var t=n.log2(e),r=o[t];if(r.length>0){var i=r[r.length-1];return r.pop(),i}return new Uint8Array(e)},r.mallocUint16=function(e){e=n.nextPow2(e);var t=n.log2(e),r=s[t];if(r.length>0){var i=r[r.length-1];return r.pop(),i}return new Uint16Array(e)},r.mallocUint32=function(e){e=n.nextPow2(e);var t=n.log2(e),r=u[t];if(r.length>0){var i=r[r.length-1];return r.pop(),i}return new Uint32Array(e)},r.mallocInt8=function(e){e=n.nextPow2(e);var t=n.log2(e),r=c[t];if(r.length>0){var i=r[r.length-1];return r.pop(),i}return new Int8Array(e)},r.mallocInt16=function(e){e=n.nextPow2(e);var t=n.log2(e),r=l[t];if(r.length>0){var i=r[r.length-1];return r.pop(),i}return new Int16Array(e)},r.mallocInt32=function(e){e=n.nextPow2(e);var t=n.log2(e),r=f[t];if(r.length>0){var i=r[r.length-1];return r.pop(),i}return new Int32Array(e)},r.mallocFloat32=r.mallocFloat=function(e){e=n.nextPow2(e);var t=n.log2(e),r=p[t];if(r.length>0){var i=r[r.length-1];return r.pop(),i}return new Float32Array(e)},r.mallocFloat64=r.mallocDouble=function(e){e=n.nextPow2(e);var t=n.log2(e),r=h[t];if(r.length>0){var i=r[r.length-1];return r.pop(),i}return new Float64Array(e)},r.mallocArrayBuffer=function(e){e=n.nextPow2(e);var t=n.log2(e),r=d[t];if(r.length>0){var i=r[r.length-1];return r.pop(),i}return new ArrayBuffer(e)},r.clearCache=function(){for(var e=0;32>e;++e)o[e].length=0,s[e].length=0,u[e].length=0,c[e].length=0,l[e].length=0,f[e].length=0,p[e].length=0,h[e].length=0,d[e].length=0}})(self)},{"bit-twiddle":9,dup:10}],11:[function(e,t){"use strict";function r(e,t,r){this.gl=e,this.ext=t,this.handle=r}function n(e,t){return new r(e,t,t.createVertexArrayOES())}var i=e("./do-bind.js");r.prototype.bind=function(){this.ext.bindVertexArrayOES(this.handle)},r.prototype.unbind=function(){this.ext.bindVertexArrayOES(null)},r.prototype.dispose=function(){this.ext.deleteVertexArrayOES(this.handle)},r.prototype.update=function(e,t){this.bind(),i(this.gl,e,t),this.unbind()},t.exports=n},{"./do-bind.js":12}],13:[function(e,t){"use strict";function r(e){this.gl=e,this.elements=null,this.attributes=null}function n(e){return new r(e)}var i=e("./do-bind.js");r.prototype.bind=function(){i(this.gl,this.elements,this.attributes)},r.prototype.update=function(e,t){this.elements=e,this.attributes=t},r.prototype.dispose=function(){},r.prototype.unbind=function(){},t.exports=n},{"./do-bind.js":12}],8:[function(e,t){"use strict";function r(e){for(var t=Array(e),r=0;e>r;++r)t[r]=r;return t}t.exports=r},{}],9:[function(e,t,r){"use strict";"use restrict";function n(e){var t=32;return e&=-e,e&&t--,65535&e&&(t-=16),16711935&e&&(t-=8),252645135&e&&(t-=4),858993459&e&&(t-=2),1431655765&e&&(t-=1),t}var i=32;r.INT_BITS=i,r.INT_MAX=2147483647,r.INT_MIN=-1<<i-1,r.sign=function(e){return(e>0)-(0>e)},r.abs=function(e){var t=e>>i-1;return(e^t)-t},r.min=function(e,t){return t^(e^t)&-(t>e)},r.max=function(e,t){return e^(e^t)&-(t>e)},r.isPow2=function(e){return!(e&e-1||!e)},r.log2=function(e){var t,r;return t=(e>65535)<<4,e>>>=t,r=(e>255)<<3,e>>>=r,t|=r,r=(e>15)<<2,e>>>=r,t|=r,r=(e>3)<<1,e>>>=r,t|=r,t|e>>1},r.log10=function(e){return e>=1e9?9:e>=1e8?8:e>=1e7?7:e>=1e6?6:e>=1e5?5:e>=1e4?4:e>=1e3?3:e>=100?2:e>=10?1:0},r.popCount=function(e){return e-=1431655765&e>>>1,e=(858993459&e)+(858993459&e>>>2),16843009*(252645135&e+(e>>>4))>>>24},r.countTrailingZeros=n,r.nextPow2=function(e){return e+=0===e,--e,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e+1},r.prevPow2=function(e){return e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e-(e>>>1)},r.parity=function(e){return e^=e>>>16,e^=e>>>8,e^=e>>>4,e&=15,1&27030>>>e};var a=Array(256);(function(e){for(var t=0;256>t;++t){var r=t,n=t,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;e[t]=255&n<<i}})(a),r.reverse=function(e){return a[255&e]<<24|a[255&e>>>8]<<16|a[255&e>>>16]<<8|a[255&e>>>24]},r.interleave2=function(e,t){return e&=65535,e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t&=65535,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e|t<<1},r.deinterleave2=function(e,t){return e=1431655765&e>>>t,e=858993459&(e|e>>>1),e=252645135&(e|e>>>2),e=16711935&(e|e>>>4),e=65535&(e|e>>>16),e<<16>>16},r.interleave3=function(e,t,r){return e&=1023,e=4278190335&(e|e<<16),e=251719695&(e|e<<8),e=3272356035&(e|e<<4),e=1227133513&(e|e<<2),t&=1023,t=4278190335&(t|t<<16),t=251719695&(t|t<<8),t=3272356035&(t|t<<4),t=1227133513&(t|t<<2),e|=t<<1,r&=1023,r=4278190335&(r|r<<16),r=251719695&(r|r<<8),r=3272356035&(r|r<<4),r=1227133513&(r|r<<2),e|r<<2},r.deinterleave3=function(e,t){return e=1227133513&e>>>t,e=3272356035&(e|e>>>2),e=251719695&(e|e>>>4),e=4278190335&(e|e>>>8),e=1023&(e|e>>>16),e<<22>>22},r.nextCombination=function(e){var t=e|e-1;return t+1|(~t&-~t)-1>>>n(e)+1}},{}],10:[function(e,t){"use strict";function r(e,t,n){var i=0|e[n];if(0>=i)return[];var a,o=Array(i);if(n===e.length-1)for(a=0;i>a;++a)o[a]=t;else for(a=0;i>a;++a)o[a]=r(e,t,n+1);return o}function n(e,t){var r,n;for(r=Array(e),n=0;e>n;++n)r[n]=t;return r}function i(e,t){switch(t===void 0&&(t=0),typeof e){case"number":if(e>0)return n(0|e,t);break;case"object":if("number"==typeof e.length)return r(e,t,0)}return[]}t.exports=i},{}],3:[function(e,t){"use strict";function r(e,t,r){var o,s=n(e).OES_vertex_array_object;return o=s?i(e,s):a(e),o.update(t,r),o}var n=e("webglew"),i=e("./lib/vao-native.js"),a=e("./lib/vao-emulated.js");t.exports=r},{"./lib/vao-native.js":11,"./lib/vao-emulated.js":13,webglew:2}],4:[function(e,t){"use strict";function r(e,t,r,n){this.gl=e,this.type=t,this.handle=r,this.length=n}function n(e,t,r,n,i,a){if(0>a&&i.length>r)return e.bufferData(t,i,n),i.length;if(i.length+a>r)throw Error("If resizing buffer, offset must be 0");return e.bufferSubData(t,a,i),r}function i(e,t){for(var r=o.malloc(e.length,t),n=e.length,i=0;n>i;++i)r[i]=e[i];return r}function a(e,t,n,i){void 0===n&&(n=t,t=e.ARRAY_BUFFER),void 0===i&&(i=e.DYNAMIC_DRAW);var a=0,c=e.createBuffer();if(e.bindBuffer(t,c),"number"==typeof n)e.bufferData(t,n,i),a=n;else if(n instanceof Array)t===e.ELEMENT_ARRAY_BUFFER?e.bufferData(t,new Uint16Array(n),i):e.bufferData(t,new Float32Array(n),i),a=n.length;else if(n.length)e.bufferData(t,n,i),a=n.length;else{if(!n.shape)throw Error("Invalid format for buffer data");var l=n.dtype;if(("float64"===l||"array"===l||"generic"===l)&&(l="float32"),t===e.ELEMENT_ARRAY_BUFFER&&(l="uint16"),1!==n.shape.length)throw Error("Array shape must be 1D");var a=n.shape[0];if(l===n.type&&1===n.stride[0])e.bufferData(t,n.data.subarray(n.offset,n.offset+a),i);else{var f=o.malloc(n.shape[0],l),p=u(f);s.assign(p,n),this.gl.bufferData(this.type,f,i),o.free(f)}}return new r(e,t,c,a)}var o=e("typedarray-pool"),s=e("ndarray-ops"),u=e("ndarray");r.prototype.bind=function(){this.gl.bindBuffer(this.type,this.handle)},r.prototype.dispose=function(){this.gl.deleteBuffer(this.handle)},r.prototype.update=function(e,t){if(t||(t=0),this.bind(),"number"==typeof e){if(t>=0)throw Error("Offset must be < 0 to resize buffer");this.gl.bufferData(this.type,e,this.usage),this.length=e}else if(e.shape){var r=e.dtype;if(("float64"===r||"array"===r||"generic"===r)&&(r="float32"),this.type===this.gl.ELEMENT_ARRAY_BUFFER&&(r="uint16"),1!==e.shape.length)throw Error("Array length must be 1");if(r===e.dtype&&1===e.stride[0])this.length=0===e.offset&&e.data.length===e.shape[0]?n(this.gl,this.type,this.length,this.usage,e.data,t):n(this.gl,this.type,this.length,this.usage,e.data.subarray(e.offset,e.shape[0]),t);else{var a=o.malloc(e.shape[0],r),c=u(a);s.assign(c,e),this.length=n(this.gl,this.type,this.length,this.usage,a,t),o.free(a)}}else if(e instanceof Array)if(this.type===this.gl.ELEMENT_ARRAY_BUFFER){var l=i(e,"uint16");this.length=n(this.gl,this.type,this.length,this.usage,l.subarray(0,e.length),t),o.freeUint16(l)}else{var l=i(e,"float32");this.length=n(this.gl,this.type,this.length,this.usage,l.subarray(0,e.length),t),o.freeFloat32(l)}else this.length=n(this.gl,this.type,this.length,this.usage,e,t)},r.prototype.draw=function(e,t,r){r=r||0;var n=this.gl;if(this.type===n.ARRAY_BUFFER)n.drawArrays(e,r,t);else{if(this.type!==n.ELEMENT_ARRAY_BUFFER)throw Error("Invalid type for WebGL buffer");this.bind(),n.drawElements(e,t,n.UNSIGNED_SHORT,r)}},t.exports=a},{"ndarray-ops":6,"typedarray-pool":7,ndarray:5}],6:[function(e,t,r){"use strict";function n(e){for(var t=[],r=0;e.args.length>r;++r)t.push("a"+r);var n=Function("proc",["return function ",e.funcName,"_ndarrayops(",t.join(","),") {","proc(",t.join(","),");","return a0;","}"].join(""));return n(i(e))}var i=e("cwise");e("ndarray");var a={add:"+",sub:"-",mul:"*",div:"/",mod:"%",band:"&",bor:"|",bxor:"^",lshift:"<<",rshift:">>",rrshift:">>>"};(function(){for(var e in a){var t=a[e];r[e]=n({args:["array","array","array"],body:Function("a","b","c","a=b"+t+"c"),funcName:e}),r[e+"eq"]=n({args:["array","array"],body:Function("a","b","a"+t+"=b"),funcName:e+"eq"}),r[e+"s"]=n({args:["array","array","scalar"],body:Function("a","b","s","a=b"+t+"s"),funcName:e+"s"}),r[e+"seq"]=n({args:["array","scalar"],body:Function("a","s","a"+t+"=s"),funcName:e+"seq"})}})();var o={not:"!",bnot:"~",neg:"-",recip:"1.0/"};(function(){for(var e in o){var t=o[e];r[e]=n({args:["array","array"],body:Function("a","b","a="+t+"b"),funcName:e}),r[e+"eq"]=n({args:["array"],body:Function("a","a="+t+"a"),funcName:e+"eq"})}})();var u={and:"&&",or:"||",eq:"===",neq:"!==",lt:"<",gt:">",leq:"<=",geq:">="};(function(){for(var e in u){var t=u[e];r[e]=n({args:["array","array","array"],body:Function("a","b","c","a=b"+t+"c"),funcName:e}),r[e+"s"]=n({args:["array","array","scalar"],body:Function("a","b","s","a=b"+t+"s"),funcName:e+"s"}),r[e+"eq"]=n({args:["array","array"],body:Function("a","b","a=a"+t+"b"),funcName:e+"eq"}),r[e+"seq"]=n({args:["array","scalar"],body:Function("a","s","a=a"+t+"s"),funcName:e+"seq"})}})();var c=["abs","acos","asin","atan","ceil","cos","exp","floor","log","round","sin","sqrt","tan"];(function(){for(var e=0;c.length>e;++e){var t=c[e];r[t]=n({args:["array","array"],pre:Function("this.func=Math."+t),body:function(e,t){e=this.func(t)},funcName:t}),r[t+"eq"]=n({args:["array"],pre:Function("this.func=Math."+t),body:function(e){e=this.func(e)},funcName:t+"eq"})}})();var l=["max","min"];(function(){for(var e=0;l.length>e;++e){var t=l[e];r[t]=n({args:["array","array","array"],pre:Function("this.func=Math."+t),body:function(e,t,r){e=this.func(t,r)},funcName:t}),r[t+"s"]=n({args:["array","array","scalar"],pre:Function("this.func=Math."+t),body:function(e,t,r){e=this.func(t,r)},funcName:t+"s"}),r[t+"eq"]=n({args:["array","array"],pre:Function("this.func=Math."+t),body:function(e,t){e=this.func(e,t)},funcName:t+"eq"}),r[t+"seq"]=n({args:["array","scalar"],pre:Function("this.func=Math."+t),body:function(e,t){e=this.func(e,t)},funcName:t+"seq"})}})();var f=["atan2","pow"];(function(){for(var e=0;f.length>e;++e){var t=f[e];r[t]=n({args:["array","array","array"],pre:Function("this.func=Math."+t),body:function(e,t,r){e=this.func(t,r)},funcName:t}),r[t+"s"]=n({args:["array","array","scalar"],pre:Function("this.func=Math."+t),body:function(e,t,r){e=this.func(t,r)},funcName:t+"s"}),r[t+"eq"]=n({args:["array","array"],pre:Function("this.func=Math."+t),body:function(e,t){e=this.func(e,t)},funcName:t+"eq"}),r[t+"seq"]=n({args:["array","scalar"],pre:Function("this.func=Math."+t),body:function(e,t){e=this.func(e,t)},funcName:t+"seq"}),r[t+"op"]=n({args:["array","array","array"],pre:Function("this.func=Math."+t),body:function(e,t,r){e=this.func(r,t)}}),r[t+"ops"]=n({args:["array","array","scalar"],pre:Function("this.func=Math."+t),body:function(e,t,r){e=this.func(r,t)},funcName:t+"ops"}),r[t+"opeq"]=n({args:["array","array"],pre:Function("this.func=Math."+t),body:function(e,t){e=this.func(t,e)},funcName:t+"opeq"}),r[t+"opseq"]=n({args:["array","scalar"],pre:Function("this.func=Math."+t),body:function(e,t){e=this.func(t,e)},funcName:t+"opseq"})}})(),r.any=i({args:["array"],body:function(e){return e?!0:void 0},post:function(){return!1}}),r.all=i({args:["array"],body:function(e){return e?void 0:!1},post:function(){return!0}}),r.sum=i({args:["array"],pre:function(){this.sum=0},body:function(e){this.sum+=e},post:function(){return this.sum}}),r.prod=i({args:["array"],pre:function(){this.prod=1},body:function(e){this.prod*=e},post:function(){return this.prod}}),r.norm2squared=i({args:["array"],pre:function(){this.sum=0},body:function(e){this.sum+=e*e},post:function(){return this.sum}}),r.norm2=i({args:["array"],pre:function(){this.sum=0},body:function(e){this.sum+=e*e},post:function(){return Math.sqrt(this.sum)}}),r.norminf=i({args:["array"],pre:function(){this.n=0},body:function(e){0>e?this.n>-e&&(this.n=-e):e>this.n&&(s=e)},post:function(){return this.n}}),r.norm1=i({args:["array"],pre:function(){this.sum=0},body:function(e){this.sum+=0>e?-e:e},post:function(){return this.sum}}),r.sup=i({args:["array"],pre:function(){this.hi=Number.NEGATIVE_INFINITY},body:function(e){e>this.hi&&(this.hi=e)},post:function(){return this.hi}}),r.inf=i({args:["array"],pre:function(){this.lo=Number.POSITIVE_INFINITY},body:function(e){this.lo>e&&(this.lo=e)},post:function(){return this.lo}}),r.argmin=i({args:["index","array","shape"],pre:function(e,t,r){this.min_v=1/0,this.min_i=r.slice(0)},body:function(e,t){if(this.min_v>t){this.min_v=t;for(var r=0;e.length>r;++r)this.min_i[r]=e[r]}},post:function(){return this.min_i}}),r.argmax=i({args:["index","array","shape"],pre:function(e,t,r){this.max_v=-1/0,this.max_i=r.slice(0)},body:function(e,t){if(t>this.max_v){this.max_v=t;for(var r=0;e.length>r;++r)this.max_i[r]=e[r]}},post:function(){return this.max_i}}),r.random=i({args:["array"],pre:function(){this.rnd=Math.random},body:function(e){e=this.rnd()}}),r.assign=n({args:["array","array"],body:function(e,t){e=t
}}),r.assigns=n({args:["array","scalar"],body:function(e,t){e=t}})},{cwise:14,ndarray:5}],12:[function(e,t){"use strict";function r(e,t,r){t?t.bind():e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,null);var n=0|e.getParameter(e.MAX_VERTEX_ATTRIBS);if(r){if(r.length>n)throw Error("Too many vertex attributes");for(var i=0;r.length>i;++i){var a=r[i];if(a.buffer){var o=a.buffer,s=a.size||4,u=a.type||e.FLOAT,c=a.normalized?e.TRUE:e.FALSE,l=a.stride||0,f=a.offset||0;o.bind(),e.vertexAttribPointer(i,s,u,c,l,f),e.enableVertexAttribArray(i)}else{if("number"==typeof a)e.vertexAttrib1f(i,a);else if(1===a.length)e.vertexAttrib1f(i,a[0]);else if(2===a.length)e.vertexAttrib2f(i,a[0],a[1]);else if(3===a.length)e.vertexAttrib3f(i,a[0],a[1],a[2]);else{if(4!==a.length)throw Error("Invalid vertex attribute");e.vertexAttrib4f(i,a[0],a[1],a[2],a[3])}e.disableVertexAttribArray(i)}}for(;n>i;++i)e.disableVertexAttribArray(i)}else{e.bindBuffer(e.ARRAY_BUFFER,null);for(var i=0;n>i;++i)e.disableVertexAttribArray(i)}}t.exports=r},{}],14:[function(e,t){"use strict";function r(){this.argTypes=[],this.shimArgs=[],this.arrayArgs=[],this.scalarArgs=[],this.indexArgs=[],this.shapeArgs=[],this.funcName="",this.pre=null,this.body=null,this.post=null,this.debug=!1}function n(e){for(var t in e)0>o.indexOf(t)&&0>s.indexOf(t)&&console.warn("cwise: Unknown argument '"+t+"' passed to expression compiler");for(var n=0;o.length>n;++n)if(!e[o[n]])throw Error("cwise: Missing argument: "+o[n]);var u=new r;u.pre=i(e.pre||function(){}),u.body=i(e.body),u.post=i(e.post||function(){});var c=e.args.slice(0);u.argTypes=c;for(var n=0;c.length>n;++n)switch(c[n]){case"array":if(u.arrayArgs.push(n),u.shimArgs.push("array"+n),u.pre.args.length>n&&u.pre.args[n].count>0)throw Error("cwise: pre() block may not reference array args");if(u.post.args.length>n&&u.post.args[n].count>0)throw Error("cwise: post() block may not reference array args");break;case"scalar":u.scalarArgs.push(n),u.shimArgs.push("scalar"+n);break;case"index":if(u.indexArgs.push(n),u.pre.args.length>n&&u.pre.args[n].count>0)throw Error("cwise: pre() block may not reference array index");if(u.body.args.length>n&&u.body.args[n].lvalue)throw Error("cwise: body() block may not write to array index");if(u.post.args.length>n&&u.post.args[n].count>0)throw Error("cwise: post() block may not reference array index");break;case"shape":if(u.shapeArgs.push(n),u.pre.args.length>n&&u.pre.args[n].lvalue)throw Error("cwise: pre() block may not write to array shape");if(u.body.args.length>n&&u.body.args[n].lvalue)throw Error("cwise: body() block may not write to array shape");if(u.post.args.length>n&&u.post.args[n].lvalue)throw Error("cwise: post() block may not write to array shape");break;default:throw Error("cwise: Unknown argument type "+c[n])}if(0>=u.arrayArgs.length)throw Error("cwise: No array arguments specified");if(u.pre.args.length>c.length)throw Error("cwise: Too many arguments in pre() block");if(u.body.args.length>c.length)throw Error("cwise: Too many arguments in body() block");if(u.post.args.length>c.length)throw Error("cwise: Too many arguments in post() block");return u.debug=!!e.printCode,u.funcName=e.funcName||e.body.name||"cwise",u.blockSize=e.blockSize||64,a(u)}var i=e("cwise-parser"),a=e("./lib/thunk.js"),o=["args","body"],s=["pre","post","printCode","funcName","blockSize"];t.exports=n},{"./lib/thunk.js":15,"cwise-parser":16}],15:[function(e,t){"use strict";function r(e){var t=["'use strict'","var CACHED={}"],r=[],i=e.funcName+"_cwise_thunk";t.push(["return function ",i,"(",e.shimArgs.join(","),"){"].join(""));for(var a=[],o=[],s=[["array",e.arrayArgs[0],".shape"].join("")],u=0;e.arrayArgs.length>u;++u){var c=e.arrayArgs[u];r.push(["t",c,"=array",c,".dtype,","r",c,"=array",c,".order"].join("")),a.push("t"+c),a.push("r"+c),o.push("t"+c),o.push("r"+c+".join()"),s.push("array"+c+".data"),s.push("array"+c+".stride"),s.push("array"+c+".offset|0")}for(var u=0;e.scalarArgs.length>u;++u)s.push("scalar"+e.scalarArgs[u]);r.push(["type=[",o.join(","),"].join()"].join("")),r.push("proc=CACHED[type]"),t.push("var "+r.join(",")),t.push(["if(!proc){","CACHED[type]=proc=compile([",a.join(","),"])}","return proc(",s.join(","),")}"].join("")),e.debug&&console.log("Generated thunk:",t.join("\n"));var l=Function("compile",t.join("\n"));return l(n.bind(void 0,e))}var n=e("./compile.js");t.exports=r},{"./compile.js":17}],18:[function(e,t,r){(function(){(function(e,t){"use strict";"function"==typeof define&&define.amd?define(["exports"],t):r!==void 0?t(r):t(e.esprima={})})(this,function(e){"use strict";function t(e,t){if(!e)throw Error("ASSERT: "+t)}function r(e,t){return pr.slice(e,t)}function n(e){return"0123456789".indexOf(e)>=0}function i(e){return"0123456789abcdefABCDEF".indexOf(e)>=0}function a(e){return"01234567".indexOf(e)>=0}function o(e){return" "===e||" "===e||" "===e||"\f"===e||" "===e||e.charCodeAt(0)>=5760&&" ᠎              ".indexOf(e)>=0}function s(e){return"\n"===e||"\r"===e||"\u2028"===e||"\u2029"===e}function u(e){return"$"===e||"_"===e||"\\"===e||e>="a"&&"z">=e||e>="A"&&"Z">=e||e.charCodeAt(0)>=128&&fr.NonAsciiIdentifierStart.test(e)}function c(e){return"$"===e||"_"===e||"\\"===e||e>="a"&&"z">=e||e>="A"&&"Z">=e||e>="0"&&"9">=e||e.charCodeAt(0)>=128&&fr.NonAsciiIdentifierPart.test(e)}function l(e){switch(e){case"class":case"enum":case"export":case"extends":case"import":case"super":return!0}return!1}function f(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"yield":case"let":return!0}return!1}function p(e){return"eval"===e||"arguments"===e}function h(e){var t=!1;switch(e.length){case 2:t="if"===e||"in"===e||"do"===e;break;case 3:t="var"===e||"for"===e||"new"===e||"try"===e;break;case 4:t="this"===e||"else"===e||"case"===e||"void"===e||"with"===e;break;case 5:t="while"===e||"break"===e||"catch"===e||"throw"===e;break;case 6:t="return"===e||"typeof"===e||"delete"===e||"switch"===e;break;case 7:t="default"===e||"finally"===e;break;case 8:t="function"===e||"continue"===e||"debugger"===e;break;case 10:t="instanceof"===e}if(t)return!0;switch(e){case"const":return!0;case"yield":case"let":return!0}return hr&&f(e)?!0:l(e)}function d(){var e,t,r;for(t=!1,r=!1;mr>dr;)if(e=pr[dr],r)e=pr[dr++],s(e)&&(r=!1,"\r"===e&&"\n"===pr[dr]&&++dr,++vr,gr=dr);else if(t)s(e)?("\r"===e&&"\n"===pr[dr+1]&&++dr,++vr,++dr,gr=dr,dr>=mr&&S({},lr.UnexpectedToken,"ILLEGAL")):(e=pr[dr++],dr>=mr&&S({},lr.UnexpectedToken,"ILLEGAL"),"*"===e&&(e=pr[dr],"/"===e&&(++dr,t=!1)));else if("/"===e)if(e=pr[dr+1],"/"===e)dr+=2,r=!0;else{if("*"!==e)break;dr+=2,t=!0,dr>=mr&&S({},lr.UnexpectedToken,"ILLEGAL")}else if(o(e))++dr;else{if(!s(e))break;++dr,"\r"===e&&"\n"===pr[dr]&&++dr,++vr,gr=dr}}function v(e){var t,r,n,a=0;for(r="u"===e?4:2,t=0;r>t;++t){if(!(mr>dr&&i(pr[dr])))return"";n=pr[dr++],a=16*a+"0123456789abcdef".indexOf(n.toLowerCase())}return String.fromCharCode(a)}function g(){var e,t,r,n;if(e=pr[dr],u(e)){if(t=dr,"\\"===e){if(++dr,"u"!==pr[dr])return;if(++dr,n=dr,e=v("u")){if("\\"===e||!u(e))return;r=e}else dr=n,r="u"}else r=pr[dr++];for(;mr>dr&&(e=pr[dr],c(e));)if("\\"===e){if(++dr,"u"!==pr[dr])return;if(++dr,n=dr,e=v("u")){if("\\"===e||!c(e))return;r+=e}else dr=n,r+="u"}else r+=pr[dr++];return 1===r.length?{type:or.Identifier,value:r,lineNumber:vr,lineStart:gr,range:[t,dr]}:h(r)?{type:or.Keyword,value:r,lineNumber:vr,lineStart:gr,range:[t,dr]}:"null"===r?{type:or.NullLiteral,value:r,lineNumber:vr,lineStart:gr,range:[t,dr]}:"true"===r||"false"===r?{type:or.BooleanLiteral,value:r,lineNumber:vr,lineStart:gr,range:[t,dr]}:{type:or.Identifier,value:r,lineNumber:vr,lineStart:gr,range:[t,dr]}}}function m(){var e,t,r,i=dr,a=pr[dr];return";"===a||"{"===a||"}"===a?(++dr,{type:or.Punctuator,value:a,lineNumber:vr,lineStart:gr,range:[i,dr]}):","===a||"("===a||")"===a?(++dr,{type:or.Punctuator,value:a,lineNumber:vr,lineStart:gr,range:[i,dr]}):(e=pr[dr+1],"."!==a||n(e)?(t=pr[dr+2],r=pr[dr+3],">"===a&&">"===e&&">"===t&&"="===r?(dr+=4,{type:or.Punctuator,value:">>>=",lineNumber:vr,lineStart:gr,range:[i,dr]}):"="===a&&"="===e&&"="===t?(dr+=3,{type:or.Punctuator,value:"===",lineNumber:vr,lineStart:gr,range:[i,dr]}):"!"===a&&"="===e&&"="===t?(dr+=3,{type:or.Punctuator,value:"!==",lineNumber:vr,lineStart:gr,range:[i,dr]}):">"===a&&">"===e&&">"===t?(dr+=3,{type:or.Punctuator,value:">>>",lineNumber:vr,lineStart:gr,range:[i,dr]}):"<"===a&&"<"===e&&"="===t?(dr+=3,{type:or.Punctuator,value:"<<=",lineNumber:vr,lineStart:gr,range:[i,dr]}):">"===a&&">"===e&&"="===t?(dr+=3,{type:or.Punctuator,value:">>=",lineNumber:vr,lineStart:gr,range:[i,dr]}):"="===e&&"<>=!+-*%&|^/".indexOf(a)>=0?(dr+=2,{type:or.Punctuator,value:a+e,lineNumber:vr,lineStart:gr,range:[i,dr]}):a===e&&"+-<>&|".indexOf(a)>=0&&"+-<>&|".indexOf(e)>=0?(dr+=2,{type:or.Punctuator,value:a+e,lineNumber:vr,lineStart:gr,range:[i,dr]}):"[]<>+-*%&|^!~?:=/".indexOf(a)>=0?{type:or.Punctuator,value:pr[dr++],lineNumber:vr,lineStart:gr,range:[i,dr]}:void 0):{type:or.Punctuator,value:pr[dr++],lineNumber:vr,lineStart:gr,range:[i,dr]})}function y(){var e,r,o;if(o=pr[dr],t(n(o)||"."===o,"Numeric literal must start with a decimal digit or a decimal point"),r=dr,e="","."!==o){if(e=pr[dr++],o=pr[dr],"0"===e){if("x"===o||"X"===o){for(e+=pr[dr++];mr>dr&&(o=pr[dr],i(o));)e+=pr[dr++];return 2>=e.length&&S({},lr.UnexpectedToken,"ILLEGAL"),mr>dr&&(o=pr[dr],u(o)&&S({},lr.UnexpectedToken,"ILLEGAL")),{type:or.NumericLiteral,value:parseInt(e,16),lineNumber:vr,lineStart:gr,range:[r,dr]}}if(a(o)){for(e+=pr[dr++];mr>dr&&(o=pr[dr],a(o));)e+=pr[dr++];return mr>dr&&(o=pr[dr],(u(o)||n(o))&&S({},lr.UnexpectedToken,"ILLEGAL")),{type:or.NumericLiteral,value:parseInt(e,8),octal:!0,lineNumber:vr,lineStart:gr,range:[r,dr]}}n(o)&&S({},lr.UnexpectedToken,"ILLEGAL")}for(;mr>dr&&(o=pr[dr],n(o));)e+=pr[dr++]}if("."===o)for(e+=pr[dr++];mr>dr&&(o=pr[dr],n(o));)e+=pr[dr++];if("e"===o||"E"===o)if(e+=pr[dr++],o=pr[dr],("+"===o||"-"===o)&&(e+=pr[dr++]),o=pr[dr],n(o))for(e+=pr[dr++];mr>dr&&(o=pr[dr],n(o));)e+=pr[dr++];else o="character "+o,dr>=mr&&(o="<end>"),S({},lr.UnexpectedToken,"ILLEGAL");return mr>dr&&(o=pr[dr],u(o)&&S({},lr.UnexpectedToken,"ILLEGAL")),{type:or.NumericLiteral,value:parseFloat(e),lineNumber:vr,lineStart:gr,range:[r,dr]}}function b(){var e,r,n,i,o,u,c="",l=!1;for(e=pr[dr],t("'"===e||'"'===e,"String literal must starts with a quote"),r=dr,++dr;mr>dr;){if(n=pr[dr++],n===e){e="";break}if("\\"===n)if(n=pr[dr++],s(n))++vr,"\r"===n&&"\n"===pr[dr]&&++dr;else switch(n){case"n":c+="\n";break;case"r":c+="\r";break;case"t":c+=" ";break;case"u":case"x":u=dr,o=v(n),o?c+=o:(dr=u,c+=n);break;case"b":c+="\b";break;case"f":c+="\f";break;case"v":c+=" ";break;default:a(n)?(i="01234567".indexOf(n),0!==i&&(l=!0),mr>dr&&a(pr[dr])&&(l=!0,i=8*i+"01234567".indexOf(pr[dr++]),"0123".indexOf(n)>=0&&mr>dr&&a(pr[dr])&&(i=8*i+"01234567".indexOf(pr[dr++]))),c+=String.fromCharCode(i)):c+=n}else{if(s(n))break;c+=n}}return""!==e&&S({},lr.UnexpectedToken,"ILLEGAL"),{type:or.StringLiteral,value:c,octal:l,lineNumber:vr,lineStart:gr,range:[r,dr]}}function w(){var e,r,n,i,a,o,u,l=!1,f=!1;for(yr=null,d(),n=dr,r=pr[dr],t("/"===r,"Regular expression literal must start with a slash"),e=pr[dr++];mr>dr;)if(r=pr[dr++],e+=r,l)"]"===r&&(l=!1);else if("\\"===r)r=pr[dr++],s(r)&&S({},lr.UnterminatedRegExp),e+=r;else{if("/"===r){f=!0;break}"["===r?l=!0:s(r)&&S({},lr.UnterminatedRegExp)}for(f||S({},lr.UnterminatedRegExp),i=e.substr(1,e.length-2),a="";mr>dr&&(r=pr[dr],c(r));)if(++dr,"\\"===r&&mr>dr)if(r=pr[dr],"u"===r)if(++dr,u=dr,r=v("u"))for(a+=r,e+="\\u";dr>u;++u)e+=pr[u];else dr=u,a+="u",e+="\\u";else e+="\\";else a+=r,e+=r;try{o=RegExp(i,a)}catch(p){S({},lr.InvalidRegExp)}return{literal:e,value:o,range:[n,dr]}}function x(e){return e.type===or.Identifier||e.type===or.Keyword||e.type===or.BooleanLiteral||e.type===or.NullLiteral}function _(){var e,t;return d(),dr>=mr?{type:or.EOF,lineNumber:vr,lineStart:gr,range:[dr,dr]}:(t=m(),t!==void 0?t:(e=pr[dr],"'"===e||'"'===e?b():"."===e||n(e)?y():(t=g(),t!==void 0?t:(S({},lr.UnexpectedToken,"ILLEGAL"),void 0))))}function E(){var e;return yr?(dr=yr.range[1],vr=yr.lineNumber,gr=yr.lineStart,e=yr,yr=null,e):(yr=null,_())}function k(){var e,t,r;return null!==yr?yr:(e=dr,t=vr,r=gr,yr=_(),dr=e,vr=t,gr=r,yr)}function A(){var e,t,r,n;return e=dr,t=vr,r=gr,d(),n=vr!==t,dr=e,vr=t,gr=r,n}function S(e,t){var r,n=Array.prototype.slice.call(arguments,2),i=t.replace(/%(\d)/g,function(e,t){return n[t]||""});throw"number"==typeof e.lineNumber?(r=Error("Line "+e.lineNumber+": "+i),r.index=e.range[0],r.lineNumber=e.lineNumber,r.column=e.range[0]-gr+1):(r=Error("Line "+vr+": "+i),r.index=dr,r.lineNumber=vr,r.column=dr-gr+1),r}function L(){try{S.apply(null,arguments)}catch(e){if(!wr.errors)throw e;wr.errors.push(e)}}function M(e){if(e.type===or.EOF&&S(e,lr.UnexpectedEOS),e.type===or.NumericLiteral&&S(e,lr.UnexpectedNumber),e.type===or.StringLiteral&&S(e,lr.UnexpectedString),e.type===or.Identifier&&S(e,lr.UnexpectedIdentifier),e.type===or.Keyword){if(l(e.value))S(e,lr.UnexpectedReserved);else if(hr&&f(e.value))return L(e,lr.StrictReservedWord),void 0;S(e,lr.UnexpectedToken,e.value)}S(e,lr.UnexpectedToken,e.value)}function F(e){var t=E();(t.type!==or.Punctuator||t.value!==e)&&M(t)}function j(e){var t=E();(t.type!==or.Keyword||t.value!==e)&&M(t)}function I(e){var t=k();return t.type===or.Punctuator&&t.value===e}function O(e){var t=k();return t.type===or.Keyword&&t.value===e}function T(){var e=k(),t=e.value;return e.type!==or.Punctuator?!1:"="===t||"*="===t||"/="===t||"%="===t||"+="===t||"-="===t||"<<="===t||">>="===t||">>>="===t||"&="===t||"^="===t||"|="===t}function N(){var e,t;if(";"===pr[dr])return E(),void 0;if(t=vr,d(),vr===t){if(I(";"))return E(),void 0;e=k(),e.type===or.EOF||I("}")||M(e)}}function P(e){return e.type===ur.Identifier||e.type===ur.MemberExpression}function C(){var e=[];for(F("[");!I("]");)I(",")?(E(),e.push(null)):(e.push(ct()),I("]")||F(","));return F("]"),{type:ur.ArrayExpression,elements:e}}function q(e,t){var r,n;return r=hr,n=Ct(),t&&hr&&p(e[0].name)&&L(t,lr.StrictParamName),hr=r,{type:ur.FunctionExpression,id:null,params:e,defaults:[],body:n,rest:null,generator:!1,expression:!1}}function R(){var e=E();return e.type===or.StringLiteral||e.type===or.NumericLiteral?(hr&&e.octal&&L(e,lr.StrictOctalLiteral),Kt(e)):{type:ur.Identifier,name:e.value}}function D(){var e,t,r,n;return e=k(),e.type===or.Identifier?(r=R(),"get"!==e.value||I(":")?"set"!==e.value||I(":")?(F(":"),{type:ur.Property,key:r,value:ct(),kind:"init"}):(t=R(),F("("),e=k(),e.type!==or.Identifier?(F(")"),L(e,lr.UnexpectedToken,e.value),{type:ur.Property,key:t,value:q([]),kind:"set"}):(n=[ht()],F(")"),{type:ur.Property,key:t,value:q(n,e),kind:"set"})):(t=R(),F("("),F(")"),{type:ur.Property,key:t,value:q([]),kind:"get"})):e.type!==or.EOF&&e.type!==or.Punctuator?(t=R(),F(":"),{type:ur.Property,key:t,value:ct(),kind:"init"}):(M(e),void 0)}function U(){var e,t,r,n=[],i={},a=String;for(F("{");!I("}");)e=D(),t=e.key.type===ur.Identifier?e.key.name:a(e.key.value),r="init"===e.kind?cr.Data:"get"===e.kind?cr.Get:cr.Set,Object.prototype.hasOwnProperty.call(i,t)?(i[t]===cr.Data?hr&&r===cr.Data?L({},lr.StrictDuplicateProperty):r!==cr.Data&&L({},lr.AccessorDataProperty):r===cr.Data?L({},lr.AccessorDataProperty):i[t]&r&&L({},lr.AccessorGetSet),i[t]|=r):i[t]=r,n.push(e),I("}")||F(",");return F("}"),{type:ur.ObjectExpression,properties:n}}function B(){var e;return F("("),e=lt(),F(")"),e}function V(){var e=k(),t=e.type;if(t===or.Identifier)return{type:ur.Identifier,name:E().value};if(t===or.StringLiteral||t===or.NumericLiteral)return hr&&e.octal&&L(e,lr.StrictOctalLiteral),Kt(E());if(t===or.Keyword){if(O("this"))return E(),{type:ur.ThisExpression};if(O("function"))return Rt()}return t===or.BooleanLiteral?(E(),e.value="true"===e.value,Kt(e)):t===or.NullLiteral?(E(),e.value=null,Kt(e)):I("[")?C():I("{")?U():I("(")?B():I("/")||I("/=")?Kt(w()):M(E())}function Y(){var e=[];if(F("("),!I(")"))for(;mr>dr&&(e.push(ct()),!I(")"));)F(",");return F(")"),e}function z(){var e=E();return x(e)||M(e),{type:ur.Identifier,name:e.value}}function G(){return F("."),z()}function X(){var e;return F("["),e=lt(),F("]"),e}function H(){var e;return j("new"),e={type:ur.NewExpression,callee:W(),arguments:[]},I("(")&&(e.arguments=Y()),e}function K(){var e;for(e=O("new")?H():V();I(".")||I("[")||I("(");)e=I("(")?{type:ur.CallExpression,callee:e,arguments:Y()}:I("[")?{type:ur.MemberExpression,computed:!0,object:e,property:X()}:{type:ur.MemberExpression,computed:!1,object:e,property:G()};return e}function W(){var e;for(e=O("new")?H():V();I(".")||I("[");)e=I("[")?{type:ur.MemberExpression,computed:!0,object:e,property:X()}:{type:ur.MemberExpression,computed:!1,object:e,property:G()};return e}function Z(){var e,t=K();return e=k(),e.type!==or.Punctuator?t:(!I("++")&&!I("--")||A()||(hr&&t.type===ur.Identifier&&p(t.name)&&L({},lr.StrictLHSPostfix),P(t)||S({},lr.InvalidLHSInAssignment),t={type:ur.UpdateExpression,operator:E().value,argument:t,prefix:!1}),t)}function J(){var e,t;return e=k(),e.type!==or.Punctuator&&e.type!==or.Keyword?Z():I("++")||I("--")?(e=E(),t=J(),hr&&t.type===ur.Identifier&&p(t.name)&&L({},lr.StrictLHSPrefix),P(t)||S({},lr.InvalidLHSInAssignment),t={type:ur.UpdateExpression,operator:e.value,argument:t,prefix:!0}):I("+")||I("-")||I("~")||I("!")?t={type:ur.UnaryExpression,operator:E().value,argument:J(),prefix:!0}:O("delete")||O("void")||O("typeof")?(t={type:ur.UnaryExpression,operator:E().value,argument:J(),prefix:!0},hr&&"delete"===t.operator&&t.argument.type===ur.Identifier&&L({},lr.StrictDelete),t):Z()}function $(){for(var e=J();I("*")||I("/")||I("%");)e={type:ur.BinaryExpression,operator:E().value,left:e,right:J()};return e}function Q(){for(var e=$();I("+")||I("-");)e={type:ur.BinaryExpression,operator:E().value,left:e,right:$()};return e}function et(){for(var e=Q();I("<<")||I(">>")||I(">>>");)e={type:ur.BinaryExpression,operator:E().value,left:e,right:Q()};return e}function tt(){var e,t;for(t=br.allowIn,br.allowIn=!0,e=et();I("<")||I(">")||I("<=")||I(">=")||t&&O("in")||O("instanceof");)e={type:ur.BinaryExpression,operator:E().value,left:e,right:et()};return br.allowIn=t,e}function rt(){for(var e=tt();I("==")||I("!=")||I("===")||I("!==");)e={type:ur.BinaryExpression,operator:E().value,left:e,right:tt()};return e}function nt(){for(var e=rt();I("&");)E(),e={type:ur.BinaryExpression,operator:"&",left:e,right:rt()};return e}function it(){for(var e=nt();I("^");)E(),e={type:ur.BinaryExpression,operator:"^",left:e,right:nt()};return e}function at(){for(var e=it();I("|");)E(),e={type:ur.BinaryExpression,operator:"|",left:e,right:it()};return e}function ot(){for(var e=at();I("&&");)E(),e={type:ur.LogicalExpression,operator:"&&",left:e,right:at()};return e}function st(){for(var e=ot();I("||");)E(),e={type:ur.LogicalExpression,operator:"||",left:e,right:ot()};return e}function ut(){var e,t,r;return e=st(),I("?")&&(E(),t=br.allowIn,br.allowIn=!0,r=ct(),br.allowIn=t,F(":"),e={type:ur.ConditionalExpression,test:e,consequent:r,alternate:ct()}),e}function ct(){var e,t;return e=k(),t=ut(),T()&&(P(t)||S({},lr.InvalidLHSInAssignment),hr&&t.type===ur.Identifier&&p(t.name)&&L(e,lr.StrictLHSAssignment),t={type:ur.AssignmentExpression,operator:E().value,left:t,right:ct()}),t}function lt(){var e=ct();if(I(","))for(e={type:ur.SequenceExpression,expressions:[e]};mr>dr&&I(",");)E(),e.expressions.push(ct());return e}function ft(){for(var e,t=[];mr>dr&&!I("}")&&(e=Dt(),void 0!==e);)t.push(e);return t}function pt(){var e;return F("{"),e=ft(),F("}"),{type:ur.BlockStatement,body:e}}function ht(){var e=E();return e.type!==or.Identifier&&M(e),{type:ur.Identifier,name:e.value}}function dt(e){var t=ht(),r=null;return hr&&p(t.name)&&L({},lr.StrictVarName),"const"===e?(F("="),r=ct()):I("=")&&(E(),r=ct()),{type:ur.VariableDeclarator,id:t,init:r}}function vt(e){var t=[];do{if(t.push(dt(e)),!I(","))break;E()}while(mr>dr);return t}function gt(){var e;return j("var"),e=vt(),N(),{type:ur.VariableDeclaration,declarations:e,kind:"var"}}function mt(e){var t;return j(e),t=vt(e),N(),{type:ur.VariableDeclaration,declarations:t,kind:e}}function yt(){return F(";"),{type:ur.EmptyStatement}}function bt(){var e=lt();return N(),{type:ur.ExpressionStatement,expression:e}}function wt(){var e,t,r;return j("if"),F("("),e=lt(),F(")"),t=Pt(),O("else")?(E(),r=Pt()):r=null,{type:ur.IfStatement,test:e,consequent:t,alternate:r}}function xt(){var e,t,r;return j("do"),r=br.inIteration,br.inIteration=!0,e=Pt(),br.inIteration=r,j("while"),F("("),t=lt(),F(")"),I(";")&&E(),{type:ur.DoWhileStatement,body:e,test:t}}function _t(){var e,t,r;return j("while"),F("("),e=lt(),F(")"),r=br.inIteration,br.inIteration=!0,t=Pt(),br.inIteration=r,{type:ur.WhileStatement,test:e,body:t}}function Et(){var e=E();return{type:ur.VariableDeclaration,declarations:vt(),kind:e.value}}function kt(){var e,t,r,n,i,a,o;return e=t=r=null,j("for"),F("("),I(";")?E():(O("var")||O("let")?(br.allowIn=!1,e=Et(),br.allowIn=!0,1===e.declarations.length&&O("in")&&(E(),n=e,i=lt(),e=null)):(br.allowIn=!1,e=lt(),br.allowIn=!0,O("in")&&(P(e)||S({},lr.InvalidLHSInForIn),E(),n=e,i=lt(),e=null)),n===void 0&&F(";")),n===void 0&&(I(";")||(t=lt()),F(";"),I(")")||(r=lt())),F(")"),o=br.inIteration,br.inIteration=!0,a=Pt(),br.inIteration=o,n===void 0?{type:ur.ForStatement,init:e,test:t,update:r,body:a}:{type:ur.ForInStatement,left:n,right:i,body:a,each:!1}}function At(){var e,t=null;return j("continue"),";"===pr[dr]?(E(),br.inIteration||S({},lr.IllegalContinue),{type:ur.ContinueStatement,label:null}):A()?(br.inIteration||S({},lr.IllegalContinue),{type:ur.ContinueStatement,label:null}):(e=k(),e.type===or.Identifier&&(t=ht(),Object.prototype.hasOwnProperty.call(br.labelSet,t.name)||S({},lr.UnknownLabel,t.name)),N(),null!==t||br.inIteration||S({},lr.IllegalContinue),{type:ur.ContinueStatement,label:t})}function St(){var e,t=null;return j("break"),";"===pr[dr]?(E(),br.inIteration||br.inSwitch||S({},lr.IllegalBreak),{type:ur.BreakStatement,label:null}):A()?(br.inIteration||br.inSwitch||S({},lr.IllegalBreak),{type:ur.BreakStatement,label:null}):(e=k(),e.type===or.Identifier&&(t=ht(),Object.prototype.hasOwnProperty.call(br.labelSet,t.name)||S({},lr.UnknownLabel,t.name)),N(),null!==t||br.inIteration||br.inSwitch||S({},lr.IllegalBreak),{type:ur.BreakStatement,label:t})}function Lt(){var e,t=null;return j("return"),br.inFunctionBody||L({},lr.IllegalReturn)," "===pr[dr]&&u(pr[dr+1])?(t=lt(),N(),{type:ur.ReturnStatement,argument:t}):A()?{type:ur.ReturnStatement,argument:null}:(I(";")||(e=k(),I("}")||e.type===or.EOF||(t=lt())),N(),{type:ur.ReturnStatement,argument:t})}function Mt(){var e,t;return hr&&L({},lr.StrictModeWith),j("with"),F("("),e=lt(),F(")"),t=Pt(),{type:ur.WithStatement,object:e,body:t}}function Ft(){var e,t,r=[];for(O("default")?(E(),e=null):(j("case"),e=lt()),F(":");mr>dr&&!(I("}")||O("default")||O("case"))&&(t=Pt(),void 0!==t);)r.push(t);return{type:ur.SwitchCase,test:e,consequent:r}}function jt(){var e,t,r,n,i;if(j("switch"),F("("),e=lt(),F(")"),F("{"),I("}"))return E(),{type:ur.SwitchStatement,discriminant:e};for(t=[],n=br.inSwitch,br.inSwitch=!0,i=!1;mr>dr&&!I("}");)r=Ft(),null===r.test&&(i&&S({},lr.MultipleDefaultsInSwitch),i=!0),t.push(r);return br.inSwitch=n,F("}"),{type:ur.SwitchStatement,discriminant:e,cases:t}}function It(){var e;return j("throw"),A()&&S({},lr.NewlineAfterThrow),e=lt(),N(),{type:ur.ThrowStatement,argument:e}}function Ot(){var e;return j("catch"),F("("),I(")")&&M(k()),e=ht(),hr&&p(e.name)&&L({},lr.StrictCatchVariable),F(")"),{type:ur.CatchClause,param:e,body:pt()}}function Tt(){var e,t=[],r=null;return j("try"),e=pt(),O("catch")&&t.push(Ot()),O("finally")&&(E(),r=pt()),0!==t.length||r||S({},lr.NoCatchOrFinally),{type:ur.TryStatement,block:e,guardedHandlers:[],handlers:t,finalizer:r}}function Nt(){return j("debugger"),N(),{type:ur.DebuggerStatement}}function Pt(){var e,t,r=k();if(r.type===or.EOF&&M(r),r.type===or.Punctuator)switch(r.value){case";":return yt();case"{":return pt();case"(":return bt();default:}if(r.type===or.Keyword)switch(r.value){case"break":return St();case"continue":return At();case"debugger":return Nt();case"do":return xt();case"for":return kt();case"function":return qt();case"if":return wt();case"return":return Lt();case"switch":return jt();case"throw":return It();case"try":return Tt();case"var":return gt();case"while":return _t();case"with":return Mt();default:}return e=lt(),e.type===ur.Identifier&&I(":")?(E(),Object.prototype.hasOwnProperty.call(br.labelSet,e.name)&&S({},lr.Redeclaration,"Label",e.name),br.labelSet[e.name]=!0,t=Pt(),delete br.labelSet[e.name],{type:ur.LabeledStatement,label:e,body:t}):(N(),{type:ur.ExpressionStatement,expression:e})}function Ct(){var e,t,n,i,a,o,s,u,c=[];for(F("{");mr>dr&&(t=k(),t.type===or.StringLiteral)&&(e=Dt(),c.push(e),e.expression.type===ur.Literal);)n=r(t.range[0]+1,t.range[1]-1),"use strict"===n?(hr=!0,i&&L(i,lr.StrictOctalLiteral)):!i&&t.octal&&(i=t);for(a=br.labelSet,o=br.inIteration,s=br.inSwitch,u=br.inFunctionBody,br.labelSet={},br.inIteration=!1,br.inSwitch=!1,br.inFunctionBody=!0;mr>dr&&!I("}")&&(e=Dt(),void 0!==e);)c.push(e);return F("}"),br.labelSet=a,br.inIteration=o,br.inSwitch=s,br.inFunctionBody=u,{type:ur.BlockStatement,body:c}}function qt(){var e,t,r,n,i,a,o,s,u,c=[];if(j("function"),n=k(),e=ht(),hr?p(n.value)&&L(n,lr.StrictFunctionName):p(n.value)?(a=n,o=lr.StrictFunctionName):f(n.value)&&(a=n,o=lr.StrictReservedWord),F("("),!I(")"))for(u={};mr>dr&&(n=k(),t=ht(),hr?(p(n.value)&&(i=n,o=lr.StrictParamName),Object.prototype.hasOwnProperty.call(u,n.value)&&(i=n,o=lr.StrictParamDupe)):a||(p(n.value)?(a=n,o=lr.StrictParamName):f(n.value)?(a=n,o=lr.StrictReservedWord):Object.prototype.hasOwnProperty.call(u,n.value)&&(a=n,o=lr.StrictParamDupe)),c.push(t),u[t.name]=!0,!I(")"));)F(",");return F(")"),s=hr,r=Ct(),hr&&a&&S(a,o),hr&&i&&L(i,o),hr=s,{type:ur.FunctionDeclaration,id:e,params:c,defaults:[],body:r,rest:null,generator:!1,expression:!1}}function Rt(){var e,t,r,n,i,a,o,s,u=null,c=[];if(j("function"),I("(")||(e=k(),u=ht(),hr?p(e.value)&&L(e,lr.StrictFunctionName):p(e.value)?(r=e,n=lr.StrictFunctionName):f(e.value)&&(r=e,n=lr.StrictReservedWord)),F("("),!I(")"))for(s={};mr>dr&&(e=k(),i=ht(),hr?(p(e.value)&&(t=e,n=lr.StrictParamName),Object.prototype.hasOwnProperty.call(s,e.value)&&(t=e,n=lr.StrictParamDupe)):r||(p(e.value)?(r=e,n=lr.StrictParamName):f(e.value)?(r=e,n=lr.StrictReservedWord):Object.prototype.hasOwnProperty.call(s,e.value)&&(r=e,n=lr.StrictParamDupe)),c.push(i),s[i.name]=!0,!I(")"));)F(",");return F(")"),o=hr,a=Ct(),hr&&r&&S(r,n),hr&&t&&L(t,n),hr=o,{type:ur.FunctionExpression,id:u,params:c,defaults:[],body:a,rest:null,generator:!1,expression:!1}}function Dt(){var e=k();if(e.type===or.Keyword)switch(e.value){case"const":case"let":return mt(e.value);case"function":return qt();default:return Pt()}return e.type!==or.EOF?Pt():void 0}function Ut(){for(var e,t,n,i,a=[];mr>dr&&(t=k(),t.type===or.StringLiteral)&&(e=Dt(),a.push(e),e.expression.type===ur.Literal);)n=r(t.range[0]+1,t.range[1]-1),"use strict"===n?(hr=!0,i&&L(i,lr.StrictOctalLiteral)):!i&&t.octal&&(i=t);for(;mr>dr&&(e=Dt(),void 0!==e);)a.push(e);return a}function Bt(){var e;return hr=!1,e={type:ur.Program,body:Ut()}}function Vt(e,r,n,i,a){t("number"==typeof n,"Comment must have valid position"),wr.comments.length>0&&wr.comments[wr.comments.length-1].range[1]>n||wr.comments.push({type:e,value:r,range:[n,i],loc:a})}function Yt(){var e,t,r,n,i,a;for(e="",i=!1,a=!1;mr>dr;)if(t=pr[dr],a)t=pr[dr++],s(t)?(r.end={line:vr,column:dr-gr-1},a=!1,Vt("Line",e,n,dr-1,r),"\r"===t&&"\n"===pr[dr]&&++dr,++vr,gr=dr,e=""):dr>=mr?(a=!1,e+=t,r.end={line:vr,column:mr-gr},Vt("Line",e,n,mr,r)):e+=t;else if(i)s(t)?("\r"===t&&"\n"===pr[dr+1]?(++dr,e+="\r\n"):e+=t,++vr,++dr,gr=dr,dr>=mr&&S({},lr.UnexpectedToken,"ILLEGAL")):(t=pr[dr++],dr>=mr&&S({},lr.UnexpectedToken,"ILLEGAL"),e+=t,"*"===t&&(t=pr[dr],"/"===t&&(e=e.substr(0,e.length-1),i=!1,++dr,r.end={line:vr,column:dr-gr},Vt("Block",e,n,dr,r),e="")));else if("/"===t)if(t=pr[dr+1],"/"===t)r={start:{line:vr,column:dr-gr}},n=dr,dr+=2,a=!0,dr>=mr&&(r.end={line:vr,column:dr-gr},a=!1,Vt("Line",e,n,dr,r));else{if("*"!==t)break;n=dr,dr+=2,i=!0,r={start:{line:vr,column:dr-gr-2}},dr>=mr&&S({},lr.UnexpectedToken,"ILLEGAL")}else if(o(t))++dr;else{if(!s(t))break;++dr,"\r"===t&&"\n"===pr[dr]&&++dr,++vr,gr=dr}}function zt(){var e,t,r,n=[];for(e=0;wr.comments.length>e;++e)t=wr.comments[e],r={type:t.type,value:t.value},wr.range&&(r.range=t.range),wr.loc&&(r.loc=t.loc),n.push(r);wr.comments=n}function Gt(){var e,t,n,i,a;return d(),e=dr,t={start:{line:vr,column:dr-gr}},n=wr.advance(),t.end={line:vr,column:dr-gr},n.type!==or.EOF&&(i=[n.range[0],n.range[1]],a=r(n.range[0],n.range[1]),wr.tokens.push({type:sr[n.type],value:a,range:i,loc:t})),n}function Xt(){var e,t,r,n;return d(),e=dr,t={start:{line:vr,column:dr-gr}},r=wr.scanRegExp(),t.end={line:vr,column:dr-gr},wr.tokens.length>0&&(n=wr.tokens[wr.tokens.length-1],n.range[0]===e&&"Punctuator"===n.type&&("/"===n.value||"/="===n.value)&&wr.tokens.pop()),wr.tokens.push({type:"RegularExpression",value:r.literal,range:[e,dr],loc:t}),r}function Ht(){var e,t,r,n=[];for(e=0;wr.tokens.length>e;++e)t=wr.tokens[e],r={type:t.type,value:t.value},wr.range&&(r.range=t.range),wr.loc&&(r.loc=t.loc),n.push(r);wr.tokens=n}function Kt(e){return{type:ur.Literal,value:e.value}}function Wt(e){return{type:ur.Literal,value:e.value,raw:r(e.range[0],e.range[1])}}function Zt(){var e={};return e.range=[dr,dr],e.loc={start:{line:vr,column:dr-gr},end:{line:vr,column:dr-gr}},e.end=function(){this.range[1]=dr,this.loc.end.line=vr,this.loc.end.column=dr-gr},e.applyGroup=function(e){wr.range&&(e.groupRange=[this.range[0],this.range[1]]),wr.loc&&(e.groupLoc={start:{line:this.loc.start.line,column:this.loc.start.column},end:{line:this.loc.end.line,column:this.loc.end.column}})},e.apply=function(e){wr.range&&(e.range=[this.range[0],this.range[1]]),wr.loc&&(e.loc={start:{line:this.loc.start.line,column:this.loc.start.column},end:{line:this.loc.end.line,column:this.loc.end.column}})},e}function Jt(){var e,t;return d(),e=Zt(),F("("),t=lt(),F(")"),e.end(),e.applyGroup(t),t}function $t(){var e,t;for(d(),e=Zt(),t=O("new")?H():V();I(".")||I("[");)I("[")?(t={type:ur.MemberExpression,computed:!0,object:t,property:X()},e.end(),e.apply(t)):(t={type:ur.MemberExpression,computed:!1,object:t,property:G()},e.end(),e.apply(t));return t}function Qt(){var e,t;for(d(),e=Zt(),t=O("new")?H():V();I(".")||I("[")||I("(");)I("(")?(t={type:ur.CallExpression,callee:t,arguments:Y()},e.end(),e.apply(t)):I("[")?(t={type:ur.MemberExpression,computed:!0,object:t,property:X()},e.end(),e.apply(t)):(t={type:ur.MemberExpression,computed:!1,object:t,property:G()},e.end(),e.apply(t));return t}function er(e){var t,r,n;t="[object Array]"===Object.prototype.toString.apply(e)?[]:{};for(r in e)e.hasOwnProperty(r)&&"groupRange"!==r&&"groupLoc"!==r&&(n=e[r],t[r]=null===n||"object"!=typeof n||n instanceof RegExp?n:er(n));return t}function tr(e,t){return function(r){function n(e){return e.type===ur.LogicalExpression||e.type===ur.BinaryExpression}function i(r){var a,o;n(r.left)&&i(r.left),n(r.right)&&i(r.right),e&&(r.left.groupRange||r.right.groupRange?(a=r.left.groupRange?r.left.groupRange[0]:r.left.range[0],o=r.right.groupRange?r.right.groupRange[1]:r.right.range[1],r.range=[a,o]):r.range===void 0&&(a=r.left.range[0],o=r.right.range[1],r.range=[a,o])),t&&(r.left.groupLoc||r.right.groupLoc?(a=r.left.groupLoc?r.left.groupLoc.start:r.left.loc.start,o=r.right.groupLoc?r.right.groupLoc.end:r.right.loc.end,r.loc={start:a,end:o}):r.loc===void 0&&(r.loc={start:r.left.loc.start,end:r.right.loc.end}))}return function(){var a,o;return d(),a=Zt(),o=r.apply(null,arguments),a.end(),e&&o.range===void 0&&a.apply(o),t&&o.loc===void 0&&a.apply(o),n(o)&&i(o),o}}}function rr(){var e;wr.comments&&(wr.skipComment=d,d=Yt),wr.raw&&(wr.createLiteral=Kt,Kt=Wt),(wr.range||wr.loc)&&(wr.parseGroupExpression=B,wr.parseLeftHandSideExpression=W,wr.parseLeftHandSideExpressionAllowCall=K,B=Jt,W=$t,K=Qt,e=tr(wr.range,wr.loc),wr.parseAdditiveExpression=Q,wr.parseAssignmentExpression=ct,wr.parseBitwiseANDExpression=nt,wr.parseBitwiseORExpression=at,wr.parseBitwiseXORExpression=it,wr.parseBlock=pt,wr.parseFunctionSourceElements=Ct,wr.parseCatchClause=Ot,wr.parseComputedMember=X,wr.parseConditionalExpression=ut,wr.parseConstLetDeclaration=mt,wr.parseEqualityExpression=rt,wr.parseExpression=lt,wr.parseForVariableDeclaration=Et,wr.parseFunctionDeclaration=qt,wr.parseFunctionExpression=Rt,wr.parseLogicalANDExpression=ot,wr.parseLogicalORExpression=st,wr.parseMultiplicativeExpression=$,wr.parseNewExpression=H,wr.parseNonComputedProperty=z,wr.parseObjectProperty=D,wr.parseObjectPropertyKey=R,wr.parsePostfixExpression=Z,wr.parsePrimaryExpression=V,wr.parseProgram=Bt,wr.parsePropertyFunction=q,wr.parseRelationalExpression=tt,wr.parseStatement=Pt,wr.parseShiftExpression=et,wr.parseSwitchCase=Ft,wr.parseUnaryExpression=J,wr.parseVariableDeclaration=dt,wr.parseVariableIdentifier=ht,Q=e(wr.parseAdditiveExpression),ct=e(wr.parseAssignmentExpression),nt=e(wr.parseBitwiseANDExpression),at=e(wr.parseBitwiseORExpression),it=e(wr.parseBitwiseXORExpression),pt=e(wr.parseBlock),Ct=e(wr.parseFunctionSourceElements),Ot=e(wr.parseCatchClause),X=e(wr.parseComputedMember),ut=e(wr.parseConditionalExpression),mt=e(wr.parseConstLetDeclaration),rt=e(wr.parseEqualityExpression),lt=e(wr.parseExpression),Et=e(wr.parseForVariableDeclaration),qt=e(wr.parseFunctionDeclaration),Rt=e(wr.parseFunctionExpression),W=e(W),ot=e(wr.parseLogicalANDExpression),st=e(wr.parseLogicalORExpression),$=e(wr.parseMultiplicativeExpression),H=e(wr.parseNewExpression),z=e(wr.parseNonComputedProperty),D=e(wr.parseObjectProperty),R=e(wr.parseObjectPropertyKey),Z=e(wr.parsePostfixExpression),V=e(wr.parsePrimaryExpression),Bt=e(wr.parseProgram),q=e(wr.parsePropertyFunction),tt=e(wr.parseRelationalExpression),Pt=e(wr.parseStatement),et=e(wr.parseShiftExpression),Ft=e(wr.parseSwitchCase),J=e(wr.parseUnaryExpression),dt=e(wr.parseVariableDeclaration),ht=e(wr.parseVariableIdentifier)),wr.tokens!==void 0&&(wr.advance=_,wr.scanRegExp=w,_=Gt,w=Xt)
}function nr(){"function"==typeof wr.skipComment&&(d=wr.skipComment),wr.raw&&(Kt=wr.createLiteral),(wr.range||wr.loc)&&(Q=wr.parseAdditiveExpression,ct=wr.parseAssignmentExpression,nt=wr.parseBitwiseANDExpression,at=wr.parseBitwiseORExpression,it=wr.parseBitwiseXORExpression,pt=wr.parseBlock,Ct=wr.parseFunctionSourceElements,Ot=wr.parseCatchClause,X=wr.parseComputedMember,ut=wr.parseConditionalExpression,mt=wr.parseConstLetDeclaration,rt=wr.parseEqualityExpression,lt=wr.parseExpression,Et=wr.parseForVariableDeclaration,qt=wr.parseFunctionDeclaration,Rt=wr.parseFunctionExpression,B=wr.parseGroupExpression,W=wr.parseLeftHandSideExpression,K=wr.parseLeftHandSideExpressionAllowCall,ot=wr.parseLogicalANDExpression,st=wr.parseLogicalORExpression,$=wr.parseMultiplicativeExpression,H=wr.parseNewExpression,z=wr.parseNonComputedProperty,D=wr.parseObjectProperty,R=wr.parseObjectPropertyKey,V=wr.parsePrimaryExpression,Z=wr.parsePostfixExpression,Bt=wr.parseProgram,q=wr.parsePropertyFunction,tt=wr.parseRelationalExpression,Pt=wr.parseStatement,et=wr.parseShiftExpression,Ft=wr.parseSwitchCase,J=wr.parseUnaryExpression,dt=wr.parseVariableDeclaration,ht=wr.parseVariableIdentifier),"function"==typeof wr.scanRegExp&&(_=wr.advance,w=wr.scanRegExp)}function ir(e){var t,r=e.length,n=[];for(t=0;r>t;++t)n[t]=e.charAt(t);return n}function ar(e,t){var r,n;n=String,"string"==typeof e||e instanceof String||(e=n(e)),pr=e,dr=0,vr=pr.length>0?1:0,gr=0,mr=pr.length,yr=null,br={allowIn:!0,labelSet:{},inFunctionBody:!1,inIteration:!1,inSwitch:!1},wr={},t!==void 0&&(wr.range="boolean"==typeof t.range&&t.range,wr.loc="boolean"==typeof t.loc&&t.loc,wr.raw="boolean"==typeof t.raw&&t.raw,"boolean"==typeof t.tokens&&t.tokens&&(wr.tokens=[]),"boolean"==typeof t.comment&&t.comment&&(wr.comments=[]),"boolean"==typeof t.tolerant&&t.tolerant&&(wr.errors=[])),mr>0&&pr[0]===void 0&&(e instanceof String&&(pr=e.valueOf()),pr[0]===void 0&&(pr=ir(e))),rr();try{r=Bt(),wr.comments!==void 0&&(zt(),r.comments=wr.comments),wr.tokens!==void 0&&(Ht(),r.tokens=wr.tokens),wr.errors!==void 0&&(r.errors=wr.errors),(wr.range||wr.loc)&&(r.body=er(r.body))}catch(i){throw i}finally{nr(),wr={}}return r}var or,sr,ur,cr,lr,fr,pr,hr,dr,vr,gr,mr,yr,br,wr;or={BooleanLiteral:1,EOF:2,Identifier:3,Keyword:4,NullLiteral:5,NumericLiteral:6,Punctuator:7,StringLiteral:8},sr={},sr[or.BooleanLiteral]="Boolean",sr[or.EOF]="<end>",sr[or.Identifier]="Identifier",sr[or.Keyword]="Keyword",sr[or.NullLiteral]="Null",sr[or.NumericLiteral]="Numeric",sr[or.Punctuator]="Punctuator",sr[or.StringLiteral]="String",ur={AssignmentExpression:"AssignmentExpression",ArrayExpression:"ArrayExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DoWhileStatement:"DoWhileStatement",DebuggerStatement:"DebuggerStatement",EmptyStatement:"EmptyStatement",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForInStatement:"ForInStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",Identifier:"Identifier",IfStatement:"IfStatement",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",Program:"Program",Property:"Property",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SwitchStatement:"SwitchStatement",SwitchCase:"SwitchCase",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement"},cr={Data:1,Get:2,Set:4},lr={UnexpectedToken:"Unexpected token %0",UnexpectedNumber:"Unexpected number",UnexpectedString:"Unexpected string",UnexpectedIdentifier:"Unexpected identifier",UnexpectedReserved:"Unexpected reserved word",UnexpectedEOS:"Unexpected end of input",NewlineAfterThrow:"Illegal newline after throw",InvalidRegExp:"Invalid regular expression",UnterminatedRegExp:"Invalid regular expression: missing /",InvalidLHSInAssignment:"Invalid left-hand side in assignment",InvalidLHSInForIn:"Invalid left-hand side in for-in",MultipleDefaultsInSwitch:"More than one default clause in switch statement",NoCatchOrFinally:"Missing catch or finally after try",UnknownLabel:"Undefined label '%0'",Redeclaration:"%0 '%1' has already been declared",IllegalContinue:"Illegal continue statement",IllegalBreak:"Illegal break statement",IllegalReturn:"Illegal return statement",StrictModeWith:"Strict mode code may not include a with statement",StrictCatchVariable:"Catch variable may not be eval or arguments in strict mode",StrictVarName:"Variable name may not be eval or arguments in strict mode",StrictParamName:"Parameter name eval or arguments is not allowed in strict mode",StrictParamDupe:"Strict mode function may not have duplicate parameter names",StrictFunctionName:"Function name may not be eval or arguments in strict mode",StrictOctalLiteral:"Octal literals are not allowed in strict mode.",StrictDelete:"Delete of an unqualified identifier in strict mode.",StrictDuplicateProperty:"Duplicate data property in object literal not allowed in strict mode",AccessorDataProperty:"Object literal may not have data and accessor property with the same name",AccessorGetSet:"Object literal may not have multiple get/set accessors with the same name",StrictLHSAssignment:"Assignment to eval or arguments is not allowed in strict mode",StrictLHSPostfix:"Postfix increment/decrement may not have eval or arguments operand in strict mode",StrictLHSPrefix:"Prefix increment/decrement may not have eval or arguments operand in strict mode",StrictReservedWord:"Use of future reserved word in strict mode"},fr={NonAsciiIdentifierStart:RegExp("[ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԧԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠࢢ-ࢬऄ-हऽॐक़-ॡॱ-ॷॹ-ॿঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-ళవ-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛰᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦫᧁ-ᧇᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚗꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꪀ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ]"),NonAsciiIdentifierPart:RegExp("[ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮ̀-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁ҃-҇Ҋ-ԧԱ-Ֆՙա-և֑-ׇֽֿׁׂׅׄא-תװ-ײؐ-ؚؠ-٩ٮ-ۓە-ۜ۟-۪ۨ-ۼۿܐ-݊ݍ-ޱ߀-ߵߺࠀ-࠭ࡀ-࡛ࢠࢢ-ࢬࣤ-ࣾऀ-ॣ०-९ॱ-ॷॹ-ॿঁ-ঃঅ-ঌএঐও-নপ-রলশ-হ়-ৄেৈো-ৎৗড়ঢ়য়-ৣ০-ৱਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹ਼ਾ-ੂੇੈੋ-੍ੑਖ਼-ੜਫ਼੦-ੵઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હ઼-ૅે-ૉો-્ૐૠ-ૣ૦-૯ଁ-ଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହ଼-ୄେୈୋ-୍ୖୗଡ଼ଢ଼ୟ-ୣ୦-୯ୱஂஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹா-ூெ-ைொ-்ௐௗ௦-௯ఁ-ఃఅ-ఌఎ-ఐఒ-నప-ళవ-హఽ-ౄె-ైొ-్ౕౖౘౙౠ-ౣ౦-౯ಂಃಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹ಼-ೄೆ-ೈೊ-್ೕೖೞೠ-ೣ೦-೯ೱೲംഃഅ-ഌഎ-ഐഒ-ഺഽ-ൄെ-ൈൊ-ൎൗൠ-ൣ൦-൯ൺ-ൿංඃඅ-ඖක-නඳ-රලව-ෆ්ා-ුූෘ-ෟෲෳก-ฺเ-๎๐-๙ກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ູົ-ຽເ-ໄໆ່-ໍ໐-໙ໜ-ໟༀ༘༙༠-༩༹༵༷༾-ཇཉ-ཬཱ-྄྆-ྗྙ-ྼ࿆က-၉ၐ-ႝႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፝-፟ᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛰᜀ-ᜌᜎ-᜔ᜠ-᜴ᝀ-ᝓᝠ-ᝬᝮ-ᝰᝲᝳក-៓ៗៜ៝០-៩᠋-᠍᠐-᠙ᠠ-ᡷᢀ-ᢪᢰ-ᣵᤀ-ᤜᤠ-ᤫᤰ-᤻᥆-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉ᧐-᧙ᨀ-ᨛᨠ-ᩞ᩠-᩿᩼-᪉᪐-᪙ᪧᬀ-ᭋ᭐-᭙᭫-᭳ᮀ-᯳ᰀ-᰷᱀-᱉ᱍ-ᱽ᳐-᳔᳒-ᳶᴀ-ᷦ᷼-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼ‌‍‿⁀⁔ⁱⁿₐ-ₜ⃐-⃥⃜⃡-⃰ℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯ⵿-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⷠ-ⷿⸯ々-〇〡-〯〱-〵〸-〼ぁ-ゖ゙゚ゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘫꙀ-꙯ꙴ-꙽ꙿ-ꚗꚟ-꛱ꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠧꡀ-ꡳꢀ-꣄꣐-꣙꣠-ꣷꣻ꤀-꤭ꤰ-꥓ꥠ-ꥼꦀ-꧀ꧏ-꧙ꨀ-ꨶꩀ-ꩍ꩐-꩙ꩠ-ꩶꩺꩻꪀ-ꫂꫛ-ꫝꫠ-ꫯꫲ-꫶ꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯪ꯬꯭꯰-꯹가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻ︀-️︠-︦︳︴﹍-﹏ﹰ-ﹴﹶ-ﻼ0-9A-Z_a-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ]")},"esprima"[0]===void 0&&(r=function(e,t){return pr.slice(e,t).join("")}),e.version="1.0.3",e.parse=ar,e.Syntax=function(){var e,t={};"function"==typeof Object.create&&(t=Object.create(null));for(e in ur)ur.hasOwnProperty(e)&&(t[e]=ur[e]);return"function"==typeof Object.freeze&&Object.freeze(t),t}()})})()},{}],16:[function(e,t){"use strict";function r(e,t,r){this.name=e,this.lvalue=t,this.rvalue=r,this.count=0}function n(e,t,r,n){this.body=e,this.args=t,this.thisVars=r,this.localVars=n}function i(e){if("eval"===e)throw Error("cwise-parser: eval() not allowed");return"undefined"!=typeof window?e in window:"undefined"!=typeof GLOBAL?e in GLOBAL:"undefined"!=typeof self?e in self:!1}function a(e){for(var t=e.body[0].expression.callee.params,r=Array(t.length),n=0;t.length>n;++n)r[n]=t[n].name;return r}function o(e){function t(e){var t=g+e.replace(/\_/g,"__");return _.push(t),t}function o(e){var t="this_"+e.replace(/\_/g,"__");return E.push(t),t}function l(e,t){for(var r=e.range[0],n=e.range[1],i=r+1;n>i;++i)w[i]="";w[r]=t}function f(e){return"'"+e.replace(/\_/g,"\\_").replace(/\'/g,"'")+"'"}function p(e){return w.slice(e.range[0],e.range[1]).join("")}function h(e){return"AssignmentExpression"===e.parent.type&&e.parent.left===e?"="===e.parent.operator?k:k|A:"UpdateExpression"===e.parent.type?k|A:A}for(var d=["(",e,")()"].join(""),v=s.parse(d,{range:!0}),g="_inline_"+c++ +"_",m=a(v),y=Array(m.length),b=0;m.length>b;++b)y[b]=new r([g,"arg",b,"_"].join(""),!1,!1);for(var w=Array(d.length),b=0,x=d.length;x>b;++b)w[b]=d.charAt(b);var _=[],E=[],k=1,A=2;(function S(e,r){if(e.parent=r,"MemberExpression"===e.type)e.computed?(S(e.object,e),S(e.property,e)):"ThisExpression"===e.object.type?l(e,o(e.property.name)):S(e.object,e);else{if("ThisExpression"===e.type)throw Error("cwise-parser: Computed this is not allowed");if("Identifier"===e.type){var n=e.name,a=m.indexOf(n);if(a>=0){var s=y[a],u=h(e);u&k&&(s.lvalue=!0),u&A&&(s.rvalue=!0),++s.count,l(e,s.name)}else i(n)||l(e,t(n))}else if("Literal"===e.type)"string"==typeof e.value&&l(e,f(e.value));else{if("WithStatement"===e.type)throw Error("cwise-parser: with() statements not allowed");for(var c=Object.keys(e),p=0,d=c.length;d>p;++p)if("parent"!==c[p]){var v=e[c[p]];if(v)if(v instanceof Array)for(var g=0;v.length>g;++g)v[g]&&"string"==typeof v[g].type&&S(v[g],e);else"string"==typeof v.type&&S(v,e)}}}})(v.body[0].expression.callee.body,void 0),u(_),u(E);var L=new n(p(v.body[0].expression.callee.body),y,E,_);return L}var s=e("esprima"),u=e("uniq"),c=0;t.exports=o},{esprima:18,uniq:19}],19:[function(e,t){"use strict";function r(e,t){for(var r=1,n=e.length,i=e[0],a=e[0],o=1;n>o;++o)if(a=i,i=e[o],t(i,a)){if(o===r){r++;continue}e[r++]=i}return e.length=r,e}function n(e){for(var t=1,r=e.length,n=e[0],i=e[0],a=1;r>a;++a,i=n)if(i=n,n=e[a],n!==i){if(a===t){t++;continue}e[t++]=n}return e.length=t,e}function i(e,t,i){return 0===e.length?[]:t?(i||e.sort(t),r(e,t)):(i||e.sort(),n(e))}t.exports=i},{}],17:[function(e,t){"use strict";function r(e,t,r){var n,i,a=e.length,o=t.arrayArgs.length,s=t.indexArgs.length>0,u=[],c=[],l=0,f=0;for(n=0;a>n;++n)c.push(["i",n,"=0"].join(""));for(i=0;o>i;++i)for(n=0;a>n;++n)f=l,l=e[n],0===n?c.push(["d",i,"s",n,"=t",i,"[",l,"]"].join("")):c.push(["d",i,"s",n,"=(t",i,"[",l,"]-s",f,"*t",i,"[",f,"])"].join(""));for(u.push("var "+c.join(",")),n=a-1;n>=0;--n)l=e[n],u.push(["for(i",n,"=0;i",n,"<s",l,";++i",n,"){"].join(""));for(u.push(r),n=0;a>n;++n){for(f=l,l=e[n],i=0;o>i;++i)u.push(["p",i,"+=d",i,"s",n].join(""));s&&(n>0&&u.push(["index[",f,"]-=s",f].join("")),u.push(["++index[",l,"]"].join(""))),u.push("}")}return u.join("\n")}function n(e,t,n,i){for(var a=t.length,o=n.arrayArgs.length,s=n.blockSize,u=n.indexArgs.length>0,c=[],l=0;o>l;++l)c.push(["var offset",l,"=p",l].join(""));for(var l=e;a>l;++l)c.push(["for(var j"+l+"=SS[",t[l],"]|0;j",l,">0;){"].join("")),c.push(["if(j",l,"<",s,"){"].join("")),c.push(["s",t[l],"=j",l].join("")),c.push(["j",l,"=0"].join("")),c.push(["}else{s",t[l],"=",s].join("")),c.push(["j",l,"-=",s,"}"].join("")),u&&c.push(["index[",t[l],"]=j",l].join(""));for(var l=0;o>l;++l){for(var f=["offset"+l],p=e;a>p;++p)f.push(["j",p,"*t",l,"[",t[p],"]"].join(""));c.push(["p",l,"=(",f.join("+"),")"].join(""))}c.push(r(t,n,i));for(var l=e;a>l;++l)c.push("}");return c.join("\n")}function i(e){for(var t=0,r=e[0].length;r>t;){for(var n=1;e.length>n;++n)if(e[n][t]!==e[0][t])return t;++t}return t}function a(e,t,r){for(var n=e.body,i=[],a=[],o=0;e.args.length>o;++o){var s=e.args[o];if(!(0>=s.count)){var u=RegExp(s.name,"g");switch(t.argTypes[o]){case"array":var c=t.arrayArgs.indexOf(o);1===s.count?"generic"===r[c]?s.lvalue?(i.push(["var l",c,"=a",c,".get(p",c,")"].join("")),n=n.replace(u,"l"+c),a.push(["a",c,".set(p",c,",l",c,")"].join(""))):n=n.replace(u,["a",c,".get(p",c,")"].join("")):n=n.replace(u,["a",c,"[p",c,"]"].join("")):"generic"===r[c]?(i.push(["var l",c,"=a",c,".get(p",c,")"].join("")),n=n.replace(u,"l"+c),s.lvalue&&a.push(["a",c,".set(p",c,",l",c,")"].join(""))):(i.push(["var l",c,"=a",c,"[p",c,"]"].join("")),n=n.replace(u,"l"+c),s.lvalue&&a.push(["a",c,"[p",c,"]=l",c].join("")));break;case"scalar":n=n.replace(u,"Y"+t.scalarArgs.indexOf(o));break;case"index":n=n.replace(u,"index");break;case"shape":n=n.replace(u,"shape")}}}return[i.join("\n"),n,a.join("\n")].join("\n").trim()}function o(e){for(var t=Array(e.length),r=!0,n=0;e.length>n;++n){var i=e[n],a=i.match(/\d+/);a=a?a[0]:"",t[n]=0===i.charAt(0)?"u"+i.charAt(1)+a:i.charAt(0)+a,n>0&&(r=r&&t[n]===t[n-1])}return r?t[0]:t.join("")}function s(e,t){for(var s=0|t[1].length,c=Array(e.arrayArgs.length),l=Array(e.arrayArgs.length),f=["SS"],p=["'use strict'"],h=[],d=0;s>d;++d)h.push(["s",d,"=SS[",d,"]"].join(""));for(var v=0;e.arrayArgs.length>v;++v)f.push("a"+v),f.push("t"+v),f.push("p"+v),l[v]=t[2*v],c[v]=t[2*v+1];for(var v=0;e.scalarArgs.length>v;++v)f.push("Y"+v);if(e.shapeArgs.length>0&&h.push("shape=SS.slice(0)"),e.indexArgs.length>0){for(var g=Array(s),v=0;s>v;++v)g[v]="0";h.push(["index=[",g.join(","),"]"].join(""))}var m=u([].concat(e.pre.thisVars).concat(e.body.thisVars).concat(e.post.thisVars));h=h.concat(m),p.push("var "+h.join(","));for(var v=0;e.arrayArgs.length>v;++v)p.push("p"+v+"|=0");e.pre.body.length>3&&p.push(a(e.pre,e,l));var y=a(e.body,e,l),b=i(c);s>b?p.push(n(b,c[0],e,y)):p.push(r(c[0],e,y)),e.post.body.length>3&&p.push(a(e.post,e,l)),e.debug&&console.log("Generated cwise routine for ",t,":\n\n",p.join("\n"));var w=[e.funcName||"unnamed","_cwise_loop_",c[0].join("s"),"m",b,o(l)].join(""),x=Function(["function ",w,"(",f.join(","),"){",p.join("\n"),"} return ",w].join(""));return x()}var u=e("uniq");t.exports=s},{uniq:19}]},{},[]),require=function(e,t,r){function n(r,a){if(!t[r]){if(!e[r]){var o="function"==typeof require&&require;if(!a&&o)return o(r,!0);if(i)return i(r,!0);throw Error("Cannot find module '"+r+"'")}var s=t[r]={exports:{}};e[r][0].call(s.exports,function(t){var i=e[r][1][t];return n(i?i:t)},s,s.exports)}return t[r].exports}for(var i="function"==typeof require&&require,a=0;r.length>a;a++)n(r[a]);return n}({bunny:[function(e,t){t.exports=e("3ScpiF")},{}],"3ScpiF":[function(e,t,r){r.positions=[[1.301895,.122622,2.550061],[1.045326,.139058,2.835156],[.569251,.155925,2.805125],[.251886,.144145,2.82928],[.063033,.131726,3.01408],[-.277753,.135892,3.10716],[-.441048,.277064,2.594331],[-1.010956,.095285,2.668983],[-1.317639,.069897,2.325448],[-.751691,.264681,2.381496],[.684137,.31134,2.364574],[1.347931,.302882,2.201434],[-1.736903,.029894,1.724111],[-1.319986,.11998,.912925],[1.538077,.157372,.481711],[1.951975,.081742,1.1641],[1.834768,.095832,1.602682],[2.446122,.091817,1.37558],[2.617615,.078644,.742801],[-1.609748,.04973,-.238721],[-1.281973,.230984,-.180916],[-1.074501,.248204,.034007],[-1.201734,.058499,.402234],[-1.444454,.054783,.149579],[-4.694605,5.075882,1.043427],[-3.95963,7.767394,.758447],[-4.753339,5.339817,.665061],[-1.150325,9.133327,-.368552],[-4.316107,2.893611,.44399],[-.809202,9.312575,-.466061],[.085626,5.963693,1.685666],[-1.314853,9.00142,-.1339],[-4.364182,3.072556,1.436712],[-2.022074,7.323396,.678657],[1.990887,6.13023,.479643],[-3.295525,7.878917,1.409353],[.571308,6.197569,.670657],[.89661,6.20018,.337056],[.331851,6.162372,1.186371],[-4.840066,5.599874,2.296069],[2.138989,6.031291,.228335],[.678923,6.026173,1.894052],[-.781682,5.601573,1.836738],[1.181315,6.239007,.393293],[-3.606308,7.376476,2.661452],[-.579059,4.042511,-1.540883],[-3.064069,8.630253,-2.597539],[-2.157271,6.837012,.300191],[-2.966013,7.821581,-1.13697],[-2.34426,8.122965,.409043],[-.951684,5.874251,1.415119],[-2.834853,7.748319,.182406],[-3.242493,7.820096,.373674],[-.208532,5.992846,1.252084],[-3.048085,8.431527,-2.129795],[1.413245,5.806324,2.243906],[-.051222,6.064901,.696093],[-4.204306,2.700062,.713875],[-4.610997,6.343405,.344272],[-3.291336,9.30531,-3.340445],[-3.27211,7.559239,-2.324016],[-4.23882,6.498344,3.18452],[-3.945317,6.377804,3.38625],[-4.906378,5.472265,1.315193],[-3.580131,7.846717,.709666],[-1.995504,6.645459,.688487],[-2.595651,7.86054,.793351],[-.008849,.305871,.184484],[-.029011,.314116,-.257312],[-2.522424,7.565392,1.804212],[-1.022993,8.650826,-.855609],[-3.831265,6.595426,3.266783],[-4.042525,6.855724,3.060663],[-4.17126,7.404742,2.391387],[3.904526,3.767693,.092179],[.268076,6.086802,1.469223],[-3.320456,8.753222,-2.08969],[1.203048,6.26925,.612407],[-4.406479,2.985974,.853691],[-3.226889,6.615215,-.404243],[.346326,1.60211,3.509858],[-3.955476,7.253323,2.722392],[-1.23204,.068935,1.68794],[.625436,6.196455,1.333156],[4.469132,2.165298,1.70525],[.950053,6.262899,.922441],[-2.980404,5.25474,-.663155],[-4.859043,6.28741,1.537081],[-3.077453,4.641475,-.892167],[-.44002,8.222503,-.771454],[-4.034112,7.639786,.389935],[-3.696045,6.242042,3.394679],[-1.221806,7.783617,.196451],[.71461,6.149895,1.656636],[-4.713539,6.163154,.495369],[-1.509869,.913044,-.832413],[-1.547249,2.066753,-.852669],[-3.757734,5.793742,3.455794],[-.831911,.199296,1.718536],[-3.062763,7.52718,-1.550559],[.938688,6.103354,1.820958],[-4.037033,2.412311,.988026],[-4.130746,2.571806,1.101689],[-.693664,9.174283,-.952323],[-1.286742,1.079679,-.751219],[1.543185,1.408925,3.483132],[1.535973,2.047979,3.655029],[.93844,5.84101,2.195219],[-.684401,5.918492,1.20109],[1.28844,2.008676,3.710781],[-3.586722,7.435506,-1.454737],[-.129975,4.384192,2.930593],[-1.030531,.281374,3.214273],[-3.058751,8.137238,-3.227714],[3.649524,4.592226,1.340021],[-3.354828,7.322425,-1.412086],[.936449,6.209237,1.512693],[-1.001832,3.590411,-1.545892],[-3.770486,4.593242,2.477056],[-.971925,.067797,.921384],[-4.639832,6.865407,2.311791],[-.441014,8.093595,-.595999],[-2.004852,6.37142,1.635383],[4.759591,1.92818,.328328],[3.748064,1.224074,2.140484],[-.703601,5.285476,2.251988],[.59532,6.21893,.981004],[.980799,6.257026,1.24223],[1.574697,6.204981,.381628],[1.149594,6.173608,1.660763],[-3.501963,5.895989,3.456576],[1.071122,5.424198,2.588717],[-.774693,8.473335,-.276957],[3.849959,4.15542,.396742],[-.801715,4.973149,-1.068582],[-2.927676,.625112,2.326393],[2.669682,4.045542,2.971184],[-4.391324,4.74086,.343463],[1.520129,6.270031,.775471],[1.837586,6.084731,.109188],[1.271475,5.975024,2.032355],[-3.487968,4.513249,2.605871],[-1.32234,1.517264,-.691879],[-1.080301,1.648226,-.805526],[-3.365703,6.910166,-.454902],[1.36034,.432238,3.075004],[-3.305013,5.774685,3.39142],[3.88432,.654141,.12574],[3.57254,.377934,.302501],[4.196136,.807999,.212229],[3.932997,.543123,.380579],[4.023704,3.286125,.537597],[1.864455,4.916544,2.691677],[-4.775427,6.499498,1.440153],[-3.464928,3.68234,2.766356],[3.648972,1.751262,2.157485],[1.179111,3.238846,3.774796],[-.171164,.299126,-.592669],[-4.502912,3.316656,.875188],[-.948454,9.214025,-.679508],[1.237665,6.288593,1.046],[1.523423,6.268963,1.139544],[1.436519,6.140608,1.739316],[3.723607,1.504355,2.136762],[2.009495,4.045514,3.22053],[-1.921944,7.249905,.213973],[1.254068,1.205518,3.474709],[-.317087,5.996269,.525872],[-2.996914,3.934607,2.900178],[-3.316873,4.028154,2.785696],[-3.400267,4.280157,2.689268],[-3.134842,4.564875,2.697192],[1.480563,4.692567,2.834068],[.873682,1.315452,3.541585],[1.599355,.91622,3.246769],[-3.292102,7.125914,2.768515],[3.74296,4.511299,.616539],[4.698935,1.55336,.26921],[-3.274387,3.299421,2.823946],[-2.88809,3.410699,2.955248],[1.171407,1.76905,3.688472],[1.430276,3.92483,3.473666],[3.916941,2.553308,.018941],[.701632,2.442372,3.778639],[1.562657,2.302778,3.660957],[4.476622,1.152407,.182131],[-.61136,5.761367,1.598838],[-3.102154,3.691687,2.903738],[1.816012,5.546167,2.380308],[3.853928,4.25066,.750017],[1.234681,3.581665,3.673723],[1.862271,1.361863,3.355209],[1.346844,4.146995,3.327877],[1.70672,4.080043,3.274307],[.897242,1.908983,3.6969],[-.587022,9.191132,-.565301],[-.217426,5.674606,2.019968],[.278925,6.120777,.485403],[1.463328,3.578742,-2.001464],[-3.072985,4.264581,2.789502],[3.62353,4.673843,.383452],[-3.053491,8.752377,-2.908434],[-2.628687,4.505072,2.755601],[.891047,5.113781,2.748272],[-2.923732,3.06515,2.866368],[.848008,4.754252,2.896972],[-3.319184,8.811641,-2.327412],[.12864,8.814781,-1.334456],[1.549501,4.549331,-1.28243],[1.647161,3.738973,3.507719],[1.250888,.945599,3.348739],[3.809662,4.038822,.053142],[1.483166,.673327,3.09156],[.829726,3.635921,3.713103],[1.352914,5.226651,2.668113],[2.237352,4.37414,3.016386],[4.507929,.889447,.744249],[4.57304,1.010981,.496588],[3.931422,1.720989,2.088175],[-.463177,5.989835,.834346],[-2.811236,3.745023,2.969587],[-2.805135,4.219721,2.841108],[-2.836842,4.802543,2.60826],[1.776716,2.084611,3.568638],[4.046881,1.463478,2.106273],[.316265,5.944313,1.892785],[-2.86347,2.776049,2.77242],[-2.673644,3.116508,2.907104],[-2.621149,4.018502,2.903409],[-2.573447,5.198013,2.477481],[1.104039,2.278985,3.722469],[-4.602743,4.306413,.902296],[-2.684878,1.510731,.535039],[.092036,8.473269,-.99413],[-1.280472,5.602393,1.928105],[-1.0279,4.121582,-1.403103],[-2.461081,3.304477,2.957317],[-2.375929,3.659383,2.953233],[1.417579,2.715389,3.718767],[.819727,2.948823,3.810639],[1.329962,.761779,3.203724],[1.73952,5.295229,2.537725],[.952523,3.945016,3.548229],[-2.569498,.633669,2.84818],[-2.276676,.757013,2.780717],[-2.013147,7.354429,-.003202],[.93143,1.565913,3.600325],[1.249014,1.550556,3.585842],[2.287252,4.072353,3.124544],[-4.7349,7.006244,1.690653],[-3.500602,8.80386,-2.009196],[-.582629,5.549138,2.000923],[-1.865297,6.356066,1.313593],[-3.212154,2.376143,-.565593],[2.092889,3.493536,-1.727931],[-2.528501,2.784531,2.833758],[-2.565697,4.893154,2.559605],[-2.153366,5.04584,2.465215],[1.631311,2.568241,3.681445],[2.150193,4.699227,2.807505],[.507599,5.01813,2.775892],[4.129862,1.863698,2.015101],[3.578279,4.50766,-.009598],[3.491023,4.806749,1.549265],[.619485,1.625336,3.605125],[1.107499,2.932557,3.790061],[-2.082292,6.99321,.742601],[4.839909,1.379279,.945274],[3.591328,4.322645,-.259497],[1.055245,.710686,3.16553],[-3.026494,7.842227,1.624553],[.146569,6.119214,.981673],[-2.043687,2.614509,2.785526],[-2.302242,3.047775,2.936355],[-2.245686,4.100424,2.87794],[2.116148,5.063507,2.572204],[-1.448406,7.64559,.251692],[2.550717,4.9268,2.517526],[-2.955456,7.80293,-1.782407],[1.882995,4.637167,2.895436],[-2.014924,3.398262,2.954896],[-2.273654,4.771227,2.611418],[-2.162723,7.876761,.702473],[-.198659,5.823062,1.739272],[-1.280908,2.133189,-.921241],[2.039932,4.251568,3.136579],[1.477815,4.354333,3.108325],[.560504,3.744128,3.6913],[-2.234018,1.054373,2.352782],[-3.189156,7.686661,-2.514955],[-3.744736,7.69963,2.116973],[-2.283366,2.878365,2.87882],[-2.153786,4.457481,2.743529],[4.933978,1.677287,.713773],[3.502146,.535336,1.752511],[1.825169,4.419253,3.081198],[3.072331,.280979,.106534],[-.508381,1.220392,2.878049],[-3.138824,8.445394,-1.659711],[-2.056425,2.954815,2.897241],[-2.035343,5.398477,2.215842],[-3.239915,7.126798,-.712547],[-1.867923,7.989805,.526518],[1.23405,6.248973,1.387189],[-.216492,8.320933,-.862495],[-2.079659,3.755709,2.928563],[-1.78595,4.300374,2.805295],[-1.856589,5.10678,2.386572],[-1.714362,5.544778,2.004623],[1.722403,4.200291,-1.408161],[.195386,.086928,-1.318006],[1.393693,3.013404,3.710686],[-.415307,8.508471,-.996883],[-1.853777,.755635,2.757275],[-1.724057,3.64533,2.884251],[-1.884511,4.927802,2.530885],[-1.017174,7.783908,-.227078],[-1.7798,2.342513,2.741749],[-1.841329,3.943996,2.88436],[1.430388,5.468067,2.503467],[-2.030296,.940028,2.611088],[-1.677028,1.215666,2.607771],[-1.74092,2.832564,2.827295],[4.144673,.631374,.503358],[4.238811,.653992,.762436],[-1.847016,2.082815,2.642674],[4.045764,3.194073,.852117],[-1.563989,8.112739,.303102],[-1.781627,1.794836,2.602338],[-1.493749,2.533799,2.797251],[-1.934496,4.690689,2.658999],[-1.499174,5.777946,1.747498],[-2.387409,.851291,1.500524],[-1.872211,8.269987,.392533],[-4.647726,6.765771,.833653],[-3.157482,.341958,-.20671],[-1.725766,3.24703,2.883579],[-1.458199,4.079031,2.836325],[-1.621548,4.515869,2.719266],[-1.607292,4.918914,2.505881],[-1.494661,5.556239,1.991599],[-1.727269,7.423769,.012337],[-1.382497,1.161322,2.640222],[-1.52129,4.681714,2.615467],[-4.247127,2.792812,1.250843],[-1.576338,.742947,2.769799],[-1.499257,2.172763,2.743142],[-1.480392,3.103261,2.862262],[1.049137,2.625836,3.775384],[-1.368063,1.791587,2.695516],[-1.307839,2.344534,2.767575],[-1.336758,5.092221,2.355225],[-1.5617,5.301749,2.21625],[-1.483362,8.537704,.196752],[-1.517348,8.773614,.074053],[-1.474302,1.492731,2.641433],[2.48718,.644247,-.920226],[.818091,.422682,3.171218],[-3.623398,6.930094,3.033045],[1.676333,3.531039,3.591591],[1.199939,5.683873,2.365623],[-1.223851,8.841201,.025414],[-1.286307,3.847643,2.918044],[-1.25857,4.810831,2.543605],[2.603662,5.572146,1.991854],[.138984,5.779724,2.077834],[-1.267039,3.175169,2.890889],[-1.293616,3.454612,2.911774],[-2.60112,1.277184,.07724],[2.552779,3.649877,3.163643],[-1.038983,1.248011,2.605933],[-1.288709,4.390967,2.761214],[-1.034218,5.485963,2.011467],[-1.185576,1.464842,2.624335],[-1.045682,2.54896,2.761102],[4.259176,1.660627,2.018096],[-.961707,1.717183,2.598342],[-1.044603,3.147464,2.855335],[-.891998,4.685429,2.669696],[-1.027561,5.081672,2.377939],[4.386506,.832434,.510074],[-1.014225,9.064991,-.175352],[-1.218752,2.895443,2.823785],[-.972075,4.432669,2.788005],[-2.714986,.52425,1.509798],[-.699248,1.517219,2.645738],[-1.161581,2.078852,2.722795],[-.845249,3.286247,2.996471],[1.068329,4.443444,2.993863],[3.98132,3.715557,1.027775],[1.658097,3.982428,-1.651688],[-4.053701,2.449888,.734746],[-.910935,2.214149,2.702393],[.087824,3.96165,3.439344],[-.779714,3.724134,2.993429],[-1.051093,3.810797,2.941957],[-.644941,4.3859,2.870863],[-2.98403,8.666895,-3.691888],[-.754304,2.508325,2.812999],[-4.635524,3.662891,.913005],[-.983299,4.125978,2.915378],[4.916497,1.905209,.621315],[4.874983,1.728429,.468521],[2.33127,5.181957,2.441697],[-.653711,2.253387,2.7949],[-3.623744,8.978795,-2.46192],[-4.555927,6.160279,.215755],[-4.940628,5.806712,1.18383],[3.308506,2.40326,-.910776],[.58835,5.251928,-.992886],[2.152215,5.449733,2.331679],[-.712755,.766765,3.280375],[-.741771,1.9716,2.657235],[-4.828957,5.566946,2.635623],[-3.474788,8.696771,-1.776121],[1.770417,6.205561,1.331627],[-.620626,4.064721,2.968972],[-1.499187,2.307735,-.978901],[4.098793,2.330245,1.667951],[1.940444,6.167057,.935904],[-2.314436,1.104995,1.681277],[-2.733629,7.742793,1.7705],[-.452248,4.719868,2.740834],[-.649143,4.951713,2.541296],[-.479417,9.43959,-.676324],[-2.251853,6.559275,.046819],[.033531,8.316907,-.789939],[-.513125,.995673,3.125462],[-2.637602,1.039747,.602434],[1.527513,6.230089,1.430903],[4.036124,2.609846,1.506498],[-3.559828,7.877892,1.228076],[-4.570736,4.960193,.838201],[-.432121,5.157731,2.467518],[-1.206735,4.562511,-1.237054],[-.823768,3.788746,-1.567481],[-3.095544,7.353613,-1.024577],[-4.056088,7.631119,2.062001],[-.289385,5.382261,2.329421],[1.69752,6.136483,1.667037],[-.168758,5.061138,2.617453],[2.853576,1.605528,-1.229958],[-4.514319,6.586675,.352756],[-2.558081,7.741151,1.29295],[1.61116,5.92358,2.071534],[3.936921,3.354857,.091755],[-.1633,1.119272,3.147975],[.067551,1.593475,3.38212],[-1.303239,2.328184,-1.011672],[-.438093,.73423,3.398384],[-4.62767,3.898187,.849573],[.286853,4.165281,3.284834],[-2.968052,8.492812,-3.493693],[-.111896,3.696111,3.53791],[-3.808245,8.451731,-1.574742],[.053416,5.558764,2.31107],[3.956269,3.012071,.11121],[-.710956,8.106561,-.665154],[.234725,2.717326,3.722379],[-.031594,2.76411,3.657347],[-.017371,4.700633,2.81911],[.215064,5.034859,2.721426],[-.111151,8.480333,-.649399],[3.97942,3.575478,.362219],[.392962,4.735392,2.874321],[4.17015,2.085087,1.865999],[.169054,1.244786,3.337709],[.020049,3.165818,3.721736],[.248212,3.595518,3.698376],[.130706,5.295541,2.540034],[-4.541357,4.798332,1.026866],[-1.277485,1.289518,-.667272],[3.892133,3.54263,-.078056],[4.057379,3.03669,.997913],[.287719,.884758,3.251787],[.535771,1.144701,3.400096],[.585303,1.399362,3.505353],[.191551,2.076246,3.549355],[.328656,2.394576,3.649623],[.413124,3.240728,3.771515],[.630361,4.501549,2.963623],[.529441,5.854392,2.120225],[3.805796,3.769958,-.162079],[3.447279,4.344846,-.467276],[.377618,5.551116,2.426017],[.409355,1.821269,3.606333],[.719959,2.194726,3.703851],[.495922,3.501519,3.755661],[.603408,5.354097,2.603088],[-4.605056,7.531978,1.19579],[.907972,.973128,3.356513],[.750134,3.356137,3.765847],[.4496,3.993244,3.504544],[-3.030738,7.48947,-1.259169],[.707505,5.602005,2.43476],[.668944,.654891,3.213797],[.593244,2.700978,3.791427],[1.467759,3.30327,3.71035],[3.316249,2.436388,2.581175],[3.26138,1.724425,2.539028],[-1.231292,7.968263,.281414],[-.108773,8.712307,-.790607],[4.445684,1.819442,1.896988],[1.998959,2.281499,3.49447],[2.162269,2.113817,3.365449],[4.363397,1.406731,1.922714],[4.808,2.225842,.611127],[2.735919,.771812,-.701142],[1.897735,2.878428,3.583482],[-3.31616,5.331985,3.212394],[-3.3314,6.018137,3.313018],[-3.503183,6.480103,3.222216],[-1.904453,5.750392,1.913324],[-1.339735,3.559592,-1.421817],[-1.044242,8.22539,.037414],[1.643492,3.110676,3.647424],[3.992832,3.686244,.710946],[1.774207,1.71842,3.475768],[-3.438842,5.5713,3.427818],[4.602447,1.2583,1.619528],[-.925516,7.930042,.072336],[-1.252093,3.846565,-1.420761],[-3.426857,5.072419,2.97806],[-3.160408,6.152629,3.061869],[3.739931,3.367082,2.041273],[1.027419,4.235891,3.251253],[4.777703,1.887452,1.560409],[-3.318528,6.733796,2.982968],[2.929265,4.962579,2.271079],[3.449761,2.838629,2.474576],[-3.280159,5.029875,2.787514],[4.068939,2.993629,.741567],[.303312,8.70927,-1.121972],[.229852,8.981322,-1.186075],[-.011045,9.148156,-1.047057],[-2.942683,5.579613,2.929297],[-3.145409,5.698727,3.205778],[-3.019089,6.30887,2.794323],[-3.217135,6.468191,2.970032],[-3.048298,6.993641,2.623378],[-3.07429,6.660982,2.702434],[3.612011,2.5574,2.25349],[2.54516,4.553967,2.75884],[-1.683759,7.400787,.250868],[-1.756066,7.463557,.448031],[-3.023761,5.149697,2.673539],[3.112376,2.677218,2.782378],[2.835327,4.581196,2.567146],[-2.973799,7.225458,2.506988],[-.591645,8.740662,-.505845],[3.782861,2.04337,2.03066],[3.331604,3.36343,2.605047],[2.966866,1.205497,2.537432],[.002669,9.654748,-1.355559],[2.632801,.58497,2.540311],[-2.819398,5.087372,2.521098],[2.616193,5.332961,2.194288],[-3.193973,4.925634,2.607924],[-3.12618,5.27524,2.944544],[-.426003,8.516354,-.501528],[2.802717,1.387643,2.751649],[-3.120597,7.889111,-2.75431],[2.636648,1.71702,2.991302],[-2.853151,6.711792,2.430276],[-2.843836,6.962865,2.400842],[1.9696,3.199023,3.504514],[-2.461751,.386352,3.008994],[1.64127,.495758,3.02958],[-4.330472,5.409831,.025287],[-2.912387,5.980416,2.844261],[-2.490069,.211078,2.985391],[3.581816,4.809118,.733728],[2.693199,2.647213,3.126709],[-.182964,8.184108,-.638459],[-2.226855,.444711,2.946552],[-.720175,8.115055,.017689],[2.645302,4.316212,2.850139],[-.232764,9.329503,-.918639],[4.852365,1.471901,.65275],[2.76229,2.014994,2.957755],[-2.808374,5.354301,2.644695],[-2.790967,6.406963,2.547985],[-1.342684,.418488,-1.669183],[2.690675,5.593587,-.041236],[4.660146,1.6318,1.713314],[2.775667,3.007229,3.111332],[-.396696,8.963432,-.706202],[2.446707,2.740617,3.321433],[-4.803209,5.884634,2.603672],[-2.652003,1.6541,1.5078],[3.932327,3.972874,.831924],[2.135906,.955587,2.986608],[2.486131,2.053802,3.124115],[-.386706,8.115753,-.37565],[-2.720727,7.325044,2.224878],[-1.396946,7.638016,-.16486],[-.62083,7.989771,-.144413],[-2.653272,5.729684,2.667679],[3.038188,4.65835,2.364142],[2.381721,.739472,2.788992],[-2.345829,5.474929,2.380633],[-2.518983,6.080562,2.479383],[-2.615793,6.839622,2.186116],[-2.286566,.143752,2.766848],[-4.771219,6.508766,1.070797],[3.717308,2.905019,2.097994],[2.50521,3.016743,3.295898],[2.208448,1.56029,3.216806],[3.346783,1.01254,2.119951],[2.653503,3.26122,3.175738],[-2.359636,5.827519,2.402297],[-1.952693,.558102,2.853307],[-.321562,9.414885,-1.187501],[3.138923,1.405072,2.520765],[1.493728,1.780051,3.621969],[3.01817,.907291,2.336909],[3.183548,1.185297,2.352175],[1.608619,5.006753,2.695131],[-4.723919,6.836107,1.095288],[-1.017586,8.865429,-.149328],[4.730762,1.214014,.64008],[-2.135182,6.647907,1.495471],[-2.420382,6.546114,2.108209],[-2.458053,7.186346,1.896623],[3.437124,.275798,1.138203],[.095925,8.725832,-.926481],[2.417376,2.429869,3.287659],[2.279951,1.200317,3.049994],[2.674753,2.326926,3.044059],[-2.328123,6.849164,1.75751],[-3.418616,7.853407,.126248],[-3.151587,7.77543,-.110889],[2.349144,5.653242,2.05869],[-2.273236,6.085631,2.242888],[-4.560601,4.525342,1.261241],[2.866334,3.796067,2.934717],[-2.17493,6.505518,1.791367],[3.12059,3.283157,2.818869],[3.037703,3.562356,2.866653],[.066233,9.488418,-1.248237],[2.749941,.975018,2.573371],[-2.155749,5.801033,2.204009],[-2.162778,6.261889,2.028596],[1.936874,.459142,2.956718],[3.176249,4.335541,2.440447],[4.356599,1.029423,1.700589],[3.873502,3.082678,1.80431],[2.895489,4.243034,2.735259],[-.095774,9.468195,-1.07451],[-1.124982,7.886808,-.480851],[3.032304,3.065454,2.897927],[3.692687,4.5961,.957858],[-3.013045,3.807235,-1.098381],[-.790012,8.92912,-.367572],[1.905793,.73179,2.996728],[3.530396,3.426233,2.356583],[2.12299,.624933,2.929167],[-2.069196,6.039284,2.01251],[-3.565623,7.182525,2.850039],[2.959264,2.376337,2.829242],[2.949071,1.822483,2.793933],[4.036142,.763803,1.703744],[-1.993527,6.180318,1.804936],[-.030987,.766389,3.344766],[-.549683,8.225193,-.189341],[-.765469,8.272246,-.127174],[-2.947047,7.541648,-.414113],[-3.050327,9.10114,-3.435619],[3.488566,2.231807,2.399836],[3.352283,4.727851,1.946438],[4.741011,2.162773,1.499574],[-1.815093,6.072079,1.580722],[-3.720969,8.267927,-.984713],[1.932826,3.714052,3.427488],[3.323617,4.438961,2.20732],[.254111,9.26364,-1.373244],[-1.493384,7.868585,-.450051],[-.841901,.776135,-1.619467],[.243537,6.027668,.091687],[.303057,.313022,-.531105],[-.435273,.474098,3.481552],[2.121507,2.622389,3.486293],[1.96194,1.101753,3.159584],[3.937991,3.407551,1.551392],[.070906,.295753,1.377185],[-1.93588,7.631764,.651674],[-2.523531,.744818,-.30985],[2.891496,3.319875,2.983079],[4.781765,1.547061,1.523129],[-2.256064,7.571251,.973716],[3.244861,3.058249,2.724392],[-.145855,.437775,3.433662],[1.586296,5.658538,2.358487],[3.658336,3.774921,2.071837],[2.840463,4.817098,2.46376],[-1.219464,8.122542,-.672808],[-2.520906,2.664486,-1.034346],[-1.315417,8.471365,-.709557],[3.429165,3.74686,2.446169],[3.074579,3.840758,2.767409],[3.569443,3.166337,2.333647],[2.294337,3.280051,3.359346],[2.21816,3.66578,3.269222],[2.158662,4.151444,-1.357919],[1.13862,4.380986,-1.404565],[3.388382,2.749931,-.840949],[3.059892,5.084848,2.026066],[3.204739,2.075145,2.640706],[3.387065,1.42617,2.305275],[3.910398,2.670742,1.750179],[3.471512,1.945821,2.395881],[4.08082,1.070654,1.960171],[-1.057861,.133036,2.146707],[-.151749,5.53551,-.624323],[3.233099,4.003778,2.571172],[2.611726,5.319199,-.499388],[2.682909,1.094499,-1.206247],[-1.22823,7.656887,.041409],[-2.293247,7.259189,.013844],[.081315,.202174,3.286381],[-1.002038,5.794454,-.187194],[3.448856,4.08091,2.258325],[.287883,9.006888,-1.550641],[-3.851019,4.059839,-.646922],[3.610966,4.205438,1.913129],[2.239042,2.950872,3.449959],[.216305,.442843,3.328052],[1.87141,2.470745,3.574559],[3.811378,2.768718,-.228364],[2.511081,1.362724,2.969349],[-1.59813,7.866506,.440184],[-3.307975,2.851072,-.894978],[-.107011,8.90573,-.884399],[-3.855315,2.842597,-.434541],[2.517853,1.090768,2.799687],[3.791709,2.36685,2.002703],[4.06294,2.773922,.452723],[-2.973289,7.61703,-.623653],[-2.95509,8.924462,-3.446319],[2.861402,.562592,2.184397],[-1.109725,8.594206,-.076812],[-.725722,7.924485,-.381133],[-1.485587,1.329994,-.654405],[-4.342113,3.233735,1.752922],[-2.968049,7.955519,-2.09405],[-3.130948,.446196,.85287],[-4.958475,5.757329,1.447055],[-3.086547,7.615193,-1.953168],[-3.751923,5.412821,3.373373],[-4.599645,7.480953,1.677134],[1.133992,.274871,.032249],[-2.956512,8.126905,-1.785461],[-.960645,4.73065,-1.191786],[-2.871064,.875559,.424881],[-4.932114,5.99614,1.483845],[-2.981761,8.124612,-1.387276],[.362298,8.978545,-1.368024],[-4.408375,3.046271,.602373],[2.865841,2.322263,-1.344625],[-4.7848,5.620895,.594432],[-2.88322,.338931,1.67231],[-4.688101,6.772931,1.872318],[-4.903948,6.164698,1.27135],[2.85663,1.005647,-.906843],[2.691286,.209811,.050512],[-4.693636,6.477556,.665796],[-4.472331,6.861067,.477318],[.883065,.204907,3.073933],[-.995867,8.048729,-.653897],[-.794663,5.670397,-.390119],[3.313153,1.638006,-.722289],[-4.856459,5.394758,1.032591],[-3.005448,7.783023,-.819641],[3.11891,2.036974,-1.08689],[-2.364319,2.408419,2.63419],[-2.927132,8.75435,-3.537159],[-3.296222,7.964629,-3.134625],[-1.642041,4.13417,-1.301665],[2.030759,.176372,-1.030923],[-4.559069,3.751053,.548453],[3.438385,4.59454,-.243215],[-2.561769,7.93935,.177696],[2.990593,1.335314,-.943177],[1.2808,.276396,-.49072],[-.318889,.290684,.211143],[3.54614,3.342635,-.767878],[-3.073372,7.780018,-2.357807],[-4.455388,4.387245,.361038],[-4.659393,6.276064,2.767014],[.636799,4.482223,-1.426284],[-2.987681,8.072969,-2.45245],[-2.610445,.763554,1.792054],[3.358241,2.006707,-.802973],[-.498347,.251594,.962885],[3.1322,.683312,2.038777],[-4.389801,7.493776,.690247],[.431467,4.22119,-1.614215],[-4.376181,3.213141,.273255],[-4.872319,5.715645,.829714],[-4.826893,6.195334,.849912],[3.516562,2.23732,-.677597],[3.131656,1.698841,-.975761],[-4.754925,5.411666,1.989303],[-2.987299,7.320765,-.629479],[-3.757635,3.274862,-.744022],[3.487044,2.541999,-.699933],[-4.53274,4.649505,.77093],[-1.424192,.099423,2.633327],[3.090867,2.476975,-1.146957],[-2.713256,.815622,2.17311],[3.348121,3.254167,-.984896],[-3.031379,.16453,-.309937],[-.949757,4.518137,-1.309172],[-.889509,.095256,1.288803],[3.539594,1.966105,-.553965],[-4.60612,7.127749,.811958],[-2.332953,1.444713,1.624548],[3.136293,2.95805,-1.138272],[3.540808,3.069058,-.735285],[3.678852,2.362375,-.452543],[-4.648898,7.37438,.954791],[-.646871,.19037,3.344746],[2.2825,.29343,-.826273],[-4.422291,7.183959,.557517],[-4.694668,5.246103,2.541768],[-4.583691,4.145486,.600207],[-2.934854,7.912513,-1.539269],[-3.067861,7.817472,-.546501],[3.825095,3.229512,-.237547],[2.532494,.323059,2.387105],[-2.514583,.692857,1.23597],[-4.736805,7.214384,1.259421],[-2.98071,8.409903,-2.468199],[2.621468,1.385844,-1.406355],[3.811447,3.560855,1.847828],[3.432925,1.497205,-.489784],[3.746609,3.631538,-.39067],[3.594909,2.832257,-.576012],[-.404192,5.300188,-.856561],[-4.762996,6.483774,1.702648],[-4.756612,6.786223,1.43682],[-2.965309,8.437217,-2.785495],[2.863867,.74087,-.429684],[4.02503,2.968753,1.392419],[3.669036,1.833858,-.304971],[-2.888864,.720537,.778057],[-2.36982,.979443,1.054447],[-2.959259,8.222303,-2.659724],[-3.467825,7.545739,-2.333445],[2.153426,.446256,-1.20523],[-3.229807,9.189699,-3.596609],[-3.72486,8.773707,-2.046671],[3.687218,3.297751,-.523746],[1.381025,.08815,-1.185668],[-2.796828,7.205622,-.208783],[3.647194,4.066232,-.291507],[-4.578376,3.885556,1.52546],[-2.840262,.63094,1.89499],[-2.429514,.922118,1.820781],[-4.675079,6.573925,2.423363],[2.806207,4.320188,-1.027372],[-1.289608,.097241,1.321661],[-3.010731,8.141334,-2.866148],[3.202291,1.235617,-.549025],[4.094792,2.477519,.304581],[2.948403,.966873,-.664857],[-4.83297,5.920587,2.095461],[-2.169693,7.257277,.946184],[-1.335807,3.057597,-1.303166],[-1.037877,.64151,-1.685271],[2.627919,.089814,.439074],[3.815794,3.808102,1.730493],[-2.973455,8.433141,-3.08872],[-2.391558,7.331428,1.658264],[-4.333107,4.529978,1.850516],[-4.640293,3.767107,1.168841],[3.600716,4.46931,1.734024],[3.880803,1.730158,-.172736],[3.814183,4.262372,1.167042],[4.37325,.829542,1.413729],[2.490447,5.75111,.011492],[3.460003,4.962436,1.188971],[3.918419,3.814234,1.358271],[-.807595,8.840504,-.953711],[3.752855,4.20577,1.57177],[-2.991085,8.816501,-3.244595],[-2.333196,7.128889,1.551985],[3.977718,3.570941,1.25937],[4.360071,.755579,1.079916],[4.637579,1.027973,1.032567],[-2.317,7.421066,1.329589],[-1.013404,8.293662,-.7823],[4.548023,1.020644,1.420462],[4.763258,1.266798,1.296203],[4.896,2.073084,1.255213],[4.015005,3.325226,1.093879],[4.94885,1.860936,.894463],[-2.189645,6.954634,1.270077],[4.887442,1.720992,1.288526],[-3.184068,7.871802,.956189],[-1.274318,.839887,-1.224389],[-2.919521,7.84432,.541629],[-2.994586,7.766102,1.96867],[-3.417504,9.241714,-3.093201],[-3.174563,7.466456,2.473617],[-3.263067,9.069412,-3.003459],[-2.841592,.529833,2.693434],[-3.611069,9.158804,-2.829871],[-4.642828,5.927526,.320549],[-3.809308,9.051035,-2.692749],[-2.837582,7.487987,-.106206],[4.773025,2.330442,1.213899],[4.897435,2.209906,.966657],[-3.067637,8.164062,-1.12661],[-3.122129,8.08074,-.899194],[4.571019,2.358113,1.462054],[4.584884,2.454418,.709466],[-3.661093,7.146581,-.475948],[4.735131,2.415859,.933939],[4.207556,2.540018,1.218293],[-3.607595,7.89161,-.121172],[-1.527952,.775564,-1.061903],[4.53874,2.503273,1.099583],[-3.938837,7.587988,.082449],[-4.853582,6.152409,1.787943],[-4.752214,6.247234,2.296873],[4.602935,2.363955,.488901],[-1.81638,6.365879,.868272],[.595467,4.744074,-1.32483],[1.87635,3.511986,-1.842924],[4.330947,2.534326,.720503],[4.108736,2.750805,.904552],[-1.890939,8.492628,-.290768],[-3.504309,6.173058,-.422804],[-1.611992,6.196732,.648736],[-3.899149,7.826123,1.088845],[-3.078303,3.008813,-1.035784],[-2.798999,7.844899,1.340061],[-1.248839,5.959105,.041761],[.767779,4.337318,3.090817],[-3.831177,7.515605,2.432261],[-1.667528,6.156208,.365267],[-1.726078,6.237384,1.100059],[-3.972037,4.520832,-.370756],[-4.40449,7.636357,1.520425],[-1.34506,6.004054,1.293159],[-1.233556,6.049933,.500651],[-3.696869,7.79732,.37979],[-3.307798,8.949964,-2.698113],[-1.997295,6.615056,1.103691],[-3.219222,8.336394,-1.150614],[-3.452623,8.31866,-.9417],[-3.94641,2.990494,2.212592],[-3.250025,8.030414,-.596097],[-2.02375,1.571333,2.397939],[-3.190358,7.665013,2.268183],[-2.811918,7.618526,2.145587],[-1.005265,5.892303,.072158],[-.93721,5.974148,.906669],[-4.646072,7.492193,1.45312],[-.252931,1.797654,3.140638],[-1.076064,5.738433,1.695953],[-3.980534,7.744391,1.735791],[-.721187,5.939396,.526032],[-.42818,5.919755,.229001],[-1.43429,6.11622,.93863],[-.985638,5.939683,.290636],[-4.433836,7.461372,1.966437],[-3.696398,7.844859,1.547325],[-3.390772,7.820186,1.812204],[-2.916787,7.864019,.804341],[-3.715952,8.037269,-.591341],[-4.204634,7.72919,1.119866],[-4.592233,5.592883,.246264],[3.307299,5.061701,1.622917],[-3.515159,7.601467,2.368914],[-3.435742,8.533457,-1.37916],[-.269421,4.545635,-1.366445],[-2.542124,3.768736,-1.258512],[-3.034003,7.873773,1.256854],[-2.801399,7.856028,1.080137],[3.29354,5.220894,1.081767],[-2.35109,1.299486,1.01206],[-3.232213,7.768136,2.047563],[3.290415,5.217525,.68019],[-3.415109,7.731034,2.144326],[3.440357,4.962463,.373387],[3.147346,5.352121,1.386923],[2.847252,5.469051,1.831981],[3.137682,5.410222,1.050188],[3.102694,5.310456,1.676434],[-3.044601,.39515,1.994084],[2.903647,5.561338,1.518598],[-3.810148,8.093598,-.889131],[4.234835,.803054,1.593271],[3.240165,5.228747,.325955],[3.037452,5.509825,.817137],[2.635031,5.795187,1.439724],[3.071607,5.318303,.080142],[2.909167,5.611751,1.155874],[3.044889,5.465928,.486566],[2.502256,5.770673,1.740054],[-.067497,.086416,-1.190239],[2.33326,5.906051,.138295],[.65096,4.205423,3.308767],[-2.671137,7.936535,.432731],[2.14463,5.879214,1.866047],[-4.776469,5.890689,.561986],[2.72432,5.655145,.211951],[2.730488,5.751455,.695894],[2.572682,5.869295,1.152663],[1.906776,5.739123,2.196551],[2.344414,5.999961,.772922],[-3.377905,7.448708,-1.863251],[2.285149,5.968156,1.459258],[2.385989,5.928974,.3689],[2.192111,6.087516,.959901],[2.36372,6.001101,1.074346],[1.972022,6.079603,1.591175],[1.87615,5.976698,1.91554],[-3.824761,9.05372,-2.928615],[2.044704,6.129704,1.263111],[-2.583046,.849537,2.497344],[-.078825,2.342205,3.520322],[-.704686,.537165,3.397194],[-.257449,3.235334,3.647545],[-.332064,1.448284,3.022583],[-2.200146,.898284,-.447212],[-2.497508,1.745446,1.829167],[.30702,4.416315,2.978956],[-3.205197,3.479307,-1.040582],[.110069,9.347725,-1.563686],[-.82754,.883886,3.065838],[-2.017103,1.244785,2.42512],[-.421091,2.309929,3.153898],[-.491604,3.796072,3.16245],[2.786955,3.501241,-1.340214],[-3.229055,4.380713,-.899241],[3.730768,.76845,1.90312],[-.561079,2.652382,3.152463],[-3.461471,3.086496,2.662505],[-.661405,3.446009,3.179939],[-.915351,.636755,3.243708],[-2.992964,8.915628,-3.729833],[-.439627,3.502104,3.42665],[-1.154217,.883181,2.800835],[-1.736193,1.465474,2.595489],[-.423928,3.24435,3.548277],[-.511153,2.871046,3.379749],[-.675722,2.991756,3.143262],[-1.092602,.599103,3.090639],[-.89821,2.836952,2.840023],[-2.658412,.781376,.960575],[-2.271455,1.222857,1.330478],[-.877861,1.111222,2.72263],[-.306959,2.876987,3.556044],[-3.839274,7.84138,-.918404],[-.172094,4.083799,3.141708],[-1.548332,.2529,2.864655],[-.217353,4.873911,-1.223104],[-3.384242,3.181056,-.95579],[-2.731704,.382421,2.895502],[-1.285037,.551267,2.947675],[.077224,4.246579,3.066738],[-.479979,1.77955,2.860011],[-.716375,1.224694,2.666751],[-.54622,3.138255,3.393457],[-2.33413,1.821222,2.124883],[-.50653,2.037147,2.897465],[2.451291,1.211389,-1.466589],[-3.160047,2.894081,2.724286],[-4.137258,5.433431,3.21201],[.462896,.320456,-.174837],[-.37458,2.609447,3.379253],[-3.095244,.256205,2.196446],[-4.197985,5.732991,3.262924],[-.729747,.246036,.497036],[-2.356189,5.062,-.965619],[-1.609036,.25962,-1.487367],[-4.074381,6.074061,3.409459],[-3.619304,4.0022,2.65705],[-.543393,8.742896,-1.056622],[-4.30356,6.858934,2.879642],[-.716688,2.901831,-2.11202],[1.547362,.083189,1.138764],[-.250916,.275268,1.201344],[-3.778035,3.13624,2.466177],[-4.594316,5.771342,3.01694],[-3.717706,3.442887,2.603344],[-4.311163,5.224669,3.019373],[-.610389,2.095161,-1.923515],[-3.040086,6.196918,-.429149],[-3.802695,3.768247,2.545523],[-.159541,2.043362,3.328549],[-3.744329,4.31785,2.491889],[-3.047939,.214155,1.873639],[-4.41685,6.113058,3.166774],[-1.165133,.460692,-1.742134],[-1.371289,4.249996,-1.317935],[-3.447883,.3521,.466205],[-4.495555,6.465548,2.944147],[-3.455335,.171653,.390816],[-3.964028,4.017196,2.376009],[-1.323595,1.763126,-.750772],[-3.971142,5.277524,-.19496],[-3.222052,.237723,.872229],[-4.403784,3.89107,1.872077],[-3.333311,.342997,.661016],[-4.495871,4.29606,1.63608],[-3.636081,2.760711,2.361949],[-4.487235,3.559608,1.66737],[-4.719787,7.26888,1.658722],[-1.086143,9.035741,-.707144],[-2.339693,1.600485,-.404817],[-4.642011,7.123829,1.990987],[-1.498077,3.854035,-1.369787],[-4.188372,4.729363,2.02983],[-3.116344,5.882284,-.468884],[-4.305236,4.246417,1.976991],[-3.022509,.22819,1.065688],[-2.799916,.52022,1.128319],[-4.262823,3.534409,2.020383],[-4.221533,3.947676,2.11735],[-3.744353,4.391712,-.6193],[-1.272905,.156694,-1.741753],[-3.62491,2.669825,-.549664],[-4.180756,3.096179,1.987215],[-4.059276,4.305313,2.232924],[-2.812753,.183226,1.370267],[-4.032437,3.512234,2.309985],[-.03787,.28188,.530391],[-4.711562,5.468653,2.822838],[-4.500636,6.953314,2.564445],[-4.479433,7.216991,2.270682],[3.990562,.50522,.716309],[-2.512229,6.863447,-.100658],[-2.968058,6.956639,-.37061],[2.550375,3.142683,-1.54068],[-2.320059,3.521605,-1.279397],[-4.556319,6.64662,2.745363],[-4.281091,7.108116,2.667598],[-2.050095,8.411689,.121353],[-2.44854,1.135487,.851875],[3.121815,.699943,-.277167],[-4.69877,6.00376,2.843035],[-1.360599,8.824742,-.595597],[1.128437,.171611,.301691],[-4.360146,6.289423,.042233],[1.400795,4.088829,-1.620409],[-3.193462,8.460137,-3.559446],[-3.168771,8.878431,-3.635795],[-3.434275,9.304302,-3.460878],[-3.349993,8.808093,-3.38179],[-3.304823,8.323865,-3.325905],[-3.572607,9.308843,-3.207672],[-3.166393,8.201215,-3.43014],[-3.451638,9.05331,-3.351345],[-3.309591,8.549758,-3.375055],[-3.527992,8.793926,-3.100376],[-3.6287,8.981677,-3.076319],[-3.445505,8.001887,-2.8273],[-3.408011,8.221014,-3.039237],[-3.65928,8.740382,-2.808856],[-3.878019,8.797295,-2.462866],[-3.515132,8.232341,-2.747739],[-3.460331,8.51524,-3.06818],[-3.403703,7.658628,-2.648789],[-3.507113,8.00159,-2.582275],[-3.607373,8.174737,-2.401723],[-3.749043,8.378084,-2.226959],[-3.648514,8.502213,-2.6138],[-2.534199,.904753,2.021148],[1.4083,5.744252,-.571402],[-3.852536,8.571009,-2.352358],[2.868255,5.373126,-.163705],[2.224363,4.669891,-1.061586],[-4.528281,4.885838,1.340274],[1.30817,4.609629,-1.28762],[-4.519698,3.422501,1.354826],[-3.549955,7.783228,-2.332859],[1.12313,6.120856,.045115],[-3.620324,7.57716,-2.033423],[-.798833,2.624133,-1.992682],[-3.617587,7.783148,-2.051383],[-3.669293,8.103776,-2.10227],[-3.892417,8.667436,-2.167288],[-.537435,.285345,-.176267],[-.841522,3.299866,-1.887861],[-.761547,3.647082,-1.798953],[-3.661544,7.85708,-1.867924],[-3.886763,8.551783,-1.889171],[-.591244,1.549749,-1.714784],[-.775276,1.908218,-1.597609],[-.961458,2.573273,-1.695549],[-2.215672,1.335009,2.143031],[-4.622674,4.130242,1.220683],[1.07344,.290099,1.584734],[-.976906,2.92171,-1.76667],[-1.13696,3.194401,-1.513455],[-3.743262,7.99949,-1.629286],[-2.876359,4.900986,-.879556],[.550835,3.905557,-2.031372],[.777647,4.992314,-1.215703],[1.445881,4.266201,-1.414663],[1.274222,5.510543,-.824495],[-.864685,2.318581,-1.702389],[-.627458,3.820722,-1.743153],[-3.867699,8.30866,-1.850066],[1.635287,5.45587,-.83844],[-1.037876,2.538589,-1.513504],[-4.38993,4.73926,1.699639],[.048709,4.765232,-1.279506],[-.626548,1.339887,-1.595114],[-3.682827,7.643453,-1.723398],[-3.868783,8.180191,-1.511743],[-.76988,1.508373,-1.419599],[-1.138374,2.766765,-1.448163],[1.699883,5.780752,-.475361],[1.214305,.308517,1.866405],[-1.713642,.373461,-1.265204],[-1.582388,.58294,-1.267977],[-.879549,1.821581,-1.313787],[.519057,5.858757,-.381397],[-3.770989,2.449208,-.132655],[.087576,.156713,-1.53616],[-.942622,2.146534,-1.421494],[-1.026192,1.022164,-1.145423],[-.964079,1.645473,-1.067631],[-1.109128,2.458789,-1.29106],[-1.037478,.209489,-1.805424],[-3.724391,7.599686,-1.273458],[-3.787898,7.951792,-1.304794],[3.821677,2.165581,-.181535],[-2.39467,.304606,-.570375],[-2.352928,1.0439,2.079369],[-.288899,9.640684,-1.006079],[-3.472118,7.263001,-1.080326],[-1.240769,.972352,-.976446],[-1.845253,.356801,-.995574],[-2.32279,7.915361,-.057477],[-1.08092,2.179315,-1.168821],[4.598833,2.156768,.280264],[-4.725417,6.442373,2.056809],[-.490347,9.46429,-.981092],[-1.99652,.09737,-.765828],[-1.137793,1.888846,-.894165],[-.37247,4.29661,-1.465199],[-.184631,5.692946,-.421398],[-3.751694,7.742231,-1.086908],[-1.001416,1.298225,-.904674],[-3.536884,7.190777,-.788609],[-3.737597,7.511281,-.940052],[-1.766651,.669388,-.873054],[3.112245,3.474345,-1.129672],[-.175504,3.81298,-2.0479],[-3.766762,7.412514,-.681569],[-.63375,9.439424,-.785128],[-.518199,4.768982,-1.258625],[.790619,4.212759,-1.610218],[-3.761951,3.742528,-.756283],[.897483,5.679808,-.612423],[2.221126,4.427468,-1.252155],[-.728577,5.846457,.062702],[.194451,9.503908,-1.482461],[-.099243,9.385459,-1.39564],[.643185,3.636855,-2.180247],[.894522,5.900601,-.356935],[2.595516,4.75731,-.893245],[1.108497,3.936893,-1.905098],[1.989894,5.789726,-.343268],[-3.802345,7.655508,-.613817],[2.339353,4.96257,-.90308],[.12564,4.013324,-1.879236],[-4.078965,3.683254,-.445439],[2.092899,5.256128,-.831607],[.427571,.291769,1.272964],[2.335549,3.480056,-1.581949],[-.15687,.324827,-1.648922],[-.536522,5.760786,-.203535],[1.507082,.078251,-.923109],[-1.854742,.134826,2.698774],[-3.939827,3.168498,-.526144],[-3.98461,3.39869,-.533212],[-3.961738,4.217132,-.489147],[4.273789,2.181164,.153786],[-.470498,5.645664,-.439079],[-.414539,5.488017,-.673379],[-.097462,5.062739,-1.114863],[1.198092,5.882232,-.391699],[2.855834,5.085022,-.498678],[1.037998,4.129757,-1.701811],[1.728091,5.068444,-1.063761],[-3.832258,2.625141,-.311384],[-4.078526,3.070256,-.284362],[-4.080365,3.954243,-.440471],[-.152578,5.276267,-.929815],[-1.489635,8.928082,-.295891],[.759294,5.15585,-1.087374],[-4.000338,2.801647,-.235135],[-4.290801,3.823209,-.19374],[-4.221493,4.25618,-.189894],[-4.066195,4.71916,-.201724],[-.155386,4.076396,-1.662865],[3.054571,4.414305,-.825985],[-1.652919,8.726499,-.388504],[-3.042753,.560068,-.126425],[-2.434456,1.118088,-.213563],[-2.623502,1.845062,-.283697],[-4.233371,3.43941,-.202918],[2.726702,3.82071,-1.280097],[.184199,4.14639,-1.673653],[-1.289203,.624562,-1.560929],[-3.823676,7.382458,-.407223],[.476667,5.064419,-1.143742],[-3.873651,4.955112,-.269389],[1.349666,5.312227,-1.000274],[-2.043776,8.434488,-.108891],[-2.763964,.733395,-.129294],[-4.380505,3.664409,-.024546],[-.71211,5.341811,-.803281],[-3.960858,7.183112,-.118407],[-3.822277,7.712853,-.263221],[-2.346808,8.108588,.063244],[-1.841731,8.642999,-.142496],[-2.600055,.985604,-.043595],[-3.513057,2.213243,-.044151],[-3.963492,2.603055,-.080898],[-4.258066,3.14537,-.027046],[-4.261572,5.00334,.13004],[.795464,3.99873,-1.905688],[-3.300873,.384761,.013271],[-2.770244,.881942,.077313],[-3.456227,1.993871,.301054],[-4.441987,3.914144,.177867],[-4.367075,6.611414,.165312],[-3.201767,.576292,.105769],[-3.174354,.645009,.440373],[-2.996576,.74262,.161325],[-2.724979,1.656497,.092983],[-3.261757,2.017742,-.070763],[-4.280173,4.518235,-.002999],[-4.471073,5.945358,.05202],[-3.877137,2.40743,.274928],[-4.371219,4.252758,.078039],[-3.400914,.40983,.238599],[-4.44293,3.523242,.146339],[-4.574528,5.279761,.353923],[-4.226643,7.191282,.269256],[-4.16361,2.843204,.097727],[-4.528506,5.011661,.536625],[.35514,5.664802,-.572814],[2.508711,5.580976,-.266636],[2.556226,3.633779,-1.426362],[1.878456,4.533714,-1.223744],[2.460709,4.440241,-1.1395],[2.218589,5.514603,-.560066],[2.263712,5.737023,-.250694],[2.964981,3.814858,-1.139927],[.991384,5.304131,-.999867],[2.81187,4.547292,-.916025],[2.918089,4.768382,-.702808],[3.262403,4.414286,-.657935],[.652136,6.089113,.069089],[3.361389,3.5052,-.946123],[2.613042,5.037192,-.697153],[.094339,4.36858,-1.451238],[3.290862,4.155716,-.732318],[2.658063,4.073614,-1.217455],[3.260349,3.753257,-.946819],[1.124268,4.862463,-1.207855],[3.35158,4.899247,-.027586],[3.194057,4.691257,-.524566],[3.090119,5.116085,-.23255],[2.418965,3.811753,-1.419399],[2.191789,3.877038,-1.47023],[4.043166,2.034188,.015477],[-1.026966,.86766,-1.410912],[1.937563,3.860005,-1.617465],[2.98904,4.101806,-.998132],[-.142611,5.865305,-.100872],[3.972673,2.292069,.089463],[3.23349,3.959925,-.849829],[.16304,5.857276,-.216704],[4.122964,1.770061,-.114906],[2.099057,4.978374,-.98449],[3.502411,3.76181,-.667502],[2.079484,5.939614,-.036205],[-.084568,3.525193,-2.253506],[.423859,4.06095,-1.845327],[1.6013,6.006466,-.153429],[.271701,3.844964,-2.078748],[.273577,5.218904,-.994711],[-.410578,3.92165,-1.773635],[1.941954,5.60041,-.621569],[.100825,5.462131,-.774256],[-.53016,3.619892,-2.027451],[-.822371,5.517453,-.605747],[-2.474925,7.670892,-.020174],[4.01571,.830194,-.013793],[-.400092,5.094112,-1.041992],[-2.887284,5.581246,-.525324],[-1.559841,6.050972,.079301],[-.469317,3.291673,-2.235211],[.337397,3.467926,-2.295458],[-2.632074,5.573701,-.582717],[-.030318,6.011395,.276616],[-.934373,.388987,-1.780523],[-2.661263,5.844838,-.425966],[.549353,5.489646,-.807268],[-2.194355,6.197491,-.109322],[-2.289618,5.664813,-.581098],[1.583583,3.796366,-1.844498],[.855295,.215979,-1.425557],[-2.627569,5.300236,-.767174],[4.333347,2.384332,.399129],[-1.880401,5.583843,-.696561],[-2.172346,5.324859,-.846246],[-2.27058,5.906265,-.388373],[-1.960049,5.889346,-.397593],[.965756,3.67547,-2.105671],[-2.014066,6.431125,.287254],[-1.776173,5.287097,-.89091],[-2.025852,5.089562,-.980218],[-1.886418,6.108358,-667e-6],[-1.600803,5.785347,-.491069],[-1.66188,4.968053,-1.042535],[-1.600621,5.962818,-.188044],[-1.588831,5.615418,-.665456],[4.46901,1.880138,.057248],[-1.978845,.927399,-.554856],[-1.408074,5.325266,-.83967],[1.923123,4.843955,-1.101389],[-2.87378,.117106,-.412735],[-1.222193,5.62638,-.539981],[-2.632537,.166349,-.489218],[-1.370865,5.838832,-.341026],[-1.067742,5.448874,-.692701],[-1.073798,5.220878,-.908779],[-1.147562,4.950417,-1.079727],[-2.789115,4.531047,-1.042713],[-3.550826,4.170487,-.806058],[-3.331694,4.798177,-.69568],[-3.689404,4.688543,-.534317],[-3.511509,5.106246,-.483632],[1.796344,.076137,.080455],[-3.306354,5.473605,-.478764],[-2.692503,3.346604,-1.20959],[-3.963056,5.187462,3.113156],[-3.901231,6.391477,-.246984],[4.484234,1.518638,-.001617],[4.308829,1.657716,-.119275],[4.290045,1.339528,-.110626],[-3.514938,3.524974,-.909109],[-2.1943,2.12163,-.71966],[4.108206,1.091087,-.11416],[3.785312,1.392435,-.28588],[4.092886,1.480476,-.210655],[-2.965937,6.469006,-.379085],[-3.708581,2.962974,-.63979],[-3.297971,2.218917,-.299872],[3.806949,.804703,-.11438],[3.747957,1.059258,-.273069],[-3.101827,4.111444,-1.006255],[-1.536445,4.658913,-1.195049],[-3.549826,2.450555,-.375694],[-3.676495,2.108366,.534323],[-3.674738,5.925075,-.400011],[-2.250115,2.848335,-1.121174],[-3.698062,5.667567,-.381396],[3.468966,.734643,-.190624],[-3.97972,5.670078,-.26874],[-3.002087,4.337837,-1.033421],[-3.356392,2.608308,-.713323],[-1.833016,3.359983,-1.28775],[-1.989069,3.632416,-1.305607],[3.591254,.542371,.026146],[3.364927,1.082572,-.342613],[-3.393759,3.866801,-.937266],[-4.124865,5.549529,-.161729],[-4.423423,5.687223,103e-6],[-1.496881,2.601785,-1.114328],[-2.642297,6.496932,-.264175],[-3.684236,6.819423,-.320233],[-2.286996,3.167067,-1.246651],[-1.624896,8.44848,-.530014],[-3.666787,2.159266,.268149],[-2.402625,2.011243,-.56446],[-2.736166,2.259839,-.6943],[-2.168611,3.89078,-1.292206],[-2.065956,3.345708,-1.281346],[-2.778147,2.675605,-.995706],[-3.507431,4.513272,-.71829],[-2.301184,4.293911,-1.238182],[3.205808,.211078,.394349],[-2.129936,4.870577,-1.080781],[-2.287977,2.496593,-.934069],[-2.701833,2.931814,-1.114509],[3.294795,.50631,-.081062],[-2.552829,7.468771,-.021541],[3.06721,.944066,-.43074],[-2.86086,1.973622,-.303132],[-3.598818,5.419613,-.401645],[-1.524381,.080156,-1.61662],[-1.907291,2.646274,-1.039438],[2.950783,.407562,-.105407],[-1.663048,1.655038,-.689787],[-1.728102,1.110064,-.635963],[-2.085823,7.686296,-.159745],[2.883518,3.157009,-1.30858],[-2.724116,.417169,-.389719],[-1.788636,7.862672,-.346413],[-2.186418,1.249609,-.434583],[-3.092434,2.606657,-.860002],[-1.737314,3.874201,-1.330986],[2.564522,.422967,-.390903],[1.670782,3.538432,-1.924753],[-2.338131,4.02578,-1.286673],[-1.916516,4.054121,-1.301788],[2.87159,2.034949,-1.267139],[-1.931518,3.062883,-1.197227],[-.816602,.135682,3.104104],[.469392,.213916,-1.489608],[2.574055,1.950091,-1.514427],[2.733595,2.682546,-1.461213],[-1.915407,4.693647,-1.151721],[-3.412883,5.867094,-.450528],[2.28822,.120432,-.04102],[2.244477,.14424,-.376933],[-1.676198,3.570698,-1.328031],[-1.821193,4.366982,-1.266271],[-1.552208,8.099221,-.53262],[-1.727419,2.39097,-.989456],[-2.468226,4.711663,-1.069766],[-2.451669,6.113319,-.273788],[2.635447,2.295842,-1.518361],[-2.020809,8.150253,-.246714],[2.292455,.805596,-1.3042],[2.641556,1.65665,-1.466962],[2.409062,2.842538,-1.635025],[2.456682,1.459484,-1.57543],[-1.691047,3.173582,-1.247082],[-1.865642,1.957608,-.768683],[-3.401579,.20407,.100932],[2.301981,1.7102,-1.650461],[2.342929,2.611944,-1.690713],[-1.676111,2.923894,-1.17835],[-2.992039,3.547631,-1.118945],[-3.571677,6.504634,-.375455],[2.141764,1.460869,-1.702464],[-3.221958,5.146049,-.615632],[2.19238,2.949367,-1.747242],[2.320791,2.232971,-1.706842],[2.088678,2.585235,-1.813159],[-2.196404,.592218,-.569709],[-2.120811,1.836483,-.62338],[-1.949935,2.271249,-.874128],[2.235901,1.110183,-1.510719],[2.020157,3.241128,-1.803917],[2.054336,1.949394,-1.792332],[-3.094117,4.996595,-.740238],[2.038063,.635949,-1.402041],[1.980644,1.684408,-1.76778],[1.587432,3.306542,-1.991131],[1.935322,.976267,-1.602208],[1.922621,1.235522,-1.698813],[1.712495,1.911874,-1.903234],[1.912802,2.259273,-1.888698],[1.884367,.355453,-1.312633],[1.676427,.76283,-1.539455],[1.78453,2.83662,-1.943035],[1.697312,.120281,-1.150324],[1.648318,2.484973,-1.999505],[-4.051804,5.958472,-.231731],[-1.964823,1.464607,-.58115],[1.55996,2.183486,-1.971378],[1.628125,1.045912,-1.707832],[1.701684,1.540428,-1.827156],[1.567475,4.869481,-1.184665],[1.432492,.843779,-1.648083],[1.173837,2.978983,-2.156687],[1.235287,3.37975,-2.09515],[1.252589,1.525293,-1.949205],[1.159334,2.336379,-2.105361],[1.49061,2.695263,-2.083216],[-4.122486,6.782604,-.02545],[1.173388,.279193,-1.423418],[1.505684,.380815,-1.414395],[1.391423,1.343031,-1.843557],[1.263449,2.73225,-2.144961],[1.295858,.597122,-1.515628],[1.245851,3.729126,-1.993015],[-2.761439,6.23717,-.365856],[.978887,1.664888,-2.046633],[1.219542,.982729,-1.785486],[1.315915,1.91748,-2.02788],[-3.052746,2.127222,-.369082],[.977656,1.36223,-1.944119],[.936122,3.39447,-2.203007],[-2.740036,4.184702,-1.122849],[.853581,2.864694,-2.260847],[.719569,.818762,-1.763618],[.839115,1.159359,-1.907943],[.932069,1.94559,-2.117962],[.579321,3.326747,-2.299369],[.86324,.597822,-1.565106],[.574567,1.158452,-1.943123],[.525138,2.137252,-2.213867],[.779941,2.342019,-2.206157],[.915255,2.618102,-2.209041],[.526426,3.02241,-2.321826],[.495431,2.521396,-2.295905],[.80799,3.156817,-2.286432],[.273556,1.304936,-2.012509],[.664326,1.530024,-2.048722],[.219173,2.32907,-2.323212],[.405324,.695359,-1.704884],[.398827,.946649,-1.843899],[.345109,1.608829,-2.100174],[-2.356743,.062032,-.4947],[-3.001084,.27146,2.560034],[-2.064663,.303055,-.697324],[.221271,3.174023,-2.374399],[.195842,.437865,-1.621473],[-.385613,.297763,1.960096],[1.999609,.108928,-.79125],[.351698,9.227494,-1.57565],[.021477,2.191913,-2.309353],[.246381,2.836575,-2.356365],[1.543281,.237539,1.901906],[.031881,9.147022,-1.454203],[-.001881,1.648503,-2.108044],[.333423,1.907088,-2.204533],[.044063,2.634032,-2.368412],[-.028148,3.053684,-2.390082],[.02413,3.34297,-2.36544],[-.272645,9.02879,-1.238685],[-.006348,.832044,-1.758222],[-.321105,1.458754,-1.886313],[-.153948,8.618809,-1.105353],[-.409303,1.137783,-1.720556],[-.410054,1.742789,-1.957989],[-.287905,2.380404,-2.294509],[-.261375,2.646629,-2.356322],[-.221986,3.215303,-2.345844],[-.31608,.687581,-1.71901],[-.537705,.855802,-1.648585],[-.142834,1.193053,-1.87371],[-.24371,2.044435,-2.176958],[-.437999,2.959748,-2.299698],[-.78895,.176226,-1.729046],[-.608509,.546932,-1.734032],[-.693698,4.478782,-1.369372],[-.669153,8.469645,-.911149],[-.741857,1.082705,-1.458474],[-.554059,2.440325,-2.141785],[2.09261,.153182,2.57581],[1.792547,.111794,2.563777],[1.855787,.189541,2.835089],[1.492601,.232246,2.987681],[-.284918,.236687,3.429738],[2.604841,.11997,1.01506],[.331271,.168113,3.124031],[.280606,.308368,2.495937],[.544591,.325711,2.081274],[.193145,.19154,-.977556],[3.810099,.42324,1.032202],[3.54622,.379245,1.392814],[.61402,.276328,.849356],[-1.198628,.144953,2.911457],[4.17199,.68037,1.391526],[.88279,.321339,2.059129],[1.93035,.109992,2.054154],[1.620331,.121986,2.37203],[2.374812,.10921,1.734876],[-.031227,.294412,2.593687],[4.075018,.561914,1.038065],[-.570366,.126583,2.975558],[.950052,.318463,1.804012],[1.130034,.117125,.98385],[2.123049,.08946,1.665911],[2.087572,.068621,.335013],[2.927337,.167117,.289611],[.528876,.313434,3.205969],[1.174911,.162744,1.328262],[-4.88844,5.59535,1.661134],[-4.709607,5.165338,1.324082],[.871199,.277021,1.263831],[-3.910877,2.349318,1.272269],[1.56824,.118605,2.768112],[1.179176,.152617,-.858003],[1.634629,.247872,2.128625],[-4.627425,5.126935,1.617836],[3.845542,.54907,1.45601],[2.654006,.165508,1.637169],[-.678324,.26488,1.974741],[2.451139,.100377,.213768],[.633199,.286719,.403357],[-.533042,.2524,1.373267],[.99317,.171106,.624966],[-.100063,.306466,2.170225],[1.245943,.092351,.661031],[1.390414,.198996,-.0864],[-4.457265,5.030531,2.138242],[2.89776,.146575,1.297468],[1.802703,.088824,-.490405],[1.055447,.309261,2.392437],[2.300436,.142429,2.104254],[2.33399,.187756,2.416935],[2.325183,.134349,.574063],[2.410924,.370971,2.637115],[1.132924,.290511,3.061],[1.764028,.070212,-.80535],[2.156994,.397657,2.844061],[.920711,.225527,-.882456],[-4.552135,5.24096,2.85514],[.210016,.309396,2.064296],[.612067,.136815,-1.086002],[3.150236,.426757,1.802703],[-.24824,.282258,1.470997],[.974269,.301311,-.640898],[-4.401413,5.03966,2.535553],[.644319,.274006,-.817806],[.332922,.309077,.108474],[3.610001,.317447,.689353],[3.335681,.358195,.118477],[.623544,.318983,-.4193],[-.11012,.307747,1.831331],[-.407528,.291044,2.282935],[.069783,.285095,.950289],[.970135,.310392,-.283742],[.840564,.306898,.098854],[-.541827,.267753,1.683795],[-3.956082,4.55713,2.297164],[-4.161036,2.834481,1.64183],[-4.093952,4.977551,2.747747],[2.661819,.261867,1.926145],[-3.749926,2.161875,.895238],[-2.497776,1.3629,.791855],[.691482,.304968,1.582939],[-4.013193,4.830963,2.4769],[-3.639585,2.091265,1.304415],[-3.9767,2.563053,1.6284],[-3.979915,2.788616,1.977977],[.388782,.312656,1.709168],[-3.40873,1.877324,.851652],[-3.671637,5.136974,3.170734],[-3.12964,1.852012,.157682],[-3.629687,4.852698,2.686837],[-3.196164,1.793459,.452804],[-3.746338,2.31357,1.648551],[2.992192,.125251,.575976],[-3.254051,.054431,.314152],[-3.474644,1.925288,1.134116],[-3.418372,2.022882,1.578901],[-2.920955,1.705403,.29842],[-3.57229,2.152022,1.607572],[-3.251259,.09013,-.106174],[-3.299952,1.877781,1.348623],[-3.666819,2.441459,2.004838],[-2.912646,1.824748,-.045348],[-3.399511,2.479484,2.340393],[-3.009754,.015286,.075567],[-3.381443,2.316937,2.156923],[-3.352801,2.133341,1.857366],[-3.01788,1.687685,.645867],[-2.931857,1.678712,1.158472],[-3.301008,.08836,.591001],[1.358025,.19795,1.599144],[-2.999565,1.845016,1.618396],[-2.767957,.028397,-.196436],[-2.93962,2.078779,2.140593],[-3.346648,2.674056,2.518097],[3.324322,.20822,.628605],[3.091677,.137202,.9345],[-2.881807,.009952,.318439],[-2.764946,1.786619,1.693439],[-2.905542,1.932343,1.900002],[-3.140854,2.271384,2.274946],[-2.88995,2.487856,2.574759],[-2.367194,-943e-6,-.15576],[-3.050738,.068703,.742988],[-2.759525,1.55679,.877782],[-3.151775,2.48054,2.482749],[-2.578618,-.002885,.165716],[-2.651618,1.877246,1.981189],[-2.933973,.133731,1.631023],[1.047628,.100284,-1.085248],[-1.585123,.062083,-1.394896],[-2.287917,-.002671,.214434],[-2.524899,.007481,.471788],[-2.815492,2.188198,2.343294],[-2.095142,-.003149,-.094574],[-2.172686,-133e-6,.47963],[-2.732704,.074306,1.742079],[-2.49653,2.145668,2.42691],[-1.343683,.047721,-1.506391],[-2.581185,.048703,.975528],[-2.905101,.083158,2.010052],[-2.601514,2.007801,2.223089],[-2.339464,.02634,1.484304],[-2.907873,.10367,2.378149],[-1.368796,.062516,-1.049125],[-1.93244,.02443,-.427603],[-2.705081,.060513,2.303802],[3.372155,.206274,.892293],[-1.761827,.093202,-1.037404],[-1.700667,.0397,-.614221],[-1.872291,.011979,-.135753],[-1.929257,.074005,.728999],[-2.520128,.049665,1.99054],[-2.699411,.10092,2.603116],[3.211701,.27302,1.423357],[-1.445362,.1371,-.626491],[2.921332,.259112,1.645525],[-.993242,.058686,-1.408916],[-.944986,.157541,-1.097665],[-2.154301,.032749,1.882001],[-2.108789,1.988557,2.442673],[-1.015659,.25497,-.416665],[-1.898411,.015872,.16715],[-1.585517,.027121,.453445],[-2.311105,.061264,2.327061],[-2.637042,.152224,2.832201],[-2.087515,2.292972,2.617585],[-.750611,.056697,-1.504516],[-.472029,.075654,-1.360203],[-.710798,.139244,-1.183863],[-.97755,.26052,-.831167],[-.655814,.260843,-.880068],[-.897513,.275537,-.133042],[-2.049194,.084947,2.455422],[-.177837,.076362,-1.449009],[-.553393,.279083,-.59573],[-1.788636,.06163,2.231198],[-.34761,.255578,-.999614],[-1.398589,.036482,.65871],[-1.133918,.05617,.69473],[-1.43369,.058226,1.977865],[-2.505459,1.492266,1.19295]],r.cells=[[2,1661,3],[1676,7,6],[712,1694,9],[3,1674,1662],[11,1672,0],[1705,0,1],[5,6,1674],[4,5,1674],[7,8,712],[2,1662,10],[1,10,1705],[11,1690,1672],[1705,11,0],[5,1676,6],[7,9,6],[7,712,9],[2,3,1662],[3,4,1674],[1,2,10],[12,82,1837],[1808,12,1799],[1808,1799,1796],[12,861,82],[861,1808,13],[1808,861,12],[1799,12,1816],[1680,14,1444],[15,17,16],[14,1678,1700],[16,17,1679],[15,1660,17],[14,1084,1678],[15,1708,18],[15,18,1660],[1680,1084,14],[1680,15,1084],[15,1680,1708],[793,813,119],[1076,793,119],[1076,1836,22],[23,19,20],[21,1076,22],[21,22,23],[23,20,21],[1076,119,1836],[806,634,470],[432,1349,806],[251,42,125],[809,1171,791],[953,631,827],[634,1210,1176],[157,1832,1834],[56,219,53],[126,38,83],[37,85,43],[59,1151,1154],[83,75,41],[77,85,138],[201,948,46],[1362,36,37],[452,775,885],[1237,95,104],[966,963,1262],[85,77,43],[36,85,37],[1018,439,1019],[41,225,481],[85,83,127],[93,83,41],[935,972,962],[116,93,100],[98,82,813],[41,75,225],[298,751,54],[1021,415,1018],[77,138,128],[766,823,1347],[593,121,573],[905,885,667],[786,744,747],[100,41,107],[604,334,765],[779,450,825],[968,962,969],[225,365,481],[365,283,196],[161,160,303],[875,399,158],[328,1817,954],[62,61,1079],[358,81,72],[74,211,133],[160,161,138],[91,62,1079],[167,56,1405],[56,167,219],[913,914,48],[344,57,102],[43,77,128],[1075,97,1079],[389,882,887],[219,108,53],[1242,859,120],[604,840,618],[754,87,762],[197,36,1362],[1439,88,1200],[1652,304,89],[81,44,940],[445,463,151],[717,520,92],[129,116,100],[1666,1811,624],[1079,97,91],[62,91,71],[688,898,526],[463,74,133],[278,826,99],[961,372,42],[799,94,1007],[100,93,41],[1314,943,1301],[184,230,109],[875,1195,231],[133,176,189],[751,755,826],[101,102,57],[1198,513,117],[748,518,97],[1145,1484,1304],[358,658,81],[971,672,993],[445,151,456],[252,621,122],[36,271,126],[85,36,126],[116,83,93],[141,171,1747],[1081,883,103],[1398,1454,149],[457,121,593],[127,116,303],[697,70,891],[457,891,1652],[1058,1668,112],[518,130,97],[214,319,131],[185,1451,1449],[463,133,516],[1428,123,177],[113,862,561],[215,248,136],[186,42,251],[127,83,116],[160,85,127],[162,129,140],[154,169,1080],[169,170,1080],[210,174,166],[1529,1492,1524],[450,875,231],[399,875,450],[171,141,170],[113,1155,452],[131,319,360],[44,175,904],[452,872,113],[746,754,407],[147,149,150],[309,390,1148],[53,186,283],[757,158,797],[303,129,162],[429,303,162],[154,168,169],[673,164,193],[38,271,75],[320,288,1022],[246,476,173],[175,548,904],[182,728,456],[199,170,169],[168,199,169],[199,171,170],[184,238,230],[246,247,180],[1496,1483,1467],[147,150,148],[828,472,445],[53,108,186],[56,53,271],[186,961,42],[1342,391,57],[1664,157,1834],[1070,204,178],[178,204,179],[285,215,295],[692,55,360],[192,193,286],[359,673,209],[586,195,653],[121,89,573],[202,171,199],[238,515,311],[174,210,240],[174,105,166],[717,276,595],[1155,1149,452],[1405,56,197],[53,283,30],[75,53,30],[45,235,1651],[210,166,490],[181,193,192],[185,620,217],[26,798,759],[1070,226,204],[220,187,179],[220,168,187],[202,222,171],[359,209,181],[182,456,736],[964,167,1405],[76,250,414],[807,1280,1833],[70,883,1652],[227,179,204],[221,199,168],[221,202,199],[360,494,131],[214,241,319],[105,247,166],[205,203,260],[388,480,939],[482,855,211],[8,807,1833],[226,255,204],[228,221,168],[166,173,490],[701,369,702],[211,855,262],[631,920,630],[1448,1147,1584],[255,227,204],[237,220,179],[228,168,220],[222,256,555],[215,259,279],[126,271,38],[108,50,186],[227,236,179],[236,237,179],[220,237,228],[228,202,221],[256,222,202],[555,256,229],[259,152,279],[27,1296,31],[186,50,961],[961,234,372],[1651,235,812],[1572,1147,1448],[255,226,1778],[255,236,227],[256,257,229],[106,184,109],[241,410,188],[177,578,620],[209,673,181],[1136,1457,79],[1507,245,718],[255,273,236],[275,410,241],[206,851,250],[1459,253,1595],[1406,677,1650],[228,274,202],[202,281,256],[348,239,496],[205,172,203],[369,248,702],[261,550,218],[261,465,550],[574,243,566],[921,900,1220],[291,273,255],[348,238,265],[109,230,194],[149,380,323],[443,270,421],[272,291,255],[274,228,237],[274,292,202],[281,257,256],[276,543,341],[152,259,275],[1111,831,249],[632,556,364],[299,273,291],[299,236,273],[280,237,236],[202,292,281],[247,246,173],[282,49,66],[1620,1233,1553],[299,280,236],[280,305,237],[237,305,274],[306,292,274],[330,257,281],[246,194,264],[166,247,173],[912,894,896],[611,320,244],[1154,1020,907],[969,962,290],[272,299,291],[305,318,274],[145,212,240],[164,248,285],[259,277,275],[193,164,295],[269,240,210],[1033,288,320],[46,948,206],[336,280,299],[330,281,292],[257,307,300],[369,136,248],[145,240,269],[502,84,465],[193,295,286],[164,285,295],[282,302,49],[161,303,429],[318,306,274],[306,330,292],[315,257,330],[315,307,257],[307,352,300],[300,352,308],[275,277,403],[353,1141,333],[1420,425,47],[611,313,320],[85,126,83],[128,1180,43],[303,116,129],[280,314,305],[314,318,305],[190,181,242],[203,214,131],[820,795,815],[322,299,272],[322,336,299],[315,339,307],[172,152,617],[172,214,203],[321,1033,320],[1401,941,946],[85,160,138],[976,454,951],[747,60,786],[317,322,272],[339,352,307],[266,33,867],[163,224,218],[247,614,180],[648,639,553],[388,172,205],[611,345,313],[313,345,320],[160,127,303],[454,672,951],[317,329,322],[314,280,336],[306,338,330],[330,339,315],[1236,115,436],[342,321,320],[1046,355,328],[328,346,325],[325,346,317],[367,314,336],[314,337,318],[337,306,318],[338,343,330],[342,320,345],[355,349,328],[346,329,317],[347,336,322],[314,362,337],[330,343,339],[340,308,352],[135,906,1022],[239,156,491],[194,230,486],[40,1015,1003],[321,355,1046],[329,382,322],[382,347,322],[347,367,336],[337,371,306],[306,371,338],[1681,296,1493],[286,172,388],[230,348,486],[348,183,486],[384,332,830],[328,349,346],[367,362,314],[371,343,338],[339,351,352],[57,344,78],[342,355,321],[386,346,349],[386,350,346],[346,350,329],[347,366,367],[343,363,339],[323,380,324],[152,275,241],[345,1045,342],[350,374,329],[339,363,351],[234,340,352],[353,361,354],[40,34,1015],[373,355,342],[373,349,355],[374,382,329],[366,347,382],[371,363,343],[351,379,352],[379,372,352],[372,234,352],[156,190,491],[319,241,692],[354,361,31],[366,377,367],[363,379,351],[133,590,516],[197,56,271],[1045,370,342],[370,373,342],[374,350,386],[377,366,382],[367,395,362],[400,337,362],[400,371,337],[378,363,371],[106,109,614],[181,673,193],[953,920,631],[376,349,373],[376,386,349],[378,379,363],[224,375,218],[279,152,172],[361,619,381],[1347,823,795],[760,857,384],[392,374,386],[394,395,367],[383,371,400],[383,378,371],[218,375,261],[197,271,36],[414,454,976],[385,376,373],[1051,382,374],[387,394,367],[377,387,367],[395,400,362],[279,172,295],[30,365,225],[450,231,825],[385,373,370],[398,374,392],[1051,377,382],[396,378,383],[348,496,183],[295,172,286],[357,269,495],[1148,390,1411],[75,30,225],[206,76,54],[412,386,376],[412,392,386],[396,383,400],[651,114,878],[123,1241,506],[238,311,265],[381,653,29],[618,815,334],[427,1032,411],[298,414,976],[791,332,384],[129,100,140],[412,404,392],[392,404,398],[140,107,360],[395,394,400],[423,379,378],[385,412,376],[406,94,58],[419,415,1021],[422,423,378],[423,125,379],[258,508,238],[311,156,265],[213,287,491],[449,411,1024],[412,1068,404],[55,140,360],[76,414,54],[394,416,400],[400,416,396],[422,378,396],[1258,796,789],[427,411,449],[427,297,1032],[1385,1366,483],[417,448,284],[1507,341,245],[162,140,444],[658,44,81],[433,125,423],[438,251,125],[429,162,439],[1342,57,1348],[765,766,442],[697,891,695],[1057,396,416],[440,423,422],[440,433,423],[433,438,125],[438,196,251],[74,482,211],[1136,79,144],[29,195,424],[242,1004,492],[57,757,28],[414,298,54],[238,348,230],[224,163,124],[295,215,279],[495,269,490],[449,446,427],[446,297,427],[1020,1163,909],[128,138,419],[66,980,443],[415,439,1018],[111,396,1057],[111,422,396],[840,249,831],[593,664,596],[218,550,155],[109,194,180],[483,268,855],[161,415,419],[1737,232,428],[360,107,494],[1006,1011,410],[444,140,55],[919,843,430],[190,242,213],[275,403,410],[131,494,488],[449,663,446],[138,161,419],[128,419,34],[439,162,444],[460,440,422],[440,438,433],[472,74,445],[491,190,213],[238,508,515],[46,206,54],[972,944,962],[1241,1428,1284],[111,460,422],[470,432,806],[248,164,702],[1025,467,453],[553,1235,648],[263,114,881],[267,293,896],[469,438,440],[455,196,438],[287,242,492],[239,265,156],[213,242,287],[1684,746,63],[663,474,446],[415,161,429],[140,100,107],[1055,459,467],[469,455,438],[259,542,277],[446,474,466],[446,466,447],[439,444,1019],[614,109,180],[190,359,181],[156,497,190],[726,474,663],[1023,458,459],[461,440,460],[269,210,490],[246,180,194],[590,133,189],[163,218,155],[467,468,453],[1063,1029,111],[111,1029,460],[1029,464,460],[461,469,440],[150,149,323],[828,445,456],[375,502,261],[474,475,466],[573,426,462],[478,1023,477],[478,458,1023],[458,479,467],[459,458,467],[468,393,453],[464,461,460],[484,365,455],[1232,182,1380],[172,617,214],[547,694,277],[542,547,277],[184,258,238],[261,502,465],[467,479,468],[484,455,469],[1380,182,864],[475,476,466],[80,447,476],[466,476,447],[415,429,439],[479,487,468],[487,287,468],[492,393,468],[260,469,461],[481,365,484],[531,473,931],[692,360,319],[726,495,474],[468,287,492],[480,464,1029],[260,461,464],[494,481,484],[74,472,482],[174,240,212],[223,106,614],[486,477,485],[478,496,458],[491,487,479],[123,402,177],[488,469,260],[488,484,469],[265,239,348],[248,215,285],[474,490,475],[477,486,478],[458,496,479],[239,491,479],[1584,1147,1334],[488,494,484],[401,123,506],[495,490,474],[490,173,475],[80,476,264],[491,287,487],[480,1029,1004],[480,205,464],[173,476,475],[485,194,486],[486,183,478],[478,183,496],[496,239,479],[848,1166,60],[268,262,855],[205,260,464],[260,203,488],[203,131,488],[246,264,476],[194,485,264],[1002,310,1664],[311,515,497],[515,359,497],[565,359,515],[1250,1236,301],[736,456,151],[654,174,567],[577,534,648],[519,505,645],[725,565,508],[150,1723,148],[584,502,505],[584,526,502],[502,526,84],[607,191,682],[560,499,660],[607,517,191],[1038,711,124],[951,672,971],[716,507,356],[868,513,1198],[615,794,608],[682,191,174],[1313,928,1211],[617,241,214],[511,71,91],[408,800,792],[192,286,525],[80,485,447],[91,97,130],[1675,324,888],[207,756,532],[582,1097,1124],[311,497,156],[510,130,146],[523,511,510],[608,708,616],[546,690,650],[511,527,358],[536,146,518],[465,418,550],[418,709,735],[520,514,500],[584,505,519],[536,518,509],[146,536,510],[538,527,511],[876,263,669],[646,524,605],[510,536,523],[527,175,358],[724,876,669],[721,724,674],[524,683,834],[558,509,522],[558,536,509],[523,538,511],[611,243,574],[528,706,556],[668,541,498],[523,537,538],[527,540,175],[532,756,533],[1013,60,747],[551,698,699],[92,520,500],[535,536,558],[536,569,523],[538,540,527],[539,548,175],[567,212,145],[401,896,293],[534,675,639],[1510,595,1507],[557,545,530],[569,536,535],[537,540,538],[540,539,175],[569,537,523],[1135,718,47],[587,681,626],[580,535,558],[99,747,278],[701,565,725],[665,132,514],[665,514,575],[132,549,653],[176,651,189],[65,47,266],[597,569,535],[569,581,537],[537,581,540],[563,539,540],[539,564,548],[1509,1233,1434],[132,653,740],[550,710,155],[714,721,644],[410,1011,188],[732,534,586],[560,562,729],[555,557,222],[580,558,545],[597,535,580],[581,563,540],[5,821,1676],[576,215,136],[649,457,741],[564,539,563],[124,711,224],[550,668,710],[550,541,668],[565,701,673],[560,613,499],[233,532,625],[545,555,580],[601,581,569],[594,904,548],[1463,1425,434],[185,149,1454],[721,674,644],[185,380,149],[577,424,586],[462,586,559],[597,601,569],[594,548,564],[566,603,574],[165,543,544],[457,89,121],[586,424,195],[725,587,606],[1078,582,1124],[588,925,866],[462,559,593],[189,878,590],[555,229,580],[602,563,581],[904,594,956],[434,1425,1438],[1024,112,821],[572,587,626],[600,597,580],[599,591,656],[600,580,229],[601,622,581],[581,622,602],[602,564,563],[602,594,564],[603,611,574],[498,529,546],[697,1145,70],[592,628,626],[610,597,600],[597,610,601],[222,557,171],[604,765,799],[573,462,593],[133,200,176],[729,607,627],[1011,692,188],[518,146,130],[585,687,609],[682,627,607],[1712,599,656],[562,592,607],[643,656,654],[257,600,229],[601,633,622],[623,594,602],[174,212,567],[725,606,701],[609,701,606],[610,633,601],[633,642,622],[380,216,324],[142,143,1249],[501,732,586],[534,577,586],[648,1235,577],[610,641,633],[310,1002,1831],[618,334,604],[1710,145,269],[707,498,659],[501,586,462],[625,501,462],[726,663,691],[300,600,257],[641,610,600],[622,629,602],[602,629,623],[55,692,444],[518,748,509],[929,1515,1411],[620,578,267],[71,511,358],[707,668,498],[650,687,585],[600,300,641],[641,657,633],[1675,888,1669],[622,636,629],[505,502,375],[541,529,498],[332,420,1053],[637,551,638],[534,639,648],[69,623,873],[300,512,641],[633,657,642],[562,660,579],[687,637,638],[709,646,605],[775,738,885],[559,549,132],[646,683,524],[641,512,657],[266,897,949],[1712,643,1657],[184,727,258],[674,724,669],[699,714,647],[628,659,572],[657,662,642],[571,881,651],[517,607,504],[598,706,528],[598,694,547],[640,552,560],[655,693,698],[698,693,721],[91,510,511],[144,301,1136],[324,216,888],[870,764,1681],[575,514,520],[276,544,543],[658,175,44],[645,505,711],[659,546,572],[700,524,655],[605,700,529],[266,867,897],[1695,1526,764],[579,659,628],[654,591,682],[586,549,559],[698,721,714],[896,401,506],[640,734,599],[664,665,575],[621,629,636],[1712,656,643],[547,644,598],[710,668,707],[640,560,734],[655,698,551],[694,528,277],[512,662,657],[504,592,626],[688,584,519],[152,241,617],[587,725,681],[598,669,706],[526,670,84],[598,528,694],[710,707,499],[579,592,562],[660,659,579],[323,324,1134],[326,895,473],[195,29,653],[84,670,915],[560,660,562],[504,626,681],[711,505,224],[651,881,114],[216,620,889],[1362,678,197],[493,99,48],[1659,691,680],[529,690,546],[430,843,709],[655,524,693],[174,191,105],[674,669,598],[98,712,82],[572,546,585],[72,61,71],[912,911,894],[106,223,184],[664,132,665],[843,646,709],[635,699,136],[699,698,714],[593,132,664],[688,526,584],[185,177,620],[533,675,534],[687,638,635],[1652,89,457],[896,506,912],[132,740,514],[689,685,282],[691,449,680],[48,436,493],[136,699,647],[739,640,554],[549,586,653],[532,533,625],[1530,695,649],[653,381,619],[736,151,531],[188,692,241],[177,402,578],[33,689,867],[689,33,685],[593,559,132],[949,65,266],[711,1038,661],[939,480,1004],[609,369,701],[616,552,615],[619,361,740],[151,463,516],[513,521,117],[691,663,449],[186,251,196],[333,302,327],[613,560,552],[616,613,552],[690,551,637],[660,707,659],[704,208,1203],[418,735,550],[163,708,124],[524,834,693],[554,640,599],[245,341,165],[565,673,359],[155,710,708],[105,191,517],[1515,198,1411],[1709,554,599],[60,289,786],[838,1295,1399],[533,534,625],[710,499,708],[556,632,410],[217,620,216],[591,627,682],[504,503,223],[643,654,567],[690,637,650],[545,557,555],[174,654,682],[719,691,1659],[727,681,508],[645,711,661],[794,615,739],[565,515,508],[282,685,302],[1150,397,1149],[638,699,635],[544,685,33],[719,726,691],[1742,1126,1733],[1724,1475,148],[556,410,403],[185,217,380],[503,504,681],[277,556,403],[32,1178,158],[1712,1709,599],[605,529,541],[635,136,369],[687,635,369],[529,700,690],[700,551,690],[89,304,573],[625,534,732],[730,302,685],[503,681,727],[702,673,701],[730,327,302],[327,353,333],[596,664,575],[660,499,707],[585,546,650],[560,729,734],[700,655,551],[176,571,651],[517,504,223],[730,685,544],[1661,1682,726],[1682,495,726],[1250,301,917],[605,524,700],[609,687,369],[516,389,895],[1553,686,1027],[673,702,164],[656,591,654],[520,596,575],[402,123,401],[828,456,728],[1645,677,1653],[528,556,277],[638,551,699],[190,497,359],[276,730,544],[1117,1525,933],[1027,686,1306],[155,708,163],[709,605,541],[647,644,547],[650,637,687],[599,734,591],[578,293,267],[1682,357,495],[510,91,130],[734,729,627],[576,542,215],[709,541,735],[735,541,550],[276,500,730],[500,327,730],[653,619,740],[414,851,454],[734,627,591],[729,562,607],[615,552,640],[525,181,192],[308,512,300],[223,503,727],[266,165,33],[92,500,276],[321,1046,1033],[585,609,606],[1200,1559,86],[628,572,626],[301,436,803],[714,644,647],[708,499,613],[721,693,724],[514,353,327],[353,740,361],[344,158,78],[708,613,616],[615,640,739],[500,514,327],[514,740,353],[1449,177,185],[462,233,625],[851,405,1163],[608,616,615],[647,542,576],[625,732,501],[1097,582,1311],[1235,424,577],[579,628,592],[607,592,504],[24,432,470],[105,614,247],[104,742,471],[542,259,215],[365,196,455],[1420,47,65],[223,727,184],[547,542,647],[572,585,606],[587,572,606],[262,780,1370],[647,576,136],[644,674,598],[271,53,75],[727,508,258],[471,742,142],[505,375,224],[357,1710,269],[725,508,681],[659,498,546],[743,1178,32],[1195,634,231],[1176,24,470],[743,1110,1178],[135,809,857],[63,746,407],[634,1176,470],[159,1112,27],[1176,1685,24],[399,450,779],[1178,856,875],[751,744,54],[436,48,772],[634,1108,1210],[769,1285,1286],[751,298,755],[746,1684,754],[754,924,87],[722,1625,756],[87,839,153],[489,795,820],[758,808,1518],[839,840,153],[831,1111,959],[1111,749,959],[810,1253,1363],[1247,1394,713],[1388,1329,1201],[1242,120,761],[857,791,384],[758,1523,808],[296,764,1504],[70,1652,891],[207,233,1638],[1348,57,28],[858,420,332],[964,1379,1278],[420,1194,816],[784,1076,1186],[1076,21,1186],[1710,767,1],[849,822,778],[806,137,787],[786,790,744],[790,54,744],[771,63,407],[785,852,818],[774,1823,272],[895,151,516],[135,1022,809],[99,826,48],[48,826,755],[808,705,408],[833,441,716],[1733,743,32],[1385,836,852],[772,827,737],[1005,49,781],[793,1697,813],[1518,441,1537],[1139,1132,859],[782,801,770],[1510,1530,676],[770,814,835],[231,787,825],[207,722,756],[26,771,798],[782,863,865],[832,54,790],[865,842,507],[799,765,94],[1175,1261,1353],[800,408,805],[262,986,200],[792,800,814],[801,792,770],[704,1203,1148],[356,1514,822],[165,544,33],[561,776,113],[1043,738,775],[815,831,820],[773,792,801],[772,48,914],[772,737,803],[436,772,803],[808,817,705],[1624,822,1527],[588,1144,788],[799,762,604],[821,1520,1676],[854,803,666],[828,482,472],[445,74,463],[831,489,820],[828,836,482],[716,782,763],[334,815,766],[815,823,766],[334,766,765],[819,805,837],[1716,1521,1412],[1684,924,754],[800,805,819],[1709,829,554],[806,1349,137],[99,1013,747],[341,595,276],[817,810,818],[1176,1691,1685],[763,782,865],[830,846,1052],[865,1499,842],[982,846,1053],[847,832,790],[1178,875,158],[817,818,705],[1302,1392,45],[96,417,284],[223,614,517],[356,507,1514],[1166,848,1179],[1349,432,26],[717,92,276],[770,835,863],[522,509,1745],[847,841,832],[832,841,46],[829,739,554],[802,824,39],[397,1043,775],[1567,849,778],[1385,483,855],[1349,26,1346],[441,801,782],[402,401,293],[1043,667,738],[759,798,1007],[819,837,728],[728,837,828],[837,852,828],[1537,441,833],[148,1475,147],[805,705,837],[716,441,782],[483,1371,780],[814,819,844],[845,753,1336],[1661,719,4],[862,847,790],[737,827,666],[201,46,841],[810,785,818],[408,705,805],[1560,1536,849],[1585,853,1786],[7,1668,807],[7,807,8],[822,1514,1527],[800,819,814],[847,862,841],[991,857,760],[705,818,837],[808,408,773],[402,293,578],[791,858,332],[1480,1228,1240],[814,844,835],[785,1385,852],[1132,120,859],[1743,1726,684],[1704,783,1279],[1623,1694,1731],[959,489,831],[1518,808,773],[862,872,841],[441,773,801],[331,512,308],[380,217,216],[841,872,201],[818,852,837],[448,1480,1240],[856,1108,1195],[1527,1514,1526],[819,182,1232],[871,724,693],[852,836,828],[770,792,814],[803,737,666],[751,826,278],[1674,1727,1699],[849,356,822],[871,693,834],[507,842,1514],[1406,1097,869],[1328,1349,1346],[823,815,795],[744,751,278],[1110,856,1178],[520,717,316],[871,834,683],[884,876,724],[165,266,47],[716,763,507],[216,889,888],[853,1585,1570],[1536,716,356],[886,873,623],[782,770,863],[432,24,26],[683,882,871],[884,724,871],[114,876,884],[516,590,389],[11,1218,1628],[862,113,872],[886,623,629],[830,1052,1120],[762,153,604],[773,408,792],[763,865,507],[153,840,604],[882,884,871],[531,151,326],[886,890,873],[133,262,200],[819,1232,844],[621,636,122],[645,892,519],[1130,1076,784],[114,263,876],[1670,10,1663],[911,670,894],[452,885,872],[872,885,201],[887,882,683],[878,884,882],[590,878,882],[890,867,689],[897,629,621],[897,886,629],[819,728,182],[519,893,688],[894,670,526],[898,894,526],[1536,356,849],[810,1363,785],[878,114,884],[879,888,892],[892,889,893],[893,898,688],[895,683,843],[895,887,683],[889,620,267],[590,882,389],[418,465,84],[949,897,621],[897,890,886],[889,267,893],[898,267,896],[531,326,473],[189,651,878],[843,683,646],[897,867,890],[888,889,892],[893,267,898],[896,894,898],[473,895,843],[895,389,887],[974,706,669],[513,1115,521],[326,151,895],[809,791,857],[211,262,133],[920,923,947],[923,90,947],[90,25,947],[25,972,935],[64,431,899],[52,899,901],[903,905,59],[437,967,73],[839,1242,761],[904,975,44],[917,301,144],[915,670,911],[905,201,885],[1684,63,1685],[1033,1194,288],[950,913,755],[912,918,911],[950,914,913],[506,918,912],[922,919,915],[911,922,915],[1004,451,492],[1263,553,639],[922,911,918],[630,920,947],[916,506,926],[916,918,506],[521,1115,1098],[916,922,918],[919,418,915],[83,38,75],[24,1685,771],[110,1230,1213],[712,8,1837],[922,930,919],[919,430,418],[1395,1402,1187],[930,922,916],[594,623,69],[35,431,968],[35,968,969],[866,924,1684],[1625,1263,675],[631,630,52],[930,931,919],[430,709,418],[302,333,49],[1446,978,1138],[799,1007,798],[931,843,919],[947,25,64],[885,738,667],[1262,963,964],[899,970,901],[1401,946,938],[1117,933,1091],[1685,63,771],[905,948,201],[979,937,980],[951,953,950],[937,270,443],[1154,903,59],[1194,954,1067],[909,405,907],[850,1151,59],[1769,811,1432],[76,206,250],[938,946,966],[965,927,942],[938,966,957],[955,975,904],[927,965,934],[52,51,631],[59,905,667],[431,935,968],[786,289,561],[252,122,671],[481,494,107],[954,1817,1067],[795,25,90],[958,965,945],[795,972,25],[902,983,955],[972,489,944],[1256,29,424],[671,331,945],[946,958,963],[956,955,904],[902,955,956],[671,512,331],[945,331,961],[662,671,122],[671,662,512],[934,65,927],[630,947,52],[666,631,910],[850,59,667],[961,331,234],[1024,411,1042],[890,69,873],[252,671,945],[975,290,940],[283,186,196],[30,283,365],[950,755,298],[946,965,958],[985,290,975],[969,290,985],[405,851,206],[935,431,64],[941,1423,1420],[964,963,167],[942,252,945],[78,757,57],[49,1005,66],[937,979,270],[631,666,827],[980,937,443],[66,689,282],[421,902,956],[947,64,52],[35,979,899],[951,971,953],[762,87,153],[27,31,381],[924,839,87],[946,963,966],[331,308,340],[957,966,1262],[473,843,931],[953,971,920],[270,969,902],[935,962,968],[51,1005,781],[969,983,902],[437,73,940],[69,421,956],[761,249,840],[263,974,669],[962,944,967],[962,437,290],[985,975,955],[907,405,948],[720,957,1262],[25,935,64],[176,200,571],[108,945,50],[250,851,414],[200,986,571],[881,974,263],[827,772,953],[970,899,980],[29,159,27],[234,331,340],[948,405,206],[980,899,979],[986,984,571],[571,984,881],[990,706,974],[946,934,965],[970,980,66],[1113,1486,1554],[984,981,881],[881,987,974],[689,66,443],[1005,901,66],[983,985,955],[165,47,718],[987,990,974],[1370,986,262],[901,970,66],[51,901,1005],[981,987,881],[988,706,990],[942,945,965],[290,437,940],[64,899,52],[988,556,706],[941,934,946],[431,35,899],[996,989,984],[984,989,981],[981,989,987],[35,969,270],[1370,995,986],[986,995,984],[989,999,987],[987,992,990],[992,988,990],[962,967,437],[951,950,976],[979,35,270],[421,270,902],[998,995,1370],[987,999,992],[988,364,556],[969,985,983],[689,443,890],[995,1e3,984],[219,958,108],[998,1e3,995],[999,997,992],[914,953,772],[845,1336,745],[806,787,231],[1e3,996,984],[989,996,999],[50,945,961],[443,421,69],[797,158,779],[1098,1463,434],[996,1009,999],[1001,988,992],[1001,364,988],[903,907,905],[26,759,973],[997,1001,992],[632,364,1001],[1346,26,973],[998,1008,1e3],[1e3,1009,996],[531,931,736],[252,949,621],[286,388,525],[1174,1008,998],[1009,1010,999],[999,1010,997],[1014,1001,997],[614,105,517],[958,945,108],[525,1004,242],[963,958,219],[233,426,304],[1e3,1008,1009],[1010,1014,997],[1001,1006,632],[824,413,39],[642,636,622],[480,388,205],[28,757,797],[1014,1006,1001],[1006,410,632],[975,940,44],[1234,420,858],[54,832,46],[1009,1012,1010],[167,963,219],[41,481,107],[1017,1010,1012],[122,636,662],[939,525,388],[525,939,1004],[950,953,914],[829,1735,739],[1008,880,1015],[1008,1015,1009],[1263,639,675],[956,594,69],[795,90,1347],[1179,848,1013],[759,1007,973],[1009,1015,1012],[1012,1016,1017],[1017,1014,1010],[1019,1011,1006],[927,65,949],[649,316,595],[913,48,755],[976,950,298],[1003,1015,880],[1018,1006,1014],[1021,1018,1014],[444,692,1011],[451,1029,1063],[1185,851,1163],[29,27,381],[181,525,242],[1021,1014,1017],[1016,1021,1017],[1018,1019,1006],[1019,444,1011],[927,949,942],[451,393,492],[903,1154,907],[391,101,57],[94,765,58],[419,1016,1012],[949,252,942],[907,1020,909],[765,442,58],[94,406,908],[1007,94,908],[34,1012,1015],[34,419,1012],[419,1021,1016],[451,1057,393],[907,948,905],[1034,1073,1039],[1061,906,1619],[1068,960,1034],[471,1249,104],[112,1024,1042],[372,379,125],[341,543,165],[141,1094,170],[566,243,1061],[398,1034,1039],[325,317,1823],[1493,296,1724],[850,667,1043],[1054,297,1065],[1619,135,1074],[1061,243,906],[680,1024,821],[1103,96,1245],[1440,1123,1491],[1047,1025,1044],[672,454,1231],[1484,697,1530],[993,672,1231],[178,154,1088],[1044,1041,1066],[112,1062,1058],[1530,649,676],[178,1088,1040],[1046,328,954],[243,244,1022],[954,1194,1033],[1042,411,1032],[971,993,1056],[960,1093,1034],[1754,1338,232],[385,1064,412],[1057,1063,111],[748,1071,1447],[1530,697,695],[971,1056,1270],[977,1059,1211],[649,741,316],[1060,1452,1030],[353,354,1323],[695,768,649],[398,404,1034],[596,316,741],[1836,119,13],[1513,1115,1528],[883,1081,1652],[1039,1073,1048],[462,426,233],[31,1296,354],[1055,1047,1066],[1032,1054,1045],[1521,310,1224],[119,861,13],[1194,1234,288],[1109,1771,1070],[1166,1160,776],[1044,1035,1041],[1026,960,1064],[1050,1032,1045],[1049,1041,387],[115,1013,99],[1046,954,1033],[1321,920,971],[611,1058,345],[1048,1066,1049],[1023,1055,1073],[1029,451,1004],[118,1094,141],[1094,1080,170],[1042,1032,1050],[1026,1064,385],[15,16,1084],[1096,1079,61],[1075,1071,748],[325,1817,328],[909,1163,405],[1022,1234,809],[374,398,1051],[1082,72,81],[1023,1034,1093],[1817,1794,1067],[86,1445,1400],[1507,1535,1510],[1079,1096,1075],[568,1478,1104],[1070,178,1040],[1034,1023,1073],[776,1155,113],[1103,143,142],[1140,81,73],[1082,81,1140],[1060,1030,936],[1040,1086,1109],[370,1065,385],[61,72,1082],[1087,1096,1144],[1040,1088,1086],[1651,812,752],[1062,1050,1045],[187,154,178],[179,187,178],[1099,1344,1101],[1668,1058,807],[1073,1055,1048],[1099,1336,1344],[1283,943,1123],[1049,387,1051],[1024,680,449],[61,1082,1100],[967,749,1111],[1439,1037,88],[742,1505,142],[398,1039,1051],[1107,1336,1099],[1344,1542,1101],[142,1505,1103],[477,1093,447],[477,1023,1093],[471,142,1249],[1041,1035,394],[1328,568,1104],[61,1100,1096],[154,1092,1088],[112,1042,1050],[154,187,168],[435,235,45],[1075,1096,1087],[97,1075,748],[1049,1066,1041],[816,1067,1028],[846,982,1142],[1245,96,284],[1092,154,1080],[1057,451,1063],[387,377,1051],[1055,1025,1047],[1075,1087,1089],[1106,1108,856],[1068,1034,404],[1480,1545,868],[906,135,1619],[1074,991,1095],[570,566,1061],[1025,453,1044],[745,1336,1107],[1035,1057,416],[1092,1102,1129],[1074,135,991],[1105,745,1107],[447,1026,446],[394,387,1041],[73,81,940],[1118,1108,1106],[1210,1108,874],[243,1022,906],[412,1064,1068],[1280,611,603],[960,447,1093],[1051,1039,1049],[1040,1109,1070],[1471,1037,1439],[69,890,443],[1377,703,1374],[1092,1080,1102],[1096,1100,788],[1096,788,1144],[1114,967,1111],[446,1026,297],[70,1112,883],[453,393,1057],[1118,874,1108],[1054,370,1045],[1080,1094,1102],[1039,1048,1049],[428,753,845],[1047,1044,1066],[1044,453,1035],[1472,731,1512],[1126,1121,743],[743,1121,1110],[1032,297,1054],[1480,868,1216],[71,358,72],[1133,967,1114],[1105,1119,745],[1035,453,1057],[1026,447,960],[454,851,1190],[1030,1477,652],[589,816,1028],[1110,1121,1106],[1122,1118,1106],[1116,874,1118],[1048,1055,1066],[1194,1067,816],[744,278,747],[745,1120,845],[845,1052,428],[1105,1780,1119],[1065,297,385],[1098,1529,1463],[731,1060,936],[235,434,812],[1445,1525,1117],[1106,1121,1122],[1122,1127,1118],[1127,1116,1118],[1094,118,1732],[1119,1120,745],[1406,1124,1097],[435,117,235],[1462,1440,1037],[1126,1129,1121],[1088,1092,1129],[1133,73,967],[1120,1052,845],[812,434,752],[1441,1559,1200],[1131,588,413],[1054,1065,370],[235,1098,434],[1052,1142,428],[1737,428,1142],[1496,1446,1483],[1182,1083,1654],[1121,1129,1122],[1732,1116,1127],[768,457,649],[761,1114,249],[1064,960,1068],[1135,1481,1136],[1126,952,1129],[1087,588,1131],[1087,1144,588],[859,788,1139],[1140,1133,1132],[1133,1140,73],[1822,570,1061],[394,1035,416],[1055,1023,459],[80,264,485],[1119,1128,1120],[145,1658,567],[695,891,768],[1129,1102,1122],[1122,1102,1127],[1416,1077,1413],[297,1026,385],[1052,846,1142],[1445,1117,1400],[952,1086,1129],[1714,1089,1131],[1131,1089,1087],[1100,1139,788],[112,1050,1062],[1323,354,1296],[49,333,1141],[1142,982,1737],[79,1457,1091],[1088,1129,1086],[1102,1094,1127],[1127,1094,1732],[1100,1082,1139],[1082,1132,1139],[1082,1140,1132],[1150,1043,397],[60,1166,289],[1696,1146,1698],[1297,1202,1313],[409,1297,1313],[1234,1194,420],[1408,1391,1394],[424,1235,1243],[1203,309,1148],[485,477,447],[1152,1156,850],[1153,1149,1155],[1153,1157,1149],[1149,1152,1150],[1156,1154,1151],[776,1153,1155],[1157,1152,1149],[1217,1393,1208],[1156,1159,1154],[1153,1165,1157],[1165,1152,1157],[1159,1020,1154],[1161,1153,776],[1161,1165,1153],[1165,1158,1152],[1152,1158,1156],[1158,1159,1156],[1166,776,561],[1160,1161,776],[1161,1164,1165],[1161,1160,1164],[1158,1162,1159],[1159,1162,1020],[1270,1321,971],[1164,1170,1165],[1165,1162,1158],[1162,1163,1020],[588,788,925],[1166,1167,1160],[1165,1170,1162],[1160,1167,1164],[1162,1170,1163],[1179,1167,1166],[1167,1168,1164],[1164,1168,1170],[1168,1169,1170],[1234,1022,288],[802,39,866],[1179,1168,1167],[1169,1173,1170],[1170,1173,1163],[1173,1185,1163],[1360,1267,1364],[1169,1185,1173],[611,244,243],[900,1226,1376],[1260,1408,1350],[618,840,831],[1181,1183,1179],[1179,1184,1168],[1208,1274,1291],[1183,1184,1179],[1168,1184,1169],[1387,1395,1254],[1208,1204,1172],[1182,1197,1083],[1187,1083,1197],[1213,1183,1181],[1169,1207,1185],[135,857,991],[1013,1213,1181],[1189,1183,1213],[1183,1189,1184],[1169,1184,1207],[1207,1190,1185],[1180,1389,1288],[1191,1192,1640],[1640,1192,1090],[1090,1205,1654],[1654,1205,1182],[1188,1395,1187],[1126,743,1733],[788,859,925],[809,1234,1171],[1193,1197,1182],[1189,1199,1184],[1639,1191,1637],[1639,1212,1191],[1205,1193,1182],[1198,1187,1197],[1199,1207,1184],[332,1053,846],[1090,1192,1205],[117,1188,1187],[435,1188,117],[435,1206,1188],[1199,1189,1213],[420,816,1053],[1212,1215,1191],[117,1187,1198],[45,1206,435],[120,1132,1133],[874,1116,1210],[1191,1215,1192],[1193,1216,1197],[1216,1198,1197],[1199,1214,1207],[117,521,235],[1220,1311,1078],[1220,900,1311],[1653,1215,1212],[1192,1225,1205],[1205,1209,1193],[1209,1216,1193],[1389,1217,1172],[1207,1214,454],[171,557,1747],[1805,1078,1787],[1805,1219,1078],[1198,1216,868],[666,910,854],[1230,1231,1213],[1213,1231,1199],[1199,1231,1214],[1219,1220,1078],[1215,1221,1192],[1192,1221,1225],[1225,1228,1205],[1205,1228,1209],[1209,1228,1216],[1464,1325,1223],[1215,1227,1221],[1228,1480,1216],[1226,1653,1376],[1653,1249,1215],[1221,1240,1225],[1225,1240,1228],[839,761,840],[1238,1219,1805],[1238,1220,1219],[1232,1380,1375],[1226,1249,1653],[1221,1227,1240],[233,207,532],[110,1236,1230],[1248,1231,1230],[1231,454,1214],[1249,1227,1215],[1248,1056,1231],[489,959,944],[448,1240,284],[925,859,1242],[1805,1244,1238],[1252,1220,1238],[1252,921,1220],[1236,1251,1230],[1230,1251,1248],[1056,993,1231],[1031,1264,1263],[68,1186,157],[1227,1245,1240],[1103,1245,143],[1243,1235,612],[1252,95,921],[1249,1226,1237],[1390,1387,1254],[1120,384,830],[830,332,846],[1227,143,1245],[1315,1369,1358],[1356,1269,1386],[972,795,489],[1831,1224,310],[1250,1255,1251],[1251,1056,1248],[1256,1243,103],[658,358,175],[1620,1238,1244],[1620,1252,1238],[1506,95,1252],[104,1249,1237],[1249,143,1227],[1268,1419,1329],[634,806,231],[618,831,815],[924,1242,839],[1255,1270,1251],[1251,1270,1056],[866,925,1242],[103,29,1256],[424,1243,1256],[134,1651,752],[1250,917,1255],[1172,1204,1260],[1352,1036,1276],[1265,1201,1329],[804,1282,1259],[1259,1294,723],[335,1330,1305],[407,762,799],[875,856,1195],[32,158,344],[967,944,749],[372,125,42],[1175,1354,1261],[553,612,1235],[1259,1273,1294],[1294,1283,723],[757,78,158],[407,799,798],[901,51,52],[139,1386,1389],[1386,1269,1389],[1389,1269,1217],[1148,1590,1268],[1428,1449,1450],[804,1281,1282],[1273,1259,1282],[158,399,779],[771,407,798],[521,1098,235],[917,1312,1255],[1312,1270,1255],[1217,1269,1393],[1195,1108,634],[1110,1106,856],[1210,1691,1176],[27,1112,1145],[1296,27,1145],[1171,858,791],[704,1148,1290],[1430,1436,1437],[1282,1308,1273],[1300,943,1283],[1393,1355,1274],[720,1278,769],[1287,1059,1399],[1310,1388,1272],[1312,1321,1270],[851,1185,1190],[1296,1145,1304],[26,24,771],[51,910,631],[1329,1290,1268],[1290,1148,1268],[1298,1293,733],[1281,1293,1282],[1282,1293,1308],[1308,1299,1273],[1300,1283,1294],[1340,943,1300],[1340,1301,943],[407,754,762],[1287,1399,1295],[34,139,128],[1288,1172,1260],[120,1133,1114],[1306,1113,1511],[1464,1223,1292],[1299,1294,1273],[1299,1300,1294],[1286,1295,838],[1285,1247,1286],[1247,713,1286],[1201,1265,1390],[1378,1368,1357],[1482,1320,917],[917,1320,1312],[850,1156,1151],[588,39,413],[1324,1306,686],[789,1365,928],[1223,1326,1292],[1292,1326,1298],[869,1097,1311],[790,786,561],[1323,1304,932],[1323,1296,1304],[1317,1324,686],[1306,368,1113],[1325,1342,1223],[1326,1348,1298],[1293,1327,1308],[1308,1318,1299],[704,1290,1258],[1320,1321,1312],[761,120,1114],[1684,802,866],[1674,6,1727],[1316,1323,932],[1335,1337,1305],[1348,1327,1293],[1298,1348,1293],[1333,1300,1299],[1333,1343,1300],[1328,1301,1340],[1328,1314,1301],[838,1399,1319],[921,1237,900],[409,1391,1408],[1376,1653,677],[1281,804,1458],[1331,1324,1317],[1324,368,1306],[368,1338,1307],[1327,797,1308],[797,1345,1308],[1308,1345,1318],[1318,1333,1299],[1341,1147,1572],[923,1321,1320],[923,920,1321],[39,588,866],[1141,1323,1316],[1330,1335,1305],[1337,1335,1336],[1339,1332,1325],[1223,1342,1326],[1342,1348,1326],[1348,797,1327],[1345,1333,1318],[1343,1340,1300],[1419,1265,1329],[1347,1320,1584],[1535,1141,1316],[1078,1311,582],[1344,1335,1330],[753,1331,1337],[368,1324,1331],[753,368,1331],[1332,1485,1325],[1325,1485,1342],[787,1343,1333],[137,1328,1340],[973,1341,1479],[406,1147,1341],[1171,1234,858],[1141,1535,1322],[49,1141,1322],[1344,1336,1335],[973,908,1341],[766,1347,1584],[1347,923,1320],[781,49,1322],[368,232,1338],[787,1340,1343],[787,137,1340],[568,1346,973],[58,1147,406],[442,1334,1147],[58,442,1147],[442,766,1334],[90,923,1347],[428,368,753],[779,1333,1345],[825,787,1333],[137,1349,1328],[1328,1346,568],[908,406,1341],[924,866,1242],[1336,753,1337],[428,232,368],[1115,777,1098],[1348,28,797],[797,779,1345],[779,825,1333],[1007,908,973],[583,1351,880],[1365,1246,977],[1658,145,1710],[1310,796,1388],[718,245,165],[1302,1272,1254],[1174,1351,583],[1174,715,1351],[1358,1260,1204],[1374,1373,1276],[1377,1374,1276],[678,1362,1382],[1377,1276,254],[139,34,40],[1008,1174,583],[1396,1286,1319],[768,891,457],[1316,932,1535],[1289,1371,1360],[182,736,864],[1355,1364,1274],[860,1367,1354],[1362,1222,1382],[1376,869,1311],[1590,1411,198],[1232,1375,877],[1394,1295,1286],[880,1356,1386],[880,1351,1356],[1211,1059,1287],[197,678,1405],[880,1386,1003],[1368,1253,1357],[1357,1253,1036],[715,1289,1364],[1354,1367,703],[1383,877,1375],[1266,1288,1260],[1373,1374,703],[1372,1289,1174],[1303,1366,1378],[1351,715,1355],[1665,1666,624],[1309,1357,1036],[900,1237,1226],[1174,1289,715],[1337,1331,1317],[1360,1303,1359],[1267,1354,1175],[1241,1284,1414],[1377,254,929],[1385,855,836],[1396,1319,1436],[1361,1366,1303],[1381,1368,1378],[1313,1211,1391],[1368,1385,1363],[813,82,861],[1058,1280,807],[893,519,892],[1359,1303,860],[1382,1350,1247],[1371,1303,1360],[1267,1175,1271],[769,1286,1396],[712,1837,82],[1366,1385,1381],[1365,796,1310],[1003,1386,40],[780,1371,1370],[561,862,790],[1284,1380,864],[1449,1428,177],[611,1280,1058],[1284,1375,1380],[926,506,1241],[1305,1337,1317],[309,1203,208],[1388,1201,1390],[1309,1036,1352],[1377,929,1411],[1399,1059,1257],[1112,70,1145],[289,1166,561],[1288,1389,1172],[1362,37,1180],[713,1394,1286],[1355,1393,1269],[1401,1423,941],[1274,1271,1384],[860,1378,1367],[715,1364,1355],[677,1406,869],[1297,1358,1202],[1388,1258,1329],[1180,1288,1266],[1008,583,880],[1524,1425,1463],[1390,1403,1387],[1278,1379,1247],[1278,1247,1285],[964,1278,1262],[1358,1369,1202],[1715,1699,1726],[926,1241,1414],[1341,1572,1479],[926,930,916],[1397,51,781],[409,1358,1297],[1236,436,301],[1376,677,869],[1351,1355,1356],[758,1534,1523],[1378,1357,1367],[977,1211,1365],[1135,1136,854],[1394,1391,1295],[1266,1260,1222],[1365,1302,1246],[1232,877,844],[736,930,864],[1408,1358,409],[1508,817,1523],[1381,1385,1368],[718,854,910],[854,718,1135],[1382,1222,1350],[1391,1211,1287],[1391,1287,1295],[1257,1651,134],[1414,1284,864],[1291,1369,1315],[1202,928,1313],[86,1400,1413],[1413,1200,86],[1263,1625,1031],[1413,1400,1404],[1002,1664,1834],[930,926,1414],[1399,1257,134],[520,316,596],[1393,1274,1208],[1657,1655,1712],[1407,1404,1400],[1404,1410,1413],[1649,1229,1406],[1362,1266,1222],[1384,1271,1175],[900,1376,1311],[1274,1384,1291],[1291,1384,1431],[1433,1396,1436],[1267,1359,1354],[309,1353,703],[838,1319,1286],[1407,1410,1404],[441,1518,773],[1241,123,1428],[1622,1521,1224],[1217,1208,1172],[1130,793,1076],[425,1409,1481],[1481,1409,1533],[1303,1378,860],[1350,1408,1394],[1246,1651,977],[1289,1360,1364],[1727,1694,1623],[1417,1407,1533],[1417,1410,1407],[1406,1650,1649],[1319,134,1437],[1414,864,930],[1406,1229,1124],[1354,1359,860],[1433,769,1396],[1417,1533,1409],[1416,1413,1410],[1415,1416,1410],[95,1237,921],[1392,1254,1395],[1360,1359,1267],[1258,1290,1329],[1180,128,1389],[1420,1409,425],[1417,1418,1410],[1418,1415,1410],[1422,1077,1416],[1247,1350,1394],[37,43,1180],[1204,1315,1358],[1428,1383,1375],[1356,1355,1269],[1409,1418,1417],[1302,45,1246],[1421,1416,1415],[1421,1422,1416],[1422,1494,1077],[957,720,938],[1423,1409,1420],[1423,1418,1409],[752,434,1438],[1260,1358,1408],[1363,1385,785],[1423,1426,1418],[1426,1424,1418],[1229,1649,1124],[1222,1260,1350],[1508,1523,1137],[1278,1285,769],[1482,917,144],[1418,1424,1415],[1425,1422,1421],[1425,1524,1422],[1272,1388,1390],[1391,409,1313],[1378,1366,1381],[1371,483,1361],[720,1262,1278],[29,103,159],[1271,1364,1267],[1424,1427,1415],[1537,1522,1518],[134,752,1438],[1420,934,941],[1428,1375,1284],[1277,1224,1831],[1362,1180,1266],[1401,1426,1423],[1577,1369,1291],[268,483,262],[1383,1450,1456],[1384,1175,1431],[1430,1415,1427],[1430,1421,1415],[1430,1425,1421],[1379,1382,1247],[1252,1553,1429],[1206,1392,1395],[1433,1430,1427],[309,208,1353],[1272,1390,1254],[1361,483,1366],[1523,817,808],[1302,1254,1392],[1371,1361,1303],[1426,1435,1424],[1435,1433,1424],[1433,1427,1424],[720,769,1433],[796,1258,1388],[1590,1419,1268],[1289,1372,1371],[1305,1317,1509],[998,1372,1174],[40,1386,139],[1261,1354,703],[1364,1271,1274],[134,1438,1437],[1436,1319,1437],[1317,686,1509],[1484,932,1304],[1434,1432,1509],[1420,65,934],[931,930,736],[1367,1357,1309],[1372,1370,1371],[1204,1208,1315],[1426,938,1435],[1368,1363,1253],[1207,454,1190],[1302,1310,1272],[309,1377,390],[390,1377,1411],[1370,1372,998],[1411,1590,1148],[720,1433,1435],[1450,1383,1428],[1379,678,1382],[1405,678,1379],[1208,1291,1315],[1399,134,1319],[1367,1309,1373],[1373,1352,1276],[596,741,593],[553,1264,612],[1433,1436,1430],[1437,1438,1430],[964,1405,1379],[1373,1309,1352],[1265,1403,1390],[1233,1618,1434],[1365,1310,1302],[789,796,1365],[720,1435,938],[128,139,1389],[1466,933,1525],[1191,1640,1637],[1314,1442,943],[1141,353,1323],[1489,1138,1474],[1462,1477,1440],[1474,1138,1488],[1442,1314,1443],[1446,1030,1546],[1484,1145,697],[1549,1443,1445],[1470,1572,1468],[1397,1239,1507],[1649,1825,1824],[1259,1440,1477],[1451,1450,1449],[978,1446,652],[1454,1456,1451],[1451,1456,1450],[341,1507,595],[933,1547,79],[804,1452,1060],[1454,1455,1456],[1398,1460,1454],[1455,877,1456],[1277,1831,1825],[804,1060,1458],[1339,1459,1595],[1314,1104,1443],[933,1448,1547],[147,1460,1398],[1460,1461,1454],[1454,1461,1455],[1292,1125,1464],[417,1531,1480],[1459,1339,1325],[811,1756,335],[1512,936,1490],[777,1529,1098],[147,1475,1460],[1464,253,1459],[836,855,482],[1487,1486,1307],[1104,1501,1443],[1439,1200,1532],[1475,1469,1460],[1460,1469,1461],[1325,1464,1459],[1277,1825,1649],[1532,1200,1077],[844,877,1455],[1572,933,1466],[1479,568,973],[1509,335,1305],[1339,1595,1759],[1469,1476,1461],[1461,1476,1455],[1104,1470,1468],[1464,1472,253],[1117,1091,1407],[1756,1542,335],[1206,1395,1188],[335,1542,1330],[835,844,1455],[1471,1598,1462],[1491,1442,1441],[835,1455,1476],[1441,1442,1443],[1489,1474,1473],[1251,1236,1250],[1030,1452,1477],[1598,1439,1532],[978,1598,1492],[1426,1401,938],[1448,1584,1482],[1724,1497,1475],[1475,1497,1469],[1484,1535,932],[1307,1486,1113],[1487,696,1495],[1037,1491,1441],[1030,1446,936],[1453,1487,1495],[696,1467,1495],[1138,1489,1483],[1497,1143,1469],[1469,1143,1476],[652,1598,978],[850,1043,1150],[1482,1584,1320],[1731,98,1697],[1113,1554,1573],[1524,1532,1494],[1496,1467,696],[1452,1259,1477],[296,1504,1497],[1504,1143,1497],[1143,1499,1476],[718,910,1498],[868,1540,1528],[817,1253,810],[1490,696,1487],[1440,1491,1037],[1510,676,595],[1488,1492,1517],[781,1239,1397],[1467,1519,1503],[1500,1307,1759],[1149,397,452],[1504,1514,1143],[1514,842,1143],[1125,733,1458],[1503,1531,1555],[1276,1036,1137],[1440,723,1123],[1036,1508,1137],[817,1508,1253],[103,883,1112],[1458,731,1472],[1512,1490,1487],[1487,1453,1486],[1138,978,1488],[1036,1253,1508],[1398,149,147],[1474,1517,1513],[1125,1458,1472],[1486,1453,1554],[1518,1534,758],[345,1058,1062],[928,1202,1369],[1554,1541,1505],[1464,1125,1472],[1504,764,1514],[304,426,573],[1505,742,1506],[1479,1572,1478],[1519,1483,1489],[833,716,1069],[1522,1534,1518],[1115,1513,777],[811,335,1432],[1591,1533,1407],[777,1517,1529],[1513,1517,777],[1498,910,1397],[1069,1539,833],[833,1539,1537],[1522,1551,1534],[1534,1551,1523],[1538,1137,1523],[910,51,1397],[1367,1373,703],[1466,1525,1468],[157,1186,1832],[1429,1511,1506],[1573,1505,1506],[1259,1452,804],[1503,1495,1467],[262,483,780],[1572,1466,1468],[1536,1556,716],[716,1556,1069],[1544,1523,1551],[1544,1538,1523],[1511,1573,1506],[933,1572,1448],[1543,1537,1539],[1537,1543,1522],[1091,933,79],[1519,1540,1545],[1549,1445,86],[1069,1548,1539],[1548,1543,1539],[1543,1551,1522],[1500,1487,1307],[68,784,1186],[1552,1544,1551],[1550,1538,1544],[1538,1550,1137],[1519,1473,1540],[1547,1448,1482],[1560,1563,1536],[1536,1563,1556],[1556,1548,1069],[1543,1558,1551],[1137,1550,1276],[1453,1495,1555],[1561,1543,1548],[1543,1561,1558],[1558,1566,1551],[1552,1550,1544],[1569,1557,1550],[1557,1276,1550],[1276,1557,254],[1531,1503,1480],[1535,1530,1510],[1545,1503,1519],[1547,1482,79],[1566,1552,1551],[1552,1569,1550],[1503,1545,1480],[703,1377,309],[1625,675,756],[1037,1441,88],[929,254,1557],[849,1567,1560],[1556,1564,1548],[1492,1529,1517],[1252,1429,1506],[1553,1027,1429],[1453,1555,1541],[1554,1453,1541],[1233,686,1553],[1328,1104,1314],[1564,1576,1548],[1548,1576,1561],[1557,1562,929],[1520,112,1668],[1483,1446,1138],[778,1570,1567],[1563,1564,1556],[1561,1565,1558],[1565,1566,1558],[1569,1552,1566],[1562,1557,1569],[1530,1535,1484],[1387,1402,1395],[1621,1634,1387],[1567,1568,1560],[1560,1568,1563],[1571,1569,1566],[1344,1330,1542],[1577,1431,1353],[1638,233,304],[1524,1463,1529],[1353,1431,1175],[1077,1200,1413],[1478,1470,1104],[1568,1575,1563],[1563,1575,1564],[1575,1576,1564],[1561,1576,1565],[1565,1574,1566],[1562,1515,929],[1555,96,1541],[1531,417,96],[1555,1531,96],[1246,45,1651],[208,1577,1353],[1586,1568,1567],[1574,1571,1566],[1571,1583,1569],[1474,1513,1528],[1239,1322,1535],[1478,1572,1470],[1570,1586,1567],[1488,1517,1474],[8,1833,1837],[1123,1442,1491],[1589,1568,1586],[1576,1594,1565],[1565,1594,1574],[1562,198,1515],[1559,1441,1549],[1441,1443,1549],[1135,425,1481],[1239,1535,1507],[1595,1487,1500],[1570,1585,1586],[1589,1578,1568],[1568,1578,1575],[1579,1569,1583],[1177,1577,208],[115,1236,110],[1578,1593,1575],[1587,1576,1575],[1576,1581,1594],[1571,1582,1583],[1588,1579,1583],[1579,1580,1562],[1569,1579,1562],[1562,1580,198],[1027,1511,1429],[1589,1593,1578],[1587,1581,1576],[1582,1574,1594],[1574,1582,1571],[1575,1593,1587],[1583,1582,1588],[1580,1590,198],[1587,1593,1581],[1505,1541,96],[1369,1577,1177],[1573,1554,1505],[1479,1478,568],[1585,1589,1586],[1369,1177,704],[766,1584,1334],[977,1257,1059],[1091,1591,1407],[1591,1091,1457],[1585,1604,1589],[1581,1592,1594],[1602,1582,1594],[1582,1608,1588],[1608,1579,1588],[1579,1597,1580],[1419,1590,1580],[1597,1419,1580],[1431,1577,1291],[1589,1604,1593],[1601,1596,1593],[1593,1596,1581],[1306,1511,1027],[1511,1113,1573],[1786,1412,1585],[1412,1604,1585],[1581,1596,1592],[1592,1602,1594],[1608,1599,1579],[1599,1611,1579],[1579,1611,1597],[1512,1487,253],[1519,1489,1473],[1545,1540,868],[1083,1187,1402],[1117,1407,1400],[1292,733,1125],[284,1240,1245],[1604,1600,1593],[1600,1601,1593],[1582,1607,1608],[789,1369,704],[1467,1483,1519],[1601,1613,1596],[1596,1613,1592],[1602,1607,1582],[1620,1553,1252],[1601,1605,1613],[1592,1613,1602],[1602,1606,1607],[1608,1609,1599],[1599,1609,1611],[1603,1597,1611],[1265,1419,1597],[1603,1265,1597],[1392,1206,45],[928,1369,789],[1474,1528,1473],[1104,1468,1501],[1412,1521,1604],[1613,1631,1602],[1607,1610,1608],[1608,1610,1609],[1476,863,835],[1495,1503,1555],[1498,1397,718],[1520,1668,7],[1604,1615,1600],[1605,1601,1600],[1602,1631,1606],[1606,1610,1607],[1759,1595,1500],[1292,1298,733],[1615,1604,1521],[1609,1603,1611],[652,1462,1598],[1468,1525,1445],[1443,1501,1445],[1134,1723,150],[1521,1622,1615],[1615,1616,1600],[1616,1605,1600],[1605,1616,1612],[1605,1612,1613],[1612,1617,1613],[1613,1617,1631],[1606,1614,1610],[1265,1603,1403],[448,417,1480],[1595,253,1487],[1501,1468,1445],[1383,1456,877],[1490,1496,696],[1610,1627,1609],[1627,1621,1609],[1591,1481,1533],[1598,1471,1439],[1353,1261,703],[1606,1631,1614],[1609,1621,1403],[1532,1077,1494],[1528,1115,513],[1546,652,1446],[1211,928,1365],[1540,1473,1528],[1078,1502,1787],[1425,1430,1438],[1617,1630,1631],[959,749,944],[566,570,603],[1716,310,1521],[775,452,397],[1615,1636,1616],[1616,1636,1612],[1610,1632,1627],[789,704,1258],[1457,1481,1591],[1769,1756,811],[207,1629,722],[1629,1625,722],[1224,1277,1622],[1622,1636,1615],[1636,1646,1612],[1612,1630,1617],[1631,1626,1614],[1614,1632,1610],[1506,104,95],[1481,1457,1136],[1123,943,1442],[936,1446,1496],[1499,863,1476],[1629,1031,1625],[1233,1509,686],[1633,1634,1621],[1621,1387,1403],[1472,1512,253],[1177,208,704],[1277,1636,1622],[1626,1632,1614],[1627,1633,1621],[936,1496,1490],[185,1454,1451],[731,936,1512],[1638,1635,207],[553,1263,1264],[1653,1212,1639],[1633,1627,1632],[1633,1387,1634],[1458,1060,731],[368,1307,1113],[1264,1031,1629],[1152,850,1150],[1277,1644,1636],[1646,1637,1612],[1637,1630,1612],[1647,1631,1630],[1647,1626,1631],[1422,1524,1494],[1030,652,1546],[1635,1629,207],[1635,1264,1629],[1639,1646,1636],[1637,1640,1630],[1641,1632,1626],[1632,1642,1633],[1633,1643,1387],[842,1499,1143],[865,863,1499],[1516,978,1492],[67,1130,784],[1103,1505,96],[88,1441,1200],[1644,1639,1636],[1640,1647,1630],[1647,1641,1626],[1633,1648,1643],[1492,1532,1524],[1488,1516,1492],[1037,1471,1462],[612,1264,1635],[1502,1078,1124],[1641,1642,1632],[1648,1633,1642],[1528,513,868],[1492,1598,1532],[1095,991,760],[679,157,1664],[760,1128,1785],[1277,1650,1644],[320,1022,244],[1559,1549,86],[1676,1520,7],[1488,978,1516],[1095,760,1785],[1128,384,1120],[304,312,1638],[1081,1638,312],[1081,1635,1638],[103,612,1635],[652,1477,1462],[1650,1645,1644],[1645,1639,1644],[1639,1637,1646],[1640,1090,1647],[1654,1641,1647],[1654,1642,1641],[1654,1648,1642],[1643,1402,1387],[1432,335,1509],[384,1128,760],[1652,312,304],[103,1243,612],[1277,1649,1650],[1090,1654,1647],[1643,1648,1402],[1134,324,1675],[679,68,157],[1652,1081,312],[1136,301,803],[1653,1639,1645],[723,1440,1259],[803,854,1136],[104,1506,742],[1112,159,103],[1654,1083,1648],[977,1651,1257],[1397,1507,718],[1081,103,1635],[1650,677,1645],[1083,1402,1648],[1706,1655,1671],[1624,1704,1711],[767,2,1],[608,794,294],[1678,1683,1686],[767,1682,2],[1669,1692,1675],[296,1681,764],[1671,1656,1672],[17,1673,1679],[1706,1671,1673],[1662,1674,1699],[1655,1657,1656],[418,84,915],[1526,1514,764],[1658,1657,567],[870,1695,764],[813,1697,98],[1659,821,5],[60,1013,848],[1013,110,1213],[661,1038,1692],[1660,1703,17],[1693,1673,17],[1663,1715,1743],[1013,115,110],[344,1733,32],[1670,1663,1743],[1670,1743,1738],[1677,1670,1738],[1661,4,3],[1084,1683,1678],[1728,793,1130],[1683,1767,1196],[1677,1738,1196],[1279,1786,853],[294,1038,608],[1279,1689,1786],[870,18,1708],[870,1680,1695],[1705,10,1670],[1084,1767,1683],[1196,1738,1686],[1750,870,1681],[1750,18,870],[1773,1703,1660],[1135,47,425],[150,323,1134],[1707,1655,1706],[1741,344,1687],[1685,1691,1684],[1684,1691,802],[1672,1656,0],[1038,124,608],[1671,1672,1690],[1628,1218,1767],[1686,1275,1667],[1493,1750,1681],[1773,18,1750],[1773,1660,18],[1679,1671,16],[1735,1706,1673],[1667,1678,1686],[1688,1658,1],[1656,1688,0],[1293,1281,1458],[1698,1678,1667],[1696,1130,1722],[1698,1667,1696],[1715,1662,1699],[1692,1038,294],[1682,767,357],[1669,661,1692],[802,1702,824],[1028,1067,1784],[822,1624,778],[119,813,861],[1218,1670,1677],[1703,1693,17],[1658,1710,1],[750,1730,1729],[1701,750,1729],[1693,1735,1673],[1731,1694,98],[1691,1702,802],[783,1729,1719],[1680,870,1708],[1707,1709,1655],[533,756,675],[1691,1210,1702],[11,1705,1670],[1767,1218,1196],[1218,1677,1196],[1664,1716,1721],[1729,1725,1719],[1729,1072,1725],[1210,1116,1702],[1702,1720,824],[1682,1661,2],[1713,1719,1721],[1716,1786,1713],[1730,1722,1072],[294,1717,1811],[1692,294,1666],[1659,680,821],[824,1720,1714],[1726,1731,1718],[345,1062,1045],[1738,1743,1275],[1075,1089,1071],[783,1719,1689],[1275,684,1728],[1692,1666,1665],[1675,1692,1665],[294,1811,1666],[1716,1664,310],[1678,1698,1700],[6,9,1727],[676,649,595],[381,31,361],[1723,1804,1772],[1727,9,1694],[1720,1089,1714],[1786,1716,1412],[1683,1196,1686],[1718,1697,1085],[1116,1739,1702],[1739,1734,1720],[1702,1739,1720],[1089,1720,1734],[509,748,1745],[1743,1715,1726],[1717,294,794],[1116,1732,1739],[1718,1731,1697],[1696,1667,1130],[1134,1665,1723],[1694,712,98],[101,1687,102],[391,1736,101],[662,636,642],[1734,1447,1089],[1089,1447,1071],[436,99,493],[1689,1279,783],[1485,1465,1342],[1736,1687,101],[344,1741,1733],[1741,1742,1733],[1735,829,1706],[829,1707,1706],[1485,1332,1465],[952,1126,1742],[1747,1447,1734],[879,892,645],[1730,1146,1696],[829,1709,1707],[1709,1712,1655],[118,1739,1732],[1332,1744,1465],[1687,1749,1741],[1741,1758,1742],[679,1072,68],[1072,1722,68],[118,1747,1739],[1747,1734,1739],[1465,1744,1736],[1736,1740,1687],[1704,1701,783],[1665,624,1723],[1722,1130,67],[1025,1055,467],[1444,14,1701],[558,522,530],[1657,1658,1688],[1339,1746,1332],[1332,1748,1744],[1687,1740,1749],[1741,1749,1758],[1109,952,1742],[1747,118,141],[1671,1690,1628],[1671,1628,16],[1657,1688,1656],[1745,748,1447],[357,767,1710],[1746,1748,1332],[1146,1700,1698],[1759,1307,1338],[1239,781,1322],[1745,1447,1747],[522,1745,1747],[316,717,595],[148,1493,1724],[1758,1109,1742],[1725,1072,679],[726,719,1661],[1695,1680,1526],[1772,1750,1493],[148,1772,1493],[1542,1751,1101],[952,1109,1086],[1744,1752,1736],[1736,1752,1740],[1753,1755,1740],[391,1342,1736],[821,112,1520],[557,530,1747],[530,522,1747],[994,879,645],[1542,1756,1751],[1813,1693,1703],[1746,1754,1748],[1748,1764,1744],[1752,1757,1740],[1740,1757,1753],[1749,1740,1755],[1755,1763,1749],[1763,1758,1749],[1275,1743,684],[1813,1735,1693],[1107,1099,1101],[1723,624,1804],[1403,1603,1609],[1748,1754,1764],[1744,1757,1752],[1760,1109,1758],[1465,1736,1342],[436,115,99],[1686,1738,1275],[1751,1766,1101],[1759,1754,1746],[1755,1753,1763],[1570,1279,853],[1701,1146,750],[1655,1656,1671],[11,1670,1218],[1761,1751,1756],[1766,1107,1101],[1726,1623,1731],[1711,1704,1279],[67,784,68],[558,530,545],[1620,1618,1233],[1769,1761,1756],[102,1687,344],[1338,1754,1759],[1754,232,1764],[1744,1765,1757],[1757,1763,1753],[1762,1760,1758],[1760,1771,1109],[1339,1759,1746],[1675,1665,1134],[1730,1696,1722],[1774,1751,1761],[1766,1780,1107],[1780,1105,1107],[1764,1765,1744],[1763,1762,1758],[1772,1773,1750],[1811,1813,1703],[1434,1769,1432],[1780,1766,1751],[232,1781,1764],[1711,1279,1570],[1688,1,0],[1774,1780,1751],[1764,1781,1765],[1765,1768,1757],[1757,1768,1763],[1777,1782,1760],[1762,1777,1760],[1769,1774,1761],[1763,1777,1762],[1760,1782,1771],[232,1737,1781],[1768,1776,1763],[272,255,774],[1669,994,661],[1618,1769,1434],[1765,589,1768],[1770,1777,1763],[1701,1729,783],[1783,1774,1769],[1789,1780,1774],[589,1775,1768],[1776,1770,1763],[1782,1778,1771],[1771,1778,1070],[624,1703,1773],[624,1811,1703],[1620,1244,1618],[1779,1769,1618],[1779,1783,1769],[739,1735,1813],[1775,1776,1768],[1790,1777,1770],[1777,1778,1782],[1725,679,1721],[733,1293,1458],[1802,1618,1244],[1802,1779,1618],[1788,1783,1779],[1789,1774,1783],[1796,1780,1789],[1796,1119,1780],[1823,1817,325],[1699,1727,1623],[750,1146,1730],[1497,1724,296],[1128,1119,1796],[61,62,71],[1131,413,824],[1114,1111,249],[1784,1776,1775],[1123,723,1283],[1791,1788,1779],[1788,1789,1783],[1095,1797,1074],[1028,1784,1775],[1784,1770,1776],[1777,1790,1778],[1793,1797,1095],[1797,1800,1074],[1798,1790,1770],[1805,1802,1244],[1802,1791,1779],[1792,1789,1788],[1793,1785,1128],[1793,1095,1785],[1074,1800,1619],[741,457,593],[1798,1770,1784],[1798,1794,1790],[1786,1689,1713],[684,1726,1718],[1728,1085,793],[1795,1787,1502],[1806,1802,1805],[1819,1788,1791],[1067,1798,1784],[1790,1794,1778],[1795,1502,1124],[1801,1805,1787],[1807,1791,1802],[1807,1819,1791],[1819,1792,1788],[1799,1128,1796],[994,645,661],[684,1085,1728],[684,1718,1085],[1699,1623,1726],[1801,1787,1795],[1808,1789,1792],[1808,1796,1789],[1799,1793,1128],[1809,1797,1793],[1809,1803,1797],[1803,1800,1797],[1067,1794,1798],[774,255,1778],[1673,1671,1679],[879,1669,888],[19,1807,1802],[1810,1619,1800],[879,994,1669],[1794,774,1778],[1723,1772,148],[1804,1773,1772],[1814,1795,1124],[1649,1814,1124],[1814,1801,1795],[1812,1806,1805],[19,1802,1806],[19,1819,1807],[1810,1800,1803],[1804,624,1773],[1714,1131,824],[1801,1812,1805],[1812,19,1806],[1808,1792,1819],[1799,1809,1793],[1821,1810,1803],[1717,739,1813],[1061,1619,1822],[1794,1817,774],[79,1482,144],[1815,1801,1814],[23,1819,19],[589,1028,1775],[1817,1823,774],[1689,1719,1713],[1824,1814,1649],[1827,1818,1801],[1818,1812,1801],[1818,19,1812],[1818,20,19],[1816,1809,1799],[1821,1803,1809],[1822,1619,1810],[124,708,608],[1663,10,1715],[1815,1827,1801],[1820,1808,1819],[23,1820,1819],[603,1810,1821],[603,1822,1810],[1085,1697,793],[1628,1690,11],[1527,1704,1624],[1730,1072,1729],[1526,1444,1704],[1526,1680,1444],[1704,1444,1701],[1816,1821,1809],[1722,67,68],[317,272,1823],[1716,1713,1721],[16,1628,1767],[1527,1526,1704],[1824,1826,1814],[1814,1826,1815],[1818,21,20],[1835,1808,1820],[603,570,1822],[226,1070,1778],[1013,1181,1179],[1721,679,1664],[1717,1813,1811],[1828,1827,1815],[22,1820,23],[22,1835,1820],[1830,603,1821],[719,1659,5],[643,567,1657],[1717,794,739],[1825,1826,1824],[1828,1815,1826],[1829,21,1818],[1808,1835,13],[4,719,5],[10,1662,1715],[1828,1832,1827],[1832,1818,1827],[12,1833,1816],[1833,1821,1816],[1833,1830,1821],[14,1146,1701],[1186,1829,1818],[1280,603,1830],[14,1700,1146],[1667,1728,1130],[1825,1834,1826],[1834,1828,1826],[1832,1186,1818],[1836,13,1835],[1624,1711,1570],[778,1624,1570],[1719,1725,1721],[1002,1825,1831],[1002,1834,1825],[1834,1832,1828],[1186,21,1829],[1836,1835,22],[1837,1833,12],[1280,1830,1833],[1667,1275,1728],[16,1767,1084],[589,1765,1838],[1765,1781,1838],[1781,1737,1838],[1737,982,1838],[982,1053,1838],[1053,816,1838],[816,589,1838]]
},{}]},{},[]),require=function(e,t,r){function n(r,a){if(!t[r]){if(!e[r]){var o="function"==typeof require&&require;if(!a&&o)return o(r,!0);if(i)return i(r,!0);throw Error("Cannot find module '"+r+"'")}var s=t[r]={exports:{}};e[r][0].call(s.exports,function(t){var i=e[r][1][t];return n(i?i:t)},s,s.exports)}return t[r].exports}for(var i="function"==typeof require&&require,a=0;r.length>a;a++)n(r[a]);return n}({"simple-3d-shader":[function(e,t){t.exports=e("754nO7")},{}],"754nO7":[function(e,t){"use strict";var r=e("gl-shader");t.exports=function(e){return r(e,"attribute vec3 position;attribute vec3 color;uniform mat4 model;uniform mat4 view;uniform mat4 projection;varying vec3 fragColor;void main() { gl_Position = projection * view * model * vec4(position,1); fragColor = color;}","precision highp float;varying vec3 fragColor;void main() { gl_FragColor = vec4(fragColor, 1.0);}")}},{"gl-shader":1}],1:[function(e,t){"use strict";function r(e,t,r,n){this.gl=e,this.program=t,this.uniforms=r,this.attributes=n}function n(e){return Object.keys(e).map(function(t){return[t,e[t]]})}function i(e,t,r,n,i,a,o){a>1&&(i+="v");var s=Function("gl","loc","v","gl.uniform"+a+i+"(loc, v)"),u=Function("gl","prog","loc","return gl.getUniform(prog, loc)");Object.defineProperty(n,o,{set:s.bind(void 0,e,r),get:u.bind(void 0,e,t,r),enumerable:!0})}function a(e,t,r,n,i,a){var o=Function("gl","loc","v","gl.uniformMatrix"+i+"fv(loc, false, v)"),s=Function("gl","prog","loc","return gl.getUniform(prog, loc)");Object.defineProperty(n,a,{set:o.bind(void 0,e,r),get:s.bind(void 0,e,t,r),enumerable:!0})}function o(e,t,r,n,i,a){var o={};o.pointer=function(t,n,a,o){e.vertexAttribPointer(r,i,t||e.FLOAT,n?e.TRUE:e.FALSE,a||0,o||0)},o.enable=function(){e.enableVertexAttribArray(r)},o.disable=function(){e.disableVertexAttribArray(r)},Object.defineProperty(o,"location",{get:function(){return r},set:function(n){return r=n,e.bindAttribLocation(t,n,a),n}});for(var s=["gl","v"],u=[],c=0;i>c;++c)s.push("x"+c),u.push("x"+c);s.push(["if(x0.length === undefined) {","return gl.vertexAttrib"+i+"f(v,"+u.join(",")+")","} else {","return gl.vertexAttrib"+i+"fv(v,x0)","}"].join("\n"));var l=Function.apply(void 0,s);o.set=function(t,n,i,a){return l(e,r,t,n,i,a)},Object.defineProperty(n,a,{set:function(t){return o.isArray=!1,l(e,r,t),t},get:function(){return o},enumerable:!0})}function s(e,t,s){var l=e.createShader(e.VERTEX_SHADER);if(e.shaderSource(l,t),e.compileShader(l),!e.getShaderParameter(l,e.COMPILE_STATUS))throw Error("Error compiling vertex shader: "+e.getShaderInfoLog(l));var f=e.createShader(e.FRAGMENT_SHADER);if(e.shaderSource(f,s),e.compileShader(f),!e.getShaderParameter(f,e.COMPILE_STATUS))throw Error("Error compiling fragment shader: "+e.getShaderInfoLog(f));var p=e.createProgram();if(e.attachShader(p,f),e.attachShader(p,l),e.linkProgram(p),!e.getProgramParameter(p,e.LINK_STATUS))throw Error("Error linking shader program: "+e.getProgramInfoLog(p));for(var h=u(s),d=u(t),v=c(n(h.uniforms).concat(n(d.uniforms)),function(e,t){return e[0]<t[0]?-1:e[0]===t[0]?0:1}),g={},m=0;v.length>m;++m){var y=v[m],b=y[0],w=y[1],x=e.getUniformLocation(p,b);if(x)switch(w){case"bool":case"int":case"sampler2D":case"samplerCube":i(e,p,x,g,"i",1,b);break;case"float":i(e,p,x,g,"f",1,b);break;default:if(w.indexOf("vec")>=0){var _=w.charCodeAt(w.length-1)-48;if(2>_||_>4)throw Error("Invalid data type");switch(w.charAt(0)){case"b":case"i":i(e,p,x,g,"i",_,b);break;case"v":i(e,p,x,g,"f",_,b);break;default:throw Error("Unrecognized data type")}}else{if("m"!==w.charAt(0))throw Error("Invalid data type");var _=w.charCodeAt(w.length-1)-48;if(2>_||_>4)throw Error("Invalid data type");a(e,p,x,g,_,b)}}else Object.defineProperty(g,b,{get:function(){},set:function(){}})}for(var E=n(d.attributes),k={},m=0;E.length>m;++m){var y=E[m],b=y[0],w=y[1],x=e.getAttribLocation(p,b);switch(w){case"bool":case"int":case"float":o(e,p,x,k,1,b);break;default:if(!(w.indexOf("vec")>=0))throw Error("Invalid data type");var _=w.charCodeAt(w.length-1)-48;if(2>_||_>4)throw Error("Invalid data type");o(e,p,x,k,_,b)}}return new r(e,p,g,k)}var u=e("glsl-exports"),c=e("uniq");r.prototype.bind=function(){this.gl.useProgram(this.program)},t.exports=s},{"glsl-exports":2,uniq:3}],3:[function(e,t){"use strict";function r(e,t){for(var r=1,n=e.length,i=e[0],a=e[0],o=1;n>o;++o)if(a=i,i=e[o],t(i,a)){if(o===r){r++;continue}e[r++]=i}return e.length=r,e}function n(e){for(var t=1,r=e.length,n=e[0],i=e[0],a=1;r>a;++a,i=n)if(i=n,n=e[a],n!==i){if(a===t){t++;continue}e[t++]=n}return e.length=t,e}function i(e,t,i){return 0===e.length?[]:t?(i||e.sort(t),r(e,t)):(i||e.sort(),n(e))}t.exports=i},{}],2:[function(e,t){"use strict";function r(e){for(var t,r,n=[],r=0;e.children.length>r;++r){var i=e.children[r];if("placeholder"!==i.type)if("keyword"===i.type){if("uniform"===i.token.data||"attribute"===i.token.data)continue;t=i.token.data}else if("decllist"===i.type)for(var a=0;i.children.length>a;++a){var o=i.children[a];"ident"===o.type&&n.push(o.token.data)}}return{type:t,vars:n}}function n(e){var t={},n={},s=o();return s.pipe(i()).pipe(a()).on("data",function(e){if("decl"===e.type&&"keyword"===e.token.type)if("uniform"===e.token.data)for(var i=r(e),a=0;i.vars.length>a;++a)t[i.vars[a]]=i.type;else if("attribute"===e.token.data)for(var i=r(e),a=0;i.vars.length>a;++a)n[i.vars[a]]=i.type}),s.write(e),{uniforms:t,attributes:n}}var i=e("glsl-tokenizer"),a=e("glsl-parser"),o=e("through");t.exports=n},{"glsl-tokenizer":4,through:5,"glsl-parser":6}],7:[function(e,t){var r=t.exports={};r.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var r=[];return window.addEventListener("message",function(e){if(e.source===window&&"process-tick"===e.data&&(e.stopPropagation(),r.length>0)){var t=r.shift();t()}},!0),function(e){r.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),r.title="browser",r.browser=!0,r.env={},r.argv=[],r.binding=function(){throw Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(){throw Error("process.chdir is not supported")}},{}],5:[function(e,t,r){(function(n){function i(e,t,r){function i(){for(;c.length&&!f.paused;){var e=c.shift();if(null===e)return f.emit("end");f.emit("data",e)}}function o(){f.writable=!1,t.call(f),!f.readable&&f.autoDestroy&&f.destroy()}e=e||function(e){this.queue(e)},t=t||function(){this.queue(null)};var s=!1,u=!1,c=[],l=!1,f=new a;return f.readable=f.writable=!0,f.paused=!1,f.autoDestroy=!(r&&r.autoDestroy===!1),f.write=function(t){return e.call(this,t),!f.paused},f.queue=f.push=function(e){return l?f:(null==e&&(l=!0),c.push(e),i(),f)},f.on("end",function(){f.readable=!1,!f.writable&&f.autoDestroy&&n.nextTick(function(){f.destroy()})}),f.end=function(e){return s?void 0:(s=!0,arguments.length&&f.write(e),o(),f)},f.destroy=function(){return u?void 0:(u=!0,s=!0,c.length=0,f.writable=f.readable=!1,f.emit("close"),f)},f.pause=function(){return f.paused?void 0:(f.paused=!0,f)},f.resume=function(){return f.paused&&(f.paused=!1,f.emit("resume")),i(),f.paused||f.emit("drain"),f},f}var a=e("stream");r=t.exports=i,i.through=i})(e("__browserify_process"))},{stream:8,__browserify_process:7}],6:[function(e,t){t.exports=e("./lib/index")},{"./lib/index":9}],10:[function(e,t){t.exports=["precision","highp","mediump","lowp","attribute","const","uniform","varying","break","continue","do","for","while","if","else","in","out","inout","float","int","void","bool","true","false","discard","return","mat2","mat3","mat4","vec2","vec3","vec4","ivec2","ivec3","ivec4","bvec2","bvec3","bvec4","sampler1D","sampler2D","sampler3D","samplerCube","sampler1DShadow","sampler2DShadow","struct","asm","class","union","enum","typedef","template","this","packed","goto","switch","default","inline","noinline","volatile","public","static","extern","external","interface","long","short","double","half","fixed","unsigned","input","output","hvec2","hvec3","hvec4","dvec2","dvec3","dvec4","fvec2","fvec3","fvec4","sampler2DRect","sampler3DRect","sampler2DRectShadow","sizeof","cast","namespace","using"]},{}],11:[function(e,t){t.exports=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]},{}],12:[function(e,t){t.exports=["gl_Position","gl_PointSize","gl_ClipVertex","gl_FragCoord","gl_FrontFacing","gl_FragColor","gl_FragData","gl_FragDepth","gl_Color","gl_SecondaryColor","gl_Normal","gl_Vertex","gl_MultiTexCoord0","gl_MultiTexCoord1","gl_MultiTexCoord2","gl_MultiTexCoord3","gl_MultiTexCoord4","gl_MultiTexCoord5","gl_MultiTexCoord6","gl_MultiTexCoord7","gl_FogCoord","gl_MaxLights","gl_MaxClipPlanes","gl_MaxTextureUnits","gl_MaxTextureCoords","gl_MaxVertexAttribs","gl_MaxVertexUniformComponents","gl_MaxVaryingFloats","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformComponents","gl_MaxDrawBuffers","gl_ModelViewMatrix","gl_ProjectionMatrix","gl_ModelViewProjectionMatrix","gl_TextureMatrix","gl_NormalMatrix","gl_ModelViewMatrixInverse","gl_ProjectionMatrixInverse","gl_ModelViewProjectionMatrixInverse","gl_TextureMatrixInverse","gl_ModelViewMatrixTranspose","gl_ProjectionMatrixTranspose","gl_ModelViewProjectionMatrixTranspose","gl_TextureMatrixTranspose","gl_ModelViewMatrixInverseTranspose","gl_ProjectionMatrixInverseTranspose","gl_ModelViewProjectionMatrixInverseTranspose","gl_TextureMatrixInverseTranspose","gl_NormalScale","gl_DepthRangeParameters","gl_DepthRange","gl_ClipPlane","gl_PointParameters","gl_Point","gl_MaterialParameters","gl_FrontMaterial","gl_BackMaterial","gl_LightSourceParameters","gl_LightSource","gl_LightModelParameters","gl_LightModel","gl_LightModelProducts","gl_FrontLightModelProduct","gl_BackLightModelProduct","gl_LightProducts","gl_FrontLightProduct","gl_BackLightProduct","gl_FogParameters","gl_Fog","gl_TextureEnvColor","gl_EyePlaneS","gl_EyePlaneT","gl_EyePlaneR","gl_EyePlaneQ","gl_ObjectPlaneS","gl_ObjectPlaneT","gl_ObjectPlaneR","gl_ObjectPlaneQ","gl_FrontColor","gl_BackColor","gl_FrontSecondaryColor","gl_BackSecondaryColor","gl_TexCoord","gl_FogFragCoord","gl_Color","gl_SecondaryColor","gl_TexCoord","gl_FogFragCoord","gl_PointCoord","radians","degrees","sin","cos","tan","asin","acos","atan","pow","exp","log","exp2","log2","sqrt","inversesqrt","abs","sign","floor","ceil","fract","mod","min","max","clamp","mix","step","smoothstep","length","distance","dot","cross","normalize","faceforward","reflect","refract","matrixCompMult","lessThan","lessThanEqual","greaterThan","greaterThanEqual","equal","notEqual","any","all","not","texture2D","texture2DProj","texture2DLod","texture2DProjLod","textureCube","textureCubeLod"]},{}],8:[function(e,t){function r(){n.EventEmitter.call(this)}var n=e("events"),i=e("util");i.inherits(r,n.EventEmitter),t.exports=r,r.Stream=r,r.prototype.pipe=function(e,t){function r(t){e.writable&&!1===e.write(t)&&u.pause&&u.pause()}function n(){u.readable&&u.resume&&u.resume()}function i(){c||(c=!0,e._pipeCount--,s(),e._pipeCount>0||e.end())}function a(){c||(c=!0,e._pipeCount--,s(),e._pipeCount>0||e.destroy())}function o(e){if(s(),0===this.listeners("error").length)throw e}function s(){u.removeListener("data",r),e.removeListener("drain",n),u.removeListener("end",i),u.removeListener("close",a),u.removeListener("error",o),e.removeListener("error",o),u.removeListener("end",s),u.removeListener("close",s),e.removeListener("end",s),e.removeListener("close",s)}var u=this;u.on("data",r),e.on("drain",n),e._isStdio||t&&t.end===!1||(e._pipeCount=e._pipeCount||0,e._pipeCount++,u.on("end",i),u.on("close",a));var c=!1;return u.on("error",o),e.on("error",o),u.on("end",s),u.on("close",s),e.on("end",s),e.on("close",s),e.emit("pipe",u),e}},{events:13,util:14}],13:[function(e,t,r){(function(e){function t(e,t){if(e.indexOf)return e.indexOf(t);for(var r=0;e.length>r;r++)if(t===e[r])return r;return-1}e.EventEmitter||(e.EventEmitter=function(){});var n=r.EventEmitter=e.EventEmitter,i="function"==typeof Array.isArray?Array.isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)},a=10;n.prototype.setMaxListeners=function(e){this._events||(this._events={}),this._events.maxListeners=e},n.prototype.emit=function(e){if("error"===e&&(!this._events||!this._events.error||i(this._events.error)&&!this._events.error.length))throw arguments[1]instanceof Error?arguments[1]:Error("Uncaught, unspecified 'error' event.");if(!this._events)return!1;var t=this._events[e];if(!t)return!1;if("function"==typeof t){switch(arguments.length){case 1:t.call(this);break;case 2:t.call(this,arguments[1]);break;case 3:t.call(this,arguments[1],arguments[2]);break;default:var r=Array.prototype.slice.call(arguments,1);t.apply(this,r)}return!0}if(i(t)){for(var r=Array.prototype.slice.call(arguments,1),n=t.slice(),a=0,o=n.length;o>a;a++)n[a].apply(this,r);return!0}return!1},n.prototype.addListener=function(e,t){if("function"!=typeof t)throw Error("addListener only takes instances of Function");if(this._events||(this._events={}),this.emit("newListener",e,t),this._events[e])if(i(this._events[e])){if(!this._events[e].warned){var r;r=void 0!==this._events.maxListeners?this._events.maxListeners:a,r&&r>0&&this._events[e].length>r&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),console.trace())}this._events[e].push(t)}else this._events[e]=[this._events[e],t];else this._events[e]=t;return this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){var r=this;return r.on(e,function n(){r.removeListener(e,n),t.apply(this,arguments)}),this},n.prototype.removeListener=function(e,r){if("function"!=typeof r)throw Error("removeListener only takes instances of Function");if(!this._events||!this._events[e])return this;var n=this._events[e];if(i(n)){var a=t(n,r);if(0>a)return this;n.splice(a,1),0==n.length&&delete this._events[e]}else this._events[e]===r&&delete this._events[e];return this},n.prototype.removeAllListeners=function(e){return 0===arguments.length?(this._events={},this):(e&&this._events&&this._events[e]&&(this._events[e]=null),this)},n.prototype.listeners=function(e){return this._events||(this._events={}),this._events[e]||(this._events[e]=[]),i(this._events[e])||(this._events[e]=[this._events[e]]),this._events[e]}})(e("__browserify_process"))},{__browserify_process:7}],14:[function(e,t,r){function n(e){return e instanceof Array||Array.isArray(e)||e&&e!==Object.prototype&&n(e.__proto__)}function i(e){return e instanceof RegExp||"object"==typeof e&&"[object RegExp]"===Object.prototype.toString.call(e)}function a(e){if(e instanceof Date)return!0;if("object"!=typeof e)return!1;var t=Date.prototype&&s(Date.prototype),r=e.__proto__&&s(e.__proto__);return JSON.stringify(r)===JSON.stringify(t)}e("events"),r.isArray=n,r.isDate=function(e){return"[object Date]"===Object.prototype.toString.call(e)},r.isRegExp=function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},r.print=function(){},r.puts=function(){},r.debug=function(){},r.inspect=function(e,t,u,c){function l(e,u){if(e&&"function"==typeof e.inspect&&e!==r&&(!e.constructor||e.constructor.prototype!==e))return e.inspect(u);switch(typeof e){case"undefined":return p("undefined","undefined");case"string":var c="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return p(c,"string");case"number":return p(""+e,"number");case"boolean":return p(""+e,"boolean")}if(null===e)return p("null","null");var h=o(e),d=t?s(e):h;if("function"==typeof e&&0===d.length){if(i(e))return p(""+e,"regexp");var v=e.name?": "+e.name:"";return p("[Function"+v+"]","special")}if(a(e)&&0===d.length)return p(e.toUTCString(),"date");var g,m,y;if(n(e)?(m="Array",y=["[","]"]):(m="Object",y=["{","}"]),"function"==typeof e){var b=e.name?": "+e.name:"";g=i(e)?" "+e:" [Function"+b+"]"}else g="";if(a(e)&&(g=" "+e.toUTCString()),0===d.length)return y[0]+g+y[1];if(0>u)return i(e)?p(""+e,"regexp"):p("[Object]","special");f.push(e);var w=d.map(function(t){var r,i;if(e.__lookupGetter__&&(e.__lookupGetter__(t)?i=e.__lookupSetter__(t)?p("[Getter/Setter]","special"):p("[Getter]","special"):e.__lookupSetter__(t)&&(i=p("[Setter]","special"))),0>h.indexOf(t)&&(r="["+t+"]"),i||(0>f.indexOf(e[t])?(i=null===u?l(e[t]):l(e[t],u-1),i.indexOf("\n")>-1&&(i=n(e)?i.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+i.split("\n").map(function(e){return" "+e}).join("\n"))):i=p("[Circular]","special")),r===void 0){if("Array"===m&&t.match(/^\d+$/))return i;r=JSON.stringify(""+t),r.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(r=r.substr(1,r.length-2),r=p(r,"name")):(r=r.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),r=p(r,"string"))}return r+": "+i});f.pop();var x=0,_=w.reduce(function(e,t){return x++,t.indexOf("\n")>=0&&x++,e+t.length+1},0);return w=_>50?y[0]+(""===g?"":g+"\n ")+" "+w.join(",\n ")+" "+y[1]:y[0]+g+" "+w.join(", ")+" "+y[1]}var f=[],p=function(e,t){var r={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},n={special:"cyan",number:"blue","boolean":"yellow",undefined:"grey","null":"bold",string:"green",date:"magenta",regexp:"red"}[t];return n?"["+r[n][0]+"m"+e+"["+r[n][1]+"m":e};return c||(p=function(e){return e}),l(e,u===void 0?2:u)},r.log=function(){},r.pump=null;var o=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t},s=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)Object.hasOwnProperty.call(e,r)&&t.push(r);return t},u=Object.create||function(e,t){var r;if(null===e)r={__proto__:null};else{if("object"!=typeof e)throw new TypeError("typeof prototype["+typeof e+"] != 'object'");var n=function(){};n.prototype=e,r=new n,r.__proto__=e}return t!==void 0&&Object.defineProperties&&Object.defineProperties(r,t),r};r.inherits=function(e,t){e.super_=t,e.prototype=u(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})};var c=/%[sdj%]/g;r.format=function(e){if("string"!=typeof e){for(var t=[],n=0;arguments.length>n;n++)t.push(r.inspect(arguments[n]));return t.join(" ")}for(var n=1,i=arguments,a=i.length,o=(e+"").replace(c,function(e){if("%%"===e)return"%";if(n>=a)return e;switch(e){case"%s":return i[n++]+"";case"%d":return Number(i[n++]);case"%j":return JSON.stringify(i[n++]);default:return e}}),s=i[n];a>n;s=i[++n])o+=null===s||"object"!=typeof s?" "+s:" "+r.inspect(s);return o}},{events:13}],4:[function(e,t){function r(){function e(e){e.length&&C.queue({type:x[D],data:e,position:V,line:B})}function t(e){for(q=0,G+=""+e,P=G.length;T=G[q],P>q;)switch(D){case c:q=S();break;case l:q=A();break;case f:q=k();break;case p:q=L();break;case h:q=j();break;case w:q=F();break;case d:q=I();break;case u:q=O();break;case y:q=E();break;case s:q=_()}R+=q,G=G.slice(q)}function r(){U.length&&e(U.join("")),D=b,e("(eof)"),C.queue(null)}function _(){return U=U.length?[]:U,"/"===N&&"*"===T?(V=R+q-1,D=c,N=T,q+1):"/"===N&&"/"===T?(V=R+q-1,D=l,N=T,q+1):"#"===T?(D=f,V=R+q,q):/\s/.test(T)?(D=y,V=R+q,q):(Y=/\d/.test(T),z=/[^\w_]/.test(T),V=R+q,D=Y?h:z?p:u,q)}function E(){return"\n"===T&&++B,/[^\s]/g.test(T)?(e(U.join("")),D=s,q):(U.push(T),N=T,q+1)}function k(){return"\n"===T&&++B,"\n"===T&&"\\"!==N?(e(U.join("")),D=s,q):(U.push(T),N=T,q+1)}function A(){return k()}function S(){return"/"===T&&"*"===N?(U.push(T),e(U.join("")),D=s,q+1):("\n"===T&&++B,U.push(T),N=T,q+1)}function L(){if("."===N&&/\d/.test(T))return D=d,q;if("/"===N&&"*"===T)return D=c,q;if("/"===N&&"/"===T)return D=l,q;if("."===T&&U.length){for(;M(U););return D=d,q}if(";"===T){if(U.length)for(;M(U););return e(T),D=s,q+1}var t=2===U.length&&"="!==T;if(/[\w_\d\s]/.test(T)||t){for(;M(U););return D=s,q}return U.push(T),N=T,q+1}function M(t){for(var r,n=0;;){r=a.indexOf(t.slice(0,t.length+n).join(""));{if(-1!==r)return e(a[r]),V+=a[r].length,U=U.slice(a[r].length),U.length;n-=1}}}function F(){return/[^a-fA-F0-9]/.test(T)?(e(U.join("")),D=s,q):(U.push(T),N=T,q+1)}function j(){return"."===T?(U.push(T),D=d,N=T,q+1):/[eE]/.test(T)?(U.push(T),D=d,N=T,q+1):"x"===T&&1===U.length&&"0"===U[0]?(D=w,U.push(T),N=T,q+1):/[^\d]/.test(T)?(e(U.join("")),D=s,q):(U.push(T),N=T,q+1)}function I(){return"f"===T&&(U.push(T),N=T,q+=1),/[eE]/.test(T)?(U.push(T),N=T,q+1):/[^\d]/.test(T)?(e(U.join("")),D=s,q):(U.push(T),N=T,q+1)}function O(){if(/[^\d\w_]/.test(T)){var t=U.join("");return D=i.indexOf(t)>-1?m:o.indexOf(t)>-1?g:v,e(U.join("")),D=s,q}return U.push(T),N=T,q+1}var T,N,P,C=n(t,r),q=0,R=0,D=s,U=[],B=1,V=0,Y=!1,z=!1,G="";return C}t.exports=r;var n=e("through"),i=e("./lib/literals"),a=e("./lib/operators"),o=e("./lib/builtins"),s=999,u=9999,c=0,l=1,f=2,p=3,h=4,d=5,v=6,g=7,m=8,y=9,b=10,w=11,x=["block-comment","line-comment","preprocessor","operator","integer","float","ident","builtin","keyword","whitespace","eof","integer"]},{"./lib/literals":10,"./lib/operators":11,"./lib/builtins":12,through:5}],15:[function(e,t){function r(){return this}function n(e,t){var r=m[e];return t=t||0,r?t>r.lbp&&(r.lbp=t):(r=Object.create(g),r.id=e,r.lbp=t,m[e]=r),r}function i(e){var t,r=h;for(l(),t=r.nud();h.lbp>e;)r=h,l(),t=r.led(t);return t}function a(e,t,r){var a=n(e,t);a.led=r||function(e){return this.children=[e,i(t)],this.type="binary",this}}function o(e,t,r){var a=n(e,t);return a.led=r||function(e){return this.children=[e,i(t-1)],this.type="binary",this},a}function s(e,t){var r=n(e);return r.nud=t||function(){return this.children=[i(70)],this.type="unary",this},r}function u(e){var t=n(e,150);t.led=function(e){return this.children=[e],this.type="suffix",this}}function c(e){return o(e,10,function(e){return this.children=[e,i(9)],this.assignment=!0,this.type="assign",this})}function l(e){var t,n,i,a;if(e&&h.data!==e)return p.unexpected("expected `"+e+"`, got `"+h.data+"`");if(v>=d.length)return h=m["(end)"],void 0;if(t=d[v++],n=t.data,i=t.type,"ident"===i)a=p.scope.find(n)||p.create_node(),i=a.type;else if("builtin"===i)a=m["(builtin)"];else if("keyword"===i)a=m["(keyword)"];else if("operator"===i){if(a=m[n],!a)return p.unexpected("unknown operator `"+n+"`")}else{if("float"!==i&&"integer"!==i)return p.unexpected("unexpected token.");i="literal",a=m["(literal)"]}return a&&(a.nud||(a.nud=r),a.children||(a.children=[])),a=Object.create(a),a.token=t,a.type=i,a.data||(a.data=n),h=a}function f(e){return function(){return p.unexpected(e)}}var p,h,d,v,g={nud:function(){return this.children&&this.children.length?this:f("unexpected")()},led:f("missing operator")},m={};n("(ident)").nud=r,n("(keyword)").nud=r,n("(builtin)").nud=r,n("(literal)").nud=r,n("(end)"),n(":"),n(";"),n(","),n(")"),n("]"),n("}"),o("&&",30),o("||",30),a("|",43),a("^",44),a("&",45),a("==",46),a("!=",46),a("<",47),a("<=",47),a(">",47),a(">=",47),a(">>",48),a("<<",48),a("+",50),a("-",50),a("*",60),a("/",60),a("%",60),a("?",20,function(e){return this.children=[e,i(0),(l(":"),i(0))],this.type="ternary",this}),a(".",80,function(e){return h.type="literal",p.fake(h),this.children=[e,h],l(),this}),a("[",80,function(e){return this.children=[e,i(0)],this.type="binary",l("]"),this}),a("(",80,function(e){if(this.children=[e],this.type="call",")"!==h.data)for(;;){if(this.children.push(i(0)),","!==h.data)break;l(",")}return l(")"),this}),s("-"),s("+"),s("!"),s("~"),s("defined"),s("(",function(){return this.type="group",this.children=[i(0)],l(")"),this}),s("++"),s("--"),u("++"),u("--"),c("="),c("+="),c("-="),c("*="),c("/="),c("%="),c("&="),c("|="),c("^="),c(">>="),c("<<="),t.exports=function(e,t){function r(e){p.unshift(e,!1);for(var t=0,n=e.children.length;n>t;++t)r(e.children[t]);p.shift()}p=e,d=t,v=0;var n;if(d.length){if(l(),n=i(0),n.parent=p[0],r(n),d.length>v)throw Error("did not use all tokens");n.parent.children=[n]}}},{}],16:[function(e,t){function r(e){return this.constructor!==r?new r(e):(this.state=e,this.scopes=[],this.current=null,void 0)}t.exports=r;var n=r,i=n.prototype;i.enter=function(e){this.scopes.push(this.current=this.state[0].scope=e||{})},i.exit=function(){this.scopes.pop(),this.current=this.scopes[this.scopes.length-1]},i.define=function(e){this.current[e]=this.state[0]},i.find=function(e){for(var t=this.scopes.length-1;t>-1;--t)if(this.scopes[t].hasOwnProperty(e))return this.scopes[t][e];return null}},{}],9:[function(e,t){function r(){function e(e){if("whitespace"===e.type||"line-comment"===e.type||"block-comment"===e.type)return Zt.push(e),void 0;for(Wt.push(e),It=It||Wt[0],It&&Zt.length&&(It.preceding=It.preceding||[],It.preceding=It.preceding.concat(Zt),Zt=[]);r();)switch(Kt[0].mode){case d:Z();break;case v:D();break;case b:J();break;case w:$();break;case k:rt();break;case g:wt(!0,!0);break;case A:xt();break;case h:tt();break;case M:et();break;case F:Q();break;case m:Mt();break;case y:Ft();break;case x:Et();break;case _:St();break;case N:Lt();break;case j:At();break;case E:kt();break;case C:_t()}}function t(t){return arguments.length&&e(t),Kt.length>1?(ct("unexpected EOF"),void 0):(Xt.emit("end"),void 0)}function r(){return Jt||!Kt.length?Jt:(It=Wt[0])&&!Xt.paused}function p(e){Kt.unshift(e),Kt.shift()}function S(e,t){e.parent=Kt[0];var r=[].unshift.call(this,e);if(t=void 0===t?!0:t,f){for(var n="",i=0,a=this.length-1;a>i;++i)n+=" |";console.log(n,"\\"+e.type,e.token.data)}return t&&Ot!==e&&Ot.children.push(e),Ot=e,r}function L(){var e=[].shift.call(this),t=Ht[this.length],r=!1;if(f){for(var n="",i=0,a=this.length;a>i;++i)n+=" |";console.log(n,"/"+e.type)}return Ht.length?"function"==typeof Ht[0]?r=Ht[0](e):void 0!==t&&(r=t.test?t.test(e.type):t===e.type):r=!0,r&&Xt.emit("data",e),Ot=e.parent,e}function D(){function e(){if(It.data===Kt[0].expecting)return Kt.scope.exit(),Kt.shift();switch(It.type){case"preprocessor":return Kt.fake(it()),Wt.shift(),void 0;default:return Kt.unshift(Nt()),void 0}}return pt(function(){return Kt.scope.enter(),l},e)()}function Z(){if(Kt[0].brace)return"}"!==It.data?ct("expected `}`, got "+It.data):(Kt[0].brace=!1,Wt.shift(),Kt.shift());switch(It.type){case"eof":return Kt.shift();case"keyword":switch(It.data){case"for":return Kt.unshift(Ut());case"if":return Kt.unshift(Bt());case"while":return Kt.unshift(Vt());case"do":return Kt.unshift(zt());case"break":return Kt.fake(n(I,It)),Wt.shift();case"continue":return Kt.fake(n(O,It)),Wt.shift();case"discard":return Kt.fake(n(T,It)),Wt.shift();case"return":return Kt.unshift(Yt());case"precision":return Kt.unshift(Ct())}return Kt.unshift(at(z));case"ident":var e;if(e=Kt.scope.find(It.data))return"struct"===e.parent.type?Kt.unshift(at(z)):Kt.unshift(st(";"));case"operator":if("{"===It.data){Kt[0].brace=!0;var t=Tt();return t.expecting="}",Wt.shift(),Kt.unshift(t)}if(";"===It.data)return Wt.shift(),Kt.shift();default:return Kt.unshift(st(";"))}}function J(){function e(){return"invariant"===It.data?d.flags&U?(Kt.unshift(ut()),l):ct("`invariant` is not allowed here"):(Kt.fake(n(P,{data:"",position:It.position})),l)}function t(){return i(It)?d.flags&B?(Kt.unshift(ut()),l):ct("storage is not allowed here"):(Kt.fake(n(P,{data:"",position:It.position})),l)}function r(){return a(It)?d.flags&V?ct("parameter is not allowed here"):(Kt.unshift(ut()),l):(Kt.fake(n(P,{data:"",position:It.position})),l)}function s(){return o(It)?(Kt.unshift(ut()),l):(Kt.fake(n(P,{data:"",position:It.position})),l)}function u(){if("struct"===It.data)return d.flags&Y?(Kt.unshift(ot()),l):ct("cannot nest structs");if("keyword"===It.type)return Kt.unshift(ut()),l;var e=Kt.scope.find(It.data);return e?(Kt.fake(Object.create(e)),Wt.shift(),l):ct("expected user defined type, struct or keyword, got "+It.data)}function c(){return","!==It.data||d.flags&R?"["===It.data?(Kt.unshift(Gt()),void 0):")"===It.data?Kt.shift():";"===It.data?d.stage+3:"ident"!==It.type?ct("expected identifier, got "+It.data):(d.collected_name=Wt.shift(),l):Kt.shift()}function f(){return"("===It.data?(Wt.unshift(d.collected_name),delete d.collected_name,Kt.unshift(Rt()),d.stage+2):l}function p(){return Wt.unshift(d.collected_name),delete d.collected_name,Kt.unshift(Pt()),l}function h(){return Kt.shift()}var d=Kt[0];return pt(e,t,r,s,u,c,f,p,h)()}function $(){if("ident"===It.type){var e=It.data;return Kt.unshift(qt()),Kt.scope.define(e),void 0}if("operator"===It.type){if(","===It.data)return Kt[1].flags&R?Wt.shift():Kt.shift();if("="===It.data)return Kt[1].flags&q?(Wt.shift(),Kt.unshift(st(",",";")),void 0):ct("`=` is not allowed here.");if("["===It.data)return Kt.unshift(Gt()),void 0}return Kt.shift()}function Q(){return"keyword"===It.type?(Kt[0].type="keyword",Kt[0].mode=M,void 0):"ident"===It.type?(Kt[0].type="ident",Kt[0].mode=h,void 0):ct("expected keyword or user-defined name, got "+It.data)}function et(){return"keyword"!==It.type?ct("expected keyword, got "+It.data):(Kt.shift(),Wt.shift())}function tt(){return"ident"!==It.type?ct("expected user-defined name, got "+It.data):(Kt[0].data=It.data,Kt.shift(),Wt.shift())}function rt(){function e(e){return u(Kt,e),Kt.shift()}var t=Kt[0].expecting;if(Kt[0].tokens=Kt[0].tokens||[],void 0===Kt[0].parenlevel&&(Kt[0].parenlevel=0,Kt[0].bracelevel=0),1>Kt[0].parenlevel&&t.indexOf(It.data)>-1)return e(Kt[0].tokens);switch("("===It.data?++Kt[0].parenlevel:")"===It.data&&--Kt[0].parenlevel,It.data){case"{":++Kt[0].bracelevel;break;case"}":--Kt[0].bracelevel;break;case"(":++Kt[0].parenlevel;break;case")":--Kt[0].parenlevel}return 0>Kt[0].parenlevel?ct("unexpected `)`"):0>Kt[0].bracelevel?ct("unexpected `}`"):(Kt[0].tokens.push(Wt.shift()),void 0)}function nt(e){return function(){return n(e,It)}}function it(){return n(W[It.type],It,Ot)}function at(e){var t=n(b,It,Ot);return t.flags=e,t}function ot(e,t){var r=n(g,It,Ot);return r.allow_assign=void 0===e?!0:e,r.allow_comma=void 0===t?!0:t,r}function st(){var e=n(k,It,Ot);return e.expecting=[].slice.call(arguments),e}function ut(e){var t=It;return e&&(t={type:"(implied)",data:"(default)",position:t.position}),n(M,t,Ot)}function ct(e){Jt=!0,Xt.emit("error",Error((e||"unexpected "+Kt)+" at line "+Kt[0].token.line))}function lt(e,t){return ft(e,It.type)&&ft(t,It.data)}function ft(e,t){switch(typeof e){case"string":return t!==e&&ct("expected `"+e+"`, got "+t+"\n"+It.data),!Jt;case"object":return e&&-1===e.indexOf(t)&&ct("expected one of `"+e.join("`, `")+"`, got "+t),!Jt}return!0}function pt(){var e,t,r=[].slice.call(arguments);return function(){var n=Kt[0];return n.stage||(n.stage=0),(e=r[n.stage])?(t=e(),t===l?++n.stage:(void 0!==t&&(n.stage=t),void 0)):ct("parser in undefined state!")}}function ht(e,t){return t=t||"operator",function(){if(lt(t,e)){var r=Wt.shift(),n=Kt[0].children,i=n[n.length-1];return i&&i.token&&r.preceding&&(i.token.succeeding=i.token.succeeding||[],i.token.succeeding=i.token.succeeding.concat(r.preceding)),l}}}function dt(e){return function(){return Kt.unshift(st(e)),l}}function vt(e){return e?function(){var e=It.data;return lt("ident")&&(Kt.unshift(qt()),Kt.scope.define(e),l)}:function(){if(lt("ident")){var e=Object.create(Kt.scope.find(It.data));return e.token=It,Wt.shift(),l}}}function gt(){return function(){var e=Tt();return e.expecting="}",Kt.unshift(e),l}}function mt(e){return function(){var t=Kt[0].stage;return"{"!==It.data?(Kt.unshift(Nt()),t+e):(Wt.shift(),l)}}function yt(){return function(){return Kt.shift(),Kt.shift()}}function bt(){wt=pt(ht("struct","keyword"),function(){return"{"===It.data?(Kt.fake(n(h,{data:"",position:It.position,type:"ident"})),l):vt(!0)()},function(){return Kt.scope.enter(),l},ht("{"),function(){return"}"===It.data?(Kt.scope.exit(),Wt.shift(),Kt.shift()):";"===It.data?(Wt.shift(),void 0):(Kt.unshift(at(X)),void 0)}),xt=pt(function(){return Wt.shift(),l},function(){return lt("keyword",["lowp","mediump","highp"])&&(Kt.unshift(ut()),l)
},function(){return Kt.unshift(ut()),l},function(){return Kt.shift()}),_t=pt(ht("["),dt("]"),ht("]"),function(){return Kt.shift()}),Et=pt(ht("for","keyword"),ht("("),function(){var e;if("ident"===It.type){if((e=Kt.scope.find(It.data))||(e=Kt.create_node()),"struct"===e.parent.type)return Kt.unshift(at(z)),l}else if("builtin"===It.type||"keyword"===It.type)return Kt.unshift(at(z)),l;return dt(";")()},ht(";"),dt(";"),ht(";"),dt(")"),ht(")"),mt(3),gt(),ht("}"),yt()),kt=pt(ht("if","keyword"),ht("("),dt(")"),ht(")"),mt(3),gt(),ht("}"),function(){return"else"===It.data?(Wt.shift(),Kt.unshift(Nt()),l):yt()()},yt()),At=pt(ht("return","keyword"),function(){return";"===It.data?l:(Kt.unshift(st(";")),l)},function(){Wt.shift(),yt()()}),St=pt(ht("while","keyword"),ht("("),dt(")"),ht(")"),mt(3),gt(),ht("}"),yt()),Lt=pt(ht("do","keyword"),mt(3),gt(),ht("}"),ht("while","keyword"),ht("("),dt(")"),ht(")"),yt()),Mt=pt(function(){for(var e=1,t=Kt.length;t>e;++e)if(Kt[e].mode===m)return ct("function definition is not allowed within another function");return l},function(){if(lt("ident")){var e=It.data,t=Kt.scope.find(e);return Kt.unshift(qt()),Kt.scope.define(e),Kt.scope.enter(t?t.scope:null),l}},ht("("),function(){return Kt.unshift(Dt()),l},ht(")"),function(){return";"===It.data?(Kt.scope.exit(),Kt.shift(),Kt.shift()):l},ht("{"),gt(),ht("}"),function(){return Kt.scope.exit(),l},function(){return Kt.shift(),Kt.shift(),Kt.shift()}),Ft=pt(function(){return"void"===It.data?(Kt.fake(ut()),Wt.shift(),l):")"===It.data?(Kt.shift(),void 0):"struct"===It.data?(Kt.unshift(ot(H,K)),l):(Kt.unshift(at(G)),l)},function(){return","===It.data?(Wt.shift(),0):")"===It.data?(Kt.shift(),void 0):(ct("expected one of `,` or `)`, got "+It.data),void 0)})}var wt,xt,_t,Et,kt,At,St,Lt,Mt,Ft,jt,It,Ot,Tt=nt(v),Nt=nt(d),Pt=nt(w),Ct=nt(A),qt=nt(h),Rt=(nt(F),nt(m)),Dt=nt(y),Ut=nt(x),Bt=nt(E),Vt=nt(_),Yt=nt(j),zt=nt(N),Gt=nt(C),Xt=s(e,t),Ht=arguments.length?[].slice.call(arguments):[],Kt=[],Wt=[],Zt=[],Jt=!1;return Kt.shift=L,Kt.unshift=S,Kt.fake=p,Kt.unexpected=ct,Kt.scope=new c(Kt),Kt.create_node=function(){var e=n(h,It);return e.parent=Xt.program,e},bt(),Ot=Tt(),Ot.expecting="(eof)",Ot.mode=v,Ot.token={type:"(program)",data:"(program)"},jt=Ot,Xt.program=jt,Xt.scope=function(e){return 1===arguments.length&&(Kt.scope=e),Kt.scope},Kt.unshift(Ot),Xt}function n(e,t){return{mode:e,token:t,children:[],type:Z[e],id:(4294967295*Math.random()).toString(16)}}function i(e){return"const"===e.data||"attribute"===e.data||"uniform"===e.data||"varying"===e.data}function a(e){return"in"===e.data||"inout"===e.data||"out"===e.data}function o(e){return"highp"===e.data||"mediump"===e.data||"lowp"===e.data}t.exports=r;var s=e("through"),u=e("./expr"),c=e("./scope"),l={},f=!1,p=0,h=p++,d=p++,v=p++,g=p++,m=p++,y=p++,b=p++,w=p++,x=p++,_=p++,E=p++,k=p++,A=p++,S=p++,L=p++,M=p++,F=p++,j=p++,I=p++,O=p++,T=p++,N=p++,P=p++,C=p++,q=1,R=2,D=4,U=8,B=16,V=32,Y=64,z=255,G=z&~(q|R|V|U|D),X=z&~(q|U|B|Y),H=!1,K=!1,W={"block-comment":S,"line-comment":S,preprocessor:L},Z=p=["ident","stmt","stmtlist","struct","function","functionargs","decl","decllist","forloop","whileloop","if","expr","precision","comment","preprocessor","keyword","keyword_or_ident","return","break","continue","discard","do-while","placeholder","quantifier"]},{"./expr":15,"./scope":16,through:17}],17:[function(e,t,r){(function(n){function i(e,t){function r(){for(;c.length&&!u.paused;){var e=c.shift();if(null===e)return u.emit("end");u.emit("data",e)}}function i(){u.writable=!1,t.call(u),u.readable||u.destroy()}e=e||function(e){this.emit("data",e)},t=t||function(){this.emit("end")};var o=!1,s=!1,u=new a,c=[];return u.buffer=c,u.readable=u.writable=!0,u.paused=!1,u.write=function(t){return e.call(this,t),!u.paused},u.queue=function(e){c.push(e),r()},u.on("end",function(){u.readable=!1,u.writable||n.nextTick(function(){u.destroy()})}),u.end=function(e){o||(o=!0,arguments.length&&u.write(e),i())},u.destroy=function(){s||(s=!0,o=!0,c.length=0,u.writable=u.readable=!1,u.emit("close"))},u.pause=function(){u.paused||(u.paused=!0,u.emit("pause"))},u.resume=function(){u.paused&&(u.paused=!1),r(),u.paused||u.emit("drain")},u}var a=e("stream");r=t.exports=i,i.through=i})(e("__browserify_process"))},{stream:8,__browserify_process:7}]},{},[]);var shell=require("gl-now")(),createMesh=require("gl-mesh"),simple3DShader=require("simple-3d-shader"),attachCamera=require("game-shell-orbit-camera"),glm=require("gl-matrix"),mat4=glm.mat4,shader,mesh,camera=attachCamera(shell);camera.lookAt([0,3,20],[0,3,0],[0,1,0]),shell.on("gl-init",function(){shader=simple3DShader(shell.gl),mesh=createMesh(shell.gl,require("bunny"))}),shell.on("gl-render",function(){shader.bind();var e=mat4.create();shader.uniforms.model=e,shader.uniforms.projection=mat4.perspective(e,Math.PI/4,shell.width/shell.height,.1,1e3),shader.uniforms.view=camera.view(e),mesh.bind(shader),mesh.draw(),mesh.unbind()});
<style type='text/css'>html, body { margin: 0; padding: 0; border: 0; }
body, html { height: 100%; width: 100%; }</style>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment