(function e$$0(x,Q,k){function h(a,b){if(!Q){if(!x){var d=“function”==typeof require&&require;if(!b&&d)return d(a,!0);if(m)return m(a,!0);throw Error(“Cannot find module '” =l}else for(f=[],l=d.slice(1),r=0;r<p;++r)f.push(a.createJavaArray(b,l));return f};a.defineProperty(a,“screenWidth”,{get:function(){return window.innerWidth}});a.defineProperty(a,“screenHeight”,{get:function(){return window.innerHeight}});return a}},{}],6:[function(D,x,Q){x.exports=function(k,h){var m=h.window,n=h.document,a=m.XMLHttpRequest,b=h.noop,d=h.isDOMPresent,f=h.version;k.version=f?f:“@DEV-VERSION@”;k.lib={};k.registerLibrary=function(f,c){k.lib=c;c.hasOwnProperty(“init”)&& c.init(defaultScope)};k.Sketch=function(f){this.attachFunction=f;this.options={pauseOnBlur:!1,globalKeyEvents:!1};this.onExit=this.onFrameEnd=this.onFrameStart=this.onLoop=this.onPause=this.onSetup=this.onLoad=b;this.params={};this.imageCache={pending:0,images:{},operaCache:{},add:function(c,f){if(!this.images&&(d||(this.images=null),f||(f=new Image,f.onload=function©{return function(){c.pending–}}(this),this.pending++,f.src=c),this.images=f,m.opera)){var a=n.createElement(“div”);a.appendChild(f); a.style.position=“absolute”;a.style.opacity=0;a.style.width=“1px”;a.style.height=“1px”;this.operaCache||(n.body.appendChild(a),this.operaCache=a)}}};this.sourceCode=void 0;this.attach=function©{if(“function”===typeof this.attachFunction)this.attachFunction©;else if(this.sourceCode){var f=(new Function(“return (” .getName(), c=this.attributes.getNamespace(),r=a.findAttribute(r,c),null===r||this.attributes.getValue()!==r.getValue()||this.attributes.getType()!==r.getType())return!1;if(this.children.length!==a.getChildCount())return!1;if(0<this.children.length){b=0;for(p=this.children.length;b<p;b++)if(r=this.getChild(b),c=a.getChild(b),!r.equals©)return!1;return!0}return this.content===a.content},getContent:function(){if(”TEXT“===this.type||”CDATA“===this.type)return this.content;var a=this.children;return 1!== a.length||”TEXT“!==a.type&&”CDATA“!==a.type?null:a.content},getAttribute:function(){var a;if(2===arguments.length)return(a=this.findAttribute(arguments))?a.getValue():arguments;if(1===arguments.length)return(a=this.findAttribute(arguments))?a.getValue():null;if(3===arguments.length)return(a=this.findAttribute(arguments,arguments))?a.getValue():arguments},getStringAttribute:function(){return 1===arguments.length?this.getAttribute(arguments):2===arguments.length?this.getAttribute(arguments, arguments):this.getAttribute(arguments,arguments,arguments)},getString:function(a){return this.getStringAttribute(a)},getFloatAttribute:function(){return 1===arguments.length?parseFloat(this.getAttribute(arguments,0)):2===arguments.length?this.getAttribute(arguments,arguments):this.getAttribute(arguments,arguments,arguments)},getFloat:function(a){return this.getFloatAttribute(a)},getIntAttribute:function(){return 1===arguments.length?this.getAttribute(arguments,0): 2===arguments.length?this.getAttribute(arguments,arguments):this.getAttribute(arguments,arguments,arguments)},getInt:function(a){return this.getIntAttribute(a)},hasChildren:function(){return 0<this.children.length},addChild:function(a){null!==a&&(a.parent=this,this.children.push(a))},insertChild:function(a,b){if(a){if(null===a.getLocalName()&&!this.hasChildren()){var d=this.children;if(null===d.getLocalName()){d.setContent(d.getContent()+a.getContent());return}}a.parent= this;this.children.splice(b,0,a)}},getChild:function(a){if(”number“===typeof a)return this.children;if(-1!==a.indexOf(”/“))return this.getChildRecursive(a.split(”/“),0);for(var b,d,r=0,c=this.getChildCount();r<c;r++)if(b=this.getChild®,d=b.getName(),null!==d&&d===a)return b;return null},getChildren:function(){if(1===arguments.length){if(”number“===typeof arguments)return this.getChild(arguments);if(-1!==arguments.indexOf(”/“))return this.getChildrenRecursive(arguments.split(”/“), 0);for(var a=[],b,d,r=0,c=this.getChildCount();ra
“'”);}d=Q={exports:{}};x[0].call(d.exports,function(f){var b=x[1];return h(b?b:f)},d,d.exports,e$$0,x,Q,k)}return Q.exports}for(var m=“function”==typeof require&&require,n=0;nObject
?Object.defineProperty(a,d,f):(f.hasOwnProperty(“get”)&& a.__defineGetter__(d,f.get),f.hasOwnProperty(“set”)&&a.__defineSetter__(d,f.set))};a.extendClassChain=function(a){for(var d=,f=a.$upcast;f;f=f.$upcast)n(f,a),d.push(f),a=f;for(;0<d.length;)d.pop().$self=a};a.extendStaticMembers=function(a,d){n(a,d)};a.extendInterfaceMembers=function(a,d){n(a,d)};a.addMethod=function(a,d,f,l){var p=a;if(p||l){var r=f.length;if(“$overloads”in p)p.$overloads=f;else{var c=function(){return(c.$overloads||(“$methodArgsIndex”in c&&arguments.length> c.$methodArgsIndex?c.$overloads:null)||c.$defaultOverload).apply(this,arguments)},h=[];p&&(h=p);h=f;c.$overloads=h;c.$defaultOverload=p||f;l&&(c.$methodArgsIndex=r);c.name=d;a=c}}else a=f};a.createJavaArray=function(b,d){var f=null,l=null;if(“string”===typeof b)if(“boolean”===b)l=!1;else{var p;p=“string”!==typeof b?!1:-1!==“byte int char color float long double”.split(“ ”).indexOf(b);p&&(l=0)}if(“number”===typeof d)if(p=0|d,1>=d.length){f=[];f.length=p; for(var r=0;rthis.sourceCode
“);”))();f©;this.attachFunction=f}else throw“Unable to attach sketch to the processing instance”;};this.toString=function(){var c,f;f=“((function(Sketch) {n”+ (“var sketch = new Sketch(n”this.sourceCode
“);n”);for(c in this.options)if(this.options.hasOwnProperty©){var a=this.options;f+=“sketch.options.”c
“ = ”+(“string”===typeof a?'“'a
'”':“”a)
“;n”}for(c in this.imageCache)this.options.hasOwnProperty©&&(f+='sketch.imageCache.add(“'c
'”);n');return f+“return sketch;n})(Processing.Sketch))”}};var l=k.loadSketchFromSources=function(f,c){function d(c,f){var b=new a;b.onreadystatechange=function(){if(4===b.readyState){var c;200!==b.status&& 0!==b.status?c=“Invalid XHR status ”+b.status:“”===b.responseText&&(c=“withCredentials”in new a&&!1===(new a).withCredentials&&“file:”===m.location.protocol?“XMLHttpRequest failure, possibly due to a same-origin policy violation. You can try loading this page in another browser, or load it from localhost using a local webserver. See the Processing.js README for a more detailed explanation of this problem and solutions.”:“File is empty.”);f(b.responseText,c)}};b.open(“GET”,c,!0);b.overrideMimeType&& b.overrideMimeType(“application/json”);b.setRequestHeader(“If-Modified-Since”,“Fri, 01 Jan 1960 00:00:00 GMT”);b.send(null)}function b(c,a){function m(d,b){l=d;++v;b&&p.push(a+“ ==> ”+b);if(v===h)if(0===p.length)try{return new k(f,l.join(“n”))}catch(md){throw console.log(“Processing.js: Unable to execute pjs sketch.”),md;}else throw“Processing.js: Unable to load pjs sketch files: ”+p.join(“n”);}if(“#”===a.charAt(0)){var ca=n.getElementById(a.substring(1));ca?m(ca.text||ca.textContent):m(“”,“Unable to load pjs sketch: element with id '”+ a.substring(1)+“' was not found”)}else d(a,m)}for(var l=[],p=,h=c.length,v=0,ga=0;gaa
“ greater or equal than ”+b.length;for(l=new ObjectIterator(f);l.hasNext();)b.splice(a++,0,l.next())}else for(l=new ObjectIterator(a);l.hasNext();)b.push(l.next())};this.set=function(){if(2===arguments.length){var a= arguments;if(“number”===typeof a)if(0<=a&&ab
'”, sans-serif'}var f=this.size/250,l=n.createElement(“canvas”);l.width=500;l.height=500;l.style.opacity=0;var p=this.getCSSDefinition(“250px”,“normal”),r=l.getContext(“2d”);r.font=p;l.width=r.measureText(“dbflkhyjqpg”).width; r.font=p;p=n.createElement(“div”);p.style.position=“absolute”;p.style.opacity=0;p.style.fontFamily='“'this.name
'”';p.style.fontSize=“250px”;p.innerHTML=“dbflkhyjqpg<br/>dbflkhyjqpg”;n.body.appendChild(p);var c=l.width,k=l.height,l=k/2;r.fillStyle=“white”;r.fillRect(0,0,c,k);r.fillStyle=“black”;r.fillText(“dbflkhyjqpg”,0,l);for(var k=r.getImageData(0,0,c,k).data,m=0,G=4*c,A=k.length;++m;)a();c=Math.round(m/G);for(m=A-1;0<--m&&255===k;)a();k=Math.round(m/G);this.ascent=f*(l-c);this.descent= f*(k-l);n.defaultView.getComputedStyle&&(l=n.defaultView.getComputedStyle(p,null).getPropertyValue(“height”),l=f*l.replace(“px”,“”),l>=2*this.size&&(this.leading=Math.round(l/2)));n.body.removeChild(p);f=this.caching?r:void 0;this.context2d=f;this.css=this.getCSSDefinition();this.context2d&&(this.context2d.font=this.css)}var n=k.Browser.document,a=k.noop;m.prototype.caching=!0;m.prototype.getCSSDefinition=function(a,d){a===h&&(a=this.size+“px”);d===h&&(d=this.leading+“px”);return[this.style,“normal”, this.weight,a+“/”+d,this.family].join(“ ”)};m.prototype.measureTextWidth=function(a){return this.context2d.measureText(a).width};m.prototype.measureTextWidthFallback=function(a){var d=n.createElement(“canvas”).getContext(“2d”);d.font=this.css;return d.measureText(a).width};m.PFontCache={length:0};m.get=function(a,d){d=(10*d+0.5|0)/10;var f=m.PFontCache,l=a+“/”+d;if(!f){f=new m(a,d);f.length++;if(50===f.length){m.prototype.measureTextWidth=m.prototype.measureTextWidthFallback;m.prototype.caching= !1;for(var p in f)“length”!==p&&(f.context2d=null);return new m(a,d)}if(400===f.length)return m.PFontCache={},m.get=m.getFallback,new m(a,d)}return f};m.getFallback=function(a,d){return new m(a,d)};m.list=function(){return};m.preloading={template:{},initialized:!1,initialize:function(){var a=n.createElement(“style”);a.setAttribute(“type”,“text/css”);a.innerHTML='@font-face {n font-family: “PjsEmptyFont”;n src: url('data:application/x-font-ttf;base64,'+ function(){return“#E3KAI2wAgT1MvMg7Eo3VmNtYX7ABi3CxnbHlm7Abw3kaGVhZ7ACs3OGhoZWE7A53CRobXR47AY3AGbG9jYQ7G03Bm1heH7ABC3CBuYW1l7Ae3AgcG9zd7AI3AE#B3AQ2kgTY18PPPUACwAg3ALSRoo3#yld0xg32QAB77#E777773B#E3C#I#Q77773E#Q7777777772CMAIw7AB77732B#M#Q3wAB#g3B#E#E2BB//82BB////w#B7#gAEg3E77x2B32B#E#Q#MTcBAQ32gAe#M#QQJ#E32M#QQJ#I#g32Q77#”.replace(//g,function(a){return“AAAAAAAA”.substr(~~a?7-a:6)})}()+“')n format('truetype');n}”;n.head.appendChild(a);a=n.createElement(“span”);a.style.cssText='position: absolute; top: 0; left: 0; opacity: 0; font-family: “PjsEmptyFont”, fantasy;'; a.innerHTML=“AAAAAAAA”;n.body.appendChild(a);this.template=a;this.initialized=!0},getElementWidth:function(a){return n.defaultView.getComputedStyle(a,“”).getPropertyValue(“width”)},timeAttempted:0,pending:function(a){this.initialized||this.initialize();for(var d,f,l=this.getElementWidth(this.template),p=0;p<this.fontList.length;p++){d=this.fontList;f=this.getElementWidth(d);if(4E3>this.timeAttempted&&f===l)return this.timeAttempted+=a,!0;n.body.removeChild(d);this.fontList.splice(p–,1);this.timeAttempted= 0}return 0===this.fontList.length?!1:!0},fontList:[],addedList:{},add:function(a){this.initialized||this.initialize();var d=“object”===typeof a?a.fontFace:a;a=“object”===typeof a?a.url:a;if(!this.addedList){var f=n.createElement(“style”);f.setAttribute(“type”,“text/css”);f.innerHTML=“@font-face{n font-family: '”d
“';n src: url('”a
“');n}n”;n.head.appendChild(f);this.addedList=!0;a=n.createElement(“span”);a.style.cssText=“position: absolute; top: 0; left: 0; opacity: 0;”;a.style.fontFamily= '“'d
'”, “PjsEmptyFont”, fantasy';a.innerHTML=“AAAAAAAA”;n.body.appendChild(a);this.fontList.push(a)}}};return m}},{}],13:[function(D,x,Q){x.exports=function(k,h){var m=k.p,n=function(){0===arguments.length?this.reset():1===arguments.length&&argumentsinstanceof n?this.set(arguments.array()):6===arguments.length&&this.set(arguments,arguments,arguments,arguments,arguments,arguments)};n.prototype={set:function(){if(6===arguments.length){var a=arguments;this.set([a,a,a, a,a,a])}else 1===arguments.length&&argumentsinstanceof n?this.elements=arguments.array():1===arguments.length&&argumentsinstanceof Array&&(this.elements=arguments.slice())},get:function(){var a=new n;a.set(this.elements);return a},reset:function(){this.set()},array:function(){return this.elements.slice()},translate:function(a,b){this.elements=a*this.elements+b*this.elements+this.elements;this.elements=a*this.elements+b*this.elements+this.elements}, invTranslate:function(a,b){this.translate(-a,-b)},transpose:function(){},mult:function(a,b){var d,f;a instanceof PVector?(d=a.x,f=a.y,b||(b=new PVector)):a instanceof Array&&(d=a,f=a,b||(b=[]));b instanceof Array?(b=this.elements*d+this.elements*f+this.elements,b=this.elements*d+this.elements*f+this.elements):b instanceof PVector&&(b.x=this.elements*d+this.elements*f+this.elements,b.y=this.elements*d+this.elements*f+this.elements,b.z=0);return b},multX:function(a, b){return a*this.elements+b*this.elements+this.elements},multY:function(a,b){return a*this.elements+b*this.elements+this.elements},skewX:function(a){this.apply(1,0,1,a,0,0)},skewY:function(a){this.apply(1,0,1,0,a,0)},shearX:function(a){this.apply(1,0,1,Math.tan(a),0,0)},shearY:function(a){this.apply(1,0,1,0,Math.tan(a),0)},determinant:function(){return this.elements*this.elements-this.elements*this.elements},invert:function(){var a=this.determinant();if(Math.abs(a)>PConstants.MIN_INT){var b= this.elements,d=this.elements,f=this.elements,l=this.elements,p=this.elements,r=this.elements;this.elements=p/a;this.elements=-l/a;this.elements=-d/a;this.elements=b/a;this.elements=(d*r-p*f)/a;this.elements=(l*f-b*r)/a;return!0}return!1},scale:function(a,b){a&&!b&&(b=a);a&&b&&(this.elements*=a,this.elements*=b,this.elements*=a,this.elements*=b)},invScale:function(a,b){a&&!b&&(b=a);this.scale(1/a,1/b)},apply:function(){var a;1===arguments.length&&argumentsinstanceof n?a=arguments.array():6===arguments.length?a=Array.prototype.slice.call(arguments):1===arguments.length&&argumentsinstanceof Array&&(a=arguments);for(var b=[0,0,this.elements,0,0,this.elements],d=0,f=0;2>f;f++)for(var l=0;3>l;l++,d++)b+=this.elements*a+this.elements*a;this.elements=b.slice()},preApply:function(){var a;1===arguments.length&&argumentsinstanceof n?a=arguments.array():6===arguments.length?a=Array.prototype.slice.call(arguments):1===arguments.length&& argumentsinstanceof Array&&(a=arguments);var b=[0,0,a,0,0,a];b=a+this.elements*a+this.elements*a;b=a+this.elements*a+this.elements*a;b=this.elements*a+this.elements*a;b=this.elements*a+this.elements*a;b=this.elements*a+this.elements*a;b=this.elements*a+this.elements*a;this.elements=b.slice()},rotate:function(a){var b=Math.cos(a);a=Math.sin(a);var d=this.elements,f=this.elements;this.elements= b*d+a*f;this.elements=-a*d+b*f;d=this.elements;f=this.elements;this.elements=b*d+a*f;this.elements=-a*d+b*f},rotateZ:function(a){this.rotate(a)},invRotateZ:function(a){this.rotateZ(a-Math.PI)},print:function(){var a=printMatrixHelper(this.elements),a=“”+m.nfs(this.elements,a,4)+“ ”+m.nfs(this.elements,a,4)+“ ”+m.nfs(this.elements,a,4)+“n”+m.nfs(this.elements,a,4)+“ ”+m.nfs(this.elements,a,4)+“ ”+m.nfs(this.elements,a,4)+“nn”;m.println(a)}};return n}},{}],14:[function(D, x,Q){x.exports=function(k,h){var m=k.p,n=function(){this.reset()};n.prototype={set:function(){16===arguments.length?this.elements=Array.prototype.slice.call(arguments):1===arguments.length&&argumentsinstanceof n?this.elements=arguments.array():1===arguments.length&&argumentsinstanceof Array&&(this.elements=arguments.slice())},get:function(){var a=new n;a.set(this.elements);return a},reset:function(){this.elements=},array:function(){return this.elements.slice()}, translate:function(a,b,d){d===h&&(d=0);this.elements+=a*this.elements+b*this.elements+d*this.elements;this.elements+=a*this.elements+b*this.elements+d*this.elements;this.elements+=a*this.elements+b*this.elements+d*this.elements;this.elements+=a*this.elements+b*this.elements+d*this.elements},transpose:function(){var a=this.elements;this.elements=this.elements;this.elements=a;a=this.elements;this.elements=this.elements;this.elements= a;a=this.elements;this.elements=this.elements;this.elements=a;a=this.elements;this.elements=this.elements;this.elements=a;a=this.elements;this.elements=this.elements;this.elements=a;a=this.elements;this.elements=this.elements;this.elements=a},mult:function(a,b){var d,f,l,p;a instanceof PVector?(d=a.x,f=a.y,l=a.z,p=1,b||(b=new PVector)):a instanceof Array&&(d=a,f=a,l=a,p=a||1,!b||3!==b.length&&4!==b.length)&&(b=);b instanceof Array&&(3===b.length?(b=this.elements*d+this.elements*f+this.elements*l+this.elements,b=this.elements*d+this.elements*f+this.elements*l+this.elements,b=this.elements*d+this.elements*f+this.elements*l+this.elements):4===b.length&&(b=this.elements*d+this.elements*f+this.elements*l+this.elements*p,b=this.elements*d+this.elements*f+this.elements*l+this.elements*p,b=this.elements*d+this.elements*f+this.elements*l+ this.elements*p,b=this.elements*d+this.elements*f+this.elements*l+this.elements*p));b instanceof PVector&&(b.x=this.elements*d+this.elements*f+this.elements*l+this.elements,b.y=this.elements*d+this.elements*f+this.elements*l+this.elements,b.z=this.elements*d+this.elements*f+this.elements*l+this.elements);return b},preApply:function(){var a;1===arguments.length&&argumentsinstanceof n?a=arguments.array():16===arguments.length?a=Array.prototype.slice.call(arguments): 1===arguments.length&&argumentsinstanceof Array&&(a=arguments);for(var b=,d=0,f=0;4>f;f++)for(var l=0;4>l;l++,d++)b+=this.elements*a+this.elements*a+this.elements*a+this.elements*a;this.elements=b.slice()},apply:function(){var a;1===arguments.length&&argumentsinstanceof n?a=arguments.array():16===arguments.length?a=Array.prototype.slice.call(arguments):1===arguments.length&&argumentsinstanceof Array&& (a=arguments);for(var b=,d=0,f=0;4>f;f++)for(var l=0;4>l;l++,d++)b+=this.elements*a+this.elements*a+this.elements*a+this.elements*a;this.elements=b.slice()},rotate:function(a,b,d,f){if(d){var l=Math.cos(a);a=Math.sin(a);var p=1-l;this.apply(p*b*b+l,p*b*d-a*f,p*b*f+a*d,0,p*b*d+a*f,p*d*d+l,p*d*f-a*b,0,p*b*f-a*d,p*d*f+a*b,p*f*f+l,0,0,0,0,1)}else this.rotateZ(a)},invApply:function(){inverseCopy===h&&(inverseCopy=new n); var a=arguments;inverseCopy.set(a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a);if(!inverseCopy.invert())return!1;this.preApply(inverseCopy);return!0},rotateX:function(a){var b=Math.cos(a);a=Math.sin(a);this.apply()},rotateY:function(a){var b=Math.cos(a);a=Math.sin(a);this.apply()},rotateZ:function(a){var b=Math.cos(a);a=Math.sin(a);this.apply()},scale:function(a, b,d){!a||b||d?a&&(b&&!d)&&(d=1):b=d=a;a&&(b&&d)&&(this.elements*=a,this.elements*=b,this.elements*=d,this.elements*=a,this.elements*=b,this.elements*=d,this.elements*=a,this.elements*=b,this.elements*=d,this.elements*=a,this.elements*=b,this.elements*=d)},skewX:function(a){a=Math.tan(a);this.apply(1,a,0,0,0,1,0,0,0,0,1,0,0,0,0,1)},skewY:function(a){a=Math.tan(a);this.apply(1,0,0,0,a,1,0,0,0,0,1,0,0,0,0,1)},shearX:function(a){a=Math.tan(a);this.apply(1,a,0,0, 0,1,0,0,0,0,1,0,0,0,0,1)},shearY:function(a){a=Math.tan(a);this.apply(1,0,0,0,a,1,0,0,0,0,1,0,0,0,0,1)},multX:function(a,b,d,f){return d?f?this.elements*a+this.elements*b+this.elements*d+this.elements*f:this.elements*a+this.elements*b+this.elements*d+this.elements:this.elements*a+this.elements*b+this.elements},multY:function(a,b,d,f){return d?f?this.elements*a+this.elements*b+this.elements*d+this.elements*f:this.elements*a+this.elements*b+this.elements* d+this.elements:this.elements*a+this.elements*b+this.elements},multZ:function(a,b,d,f){return f?this.elements*a+this.elements*b+this.elements*d+this.elements*f:this.elements*a+this.elements*b+this.elements*d+this.elements},multW:function(a,b,d,f){return f?this.elements*a+this.elements*b+this.elements*d+this.elements*f:this.elements*a+this.elements*b+this.elements*d+this.elements},invert:function(){var a=this.elements*this.elements- this.elements*this.elements,b=this.elements*this.elements-this.elements*this.elements,d=this.elements*this.elements-this.elements*this.elements,f=this.elements*this.elements-this.elements*this.elements,l=this.elements*this.elements-this.elements*this.elements,p=this.elements*this.elements-this.elements*this.elements,r=this.elements*this.elements-this.elements*this.elements,c=this.elementsthis.elements[14]-this.elements[10] this.elements,h=this.elements*this.elements-this.elements*this.elements,k=this.elements*this.elements-this.elements*this.elements,m=this.elements*this.elements-this.elements*this.elements,n=this.elements*this.elements-this.elements*this.elements,x=a*n-b*m+d*k+f*h-l*c+p*r;if(1E-9>=Math.abs(x))return!1;var v=[];v=+this.elements*n-this.elements*m+this.elements*k;v=-this.elements*n+this.elements*h-this.elements*c; v=+this.elements*m-this.elements*h+this.elements*r;v=-this.elements*k+this.elements*c-this.elements*r;v=-this.elements*n+this.elements*m-this.elements*k;v=+this.elements*n-this.elements*h+this.elements*c;v=-this.elements*m+this.elements*h-this.elements*r;v=+this.elements*k-this.elements*c+this.elements*r;v=+this.elements*p-this.elements*l+this.elements*f;v=-this.elements*p+this.elementsd-this.elements[15] b;v=+this.elements*l-this.elements*d+this.elements*a;v=-this.elements*f+this.elements*b-this.elements*a;v=-this.elements*p+this.elements*l-this.elements*f;v=+this.elements*p-this.elements*d+this.elements*b;v=-this.elements*l+this.elements*d-this.elements*a;v=+this.elements*f-this.elements*b+this.elements*a;a=1/x;v*=a;v*=a;v*=a;v*=a;v*=a;v*=a;v*=a;v*=a;v*=a;v*=a;v*=a;v*=a;v*= a;v*=a;v*=a;v*=a;this.elements=v.slice();return!0},toString:function(){for(var a=“”,b=0;15>b;b++)a+=this.elements+“, ”;return a+=this.elements},print:function(){var a=printMatrixHelper(this.elements),a=“”+m.nfs(this.elements,a,4)+“ ”+m.nfs(this.elements,a,4)+“ ”+m.nfs(this.elements,a,4)+“ ”+m.nfs(this.elements,a,4)+“n”+m.nfs(this.elements,a,4)+“ ”+m.nfs(this.elements,a,4)+“ ”+m.nfs(this.elements,a,4)+“ ”+m.nfs(this.elements,a,4)+“n”+m.nfs(this.elements, a,4)+“ ”+m.nfs(this.elements,a,4)+“ ”+m.nfs(this.elements,a,4)+“ ”+m.nfs(this.elements,a,4)+“n”+m.nfs(this.elements,a,4)+“ ”+m.nfs(this.elements,a,4)+“ ”+m.nfs(this.elements,a,4)+“ ”+m.nfs(this.elements,a,4)+“nn”;m.println(a)},invTranslate:function(a,b,d){this.preApply(1,0,0,-a,0,1,0,-b,0,0,1,-d,0,0,0,1)},invRotateX:function(a){var b=Math.cos(-a);a=Math.sin(-a);this.preApply()},invRotateY:function(a){var b=Math.cos(-a);a=Math.sin(-a); this.preApply()},invRotateZ:function(a){var b=Math.cos(-a);a=Math.sin(-a);this.preApply()},invScale:function(a,b,d){this.preApply()}};return n}},{}],15:[function(D,x,Q){x.exports=function(k){var h=k.PConstants,m=k.PMatrix2D,n=k.PMatrix3D;k=function(a){this.family=a||h.GROUP;this.style=this.visible=!0;this.children=[];this.nameTable=;this.params=[];this.name=“”;this.parent=this.height=this.width= this.close=this.kind=this.matrix=this.image=null};k.prototype={isVisible:function(){return this.visible},setVisible:function(a){this.visible=a},disableStyle:function(){this.style=!1;for(var a=0,b=this.children.length;a.disableStyle()},enableStyle:function(){this.style=!0;for(var a=0,b=this.children.length;a.enableStyle()},getFamily:function(){return this.family},getWidth:function(){return this.width},getHeight:function(){return this.height},setName:function(a){this.name= a},getName:function(){return this.name},draw:function(a){if(!a)throw“render context missing for draw() in PShape”;this.visible&&(this.pre(a),this.drawImpl(a),this.post(a))},drawImpl:function(a){this.family===h.GROUP?this.drawGroup(a):this.family===h.PRIMITIVE?this.drawPrimitive(a):this.family===h.GEOMETRY?this.drawGeometry(a):this.family===h.PATH&&this.drawPath(a)},drawPath:function(a){var b,d;if(0!==this.vertices.length){a.beginShape();if(0===this.vertexCodes.length)if(2===this.vertices.length)for(b= 0,d=this.vertices.length;bthis.x
“, ”this.y
“, ”this.z
“]”},array:function(){return}};for(var b in m.prototype)m.prototype.hasOwnProperty(b)&&!m.hasOwnProperty(b)&&(m=n(b));return m}},{}],18:[function(D,x,Q){x.exports=function(){var k= function(h,k,n,a,b){this.fullName=h||“”;this.name=k||“”;this.namespace=n||“”;this.value=a;this.type=b};k.prototype={getName:function(){return this.name},getFullName:function(){return this.fullName},getNamespace:function(){return this.namespace},getValue:function(){return this.value},getType:function(){return this.type},setValue:function(h){this.value=h}};return k}},{}],19:[function(D,x,Q){x.exports=function(k,h){var m=k.Browser,n=m.ajax,a=m.window.DOMParser,b=k.XMLAttribute,d=function(a,b,d,r){this.attributes= [];this.children=[];this.name=this.fullName=null;this.namespace=“”;this.parent=this.content=null;this.systemID=this.lineNr=“”;this.type=“ELEMENT”;a&&(“string”===typeof a?b===h&&-1<a.indexOf(“<”)?this.parse(a):(this.fullName=a,this.namespace=b,this.systemId=d,this.lineNr=r):this.parse(b))};d.prototype={parse:function(b){var d;try{var p=b.substring(b.length-4);if(“.xml”===p||“.svg”===p)b=n(b);d=(new a).parseFromString(b,“text/xml”);var r=d.documentElement;if®this.parseChildrenRecursive(null,r);else throw“Error loading document”; return this}catch©{throw c;}},parseChildrenRecursive:function(a,l){var p,r,c,h;a?(p=new d(l.nodeName),p.parent=a):(this.fullName=l.localName,this.name=l.nodeName,p=this);if(3===l.nodeType&&“”!==l.textContent)return this.createPCDataElement(l.textContent);if(4===l.nodeType)return this.createCDataElement(l.textContent);if(l.attributes)for(c=0,h=l.attributes.length;cthis.content
”</“a
”>“);else{b+=”>“;for(d=0;da
”>“}return b}};d.parse=function(a){var b=new d;b.parse(a);return b};return d}},{}],20:[function(D,x,Q){x.exports={aliceblue:”#f0f8ff“,antiquewhite:”#faebd7“, aqua:”#00ffff“,aquamarine:”#7fffd4“,azure:”#f0ffff“,beige:”#f5f5dc“,bisque:”#ffe4c4“,black:”#000000“,blanchedalmond:”#ffebcd“,blue:”#0000ff“,blueviolet:”#8a2be2“,brown:”#a52a2a“,burlywood:”#deb887“,cadetblue:”#5f9ea0“,chartreuse:”#7fff00“,chocolate:”#d2691e“,coral:”#ff7f50“,cornflowerblue:”#6495ed“,cornsilk:”#fff8dc“,crimson:”#dc143c“,cyan:”#00ffff“,darkblue:”#00008b“,darkcyan:”#008b8b“,darkgoldenrod:”#b8860b“,darkgray:”#a9a9a9“,darkgreen:”#006400“,darkkhaki:”#bdb76b“,darkmagenta:”#8b008b“,darkolivegreen:”#556b2f“, darkorange:”#ff8c00“,darkorchid:”#9932cc“,darkred:”#8b0000“,darksalmon:”#e9967a“,darkseagreen:”#8fbc8f“,darkslateblue:”#483d8b“,darkslategray:”#2f4f4f“,darkturquoise:”#00ced1“,darkviolet:”#9400d3“,deeppink:”#ff1493“,deepskyblue:”#00bfff“,dimgray:”#696969“,dodgerblue:”#1e90ff“,firebrick:”#b22222“,floralwhite:”#fffaf0“,forestgreen:”#228b22“,fuchsia:”#ff00ff“,gainsboro:”#dcdcdc“,ghostwhite:”#f8f8ff“,gold:”#ffd700“,goldenrod:”#daa520“,gray:”#808080“,green:”#008000“,greenyellow:”#adff2f“,honeydew:”#f0fff0“, hotpink:”#ff69b4“,indianred:”#cd5c5c“,indigo:”#4b0082“,ivory:”#fffff0“,khaki:”#f0e68c“,lavender:”#e6e6fa“,lavenderblush:”#fff0f5“,lawngreen:”#7cfc00“,lemonchiffon:”#fffacd“,lightblue:”#add8e6“,lightcoral:”#f08080“,lightcyan:”#e0ffff“,lightgoldenrodyellow:”#fafad2“,lightgrey:”#d3d3d3“,lightgreen:”#90ee90“,lightpink:”#ffb6c1“,lightsalmon:”#ffa07a“,lightseagreen:”#20b2aa“,lightskyblue:”#87cefa“,lightslategray:”#778899“,lightsteelblue:”#b0c4de“,lightyellow:”#ffffe0“,lime:”#00ff00“,limegreen:”#32cd32“, linen:”#faf0e6“,magenta:”#ff00ff“,maroon:”#800000“,mediumaquamarine:”#66cdaa“,mediumblue:”#0000cd“,mediumorchid:”#ba55d3“,mediumpurple:”#9370d8“,mediumseagreen:”#3cb371“,mediumslateblue:”#7b68ee“,mediumspringgreen:”#00fa9a“,mediumturquoise:”#48d1cc“,mediumvioletred:”#c71585“,midnightblue:”#191970“,mintcream:”#f5fffa“,mistyrose:”#ffe4e1“,moccasin:”#ffe4b5“,navajowhite:”#ffdead“,navy:”#000080“,oldlace:”#fdf5e6“,olive:”#808000“,olivedrab:”#6b8e23“,orange:”#ffa500“,orangered:”#ff4500“,orchid:”#da70d6“, palegoldenrod:”#eee8aa“,palegreen:”#98fb98“,paleturquoise:”#afeeee“,palevioletred:”#d87093“,papayawhip:”#ffefd5“,peachpuff:”#ffdab9“,peru:”#cd853f“,pink:”#ffc0cb“,plum:”#dda0dd“,powderblue:”#b0e0e6“,purple:”#800080“,red:”#ff0000“,rosybrown:”#bc8f8f“,royalblue:”#4169e1“,saddlebrown:”#8b4513“,salmon:”#fa8072“,sandybrown:”#f4a460“,seagreen:”#2e8b57“,seashell:”#fff5ee“,sienna:”#a0522d“,silver:”#c0c0c0“,skyblue:”#87ceeb“,slateblue:”#6a5acd“,slategray:”#708090“,snow:”#fffafa“,springgreen:”#00ff7f“,steelblue:”#4682b4“, tan:”#d2b48c“,teal:”#008080“,thistle:”#d8bfd8“,tomato:”#ff6347“,turquoise:”#40e0d0“,violet:”#ee82ee“,wheat:”#f5deb3“,white:”#ffffff“,whitesmoke:”#f5f5f5“,yellow:”#ffff00“,yellowgreen:”#9acd32“}},{}],21:[function(D,x,Q){x.exports=function(k,h,m){return function(n,a){n.__contains=function(b,d){return”string“!==typeof b?b.contains.apply(b,a(arguments)):null!==b&&null!==d&&”string“===typeof d&&-1<b.indexOf(d)};n.__replaceAll=function(b,d,f){return”string“!==typeof b?b.replaceAll.apply(b,a(arguments)): b.replace(RegExp(d,”g“),f)};n.__replaceFirst=function(b,d,f){return”string“!==typeof b?b.replaceFirst.apply(b,a(arguments)):b.replace(RegExp(d,”“),f)};n.__replace=function(b,d,f){if(”string“!==typeof b)return b.replace.apply(b,a(arguments));if(d instanceof RegExp)return b.replace(d,f);”string“!==typeof d&&(d=d.toString());if(”“===d)return b;var h=b.indexOf(d);if(0>h)return b;var k=0,r=”“;do r+=b.substring(k,h)+f,k=h+d.length;while(0<=(h=b.indexOf(d,k)));return r+b.substring(k)};n.__equals=function(b, d){return b.equals instanceof Function?b.equals.apply(b,a(arguments)):h(b,d)};n.__equalsIgnoreCase=function(b,d){return”string“!==typeof b?b.equalsIgnoreCase.apply(b,a(arguments)):b.toLowerCase()===d.toLowerCase()};n.__toCharArray=function(b){if(”string“!==typeof b)return b.toCharArray.apply(b,a(arguments));for(var d=[],f=0,h=b.length;ff
(”“===a.middle?n(”(“+e.replace(/.s*$/, ”“)+”)“,”B“):n(”(“+e.replace(/.s*$/,”“)+”,“a.middle
”)“,”B“))}function e(a,b,c){d=!0;return”__instanceof“+n(”(“b
”, “c
”)“,”B“)}a=a.replace(/bnews+([w$]*b(?:s*.s*[w$]b))(?:s*”Cd+“)+s*(”Ad+“)/g,function(a,b,c){return c});a=a.replace(/bnews+([w$]*b(?:s*.s*[w$]b))(?:s*”Bd+“)s*(”Ad+“)/g,function(a,b,c){return n(a,”F“)});a=a.replace(jb,function(a){return n(a,”H“)});a=a.replace(/bnews+([w$]*b(?:s*.s*[w$]b))s*(”Cd+“(?:s*”Cd+“)*)/g, function(a,b,c){a=c.replace(/”C(d+)“/g,function(a,b){return N}).replace(//g,”“).replace(/s*]s*[s*/g,”, “);a=”{“+a.substring(1,a.length-1)+”}“;b=”('“b
”', “+n(a,”A“)+”)“;return”$p.createJavaArray“+n(b,”B“)});a=a.replace(/(.s*length)s*”Bd+“/g,”$1“);a=a.replace(/#({6})b/g,function(a,b){return”0xFF“+b});a=a.replace(/”B(d+)“(s*(?:|”B))/g,function(a,b,c){b=N;if(!/^(s*[w$]*b(?:s*.s*[w$]b)s*(?:“Cd+”s*)*)$/.test(b))return a; if(/^(s*ints*)$/.test(b))return“(int)”+c;b=b.split(/“C(d+)”/g);return 1e.middle
“)”)});a=a.replace(/bsuper(s*“Bd+”)/g,“$$superCstr$1”).replace(/bsuper(s*.)/g,“$$super$1”);a=a.replace(/b0+((d*)(?:.)?(?:[eE]?d+)??)b/,function(a,b,c){return b===c?a:“”===c?“0”+b:b});a=a.replace(/b(.?d+.?)b/g,“$1”);a= a.replace(/()%([^=s])/g,“$1 % $2”);a=a.replace(/b(frameRate|keyPressed|mousePressed)b(?!s*“B)/g,”__$1“);a=a.replace(/b(boolean|byte|char|float|int)s*”B/g,function(a,b){return“parse”+b.substring(0,1).toUpperCase()+b.substring(1)+'“B'});a=a.replace(/bpixelsbs*((”C(d+)“)|.length)?(s*=(?!=)()}]+))?/g,function(a,b,c,e,d,f){return c?(a=N,d?”pixels.setPixel“+n(”(“+a.substring(1,a.length-1)+”,“f
”)“,”B“):”pixels.getPixel“+n(”(“+a.substring(1,a.length-1)+”)“,”B“)):b?”pixels.getLength“+ n(”()“,”B“):d?”pixels.set“+n(”(“f
”)“,”B“):”pixels.toArray“+n(”()“,”B“)});var d;do d=!1,a=a.replace(/((?:‘d+’|b[w$]s(?:”d+“)*)s*.s*(?:[w$]s(?:”d+“s*)*.s*)*)(replace|replaceAll|replaceFirst|contains|equals|equalsIgnoreCase|hashCode|toCharArray|printStackTrace|split|startsWith|endsWith|codePointAt|matches)s*”B(d+)“/g,b);while(d);do d=!1,a=a.replace(/((?:‘d+’|b[w$]s(?:”d+“)*)s*(?:.s*[w$]s(?:”d+“s*)*)*)instanceofs+([w$]s(?:.s*[w$]*)*)/g, e);while(d);return a=a.replace(/bthis(s*”Bd+“)/g,”$$constr$1“)}function u(a,b){this.baseInterfaceName=a;this.body=b;b.owner=this}function nd(a){var b=RegExp(/bnews*([w$]s(?:.s*[w$]*)*)s*”Bd+“s*”A(d+)“/).exec(a);a=ja;var c=”class“+ ++ab;ja=c;var e=b+”$“+c,b=new u(e,ea(N[b],e,”“,”implements “+b));b.classId=c;b.scopeId=a;X=b;ja=a;return b}function Ia(a,b,c){this.name=a;this.params=b;this.body=c}function T(a){a=RegExp(/b([w$]*)s*”B(d+)“s*”A(d+)“/).exec(a); return new Ia(”function“!==a?a:null,M(N[a]),ra(N[a]))}function Y(a){this.members=a}function U(a){a=a.split(”,“);for(var b=0;b<a.length;++b){var c=a.indexOf(”:“);a=0>c?{value:ma(a)}:{label:f(a.substring(0,c)),value:ma(f(a.substring(c+1)))}}return new Y(a)}function Z(a){if(”(“===a.charAt(0)||”[“===a.charAt(0))return a.charAt(0)+Z(a.substring(1,a.length-1))+a.charAt(a.length-1);if(”{“===a.charAt(0))return/^{s*(?:[w$]*|'d+')s*:/.test(a)?”{“+n(a.substring(1,a.length- 1),”I“)+”}“:”[“+Z(a.substring(1,a.length-1))+”]“;a=c(a);var b=Q(a.middle),b=b.replace(/”(d+)“/g,function(a,b){return Z(N)});return a.untrim(b)}function sa(a){return a.replace(/(.s*)?((?:b|$)[w$]*)(s*.s*([w$]*)(s*()?)?/g,function(a,b,c,e,d,f){return b?a:C({name:c,member:d,callSign:!!f})+(e===p?”“:e)})}function ta(a,b){this.expr=a;this.transforms=b}function $b(a,b,c){this.name=a;this.value=b;this.isDefault=c}function bb(a,b){var c=a.indexOf(”=“),e,d;0>c?(e=a,c= b,d=!0):(e=a.substring(0,c),c=ma(a.substring(c+1)),d=!1);return new $b(f(e.replace(/(s*”Cd+“)+/g,”“)),c,d)}function Sa(a){return”int“===a||”float“===a?”0“:”boolean“===a?”false“:”color“===a?”0x00000000“:”null“}function cb(a,b){this.definitions=a;this.varType=b}function Fb(a){this.expression=a}function db(a){if(Gb.test(a)){var b=ub.exec(a);a=a.substring(b.length).split(”,“);for(var c=Sa(b),e=0;eb
“'”):e?(b=R.length,R.push(f),d+“'”b
“'”):“”!==h?“ ”:“n”});a=a.replace(/__x({4})/g,function(a,b){return“__x005F_x”+b});a=a.replace(/$/g,“__x0024”);a=a.replace(/returns*+/g,“return ”);var ka,La=function(a,b,c,e){if(b||e)return a;ka=!0;return“”};do ka= !1,a=a.replace(/(?)<s*((?:?|[w$]*b(?:s*.s*[w$]b))(?:)*(?:s+(?:extends|super)s+[w$]*b(?:s*.s*[w$]b))?(?:s*,s*(?:?|[w$]*b(?:s*.s*[w$]b))(?:)*(?:s+(?:extends|super)s+[w$]*b(?:s*.s*[w$]b))?)*)s*>(?)/g,La);while(ka);var N=function(a){var b=[];a=a.split(/([{}])/);for(var c=a,e=[],d=1;d<a.length;d+=2){var f=a;if(“[”===f||“{”===f||“(”===f)e.push©,c= f;else if(“]”===f||“}”===f||“)”===f){var g=“}”===f?“A”:“)”===f?“B”:“C”,h=b.length;b.push(c+f);c=e.pop()+'“'g
(h+1)+'”'}c+=a}b.unshift©;return b}(a),C,X={},ja,ab=0,ea,eb,ra,Da,ma,qa=/b((?:(?:public|private|final|protected|static|abstract)s+)*)(class|interface)s+([w$]*b)(s+extendss+[w$]*b(?:s*.s*[w$]b)(?:s*,s*[w$]*b(?:s*.s*[w$]b)b)*)?(s+implementss+[w$]*b(?:s*.s*[w$]b)(?:s*,s*[w$]*b(?:s*.s*[w$]b)b)*)?s*(“Ad+”)/g, la=/b((?:(?:public|private|final|protected|static|abstract|synchronized)s+)*)((?!(?:else|new|return|throw|function|public|private|protected)b)[w$]*b(?:s*.s*[w$]b)(?:s*“Cd+”)*)s*([w$]*b)s*(“Bd+”)(s*throwss+[w$]*b(?:s*.s*[w$]b)(?:s*,s*[w$]*b(?:s*.s*[w$]b))*)?s*(“Ad+”|;)/g,Gb=/^((?:(?:public|private|final|protected|static)s+)*)((?!(?:else|new|return|throw)b)[w$]*b(?:s*.s*[w$]b)(?:s*“Cd+”)*)s*([w$]*b)s*(?:“Cd+”s*)*(|$)/, Eb=/b((?:(?:public|private|final|protected|static|abstract)s+)*)((?!(?:new|return|throw)b)[w$]*b)s*(“Bd+”)(s*throwss+[w$]*b(?:s*.s*[w$]b)(?:s*,s*[w$]*b(?:s*.s*[w$]b))*)?s*(“Ad+”)/g,ub=/^((?:(?:public|private|final|protected|static)s+)*)((?!(?:new|return|throw)b)[w$]*b(?:s*.s*[w$]b)(?:s*“Cd+”)*)s*/,jb=/bfunction(?:s+([w$]*))?s*(“Bd+”)s*(“Ad+”)/g;q.prototype.toString=function(){return this.name}; D.prototype.getNames=function(){for(var a=[],b=0,c=this.params.length;bthis.methodArgsParam.name
“ = Array.prototype.slice.call(arguments, ”this.params.length
“);n”+a.substring(1):a};D.prototype.toString=function(){if(0===this.params.length)return“()”;for(var a=“(”,b=0,c=this.params.length;bthis.body
“)”};Ia.prototype.toString=function(){var a=C,b=h({“this”:null},this.params.getNames());C=function©{return b.hasOwnProperty(c.name)?c.name:a©};var c=“function”;this.name&&(c+=“ ”+this.name);var e=this.params.prependMethodArgs(this.body.toString()),c=c+(this.params+“ ”+e);C=a;return c};Y.prototype.toString=function(){var a=C;C=function(b){return“this”===b.name?“this”:a(b)};for(var b=“”,c=0,e=this.members.length;cthis.initStatement
“; ”this.condition
“; ”this.step
“)”};Ib.prototype.toString=function(){var a=this.initStatement.toString(); 0<=a.indexOf(“=”)&&(a=a.substring(0,a.indexOf(“=”)));return“(”a
“ in ”this.container
“)”};wa.iteratorId=0;wa.prototype.toString=function(){var a=this.initStatement.toString(),b=“$it”wa.iteratorId+
,a=a.replace(/^s*vars*/,“”).split(“=”);return“(”+(“var ”b
“ = new $p.ObjectIterator(”this.container
“), ”a
“ = void(0)”)+“; ”+(b+“.hasNext() && ((”a
“ = ”b
“.next()) || true)”)+“;)”};Ja.prototype.toString=function(){return“”+this.body};Jb.prototype.toString=function(){return“”+this.body};Lb.prototype.toString= function(){var a=h({},this.params.getNames()),b=C;C=function©{return a.hasOwnProperty(c.name)?c.name:b©};var c=this.params.prependMethodArgs(this.body.toString()),c=“function ”+this.methodId+this.params+“ ”c
“n”;C=b;return c};Mb.prototype.getNames=function(){for(var a=[],b=0,c=this.definitions.length;bh
“ === void(0)) {n ”h
“ = ”f.value
“; }n$p.defineProperty(”a
“, '”g
“', { get: function(){return ”h
“;}, set: function(val){”h
“ = val;} });n”)}return c.join(“”)}return a+“.”+this.definitions.join(“; ”a
“.”)};Nb.prototype.toString=function(){var a=h({},this.params.getNames()),b=C;C=function©{return a.hasOwnProperty(c.name)?c.name:b©};var c=“function $constr_”+this.params.params.length+this.params.toString(),e=this.params.prependMethodArgs(this.body.toString()); /$(superCstr|constr)b/.test(e)||(e=“{n$superCstr();n”+e.substring(1));C=b;return c+e+“n”};Ka.prototype.getMembers=function(a,b,c){this.owner.base&&this.owner.base.body.getMembers(a,b,c);var e,d,f,g;e=0;for(f=this.fields.length;e<f;++e){var h=this.fields.getNames();d=0;for(g=h.length;da
“, ”g
“);n”);c+=a+“.$interfaces = [”+f.join(“, ”)+“];n”}c=c+(a+“.$isInterface = true;n”)+(a+“.$methods = ['”+this.methodsNames.join(“', '”)+“'];n”);Ta(this.innerClasses);e=0;for(d=this.innerClasses.length;ef.name
“ = ”f
“;n”);e=0;for(d=this.fields.length;ea
“.”)+“;n”);return“(function() {nfunction ”a
“() { throw 'Unable to create the interface'; }n”+b+c+“return ”a
“;n})()”};eb=function(a,b,e){a=a.substring(1,a.length-1);a=v(a);a=x(a,b);var d=[],f=;a=a.replace(/“()(d+)”/g,function(a,b,c){“D”===b?d.push©:“E”===b&&f.push©;return“”});a=a.split(/;(?:s*;)*/g);var g,h;e!==p&&(g=e.replace(/^s*extendss+(.+?)s*$/g, “$1”).split(/s*,s*/g));e=0;for(h=d.length;e<h;++e){var k=fb(N[d]);d=k.name}e=0;for(h=a.length-1;ea
“ = this;n”,e=“”,d=“”,g={},h={},k={};this.getMembers(g,h,k);var l=C;C=function©{var e=c.name;return“this”===e?c.callSign||!c.member?a+“.$self”:a:g.hasOwnProperty(e)?g.isStatic?b+“.”e:a
“.”+e:k.hasOwnProperty(e)?a+“.”+e:h.hasOwnProperty(e)?h.isStatic?b+“.”e:a
“.$self.”+ e:l©};var p;this.baseClassName?(p=l({name:this.baseClassName}),c=c+(“var $super = { $upcast: ”a
“ };n”)+(“function $superCstr(){”p
“.apply($super,arguments);if(!('$self' in $super)) $p.extendClassChain($super)}n”),d+=b+“.$base = ”p
“;n”):c+=“function $superCstr(){$p.extendClassChain(”a
“)}n”;this.owner.base&&(e+=“$p.extendStaticMembers(”b
“, ”p
“);n”);var r,n,m;if(this.owner.interfaces){n=[];p=0;for(r=this.interfacesNames.length;pb
“, ”m
“);n”);d+=b+“.$interfaces = [”+n.join(“, ”)+“];n”}0n.name
“ = ”n
“;n”,c+=a+“.”n.name
“ = ”b
“.”n.name
“;n”):c+=a+“.”n.name
“ = ”n
“;n”;p=0;for(r=this.fields.length;p<r;++p){var v=this.fields;if(v.isStatic)for(e+=b+“.”+v.definitions.join(“;n”b
“.”)+“;n”,n=0,m=v.definitions.length;n< m;++n)var u=v.definitions.name,q=b+“.”+u,c=c+(“$p.defineProperty(”a
“, '”u
“', {get: function(){return ”q
“}, set: function(val){”q
“ = val}});n”);else c+=a+“.”+v.definitions.join(“;n”a
“.”)+“;n”}n={};p=0;for(r=this.methods.length;pb
“, '”m.name
“', ”u
“, ”q
“);n”):c+=m,c+=“$p.addMethod(”a
“, '”m.name
“', ”u
“, ”q
“);n”;c+=f(this.misc.tail);0<this.cstrs.length&&(c+=this.cstrs.join(“n”)+“n”);c+=“function $constr() {n”;n=[];p=0;for(r=this.cstrs.length;pm
“) { $constr_”m
“.apply(”a
“, arguments); }”);0<n.length&&(c+=n.join(“ else ”)+“ else ”);c+=“$superCstr();n}n”;c+=“$constr.apply(null, arguments);n”;C=l;return“(function() {nfunction ”b
“() {n”c
“}n”+e+d+ “return ”b
“;n})()”};ea=function(a,b,e,d){a=a.substring(1,a.length-1);a=v(a);a=x(a,b);var f=[],g=,h=[],k=;a=a.replace(/“()(d+)”/g,function(a,b,c){“D”===b?f.push©:“E”===b?g.push©:“H”===b?k.push©:h.push©;return“”});a=a.replace(/^(?:s*;)+/,“”).split(/;(?:s*;)*/g);var l,n;e!==p&&(l=e.replace(/^s*extendss+([w$]*b(?:s*.s*[w$]b))s*$/g,“$1”));d!==p&&(n=d.replace(/^s*implementss+(.+?)s*$/g,“$1”).split(/s*,s*/g));for(e=0;ethis.name
“ = ”this.body
“;n$p.”this.name
“ = ”this.name
“;n”};mb.prototype.toString=function(){return“var ”this.name
“ = ”this.body
“;n$p.”this.name
“ = ”this.name
“;n”};vb.prototype.toString=function(){var a=h({},this.params.getNames()), b=C;C=function©{return a.hasOwnProperty(c.name)?c.name:b©};var c=this.params.prependMethodArgs(this.body.toString()),c=“function ”+this.name+this.params+“ ”c
“n$p.”this.name
“ = ”this.name
“;n”this.name
“ = ”this.name
“.bind($p);”;C=b;return c};Pb.prototype.toString=function(){return this.misc.prefix+this.argument.toString()};bc.prototype.toString=function(){return this.misc.prefix+this.argument.toString()};S.prototype.toString=function(){var a=this.misc.prefix;this.argument!==p&&(a+=this.argument.toString()); return a};Qb.prototype.toString=function(){return“case ”this.expr
“:”};wb.prototype.toString=function(){return this.label};Da=function(a,b,e){var d=RegExp(/b(catch|for|if|switch|while|with)s*“B(d+)”|b(do|else|finally|return|throw|try|break|continue)b|(“(d+)”)|b(case)s+([^:]+):|b([w$]s:)|(;)/g),g=[];a=a.replace(/b(catchs*“Bd+”s*“Ad+”)(s*catchs*“Bd+”s*“Ad+”)+/g,“$1”);for(var h=0,k,l;null!==(k=d.exec(a));){if(k!==p)l=a.lastIndexOf('“B',d.lastIndex),h=a.substring(h, l),”for“===k?g.push(new Pb(za(N[k]),{prefix:h})):”catch“===k?g.push(new bc(M(N[k]),{prefix:h})):g.push(new S(k,ma(N[k]),{prefix:h}));else if(k!==p)g.push(new S(k,p,{prefix:a.substring(h,d.lastIndex)}));else if(k!==p){l=a.substring(h,d.lastIndex-k.length);if(0!==f(l).length)continue;g.push(l);h=k.charAt(1);k=k;”D“===h?g.push(b(N)):”E“===h?g.push(e(N)):”H“===h?g.push(T(N)):g.push(ra(N))}else if(k!==p)g.push(new Qb(ma(f(k))));else if(k!==p){l= a.substring(h,d.lastIndex-k.length);if(0!==f(l).length)continue;g.push(new wb(a.substring(h,d.lastIndex)))}else k=c(a.substring(h,d.lastIndex-1)),g.push(k.left),g.push(db(k.middle)),g.push(k.right+”;“);h=d.lastIndex}b=c(a.substring(h));g.push(b.left);”“!==b.middle&&(g.push(db(b.middle)),g.push(”;“+b.right));return g};g.prototype.toString=function(){var a=e(this.statements),b=C;k(a)||(C=function©{return a.hasOwnProperty(c.name)?c.name:b©});var c=”{n“+this.statements.join(”“)+”n}“;C=b;return c}; ra=function(a){a=c(a.substring(1,a.length-1));return new g(Da(a.middle))};da.prototype.toString=function(){for(var a=[],c=,f,g=0,h=this.statements.length;ge
”))“:e})}(a,R)}function a(a,b){var d=RegExp(//*s*@pjss+((?:|*+[^*/])*)*//g).exec(a);if(d&&2===d.length)for(var f=[],d=d.splice(1,2).replace(/{([sS]*?)}/g,function(){return function(a,b){f.push(b);return”{“+(f.length- 1)+”}“}}()).replace(”n“,”“).replace(”r“,”“).split(”;“),h=function(a){return a.replace(/^s*?/,”“).replace(/?s*$/,”“)},k=0,l=d.length;k<l;k++){var p=d.split(”=“);if(p&&2===p.length){var n=h(p),m=h(p),p=[];if(”preload“===n)for(p=m.split(”,“),n=0,m=p.length;n<m;n++){var x=h(p);b.imageCache.add(x)}else if(”font“===n)for(p=m.split(”,“),n=0,m=p.length;n<m;n++){var x=h(p),D=/^{(d*?)}$/.exec(x);PFont.preloading.add(D?JSON.parse(”{“f[D[1]]
”}“):x)}else”pauseOnBlur“===n?b.options.pauseOnBlur= ”true“===m:”globalKeyEvents“===n?b.options.globalKeyEvents=”true“===m:”param-“===n.substring(0,6)?b.params=m:b.options=m}}return a}var b=h.defaultScope,d=b.PConstants,f=h.aFunctions,l=h.Browser.document,p;k.compile=function(b){var c=new k.Sketch;b=a(b,c);b=n(b);c.sourceCode=b;return c};k.logger=new function(a){var b={BufferMax:200};b.wrapper=a.createElement(”div“);b.wrapper.setAttribute(”style“,”opacity:.75;display:block;position:fixed;bottom:0px;left:0px;right:0px;height:50px;background-color:#aaa“); b.dragger=a.createElement(”div“);b.dragger.setAttribute(”style“,”display:block;border:3px black raised;cursor:n-resize;position:absolute;top:0px;left:0px;right:0px;height:5px;background-color:#333“);b.closer=a.createElement(”div“);b.closer.onmouseover=function(){b.closer.style.setProperty(”background-color“,”#ccc“)};b.closer.onmouseout=function(){b.closer.style.setProperty(”background-color“,”#ddd“)};b.closer.innerHTML=”✖“;b.closer.setAttribute(”style“,”opacity:.5;display:block;border:3px black raised;position:absolute;top:10px;right:30px;height:20px;width:20px;background-color:#ddd;color:#000;line-height:20px;text-align:center;cursor:pointer;“); b.javaconsole=a.createElement(”div“);b.javaconsole.setAttribute(”style“,”overflow-x: auto;display:block;position:absolute;left:10px;right:0px;bottom:5px;top:10px;overflow-y:scroll;height:40px;“);b.wrapper.appendChild(b.dragger);b.wrapper.appendChild(b.javaconsole);b.wrapper.appendChild(b.closer);b.dragger.onmousedown=function(d){b.divheight=b.wrapper.style.height;a.selection?a.selection.empty():window.getSelection().removeAllRanges();var f=d.screenY;window.onmousemove=function(a){b.wrapper.style.height= parseFloat(b.divheight)+(f-a.screenY)+”px“;b.javaconsole.style.height=parseFloat(b.divheight)+(f-a.screenY)-10+”px“};window.onmouseup=function(d){a.selection?a.selection.empty():window.getSelection().removeAllRanges();b.wrapper.style.height=parseFloat(b.divheight)+(f-d.screenY)+”px“;b.javaconsole.style.height=parseFloat(b.divheight)+(f-d.screenY)-10+”px“;window.onmousemove=null;window.onmouseup=null}};b.BufferArray=[];b.print=b.log=function(a){b.BufferArray?b.BufferArray[b.BufferArray.length- 1]+=a+”“:b.BufferArray.push(a);b.javaconsole.innerHTML=b.BufferArray.join(”“);”hidden“===b.wrapper.style.visibility&&(b.wrapper.style.visibility=”visible“);”hidden“===b.wrapper.style.visibility&&(b.wrapper.style.visibility=”visible“)};b.println=function(d){a.body.appendChild(b.wrapper);b.print(d);b.BufferArray.push(”<br/>“);b.javaconsole.innerHTML=b.BufferArray.join(”“);”hidden“===b.wrapper.style.visibility&&(b.wrapper.style.visibility=”visible“);b.BufferArray.length>b.BufferMax?b.BufferArray.splice(0, 1):b.javaconsole.scrollTop=b.javaconsole.scrollHeight;”hidden“===b.wrapper.style.visibility&&(b.wrapper.style.visibility=”visible“)};b.showconsole=function(){b.wrapper.style.visibility=”visible“};b.hideconsole=function(){b.wrapper.style.visibility=”hidden“};b.closer.onclick=function(){b.hideconsole()};b.hideconsole();return b}(l);return k}},{}],26:[function(D,x,Q){x.exports=function(k,h){function m(a,b){return a in l?l:”function“===typeof l?l:function(a){if(a instanceof Array)return a;if(”number“=== typeof a){var b=[];b.length=a;return b}}}var n=k.defaultScope,a=k.extend,b=k.Browser,d=b.ajax,f=b.navigator,l=b.window,p=b.document,r=k.noop,c=n.PConstants;PFont=n.PFont;PShapeSVG=n.PShapeSVG;PVector=n.PVector;Char=Character=n.Char;ObjectIterator=n.ObjectIterator;XMLElement=n.XMLElement;XML=n.XML;var x=l.HTMLCanvasElement,D=l.HTMLImageElement,G=l.localStorage;p.head||(p.head=p.getElementsByTagName(”head“));var A=m(”Float32Array“,”WebGLFloatArray“),Q=m(”Int32Array“,”WebGLIntArray“),v=m(”Uint16Array“, ”WebGLUnsignedShortArray“),ga=m(”Uint8Array“,”WebGLUnsignedByteArray“);if(9<=p.documentMode&&!p.doctype)throw”The doctype directive is missing. The recommended doctype in Internet Explorer is the HTML5 doctype: <!DOCTYPE html>“;var q=[],Zb={},M=this.Processing=function(b,k,m){function Ia(a,b,z){a.addEventListener?a.addEventListener(b,z,!1):a.attachEvent(”on“+b,z);wb.push({elem:a,type:b,fn:z})}function T(a,b,z,c){var e=Fa.locations;e===h&&(e=g.getUniformLocation(b,z),Fa.locations=e);null!==e&& (4===c.length?g.uniform4fv(e,c):3===c.length?g.uniform3fv(e,c):2===c.length?g.uniform2fv(e,c):g.uniform1f(e,c))}function Y(a,b,z,c){var e=Fa.locations;e===h&&(e=g.getUniformLocation(b,z),Fa.locations=e);null!==e&&(4===c.length?g.uniform4iv(e,c):3===c.length?g.uniform3iv(e,c):2===c.length?g.uniform2iv(e,c):g.uniform1i(e,c))}function U(a,b,z,c,e){var d=Fa.locations;d===h&&(d=g.getUniformLocation(b,z),Fa.locations=d);-1!==d&&(16===e.length?g.uniformMatrix4fv(d,c,e):9===e.length?g.uniformMatrix3fv(d, c,e):g.uniformMatrix2fv(d,c,e))}function Z(a,b,z,c,e){var d=Fa.attributes;d===h&&(d=g.getAttribLocation(b,z),Fa.attributes=d);-1!==d&&(g.bindBuffer(g.ARRAY_BUFFER,e),g.vertexAttribPointer(d,c,g.FLOAT,!1,0,0),g.enableVertexAttribArray(d))}function sa(a,b,z){var c=Fa.attributes;c===h&&(c=g.getAttribLocation(b,z),Fa.attributes=c);-1!==c&&g.disableVertexAttribArray©}function ta(a,b,z,$){Va===c.HSB?(z=e.color.toRGB(a,b,z),a=z,b=z,z=z):(a=Math.round(255*(a/xa)),b=Math.round(255*(b/ Ea)),z=Math.round(255*(z/ya)));$=Math.round(255*($/ia));a=0>a?0:a;b=0>b?0:b;z=0>z?0:z;$=0>$?0:$;return(255<$?255:$)<<24&c.ALPHA_MASK|(255<a?255:a)<<16&c.RED_MASK|(255<b?255:b)<<8&c.GREEN_MASK|(255<z?255:z)&c.BLUE_MASK}function $b(a){if(a<=xa&&0<=a){if(Va===c.RGB)return ta(a,a,a,ia);if(Va===c.HSB)return ta(0,0,a/xa*ya,ia)}if(a)return 2147483647<a&&(a-=4294967296),a}function bb(a){var b,z,$;b=((a&c.RED_MASK)>>>16)/255;z=((a&c.GREEN_MASK)>>>8)/255;$=(a&c.BLUE_MASK)/255;a=e.max(e.max(b,z),$);var d=e.min(e.min(b, z),$);if(d===a)return;b=(b===a?(z-$)/(a-d):z===a?2+($-b)/(a-d):4+(b-z)/(a-d))/6;0>b?b+=1:1}function Sa(){g.restore();N=ab=!0}function cb(){var a=(Date.now()-tc)/1E3;ec++;var b=ec/a;0.5<a&&(tc=Date.now(),ec=0,e.__frameRate=b);e.frameCount++}function Fb(a){a=parseInt(”0x“+a,16);2147483647<a&&(a-=4294967296);return a}function db(a){if(”number“===typeof a)return 0!==a;if(”boolean“===typeof a)return a;if(”string“===typeof a)return”true“===a.toLowerCase(); if(a instanceof Char)return 49===a.code||84===a.code||116===a.code}function Hb(a){if(”number“===typeof a)return a;if(”boolean“===typeof a)return a?1:0;if(”string“===typeof a)return parseFloat(a);if(a instanceof Char)return a.code}function Ib(a,b){if(”number“===typeof a)return a&4294967295;if(”boolean“===typeof a)return a?1:0;if(”string“===typeof a)return parseInt(a,b||10)&4294967295;if(a instanceof Char)return a.code}function wa(){R&&(N&&(g.fillStyle=e.color.toString(La),N=!1),g.fill())}function za(){C&& (ab&&(g.strokeStyle=e.color.toString(ja),ab=!1),g.stroke())}function Ta(){wa();za();g.closePath()}function Ja(a,b,z){var c=Mc.shift();c===h&&(c={},c.canvas=p.createElement(”canvas“),c.context=c.canvas.getContext(”2d“));Mc.push©;var e=c.canvas,d=c.context;b=b||a.width;z=z||a.height;e.width=b;e.height=z;a?”data“in a?d.putImageData(a,0,0):(d.clearRect(0,0,b,z),d.drawImage(a,0,0,b,z)):d.clearRect(0,0,b,z);return c}function Jb(a){return{getLength:function(a){return function(){if(a.isRemote)throw”Image is loaded remotely. Cannot get length.“; return a.imageData.data.length?a.imageData.data.length/4:0}}(a),getPixel:function(a){return function(L){L*=4;var b=a.imageData.data;if(a.isRemote)throw”Image is loaded remotely. Cannot get pixels.“;return b<<24&c.ALPHA_MASK|b<<16&c.RED_MASK|b<<8&c.GREEN_MASK|b&c.BLUE_MASK}}(a),setPixel:function(a){return function(L,b){var e=4*L,d=a.imageData.data;if(a.isRemote)throw”Image is loaded remotely. Cannot set pixel.“;d=(b&c.RED_MASK)>>>16;d=(b&c.GREEN_MASK)>>>8;d=b&c.BLUE_MASK; d=(b&c.ALPHA_MASK)>>>24;a.__isDirty=!0}}(a),toArray:function(a){return function(){var L=[],b=a.imageData.data,e=a.width*a.height;if(a.isRemote)throw”Image is loaded remotely. Cannot get pixels.“;for(var d=0,f=0;d=d,g=d,g=d,g=d;f.__isDirty=!0;return f}function fb(){Rb&&(g=Nc,Rb=!1,e.updatePixels())}function Mb(){function a(L,b){L=function(){fb();g.apply(g,arguments)}}function b(a,L){e.defineProperty(a,L,{get:function(){fb();return g},set:function(a){fb();g=a}})}for(var z in g)”function“===typeof g?a(this,z):b(this,z)}function Ua(a){return a instanceof String?a:”number“===typeof a?a===(0|a)?a.toString():e.nf(a, 0,3):null===a||a===h?”“:a.toString()}function Nb(a,b,z,e){var d;0>a.indexOf(”n“)?(a=,d=1):(a=a.split(/r?n/g),d=a.length);var f=0;Wa===c.TOP?f=Xa+Ma:Wa===c.CENTER?f=Xa/2-(d-1)*Aa/2:Wa===c.BOTTOM&&(f=-(Ma+(d-1)*Aa));for(var g=0;gb
” “c
”, default“;S.style.cursor=a}else S.style.cursor=1===arguments.length?arguments:od};e.noCursor=function(){S.style.cursor= c.NOCURSOR};e.link=function(a,b){b!==h?l.open(a,b):l.location=a};e.beginDraw=r;e.endDraw=r;E.prototype.toImageData=function(a,b,c,d){a=a!==h?a:0;b=b!==h?b:0;c=c!==h?c:e.width;d=d!==h?d:e.height;return g.getImageData(a,b,c,d)};B.prototype.toImageData=function(a,b,c,d){a=a!==h?a:0;b=b!==h?b:0;c=c!==h?c:e.width;d=d!==h?d:e.height;var f=p.createElement(”canvas“).getContext(”2d“).createImageData(c,d),k=new ga(4*c*d);g.readPixels(a,b,c,d,g.RGBA,g.UNSIGNED_BYTE,k);a=0;b=k.length;for(var w=f.data;a= k;return f};e.status=function(a){l.status=a};e.binary=function(a,b){var c;if(0<b)c=b;else if(a instanceof Char)c=16,a|=0;else for(c=32;1<c&&!(a>>>c-1&1);)c–;for(var e=”“;0<c;)e+=a>>>–c&1?”1“:”0“;return e};e.unbinary=function(a){for(var b=a.length-1,c=1,e=0;0<=b;){var d=a;if(”0“!==d&&”1“!==d)throw”the value passed into unbinary was not an 8 bit binary number“;”1“===d&&(e+=c);c<<=1}return e};e.hex=function(a,b){1===arguments.length&&(b=a instanceof Char?4: 8);var c=a,e=b,e=e===h||null===e?e=8:e;0>c&&(c=4294967295+c+1);for(c=Number©.toString(16).toUpperCase();c.length<e;)c=”0“+c;c.length>=e&&(c=c.substring(c.length-e,c.length));return c};e.unhex=function(a){if(a instanceof Array){for(var b=[],c=0;c,{antialias:!1,preserveDrawingBuffer:!0}));l++);g=k;Sc=g.createTexture();Tc=g.createTexture()}catch(m){M.debug(m)}if(!g)throw”WebGL context is not supported on this browser.“;g.viewport(0,0,S.width,S.height);g.enable(g.DEPTH_TEST);g.enable(g.BLEND); g.blendFunc(g.SRC_ALPHA,g.ONE_MINUS_SRC_ALPHA);J=Ic(g,”varying vec4 vFrontColor;attribute vec3 aVertex;attribute vec2 aTextureCoord;uniform vec4 uColor;uniform mat4 uModel;uniform mat4 uView;uniform mat4 uProjection;uniform float uPointSize;varying vec2 vTextureCoord;void main(void) { gl_PointSize = uPointSize; vFrontColor = uColor; gl_Position = uProjection * uView * uModel * vec4(aVertex, 1.0); vTextureCoord = aTextureCoord;}“,”#ifdef GL_ESnprecision highp float;n#endifnvarying vec4 vFrontColor;varying vec2 vTextureCoord;uniform sampler2D uSampler;uniform int uIsDrawingText;uniform bool uSmooth;void main(void){ if(uSmooth == true){ float dist = distance(gl_PointCoord, vec2(0.5)); if(dist > 0.5){ discard; } } if(uIsDrawingText == 1){ float alpha = texture2D(uSampler, vTextureCoord).a; gl_FragColor = vec4(vFrontColor.rgb * alpha, alpha); } else{ gl_FragColor = vFrontColor; }}“); na=Ic(g,”varying vec4 vFrontColor;attribute vec3 aVertex;attribute vec4 aColor;uniform mat4 uView;uniform mat4 uProjection;uniform float uPointSize;void main(void) { vFrontColor = aColor; gl_PointSize = uPointSize; gl_Position = uProjection * uView * vec4(aVertex, 1.0);}“,”#ifdef GL_ESnprecision highp float;n#endifnvarying vec4 vFrontColor;uniform bool uSmooth;void main(void){ if(uSmooth == true){ float dist = distance(gl_PointCoord, vec2(0.5)); if(dist > 0.5){ discard; } } gl_FragColor = vFrontColor;}“); e.strokeWeight(1);y=Ic(g,td,”#ifdef GL_ESnprecision highp float;n#endifnvarying vec4 vFrontColor;uniform sampler2D uSampler;uniform bool uUsingTexture;varying vec2 vTexture;void main(void){ if( uUsingTexture ){ gl_FragColor = vec4(texture2D(uSampler, vTexture.xy)) * vFrontColor; } else{ gl_FragColor = vFrontColor; }}“);g.useProgram(y);Y(”usingTexture3d“,y,”usingTexture“,ua);e.lightFalloff(1,0,0);e.shininess(1);e.ambient(255,255,255);e.specular(0,0,0);e.emissive(0,0,0);wc=g.createBuffer(); g.bindBuffer(g.ARRAY_BUFFER,wc);g.bufferData(g.ARRAY_BUFFER,cd,g.STATIC_DRAW);xc=g.createBuffer();g.bindBuffer(g.ARRAY_BUFFER,xc);g.bufferData(g.ARRAY_BUFFER,rd,g.STATIC_DRAW);yc=g.createBuffer();g.bindBuffer(g.ARRAY_BUFFER,yc);g.bufferData(g.ARRAY_BUFFER,dd,g.STATIC_DRAW);gc=g.createBuffer();g.bindBuffer(g.ARRAY_BUFFER,gc);g.bufferData(g.ARRAY_BUFFER,Hc,g.STATIC_DRAW);zc=g.createBuffer();g.bindBuffer(g.ARRAY_BUFFER,zc);g.bufferData(g.ARRAY_BUFFER,sd,g.STATIC_DRAW);Tb=g.createBuffer();Ac=g.createBuffer(); Pc=g.createBuffer();Bc=g.createBuffer();Qc=g.createBuffer();Rc=g.createBuffer();hc=g.createBuffer();g.bindBuffer(g.ARRAY_BUFFER,hc);g.bufferData(g.ARRAY_BUFFER,new A(),g.STATIC_DRAW);Cc=g.createBuffer();g.bindBuffer(g.ARRAY_BUFFER,Cc);g.bufferData(g.ARRAY_BUFFER,new A(),g.STATIC_DRAW);Dc=g.createBuffer();g.bindBuffer(g.ARRAY_BUFFER,Dc);g.bufferData(g.ARRAY_BUFFER,new A(),g.STATIC_DRAW);Ec=g.createBuffer();g.bindBuffer(g.ELEMENT_ARRAY_BUFFER,Ec); g.bufferData(g.ELEMENT_ARRAY_BUFFER,new v(),g.STATIC_DRAW);qb=new I;Ra=new I;K=new I;fa=new I;Ha=new I;e.camera();e.perspective();Ab=new Za;Bb=new Za;Sb=new I;fc=new I;xb=new I;yb=new I;uc=new I;vc=new I;vc.set(-1,3,-3,1,3,-6,3,0,-3,3,0,0,1,0,0,0);W.prototype.size.apply(this,arguments)}}();E.prototype.ambientLight=W.prototype.a3DOnlyFunction;B.prototype.ambientLight=function(a,b,e,d,f,h){if(O===c.MAX_LIGHTS)throw”can only create “c.MAX_LIGHTS
” lights“;d=new PVector(d,f,h);f=new I;f.scale(1, -I;k.scale(1,-1,1);k.apply(K.array());k=k.array();d=[k*d+k*f+k*h,k*d+k*f+k*h,k*d+k*f+k*h];a=ta(a,b,e,0);T(“uLights.color.3d.”+O,y,“uLights”O
g.useProgram(y);T(”uFalloff3d“,y,”uFalloff“,)};E.prototype.lightSpecular=W.prototype.a3DOnlyFunction;B.prototype.lightSpecular=function(a,b,e){>>16)/255,((a&c.GREEN_MASK)>>>8)/255,(a&c.BLUE_MASK)/255“>I;f.scale(1,-1,1);f.apply(K.array());f.mult(d,d);a=ta(a,b,e,0);a=;g.useProgram(y);T(”uLights.color.3d.“+O,y,”uLights“O
”.color“,a);T(”uLights.position.3d.“+O,y,”uLights“O
”.position“,d.array());Y(”uLights.type.3d.“+O,y,”uLights“O
”.type“,2);Y(”uLightCount3d“,y,”uLightCount“,++O)};E.prototype.noLights=W.prototype.a3DOnlyFunction; B.prototype.noLights=function(){O=0;g.useProgram(y);Y(”uLightCount3d“,y,”uLightCount“,O)};E.prototype.spotLight=W.prototype.a3DOnlyFunction;B.prototype.spotLight=function(a,b,e,d,f,h,k,l,s,m,n){if(O===c.MAX_LIGHTS)throw”can only create “c.MAX_LIGHTS
” lights“;g.useProgram(y);d=new PVector(d,f,h);f=new I;f.scale(1,-1,1);f.apply(K.array());f.mult(d,d);f=f.array();k=[f*k+f*l+f*s,f*k+f*l+f*s,f*k+f*l+f*s];a=ta(a,b,e,0);T(”uLights.color.3d.“+O,y,”uLights“O
”.color“,[((a&c.RED_MASK)>>> 16)/255,((a&c.GREEN_MASK)>>>8)/255,(a&c.BLUE_MASK)/255]);T(”uLights.position.3d.“+O,y,”uLights“O
”.position“,d.array());T(”uLights.direction.3d.“+O,y,”uLights“O
”.direction“,k);T(”uLights.concentration.3d.“+O,y,”uLights“O
”.concentration“,n);T(”uLights.angle.3d.“+O,y,”uLights“O
”.angle“,m);Y(”uLights.type.3d.“+O,y,”uLights“O
”.type“,3);Y(”uLightCount3d“,y,”uLightCount“,++O)};E.prototype.beginCamera=function(){throw”beginCamera() is not available in 2D mode“;};B.prototype.beginCamera=function(){if(kc)throw”You cannot call beginCamera() again before calling endCamera()“; kc=!0;K=Ra;fa=qb};E.prototype.endCamera=function(){throw”endCamera() is not available in 2D mode“;};B.prototype.endCamera=function(){if(!kc)throw”You cannot call endCamera() before calling beginCamera()“;K.set(qb);fa.set(Ra);kc=!1};e.camera=function(a,b,c,d,f,g,k,l,s){a===h&&(Gc=e.width/2,rb=e.height/2,sb=rb/Math.tan(lc/2),a=Gc,b=rb,c=sb,d=Gc,f=rb,k=g=0,l=1,s=0);d=new PVector(a-d,b-f,c-g);var m=new PVector(k,l,s);d.normalize();s=PVector.cross(m,d);m=PVector.cross(d,s);s.normalize();m.normalize(); k=s.x;l=s.y;s=s.z;f=m.x;g=m.y;var m=m.z,n=d.x,p=d.y;d=d.z;qb.set(k,l,s,0,f,g,m,0,n,p,d,0,0,0,0,1);qb.translate(-a,-b,-c);Ra.reset();Ra.invApply(k,l,s,0,f,g,m,0,n,p,d,0,0,0,0,1);Ra.translate(a,b,c);K.set(qb);fa.set(Ra)};e.perspective=function(a,b,c,d){0===arguments.length&&(rb=S.height/2,sb=rb/Math.tan(lc/2),Zc=sb/10,$c=10*sb,ad=e.width/e.height,a=lc,b=ad,c=Zc,d=$c);var f,g;f=c*Math.tan(a/2);g=-f;e.frustum(g*b,f*b,g,f,c,d)};E.prototype.frustum=function(){throw”Processing.js: frustum() is not supported in 2D mode“; };B.prototype.frustum=function(a,b,c,e,d,f){Ha=new I;Ha.set(2*d/(b-a),0,(b+a)/(b-a),0,0,2*d/(e-c),(e+c)/(e-c),0,0,0,-(f+d)/(f-d),-(2*f*d)/(f-d),0,0,-1,0);a=new I;a.set(Ha);a.transpose();g.useProgram(J);U(”projection2d“,J,”uProjection“,!1,a.array());g.useProgram(y);U(”projection3d“,y,”uProjection“,!1,a.array());g.useProgram(na);U(”uProjectionUS“,na,”uProjection“,!1,a.array())};e.ortho=function(a,b,c,d,f,h){0===arguments.length&&(a=0,b=e.width,c=0,d=e.height,f=-10,h=10);var k=2/(b-a),l=2/(d-c),s=-2/ (h-f),m=-(b+a)/(b-a),n=-(d+c)/(d-c),p=-(h+f)/(h-f);Ha=new I;Ha.set(k,0,0,m,0,l,0,n,0,0,s,p,0,0,0,1);k=new I;k.set(Ha);k.transpose();g.useProgram(J);U(”projection2d“,J,”uProjection“,!1,k.array());g.useProgram(y);U(”projection3d“,y,”uProjection“,!1,k.array());g.useProgram(na);U(”uProjectionUS“,na,”uProjection“,!1,k.array())};e.printProjection=function(){Ha.print()};e.printCamera=function(){qb.print()};E.prototype.box=W.prototype.a3DOnlyFunction;B.prototype.box=function(a,b,c){b&&c||(b=c=a);var e=new I; e.scale(a,b,c);a=new I;a.scale(1,-1,1);a.apply(K.array());a.transpose();R&&(g.useProgram(y),U(”model3d“,y,”uModel“,!1,e.array()),U(”view3d“,y,”uView“,!1,a.array()),g.enable(g.POLYGON_OFFSET_FILL),g.polygonOffset(1,1),T(”color3d“,y,”uColor“,ka),0<O?(b=new I,b.set(a),c=new I,c.set(e),b.mult©,c=new I,c.set(b),c.invert(),c.transpose(),U(”uNormalTransform3d“,y,”uNormalTransform“,!1,c.array()),Z(”aNormal3d“,y,”aNormal“,3,xc)):sa(”aNormal3d“,y,”aNormal“),Z(”aVertex3d“,y,”aVertex“,3,wc),sa(”aColor3d“,y, ”aColor“),sa(”aTexture3d“,y,”aTexture“),g.drawArrays(g.TRIANGLES,0,cd.length/3),g.disable(g.POLYGON_OFFSET_FILL));0<ea&&C&&(g.useProgram(J),U(”uModel2d“,J,”uModel“,!1,e.array()),U(”uView2d“,J,”uView“,!1,a.array()),T(”uColor2d“,J,”uColor“,X),Y(”uIsDrawingText2d“,J,”uIsDrawingText“,!1),Z(”vertex2d“,J,”aVertex“,3,yc),sa(”aTextureCoord2d“,J,”aTextureCoord“),g.drawArrays(g.LINES,0,dd.length/3))};e.sphereDetail=function(a,b){var e;1===arguments.length&&(a=b=arguments);3>a&&(a=3);2>b&&(b=2);if(a!==pb|| b!==jc){var d=c.SINCOS_LENGTH/a,f=new A(a),h=new A(a);for(e=0;e=Vb,h=Ub;e=a*(b-1)+2;d=0;Oa=new A(e);Pa=new A(e);Qa=new A(e);var k=0.5*c.SINCOS_LENGTH/b,l=k;for(e=1;e<b;e++){for(var s=Ub,m=-Vb,n=0;n=f*s,Pa=m,Qa=h*s;l+=k}pb=a;jc=b;P=[];for(f=0;f,m=0;3>m;m++)b.push(l);for(w=0;w,m=5;9>m;m++)d.push(l);for(w=0;w,m=9;13>m;m++)f.push(l);for(w=0;w,k.push(l),k.push(l);if(!Cb||aa!==c.POLYGON&&aa!==h)if(!Db||aa!==c.POLYGON&&aa!==h)if(aa===c.POINTS)for(w=0;w,C&&e.stroke(l),e.point(l,l);else if(aa===c.LINES)for(w=0;w+1, C&&e.stroke(t[6]),e.line(l,l,t[0],t[1]);else if(aa===c.TRIANGLES)for(w=0;w+2,g.beginPath(),g.moveTo(l,l),g.lineTo(t[0],t[1]),g.lineTo(t[0],t[1]),g.lineTo(l,l),R&&(e.fill(t[5]),wa()),C&&(e.stroke(t[6]),za()),g.closePath();else if(aa===c.TRIANGLE_STRIP)for(w=0;w+1,g.beginPath(),g.moveTo(t[0],t[1]),g.lineTo(l,l),C&&e.stroke(t[6]),R&&e.fill(t[5]),w+2[0],t[1]),C&& e.stroke(t[6]),R&&e.fill(t[5])),Ta();else if(aa===c.TRIANGLE_FAN){if(2[0],t[1]),g.lineTo(t[0],t[1]),g.lineTo(t[0],t[1]),R&&(e.fill(t[5]),wa()),C&&(e.stroke(t[6]),za()),g.closePath(),w=3;w,g.beginPath(),g.moveTo(t[0],t[1]),g.lineTo(t[0],t[1]),g.lineTo(l,l),R&&(e.fill(l),wa()),C&&(e.stroke(l),za()),g.closePath()}else if(aa===c.QUADS)for(w=0;w+3<s;w+=4){l=t;g.beginPath();g.moveTo(l,l);for(m= 1;4>m;m++)g.lineTo(t[0],t[1]);g.lineTo(l,l);R&&(e.fill(t[5]),wa());C&&(e.stroke(t[6]),za());g.closePath()}else if(aa===c.QUAD_STRIP){if(3