Commits

Thejesh GN  committed 8704cda

initial addition of style and other files

  • Participants

Comments (0)

Files changed (42)

File img/Thumbs.db

Binary file added.
+<html>
+<head>
+<title>Hg (Mercurial) for Poets</title>
+<link rel="stylesheet" href="./media/style.css" /> 
+<link rel="stylesheet" href="./media/main.css" /> 
+<link rel="stylesheet" href="./media/ie6.css" /> 
+<link rel="stylesheet" href="./media/bebas/stylesheet.css" type="text/css" charset="utf-8">
+<link rel="stylesheet" href="./media/bebas/stylesheet.css" type="text/css" charset="utf-8">
+</head>
+<body>
+<div id="header-wrap">
+	<div id="header-container">
+		<div id="header">
+			<h2>Hg&nbsp;&nbsp; (Mercurial)&nbsp;&nbsp; for&nbsp;&nbsp; Poets</h2><h1>Welcome</h1>
+			<ul>
+				<li><a href="./index.html">Modules</a></li>				
+				<li><a href="./module1/0.html">1</a></li>
+				<li><a href="./module2/0.html">2</a></li>	
+				<li><a href="./module3/0.html">3</a></li>	
+				<li><a href="./module4/0.html">4</a></li>	
+
+			</ul>
+		</div>
+			
+	</div>
+</div>
+
+<div id="ie6-container-wrap">
+	<div id="container">
+		
+	</DIV>
+	</center>	
+	</div>
+</div>
+
+<div id="footer-wrap">
+	<div id="footer-container">
+		<div id="footer">
+			<div id="credits">
+				<a href="http://thejeshgn.com/"><font color="#000">Thejesh</font>&nbsp;<font color="#83BE32">GN</font></a>
+			</div>
+			<ul>
+				<li><a href="http://code.thejeshgn.com/hg4poets/">Fork it</a></li>
+				<li><a href="http://thejeshgn.com/payme/">Donate</a></li>	
+				<li><a href="http://thejeshgn.com/projects/">Projects</a></li>	
+				<li><a href="http://thejeshgn.com/contact/">Contact</a></li>	
+
+			</ul>
+		</div>
+	</div>
+</div>
+</body>
+</html>

File media/TitilliumText/SIL Open Font License 1.1.txt

+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded, 
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.

File media/TitilliumText/TitilliumText22L001-webfont.eot

Binary file added.

File media/TitilliumText/TitilliumText22L001-webfont.svg

Added
New image

File media/TitilliumText/TitilliumText22L001-webfont.ttf

Binary file added.

File media/TitilliumText/TitilliumText22L001-webfont.woff

Binary file added.

File media/TitilliumText/TitilliumText22L002-webfont.eot

Binary file added.

File media/TitilliumText/TitilliumText22L002-webfont.svg

Added
New image

File media/TitilliumText/TitilliumText22L002-webfont.ttf

Binary file added.

File media/TitilliumText/TitilliumText22L002-webfont.woff

Binary file added.

File media/TitilliumText/TitilliumText22L003-webfont.eot

Binary file added.

File media/TitilliumText/TitilliumText22L003-webfont.svg

Added
New image

File media/TitilliumText/TitilliumText22L003-webfont.ttf

Binary file added.

File media/TitilliumText/TitilliumText22L003-webfont.woff

Binary file added.

File media/TitilliumText/TitilliumText22L004-webfont.eot

Binary file added.

File media/TitilliumText/TitilliumText22L004-webfont.svg

Added
New image

File media/TitilliumText/TitilliumText22L004-webfont.ttf

Binary file added.

File media/TitilliumText/TitilliumText22L004-webfont.woff

Binary file added.

File media/TitilliumText/TitilliumText22L005-webfont.eot

Binary file added.

File media/TitilliumText/TitilliumText22L005-webfont.svg

Added
New image

File media/TitilliumText/TitilliumText22L005-webfont.ttf

Binary file added.

File media/TitilliumText/TitilliumText22L005-webfont.woff

Binary file added.

File media/TitilliumText/TitilliumText22L006-webfont.eot

Binary file added.

File media/TitilliumText/TitilliumText22L006-webfont.svg

Added
New image

File media/TitilliumText/TitilliumText22L006-webfont.ttf

Binary file added.

File media/TitilliumText/TitilliumText22L006-webfont.woff

Binary file added.

File media/TitilliumText/demo.html

+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+
+	<title>Font Face Demo</title>
+	<link rel="stylesheet" href="stylesheet.css" type="text/css" charset="utf-8">
+	<style type="text/css" media="screen">
+		h1.fontface {font: 60px/68px 'TitilliumText22LRegular', Arial, sans-serif;letter-spacing: 0;}
+
+		p.style1 {font: 18px/27px 'TitilliumText22LThin', Arial, sans-serif;}
+		p.style2 {font: 18px/27px 'TitilliumText22LLight', Arial, sans-serif;}
+		p.style3 {font: 18px/27px 'TitilliumText22LRegular', Arial, sans-serif;}
+		p.style4 {font: 18px/27px 'TitilliumText22LMedium', Arial, sans-serif;}
+		p.style5 {font: 18px/27px 'TitilliumText22LBold', Arial, sans-serif;}
+		p.style6 {font: 18px/27px 'TitilliumText22LXBold', Arial, sans-serif;}
+		
+		#container {
+			width: 800px;
+			margin-left: auto;
+			margin-right: auto;
+		}
+	</style>
+</head>
+
+<body>
+	<div id="container">
+		<h1 class="fontface">Font-face Demo for the Titillium Text Font</h1>
+	
+	 
+
+	<p class="style1">TitilliumText Thin - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+
+	 
+
+	<p class="style2">TitilliumText Light - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+
+	 
+
+	<p class="style3">TitilliumText Regular - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+
+	 
+
+	<p class="style4">TitilliumText Medium - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+
+	 
+
+	<p class="style5">TitilliumText Bold - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+
+	 
+
+	<p class="style6">TitilliumText XBold - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+
+		</div>
+</body>
+</html>

File media/TitilliumText/stylesheet.css

+/* Generated by Font Squirrel (http://www.fontsquirrel.com) on June 24, 2011 05:19:36 AM America/New_York */
+
+
+
+@font-face {
+    font-family: 'TitilliumText22LThin';
+    src: url('TitilliumText22L001-webfont.eot');
+    src: url('TitilliumText22L001-webfont.eot?#iefix') format('embedded-opentype'),
+         url('TitilliumText22L001-webfont.woff') format('woff'),
+         url('TitilliumText22L001-webfont.ttf') format('truetype'),
+         url('TitilliumText22L001-webfont.svg#TitilliumText22LThin') format('svg');
+    font-weight: normal;
+    font-style: normal;
+
+}
+
+@font-face {
+    font-family: 'TitilliumText22LLight';
+    src: url('TitilliumText22L002-webfont.eot');
+    src: url('TitilliumText22L002-webfont.eot?#iefix') format('embedded-opentype'),
+         url('TitilliumText22L002-webfont.woff') format('woff'),
+         url('TitilliumText22L002-webfont.ttf') format('truetype'),
+         url('TitilliumText22L002-webfont.svg#TitilliumText22LLight') format('svg');
+    font-weight: normal;
+    font-style: normal;
+
+}
+
+@font-face {
+    font-family: 'TitilliumText22LRegular';
+    src: url('TitilliumText22L003-webfont.eot');
+    src: url('TitilliumText22L003-webfont.eot?#iefix') format('embedded-opentype'),
+         url('TitilliumText22L003-webfont.woff') format('woff'),
+         url('TitilliumText22L003-webfont.ttf') format('truetype'),
+         url('TitilliumText22L003-webfont.svg#TitilliumText22LRegular') format('svg');
+    font-weight: normal;
+    font-style: normal;
+
+}
+
+@font-face {
+    font-family: 'TitilliumText22LMedium';
+    src: url('TitilliumText22L004-webfont.eot');
+    src: url('TitilliumText22L004-webfont.eot?#iefix') format('embedded-opentype'),
+         url('TitilliumText22L004-webfont.woff') format('woff'),
+         url('TitilliumText22L004-webfont.ttf') format('truetype'),
+         url('TitilliumText22L004-webfont.svg#TitilliumText22LMedium') format('svg');
+    font-weight: normal;
+    font-style: normal;
+
+}
+
+@font-face {
+    font-family: 'TitilliumText22LBold';
+    src: url('TitilliumText22L005-webfont.eot');
+    src: url('TitilliumText22L005-webfont.eot?#iefix') format('embedded-opentype'),
+         url('TitilliumText22L005-webfont.woff') format('woff'),
+         url('TitilliumText22L005-webfont.ttf') format('truetype'),
+         url('TitilliumText22L005-webfont.svg#TitilliumText22LBold') format('svg');
+    font-weight: normal;
+    font-style: normal;
+
+}
+
+@font-face {
+    font-family: 'TitilliumText22LXBold';
+    src: url('TitilliumText22L006-webfont.eot');
+    src: url('TitilliumText22L006-webfont.eot?#iefix') format('embedded-opentype'),
+         url('TitilliumText22L006-webfont.woff') format('woff'),
+         url('TitilliumText22L006-webfont.ttf') format('truetype'),
+         url('TitilliumText22L006-webfont.svg#TitilliumText22LXBold') format('svg');
+    font-weight: normal;
+    font-style: normal;
+
+}
+

File media/bebas/BEBAS___-webfont.eot

Binary file added.

File media/bebas/BEBAS___-webfont.svg

Added
New image

File media/bebas/BEBAS___-webfont.ttf

Binary file added.

File media/bebas/BEBAS___-webfont.woff

Binary file added.

File media/bebas/Flat-it License.txt

+All fonts copyright Flat-it(http://flat-it.com/)
+
+This is a freeware typeface. This means that you can use it on your commercial or non-commercial works for free.
+
+But here is a list of things you could do, Only if you want to:
+
+* Mail me about your works
+* Link http://flat-it.com/
+* Send me a sample of the work you did using my typeface
+* Mail me some print material you did using my typeface
+* Credit "Flat-it"on your work
+* Smile
+
+to contact info@flat-it.com in JAPAN
+
+
+Ryoichi Tsunekawa
+Flat-it

File media/bebas/demo.html

+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+
+	<title>Font Face Demo</title>
+	<link rel="stylesheet" href="stylesheet.css" type="text/css" charset="utf-8">
+	<style type="text/css" media="screen">
+		h1.fontface {font: 60px/68px 'BebasRegular', Arial, sans-serif;letter-spacing: 0;}
+
+		p.style1 {font: 18px/27px 'BebasRegular', Arial, sans-serif;}
+		
+		#container {
+			width: 800px;
+			margin-left: auto;
+			margin-right: auto;
+		}
+	</style>
+</head>
+
+<body>
+	<div id="container">
+		<h1 class="fontface">FONT-FACE DEMO FOR THE BEBAS FONT</h1>
+	
+	 
+
+	<p class="style1">Bebas Regular - Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
+
+		</div>
+</body>
+</html>

File media/bebas/stylesheet.css

+/* Generated by Font Squirrel (http://www.fontsquirrel.com) on June 24, 2011 03:14:54 AM America/New_York */
+
+
+
+@font-face {
+    font-family: 'BebasRegular';
+    src: url('BEBAS___-webfont.eot');
+    src: url('BEBAS___-webfont.eot?#iefix') format('embedded-opentype'),
+         url('BEBAS___-webfont.woff') format('woff'),
+         url('BEBAS___-webfont.ttf') format('truetype'),
+         url('BEBAS___-webfont.svg#BebasRegular') format('svg');
+    font-weight: normal;
+    font-style: normal;
+
+}
+

File media/grid.css

+/*
+	Variable Grid System.
+	Learn more ~ http://www.spry-soft.com/grids/
+	Based on 960 Grid System - http://960.gs/
+
+	Licensed under GPL and MIT.
+*/
+
+/*
+  Forces backgrounds to span full width,
+  even if there is horizontal scrolling.
+  Increase this if your layout is wider.
+
+  Note: IE6 works fine without this fix.
+*/
+
+body {
+  min-width: 960px;
+}
+
+/* Containers
+----------------------------------------------------------------------------------------------------*/
+.container_12 {
+	margin-left: auto;
+	margin-right: auto;
+	width: 960px;
+}
+
+/* Grid >> Global
+----------------------------------------------------------------------------------------------------*/
+
+
+.grid_1,
+.grid_2,
+.grid_3,
+.grid_4,
+.grid_5,
+.grid_6,
+.grid_7,
+.grid_8,
+.grid_9,
+.grid_10,
+.grid_11,
+.grid_12 {
+	display:inline;
+	float: left;
+	position: relative;
+	margin-left: 10px;
+	margin-right: 10px;
+}
+
+
+
+.push_1, .pull_1,
+.push_2, .pull_2,
+.push_3, .pull_3,
+.push_4, .pull_4,
+.push_5, .pull_5,
+.push_6, .pull_6,
+.push_7, .pull_7,
+.push_8, .pull_8,
+.push_9, .pull_9,
+.push_10, .pull_10,
+.push_11, .pull_11,
+.push_12, .pull_12 {
+	position:relative;
+}
+
+
+/* Grid >> Children (Alpha ~ First, Omega ~ Last)
+----------------------------------------------------------------------------------------------------*/
+
+.alpha {
+	margin-left: 0;
+}
+
+.omega {
+	margin-right: 0;
+}
+
+/* Grid >> 12 Columns
+----------------------------------------------------------------------------------------------------*/
+
+
+.container_12 .grid_1 {
+	width:60px;
+}
+
+.container_12 .grid_2 {
+	width:140px;
+}
+
+.container_12 .grid_3 {
+	width:220px;
+}
+
+.container_12 .grid_4 {
+	width:300px;
+}
+
+.container_12 .grid_5 {
+	width:380px;
+}
+
+.container_12 .grid_6 {
+	width:460px;
+}
+
+.container_12 .grid_7 {
+	width:540px;
+}
+
+.container_12 .grid_8 {
+	width:620px;
+}
+
+.container_12 .grid_9 {
+	width:700px;
+}
+
+.container_12 .grid_10 {
+	width:780px;
+}
+
+.container_12 .grid_11 {
+	width:860px;
+}
+
+.container_12 .grid_12 {
+	width:940px;
+}
+
+
+
+
+/* Prefix Extra Space >> 12 Columns
+----------------------------------------------------------------------------------------------------*/
+
+
+.container_12 .prefix_1 {
+	padding-left:80px;
+}
+
+.container_12 .prefix_2 {
+	padding-left:160px;
+}
+
+.container_12 .prefix_3 {
+	padding-left:240px;
+}
+
+.container_12 .prefix_4 {
+	padding-left:320px;
+}
+
+.container_12 .prefix_5 {
+	padding-left:400px;
+}
+
+.container_12 .prefix_6 {
+	padding-left:480px;
+}
+
+.container_12 .prefix_7 {
+	padding-left:560px;
+}
+
+.container_12 .prefix_8 {
+	padding-left:640px;
+}
+
+.container_12 .prefix_9 {
+	padding-left:720px;
+}
+
+.container_12 .prefix_10 {
+	padding-left:800px;
+}
+
+.container_12 .prefix_11 {
+	padding-left:880px;
+}
+
+
+
+/* Suffix Extra Space >> 12 Columns
+----------------------------------------------------------------------------------------------------*/
+
+
+.container_12 .suffix_1 {
+	padding-right:80px;
+}
+
+.container_12 .suffix_2 {
+	padding-right:160px;
+}
+
+.container_12 .suffix_3 {
+	padding-right:240px;
+}
+
+.container_12 .suffix_4 {
+	padding-right:320px;
+}
+
+.container_12 .suffix_5 {
+	padding-right:400px;
+}
+
+.container_12 .suffix_6 {
+	padding-right:480px;
+}
+
+.container_12 .suffix_7 {
+	padding-right:560px;
+}
+
+.container_12 .suffix_8 {
+	padding-right:640px;
+}
+
+.container_12 .suffix_9 {
+	padding-right:720px;
+}
+
+.container_12 .suffix_10 {
+	padding-right:800px;
+}
+
+.container_12 .suffix_11 {
+	padding-right:880px;
+}
+
+
+
+/* Push Space >> 12 Columns
+----------------------------------------------------------------------------------------------------*/
+
+
+.container_12 .push_1 {
+	left:80px;
+}
+
+.container_12 .push_2 {
+	left:160px;
+}
+
+.container_12 .push_3 {
+	left:240px;
+}
+
+.container_12 .push_4 {
+	left:320px;
+}
+
+.container_12 .push_5 {
+	left:400px;
+}
+
+.container_12 .push_6 {
+	left:480px;
+}
+
+.container_12 .push_7 {
+	left:560px;
+}
+
+.container_12 .push_8 {
+	left:640px;
+}
+
+.container_12 .push_9 {
+	left:720px;
+}
+
+.container_12 .push_10 {
+	left:800px;
+}
+
+.container_12 .push_11 {
+	left:880px;
+}
+
+
+
+/* Pull Space >> 12 Columns
+----------------------------------------------------------------------------------------------------*/
+
+
+.container_12 .pull_1 {
+	left:-80px;
+}
+
+.container_12 .pull_2 {
+	left:-160px;
+}
+
+.container_12 .pull_3 {
+	left:-240px;
+}
+
+.container_12 .pull_4 {
+	left:-320px;
+}
+
+.container_12 .pull_5 {
+	left:-400px;
+}
+
+.container_12 .pull_6 {
+	left:-480px;
+}
+
+.container_12 .pull_7 {
+	left:-560px;
+}
+
+.container_12 .pull_8 {
+	left:-640px;
+}
+
+.container_12 .pull_9 {
+	left:-720px;
+}
+
+.container_12 .pull_10 {
+	left:-800px;
+}
+
+.container_12 .pull_11 {
+	left:-880px;
+}
+
+
+
+
+/* `Clear Floated Elements
+----------------------------------------------------------------------------------------------------*/
+
+/* http://sonspring.com/journal/clearing-floats */
+
+.clear {
+  clear: both;
+  display: block;
+  overflow: hidden;
+  visibility: hidden;
+  width: 0;
+  height: 0;
+}
+
+/* http://www.yuiblog.com/blog/2010/09/27/clearfix-reloaded-overflowhidden-demystified */
+
+.clearfix:before,
+.clearfix:after {
+  content: '\0020';
+  display: block;
+  overflow: hidden;
+  visibility: hidden;
+  width: 0;
+  height: 0;
+}
+
+.clearfix:after {
+  clear: both;
+}
+
+/*
+  The following zoom:1 rule is specifically for IE6 + IE7.
+  Move to separate stylesheet if invalid CSS is a problem.
+*/
+
+.clearfix {
+  zoom: 1;
+}

File media/ie6.css

+html, body{
+	height: 100%;
+	overflow: hidden;
+}
+
+#header-wrap, #footer-wrap {
+	position: absolute;
+}
+
+#header-container, #footer-container {
+	margin-right: 17px;
+}
+
+#footer-wrap {
+	bottom: -1px;
+}
+
+#ie6-container-wrap {
+	width: 100%;
+	height: 100%;
+	overflow: auto;
+}

File media/js/init.js

+/*
+ * This code searches for all the <script type="application/processing" target="canvasid">
+ * in your page and loads each script in the target canvas with the proper id.
+ * It is useful to smooth the process of adding Processing code in your page and starting
+ * the Processing.js engine.
+ */
+
+if (window.addEventListener) {
+  window.addEventListener("load", function() {
+    var scripts = document.getElementsByTagName("script");
+    var canvasArray = Array.prototype.slice.call(document.getElementsByTagName("canvas"));
+    var canvas;
+    for (var i = 0, j = 0; i < scripts.length; i++) {
+      if (scripts[i].type == "application/processing") {
+        var src = scripts[i].getAttribute("target");
+        if (src && src.indexOf("#") > -1) {
+          canvas = document.getElementById(src.substr(src.indexOf("#") + 1));
+          if (canvas) {
+            new Processing(canvas, scripts[i].text);
+            for (var k = 0; k< canvasArray.length; k++)
+            {
+              if (canvasArray[k] === canvas) {
+                // remove the canvas from the array so we dont override it in the else
+                canvasArray.splice(k,1);
+              }
+            }
+          }
+        } else {    
+          if (canvasArray.length >= j) {
+            new Processing(canvasArray[j], scripts[i].text);          
+          }
+          j++;
+        }       
+      }
+    }
+  }, false);
+}

File media/js/processing-1.2.1.min.js

+(function(T,A,e,zc,p){function Ab(c,e){if(c in T)return T[c];return typeof T[e]==="function"?T[e]:function(c){if(c instanceof Array)return c;else if(typeof c==="number"){var h=[];h.length=c;return h}}}function Ub(c){if(c.constructor===String){for(var q=0,J=0;J<c.length;++J)q=q*31+c.charCodeAt(J)&4294967295;return q}else if(typeof c!=="object")return c&4294967295;else if(c.hashCode instanceof Function)return c.hashCode();else{if(c.$id===p)c.$id=e.floor(e.random()*65536)-32768<<16|e.floor(e.random()*
+65536);return c.$id}}function ra(c,e){return c===null||e===null?c===null&&e===null:c.constructor===String?c===e:typeof c!=="object"?c===e:c.equals instanceof Function?c.equals(e):c===e}function Vb(){}function Ac(){var c=["abs","acos","alpha","ambient","ambientLight","append","applyMatrix","arc","arrayCopy","asin","atan","atan2","background","beginCamera","beginDraw","beginShape","bezier","bezierDetail","bezierPoint","bezierTangent","bezierVertex","binary","blend","blendColor","blit_resize","blue",
+"box","breakShape","brightness","camera","ceil","Character","color","colorMode","concat","console","constrain","copy","cos","createFont","createGraphics","createImage","cursor","curve","curveDetail","curvePoint","curveTangent","curveTightness","curveVertex","day","defaultColor","degrees","directionalLight","disableContextMenu","dist","draw","ellipse","ellipseMode","emissive","enableContextMenu","endCamera","endDraw","endShape","exit","exp","expand","externals","fill","filter","filter_bilinear","filter_new_scanline",
+"floor","focused","frameCount","frameRate","frustum","get","glyphLook","glyphTable","green","height","hex","hint","hour","hue","image","imageMode","Import","intersect","join","key","keyCode","keyPressed","keyReleased","keyTyped","lerp","lerpColor","lightFalloff","lights","lightSpecular","line","link","loadBytes","loadFont","loadGlyphs","loadImage","loadPixels","loadShape","loadStrings","log","loop","mag","map","match","matchAll","max","millis","min","minute","mix","modelX","modelY","modelZ","modes",
+"month","mouseButton","mouseClicked","mouseDragged","mouseMoved","mouseOut","mouseOver","mousePressed","mouseReleased","mouseScroll","mouseScrolled","mouseX","mouseY","name","nf","nfc","nfp","nfs","noCursor","noFill","noise","noiseDetail","noiseSeed","noLights","noLoop","norm","normal","noSmooth","noStroke","noTint","ortho","param","parseBoolean","parseByte","parseChar","parseFloat","parseInt","peg","perspective","PFont","PImage","pixels","PMatrix2D","PMatrix3D","PMatrixStack","pmouseX","pmouseY",
+"point","pointLight","popMatrix","popStyle","pow","print","printCamera","println","printMatrix","printProjection","PShape","PShapeSVG","pushMatrix","pushStyle","quad","radians","random","Random","randomSeed","rect","rectMode","red","redraw","requestImage","resetMatrix","reverse","rotate","rotateX","rotateY","rotateZ","round","saturation","save","saveFrame","saveStrings","scale","screenX","screenY","screenZ","second","set","setup","shape","shapeMode","shared","shininess","shorten","sin","size","smooth",
+"sort","specular","sphere","sphereDetail","splice","split","splitTokens","spotLight","sq","sqrt","status","str","stroke","strokeCap","strokeJoin","strokeWeight","subset","tan","text","textAlign","textAscent","textDescent","textFont","textLeading","textMode","textSize","texture","textureMode","textWidth","tint","touchCancel","touchEnd","touchMove","touchStart","translate","triangle","trim","unbinary","unhex","updatePixels","use3DContext","vertex","width","XMLElement","year","__contains","__equals",
+"__frameRate","__hashCode","__int_cast","__instanceof","__keyPressed","__mousePressed","__printStackTrace","__replace","__replaceAll","__replaceFirst","__toCharArray","__split"],e={},p,s;p=0;for(s=c.length;p<s;++p)e[c[p]]=null;for(var C in w.lib)if(w.lib.hasOwnProperty(C)&&w.lib[C].exports){c=w.lib[C].exports;p=0;for(s=c.length;p<s;++p)e[c[p]]=null}return e}function Bc(e){function q(a){var c=/^\s*/.exec(a);if(c[0].length===a.length)a={left:c[0],middle:"",right:""};else var d=/\s*$/.exec(a),a={left:c[0],
+middle:a.substring(c[0].length,d.index),right:d[0]};a.untrim=function(a){return this.left+a+this.right};return a}function J(a){return a.replace(/^\s+/,"").replace(/\s+$/,"")}function s(a,c){for(var d=0,z=c.length;d<z;++d)a[c[d]]=null;return a}function C(a){for(var c in a)if(a.hasOwnProperty(c))return!1;return!0}function r(a){return a.substring(2,a.length-1)}function N(a,c){var d=K.length;K.push(a);return'"'+c+d+'"'}function v(a){a=a.replace(nb,function(a){return N(a,"E")});a=a.replace(X,function(a){return N(a,
+"D")});return a=a.replace(db,function(a){return N(a,"H")})}function x(a,c){return a.replace(Wb,function(a,Ba,d){return d!==c?a:N(a,"G")})}function w(a){this.name=a}function A(a){this.params=a}function B(a){var c=J(a.substring(1,a.length-1)),a=[];if(c!=="")for(var c=c.split(","),d=0;d<c.length;++d){var z=/\b([A-Za-z_$][\w$]*\b)(\s*"[ABC][\d]*")*\s*$/.exec(c[d]);a.push(new w(z[1]))}return new A(a)}function Y(a){function c(a,d,Ba,ea){a=K[ea];z=!0;a=q(a.substring(1,a.length-1));return"__"+Ba+(a.middle===
+""?N("("+d.replace(/\.\s*$/,"")+")","B"):N("("+d.replace(/\.\s*$/,"")+","+a.middle+")","B"))}function d(a,c,Ba){z=!0;return"__instanceof"+N("("+c+", "+Ba+")","B")}var a=a.replace(/\bnew\s+([A-Za-z_$][\w$]*\b(?:\s*\.\s*[A-Za-z_$][\w$]*\b)*)(?:\s*"C\d+")+\s*("A\d+")/g,function(a,c,d){return d}),a=a.replace(/\bnew\s+([A-Za-z_$][\w$]*\b(?:\s*\.\s*[A-Za-z_$][\w$]*\b)*)(?:\s*"B\d+")\s*("A\d+")/g,function(a){return N(a,"F")}),a=a.replace(db,function(a){return N(a,"H")}),a=a.replace(/\bnew\s+([A-Za-z_$][\w$]*\b(?:\s*\.\s*[A-Za-z_$][\w$]*\b)*)\s*("C\d+"(?:\s*"C\d+")*)/g,
+function(a,c,d){a=d.replace(/"C(\d+)"/g,function(a,c){return K[c]}).replace(/\[\s*\]/g,"[null]").replace(/\s*\]\s*\[\s*/g,", ");a="{"+a.substring(1,a.length-1)+"}";c="('"+c+"', "+N(a,"A")+")";return"$p.createJavaArray"+N(c,"B")}),a=a.replace(/(\.\s*length)\s*"B\d+"/g,"$1"),a=a.replace(/#([0-9A-Fa-f]{6})\b/g,function(a,c){return"0xFF"+c}),a=a.replace(/"B(\d+)"(\s*(?:[\w$']|"B))/g,function(a,c,d){c=K[c];if(/^\(\s*[A-Za-z_$][\w$]*\b(?:\s*\.\s*[A-Za-z_$][\w$]*\b)*\s*(?:"C\d+"\s*)*\)$/.test(c))if(/^\(\s*int\s*\)$/.test(c))return"(int)"+
+d;else{c=c.split(/"C(\d+)"/g);if(c.length>1&&!/^\[\s*\]$/.test(K[c[1]]))return a;return""+d}else return a}),a=a.replace(/\(int\)([^,\]\)\}\?\:\*\+\-\/\^\|\%\&\~<\>\=]+)/g,function(a,c){var d=q(c);return d.untrim("__int_cast("+d.middle+")")}),a=a.replace(/\bsuper(\s*"B\d+")/g,"$$superCstr$1").replace(/\bsuper(\s*\.)/g,"$$super$1"),a=a.replace(/\b0+((\d*)(?:\.[\d*])?(?:[eE][\-\+]?\d+)?[fF]?)\b/,function(a,c,d){if(c===d)return a;return d===""?"0"+c:c}),a=a.replace(/\b(\.?\d+\.?)[fF]\b/g,"$1"),a=a.replace(/([^\s])%([^=\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,c){return"parse"+c.substring(0,1).toUpperCase()+c.substring(1)+'"B'}),a=a.replace(/\bpixels\s*(("C(\d+)")|\.length)?(\s*=(?!=)([^,\]\)\}]+))?/g,function(a,c,d,Ba,ea,ja){return d?(a=K[Ba],ea?"pixels.setPixel"+N("("+a.substring(1,a.length-1)+","+ja+")","B"):"pixels.getPixel"+N("("+a.substring(1,a.length-1)+")","B")):c?"pixels.getLength"+N("()","B"):ea?"pixels.set"+
+N("("+ja+")","B"):"pixels.toArray"+N("()","B")}),z;do z=!1,a=a.replace(/((?:'\d+'|\b[A-Za-z_$][\w$]*\s*(?:"[BC]\d+")*)\s*\.\s*(?:[A-Za-z_$][\w$]*\s*(?:"[BC]\d+"\s*)*\.\s*)*)(replace|replaceAll|replaceFirst|contains|equals|hashCode|toCharArray|printStackTrace|split)\s*"B(\d+)"/g,c);while(z);do z=!1,a=a.replace(/((?:'\d+'|\b[A-Za-z_$][\w$]*\s*(?:"[BC]\d+")*)\s*(?:\.\s*[A-Za-z_$][\w$]*\s*(?:"[BC]\d+"\s*)*)*)instanceof\s+([A-Za-z_$][\w$]*\s*(?:\.\s*[A-Za-z_$][\w$]*)*)/g,d);while(z);return a=a.replace(/\bthis(\s*"B\d+")/g,
+"$$constr$1")}function Yc(a,c){this.baseInterfaceName=a;this.body=c;c.owner=this}function ca(a){var c=RegExp(/\bnew\s*([A-Za-z_$][\w$]*\s*(?:\.\s*[A-Za-z_$][\w$]*)*)\s*"B\d+"\s*"A(\d+)"/).exec(a),a=ka,d="class"+ ++pb;ka=d;var z=c[1]+"$"+d,c=new Yc(z,fb(K[c[2]],z,"","implements "+c[1]));c.classId=d;c.scopeId=a;ba[d]=c;ka=a;return c}function ya(a,c,d){this.name=a;this.params=c;this.body=d}function I(a){a=RegExp(/\b([A-Za-z_$][\w$]*)\s*"B(\d+)"\s*"A(\d+)"/).exec(a);return new ya(a[1]!=="function"?a[1]:
+null,B(K[a[2]]),Na(K[a[3]]))}function Yb(a){this.members=a}function gb(a){for(var a=a.split(","),c=0;c<a.length;++c){var d=a[c].indexOf(":");a[c]=d<0?{value:za(a[c])}:{label:J(a[c].substring(0,d)),value:za(J(a[c].substring(d+1)))}}return new Yb(a)}function T(a){if(a.charAt(0)==="("||a.charAt(0)==="[")return a.charAt(0)+T(a.substring(1,a.length-1))+a.charAt(a.length-1);else if(a.charAt(0)==="{")return/^\{\s*(?:[A-Za-z_$][\w$]*|'\d+')\s*:/.test(a)?"{"+N(a.substring(1,a.length-1),"I")+"}":"["+T(a.substring(1,
+a.length-1))+"]";else{var a=q(a),c=Y(a.middle),c=c.replace(/"[ABC](\d+)"/g,function(a,c){return T(K[c])});return a.untrim(c)}}function Z(a){return a.replace(/(\.\s*)?(\b[A-Za-z_$][\w$]*\b)(\s*\.\s*(\b[A-Za-z_$][\w$]*\b)(\s*\()?)?/g,function(a,c,d,Ba,e,h){return c?a:W({name:d,member:e,callSign:!!h})+(Ba===p?"":Ba)})}function la(a,c){this.expr=a;this.transforms=c}function ia(a,c,d){this.name=a;this.value=c;this.isDefault=d}function ga(a,c){var d=a.indexOf("="),z,e;d<0?(z=a,d=c,e=!0):(z=a.substring(0,
+d),d=za(a.substring(d+1)),e=!1);return new ia(J(z.replace(/(\s*"C\d+")+/g,"")),d,e)}function Ca(a){return a==="int"||a==="float"?"0":a==="boolean"?"false":a==="color"?"0x00000000":"null"}function Da(a,c){this.definitions=a;this.varType=c}function Ga(a){this.expression=a}function oa(a){if(Zb.test(a)){for(var c=$b.exec(a),a=a.substring(c[0].length).split(","),d=Ca(c[2]),z=0;z<a.length;++z)a[z]=ga(a[z],d);return new Da(a,c[2])}else return new Ga(za(a))}function hb(a,c,d){this.initStatement=a;this.condition=
+c;this.step=d}function ib(a,c){this.initStatement=a;this.container=c}function Ra(a,c){this.initStatement=a;this.container=c}function jb(a){return/\bin\b/.test(a)?(a=a.substring(1,a.length-1).split(/\bin\b/g),new ib(oa(J(a[0])),za(a[1]))):a.indexOf(":")>=0&&a.indexOf(";")<0?(a=a.substring(1,a.length-1).split(":"),new Ra(oa(J(a[0])),za(a[1]))):(a=a.substring(1,a.length-1).split(";"),new hb(oa(J(a[0])),za(a[1]),za(a[2])))}function y(a){a.sort(function(a,c){return c.weight-a.weight})}function qb(a,c,
+d){this.name=a;this.body=c;this.isStatic=d;c.owner=this}function $(a,c,d){this.name=a;this.body=c;this.isStatic=d;c.owner=this}function ra(a){var c=nb.exec(a);nb.lastIndex=0;var d=c[1].indexOf("static")>=0,z=K[r(c[6])],a=ka,e="class"+ ++pb;ka=e;c=c[2]==="interface"?new qb(c[3],rb(z,c[3],c[4]),d):new $(c[3],fb(z,c[3],c[4],c[5]),d);c.classId=e;c.scopeId=a;ba[e]=c;ka=a;return c}function ta(a,c,d,z){this.name=a;this.params=c;this.body=d;this.isStatic=z}function sb(a){a=X.exec(a);X.lastIndex=0;var c=a[1].indexOf("static")>=
+0,d=a[6]!==";"?K[r(a[6])]:"{}";return new ta(a[3],B(K[r(a[4])]),Na(d),c)}function kb(a,c,d){this.definitions=a;this.fieldType=c;this.isStatic=d}function Oa(a){for(var c=$b.exec(a),d=c[1].indexOf("static")>=0,a=a.substring(c[0].length).split(/,\s*/g),z=Ca(c[2]),e=0;e<a.length;++e)a[e]=ga(a[e],z);return new kb(a,c[2],d)}function ac(a,c){this.params=a;this.body=c}function bc(a){var a=RegExp(/"B(\d+)"\s*"A(\d+)"/).exec(a),c=B(K[a[1]]);return new ac(c,Na(K[a[2]]))}function Bb(a,c,d,z,e,h){this.name=a;
+this.interfacesNames=c;this.methodsNames=d;this.fields=z;this.innerClasses=e;this.misc=h;a=0;for(c=z.length;a<c;++a)z[a].owner=this}function cc(a,c,d,z,e,h,q,p,r){this.name=a;this.baseClassName=c;this.interfacesNames=d;this.functions=z;this.methods=e;this.fields=h;this.cstrs=q;this.innerClasses=p;this.misc=r;a=0;for(c=h.length;a<c;++a)h[a].owner=this}function Cb(a,c){this.name=a;this.body=c;c.owner=this}function Db(a,c){this.name=a;this.body=c;c.owner=this}function a(a){var c=nb.exec(a);nb.lastIndex=
+0;var d=K[r(c[6])],a=ka,z="class"+ ++pb;ka=z;c=c[2]==="interface"?new Cb(c[3],rb(d,c[3],c[4])):new Db(c[3],fb(d,c[3],c[4],c[5]));c.classId=z;c.scopeId=a;ba[z]=c;ka=a;return c}function Sa(a,c,d){this.name=a;this.params=c;this.body=d}function d(a){a=X.exec(a);X.lastIndex=0;return new Sa(a[3],B(K[r(a[4])]),Na(K[r(a[6])]))}function aa(a,c){this.argument=a;this.misc=c}function ha(a,c){this.argument=a;this.misc=c}function U(a,c,d){this.name=a;this.argument=c;this.misc=d}function pa(a){this.expr=a}function Ha(a){this.label=
+a}function Ia(a){for(var c=[],d=0,z=a.length;d<z;++d){var e=a[d];e instanceof Da?c=c.concat(e.getNames()):e instanceof aa&&e.argument.initStatement instanceof Da?c=c.concat(e.argument.initStatement.getNames()):(e instanceof qb||e instanceof $||e instanceof Cb||e instanceof Db||e instanceof Sa||e instanceof ya)&&c.push(e.name)}return s({},c)}function O(a){this.statements=a}function na(a){this.statements=a}var ma=Ac(),Ta=[],da,e=e.replace(/\r\n?|\n\r/g,"\n").replace(/("(?:[^"\\\n]|\\.)*")|('(?:[^'\\\n]|\\.)*')|(([\[\(=|&!\^:?]\s*)(\/(?![*\/])(?:[^\/\\\n]|\\.)*\/[gim]*)\b)|(\/\/[^\n]*\n)|(\/\*(?:(?!\*\/)(?:.|\n))*\*\/)/g,
+function(a,c,d,e,h,q,p,r){return c||d?(c=Ta.length,Ta.push(a),"'"+c+"'"):e?(c=Ta.length,Ta.push(q),h+"'"+c+"'"):r!==""?" ":"\n"}),Eb=function(a,c,d,e){if(c||e)return a;da=!0;return""};do da=!1,e=e.replace(/([<]?)<\s*((?:\?|[A-Za-z_$][\w$]*\b(?:\s*\.\s*[A-Za-z_$][\w$]*\b)*)(?:\s+(?:extends|super)\s+[A-Za-z_$][\w$]*\b(?:\s*\.\s*[A-Za-z_$][\w$]*\b)*)?(?:\s*,\s*(?:\?|[A-Za-z_$][\w$]*\b(?:\s*\.\s*[A-Za-z_$][\w$]*\b)*)(?:\s+(?:extends|super)\s+[A-Za-z_$][\w$]*\b(?:\s*\.\s*[A-Za-z_$][\w$]*\b)*)?)*)\s*>([=]?)/g,
+Eb);while(da);var K=function(a){for(var c=[],a=a.split(/([\{\[\(\)\]\}])/),d=a[0],e=[],h=1;h<a.length;h+=2){var q=a[h];if(q==="["||q==="{"||q==="(")e.push(d),d=q;else if(q==="]"||q==="}"||q===")"){var p=q==="}"?"A":q===")"?"B":"C",r=c.length;c.push(d+q);d=e.pop()+'"'+p+(r+1)+'"'}d+=a[h+1]}c.unshift(d);return c}(e),W,ba={},ka,pb=0,fb,rb,Na,tb,za,nb=/\b((?:(?:public|private|final|protected|static|abstract)\s+)*)(class|interface)\s+([A-Za-z_$][\w$]*\b)(\s+extends\s+[A-Za-z_$][\w$]*\b(?:\s*\.\s*[A-Za-z_$][\w$]*\b)*(?:\s*,\s*[A-Za-z_$][\w$]*\b(?:\s*\.\s*[A-Za-z_$][\w$]*\b)*\b)*)?(\s+implements\s+[A-Za-z_$][\w$]*\b(?:\s*\.\s*[A-Za-z_$][\w$]*\b)*(?:\s*,\s*[A-Za-z_$][\w$]*\b(?:\s*\.\s*[A-Za-z_$][\w$]*\b)*\b)*)?\s*("A\d+")/g,
+X=/\b((?:(?:public|private|final|protected|static|abstract|synchronized)\s+)*)((?!(?:else|new|return|throw|function|public|private|protected)\b)[A-Za-z_$][\w$]*\b(?:\s*\.\s*[A-Za-z_$][\w$]*\b)*(?:\s*"C\d+")*)\s*([A-Za-z_$][\w$]*\b)\s*("B\d+")(\s*throws\s+[A-Za-z_$][\w$]*\b(?:\s*\.\s*[A-Za-z_$][\w$]*\b)*(?:\s*,\s*[A-Za-z_$][\w$]*\b(?:\s*\.\s*[A-Za-z_$][\w$]*\b)*)*)?\s*("A\d+"|;)/g,Zb=/^((?:(?:public|private|final|protected|static)\s+)*)((?!(?:else|new|return|throw)\b)[A-Za-z_$][\w$]*\b(?:\s*\.\s*[A-Za-z_$][\w$]*\b)*(?:\s*"C\d+")*)\s*([A-Za-z_$][\w$]*\b)\s*(?:"C\d+"\s*)*([=,]|$)/,
+Wb=/\b((?:(?:public|private|final|protected|static|abstract)\s+)*)((?!(?:new|return|throw)\b)[A-Za-z_$][\w$]*\b)\s*("B\d+")(\s*throws\s+[A-Za-z_$][\w$]*\b(?:\s*\.\s*[A-Za-z_$][\w$]*\b)*(?:\s*,\s*[A-Za-z_$][\w$]*\b(?:\s*\.\s*[A-Za-z_$][\w$]*\b)*)*)?\s*("A\d+")/g,$b=/^((?:(?:public|private|final|protected|static)\s+)*)((?!(?:new|return|throw)\b)[A-Za-z_$][\w$]*\b(?:\s*\.\s*[A-Za-z_$][\w$]*\b)*(?:\s*"C\d+")*)\s*/,db=/\bfunction(?:\s+([A-Za-z_$][\w$]*))?\s*("B\d+")\s*("A\d+")/g;w.prototype.toString=function(){return this.name};
+A.prototype.getNames=function(){for(var a=[],c=0,d=this.params.length;c<d;++c)a.push(this.params[c].name);return a};A.prototype.toString=function(){if(this.params.length===0)return"()";for(var a="(",c=0,d=this.params.length;c<d;++c)a+=this.params[c]+", ";return a.substring(0,a.length-2)+")"};Yc.prototype.toString=function(){return"new ("+this.body+")"};ya.prototype.toString=function(){var a=W,c=s({"this":null},this.params.getNames());W=function(d){return c.hasOwnProperty(d.name)?d.name:a(d)};var d=
+"function";this.name&&(d+=" "+this.name);d+=this.params+" "+this.body;W=a;return d};Yb.prototype.toString=function(){var a=W;W=function(c){return c.name==="this"?"this":a(c)};for(var c="",d=0,e=this.members.length;d<e;++d)this.members[d].label&&(c+=this.members[d].label+": "),c+=this.members[d].value.toString()+", ";W=a;return c.substring(0,c.length-2)};la.prototype.toString=function(){var a=this.transforms;return Z(this.expr).replace(/"!(\d+)"/g,function(c,d){return a[d].toString()})};za=function(a){var c=
+[],a=T(a),a=a.replace(/"H(\d+)"/g,function(a,d){c.push(I(K[d]));return'"!'+(c.length-1)+'"'}),a=a.replace(/"F(\d+)"/g,function(a,d){c.push(ca(K[d]));return'"!'+(c.length-1)+'"'}),a=a.replace(/"I(\d+)"/g,function(a,d){c.push(gb(K[d]));return'"!'+(c.length-1)+'"'});return new la(a,c)};ia.prototype.toString=function(){return this.name+" = "+this.value};Da.prototype.getNames=function(){for(var a=[],c=0,d=this.definitions.length;c<d;++c)a.push(this.definitions[c].name);return a};Da.prototype.toString=
+function(){return"var "+this.definitions.join(",")};Ga.prototype.toString=function(){return this.expression.toString()};hb.prototype.toString=function(){return"("+this.initStatement+"; "+this.condition+"; "+this.step+")"};ib.prototype.toString=function(){var a=this.initStatement.toString();a.indexOf("=")>=0&&(a=a.substring(0,a.indexOf("=")));return"("+a+" in "+this.container+")"};Ra.iteratorId=0;Ra.prototype.toString=function(){var a=this.initStatement.toString(),c="$it"+Ra.iteratorId++,a=a.replace(/^\s*var\s*/,
+"").split("=")[0];return"("+("var "+c+" = new $p.ObjectIterator("+this.container+"), "+a+" = void(0)")+"; "+(c+".hasNext() && (("+a+" = "+c+".next()) || true)")+";)"};qb.prototype.toString=function(){return""+this.body};$.prototype.toString=function(){return""+this.body};ta.prototype.toString=function(){var a=s({},this.params.getNames()),c=W;W=function(d){return a.hasOwnProperty(d.name)?d.name:c(d)};var d="function "+this.methodId+this.params+" "+this.body+"\n";W=c;return d};kb.prototype.getNames=
+function(){for(var a=[],c=0,d=this.definitions.length;c<d;++c)a.push(this.definitions[c].name);return a};kb.prototype.toString=function(){var a=W({name:"[this]"});if(this.isStatic){for(var c=this.owner.name,d=[],e=0,h=this.definitions.length;e<h;++e){var q=this.definitions[e],p=q.name,r=c+"."+p;d.push("if("+r+" === void(0)) {\n "+r+" = "+q.value+"; }\n$p.defineProperty("+a+", '"+p+"', { get: function(){return "+r+";}, set: function(val){"+r+" = val;} });\n")}return d.join("")}else return a+"."+this.definitions.join("; "+
+a+".")};ac.prototype.toString=function(){var a=s({},this.params.getNames()),c=W;W=function(d){return a.hasOwnProperty(d.name)?d.name:c(d)};var d="function $constr_"+this.params.params.length+this.params.toString(),e=this.body.toString();/\$(superCstr|constr)\b/.test(e)||(e="{\n$superCstr();\n"+e.substring(1));W=c;return d+e+"\n"};Bb.prototype.getMembers=function(a,c,d){this.owner.base&&this.owner.base.body.getMembers(a,c,d);var e,h,q,r;e=0;for(q=this.fields.length;e<q;++e){var p=this.fields[e].getNames();
+h=0;for(r=p.length;h<r;++h)a[p[h]]=this.fields[e]}e=0;for(q=this.methodsNames.length;e<q;++e)c[this.methodsNames[e]]=!0;e=0;for(q=this.innerClasses.length;e<q;++e)a=this.innerClasses[e],d[a.name]=a};Bb.prototype.toString=function(){(function(a){for(var c=0;a;)++c,a=a.scope;return c})(this.owner);var a=this.name,c="",d="";this.getMembers({},{},{});var e,h;if(this.owner.interfaces){var q=[],r;e=0;for(h=this.interfacesNames.length;e<h;++e)this.owner.interfaces[e]&&(r=W({name:this.interfacesNames[e]}),
+q.push(r),c+="$p.extendInterfaceMembers("+a+", "+r+");\n");d+=a+".$interfaces = ["+q.join(", ")+"];\n"}d+=a+".$isInterface = true;\n";d+=a+".$methods = ['"+this.methodsNames.join("', '")+"'];\n";y(this.innerClasses);e=0;for(h=this.innerClasses.length;e<h;++e)q=this.innerClasses[e],q.isStatic&&(c+=a+"."+q.name+" = "+q+";\n");e=0;for(h=this.fields.length;e<h;++e)q=this.fields[e],q.isStatic&&(c+=a+"."+q.definitions.join(";\n"+a+".")+";\n");return"(function() {\nfunction "+a+"() { throw 'Unable to create the interface'; }\n"+
+c+d+"return "+a+";\n})()"};rb=function(a,c,d){var a=a.substring(1,a.length-1),a=v(a),a=x(a,c),e=[],h=[],a=a.replace(/"([DE])(\d+)"/g,function(a,c,d){c==="D"?e.push(d):c==="E"&&h.push(d);return""}),a=a.split(/;(?:\s*;)*/g),r,s;d!==p&&(r=d.replace(/^\s*extends\s+(.+?)\s*$/g,"$1").split(/\s*,\s*/g));d=0;for(s=e.length;d<s;++d){var J=sb(K[e[d]]);e[d]=J.name}d=0;for(s=a.length-1;d<s;++d)J=q(a[d]),a[d]=Oa(J.middle);J=a.pop();d=0;for(s=h.length;d<s;++d)h[d]=ra(K[h[d]]);return new Bb(c,r,e,a,h,{tail:J})};
+cc.prototype.getMembers=function(a,c,d){this.owner.base&&this.owner.base.body.getMembers(a,c,d);var e,h,q,r;e=0;for(q=this.fields.length;e<q;++e){var p=this.fields[e].getNames();h=0;for(r=p.length;h<r;++h)a[p[h]]=this.fields[e]}e=0;for(q=this.methods.length;e<q;++e)a=this.methods[e],c[a.name]=a;e=0;for(q=this.innerClasses.length;e<q;++e)c=this.innerClasses[e],d[c.name]=c};cc.prototype.toString=function(){var a="$this_"+function(a){for(var c=0;a;)++c,a=a.scope;return c}(this.owner),c=this.name,d="var "+
+a+" = this;\n",e="",h="",q={},r={},p={};this.getMembers(q,r,p);var s=W;W=function(d){var e=d.name;if(e==="this")return d.callSign||!d.member?a+".$self":a;else if(q.hasOwnProperty(e))return q[e].isStatic?c+"."+e:a+"."+e;else if(p.hasOwnProperty(e))return a+"."+e;else if(r.hasOwnProperty(e))return r[e].isStatic?c+"."+e:a+".$self."+e;return s(d)};var B;this.baseClassName?(B=s({name:this.baseClassName}),d+="var $super = { $upcast: "+a+" };\n",d+="function $superCstr(){"+B+".apply($super,arguments);if(!('$self' in $super)) $p.extendClassChain($super)}\n",
+h+=c+".$base = "+B+";\n"):d+="function $superCstr(){$p.extendClassChain("+a+")}\n";this.owner.base&&(e+="$p.extendStaticMembers("+c+", "+B+");\n");var Y,v,x;if(this.owner.interfaces){v=[];B=0;for(Y=this.interfacesNames.length;B<Y;++B)this.owner.interfaces[B]&&(x=s({name:this.interfacesNames[B]}),v.push(x),e+="$p.extendInterfaceMembers("+c+", "+x+");\n");h+=c+".$interfaces = ["+v.join(", ")+"];\n"}this.functions.length>0&&(d+=this.functions.join("\n")+"\n");y(this.innerClasses);B=0;for(Y=this.innerClasses.length;B<
+Y;++B)v=this.innerClasses[B],v.isStatic?(e+=c+"."+v.name+" = "+v+";\n",d+=a+"."+v.name+" = "+c+"."+v.name+";\n"):d+=a+"."+v.name+" = "+v+";\n";B=0;for(Y=this.fields.length;B<Y;++B){var C=this.fields[B];if(C.isStatic){e+=c+"."+C.definitions.join(";\n"+c+".")+";\n";v=0;for(x=C.definitions.length;v<x;++v){var ca=C.definitions[v].name,N=c+"."+ca;d+="$p.defineProperty("+a+", '"+ca+"', {get: function(){return "+N+"}, set: function(val){"+N+" = val}});\n"}}else d+=a+"."+C.definitions.join(";\n"+a+".")+";\n"}v=
+{};B=0;for(Y=this.methods.length;B<Y;++B)x=this.methods[B],C=v[x.name],ca=x.name+"$"+x.params.params.length,C?(++C,ca+="_"+C):C=1,x.methodId=ca,v[x.name]=C,x.isStatic?(e+=x,e+="$p.addMethod("+c+", '"+x.name+"', "+ca+");\n"):d+=x,d+="$p.addMethod("+a+", '"+x.name+"', "+ca+");\n";d+=J(this.misc.tail);this.cstrs.length>0&&(d+=this.cstrs.join("\n")+"\n");d+="function $constr() {\n";v=[];B=0;for(Y=this.cstrs.length;B<Y;++B)x=this.cstrs[B].params.params.length,v.push("if(arguments.length === "+x+") { $constr_"+
+x+".apply("+a+", arguments); }");v.length>0&&(d+=v.join(" else ")+" else ");d+="$superCstr();\n}\n";d+="$constr.apply(null, arguments);\n";W=s;return"(function() {\nfunction "+c+"() {\n"+d+"}\n"+e+h+"return "+c+";\n})()"};fb=function(a,c,d,e){var a=a.substring(1,a.length-1),a=v(a),a=x(a,c),h=[],r=[],s=[],B=[],a=a.replace(/"([DEGH])(\d+)"/g,function(a,c,d){c==="D"?h.push(d):c==="E"?r.push(d):c==="H"?B.push(d):s.push(d);return""}),a=a.replace(/^(?:\s*;)+/,"").split(/;(?:\s*;)*/g),J,Y;d!==p&&(J=d.replace(/^\s*extends\s+([A-Za-z_$][\w$]*\b(?:\s*\.\s*[A-Za-z_$][\w$]*\b)*)\s*$/g,
+"$1"));e!==p&&(Y=e.replace(/^\s*implements\s+(.+?)\s*$/g,"$1").split(/\s*,\s*/g));for(d=0;d<B.length;++d)B[d]=I(K[B[d]]);for(d=0;d<h.length;++d)h[d]=sb(K[h[d]]);for(d=0;d<a.length-1;++d)e=q(a[d]),a[d]=Oa(e.middle);e=a.pop();for(d=0;d<s.length;++d)s[d]=bc(K[s[d]]);for(d=0;d<r.length;++d)r[d]=ra(K[r[d]]);return new cc(c,J,Y,B,h,a,s,r,{tail:e})};Cb.prototype.toString=function(){return"var "+this.name+" = "+this.body+";\n$p."+this.name+" = "+this.name+";\n"};Db.prototype.toString=function(){return"var "+
+this.name+" = "+this.body+";\n$p."+this.name+" = "+this.name+";\n"};Sa.prototype.toString=function(){var a=s({},this.params.getNames()),c=W;W=function(d){return a.hasOwnProperty(d.name)?d.name:c(d)};var d="function "+this.name+this.params+" "+this.body+"\n$p."+this.name+" = "+this.name+";";W=c;return d};aa.prototype.toString=function(){return this.misc.prefix+this.argument.toString()};ha.prototype.toString=function(){return this.misc.prefix+this.argument.toString()};U.prototype.toString=function(){var a=
+this.misc.prefix;this.argument!==p&&(a+=this.argument.toString());return a};pa.prototype.toString=function(){return"case "+this.expr+":"};Ha.prototype.toString=function(){return this.label};tb=function(a,c,d){for(var e=RegExp(/\b(catch|for|if|switch|while|with)\s*"B(\d+)"|\b(do|else|finally|return|throw|try|break|continue)\b|("[ADEH](\d+)")|\b(case)\s+([^:]+):|\b([A-Za-z_$][\w$]*\s*:)|(;)/g),h=[],a=a.replace(/\b(catch\s*"B\d+"\s*"A\d+")(\s*catch\s*"B\d+"\s*"A\d+")+/g,"$1"),r=0,s,v;(s=e.exec(a))!==
+null;){if(s[1]!==p)v=a.lastIndexOf('"B',e.lastIndex),r=a.substring(r,v),s[1]==="for"?h.push(new aa(jb(K[s[2]]),{prefix:r})):s[1]==="catch"?h.push(new ha(B(K[s[2]]),{prefix:r})):h.push(new U(s[1],za(K[s[2]]),{prefix:r}));else if(s[3]!==p)h.push(new U(s[3],p,{prefix:a.substring(r,e.lastIndex)}));else if(s[4]!==p){v=a.substring(r,e.lastIndex-s[4].length);if(J(v).length!==0)continue;h.push(v);r=s[4].charAt(1);s=s[5];r==="D"?h.push(c(K[s])):r==="E"?h.push(d(K[s])):r==="H"?h.push(I(K[s])):h.push(Na(K[s]))}else if(s[6]!==
+p)h.push(new pa(za(J(s[7]))));else if(s[8]!==p){v=a.substring(r,e.lastIndex-s[8].length);if(J(v).length!==0)continue;h.push(new Ha(a.substring(r,e.lastIndex)))}else s=q(a.substring(r,e.lastIndex-1)),h.push(s.left),h.push(oa(s.middle)),h.push(s.right+";");r=e.lastIndex}c=q(a.substring(r));h.push(c.left);c.middle!==""&&(h.push(oa(c.middle)),h.push(";"+c.right));return h};O.prototype.toString=function(){var a=Ia(this.statements),c=W;C(a)||(W=function(d){return a.hasOwnProperty(d.name)?d.name:c(d)});
+var d="{\n"+this.statements.join("")+"\n}";W=c;return d};Na=function(a){a=q(a.substring(1,a.length-1));return new O(tb(a.middle))};na.prototype.toString=function(){for(var a=[],d=[],e,h=0,q=this.statements.length;h<q;++h)e=this.statements[h],e instanceof Db||e instanceof Cb?a.push(e):d.push(e);y(a);var r=Ia(this.statements);W=function(a){a=a.name;if(!r.hasOwnProperty(a)&&(ma.hasOwnProperty(a)||c.hasOwnProperty(a)||sa.hasOwnProperty(a)))return"$p."+a;return a};a="// this code was autogenerated from PJS\n(function($p) {\n"+
+a.join("")+"\n"+d.join("")+"\n})";W=null;return a};e=function(){var c=v(K[0]),c=c.replace(/\bimport\s+[^;]+;/g,"");return new na(tb(c,d,a))}();(function(){function a(d,e){for(var h=e.split("."),q=d.scope,r;q;){if(q.hasOwnProperty(h[0])){r=q[h[0]];break}q=q.scope}r===p&&(r=c[h[0]]);for(var q=1,s=h.length;q<s&&r;++q)r=r.inScope[h[q]];return r}var c={},d,e;for(d in ba)if(ba.hasOwnProperty(d)){e=ba[d];var h=e.scopeId,q=e.name;if(h){h=ba[h];e.scope=h;if(h.inScope===p)h.inScope={};h.inScope[q]=e}else c[q]=
+e}for(d in ba)if(ba.hasOwnProperty(d)){e=ba[d];if(q=e.body.baseClassName)if(q=a(e,q)){e.base=q;if(!q.derived)q.derived=[];q.derived.push(e)}var q=e.body.interfacesNames,h=[],r,s;if(q&&q.length>0){r=0;for(s=q.length;r<s;++r){var B=a(e,q[r]);h.push(B);if(B){if(!B.derived)B.derived=[];B.derived.push(e)}}if(h.length>0)e.interfaces=h}}})(e);(function(){var a=[],c={},d,e;for(d in ba)if(ba.hasOwnProperty(d)&&(e=ba[d],!e.inScope&&!e.derived))a.push(d),c[d]=!0,e.weight=0;for(;a.length>0;){d=a.shift();e=ba[d];
+if(e.scopeId&&!c[e.scopeId])a.push(e.scopeId),c[e.scopeId]=!0,ba[e.scopeId].weight=e.weight+1;if(e.base&&!c[e.base.classId])a.push(e.base.classId),c[e.base.classId]=!0,e.base.weight=e.weight+1;if(e.interfaces){var h;d=0;for(h=e.interfaces.length;d<h;++d)if(e.interfaces[d]&&!c[e.interfaces[d].classId])a.push(e.interfaces[d].classId),c[e.interfaces[d].classId]=!0,e.interfaces[d].weight=e.weight+1}}})(e);e=e.toString();e=e.replace(/\s*\n(?:[\t ]*\n)+/g,"\n\n");return function(a,c){return a.replace(/'(\d+)'/g,
+function(a,d){var e=c[d];return e.charAt(0)==="/"?e:/^'((?:[^'\\\n])|(?:\\.[0-9A-Fa-f]*))'$/.test(e)?"(new $p.Character("+e+"))":e})}(e,Ta)}function Cc(c,e){var p=RegExp(/\/\*\s*@pjs\s+((?:[^\*]|\*+[^\*\/])*)\*\//g).exec(c);if(p&&p.length===2)for(var s=[],p=p.splice(1,2)[0].replace(/\{([\s\S]*?)\}/g,function(){return function(c,e){s.push(e);return"{"+(s.length-1)+"}"}}()).replace("\n","").replace("\r","").split(";"),C=function(c){return c.replace(/^\s*["']?/,"").replace(/["']?\s*$/,"")},r=0,N=p.length;r<
+N;r++){var v=p[r].split("=");if(v&&v.length===2){var x=C(v[0]),w=C(v[1]),v=[];if(x==="preload"){v=w.split(",");x=0;for(w=v.length;x<w;x++){var A=C(v[x]);e.imageCache.add(A)}}else if(x==="transparent")e.options.isTransparent=w==="true";else if(x==="font"){v=w.split(",");x=0;for(w=v.length;x<w;x++){var A=C(v[x]),B=/^\{(\d*?)\}$/.exec(A);e.fonts.add(B?JSON.parse("{"+s[B[1]]+"}"):A)}}else x==="crisp"?e.options.crispLines=w==="true":x==="pauseOnBlur"?e.options.pauseOnBlur=w==="true":x==="globalKeyEvents"?
+e.options.globalKeyEvents=w==="true":x.substring(0,6)==="param-"?e.params[x.substring(6)]=w:e.options[x]=w}}return c}var Hb=function(){return"console"in T?function(c){T.console.log("Processing.js: "+c)}:zc()}(),Dc=function(c){var e=new XMLHttpRequest;e.open("GET",c,!1);e.overrideMimeType&&e.overrideMimeType("text/plain");e.setRequestHeader("If-Modified-Since","Fri, 01 Jan 1960 00:00:00 GMT");e.send(null);if(e.status!==200&&e.status!==0)throw"XMLHttpRequest failed, status code "+e.status;return e.responseText},
+ta="document"in this&&!("fake"in this.document);(function(){try{if(!("createImageData"in CanvasRenderingContext2D.prototype))CanvasRenderingContext2D.prototype.createImageData=function(c,e){return new ImageData(c,e)}}catch(c){}})();var I=Ab("Float32Array","WebGLFloatArray"),Cd=Ab("Int32Array","WebGLIntArray"),Dd=Ab("Uint16Array","WebGLUnsignedShortArray"),Zc=Ab("Uint8Array","WebGLUnsignedByteArray"),c={X:0,Y:1,Z:2,R:3,G:4,B:5,A:6,U:7,V:8,NX:9,NY:10,NZ:11,EDGE:12,SR:13,SG:14,SB:15,SA:16,SW:17,TX:18,
+TY:19,TZ:20,VX:21,VY:22,VZ:23,VW:24,AR:25,AG:26,AB:27,DR:3,DG:4,DB:5,DA:6,SPR:28,SPG:29,SPB:30,SHINE:31,ER:32,EG:33,EB:34,BEEN_LIT:35,VERTEX_FIELD_COUNT:36,P2D:1,JAVA2D:1,WEBGL:2,P3D:2,OPENGL:2,PDF:0,DXF:0,OTHER:0,WINDOWS:1,MAXOSX:2,LINUX:3,EPSILON:1.0E-4,MAX_FLOAT:3.4028235E38,MIN_FLOAT:-3.4028235E38,MAX_INT:2147483647,MIN_INT:-2147483648,PI:e.PI,TWO_PI:2*e.PI,HALF_PI:e.PI/2,THIRD_PI:e.PI/3,QUARTER_PI:e.PI/4,DEG_TO_RAD:e.PI/180,RAD_TO_DEG:180/e.PI,WHITESPACE:" \t\n\r\u000c\u00a0",RGB:1,ARGB:2,HSB:3,
+ALPHA:4,CMYK:5,TIFF:0,TARGA:1,JPEG:2,GIF:3,BLUR:11,GRAY:12,INVERT:13,OPAQUE:14,POSTERIZE:15,THRESHOLD:16,ERODE:17,DILATE:18,REPLACE:0,BLEND:1,ADD:2,SUBTRACT:4,LIGHTEST:8,DARKEST:16,DIFFERENCE:32,EXCLUSION:64,MULTIPLY:128,SCREEN:256,OVERLAY:512,HARD_LIGHT:1024,SOFT_LIGHT:2048,DODGE:4096,BURN:8192,ALPHA_MASK:4278190080,RED_MASK:16711680,GREEN_MASK:65280,BLUE_MASK:255,CUSTOM:0,ORTHOGRAPHIC:2,PERSPECTIVE:3,POINT:2,POINTS:2,LINE:4,LINES:4,TRIANGLE:8,TRIANGLES:9,TRIANGLE_STRIP:10,TRIANGLE_FAN:11,QUAD:16,
+QUADS:16,QUAD_STRIP:17,POLYGON:20,PATH:21,RECT:30,ELLIPSE:31,ARC:32,SPHERE:40,BOX:41,GROUP:0,PRIMITIVE:1,GEOMETRY:3,VERTEX:0,BEZIER_VERTEX:1,CURVE_VERTEX:2,BREAK:3,CLOSESHAPE:4,OPEN:1,CLOSE:2,CORNER:0,CORNERS:1,RADIUS:2,CENTER_RADIUS:2,CENTER:3,DIAMETER:3,CENTER_DIAMETER:3,BASELINE:0,TOP:101,BOTTOM:102,NORMAL:1,NORMALIZED:1,IMAGE:2,MODEL:4,SHAPE:5,SQUARE:"butt",ROUND:"round",PROJECT:"square",MITER:"miter",BEVEL:"bevel",AMBIENT:0,DIRECTIONAL:1,SPOT:3,BACKSPACE:8,TAB:9,ENTER:10,RETURN:13,ESC:27,DELETE:127,
+CODED:65535,SHIFT:16,CONTROL:17,ALT:18,CAPSLK:20,PGUP:33,PGDN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NUMLK:144,META:157,INSERT:155,ARROW:"default",CROSS:"crosshair",HAND:"pointer",MOVE:"move",TEXT:"text",WAIT:"wait",NOCURSOR:"url('data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=='), auto",DISABLE_OPENGL_2X_SMOOTH:1,ENABLE_OPENGL_2X_SMOOTH:-1,ENABLE_OPENGL_4X_SMOOTH:2,ENABLE_NATIVE_FONTS:3,
+DISABLE_DEPTH_TEST:4,ENABLE_DEPTH_TEST:-4,ENABLE_DEPTH_SORT:5,DISABLE_DEPTH_SORT:-5,DISABLE_OPENGL_ERROR_REPORT:6,ENABLE_OPENGL_ERROR_REPORT:-6,ENABLE_ACCURATE_TEXTURES:7,DISABLE_ACCURATE_TEXTURES:-7,HINT_COUNT:10,SINCOS_LENGTH:parseInt(720,10),PRECISIONB:15,PRECISIONF:32768,PREC_MAXVAL:32767,PREC_ALPHA_SHIFT:9,PREC_RED_SHIFT:1,NORMAL_MODE_AUTO:0,NORMAL_MODE_SHAPE:1,NORMAL_MODE_VERTEX:2,MAX_LIGHTS:8},Ib=function(c){if(c.iterator instanceof Function)return c.iterator();else if(c instanceof Array){var e=
+-1;this.hasNext=function(){return++e<c.length};this.next=function(){return c[e]}}else throw"Unable to iterate: "+c;},Ec=function(){function c(e){var h=0;this.hasNext=function(){return h<e.length};this.next=function(){return e[h++]};this.remove=function(){e.splice(h,1)}}function e(){var p;arguments.length===0?p=[]:arguments.length>0&&typeof arguments[0]!=="number"?p=arguments[0]:(p=[],p.length=0|arguments[0]);this.get=function(c){return p[c]};this.contains=function(c){return this.indexOf(c)>-1};this.indexOf=
+function(c){for(var e=0,h=p.length;e<h;++e)if(ra(c,p[e]))return e;return-1};this.add=function(){if(arguments.length===1)p.push(arguments[0]);else if(arguments.length===2){var c=arguments[0];if(typeof c==="number")if(c>=0&&c<=p.length)p.splice(c,0,arguments[1]);else throw c+" is not a valid index";else throw typeof c+" is not a number";}else throw"Please use the proper number of parameters.";};this.addAll=function(c,e){var h;if(typeof c==="number"){if(c<0||c>p.length)throw"Index out of bounds for addAll: "+
+c+" greater or equal than "+p.length;for(h=new Ib(e);h.hasNext();)p.splice(c++,0,h.next())}else for(h=new Ib(c);h.hasNext();)p.push(h.next())};this.set=function(){if(arguments.length===2){var c=arguments[0];if(typeof c==="number")if(c>=0&&c<p.length)p.splice(c,1,arguments[1]);else throw c+" is not a valid index.";else throw typeof c+" is not a number";}else throw"Please use the proper number of parameters.";};this.size=function(){return p.length};this.clear=function(){p.length=0};this.remove=function(c){if(typeof c===
+"number")return p.splice(c,1)[0];else{c=this.indexOf(c);if(c>-1)return p.splice(c,1),!0;return!1}};this.isEmpty=function(){return!p.length};this.clone=function(){return new e(p.slice(0))};this.toArray=function(){return p.slice(0)};this.iterator=function(){return new c(p)}}return e}(),Fc=function(){function c(){function e(c){c=Ub(c)%x.length;return c<0?x.length+c:c}function w(){if(!(A<=v*x.length)){for(var c=[],h=0;h<x.length;++h)x[h]!==p&&(c=c.concat(x[h]));h=x.length*2;x=[];x.length=h;for(h=0;h<
+c.length;++h){var r=e(c[h].key),s=x[r];s===p&&(x[r]=s=[]);s.push(c[h])}}}function s(c,e){function h(){for(;!s;)if(++q,r>=x.length)s=!0;else if(x[r]===p||q>=x[r].length)q=-1,++r;else break}var r=0,q=-1,s=!1;this.hasNext=function(){return!s};this.next=function(){var e=c(x[r][q]);h();return e};this.remove=function(){e(this.next());--q};h()}function C(c,e,h){this.clear=function(){I.clear()};this.contains=function(c){return e(c)};this.containsAll=function(c){for(c=c.iterator();c.hasNext();)if(!this.contains(c.next()))return!1;
+return!0};this.isEmpty=function(){return I.isEmpty()};this.iterator=function(){return new s(c,h)};this.remove=function(c){if(this.contains(c))return h(c),!0;return!1};this.removeAll=function(c){for(c=c.iterator();c.hasNext();){var e=c.next();this.contains(e)&&h(e)}return!0};this.retainAll=function(c){for(var e=this.iterator(),r=[];e.hasNext();){var q=e.next();c.contains(q)||r.push(q)}for(c=0;c<r.length;++c)h(r[c]);return r.length>0};this.size=function(){return I.size()};this.toArray=function(){for(var c=
+[],e=this.iterator();e.hasNext();)c.push(e.next());return c}}function r(c){this._isIn=function(e){return e===I&&c.removed===p};this.equals=function(e){return ra(c.key,e.getKey())};this.getKey=function(){return c.key};this.getValue=function(){return c.value};this.hashCode=function(){return Ub(c.key)};this.setValue=function(e){var h=c.value;c.value=e;return h}}if(arguments.length===1&&arguments[0].constructor===c)return arguments[0].clone();var N=arguments.length>0?arguments[0]:16,v=arguments.length>
+1?arguments[1]:0.75,x=[];x.length=N;var A=0,I=this;this.clear=function(){A=0;x=[];x.length=N};this.clone=function(){var e=new c;e.putAll(this);return e};this.containsKey=function(c){var h=e(c),h=x[h];if(h===p)return!1;for(var r=0;r<h.length;++r)if(ra(h[r].key,c))return!0;return!1};this.containsValue=function(c){for(var e=0;e<x.length;++e){var h=x[e];if(h!==p)for(var r=0;r<h.length;++r)if(ra(h[r].value,c))return!0}return!1};this.entrySet=function(){return new C(function(c){return new r(c)},function(c){return c.constructor===
+r&&c._isIn(I)},function(c){return I.remove(c.getKey())})};this.get=function(c){var h=e(c),h=x[h];if(h===p)return null;for(var r=0;r<h.length;++r)if(ra(h[r].key,c))return h[r].value;return null};this.isEmpty=function(){return A===0};this.keySet=function(){return new C(function(c){return c.key},function(c){return I.containsKey(c)},function(c){return I.remove(c)})};this.put=function(c,h){var r=e(c),s=x[r];if(s===p)return++A,x[r]=[{key:c,value:h}],w(),null;for(r=0;r<s.length;++r)if(ra(s[r].key,c)){var v=
+s[r].value;s[r].value=h;return v}++A;s.push({key:c,value:h});w();return null};this.putAll=function(c){for(c=c.entrySet().iterator();c.hasNext();){var e=c.next();this.put(e.getKey(),e.getValue())}};this.remove=function(c){var h=e(c),r=x[h];if(r===p)return null;for(var s=0;s<r.length;++s)if(ra(r[s].key,c))return--A,c=r[s].value,r[s].removed=!0,r.length>1?r.splice(s,1):x[h]=p,c;return null};this.size=function(){return A};this.values=function(){for(var c=[],e=this.entrySet().iterator();e.hasNext();){var h=
+e.next();c.push(h.getValue())}return c}}return c}(),ia=function(){function c(e,h,q){this.x=e||0;this.y=h||0;this.z=q||0}function q(c){return function(e,h){var q=e.get();q[c](h);return q}}function p(c){return function(e,h){return e[c](h)}}var s="dist dot cross".split(" "),w=s.length;c.angleBetween=function(c,h){return e.acos(c.dot(h)/(c.mag()*h.mag()))};for(c.prototype={set:function(c,e,h){arguments.length===1?this.set(c.x||c[0],c.y||c[1],c.z||c[2]):(this.x=c,this.y=e,this.z=h)},get:function(){return new c(this.x,
+this.y,this.z)},mag:function(){return e.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},add:function(c,e,h){arguments.length===3?(this.x+=c,this.y+=e,this.z+=h):arguments.length===1&&(this.x+=c.x,this.y+=c.y,this.z+=c.z)},sub:function(c,e,h){arguments.length===3?(this.x-=c,this.y-=e,this.z-=h):arguments.length===1&&(this.x-=c.x,this.y-=c.y,this.z-=c.z)},mult:function(c){typeof c==="number"?(this.x*=c,this.y*=c,this.z*=c):typeof c==="object"&&(this.x*=c.x,this.y*=c.y,this.z*=c.z)},div:function(c){typeof c===
+"number"?(this.x/=c,this.y/=c,this.z/=c):typeof c==="object"&&(this.x/=c.x,this.y/=c.y,this.z/=c.z)},dist:function(c){var h=this.x-c.x,q=this.y-c.y,c=this.z-c.z;return e.sqrt(h*h+q*q+c*c)},dot:function(c,e,h){if(arguments.length===3)return this.x*c+this.y*e+this.z*h;else if(arguments.length===1)return this.x*c.x+this.y*c.y+this.z*c.z},cross:function(e){return new c(this.y*e.z-e.y*this.z,this.z*e.x-e.z*this.x,this.x*e.y-e.x*this.y)},normalize:function(){var c=this.mag();c>0&&this.div(c)},limit:function(c){this.mag()>
+c&&(this.normalize(),this.mult(c))},heading2D:function(){return-e.atan2(-this.y,this.x)},toString:function(){return"["+this.x+", "+this.y+", "+this.z+"]"},array:function(){return[this.x,this.y,this.z]}};w--;)c[s[w]]=p(s[w]);for(w in c.prototype)c.prototype.hasOwnProperty(w)&&!c.hasOwnProperty(w)&&(c[w]=q(w));return c}();Vb.prototype=c;var sa=new Vb;sa.ArrayList=Ec;sa.HashMap=Fc;sa.PVector=ia;sa.ObjectIterator=Ib;var mc={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"},Oa=[],nc={},w=this.Processing=function(h,q){function J(b){w.debug("Unimplemented - "+b)}function s(b,l,a,c){var g=Pa.locations[b];g===p&&(g=d.getUniformLocation(l,a),Pa.locations[b]=g);g!==-1&&(c.length===4?d.uniform4fv(g,c):c.length===3?d.uniform3fv(g,c):c.length===2?d.uniform2fv(g,c):d.uniform1f(g,c))}function C(b,l,a,c){var g=Pa.locations[b];
+g===p&&(g=d.getUniformLocation(l,a),Pa.locations[b]=g);g!==-1&&(c.length===4?d.uniform4iv(g,c):c.length===3?d.uniform3iv(g,c):c.length===2?d.uniform2iv(g,c):d.uniform1i(g,c))}function r(b,l,a,c,g){var P=Pa.attributes[b];P===p&&(P=d.getAttribLocation(l,a),Pa.attributes[b]=P);P!==-1&&(d.bindBuffer(d.ARRAY_BUFFER,g),d.vertexAttribPointer(P,c,d.FLOAT,!1,0,0),d.enableVertexAttribArray(P))}function N(b,l,a){var c=Pa.attributes[b];c===p&&(c=d.getAttribLocation(l,a),Pa.attributes[b]=c);c!==-1&&d.disableVertexAttribArray(c)}
+function v(b,l,a,c,g){var P=Pa.locations[b];P===p&&(P=d.getUniformLocation(l,a),Pa.locations[b]=P);P!==-1&&(g.length===16?d.uniformMatrix4fv(P,c,g):g.length===9?d.uniformMatrix3fv(P,c,g):d.uniformMatrix2fv(P,c,g))}function x(b,l,k,f){Ma===c.HSB?(k=a.color.toRGB(b,l,k),b=k[0],l=k[1],k=k[2]):(b=e.round(255*(b/ja)),l=e.round(255*(l/z)),k=e.round(255*(k/xa)));f=e.round(255*(f/ea));return(f>255?255:f)<<24&c.ALPHA_MASK|(b>255?255:b)<<16&c.RED_MASK|(l>255?255:l)<<8&c.GREEN_MASK|(k>255?255:k)&c.BLUE_MASK}
+function Xb(){d.restore();Ia=Ta=!0}function Xc(b,l){var a=1;a<<=l-1;for(var c="",g=0;g<l;g++)c+=a&b?"1":"0",a>>>=1;return c}function B(b,l,a,c,g,d){l=b<0?a:l;a=g===0;g=g===p||g<0?0:g;b=e.abs(b);if(a){g=1;for(b*=10;e.abs(e.round(b)-b)>1.0E-6&&g<7;)++g,b*=10}else g!==0&&(b*=e.pow(10,g));a=b*2;e.floor(b)===b?a=b:e.floor(a)===a?(b=e.floor(b),a=b+b%2):a=e.round(b);b="";for(c+=g;c>0||a>0;)c--,b=""+a%10+b,a=e.floor(a/10);if(d!==p)for(c=b.length-3-g;c>0;)b=b.substring(0,c)+d+b.substring(c),c-=3;return g>
+0?l+b.substring(0,b.length-g)+"."+b.substring(b.length-g,b.length):l+b}function Y(b,l,a,c,g,d){if(b instanceof Array){for(var i=[],j=0,n=b.length;j<n;j++)i.push(B(b[j],l,a,c,g,d));return i}else return B(b,l,a,c,g,d)}function ra(b){b=parseInt("0x"+b,16);b>2147483647&&(b-=4294967296);return b}function ca(b){return Array.prototype.slice.call(b,1)}function ya(b){if(typeof b==="number")return b!==0;else if(typeof b==="boolean")return b;else if(typeof b==="string")return b.toLowerCase()==="true";else if(b instanceof
+Aa)return b.code===49||b.code===84||b.code===116}function ta(b){if(typeof b==="number")return b;else if(typeof b==="boolean")return b?1:0;else if(typeof b==="string")return parseFloat(b);else if(b instanceof Aa)return b.code}function Yb(b,l){if(typeof b==="number")return b&4294967295;else if(typeof b==="boolean")return b?1:0;else if(typeof b==="string")return parseInt(b,l||10)&4294967295;else if(b instanceof Aa)return b.code}function gb(b,l){var a=b||362436069,c=l||521288629,g=function(){a=36969*
+(a&65535)+(a>>>16)&4294967295;c=18E3*(c&65535)+(c>>>16)&4294967295;return((a&65535)<<16|c&65535)&4294967295};this.nextDouble=function(){var b=g()/4294967296;return b<0?1+b:b};this.nextInt=g}function Ad(b){function l(b,l,a,k){b&=15;var c=b<8?l:a,l=b<4?a:b===12||b===14?l:k;return((b&1)===0?c:-c)+((b&2)===0?l:-l)}function a(b,l,k){l=(b&1)===0?l:k;return(b&2)===0?-l:l}function c(b,l,a){return l+b*(a-l)}var b=b!==p?new gb(b):gb.createRandomized(),g,d,i=new Zc(512);for(g=0;g<256;++g)i[g]=g;for(g=0;g<256;++g){var j=
+i[d=b.nextInt()&255];i[d]=i[g];i[g]=j}for(g=0;g<256;++g)i[g+256]=i[g];this.noise3d=function(b,a,k){var g=e.floor(b)&255,d=e.floor(a)&255,P=e.floor(k)&255;b-=e.floor(b);a-=e.floor(a);k-=e.floor(k);var j=(3-2*b)*b*b,h=(3-2*a)*a*a,m=i[g]+d,q=i[m]+P,m=i[m+1]+P,d=i[g+1]+d,g=i[d]+P,P=i[d+1]+P;return c((3-2*k)*k*k,c(h,c(j,l(i[q],b,a,k),l(i[g],b-1,a,k)),c(j,l(i[m],b,a-1,k),l(i[P],b-1,a-1,k))),c(h,c(j,l(i[q+1],b,a,k-1),l(i[g+1],b-1,a,k-1)),c(j,l(i[m+1],b,a-1,k-1),l(i[P+1],b-1,a-1,k-1))))};this.noise2d=function(b,
+l){var g=e.floor(b)&255,d=e.floor(l)&255;b-=e.floor(b);l-=e.floor(l);var P=(3-2*b)*b*b,j=i[g]+d,g=i[g+1]+d;return c((3-2*l)*l*l,c(P,a(i[j],b,l),a(i[g],b-1,l)),c(P,a(i[j+1],b,l-1),a(i[g+1],b-1,l-1)))};this.noise1d=function(b){var l=e.floor(b)&255;b-=e.floor(b);return c((3-2*b)*b*b,(i[l]&1)===0?-b:b,(i[l+1]&1)===0?-(b-1):b-1)}}function Z(){if(U){if(Ia)d.fillStyle=a.color.toString(Ha),Ia=!1;d.fill()}}function la(){if(O){if(Ta)d.strokeStyle=a.color.toString(ma),Ta=!1;d.stroke()}}function Bd(b,l,k){k=
+0|k*((l&c.ALPHA_MASK)>>>24);return e.min(((b&c.ALPHA_MASK)>>>24)+k,255)<<24|a.mix(b&c.RED_MASK,l&c.RED_MASK,k)&c.RED_MASK|a.mix(b&c.GREEN_MASK,l&c.GREEN_MASK,k)&c.GREEN_MASK|a.mix(b&c.BLUE_MASK,l&c.BLUE_MASK,k)}function ga(b,l,a){var c=$c.shift();if(c===p)c={},c.canvas=A.createElement("canvas"),c.context=c.canvas.getContext("2d");$c.push(c);var g=c.canvas,d=c.context,l=l||b.width,a=a||b.height;g.width=l;g.height=a;b?"data"in b?d.putImageData(b,0,0):(d.clearRect(0,0,l,a),d.drawImage(b,0,0,l,a)):d.clearRect(0,
+0,l,a);return c}function Ca(){ec&&(d=ad,ec=!1,a.updatePixels())}function Da(){function b(b,l){b[l]=function(){Ca();d[l].apply(d,arguments)}}function l(b,l){a.defineProperty(b,l,{get:function(){Ca();return d[l]},set:function(b){Ca();d[l]=b}})}for(var k in d)typeof d[k]==="function"?b(this,k):l(this,k)}function Ga(b){this.name="sans-serif";if(b!==p)switch(b){case "sans-serif":case "serif":case "monospace":case "fantasy":case "cursive":this.name=b;break;default:this.name='"'+b+'", sans-serif'}this.origName=
+b}function oa(b){return b instanceof String?b:typeof b==="number"?b===(0|b)?b.toString():a.nf(b,0,3):b===null||b===p?"":b.toString()}function hb(b,l,a,c){this.canvas=A.createElement("canvas");this.canvas.setAttribute("width",l+"px");this.canvas.setAttribute("height",l+"px");this.ctx=this.canvas.getContext("2d");this.ctx.font=l+"pt "+b;this.ctx.fillStyle="black";this.ctx.fillRect(0,0,l,l);this.ctx.fillStyle="white";this.ctx.fillText(c,0,a);this.imageData=this.ctx.getImageData(0,0,l,l);this.get=function(b,
+l){return this.imageData.data[l*this.imageData.width*4+b*4]}}function ib(b,l,a,f){var g;b.indexOf("\n")<0?(b=[b],g=1):(b=b.split(/\r?\n/g),g=b.length);var d;d=Jb===c.TOP?(1-oc)*eb:Jb===c.CENTER?(1-oc-g/2)*eb:Jb===c.BOTTOM?(1-oc-g)*eb:0;for(var i=0;i<g;++i)ha.text$line(b[i],l,a+d,f,Kb),d+=eb}function Ra(b,l,a,f,g,P){if(!(b.length===0||f===0||g===0)&&!(S>g)){var i=-1,j=0,e=0,h=0;d.font=S+"px "+fa.name;for(var m=[],q=0,o=b.length;q<o;q++){var p=b[q],r=p===" ",s=d.measureText(p).width;if(p!=="\n"&&e+
+s<f)r&&(i=q),e+=s;else{if(i+1===j)if(q>0)i=q;else return;p==="\n"?(m.push({text:b.substring(j,q),width:e,offset:h}),j=q+1):(m.push({text:b.substring(j,i),width:e,offset:h}),j=i+1);h+=eb;e=0;q=j-1}}j<o&&m.push({text:b.substring(j),width:e,offset:h});b=0;Kb===c.CENTER?b=f/2:Kb===c.RIGHT&&(b=f);f=(1-oc)*S;i=0;Jb===c.BOTTOM?i=g-m.length*eb:Jb===c.CENTER&&(i=(g-m.length*eb)/2);j=0;for(e=m.length;j<e;j++)if(h=m[j],!(h.offset+i<0)){if(h.offset+i+S>g)break;ha.text$line(h.text,l+b,a+h.offset+f+i,P,Kb)}}}function jb(b){ha=
+b==="3D"?new L:b==="2D"?new G:new F;for(var l in F.prototype)F.prototype.hasOwnProperty(l)&&l.indexOf("$")<0&&(a[l]=ha[l]);ha.$init()}function y(b){return function(){jb("2D");return ha[b].apply(this,arguments)}}function qb(b,l){function k(k){a.defineProperty(b,k,{get:function(){return l[k]},set:function(b){l[k]=b},enumerable:!0})}var c=[],g;for(g in l)typeof l[g]==="function"?b.hasOwnProperty(g)||(b[g]=l[g]):g.charAt(0)!=="$"&&!(g in b)&&c.push(g);for(;c.length>0;)k(c.shift())}function $(b,l,a){b.addEventListener?
+b.addEventListener(l,a,!1):b.attachEvent("on"+l,a);$a.push([b,l,a])}function Ab(b,l,a){b.removeEventListener?b.removeEventListener(l,a,!1):b.detachEvent&&b.detachEvent("on"+l,a)}function Hb(b){var l=b,k=0,c=0;a.pmouseX=a.mouseX;a.pmouseY=a.mouseY;if(l.offsetParent){do k+=l.offsetLeft,c+=l.offsetTop;while(l=l.offsetParent)}l=b;do k-=l.scrollLeft||0,c-=l.scrollTop||0;while(l=l.parentNode);k+=bd;c+=cd;k+=dd;c+=ed;k+=T.pageXOffset;c+=T.pageYOffset;return{X:k,Y:c}}function sb(b,l){var k=Hb(b,l);a.mouseX=
+l.pageX-k.X;a.mouseY=l.pageY-k.Y}function kb(b){var l=Hb(b.changedTouches[0].target,b.changedTouches[0]),a;for(a=0;a<b.touches.length;a++){var c=b.touches[a];c.offsetX=c.pageX-l.X;c.offsetY=c.pageY-l.Y}for(a=0;a<b.targetTouches.length;a++)c=b.targetTouches[a],c.offsetX=c.pageX-l.X,c.offsetY=c.pageY-l.Y;for(a=0;a<b.changedTouches.length;a++)c=b.changedTouches[a],c.offsetX=c.pageX-l.X,c.offsetY=c.pageY-l.Y;return b}function Ib(b){b=b.which||b.keyCode;switch(b){case 13:return 10;case 91:case 93:case 224:return 157;
+case 57392:return 17;case 46:return 127;case 45:return 155}return b}function ac(b){typeof b.preventDefault==="function"?b.preventDefault():typeof b.stopPropagation==="function"&&b.stopPropagation();return!1}function bc(){for(var b in lb)if(lb.hasOwnProperty(b)){a.__keyPressed=!0;return}a.__keyPressed=!1}function Bb(b,l){lb[b]=l;ub=null;a.key=l;a.keyCode=b;a.keyPressed();a.keyCode=0;a.keyTyped();bc()}function cc(b){var l=Ib(b);if(l===c.DELETE)Bb(l,new Aa(127));else if(Ac.indexOf(l)<0)ub=l;else{var k=
+new Aa(c.CODED);a.key=k;a.keyCode=l;lb[l]=k;a.keyPressed();ub=null;bc();return ac(b)}}function Cb(b){if(ub!==null){var l=ub,a;a=b.which||b.keyCode;var c=b.shiftKey||b.ctrlKey||b.altKey||b.metaKey;switch(a){case 13:a=c?13:10;break;case 8:a=c?127:8}a=new Aa(a);Bb(l,a);return ac(b)}}function Db(b){var b=Ib(b),l=lb[b];if(l!==p)a.key=l,a.keyCode=b,a.keyReleased(),delete lb[b],bc()}if(!(this instanceof w))throw"called Processing constructor as if it were a function: missing 'new'.";var a=this,Sa=arguments.length===
+0;if(Sa)h=A.createElement("canvas"),a.canvas=h;a.externals={canvas:h,context:p,sketch:p};a.name="Processing.js Instance";a.use3DContext=!1;a.focused=!1;a.breakShape=!1;a.glyphTable={};a.pmouseX=0;a.pmouseY=0;a.mouseX=0;a.mouseY=0;a.mouseButton=0;a.mouseScroll=0;a.mouseClicked=p;a.mouseDragged=p;a.mouseMoved=p;a.mousePressed=p;a.mouseReleased=p;a.mouseScrolled=p;a.mouseOver=p;a.mouseOut=p;a.touchStart=p;a.touchEnd=p;a.touchMove=p;a.touchCancel=p;a.key=p;a.keyCode=p;a.keyPressed=function(){};a.keyReleased=
+function(){};a.keyTyped=function(){};a.draw=p;a.setup=p;a.__mousePressed=!1;a.__keyPressed=!1;a.__frameRate=60;a.frameCount=0;a.width=100;a.height=100;a.defineProperty=function(b,l,a){"defineProperty"in Object?Object.defineProperty(b,l,a):(a.hasOwnProperty("get")&&b.__defineGetter__(l,a.get),a.hasOwnProperty("set")&&b.__defineSetter__(l,a.set))};var d,aa,ha,U=!0,pa=[1,1,1,1],Ha=4294967295,Ia=!0,O=!0,na=[0.8,0.8,0.8,1],ma=4294835709,Ta=!0,da=1,Eb=!1,K=!0,W=0,ba=c.CORNER,ka=c.CENTER,pb=0,fb=0,rb=0,
+Na=c.NORMAL_MODE_AUTO,tb=60,za=1E3/tb,nb=h.style.cursor,X=c.POLYGON,Zb=0,Wb=20,$b=!1,db=-3355444,Ba=20,ea=255,ja=255,z=255,xa=255,Ma=c.RGB,ob=null,S=12,fa={name:'"Arial", sans-serif',origName:"Arial"},eb=14,Tb=(new Date).getTime(),zb=Tb,kc=0,Ja,dc,lc,Fb,Gb,Gc,Hc,Pa={attributes:{},locations:{}},u,D,Ea,Ic,Jc,Kc,pc,Lc,fc,Mc,Ub,Nc,Vb,qc,fd,gd,hd,rc={width:0,height:0},id=c.IMAGE,Fa=!1,Oc,Pc,Qc,Kb=c.LEFT,Jb=c.BASELINE,oc=0.2,Rc=c.MODEL,ad,Sc=null,ec=!1,jd,kd=1E3,lb=[],ub=null,Ac=[c.SHIFT,c.CONTROL,c.ALT,
+c.CAPSLK,c.PGUP,c.PGDN,c.END,c.HOME,c.LEFT,c.UP,c.RIGHT,c.DOWN,c.NUMLK,c.INSERT,c.F1,c.F2,c.F3,c.F4,c.F5,c.F6,c.F7,c.F8,c.F9,c.F10,c.F11,c.F12,c.META],bd,cd,dd,ed;A.defaultView&&A.defaultView.getComputedStyle&&(bd=parseInt(A.defaultView.getComputedStyle(h,null).paddingLeft,10)||0,cd=parseInt(A.defaultView.getComputedStyle(h,null).paddingTop,10)||0,dd=parseInt(A.defaultView.getComputedStyle(h,null).borderLeftWidth,10)||0,ed=parseInt(A.defaultView.getComputedStyle(h,null).borderTopWidth,10)||0);var M=
+0,sc=0,vb=0,Ua=[],Va=[],Wa=[],Lb=new I(c.SINCOS_LENGTH),Mb=new I(c.SINCOS_LENGTH),Q,wb,Xa,ua,va,V,Ya,Nb,Ob,gc,Qa,tc=!1,uc=60*(e.PI/180),Tc=a.width/2,xb=a.height/2,yb=xb/e.tan(uc/2),ld=yb/10,md=yb*10,nd=a.width/a.height,m=[],wa=[],qa=0,Pb=!1,Qb=!1,Rb=!0,hc=c.CORNER,od=[],pd=new I([0.5,0.5,-0.5,0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,0.5,-0.5,0.5,0.5,-0.5,0.5,0.5,0.5,-0.5,0.5,0.5,-0.5,-0.5,0.5,-0.5,-0.5,0.5,0.5,-0.5,0.5,0.5,0.5,0.5,0.5,0.5,-0.5,0.5,0.5,0.5,0.5,-0.5,0.5,0.5,-0.5,0.5,0.5,-0.5,
+-0.5,0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5,-0.5,-0.5,0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,0.5,-0.5,0.5,0.5,-0.5,0.5,0.5,-0.5,0.5,-0.5,-0.5,-0.5,-0.5,0.5,0.5,0.5,0.5,0.5,-0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5,-0.5,0.5,0.5,0.5,0.5,0.5]),qd=new I([0.5,0.5,0.5,0.5,-0.5,0.5,0.5,0.5,-0.5,0.5,-0.5,-0.5,-0.5,0.5,-0.5,-0.5,-0.5,-0.5,-0.5,0.5,0.5,-0.5,-0.5,0.5,0.5,0.5,0.5,0.5,0.5,-0.5,0.5,0.5,-0.5,-0.5,0.5,-0.5,-0.5,0.5,-0.5,-0.5,0.5,0.5,-0.5,0.5,0.5,0.5,0.5,0.5,0.5,-0.5,0.5,
+0.5,-0.5,-0.5,0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,-0.5,0.5,-0.5,-0.5,0.5,0.5,-0.5,0.5]),Bc=new I([0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0]),Uc=new I([0,0,0,0,1,0,1,1,0,1,0,0]),Cc=new I([0,0,1,0,0,1,0,0,1,0,0,1]),Ec="varying vec4 frontColor;attribute vec3 Vertex;attribute vec3 Normal;attribute vec4 aColor;attribute vec2 aTexture;varying   vec2 vTexture;uniform vec4 color;uniform bool usingMat;uniform vec3 specular;uniform vec3 mat_emissive;uniform vec3 mat_ambient;uniform vec3 mat_specular;uniform float shininess;uniform mat4 model;uniform mat4 view;uniform mat4 projection;uniform mat4 normalTransform;uniform int lightCount;uniform vec3 falloff;struct Light {  int type;  vec3 color;  vec3 position;  vec3 direction;  float angle;  vec3 halfVector;  float concentration;};uniform Light lights0;uniform Light lights1;uniform Light lights2;uniform Light lights3;uniform Light lights4;uniform Light lights5;uniform Light lights6;uniform Light lights7;Light getLight(int index){  if(index == 0) return lights0;  if(index == 1) return lights1;  if(index == 2) return lights2;  if(index == 3) return lights3;  if(index == 4) return lights4;  if(index == 5) return lights5;  if(index == 6) return lights6;  return lights7;}void AmbientLight( inout vec3 totalAmbient, in vec3 ecPos, in Light light ) {  float d = length( light.position - ecPos );  float attenuation = 1.0 / ( falloff[0] + ( falloff[1] * d ) + ( falloff[2] * d * d ));  totalAmbient += light.color * attenuation;}void DirectionalLight( inout vec3 col, inout vec3 spec, in vec3 vertNormal, in vec3 ecPos, in Light light ) {  float powerfactor = 0.0;  float nDotVP = max(0.0, dot( vertNormal, normalize(-light.position) ));  float nDotVH = max(0.0, dot( vertNormal, normalize(-light.position-normalize(ecPos) )));  if( nDotVP != 0.0 ){    powerfactor = pow( nDotVH, shininess );  }  col += light.color * nDotVP;  spec += specular * powerfactor;}void PointLight( inout vec3 col, inout vec3 spec, in vec3 vertNormal, in vec3 ecPos, in Light light ) {  float powerfactor;   vec3 VP = light.position - ecPos;  float d = length( VP );   VP = normalize( VP );  float attenuation = 1.0 / ( falloff[0] + ( falloff[1] * d ) + ( falloff[2] * d * d ));  float nDotVP = max( 0.0, dot( vertNormal, VP ));  vec3 halfVector = normalize( VP - normalize(ecPos) );  float nDotHV = max( 0.0, dot( vertNormal, halfVector ));  if( nDotVP == 0.0) {    powerfactor = 0.0;  }  else{    powerfactor = pow( nDotHV, shininess );  }  spec += specular * powerfactor * attenuation;  col += light.color * nDotVP * attenuation;}void SpotLight( inout vec3 col, inout vec3 spec, in vec3 vertNormal, in vec3 ecPos, in Light light ) {  float spotAttenuation;  float powerfactor;  vec3 VP = light.position - ecPos;   vec3 ldir = normalize( -light.direction );  float d = length( VP );  VP = normalize( VP );  float attenuation = 1.0 / ( falloff[0] + ( falloff[1] * d ) + ( falloff[2] * d * d ) );  float spotDot = dot( VP, ldir );"+
+(/Windows/.test(navigator.userAgent)?"  spotAttenuation = 1.0; ":"  if( spotDot > cos( light.angle ) ) {    spotAttenuation = pow( spotDot, light.concentration );  }  else{    spotAttenuation = 0.0;  }  attenuation *= spotAttenuation;")+"  float nDotVP = max( 0.0, dot( vertNormal, VP ));  vec3 halfVector = normalize( VP - normalize(ecPos) );  float nDotHV = max( 0.0, dot( vertNormal, halfVector ));  if( nDotVP == 0.0 ) {    powerfactor = 0.0;  }  else {    powerfactor = pow( nDotHV, shininess );  }  spec += specular * powerfactor * attenuation;  col += light.color * nDotVP * attenuation;}void main(void) {  vec3 finalAmbient = vec3( 0.0, 0.0, 0.0 );  vec3 finalDiffuse = vec3( 0.0, 0.0, 0.0 );  vec3 finalSpecular = vec3( 0.0, 0.0, 0.0 );  vec4 col = color;  if(color[0] == -1.0){    col = aColor;  }  vec3 norm = normalize(vec3( normalTransform * vec4( Normal, 0.0 ) ));  vec4 ecPos4 = view * model * vec4(Vertex,1.0);  vec3 ecPos = (vec3(ecPos4))/ecPos4.w;  if( lightCount == 0 ) {    frontColor = col + vec4(mat_specular,1.0);  }  else {    for( int i = 0; i < 8; i++ ) {      Light l = getLight(i);      if( i >= lightCount ){        break;      }      if( l.type == 0 ) {        AmbientLight( finalAmbient, ecPos, l );      }      else if( l.type == 1 ) {        DirectionalLight( finalDiffuse, finalSpecular, norm, ecPos, l );      }      else if( l.type == 2 ) {        PointLight( finalDiffuse, finalSpecular, norm, ecPos, l );      }      else {        SpotLight( finalDiffuse, finalSpecular, norm, ecPos, l );      }    }   if( usingMat == false ) {     frontColor = vec4(       vec3(col) * finalAmbient +       vec3(col) * finalDiffuse +       vec3(col) * finalSpecular,       col[3] );   }   else{     frontColor = vec4(        mat_emissive +        (vec3(col) * mat_ambient * finalAmbient) +        (vec3(col) * finalDiffuse) +        (mat_specular * finalSpecular),        col[3] );    }  }  vTexture.xy = aTexture.xy;  gl_Position = projection * view * model * vec4( Vertex, 1.0 );}",
+rd=function(b,l,a,c){return{x:b,y:l,w:a,h:c}},vc=rd,Fc=function(b,l,a,c,g){return{x:b,y:l,w:g?a:a-b,h:g?c:c-l}},Ed=function(b,l,a,c){return{x:b-a/2,y:l-c/2,w:a,h:c}},Vc=function(b,l,a){var c=b.createShader(b.VERTEX_SHADER);b.shaderSource(c,l);b.compileShader(c);if(!b.getShaderParameter(c,b.COMPILE_STATUS))throw b.getShaderInfoLog(c);l=b.createShader(b.FRAGMENT_SHADER);b.shaderSource(l,a);b.compileShader(l);if(!b.getShaderParameter(l,b.COMPILE_STATUS))throw b.getShaderInfoLog(l);a=b.createProgram();
+b.attachShader(a,c);b.attachShader(a,l);b.linkProgram(a);if(!b.getProgramParameter(a,b.LINK_STATUS))throw"Error linking shaders.";return a},H=function(){},G=function(){},L=function(){},F=function(){};G.prototype=new H;G.prototype.constructor=G;L.prototype=new H;L.prototype.constructor=L;F.prototype=new H;F.prototype.constructor=F;H.prototype.a3DOnlyFunction=function(){};var Wc={},Aa=a.Character=function(b){this.code=typeof b==="string"&&b.length===1?b.charCodeAt(0):typeof b==="number"?b:b instanceof
+Aa?b:NaN;return Wc[this.code]===p?Wc[this.code]=this:Wc[this.code]};Aa.prototype.toString=function(){return String.fromCharCode(this.code)};Aa.prototype.valueOf=function(){return this.code};var ic=a.PShape=function(b){this.family=b||c.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};ic.prototype={isVisible:function(){return this.visible},setVisible:function(b){this.visible=
+b},disableStyle:function(){this.style=!1;for(var b=0,l=this.children.length;b<l;b++)this.children[b].disableStyle()},enableStyle:function(){this.style=!0;for(var b=0,l=this.children.length;b<l;b++)this.children[b].enableStyle()},getFamily:function(){return this.family},getWidth:function(){return this.width},getHeight:function(){return this.height},setName:function(b){this.name=b},getName:function(){return this.name},draw:function(){this.visible&&(this.pre(),this.drawImpl(),this.post())},drawImpl:function(){this.family===
+c.GROUP?this.drawGroup():this.family===c.PRIMITIVE?this.drawPrimitive():this.family===c.GEOMETRY?this.drawGeometry():this.family===c.PATH&&this.drawPath()},drawPath:function(){var b,l;if(this.vertices.length!==0){a.beginShape();if(this.vertexCodes.length===0)if(this.vertices[0].length===2){b=0;for(l=this.vertices.length;b<l;b++)a.vertex(this.vertices[b][0],this.vertices[b][1])}else{b=0;for(l=this.vertices.length;b<l;b++)a.vertex(this.vertices[b][0],this.vertices[b][1],this.vertices[b][2])}else{var k=
+0;if(this.vertices[0].length===2){b=0;for(l=this.vertexCodes.length;b<l;b++)if(this.vertexCodes[b]===c.VERTEX)a.vertex(this.vertices[k][0],this.vertices[k][1]),this.vertices[k].moveTo===!0?m[m.length-1].moveTo=!0:this.vertices[k].moveTo===!1&&(m[m.length-1].moveTo=!1),a.breakShape=!1,k++;else if(this.vertexCodes[b]===c.BEZIER_VERTEX)a.bezierVertex(this.vertices[k+0][0],this.vertices[k+0][1],this.vertices[k+1][0],this.vertices[k+1][1],this.vertices[k+2][0],this.vertices[k+2][1]),k+=3;else if(this.vertexCodes[b]===
+c.CURVE_VERTEX)a.curveVertex(this.vertices[k][0],this.vertices[k][1]),k++;else if(this.vertexCodes[b]===c.BREAK)a.breakShape=!0}else{b=0;for(l=this.vertexCodes.length;b<l;b++)if(this.vertexCodes[b]===c.VERTEX)a.vertex(this.vertices[k][0],this.vertices[k][1],this.vertices[k][2]),this.vertices[k].moveTo===!0?m[m.length-1].moveTo=!0:this.vertices[k].moveTo===!1&&(m[m.length-1].moveTo=!1),a.breakShape=!1;else if(this.vertexCodes[b]===c.BEZIER_VERTEX)a.bezierVertex(this.vertices[k+0][0],this.vertices[k+
+0][1],this.vertices[k+0][2],this.vertices[k+1][0],this.vertices[k+1][1],this.vertices[k+1][2],this.vertices[k+2][0],this.vertices[k+2][1],this.vertices[k+2][2]),k+=3;else if(this.vertexCodes[b]===c.CURVE_VERTEX)a.curveVertex(this.vertices[k][0],this.vertices[k][1],this.vertices[k][2]),k++;else if(this.vertexCodes[b]===c.BREAK)a.breakShape=!0}}a.endShape(this.close?c.CLOSE:c.OPEN)}},drawGeometry:function(){var b,l;a.beginShape(this.kind);if(this.style){b=0;for(l=this.vertices.length;b<l;b++)a.vertex(this.vertices[b])}else{b=
+0;for(l=this.vertices.length;b<l;b++){var k=this.vertices[b];k[2]===0?a.vertex(k[0],k[1]):a.vertex(k[0],k[1],k[2])}}a.endShape()},drawGroup:function(){for(var b=0,l=this.children.length;b<l;b++)this.children[b].draw()},drawPrimitive:function(){this.kind===c.POINT?a.point(this.params[0],this.params[1]):this.kind===c.LINE?this.params.length===4?a.line(this.params[0],this.params[1],this.params[2],this.params[3]):a.line(this.params[0],this.params[1],this.params[2],this.params[3],this.params[4],this.params[5]):
+this.kind===c.TRIANGLE?a.triangle(this.params[0],this.params[1],this.params[2],this.params[3],this.params[4],this.params[5]):this.kind===c.QUAD?a.quad(this.params[0],this.params[1],this.params[2],this.params[3],this.params[4],this.params[5],this.params[6],this.params[7]):this.kind===c.RECT?this.image!==null?(a.imageMode(c.CORNER),a.image(this.image,this.params[0],this.params[1],this.params[2],this.params[3])):(a.rectMode(c.CORNER),a.rect(this.params[0],this.params[1],this.params[2],this.params[3])):
+this.kind===c.ELLIPSE?(a.ellipseMode(c.CORNER),a.ellipse(this.params[0],this.params[1],this.params[2],this.params[3])):this.kind===c.ARC?(a.ellipseMode(c.CORNER),a.arc(this.params[0],this.params[1],this.params[2],this.params[3],this.params[4],this.params[5])):this.kind===c.BOX?this.params.length===1?a.box(this.params[0]):a.box(this.params[0],this.params[1],this.params[2]):this.kind===c.SPHERE&&a.sphere(this.params[0])},pre:function(){this.matrix&&(a.pushMatrix(),d.transform(this.matrix.elements[0],
+this.matrix.elements[3],this.matrix.elements[1],this.matrix.elements[4],this.matrix.elements[2],this.matrix.elements[5]));this.style&&(a.pushStyle(),this.styles())},post:function(){this.matrix&&a.popMatrix();this.style&&a.popStyle()},styles:function(){this.stroke?(a.stroke(this.strokeColor),a.strokeWeight(this.strokeWeight),a.strokeCap(this.strokeCap),a.strokeJoin(this.strokeJoin)):a.noStroke();this.fill?a.fill(this.fillColor):a.noFill()},getChild:function(b){var l,a;if(typeof b==="number")return this.children[b];
+else{var c;if(b===""||this.name===b)return this;else{if(this.nameTable.length>0){l=0;for(a=this.nameTable.length;l<a||c;l++)this.nameTable[l].getName===b&&(c=this.nameTable[l]);if(c)return c}l=0;for(a=this.children.length;l<a;l++)if(c=this.children[l].getChild(b))return c}return null}},getChildCount:function(){return this.children.length},addChild:function(b){this.children.push(b);b.parent=this;b.getName()!==null&&this.addName(b.getName(),b)},addName:function(b,l){this.parent!==null?this.parent.addName(b,
+l):this.nameTable.push([b,l])},translate:function(){arguments.length===2?(this.checkMatrix(2),this.matrix.translate(arguments[0],arguments[1])):(this.checkMatrix(3),this.matrix.translate(arguments[0],arguments[1],0))},checkMatrix:function(b){if(this.matrix===null)this.matrix=b===2?new a.PMatrix2D:new a.PMatrix3D;else if(b===3&&this.matrix instanceof a.PMatrix2D)this.matrix=new a.PMatrix3D},rotateX:function(b){this.rotate(b,1,0,0)},rotateY:function(b){this.rotate(b,0,1,0)},rotateZ:function(b){this.rotate(b,
+0,0,1)},rotate:function(){arguments.length===1?(this.checkMatrix(2),this.matrix.rotate(arguments[0])):(this.checkMatrix(3),this.matrix.rotate(arguments[0],arguments[1],arguments[2],arguments[3]))},scale:function(){arguments.length===2?(this.checkMatrix(2),this.matrix.scale(arguments[0],arguments[1])):arguments.length===3?(this.checkMatrix(2),this.matrix.scale(arguments[0],arguments[1],arguments[2])):(this.checkMatrix(2),this.matrix.scale(arguments[0]))},resetMatrix:function(){this.checkMatrix(2);
+this.matrix.reset()},applyMatrix:function(b){arguments.length===1?this.applyMatrix(b.elements[0],b.elements[1],0,b.elements[2],b.elements[3],b.elements[4],0,b.elements[5],0,0,1,0,0,0,0,1):arguments.length===6?(this.checkMatrix(2),this.matrix.apply(arguments[0],arguments[1],arguments[2],0,arguments[3],arguments[4],arguments[5],0,0,0,1,0,0,0,0,1)):arguments.length===16&&(this.checkMatrix(3),this.matrix.apply(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6],
+arguments[7],arguments[8],arguments[9],arguments[10],arguments[11],arguments[12],arguments[13],arguments[14],arguments[15]))}};var R=a.PShapeSVG=function(){a.PShape.call(this);if(arguments.length===1){if(this.element=arguments[0],this.vertexCodes=[],this.vertices=[],this.opacity=1,this.stroke=!1,this.strokeColor=c.ALPHA_MASK,this.strokeWeight=1,this.strokeCap=c.SQUARE,this.strokeJoin=c.MITER,this.strokeName=this.strokeGradientPaint=this.strokeGradient=null,this.strokeOpacity=1,this.fill=!0,this.fillColor=
+c.ALPHA_MASK,this.fillName=this.fillGradientPaint=this.fillGradient=null,this.fillOpacity=1,this.element.getName()!=="svg")throw"root is not <svg>, it's <"+this.element.getName()+">";}else if(arguments.length===2)if(typeof arguments[1]==="string"){if(arguments[1].indexOf(".svg")>-1)this.element=new a.XMLElement(null,arguments[1]),this.vertexCodes=[],this.vertices=[],this.opacity=1,this.stroke=!1,this.strokeColor=c.ALPHA_MASK,this.strokeWeight=1,this.strokeCap=c.SQUARE,this.strokeJoin=c.MITER,this.strokeName=
+this.strokeGradientPaint=this.strokeGradient="",this.strokeOpacity=1,this.fill=!0,this.fillColor=c.ALPHA_MASK,this.fillGradientPaint=this.fillGradient=null,this.fillOpacity=1}else if(arguments[0])this.element=arguments[1],this.vertexCodes=arguments[0].vertexCodes.slice(),this.vertices=arguments[0].vertices.slice(),this.stroke=arguments[0].stroke,this.strokeColor=arguments[0].strokeColor,this.strokeWeight=arguments[0].strokeWeight,this.strokeCap=arguments[0].strokeCap,this.strokeJoin=arguments[0].strokeJoin,
+this.strokeGradient=arguments[0].strokeGradient,this.strokeGradientPaint=arguments[0].strokeGradientPaint,this.strokeName=arguments[0].strokeName,this.fill=arguments[0].fill,this.fillColor=arguments[0].fillColor,this.fillGradient=arguments[0].fillGradient,this.fillGradientPaint=arguments[0].fillGradientPaint,this.fillName=arguments[0].fillName,this.strokeOpacity=arguments[0].strokeOpacity,this.fillOpacity=arguments[0].fillOpacity,this.opacity=arguments[0].opacity;this.name=this.element.getStringAttribute("id");
+this.visible=this.element.getStringAttribute("display","inline")!=="none";var b=this.element.getAttribute("transform");if(b)this.matrix=this.parseMatrix(b);b=this.element.getStringAttribute("viewBox");if(b!==null)b=b.split(" "),this.width=b[2],this.height=b[3];var b=this.element.getStringAttribute("width"),l=this.element.getStringAttribute("height");if(b!==null)this.width=this.parseUnitSize(b),this.height=this.parseUnitSize(l);else if(this.width===0||this.height===0)throw this.height=this.width=1,
+"The width and/or height is not readable in the <svg> tag of this file.";this.parseColors(this.element);this.parseChildren(this.element)};R.prototype=new ic;R.prototype.parseMatrix=function(){function b(b){b.replace(/\((.*?)\)/,function(){return function(b,l){l.replace(/,+/g," ").split(/\s+/)}}())}return function(l){this.checkMatrix(2);var c=[];l.replace(/\s*(\w+)\((.*?)\)/g,function(b){c.push(a.trim(b))});if(c.length===0)return null;for(var l=0,f=c.length;l<f;l++){var g=b(c[l]);if(c[l].indexOf("matrix")!==
+-1)this.matrix.set(g[0],g[2],g[4],g[1],g[3],g[5]);else if(c[l].indexOf("translate")!==-1)this.matrix.translate(g[0],g.length===2?g[1]:0);else if(c[l].indexOf("scale")!==-1)this.matrix.scale(g[0],g.length===2?g[1]:g[0]);else if(c[l].indexOf("rotate")!==-1){var d=g[0];g.length===1?this.matrix.rotate(a.radians(d)):g.length===3&&(this.matrix.translate(g[1],g[2]),this.matrix.rotate(a.radians(g[0])),this.matrix.translate(-g[1],-g[2]))}else c[l].indexOf("skewX")!==-1?this.matrix.skewX(parseFloat(g[0])):
+c[l].indexOf("skewY")!==-1&&this.matrix.skewY(g[0])}return this.matrix}}();R.prototype.parseChildren=function(b){for(var b=b.getChildren(),l=new a.PShape,c=0,f=b.length;c<f;c++){var g=this.parseChild(b[c]);g&&l.addChild(g)}this.children.push(l)};R.prototype.getName=function(){return this.name};R.prototype.parseChild=function(b){var l=b.getName(),a;l==="g"?a=new R(this,b):l==="defs"?a=new R(this,b):l==="line"?(a=new R(this,b),a.parseLine()):l==="circle"?(a=new R(this,b),a.parseEllipse(!0)):l==="ellipse"?
+(a=new R(this,b),a.parseEllipse(!1)):l==="rect"?(a=new R(this,b),a.parseRect()):l==="polygon"?(a=new R(this,b),a.parsePoly(!0)):l==="polyline"?(a=new R(this,b),a.parsePoly(!1)):l==="path"?(a=new R(this,b),a.parsePath()):l==="radialGradient"?J("PShapeSVG.prototype.parseChild, name = radialGradient"):l==="linearGradient"?J("PShapeSVG.prototype.parseChild, name = linearGradient"):l==="text"?J("PShapeSVG.prototype.parseChild, name = text"):l==="filter"?J("PShapeSVG.prototype.parseChild, name = filter"):
+l==="mask"?J("PShapeSVG.prototype.parseChild, name = mask"):zc();return a};R.prototype.parsePath=function(){this.family=c.PATH;this.kind=0;var b=a.trim(this.element.getStringAttribute("d").replace(/[\s,]+/g," "));if(b!==null)for(var b=a.__toCharArray(b),l=0,k=0,f=0,g=0,d=g=f=0,i=0,j=0,e=0,h=e=g=j=f=0,m=0,q="",o=[],p=!1,r,s,t;h<b.length;)if(m=b[h].valueOf(),m>=65&&m<=90||m>=97&&m<=122){t=h;h++;if(h<b.length){o=[];for(m=b[h].valueOf();!(m>=65&&m<=90||m>=97&&m<=100||m>=102&&m<=122)&&p===!1;)m===32?q!==
+""&&(o.push(parseFloat(q)),q=""):m===45?b[h-1].valueOf()===101?q+=b[h].toString():(q!==""&&o.push(parseFloat(q)),q=b[h].toString()):q+=b[h].toString(),h++,h===b.length?p=!0:m=b[h].valueOf()}q!==""&&(o.push(parseFloat(q)),q="");s=b[t];m=s.valueOf();if(m===77){if(o.length>=2&&o.length%2===0&&(l=o[0],k=o[1],this.parsePathMoveto(l,k),o.length>2)){t=2;for(m=o.length;t<m;t+=2)l=o[t],k=o[t+1],this.parsePathLineto(l,k)}}else if(m===109){if(o.length>=2&&o.length%2===0&&(this.parsePathMoveto(l,k),o.length>
+2)){t=2;for(m=o.length;t<m;t+=2)l+=o[t],k+=o[t+1],this.parsePathLineto(l,k)}}else if(m===76){if(o.length>=2&&o.length%2===0){t=0;for(m=o.length;t<m;t+=2)l=o[t],k=o[t+1],this.parsePathLineto(l,k)}}else if(m===108){if(o.length>=2&&o.length%2===0){t=0;for(m=o.length;t<m;t+=2)l+=o[t],k+=o[t+1],this.parsePathLineto(l,k)}}else if(m===72){t=0;for(m=o.length;t<m;t++)l=o[t],this.parsePathLineto(l,k)}else if(m===104){t=0;for(m=o.length;t<m;t++)l+=o[t],this.parsePathLineto(l,k)}else if(m===86){t=0;for(m=o.length;t<
+m;t++)k=o[t],this.parsePathLineto(l,k)}else if(m===118){t=0;for(m=o.length;t<m;t++)k+=o[t],this.parsePathLineto(l,k)}else if(m===67){if(o.length>=6&&o.length%6===0){t=0;for(m=o.length;t<m;t+=6)f=o[t],d=o[t+1],g=o[t+2],i=o[t+3],j=o[t+4],e=o[t+5],this.parsePathCurveto(f,d,g,i,j,e),l=j,k=e}}else if(m===99){if(o.length>=6&&o.length%6===0){t=0;for(m=o.length;t<m;t+=6)f=l+o[t],d=k+o[t+1],g=l+o[t+2],i=k+o[t+3],j=l+o[t+4],e=k+o[t+5],this.parsePathCurveto(f,d,g,i,j,e),l=j,k=e}}else if(m===83){if(o.length>=
+4&&o.length%4===0){t=0;for(m=o.length;t<m;t+=4)r.toLowerCase()==="c"||r.toLowerCase()==="s"?(f=this.vertices[this.vertices.length-2][0],j=this.vertices[this.vertices.length-2][1],g=this.vertices[this.vertices.length-1][0],e=this.vertices[this.vertices.length-1][1],f=g+(g-f),d=e+(e-j)):(f=this.vertices[this.vertices.length-1][0],d=this.vertices[this.vertices.length-1][1]),g=o[t],i=o[t+1],j=o[t+2],e=o[t+3],this.parsePathCurveto(f,d,g,i,j,e),l=j,k=e}}else if(m===115){if(o.length>=4&&o.length%4===0){t=
+0;for(m=o.length;t<m;t+=4)r.toLowerCase()==="c"||r.toLowerCase()==="s"?(f=this.vertices[this.vertices.length-2][0],j=this.vertices[this.vertices.length-2][1],g=this.vertices[this.vertices.length-1][0],e=this.vertices[this.vertices.length-1][1],f=g+(g-f),d=e+(e-j)):(f=this.vertices[this.vertices.length-1][0],d=this.vertices[this.vertices.length-1][1]),g=l+o[t],i=k+o[t+1],j=l+o[t+2],e=k+o[t+3],this.parsePathCurveto(f,d,g,i,j,e),l=j,k=e}}else if(m===81){if(o.length>=4&&o.length%4===0){t=0;for(m=o.length;t<
+m;t+=4)f=o[t],g=o[t+1],j=o[t+2],e=o[t+3],this.parsePathQuadto(l,k,f,g,j,e),l=j,k=e}}else if(m===113){if(o.length>=4&&o.length%4===0){t=0;for(m=o.length;t<m;t+=4)f=l+o[t],g=k+o[t+1],j=l+o[t+2],e=k+o[t+3],this.parsePathQuadto(l,k,f,g,j,e),l=j,k=e}}else if(m===84){if(o.length>=2&&o.length%2===0){t=0;for(m=o.length;t<m;t+=2)r.toLowerCase()==="q"||r.toLowerCase()==="t"?(f=this.vertices[this.vertices.length-2][0],j=this.vertices[this.vertices.length-2][1],g=this.vertices[this.vertices.length-1][0],e=this.vertices[this.vertices.length-
+1][1],f=g+(g-f),g=e+(e-j)):(f=l,g=k),j=o[t],e=o[t+1],this.parsePathQuadto(l,k,f,g,j,e),l=j,k=e}}else if(m===116){if(o.length>=2&&o.length%2===0){t=0;for(m=o.length;t<m;t+=2)r.toLowerCase()==="q"||r.toLowerCase()==="t"?(f=this.vertices[this.vertices.length-2][0],j=this.vertices[this.vertices.length-2][1],g=this.vertices[this.vertices.length-1][0],e=this.vertices[this.vertices.length-1][1],f=g+(g-f),g=e+(e-j)):(f=l,g=k),j=l+o[t],e=k+o[t+1],this.parsePathQuadto(l,k,f,g,j,e),l=j,k=e}}else if(m===90)zc();
+else if(m===122)this.close=!0;r=s.toString()}else h++};R.prototype.parsePathQuadto=function(b,a,k,f,g,d){if(this.vertices.length>0)this.parsePathCode(c.BEZIER_VERTEX),this.parsePathVertex(b+(k-b)*2/3,a+(f-a)*2/3),this.parsePathVertex(g+(k-g)*2/3,d+(f-d)*2/3),this.parsePathVertex(g,d);else throw"Path must start with M/m";};R.prototype.parsePathCurveto=function(b,a,k,f,g,d){if(this.vertices.length>0)this.parsePathCode(c.BEZIER_VERTEX),this.parsePathVertex(b,a),this.parsePathVertex(k,f),this.parsePathVertex(g,
+d);else throw"Path must start with M/m";};R.prototype.parsePathLineto=function(b,a){if(this.vertices.length>0)this.parsePathCode(c.VERTEX),this.parsePathVertex(b,a),this.vertices[this.vertices.length-1].moveTo=!1;else throw"Path must start with M/m";};R.prototype.parsePathMoveto=function(b,a){this.vertices.length>0&&this.parsePathCode(c.BREAK);this.parsePathCode(c.VERTEX);this.parsePathVertex(b,a);this.vertices[this.vertices.length-1].moveTo=!0};R.prototype.parsePathVertex=function(b,a){var c=[];
+c[0]=b;c[1]=a;this.vertices.push(c)};R.prototype.parsePathCode=function(b){this.vertexCodes.push(b)};R.prototype.parsePoly=function(b){this.family=c.PATH;this.close=b;b=a.trim(this.element.getStringAttribute("points").replace(/[,\s]+/g," "));if(b!==null)if(b=b.split(" "),b.length%2===0)for(var l=0,k=b.length;l<k;l++){var f=[];f[0]=b[l];f[1]=b[++l];this.vertices.push(f)}else throw"Error parsing polygon points: odd number of coordinates provided";};R.prototype.parseRect=function(){this.kind=c.RECT;
+this.family=c.PRIMITIVE;this.params=[];this.params[0]=this.element.getFloatAttribute("x");this.params[1]=this.element.getFloatAttribute("y");this.params[2]=this.element.getFloatAttribute("width");this.params[3]=this.element.getFloatAttribute("height")};R.prototype.parseEllipse=function(b){this.kind=c.ELLIPSE;this.family=c.PRIMITIVE;this.params=[];this.params[0]=this.element.getFloatAttribute("cx");this.params[1]=this.element.getFloatAttribute("cy");var a;b?b=a=this.element.getFloatAttribute("r"):
+(b=this.element.getFloatAttribute("rx"),a=this.element.getFloatAttribute("ry"));this.params[0]-=b;this.params[1]-=a;this.params[2]=b*2;this.params[3]=a*2};R.prototype.parseLine=function(){this.kind=c.LINE;this.family=c.PRIMITIVE;this.params=[];this.params[0]=this.element.getFloatAttribute("x1");this.params[1]=this.element.getFloatAttribute("y1");this.params[2]=this.element.getFloatAttribute("x2");this.params[3]=this.element.getFloatAttribute("y2")};R.prototype.parseColors=function(b){b.hasAttribute("opacity")&&
+this.setOpacity(b.getAttribute("opacity"));b.hasAttribute("stroke")&&this.setStroke(b.getAttribute("stroke"));b.hasAttribute("stroke-width")&&this.setStrokeWeight(b.getAttribute("stroke-width"));b.hasAttribute("stroke-linejoin")&&this.setStrokeJoin(b.getAttribute("stroke-linejoin"));b.hasAttribute("stroke-linecap")&&this.setStrokeCap(b.getStringAttribute("stroke-linecap"));b.hasAttribute("fill")&&this.setFill(b.getStringAttribute("fill"));if(b.hasAttribute("style"))for(var b=b.getStringAttribute("style").toString().split(";"),
+l=0,c=b.length;l<c;l++){var f=a.trim(b[l].split(":"));f[0]==="fill"?this.setFill(f[1]):f[0]==="fill-opacity"?this.setFillOpacity(f[1]):f[0]==="stroke"?this.setStroke(f[1]):f[0]==="stroke-width"?this.setStrokeWeight(f[1]):f[0]==="stroke-linecap"?this.setStrokeCap(f[1]):f[0]==="stroke-linejoin"?this.setStrokeJoin(f[1]):f[0]==="stroke-opacity"?this.setStrokeOpacity(f[1]):f[0]==="opacity"&&this.setOpacity(f[1])}};R.prototype.setFillOpacity=function(b){this.fillOpacity=parseFloat(b);this.fillColor=this.fillOpacity*
+255<<24|this.fillColor&16777215};R.prototype.setFill=function(b){var a=this.fillColor&4278190080;if(b==="none")this.fill=!1;else if(b.indexOf("#")===0)this.fill=!0,this.fillColor=a|parseInt(b.substring(1),16)&16777215;else if(b.indexOf("rgb")===0)this.fill=!0,this.fillColor=a|this.parseRGB(b);else if(b.indexOf("url(#")===0)this.fillName=b.substring(5,b.length-1);else if(mc[b])this.fill=!0,this.fillColor=a|parseInt(mc[b].substring(1),16)&16777215};R.prototype.setOpacity=function(b){this.strokeColor=
+parseFloat(b)*255<<24|this.strokeColor&16777215;this.fillColor=parseFloat(b)*255<<24|this.fillColor&16777215};R.prototype.setStroke=function(b){var a=this.strokeColor&4278190080;if(b==="none")this.stroke=!1;else if(b.charAt(0)==="#")this.stroke=!0,this.strokeColor=a|parseInt(b.substring(1),16)&16777215;else if(b.indexOf("rgb")===0)this.stroke=!0,this.strokeColor=a|this.parseRGB(b);else if(b.indexOf("url(#")===0)this.strokeName=b.substring(5,b.length-1);else if(mc[b])this.stroke=!0,this.strokeColor=
+a|parseInt(mc[b].substring(1),16)&16777215};R.prototype.setStrokeWeight=function(b){this.strokeWeight=this.parseUnitSize(b)};R.prototype.setStrokeJoin=function(b){if(b==="miter")this.strokeJoin=c.MITER;else if(b==="round")this.strokeJoin=c.ROUND;else if(b==="bevel")this.strokeJoin=c.BEVEL};R.prototype.setStrokeCap=function(b){if(b==="butt")this.strokeCap=c.SQUARE;else if(b==="round")this.strokeCap=c.ROUND;else if(b==="square")this.strokeCap=c.PROJECT};R.prototype.setStrokeOpacity=function(b){this.strokeOpacity=
+parseFloat(b);this.strokeColor=this.strokeOpacity*255<<24|this.strokeColor&16777215};R.prototype.parseRGB=function(b){b=b.substring(b.indexOf("(")+1,b.indexOf(")")).split(", ");return b[0]<<16|b[1]<<8|b[2]};R.prototype.parseUnitSize=function(b){var a=b.length-2;if(a<0)return b;return b.indexOf("pt")===a?parseFloat(b.substring(0,a))*1.25:b.indexOf("pc")===a?parseFloat(b.substring(0,a))*15:b.indexOf("mm")===a?parseFloat(b.substring(0,a))*3.543307:b.indexOf("cm")===a?parseFloat(b.substring(0,a))*35.43307:
+b.indexOf("in")===a?parseFloat(b.substring(0,a))*90:b.indexOf("px")===a?parseFloat(b.substring(0,a)):parseFloat(b)};a.shape=function(b,l,k,f,g){arguments.length>=1&&arguments[0]!==null&&b.isVisible()&&(a.pushMatrix(),hc===c.CENTER?arguments.length===5?(a.translate(l-f/2,k-g/2),a.scale(f/b.getWidth(),g/b.getHeight())):arguments.length===3?a.translate(l-b.getWidth()/2,-b.getHeight()/2):a.translate(-b.getWidth()/2,-b.getHeight()/2):hc===c.CORNER?arguments.length===5?(a.translate(l,k),a.scale(f/b.getWidth(),
+g/b.getHeight())):arguments.length===3&&a.translate(l,k):hc===c.CORNERS&&(arguments.length===5?(f-=l,g-=k,a.translate(l,k),a.scale(f/b.getWidth(),g/b.getHeight())):arguments.length===3&&a.translate(l,k)),b.draw(),(arguments.length===1&&hc===c.CENTER||arguments.length>1)&&a.popMatrix())};a.shapeMode=function(b){hc=b};a.loadShape=function(b){if(arguments.length===1&&b.indexOf(".svg")>-1)return new R(null,b);return null};var wc=function(b,a,c,f,g){this.fullName=b||"";this.name=a||"";this.namespace=c||
+"";this.value=f;this.type=g};wc.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(b){this.value=b}};var mb=a.XMLElement=function(){this.attributes=[];this.children=[];this.name=this.fullName=null;this.namespace="";this.parent=this.content=null;this.systemID=this.lineNr="";this.type="ELEMENT";if(arguments.length===4){this.fullName=
+arguments[0]||"";if(arguments[1])this.name=arguments[1];else{var b=this.fullName.indexOf(":");this.name=b>=0?this.fullName.substring(b+1):this.fullName}this.namespace=arguments[1];this.lineNr=arguments[3];this.systemID=arguments[2]}else arguments.length===2&&arguments[1].indexOf(".")>-1?this.parse(arguments[arguments.length-1]):arguments.length===1&&typeof arguments[0]==="string"&&this.parse(arguments[0])};mb.prototype={parse:function(b){var a;try{if(b.indexOf(".xml")>-1||b.indexOf(".svg")>-1)b=Dc(b);
+a=(new DOMParser).parseFromString(b,"text/xml");var c=a.documentElement;if(c)this.parseChildrenRecursive(null,c);else throw"Error loading document";return this}catch(f){throw f;}},parseChildrenRecursive:function(b,a){var c,f,g,d;b?(c=new mb(a.localName,a.nodeName,"",""),c.parent=b):(this.fullName=a.localName,this.name=a.nodeName,c=this);if(a.nodeType===3&&a.textContent!=="")return this.createPCDataElement(a.textContent);g=0;for(d=a.attributes.length;g<d;g++)f=a.attributes[g],f=new wc(f.getname,f.nodeName,
+f.namespaceURI,f.nodeValue,f.nodeType),c.attributes.push(f);g=0;for(d=a.childNodes.length;g<d;g++)if(f=a.childNodes[g],f.nodeType===1||f.nodeType===3)f=c.parseChildrenRecursive(c,f),f!==null&&c.children.push(f);return c},createElement:function(){return arguments.length===2?new mb(arguments[0],arguments[1],null,null):new mb(arguments[0],arguments[1],arguments[2],arguments[3])},createPCDataElement:function(b){if(b.replace(/^\s+$/g,"")==="")return null;var a=new mb;a.content=b;a.type="TEXT";return a},
+hasAttribute:function(){if(arguments.length===1)return this.getAttribute(arguments[0])!==null;else if(arguments.length===2)return this.getAttribute(arguments[0],arguments[1])!==null},equals:function(b){if(!(b instanceof mb))return!1;var a,c;if(this.name!==b.getLocalName())return!1;if(this.attributes.length!==b.getAttributeCount())return!1;if(this.attributes.length!==b.attributes.length)return!1;var f,g;a=0;for(c=this.attributes.length;a<c;a++){f=this.attributes[a].getName();g=this.attributes[a].getNamespace();
+f=b.findAttribute(f,g);if(f===null)return!1;if(this.attributes[a].getValue()!==f.getValue())return!1;if(this.attributes[a].getType()!==f.getType())return!1}if(this.children.length!==b.getChildCount())return!1;if(this.children.length>0){a=0;for(c=this.children.length;a<c;a++)if(f=this.getChild(a),g=b.getChild(a),!f.equals(g))return!1;return!0}else return this.content===b.content},getContent:function(){if(this.type==="TEXT")return this.content;else if(this.children.length===1&&this.children[0].type===
+"TEXT")return this.children[0].content;return null},getAttribute:function(){var b;if(arguments.length===2)return(b=this.findAttribute(arguments[0]))?b.getValue():arguments[1];else if(arguments.length===1)return(b=this.findAttribute(arguments[0]))?b.getValue():null;else if(arguments.length===3)return(b=this.findAttribute(arguments[0],arguments[1]))?b.getValue():arguments[2]},getStringAttribute:function(){return arguments.length===1?this.getAttribute(arguments[0]):arguments.length===2?this.getAttribute(arguments[0],
+arguments[1]):this.getAttribute(arguments[0],arguments[1],arguments[2])},getString:function(b){return this.getStringAttribute(b)},getFloatAttribute:function(){return arguments.length===1?parseFloat(this.getAttribute(arguments[0],0)):arguments.length===2?this.getAttribute(arguments[0],arguments[1]):this.getAttribute(arguments[0],arguments[1],arguments[2])},getFloat:function(b){return this.getFloatAttribute(b)},getIntAttribute:function(){return arguments.length===1?this.getAttribute(arguments[0],0):
+arguments.length===2?this.getAttribute(arguments[0],arguments[1]):this.getAttribute(arguments[0],arguments[1],arguments[2])},getInt:function(b){return this.getIntAttribute(b)},hasChildren:function(){return this.children.length>0},addChild:function(b){if(b!==null)b.parent=this,this.children.push(b)},insertChild:function(b,a){if(b){if(b.getLocalName()===null&&!this.hasChildren()){var c=this.children[this.children.length-1];if(c.getLocalName()===null){c.setContent(c.getContent()+b.getContent());return}}b.parent=
+this;this.children.splice(a,0,b)}},getChild:function(b){if(typeof b==="number")return this.children[b];else if(b.indexOf("/")!==-1)this.getChildRecursive(b.split("/"),0);else{for(var a,c,f=0,g=this.getChildCount();f<g;f++)if(a=this.getChild(f),c=a.getName(),c!==null&&c===b)return a;return null}},getChildren:function(){if(arguments.length===1)if(typeof arguments[0]==="number")return this.getChild(arguments[0]);else if(arguments[0].indexOf("/")!==-1)return this.getChildrenRecursive(arguments[0].split("/"),
+0);else{for(var b=[],a,c,f=0,g=this.getChildCount();f<g;f++)a=this.getChild(f),c=a.getName(),c!==null&&c===arguments[0]&&b.push(a);return b}else return this.children},getChildCount:function(){return this.children.length},getChildRecursive:function(b,a){for(var c,f,g=0,d=this.getChildCount();g<d;g++)if(c=this.getChild(g),f=c.getName(),f!==null&&f===b[a])return a===b.length-1?c:(a+=1,c.getChildRecursive(b,a));return null},getChildrenRecursive:function(b,a){if(a===b.length-1)return this.getChildren(b[a]);
+for(var c=this.getChildren(b[a]),f=[],g=0;g<c.length;g++)f=f.concat(c[g].getChildrenRecursive(b,a+1));return f},isLeaf:function(){return!this.hasChildren()},listChildren:function(){for(var b=[],a=0,c=this.children.length;a<c;a++)b.push(this.getChild(a).getName());return b},removeAttribute:function(b,a){this.namespace=a||"";for(var c=0,f=this.attributes.length;c<f;c++)if(this.attributes[c].getName()===b&&this.attributes[c].getNamespace()===this.namespace){this.attributes.splice(c,1);break}},removeChild:function(b){if(b)for(var a=
+0,c=this.children.length;a<c;a++)if(this.children[a].equals(b)){this.children.splice(a,1);break}},removeChildAtIndex:function(b){this.children.length>b&&this.children.splice(b,1)},findAttribute:function(b,a){this.namespace=a||"";for(var c=0,f=this.attributes.length;c<f;c++)if(this.attributes[c].getName()===b&&this.attributes[c].getNamespace()===this.namespace)return this.attributes[c];return null},setAttribute:function(){var b;if(arguments.length===3){b=arguments[0].indexOf(":");var a=arguments[0].substring(b+
+1);(b=this.findAttribute(a,arguments[1]))?b.setValue(arguments[2]):(b=new wc(arguments[0],a,arguments[1],arguments[2],"CDATA"),this.attributes.push(b))}else(b=this.findAttribute(arguments[0]))?b.setValue(arguments[1]):(b=new wc(arguments[0],arguments[0],null,arguments[1],"CDATA"),this.attributes.push(b))},setString:function(b,a){this.setAttribute(b,a)},setInt:function(b,a){this.setAttribute(b,a)},setFloat:function(b,a){this.setAttribute(b,a)},setContent:function(b){this.children.length>0&&w.debug("Tried to set content for XMLElement with children");
+this.content=b},setName:function(){if(arguments.length===1)this.name=arguments[0],this.fullName=arguments[0],this.namespace=null;else{var b=arguments[0].indexOf(":");this.name=arguments[1]===null||b<0?arguments[0]:arguments[0].substring(b+1);this.fullName=arguments[0];this.namespace=arguments[1]}},getName:function(){return this.fullName},getLocalName:function(){return this.name},getAttributeCount:function(){return this.attributes.length},toString:function(){if(this.type==="TEXT")return this.content;
+var b=(this.namespace!==""&&this.namespace!==this.name?this.namespace+":":"")+this.name,a="<"+b,c;for(c=0;c<this.attributes.length;c++){var f=this.attributes[c];a+=" "+f.getName()+'="'+f.getValue()+'"'}if(this.children.length===0)a+=this.content===""?"/>":">"+this.content+"</"+b+">";else{a+=">";for(c=0;c<this.children.length;c++)a+=this.children[c].toString();a+="</"+b+">"}return a}};mb.parse=function(b){var a=new mb;a.parse(b);return a};var sd=function(b){for(var a=0,c=0;c<b.length;c++)a=c!==0?e.max(a,
+e.abs(b[c])):e.abs(b[c]);b=(a+"").indexOf(".");if(b===0)b=1;else if(b===-1)b=(a+"").length;return b},ab=a.PMatrix2D=function(){arguments.length===0?this.reset():arguments.length===1&&arguments[0]instanceof ab?this.set(arguments[0].array()):arguments.length===6&&this.set(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5])};ab.prototype={set:function(){if(arguments.length===6){var b=arguments;this.set([b[0],b[1],b[2],b[3],b[4],b[5]])}else if(arguments.length===1&&arguments[0]instanceof
+ab)this.elements=arguments[0].array();else if(arguments.length===1&&arguments[0]instanceof Array)this.elements=arguments[0].slice()},get:function(){var b=new ab;b.set(this.elements);return b},reset:function(){this.set([1,0,0,0,1,0])},array:function(){return this.elements.slice()},translate:function(b,a){this.elements[2]=b*this.elements[0]+a*this.elements[1]+this.elements[2];this.elements[5]=b*this.elements[3]+a*this.elements[4]+this.elements[5]},invTranslate:function(b,a){this.translate(-b,-a)},transpose:function(){},
+mult:function(b,a){var c,f;b instanceof ia?(c=b.x,f=b.y,a||(a=new ia)):b instanceof Array&&(c=b[0],f=b[1],a||(a=[]));if(a instanceof Array)a[0]=this.elements[0]*c+this.elements[1]*f+this.elements[2],a[1]=this.elements[3]*c+this.elements[4]*f+this.elements[5];else if(a instanceof ia)a.x=this.elements[0]*c+this.elements[1]*f+this.elements[2],a.y=this.elements[3]*c+this.elements[4]*f+this.elements[5],a.z=0;return a},multX:function(b,a){return b*this.elements[0]+a*this.elements[1]+this.elements[2]},multY:function(b,
+a){return b*this.elements[3]+a*this.elements[4]+this.elements[5]},skewX:function(b){this.apply(1,0,1,b,0,0)},skewY:function(b){this.apply(1,0,1,0,b,0)},determinant:function(){return this.elements[0]*this.elements[4]-this.elements[1]*this.elements[3]},invert:function(){var b=this.determinant();if(e.abs(b)>c.MIN_INT){var a=this.elements[0],k=this.elements[1],f=this.elements[2],g=this.elements[3],d=this.elements[4],i=this.elements[5];this.elements[0]=d/b;this.elements[3]=-g/b;this.elements[1]=-k/b;this.elements[4]=
+a/b;this.elements[2]=(k*i-d*f)/b;this.elements[5]=(g*f-a*i)/b;return!0}return!1},scale:function(b,a){b&&!a&&(a=b);b&&a&&(this.elements[0]*=b,this.elements[1]*=a,this.elements[3]*=b,this.elements[4]*=a)},invScale:function(b,a){b&&!a&&(a=b);this.scale(1/b,1/a)},apply:function(){var b;arguments.length===1&&arguments[0]instanceof ab?b=arguments[0].array():arguments.length===6?b=Array.prototype.slice.call(arguments):arguments.length===1&&arguments[0]instanceof Array&&(b=arguments[0]);for(var a=[0,0,this.elements[2],
+0,0,this.elements[5]],c=0,f=0;f<2;f++)for(var g=0;g<3;g++,c++)a[c]+=this.elements[f*3+0]*b[g+0]+this.elements[f*3+1]*b[g+3];this.elements=a.slice()},preApply:function(){var b;arguments.length===1&&arguments[0]instanceof ab?b=arguments[0].array():arguments.length===6?b=Array.prototype.slice.call(arguments):arguments.length===1&&arguments[0]instanceof Array&&(b=arguments[0]);var a=[0,0,b[2],0,0,b[5]];a[2]=b[2]+this.elements[2]*b[0]+this.elements[5]*b[1];a[5]=b[5]+this.elements[2]*b[3]+this.elements[5]*
+b[4];a[0]=this.elements[0]*b[0]+this.elements[3]*b[1];a[3]=this.elements[0]*b[3]+this.elements[3]*b[4];a[1]=this.elements[1]*b[0]+this.elements[4]*b[1];a[4]=this.elements[1]*b[3]+this.elements[4]*b[4];this.elements=a.slice()},rotate:function(b){var a=e.cos(b),b=e.sin(b),c=this.elements[0],f=this.elements[1];this.elements[0]=a*c+b*f;this.elements[1]=-b*c+a*f;c=this.elements[3];f=this.elements[4];this.elements[3]=a*c+b*f;this.elements[4]=-b*c+a*f},rotateZ:function(b){this.rotate(b)},invRotateZ:function(b){this.rotateZ(b-
+e.PI)},print:function(){var b=sd(this.elements),b=""+a.nfs(this.elements[0],b,4)+" "+a.nfs(this.elements[1],b,4)+" "+a.nfs(this.elements[2],b,4)+"\n"+a.nfs(this.elements[3],b,4)+" "+a.nfs(this.elements[4],b,4)+" "+a.nfs(this.elements[5],b,4)+"\n\n";a.println(b)}};var E=a.PMatrix3D=function(){this.reset()};E.prototype={set:function(){if(arguments.length===16)this.elements=Array.prototype.slice.call(arguments);else if(arguments.length===1&&arguments[0]instanceof E)this.elements=arguments[0].array();
+else if(arguments.length===1&&arguments[0]instanceof Array)this.elements=arguments[0].slice()},get:function(){var b=new E;b.set(this.elements);return b},reset:function(){this.set([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])},array:function(){return this.elements.slice()},translate:function(b,a,c){c===p&&(c=0);this.elements[3]+=b*this.elements[0]+a*this.elements[1]+c*this.elements[2];this.elements[7]+=b*this.elements[4]+a*this.elements[5]+c*this.elements[6];this.elements[11]+=b*this.elements[8]+a*this.elements[9]+
+c*this.elements[10];this.elements[15]+=b*this.elements[12]+a*this.elements[13]+c*this.elements[14]},transpose:function(){var b=this.elements.slice();this.elements[0]=b[0];this.elements[1]=b[4];this.elements[2]=b[8];this.elements[3]=b[12];this.elements[4]=b[1];this.elements[5]=b[5];this.elements[6]=b[9];this.elements[7]=b[13];this.elements[8]=b[2];this.elements[9]=b[6];this.elements[10]=b[10];this.elements[11]=b[14];this.elements[12]=b[3];this.elements[13]=b[7];this.elements[14]=b[11];this.elements[15]=
+b[15]},mult:function(b,a){var c,f,g,d;if(b instanceof ia)c=b.x,f=b.y,g=b.z,d=1,a||(a=new ia);else if(b instanceof Array&&(c=b[0],f=b[1],g=b[2],d=b[3]||1,!a||a.length!==3&&a.length!==4))a=[0,0,0];a instanceof Array&&(a.length===3?(a[0]=this.elements[0]*c+this.elements[1]*f+this.elements[2]*g+this.elements[3],a[1]=this.elements[4]*c+this.elements[5]*f+this.elements[6]*g+this.elements[7],a[2]=this.elements[8]*c+this.elements[9]*f+this.elements[10]*g+this.elements[11]):a.length===4&&(a[0]=this.elements[0]*
+c+this.elements[1]*f+this.elements[2]*g+this.elements[3]*d,a[1]=this.elements[4]*c+this.elements[5]*f+this.elements[6]*g+this.elements[7]*d,a[2]=this.elements[8]*c+this.elements[9]*f+this.elements[10]*g+this.elements[11]*d,a[3]=this.elements[12]*c+this.elements[13]*f+this.elements[14]*g+this.elements[15]*d));if(a instanceof ia)a.x=this.elements[0]*c+this.elements[1]*f+this.elements[2]*g+this.elements[3],a.y=this.elements[4]*c+this.elements[5]*f+this.elements[6]*g+this.elements[7],a.z=this.elements[8]*
+c+this.elements[9]*f+this.elements[10]*g+this.elements[11];return a},preApply:function(){var b;arguments.length===1&&arguments[0]instanceof E?b=arguments[0].array():arguments.length===16?b=Array.prototype.slice.call(arguments):arguments.length===1&&arguments[0]instanceof Array&&(b=arguments[0]);for(var a=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],c=0,f=0;f<4;f++)for(var g=0;g<4;g++,c++)a[c]+=this.elements[g+0]*b[f*4+0]+this.elements[g+4]*b[f*4+1]+this.elements[g+8]*b[f*4+2]+this.elements[g+12]*b[f*4+3];this.elements=
+a.slice()},apply:function(){var b;arguments.length===1&&arguments[0]instanceof E?b=arguments[0].array():arguments.length===16?b=Array.prototype.slice.call(arguments):arguments.length===1&&arguments[0]instanceof Array&&(b=arguments[0]);for(var a=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],c=0,f=0;f<4;f++)for(var g=0;g<4;g++,c++)a[c]+=this.elements[f*4+0]*b[g+0]+this.elements[f*4+1]*b[g+4]+this.elements[f*4+2]*b[g+8]+this.elements[f*4+3]*b[g+12];this.elements=a.slice()},rotate:function(b,l,c,f){if(c){var g=a.cos(b),
+b=a.sin(b),d=1-g;this.apply(d*l*l+g,d*l*c-b*f,d*l*f+b*c,0,d*l*c+b*f,d*c*c+g,d*c*f-b*l,0,d*l*f-b*c,d*c*f+b*l,d*f*f+g,0,0,0,0,1)}else this.rotateZ(b)},invApply:function(){gc===p&&(gc=new E);var b=arguments;gc.set(b[0],b[1],b[2],b[3],b[4],b[5],b[6],b[7],b[8],b[9],b[10],b[11],b[12],b[13],b[14],b[15]);if(!gc.invert())return!1;this.preApply(gc);return!0},rotateX:function(b){var l=a.cos(b),b=a.sin(b);this.apply([1,0,0,0,0,l,-b,0,0,b,l,0,0,0,0,1])},rotateY:function(b){var l=a.cos(b),b=a.sin(b);this.apply([l,
+0,b,0,0,1,0,0,-b,0,l,0,0,0,0,1])},rotateZ:function(b){var a=e.cos(b),b=e.sin(b);this.apply([a,-b,0,0,b,a,0,0,0,0,1,0,0,0,0,1])},scale:function(b,a,c){b&&!a&&!c?a=c=b:b&&a&&!c&&(c=1);b&&a&&c&&(this.elements[0]*=b,this.elements[1]*=a,this.elements[2]*=c,this.elements[4]*=b,this.elements[5]*=a,this.elements[6]*=c,this.elements[8]*=b,this.elements[9]*=a,this.elements[10]*=c,this.elements[12]*=b,this.elements[13]*=a,this.elements[14]*=c)},skewX:function(b){this.apply(1,e.tan(b),0,0,0,1,0,0,0,0,1,0,0,0,
+0,1)},skewY:function(b){this.apply(1,0,0,0,e.tan(b),1,0,0,0,0,1,0,0,0,0,1)},multX:function(b,a,c,f){return c?f?this.elements[0]*b+this.elements[1]*a+this.elements[2]*c+this.elements[3]*f:this.elements[0]*b+this.elements[1]*a+this.elements[2]*c+this.elements[3]:this.elements[0]*b+this.elements[1]*a+this.elements[3]},multY:function(b,a,c,f){return c?f?this.elements[4]*b+this.elements[5]*a+this.elements[6]*c+this.elements[7]*f:this.elements[4]*b+this.elements[5]*a+this.elements[6]*c+this.elements[7]:
+this.elements[4]*b+this.elements[5]*a+this.elements[7]},multZ:function(b,a,c,f){return f?this.elements[8]*b+this.elements[9]*a+this.elements[10]*c+this.elements[11]*f:this.elements[8]*b+this.elements[9]*a+this.elements[10]*c+this.elements[11]},multW:function(b,a,c,f){return f?this.elements[12]*b+this.elements[13]*a+this.elements[14]*c+this.elements[15]*f:this.elements[12]*b+this.elements[13]*a+this.elements[14]*c+this.elements[15]},invert:function(){var b=this.elements[0]*this.elements[5]-this.elements[1]*
+this.elements[4],a=this.elements[0]*this.elements[6]-this.elements[2]*this.elements[4],c=this.elements[0]*this.elements[7]-this.elements[3]*this.elements[4],f=this.elements[1]*this.elements[6]-this.elements[2]*this.elements[5],g=this.elements[1]*this.elements[7]-this.elements[3]*this.elements[5],d=this.elements[2]*this.elements[7]-this.elements[3]*this.elements[6],i=this.elements[8]*this.elements[13]-this.elements[9]*this.elements[12],j=this.elements[8]*this.elements[14]-this.elements[10]*this.elements[12],
+n=this.elements[8]*this.elements[15]-this.elements[11]*this.elements[12],h=this.elements[9]*this.elements[14]-this.elements[10]*this.elements[13],m=this.elements[9]*this.elements[15]-this.elements[11]*this.elements[13],q=this.elements[10]*this.elements[15]-this.elements[11]*this.elements[14],o=b*q-a*m+c*h+f*n-g*j+d*i;if(e.abs(o)<=1.0E-9)return!1;var p=[];p[0]=+this.elements[5]*q-this.elements[6]*m+this.elements[7]*h;p[4]=-this.elements[4]*q+this.elements[6]*n-this.elements[7]*j;p[8]=+this.elements[4]*
+m-this.elements[5]*n+this.elements[7]*i;p[12]=-this.elements[4]*h+this.elements[5]*j-this.elements[6]*i;p[1]=-this.elements[1]*q+this.elements[2]*m-this.elements[3]*h;p[5]=+this.elements[0]*q-this.elements[2]*n+this.elements[3]*j;p[9]=-this.elements[0]*m+this.elements[1]*n-this.elements[3]*i;p[13]=+this.elements[0]*h-this.elements[1]*j+this.elements[2]*i;p[2]=+this.elements[13]*d-this.elements[14]*g+this.elements[15]*f;p[6]=-this.elements[12]*d+this.elements[14]*c-this.elements[15]*a;p[10]=+this.elements[12]*
+g-this.elements[13]*c+this.elements[15]*b;p[14]=-this.elements[12]*f+this.elements[13]*a-this.elements[14]*b;p[3]=-this.elements[9]*d+this.elements[10]*g-this.elements[11]*f;p[7]=+this.elements[8]*d-this.elements[10]*c+this.elements[11]*a;p[11]=-this.elements[8]*g+this.elements[9]*c-this.elements[11]*b;p[15]=+this.elements[8]*f-this.elements[9]*a+this.elements[10]*b;b=1/o;p[0]*=b;p[1]*=b;p[2]*=b;p[3]*=b;p[4]*=b;p[5]*=b;p[6]*=b;p[7]*=b;p[8]*=b;p[9]*=b;p[10]*=b;p[11]*=b;p[12]*=b;p[13]*=b;p[14]*=b;p[15]*=
+b;this.elements=p.slice();return!0},toString:function(){for(var b="",a=0;a<15;a++)b+=this.elements[a]+", ";b+=this.elements[15];return b},print:function(){var b=sd(this.elements),b=""+a.nfs(this.elements[0],b,4)+" "+a.nfs(this.elements[1],b,4)+" "+a.nfs(this.elements[2],b,4)+" "+a.nfs(this.elements[3],b,4)+"\n"+a.nfs(this.elements[4],b,4)+" "+a.nfs(this.elements[5],b,4)+" "+a.nfs(this.elements[6],b,4)+" "+a.nfs(this.elements[7],b,4)+"\n"+a.nfs(this.elements[8],b,4)+" "+a.nfs(this.elements[9],b,4)+
+" "+a.nfs(this.elements[10],b,4)+" "+a.nfs(this.elements[11],b,4)+"\n"+a.nfs(this.elements[12],b,4)+" "+a.nfs(this.elements[13],b,4)+" "+a.nfs(this.elements[14],b,4)+" "+a.nfs(this.elements[15],b,4)+"\n\n";a.println(b)},invTranslate:function(b,a,c){this.preApply(1,0,0,-b,0,1,0,-a,0,0,1,-c,0,0,0,1)},invRotateX:function(b){var a=e.cos(-b),b=e.sin(-b);this.preApply([1,0,0,0,0,a,-b,0,0,b,a,0,0,0,0,1])},invRotateY:function(b){var a=e.cos(-b),b=e.sin(-b);this.preApply([a,0,b,0,0,1,0,0,-b,0,a,0,0,0,0,1])},
+invRotateZ:function(b){var a=e.cos(-b),b=e.sin(-b);this.preApply([a,-b,0,0,b,a,0,0,0,0,1,0,0,0,0,1])},invScale:function(b,a,c){this.preApply([1/b,0,0,0,0,1/a,0,0,0,0,1/c,0,0,0,0,1])}};var bb=a.PMatrixStack=function(){this.matrixStack=[]};bb.prototype.load=function(){var b=ha.$newPMatrix();arguments.length===1?b.set(arguments[0]):b.set(arguments);this.matrixStack.push(b)};G.prototype.$newPMatrix=function(){return new ab};L.prototype.$newPMatrix=function(){return new E};bb.prototype.push=function(){this.matrixStack.push(this.peek())};
+bb.prototype.pop=function(){return this.matrixStack.pop()};bb.prototype.peek=function(){var b=ha.$newPMatrix();b.set(this.matrixStack[this.matrixStack.length-1]);return b};bb.prototype.mult=function(b){this.matrixStack[this.matrixStack.length-1].apply(b)};a.split=function(b,a){return b.split(a)};a.splitTokens=function(b,a){arguments.length===1&&(a="\n\t\r\u000c ");for(var a="["+a+"]",c=[],f=0,g=b.search(a);g>=0;)g===0?b=b.substring(1):(c[f]=b.substring(0,g),f++,b=b.substring(g)),g=b.search(a);b.length>
+0&&(c[f]=b);c.length===0&&(c=p);return c};a.append=function(b,a){b[b.length]=a;return b};a.concat=function(b,a){return b.concat(a)};a.sort=function(b,a){var c=[];if(b.length>0){for(var f=a>0?a:b.length,g=0;g<f;g++)c.push(b[g]);typeof b[0]==="string"?c.sort():c.sort(function(b,a){return b-a});if(a>0)for(f=c.length;f<b.length;f++)c.push(b[f])}return c};a.splice=function(b,a,c){if(a.length===0)return b;if(a instanceof Array)for(var f=0;f<a.length;c++,f++)b.splice(c,0,a[f]);else b.splice(c,0,a);return b};
+a.subset=function(b,a,c){if(arguments.length===2)return b.slice(a,b.length);else if(arguments.length===3)return b.slice(a,a+c)};a.join=function(b,a){return b.join(a)};a.shorten=function(b){for(var a=[],c=b.length,f=0;f<c;f++)a[f]=b[f];a.pop();return a};a.expand=function(b,a){var c=b.slice(0);if(arguments.length===1)return c.length=b.length*2,c;else if(arguments.length===2)return c.length=a,c};a.arrayCopy=function(){var b,a=0,c,f=0,g;arguments.length===2?(b=arguments[0],c=arguments[1],g=b.length):
+arguments.length===3?(b=arguments[0],c=arguments[1],g=arguments[2]):arguments.length===5&&(b=arguments[0],a=arguments[1],c=arguments[2],f=arguments[3],g=arguments[4]);for(var d=a;d<g+a;d++,f++)if(c[f]!==p)c[f]=b[d];else throw"array index out of bounds exception";};a.reverse=function(b){return b.reverse()};a.mix=function(b,a,c){return b+((a-b)*c>>8)};a.peg=function(b){return b<0?0:b>255?255:b};a.modes={replace:function(b,a){return a},blend:function(b,l){var k=(l&c.ALPHA_MASK)>>>24;return e.min(((b&
+c.ALPHA_MASK)>>>24)+k,255)<<24|a.mix(b&c.RED_MASK,l&c.RED_MASK,k)&c.RED_MASK|a.mix(b&c.GREEN_MASK,l&c.GREEN_MASK,k)&c.GREEN_MASK|a.mix(b&c.BLUE_MASK,l&c.BLUE_MASK,k)},add:function(b,a){var k=(a&c.ALPHA_MASK)>>>24;return e.min(((b&c.ALPHA_MASK)>>>24)+k,255)<<24|e.min((b&c.RED_MASK)+((a&c.RED_MASK)>>8)*k,c.RED_MASK)&c.RED_MASK|e.min((b&c.GREEN_MASK)+((a&c.GREEN_MASK)>>8)*k,c.GREEN_MASK)&c.GREEN_MASK|e.min((b&c.BLUE_MASK)+((a&c.BLUE_MASK)*k>>8),c.BLUE_MASK)},subtract:function(b,a){var k=(a&c.ALPHA_MASK)>>>
+24;return e.min(((b&c.ALPHA_MASK)>>>24)+k,255)<<24|e.max((b&c.RED_MASK)-((a&c.RED_MASK)>>8)*k,c.GREEN_MASK)&c.RED_MASK|e.max((b&c.GREEN_MASK)-((a&c.GREEN_MASK)>>8)*k,c.BLUE_MASK)&c.GREEN_MASK|e.max((b&c.BLUE_MASK)-((a&c.BLUE_MASK)*k>>8),0)},lightest:function(b,a){var k=(a&c.ALPHA_MASK)>>>24;return e.min(((b&c.ALPHA_MASK)>>>24)+k,255)<<24|e.max(b&c.RED_MASK,((a&c.RED_MASK)>>8)*k)&c.RED_MASK|e.max(b&c.GREEN_MASK,((a&c.GREEN_MASK)>>8)*k)&c.GREEN_MASK|e.max(b&c.BLUE_MASK,(a&c.BLUE_MASK)*k>>8)},darkest:function(b,
+l){var k=(l&c.ALPHA_MASK)>>>24;return e.min(((b&c.ALPHA_MASK)>>>24)+k,255)<<24|a.mix(b&c.RED_MASK,e.min(b&c.RED_MASK,((l&c.RED_MASK)>>8)*k),k)&c.RED_MASK|a.mix(b&c.GREEN_MASK,e.min(b&c.GREEN_MASK,((l&c.GREEN_MASK)>>8)*k),k)&c.GREEN_MASK|a.mix(b&c.BLUE_MASK,e.min(b&c.BLUE_MASK,(l&c.BLUE_MASK)*k>>8),k)},difference:function(b,l){var k=(l&c.ALPHA_MASK)>>>24,f=(b&c.RED_MASK)>>16,g=(b&c.GREEN_MASK)>>8,d=b&c.BLUE_MASK,i=(l&c.RED_MASK)>>16,j=(l&c.GREEN_MASK)>>8,n=l&c.BLUE_MASK,i=f>i?f-i:i-f,j=g>j?g-j:j-g,
+n=d>n?d-n:n-d;return e.min(((b&c.ALPHA_MASK)>>>24)+k,255)<<24|a.peg(f+((i-f)*k>>8))<<16|a.peg(g+((j-g)*k>>8))<<8|a.peg(d+((n-d)*k>>8))},exclusion:function(b,l){var k=(l&c.ALPHA_MASK)>>>24,f=(b&c.RED_MASK)>>16,g=(b&c.GREEN_MASK)>>8,d=b&c.BLUE_MASK,i=(l&c.RED_MASK)>>16,j=(l&c.GREEN_MASK)>>8,n=l&c.BLUE_MASK,i=f+i-(f*i>>7),j=g+j-(g*j>>7),n=d+n-(d*n>>7);return e.min(((b&c.ALPHA_MASK)>>>24)+k,255)<<24|a.peg(f+((i-f)*k>>8))<<16|a.peg(g+((j-g)*k>>8))<<8|a.peg(d+((n-d)*k>>8))},multiply:function(b,l){var k=
+(l&c.ALPHA_MASK)>>>24,f=(b&c.RED_MASK)>>16,g=(b&c.GREEN_MASK)>>8,d=b&c.BLUE_MASK,i=f*((l&c.RED_MASK)>>16)>>8,j=g*((l&c.GREEN_MASK)>>8)>>8,n=d*(l&c.BLUE_MASK)>>8;return e.min(((b&c.ALPHA_MASK)>>>24)+k,255)<<24|a.peg(f+((i-f)*k>>8))<<16|a.peg(g+((j-g)*k>>8))<<8|a.peg(d+((n-d)*k>>8))},screen:function(b,l){var k=(l&c.ALPHA_MASK)>>>24,f=(b&c.RED_MASK)>>16,g=(b&c.GREEN_MASK)>>8,d=b&c.BLUE_MASK,i=255-((255-f)*(255-((l&c.RED_MASK)>>16))>>8),j=255-((255-g)*(255-((l&c.GREEN_MASK)>>8))>>8),n=255-((255-d)*(255-
+(l&c.BLUE_MASK))>>8);return e.min(((b&c.ALPHA_MASK)>>>24)+k,255)<<24|a.peg(f+((i-f)*k>>8))<<16|a.peg(g+((j-g)*k>>8))<<8|a.peg(d+((n-d)*k>>8))},hard_light:function(b,l){var k=(l&c.ALPHA_MASK)>>>24,f=(b&c.RED_MASK)>>16,g=(b&c.GREEN_MASK)>>8,d=b&c.BLUE_MASK,i=(l&c.RED_MASK)>>16,j=(l&c.GREEN_MASK)>>8,n=l&c.BLUE_MASK,i=i<128?f*i>>7:255-((255-f)*(255-i)>>7),j=j<128?g*j>>7:255-((255-g)*(255-j)>>7),n=n<128?d*n>>7:255-((255-d)*(255-n)>>7);return e.min(((b&c.ALPHA_MASK)>>>24)+k,255)<<24|a.peg(f+((i-f)*k>>8))<<
+16|a.peg(g+((j-g)*k>>8))<<8|a.peg(d+((n-d)*k>>8))},soft_light:function(b,l){var k=(l&c.ALPHA_MASK)>>>24,f=(b&c.RED_MASK)>>16,g=(b&c.GREEN_MASK)>>8,d=b&c.BLUE_MASK,i=(l&c.RED_MASK)>>16,j=(l&c.GREEN_MASK)>>8,n=l&c.BLUE_MASK,i=(f*i>>7)+(f*f>>8)-(f*f*i>>15),j=(g*j>>7)+(g*g>>8)-(g*g*j>>15),n=(d*n>>7)+(d*d>>8)-(d*d*n>>15);return e.min(((b&c.ALPHA_MASK)>>>24)+k,255)<<24|a.peg(f+((i-f)*k>>8))<<16|a.peg(g+((j-g)*k>>8))<<8|a.peg(d+((n-d)*k>>8))},overlay:function(b,l){var k=(l&c.ALPHA_MASK)>>>24,f=(b&c.RED_MASK)>>
+16,g=(b&c.GREEN_MASK)>>8,d=b&c.BLUE_MASK,i=(l&c.RED_MASK)>>16,j=(l&c.GREEN_MASK)>>8,n=l&c.BLUE_MASK,i=f<128?f*i>>7:255-((255-f)*(255-i)>>7),j=g<128?g*j>>7:255-((255-g)*(255-j)>>7),n=d<128?d*n>>7:255-((255-d)*(255-n)>>7);return e.min(((b&c.ALPHA_MASK)>>>24)+k,255)<<24|a.peg(f+((i-f)*k>>8))<<16|a.peg(g+((j-g)*k>>8))<<8|a.peg(d+((n-d)*k>>8))},dodge:function(b,l){var k=(l&c.ALPHA_MASK)>>>24,f=(b&c.RED_MASK)>>16,g=(b&c.GREEN_MASK)>>8,d=b&c.BLUE_MASK,i=(l&c.RED_MASK)>>16,j=(l&c.GREEN_MASK)>>8,n=l&c.BLUE_MASK,
+i=i===255?255:a.peg((f<<8)/(255-i)),j=j===255?255:a.peg((g<<8)/(255-j)),n=n===255?255:a.peg((d<<8)/(255-n));return e.min(((b&c.ALPHA_MASK)>>>24)+k,255)<<24|a.peg(f+((i-f)*k>>8))<<16|a.peg(g+((j-g)*k>>8))<<8|a.peg(d+((n-d)*k>>8))},burn:function(b,l){var k=(l&c.ALPHA_MASK)>>>24,f=(b&c.RED_MASK)>>16,g=(b&c.GREEN_MASK)>>8,d=b&c.BLUE_MASK,i=(l&c.RED_MASK)>>16,j=(l&c.GREEN_MASK)>>8,n=l&c.BLUE_MASK,i=i===0?0:255-a.peg((255-f<<8)/i),j=j===0?0:255-a.peg((255-g<<8)/j),n=n===0?0:255-a.peg((255-d<<8)/n);return e.min(((b&
+c.ALPHA_MASK)>>>24)+k,255)<<24|a.peg(f+((i-f)*k>>8))<<16|a.peg(g+((j-g)*k>>8))<<8|a.peg(d+((n-d)*k>>8))}};a.color=function(b,a,k,f){if(b!==p&&a!==p&&k!==p&&f!==p)return x(b,a,k,f);if(b!==p&&a!==p&&k!==p)return x(b,a,k,ea);if(b!==p&&a!==p){var g;b&c.ALPHA_MASK?(a=e.round(255*(a/ea)),g=b-(b&c.ALPHA_MASK)+((a>255?255:a)<<24&c.ALPHA_MASK)):Ma===c.RGB?g=x(b,b,b,a):Ma===c.HSB&&(g=x(0,0,b/ja*xa,a));return g}if(typeof b==="number"){var d;b<=ja&&b>=0?Ma===c.RGB?d=x(b,b,b,ea):Ma===c.HSB&&(d=x(0,0,b/ja*xa,ea)):
+b&&(d=b);return d}return x(ja,z,xa,ea)};a.color.toString=function(b){return"rgba("+((b&c.RED_MASK)>>>16)+","+((b&c.GREEN_MASK)>>>8)+","+(b&c.BLUE_MASK)+","+((b&c.ALPHA_MASK)>>>24)/255+")"};a.color.toInt=function(b,a,k,f){return f<<24&c.ALPHA_MASK|b<<16&c.RED_MASK|a<<8&c.GREEN_MASK|k&c.BLUE_MASK};a.color.toArray=function(b){return[(b&c.RED_MASK)>>>16,(b&c.GREEN_MASK)>>>8,b&c.BLUE_MASK,(b&c.ALPHA_MASK)>>>24]};a.color.toGLArray=function(b){return[((b&c.RED_MASK)>>>16)/255,((b&c.GREEN_MASK)>>>8)/255,
+(b&c.BLUE_MASK)/255,((b&c.ALPHA_MASK)>>>24)/255]};a.color.toRGB=function(b,a,c){var b=b>ja?ja:b,a=a>z?z:a,c=c>xa?xa:c,b=b/ja*360,a=a/z*100,c=c/xa*100,f=e.round(c/100*255);if(a===0)return[f,f,f];else{b%=360;var d=b%60,P=e.round(c*(100-a)/1E4*255),i=e.round(c*(6E3-a*d)/6E5*255),a=e.round(c*(6E3-a*(60-d))/6E5*255);switch(e.floor(b/60)){case 0:return[f,a,P];case 1:return[i,f,P];case 2:return[P,f,a];case 3:return[P,i,f];case 4:return[a,P,f];case 5:return[f,P,i]}}};a.color.toHSB=function(b){var l,k,f;l=
+((b&c.RED_MASK)>>>16)/255;k=((b&c.GREEN_MASK)>>>8)/255;f=(b&c.BLUE_MASK)/255;var b=a.max(a.max(l,k),f),d=a.min(a.min(l,k),f);if(d===b)return[0,0,b];else l=l===b?(k-f)/(b-d):k===b?2+(f-l)/(b-d):4+(l-k)/(b-d),l/=6,l<0?l+=1:l>1&&(l-=1);return[l*ja,(b-d)/b*z,b*xa]};a.brightness=function(b){return a.color.toHSB(b)[2]};a.saturation=function(b){return a.color.toHSB(b)[1]};a.hue=function(b){return a.color.toHSB(b)[0]};a.red=function(b){return((b&c.RED_MASK)>>>16)/255*ja};a.green=function(b){return((b&c.GREEN_MASK)>>>
+8)/255*z};a.blue=function(b){return(b&c.BLUE_MASK)/255*xa};a.alpha=function(b){return((b&c.ALPHA_MASK)>>>24)/255*ea};a.lerpColor=function(b,l,k){var f=a.color(b),d=(f&c.RED_MASK)>>>16,e=(f&c.GREEN_MASK)>>>8,b=f&c.BLUE_MASK,f=((f&c.ALPHA_MASK)>>>24)/ea,i=a.color(l),j=(i&c.GREEN_MASK)>>>8,n=i&c.BLUE_MASK,l=((i&c.ALPHA_MASK)>>>24)/ea,d=parseInt(a.lerp(d,(i&c.RED_MASK)>>>16,k),10),e=parseInt(a.lerp(e,j,k),10),b=parseInt(a.lerp(b,n,k),10),k=parseFloat(a.lerp(f,l,k)*ea);return a.color.toInt(d,e,b,k)};a.defaultColor=
+function(b,l,k){var f=Ma;Ma=c.RGB;b=a.color(b/255*ja,l/255*z,k/255*xa);Ma=f;return b};a.colorMode=function(){Ma=arguments[0];arguments.length>1&&(ja=arguments[1],z=arguments[2]||arguments[1],xa=arguments[3]||arguments[1],ea=arguments[4]||arguments[1])};a.blendColor=function(b,l,k){var f=0;switch(k){case c.REPLACE:f=a.modes.replace(b,l);break;case c.BLEND:f=a.modes.blend(b,l);break;case c.ADD:f=a.modes.add(b,l);break;case c.SUBTRACT:f=a.modes.subtract(b,l);break;case c.LIGHTEST:f=a.modes.lightest(b,
+l);break;case c.DARKEST:f=a.modes.darkest(b,l);break;case c.DIFFERENCE:f=a.modes.difference(b,l);break;case c.EXCLUSION:f=a.modes.exclusion(b,l);break;case c.MULTIPLY:f=a.modes.multiply(b,l);break;case c.SCREEN:f=a.modes.screen(b,l);break;case c.HARD_LIGHT:f=a.modes.hard_light(b,l);break;case c.SOFT_LIGHT:f=a.modes.soft_light(b,l);break;case c.OVERLAY:f=a.modes.overlay(b,l);break;case c.DODGE:f=a.modes.dodge(b,l);break;case c.BURN:f=a.modes.burn(b,l)}return f};a.printMatrix=function(){V.print()};
+G.prototype.translate=function(b,a){ua.translate(b,a);va.invTranslate(b,a);d.translate(b,a)};L.prototype.translate=function(b,a,c){ua.translate(b,a,c);va.invTranslate(b,a,c)};G.prototype.scale=function(b,a){ua.scale(b,a);va.invScale(b,a);d.scale(b,a||b)};L.prototype.scale=function(b,a,c){ua.scale(b,a,c);va.invScale(b,a,c)};G.prototype.pushMatrix=function(){Nb.load(V);Ob.load(Ya);d.save()};L.prototype.pushMatrix=function(){Nb.load(V);Ob.load(Ya)};G.prototype.popMatrix=function(){V.set(Nb.pop());Ya.set(Ob.pop());
+Xb()};L.prototype.popMatrix=function(){V.set(Nb.pop());Ya.set(Ob.pop())};G.prototype.resetMatrix=function(){ua.reset();va.reset();d.setTransform(1,0,0,1,0,0)};L.prototype.resetMatrix=function(){ua.reset();va.reset()};H.prototype.applyMatrix=function(){var b=arguments;ua.apply(b[0],b[1],b[2],b[3],b[4],b[5],b[6],b[7],b[8],b[9],b[10],b[11],b[12],b[13],b[14],b[15]);va.invApply(b[0],b[1],b[2],b[3],b[4],b[5],b[6],b[7],b[8],b[9],b[10],b[11],b[12],b[13],b[14],b[15])};G.prototype.applyMatrix=function(){for(var b=
+arguments,a=b.length;a<16;a++)b[a]=0;b[10]=b[15]=1;H.prototype.applyMatrix.apply(this,b)};a.rotateX=function(b){ua.rotateX(b);va.invRotateX(b)};a.rotateZ=function(b){ua.rotateZ(b);va.invRotateZ(b);a.use3DContext||d.rotate(b)};a.rotateY=function(b){ua.rotateY(b);va.invRotateY(b)};G.prototype.rotate=function(b){a.rotateZ(b)};L.prototype.rotate=function(b){a.rotateZ(b)};a.pushStyle=function(){d.save();a.pushMatrix();od.push({doFill:U,currentFillColor:Ha,doStroke:O,currentStrokeColor:ma,curTint:ob,curRectMode:ba,
+curColorMode:Ma,colorModeX:ja,colorModeZ:xa,colorModeY:z,colorModeA:ea,curTextFont:fa,curTextSize:S})};a.popStyle=function(){var b=od.pop();if(b)Xb(),a.popMatrix(),U=b.doFill,Ha=b.currentFillColor,O=b.doStroke,ma=b.currentStrokeColor,ob=b.curTint,ba=b.curRectmode,Ma=b.curColorMode,ja=b.colorModeX,xa=b.colorModeZ,z=b.colorModeY,ea=b.colorModeA,fa=b.curTextFont,S=b.curTextSize;else throw"Too many popStyle() without enough pushStyle()";};a.year=function(){return(new Date).getFullYear()};a.month=function(){return(new Date).getMonth()+
+1};a.day=function(){return(new Date).getDate()};a.hour=function(){return(new Date).getHours()};a.minute=function(){return(new Date).getMinutes()};a.second=function(){return(new Date).getSeconds()};a.millis=function(){return(new Date).getTime()-Tb};H.prototype.redraw=function(){var b=((new Date).getTime()-zb)/1E3;kc++;var c=kc/b;if(b>0.5)zb=(new Date).getTime(),kc=0,a.__frameRate=c;a.frameCount++};G.prototype.redraw=function(){H.prototype.redraw.apply(this,arguments);d.lineWidth=da;d.save();a.draw();
+Xb()};L.prototype.redraw=function(){H.prototype.redraw.apply(this,arguments);d.clear(d.DEPTH_BUFFER_BIT);Pa={attributes:{},locations:{}};a.noLights();a.lightFalloff(1,0,0);a.shininess(1);a.ambient(255,255,255);a.specular(0,0,0);a.emissive(0,0,0);a.camera();a.draw()};a.noLoop=function(){Eb=K=!1;clearInterval(W)};a.loop=function(){Eb||(zb=(new Date).getTime(),kc=0,W=T.setInterval(function(){try{a.redraw()}catch(b){throw T.clearInterval(W),b;}},za),Eb=K=!0)};a.frameRate=function(b){tb=b;za=1E3/tb;K&&
+(a.noLoop(),a.loop())};var $a=[];a.exit=function(){T.clearInterval(W);var b=a.externals.canvas.id;Oa.splice(nc[b],1);delete nc[b];for(var c in w.lib)w.lib.hasOwnProperty(c)&&w.lib[c].hasOwnProperty("detach")&&w.lib[c].detach(a);b=0;for(c=$a.length;b<c;b++){var k=$a[b][0],f=$a[b][1],d=$a[b][2];k.removeEventListener?k.removeEventListener(f,d,!1):k.detachEvent&&k.detachEvent("on"+f,d)}};a.cursor=function(){if(arguments.length>1||arguments.length===1&&arguments[0]instanceof a.PImage){var b=arguments[0],
+c,k;if(arguments.length>=3){if(c=arguments[1],k=arguments[2],c<0||k<0||k>=b.height||c>=b.width)throw"x and y must be non-negative and less than the dimensions of the image";}else c=b.width>>>1,k=b.height>>>1;b='url("'+b.toDataURL()+'") '+c+" "+k+", default";h.style.cursor=b}else h.style.cursor=arguments.length===1?arguments[0]:nb};a.noCursor=function(){h.style.cursor=c.NOCURSOR};a.link=function(b,a){a!==p?T.open(b,a):T.location=b};a.beginDraw=function(){};a.endDraw=function(){};a.Import=function(){};
+var td=function(b){b.preventDefault();b.stopPropagation()};a.disableContextMenu=function(){h.addEventListener("contextmenu",td,!1)};a.enableContextMenu=function(){h.removeEventListener("contextmenu",td,!1)};a.status=function(b){T.status=b};a.binary=function(b,a){var c=32;if(typeof b==="number")return a&&(c=a),Xc(b,c);b instanceof Aa&&(b=b.toString().charCodeAt(0),c=a?32:16);c=Xc(b,c);a&&(c=c.substr(-a));return c};a.unbinary=function(b){var c=/^[0|1]{8}$/,k=0;if(b instanceof Array){k=[];for(c=0;c<
+b.length;c++)k[c]=a.unbinary(b[c]);return k}else if(isNaN(b))throw"NaN_Err";else if(arguments.length===1||b.length===8)if(c.test(b)){for(c=0;c<8;c++)k+=e.pow(2,c)*parseInt(b.charAt(7-c),10);return k+""}else throw"notBinary: the value passed into unbinary was not an 8 bit binary number";else throw"longErr";};a.nf=function(b,a,c){return Y(b,"","-",a,c)};a.nfs=function(b,a,c){return Y(b," ","-",a,c)};a.nfp=function(b,a,c){return Y(b,"+","-",a,c)};a.nfc=function(b,a,c){return Y(b,"","-",a,c,",")};a.hex=
+function(b,a){arguments.length===1&&(a=b instanceof Aa?4:8);var c=b,f=a,f=f===p||f===null?f=8:f;c<0&&(c=4294967295+c+1);for(c=Number(c).toString(16).toUpperCase();c.length<f;)c="0"+c;c.length>=f&&(c=c.substring(c.length-f,c.length));return c};a.unhex=function(b){if(b instanceof Array){for(var a=[],c=0;c<b.length;c++)a.push(ra(b[c]));return a}else return ra(b)};a.loadStrings=function(b){if(localStorage[b])return localStorage[b].split("\n");b=Dc(b);if(typeof b!=="string"||b==="")return[];b=b.replace(/(\r\n?)/g,
+"\n").replace(/\n$/,"");return b.split("\n")};a.saveStrings=function(b,a){localStorage[b]=a.join("\n")};a.loadBytes=function(b){for(var b=Dc(b),a=[],c=0;c<b.length;c++)a.push(b.charCodeAt(c));return a};a.matchAll=function(b,a){for(var c=[],f,d=RegExp(a,"g");(f=d.exec(b))!==null;)c.push(f),f[0].length===0&&++d.lastIndex;return c.length>0?c:null};a.__contains=function(b,a){if(typeof b!=="string")return b.contains.apply(b,ca(arguments));return b!==null&&a!==null&&typeof a==="string"&&b.indexOf(a)>-1};
+a.__replaceAll=function(b,a,c){if(typeof b!=="string")return b.replaceAll.apply(b,ca(arguments));return b.replace(RegExp(a,"g"),c)};a.__replaceFirst=function(b,a,c){if(typeof b!=="string")return b.replaceFirst.apply(b,ca(arguments));return b.replace(RegExp(a,""),c)};a.__replace=function(b,a,c){if(typeof b!=="string")return b.replace.apply(b,ca(arguments));if(a instanceof RegExp)return b.replace(a,c);typeof a!=="string"&&(a=a.toString());if(a==="")return b;var f=b.indexOf(a);if(f<0)return b;var d=
+0,e="";do e+=b.substring(d,f)+c,d=f+a.length;while((f=b.indexOf(a,d))>=0);return e+b.substring(d)};a.__equals=function(b,a){if(b.equals instanceof Function)return b.equals.apply(b,ca(arguments));return b.valueOf()===a.valueOf()};a.__toCharArray=function(b){if(typeof b!=="string")return b.toCharArray.apply(b,ca(arguments));for(var a=[],c=0,f=b.length;c<f;++c)a[c]=new Aa(b.charAt(c));return a};a.__split=function(b,a,c){a=RegExp(a);if(c===p||c<1)return b.split(a);for(var f=[],d;(d=b.search(a))!==-1&&
+f.length<c-1;){var e=a.exec(b).toString();f.push(b.substring(0,d));b=b.substring(d+e.length)}(d!==-1||b!=="")&&f.push(b);return f};a.match=function(b,a){return b.match(a)};a.__hashCode=function(b){if(b.hashCode instanceof Function)return b.hashCode.apply(b,ca(arguments));return 0|b};a.__printStackTrace=function(b){a.println("Exception: "+b.toString())};var xc=[];a.console=T.console||w.logger;a.println=function(b){var a=xc.length;if(a)w.logger.log(xc.join("")),xc.length=0;arguments.length===0&&a===
+0?w.logger.log(""):arguments.length!==0&&w.logger.log(b)};a.print=function(b){xc.push(b)};a.str=function(b){if(b instanceof Array){for(var a=[],c=0;c<b.length;c++)a.push(b[c].toString()+"");return a}else return b.toString()+""};a.trim=function(b){if(b instanceof Array){for(var a=[],c=0;c<b.length;c++)a.push(b[c].replace(/^\s*/,"").replace(/\s*$/,"").replace(/\r*$/,""));return a}else return b.replace(/^\s*/,"").replace(/\s*$/,"").replace(/\r*$/,"")};a.parseBoolean=function(b){if(b instanceof Array){for(var a=
+[],c=0;c<b.length;c++)a.push(ya(b[c]));return a}else return ya(b)};a.parseByte=function(b){if(b instanceof Array){for(var a=[],c=0;c<b.length;c++)a.push(0-(b[c]&128)|b[c]&127);return a}else return 0-(b&128)|b&127};a.parseChar=function(b){if(typeof b==="number")return new Aa(String.fromCharCode(b&65535));else if(b instanceof Array){for(var a=[],c=0;c<b.length;c++)a.push(new Aa(String.fromCharCode(b[c]&65535)));return a}else throw"char() may receive only one argument of type int, byte, int[], or byte[].";
+};a.parseFloat=function(b){if(b instanceof Array){for(var a=[],c=0;c<b.length;c++)a.push(ta(b[c]));return a}else return ta(b)};a.parseInt=function(b,a){if(b instanceof Array){for(var c=[],f=0;f<b.length;f++)typeof b[f]==="string"&&!/^\s*[+\-]?\d+\s*$/.test(b[f])?c.push(0):c.push(Yb(b[f],a));return c}else return Yb(b,a)};a.__int_cast=function(b){return 0|b};a.__instanceof=function(b,a){if(typeof a!=="function")throw"Function is expected as type argument for instanceof operator";if(typeof b==="string")return a===
+Object||a===String;if(b instanceof a)return!0;if(typeof b!=="object"||b===null)return!1;var c=b.constructor;if(a.$isInterface){for(var f=[];c;)c.$interfaces&&(f=f.concat(c.$interfaces)),c=c.$base;for(;f.length>0;){c=f.shift();if(c===a)return!0;c.$interfaces&&(f=f.concat(c.$interfaces))}return!1}for(;c.hasOwnProperty("$base");)if(c=c.$base,c===a)return!0;return!1};a.abs=e.abs;a.ceil=e.ceil;a.constrain=function(b,a,c){return b>c?c:b<a?a:b};a.dist=function(){var b,a,c;if(arguments.length===4)return b=
+arguments[0]-arguments[2],a=arguments[1]-arguments[3],e.sqrt(b*b+a*a);else if(arguments.length===6)return b=arguments[0]-arguments[3],a=arguments[1]-arguments[4],c=arguments[2]-arguments[5],e.sqrt(b*b+a*a+c*c)};a.exp=e.exp;a.floor=e.floor;a.lerp=function(b,a,c){return(a-b)*c+b};a.log=e.log;a.mag=function(b,a,c){if(arguments.length===2)return e.sqrt(b*b+a*a);else if(arguments.length===3)return e.sqrt(b*b+a*a+c*c)};a.map=function(b,a,c,f,d){return f+(d-f)*((b-a)/(c-a))};a.max=function(){if(arguments.length===
+2)return arguments[0]<arguments[1]?arguments[1]:arguments[0];else{var b=arguments.length===1?arguments[0]:arguments;if(!("length"in b&&b.length>0))throw"Non-empty array is expected";for(var a=b[0],c=b.length,f=1;f<c;++f)a<b[f]&&(a=b[f]);return a}};a.min=function(){if(arguments.length===2)return arguments[0]<arguments[1]?arguments[0]:arguments[1];else{var b=arguments.length===1?arguments[0]:arguments;if(!("length"in b&&b.length>0))throw"Non-empty array is expected";for(var a=b[0],c=b.length,f=1;f<
+c;++f)a>b[f]&&(a=b[f]);return a}};a.norm=function(b,a,c){return(b-a)/(c-a)};a.pow=e.pow;a.round=e.round;a.sq=function(b){return b*b};a.sqrt=e.sqrt;a.acos=e.acos;a.asin=e.asin;a.atan=e.atan;a.atan2=e.atan2;a.cos=e.cos;a.degrees=function(b){return b*180/e.PI};a.radians=function(b){return b/180*e.PI};a.sin=e.sin;a.tan=e.tan;var yc=e.random;a.random=function(){if(arguments.length===0)return yc();else if(arguments.length===1)return yc()*arguments[0];else{var b=arguments[0],a=arguments[1];return yc()*(a-
+b)+b}};gb.createRandomized=function(){var b=new Date;return new gb(b/6E4&4294967295,b&4294967295)};a.randomSeed=function(b){yc=(new gb(b)).nextDouble};a.Random=function(b){var a=!1,c,f;this.nextGaussian=function(){if(a)return a=!1,c;else{var b,d,i;do b=2*f()-1,d=2*f()-1,i=b*b+d*d;while(i>=1||i===0);i=e.sqrt(-2*e.log(i)/i);c=d*i;a=!0;return b*i}};f=b===p?e.random:(new gb(b)).nextDouble};var Za={generator:p,octaves:4,fallout:0.5,seed:p};a.noise=function(b,a,c){if(Za.generator===p)Za.generator=new Ad(Za.seed);
+for(var f=Za.generator,d=1,e=1,i=0,j=0;j<Za.octaves;++j){d*=Za.fallout;switch(arguments.length){case 1:i+=d*(1+f.noise1d(e*b))/2;break;case 2:i+=d*(1+f.noise2d(e*b,e*a))/2;break;case 3:i+=d*(1+f.noise3d(e*b,e*a,e*c))/2}e*=2}return i};a.noiseDetail=function(b,a){Za.octaves=b;if(a!==p)Za.fallout=a};a.noiseSeed=function(b){Za.seed=b;Za.generator=p};H.prototype.size=function(b,l){a.stroke(0);a.fill(255);var k={fillStyle:d.fillStyle,strokeStyle:d.strokeStyle,lineCap:d.lineCap,lineJoin:d.lineJoin};h.style.length>
+0&&(h.style.removeProperty("width"),h.style.removeProperty("height"));h.width=a.width=b||100;h.height=a.height=l||100;for(var f in k)k.hasOwnProperty(f)&&(d[f]=k[f]);a.textSize(S);a.background();kd=e.max(1E3,b*l*0.05);a.externals.context=d;for(k=0;k<c.SINCOS_LENGTH;k++)Lb[k]=a.sin(k*(c.PI/180)*0.5),Mb[k]=a.cos(k*(c.PI/180)*0.5)};G.prototype.size=function(){d===p&&(d=h.getContext("2d"),Nb=new bb,Ob=new bb,ua=new ab,va=new ab,V=ua,Ya=va);H.prototype.size.apply(this,arguments)};L.prototype.size=function(){var b=
+!1;return function(c,k){function f(b){for(var a=["experimental-webgl","webgl","webkit-3d"],c,l=0,f=a.length;l<f;l++)if(c=b.getContext(a[l]))break;return c}if(b)throw"Multiple calls to size() for 3D renders are not allowed.";b=!0;try{if(h.width!==c||h.height!==k)h.setAttribute("width",c),h.setAttribute("height",k);d=f(h);gd=d.createTexture();hd=d.createTexture()}catch(g){w.debug(g)}if(!d)throw"WebGL context is not supported on this browser.";d.viewport(0,0,h.width,h.height);d.enable(d.DEPTH_TEST);
+d.enable(d.BLEND);d.blendFunc(d.SRC_ALPHA,d.ONE_MINUS_SRC_ALPHA);D=Vc(d,"varying vec4 frontColor;attribute vec3 Vertex;attribute vec2 aTextureCoord;uniform vec4 color;uniform mat4 model;uniform mat4 view;uniform mat4 projection;uniform float pointSize;varying vec2 vTextureCoord;void main(void) {  gl_PointSize = pointSize;  frontColor = color;  gl_Position = projection * view * model * vec4(Vertex, 1.0);  vTextureCoord = aTextureCoord;}","#ifdef GL_ES\nprecision highp float;\n#endif\nvarying vec4 frontColor;varying vec2 vTextureCoord;uniform sampler2D uSampler;uniform int picktype;void main(void){  if(picktype == 0){    gl_FragColor = frontColor;  }  else if(picktype == 1){    float alpha = texture2D(uSampler, vTextureCoord).a;    gl_FragColor = vec4(frontColor.rgb*alpha, alpha);\n  }}");
+d.useProgram(D);a.strokeWeight(1);u=Vc(d,Ec,"#ifdef GL_ES\nprecision highp float;\n#endif\nvarying vec4 frontColor;uniform sampler2D sampler;uniform bool usingTexture;varying vec2 vTexture;void main(void){  if(usingTexture){    gl_FragColor =  vec4(texture2D(sampler, vTexture.xy));  }  else{    gl_FragColor = frontColor;  }}");Ea=Vc(d,"varying vec4 frontColor;attribute vec3 aVertex;attribute vec4 aColor;uniform mat4 uView;uniform mat4 uProjection;void main(void) {  frontColor = aColor;  gl_Position = uProjection * uView * vec4(aVertex, 1.0);}",
+"#ifdef GL_ES\nprecision highp float;\n#endif\nvarying vec4 frontColor;void main(void){  gl_FragColor = frontColor;}");d.useProgram(u);C("usingTexture3d",u,"usingTexture",Fa);a.lightFalloff(1,0,0);a.shininess(1);a.ambient(255,255,255);a.specular(0,0,0);a.emissive(0,0,0);Ic=d.createBuffer();d.bindBuffer(d.ARRAY_BUFFER,Ic);d.bufferData(d.ARRAY_BUFFER,pd,d.STATIC_DRAW);Jc=d.createBuffer();d.bindBuffer(d.ARRAY_BUFFER,Jc);d.bufferData(d.ARRAY_BUFFER,Bc,d.STATIC_DRAW);Kc=d.createBuffer();d.bindBuffer(d.ARRAY_BUFFER,
+Kc);d.bufferData(d.ARRAY_BUFFER,qd,d.STATIC_DRAW);pc=d.createBuffer();d.bindBuffer(d.ARRAY_BUFFER,pc);d.bufferData(d.ARRAY_BUFFER,Uc,d.STATIC_DRAW);Lc=d.createBuffer();d.bindBuffer(d.ARRAY_BUFFER,Lc);d.bufferData(d.ARRAY_BUFFER,Cc,d.STATIC_DRAW);fc=d.createBuffer();Mc=d.createBuffer();Ub=d.createBuffer();Nc=d.createBuffer();Vb=d.createBuffer();fd=d.createBuffer();qc=d.createBuffer();d.bindBuffer(d.ARRAY_BUFFER,qc);d.bufferData(d.ARRAY_BUFFER,new I([0,0,0]),d.STATIC_DRAW);Oc=d.createBuffer();d.bindBuffer(d.ARRAY_BUFFER,
+Oc);d.bufferData(d.ARRAY_BUFFER,new I([1,1,0,-1,1,0,-1,-1,0,1,-1,0]),d.STATIC_DRAW);Pc=d.createBuffer();d.bindBuffer(d.ARRAY_BUFFER,Pc);d.bufferData(d.ARRAY_BUFFER,new I([0,0,1,0,1,1,0,1]),d.STATIC_DRAW);Qc=d.createBuffer();d.bindBuffer(d.ELEMENT_ARRAY_BUFFER,Qc);d.bufferData(d.ELEMENT_ARRAY_BUFFER,new Dd([0,1,2,2,3,0]),d.STATIC_DRAW);wb=new E;Xa=new E;V=new E;Ya=new E;Qa=new E;a.camera();a.perspective();ua=V;va=Ya;Nb=new bb;Ob=new bb;dc=new E;lc=new E;Fb=new E;Gb=new E;Gc=new E;Hc=new E;Hc.set(-1,
+3,-3,1,3,-6,3,0,-3,3,0,0,1,0,0,0);H.prototype.size.apply(this,arguments)}}();G.prototype.ambientLight=H.prototype.a3DOnlyFunction;L.prototype.ambientLight=function(b,a,k,f,g,e){if(M===c.MAX_LIGHTS)throw"can only create "+c.MAX_LIGHTS+" lights";f=new ia(f,g,e);g=new E;g.scale(1,-1,1);g.apply(V.array());g.mult(f,f);d.useProgram(u);s("lights.color.3d."+M,u,"lights"+M+".color",[b/255,a/255,k/255]);s("lights.position.3d."+M,u,"lights"+M+".position",f.array());C("lights.type.3d."+M,u,"lights"+M+".type",
+0);C("lightCount3d",u,"lightCount",++M)};G.prototype.directionalLight=H.prototype.a3DOnlyFunction;L.prototype.directionalLight=function(b,a,k,f,g,e){if(M===c.MAX_LIGHTS)throw"can only create "+c.MAX_LIGHTS+" lights";d.useProgram(u);var i=new E;i.scale(1,-1,1);i.apply(V.array());i=i.array();f=[i[0]*f+i[4]*g+i[8]*e,i[1]*f+i[5]*g+i[9]*e,i[2]*f+i[6]*g+i[10]*e];s("lights.color.3d."+M,u,"lights"+M+".color",[b/255,a/255,k/255]);s("lights.position.3d."+M,u,"lights"+M+".position",f);C("lights.type.3d."+M,
+u,"lights"+M+".type",1);C("lightCount3d",u,"lightCount",++M)};G.prototype.lightFalloff=H.prototype.a3DOnlyFunction;L.prototype.lightFalloff=function(b,a,c){d.useProgram(u);s("falloff3d",u,"falloff",[b,a,c])};G.prototype.lightSpecular=H.prototype.a3DOnlyFunction;L.prototype.lightSpecular=function(b,a,c){d.useProgram(u);s("specular3d",u,"specular",[b/255,a/255,c/255])};a.lights=function(){a.ambientLight(128,128,128);a.directionalLight(128,128,128,0,0,-1);a.lightFalloff(1,0,0);a.lightSpecular(0,0,0)};
+G.prototype.pointLight=H.prototype.a3DOnlyFunction;L.prototype.pointLight=function(b,a,k,f,g,e){if(M===c.MAX_LIGHTS)throw"can only create "+c.MAX_LIGHTS+" lights";f=new ia(f,g,e);g=new E;g.scale(1,-1,1);g.apply(V.array());g.mult(f,f);d.useProgram(u);s("lights.color.3d."+M,u,"lights"+M+".color",[b/255,a/255,k/255]);s("lights.position.3d."+M,u,"lights"+M+".position",f.array());C("lights.type.3d."+M,u,"lights"+M+".type",2);C("lightCount3d",u,"lightCount",++M)};G.prototype.noLights=H.prototype.a3DOnlyFunction;
+L.prototype.noLights=function(){M=0;d.useProgram(u);C("lightCount3d",u,"lightCount",M)};G.prototype.spotLight=H.prototype.a3DOnlyFunction;L.prototype.spotLight=function(b,a,k,f,g,e,i,j,n,h,m){if(M===c.MAX_LIGHTS)throw"can only create "+c.MAX_LIGHTS+" lights";d.useProgram(u);f=new ia(f,g,e);g=new E;g.scale(1,-1,1);g.apply(V.array());g.mult(f,f);g=g.array();i=[g[0]*i+g[4]*j+g[8]*n,g[1]*i+g[5]*j+g[9]*n,g[2]*i+g[6]*j+g[10]*n];s("lights.color.3d."+M,u,"lights"+M+".color",[b/255,a/255,k/255]);s("lights.position.3d."+
+M,u,"lights"+M+".position",f.array());s("lights.direction.3d."+M,u,"lights"+M+".direction",i);s("lights.concentration.3d."+M,u,"lights"+M+".concentration",m);s("lights.angle.3d."+M,u,"lights"+M+".angle",h);C("lights.type.3d."+M,u,"lights"+M+".type",3);C("lightCount3d",u,"lightCount",++M)};a.beginCamera=function(){if(tc)throw"You cannot call beginCamera() again before calling endCamera()";else tc=!0,ua=Xa,va=wb};a.endCamera=function(){if(tc)V.set(wb),Ya.set(Xa),ua=V,va=Ya,tc=!1;else throw"You cannot call endCamera() before calling beginCamera()";
+};a.camera=function(b,a,c,f,d,P,i,j,n){arguments.length===0&&(Tc=h.width/2,xb=h.height/2,yb=xb/e.tan(uc/2),b=Tc,a=xb,c=yb,f=Tc,d=xb,i=P=0,j=1,n=0);var m=new ia(b-f,a-d,c-P),q=new ia(i,j,n);m.normalize();var p=ia.cross(q,m),q=ia.cross(m,p);p.normalize();q.normalize();wb.set(p.x,p.y,p.z,0,q.x,q.y,q.z,0,m.x,m.y,m.z,0,0,0,0,1);wb.translate(-b,-a,-c);Xa.reset();Xa.invApply(p.x,p.y,p.z,0,q.x,q.y,q.z,0,m.x,m.y,m.z,0,0,0,0,1);Xa.translate(b,a,c);V.set(wb);Ya.set(Xa)};a.perspective=function(b,c,d,f){arguments.length===
+0&&(xb=h.height/2,yb=xb/e.tan(uc/2),ld=yb/10,md=yb*10,nd=h.width/h.height,b=uc,c=nd,d=ld,f=md);var g,P;g=d*e.tan(b/2);P=-g;a.frustum(P*c,g*c,P,g,d,f)};a.frustum=function(b,a,c,f,g,e){Qa=new E;Qa.set(2*g/(a-b),0,(a+b)/(a-b),0,0,2*g/(f-c),(f+c)/(f-c),0,0,0,-(e+g)/(e-g),-(2*e*g)/(e-g),0,0,-1,0);b=new E;b.set(Qa);b.transpose();d.useProgram(D);v("projection2d",D,"projection",!1,b.array());d.useProgram(u);v("projection3d",u,"projection",!1,b.array());d.useProgram(Ea);v("uProjectionUS",Ea,"uProjection",
+!1,b.array())};a.ortho=function(b,c,k,f,g,e){if(arguments.length===0)b=0,c=a.width,k=0,f=a.height,g=-10,e=10;var i=2/(c-b),j=2/(f-k),n=-2/(e-g),h=-(c+b)/(c-b),m=-(f+k)/(f-k),q=-(e+g)/(e-g);Qa=new E;Qa.set(i,0,0,h,0,j,0,m,0,0,n,q,0,0,0,1);i=new E;i.set(Qa);i.transpose();d.useProgram(D);v("projection2d",D,"projection",!1,i.array());d.useProgram(u);v("projection3d",u,"projection",!1,i.array());d.useProgram(Ea);v("uProjectionUS",Ea,"uProjection",!1,i.array())};a.printProjection=function(){Qa.print()};
+a.printCamera=function(){wb.print()};G.prototype.box=H.prototype.a3DOnlyFunction;L.prototype.box=function(b,a,c){if(!a||!c)a=c=b;var f=new E;f.scale(b,a,c);b=new E;b.scale(1,-1,1);b.apply(V.array());b.transpose();U&&(d.useProgram(u),v("model3d",u,"model",!1,f.array()),v("view3d",u,"view",!1,b.array()),d.enable(d.POLYGON_OFFSET_FILL),d.polygonOffset(1,1),s("color3d",u,"color",pa),M>0?(a=new E,a.set(b),c=new E,c.set(f),a.mult(c),c=new E,c.set(a),c.invert(),c.transpose(),v("normalTransform3d",u,"normalTransform",
+!1,c.array()),r("normal3d",u,"Normal",3,Jc)):N("normal3d",u,"Normal"),r("vertex3d",u,"Vertex",3,Ic),N("aColor3d",u,"aColor"),N("aTexture3d",u,"aTexture"),d.drawArrays(d.TRIANGLES,0,pd.length/3),d.disable(d.POLYGON_OFFSET_FILL));da>0&&O&&(d.useProgram(D),v("model2d",D,"model",!1,f.array()),v("view2d",D,"view",!1,b.array()),s("color2d",D,"color",na),C("picktype2d",D,"picktype",0),r("vertex2d",D,"Vertex",3,Kc),N("aTextureCoord2d",D,"aTextureCoord"),d.lineWidth(da),d.drawArrays(d.LINES,0,qd.length/3))};
+a.sphereDetail=function(b,a){var k;arguments.length===1&&(b=a=arguments[0]);b<3&&(b=3);a<2&&(a=2);if(!(b===vb&&a===sc)){var f=c.SINCOS_LENGTH/b,g=new I(b),e=new I(b);for(k=0;k<b;k++)g[k]=Mb[parseInt(k*f%c.SINCOS_LENGTH,10)],e[k]=Lb[parseInt(k*f%c.SINCOS_LENGTH,10)];k=b*(a-1)+2;f=0;Ua=new I(k);Va=new I(k);Wa=new I(k);var i=c.SINCOS_LENGTH*0.5/a,j=i;for(k=1;k<a;k++){for(var n=Lb[parseInt(j%c.SINCOS_LENGTH,10)],h=-Mb[parseInt(j%c.SINCOS_LENGTH,10)],m=0;m<b;m++)Ua[f]=g[m]*n,Va[f]=h,Wa[f++]=e[m]*n;j+=
+i}vb=b;sc=a;Q=[];for(g=0;g<vb;g++)Q.push(0),Q.push(-1),Q.push(0),Q.push(Ua[g]),Q.push(Va[g]),Q.push(Wa[g]);Q.push(0);Q.push(-1);Q.push(0);Q.push(Ua[0]);Q.push(Va[0]);Q.push(Wa[0]);i=0;for(g=2;g<sc;g++){e=k=i;i+=vb;f=i;for(j=0;j<vb;j++)Q.push(parseFloat(Ua[e])),Q.push(parseFloat(Va[e])),Q.push(parseFloat(Wa[e++])),Q.push(parseFloat(Ua[f])),Q.push(parseFloat(Va[f])),Q.push(parseFloat(Wa[f++]));e=k;f=i;Q.push(parseFloat(Ua[e]));Q.push(parseFloat(Va[e]));Q.push(parseFloat(Wa[e]));Q.push(parseFloat(Ua[f]));
+Q.push(parseFloat(Va[f]));Q.push(parseFloat(Wa[f]))}for(g=0;g<vb;g++)f=i+g,Q.push(parseFloat(Ua[f])),Q.push(parseFloat(Va[f])),Q.push(parseFloat(Wa[f])),Q.push(0),Q.push(1),Q.push(0);Q.push(parseFloat(Ua[i]));Q.push(parseFloat(Va[i]));Q.push(parseFloat(Wa[i]));Q.push(0);Q.push(1);Q.push(0);d.bindBuffer(d.ARRAY_BUFFER,fc);d.bufferData(d.ARRAY_BUFFER,new I(Q),d.STATIC_DRAW)}};G.prototype.sphere=H.prototype.a3DOnlyFunction;L.prototype.sphere=function(b){(vb<3||sc<2)&&a.sphereDetail(30);var c=new E;c.scale(b,
+b,b);b=new E;b.scale(1,-1,1);b.apply(V.array());b.transpose();if(U){if(M>0){var k=new E;k.set(b);var f=new E;f.set(c);k.mult(f);f=new E;f.set(k);f.invert();f.transpose();v("normalTransform3d",u,"normalTransform",!1,f.array());r("normal3d",u,"Normal",3,fc)}else N("normal3d",u,"Normal");d.useProgram(u);N("aTexture3d",u,"aTexture");v("model3d",u,"model",!1,c.array());v("view3d",u,"view",!1,b.array());r("vertex3d",u,"Vertex",3,fc);N("aColor3d",u,"aColor");d.enable(d.POLYGON_OFFSET_FILL);d.polygonOffset(1,
+1);s("color3d",u,"color",pa);d.drawArrays(d.TRIANGLE_STRIP,0,Q.length/3);d.disable(d.POLYGON_OFFSET_FILL)}da>0&&O&&(d.useProgram(D),v("model2d",D,"model",!1,c.array()),v("view2d",D,"view",!1,b.array()),r("vertex2d",D,"Vertex",3,fc),N("aTextureCoord2d",D,"aTextureCoord"),s("color2d",D,"color",na),C("picktype2d",D,"picktype",0),d.lineWidth(da),d.drawArrays(d.LINE_STRIP,0,Q.length/3))};a.modelX=function(b,a,c){var f=V.array(),d=Xa.array(),e=f[0]*b+f[1]*a+f[2]*c+f[3],i=f[4]*b+f[5]*a+f[6]*c+f[7],j=f[8]*
+b+f[9]*a+f[10]*c+f[11],a=f[12]*b+f[13]*a+f[14]*c+f[15],b=d[0]*e+d[1]*i+d[2]*j+d[3]*a,d=d[12]*e+d[13]*i+d[14]*j+d[15]*a;return d!==0?b/d:b};a.modelY=function(b,a,c){var f=V.array(),d=Xa.array(),e=f[0]*b+f[1]*a+f[2]*c+f[3],i=f[4]*b+f[5]*a+f[6]*c+f[7],j=f[8]*b+f[9]*a+f[10]*c+f[11],a=f[12]*b+f[13]*a+f[14]*c+f[15],b=d[4]*e+d[5]*i+d[6]*j+d[7]*a,d=d[12]*e+d[13]*i+d[14]*j+d[15]*a;return d!==0?b/d:b};a.modelZ=function(b,a,c){var d=V.array(),g=Xa.array(),e=d[0]*b+d[1]*a+d[2]*c+d[3],i=d[4]*b+d[5]*a+d[6]*c+d[7],
+j=d[8]*b+d[9]*a+d[10]*c+d[11],a=d[12]*b+d[13]*a+d[14]*c+d[15],b=g[8]*e+g[9]*i+g[10]*j+g[11]*a,g=g[12]*e+g[13]*i+g[14]*j+g[15]*a;return g!==0?b/g:b};G.prototype.ambient=H.prototype.a3DOnlyFunction;L.prototype.ambient=function(){var b=arguments;d.useProgram(u);C("usingMat3d",u,"usingMat",!0);b.length===1?typeof b[0]==="string"?(b=b[0].slice(5,-1).split(","),s("mat_ambient3d",u,"mat_ambient",[b[0]/255,b[1]/255,b[2]/255])):s("mat_ambient3d",u,"mat_ambient",[b[0]/255,b[0]/255,b[0]/255]):s("mat_ambient3d",
+u,"mat_ambient",[b[0]/255,b[1]/255,b[2]/255])};G.prototype.emissive=H.prototype.a3DOnlyFunction;L.prototype.emissive=function(){var b=arguments;d.useProgram(u);C("usingMat3d",u,"usingMat",!0);b.length===1?typeof b[0]==="string"?(b=b[0].slice(5,-1).split(","),s("mat_emissive3d",u,"mat_emissive",[b[0]/255,b[1]/255,b[2]/255])):s("mat_emissive3d",u,"mat_emissive",[b[0]/255,b[0]/255,b[0]/255]):s("mat_emissive3d",u,"mat_emissive",[b[0]/255,b[1]/255,b[2]/255])};G.prototype.shininess=H.prototype.a3DOnlyFunction;
+L.prototype.shininess=function(b){d.useProgram(u);C("usingMat3d",u,"usingMat",!0);s("shininess3d",u,"shininess",b)};G.prototype.specular=H.prototype.a3DOnlyFunction;L.prototype.specular=function(){var b=a.color.apply(this,arguments);d.useProgram(u);C("usingMat3d",u,"usingMat",!0);s("mat_specular3d",u,"mat_specular",a.color.toGLArray(b).slice(0,3))};a.screenX=function(b,c,d){var f=V.array();if(f.length===16){var g=f[0]*b+f[1]*c+f[2]*d+f[3],e=f[4]*b+f[5]*c+f[6]*d+f[7],i=f[8]*b+f[9]*c+f[10]*d+f[11],
+c=f[12]*b+f[13]*c+f[14]*d+f[15],d=Qa.array(),b=d[0]*g+d[1]*e+d[2]*i+d[3]*c,g=d[12]*g+d[13]*e+d[14]*i+d[15]*c;g!==0&&(b/=g);return a.width*(1+b)/2}else return V.multX(b,c)};a.screenY=function(b,c,d){var f=V.array();if(f.length===16){var g=f[0]*b+f[1]*c+f[2]*d+f[3],e=f[4]*b+f[5]*c+f[6]*d+f[7],i=f[8]*b+f[9]*c+f[10]*d+f[11],c=f[12]*b+f[13]*c+f[14]*d+f[15],d=Qa.array(),b=d[4]*g+d[5]*e+d[6]*i+d[7]*c,g=d[12]*g+d[13]*e+d[14]*i+d[15]*c;g!==0&&(b/=g);return a.height*(1+b)/2}else return V.multY(b,c)};a.screenZ=
+function(b,a,c){var d=V.array();if(d.length!==16)return 0;var g=Qa.array(),e=d[0]*b+d[1]*a+d[2]*c+d[3],i=d[4]*b+d[5]*a+d[6]*c+d[7],j=d[8]*b+d[9]*a+d[10]*c+d[11],a=d[12]*b+d[13]*a+d[14]*c+d[15],b=g[8]*e+g[9]*i+g[10]*j+g[11]*a,g=g[12]*e+g[13]*i+g[14]*j+g[15]*a;g!==0&&(b/=g);return(b+1)/2};H.prototype.fill=function(b,c,d,f){b=a.color(b,c,d,f);b===Ha&&U||(U=!0,Ha=b)};G.prototype.fill=function(){H.prototype.fill.apply(this,arguments);Ia=!0};L.prototype.fill=function(){H.prototype.fill.apply(this,arguments);
+pa=a.color.toGLArray(Ha)};a.noFill=function(){U=!1};H.prototype.stroke=function(b,c,d,f){b=a.color(b,c,d,f);b===ma&&O||(O=!0,ma=b)};G.prototype.stroke=function(){H.prototype.stroke.apply(this,arguments);Ta=!0};L.prototype.stroke=function(){H.prototype.stroke.apply(this,arguments);na=a.color.toGLArray(ma)};a.noStroke=function(){O=!1};H.prototype.strokeWeight=function(b){da=b};G.prototype.strokeWeight=function(b){H.prototype.strokeWeight.apply(this,arguments);d.lineWidth=b};L.prototype.strokeWeight=
+function(b){H.prototype.strokeWeight.apply(this,arguments);d.useProgram(D);s("pointSize2d",D,"pointSize",b)};a.strokeCap=function(b){ha.$ensureContext().lineCap=b};a.strokeJoin=function(b){ha.$ensureContext().lineJoin=b};H.prototype.smooth=function(){h.style.setProperty("image-rendering","optimizeQuality","important")};G.prototype.smooth=function(){H.prototype.smooth.apply(this,arguments);if("mozImageSmoothingEnabled"in d)d.mozImageSmoothingEnabled=!0};H.prototype.noSmooth=function(){h.style.setProperty("image-rendering",
+"optimizeSpeed","important")};G.prototype.noSmooth=function(){H.prototype.noSmooth.apply(this,arguments);if("mozImageSmoothingEnabled"in d)d.mozImageSmoothingEnabled=!1};G.prototype.point=function(b,l){if(O)if(aa.options.crispLines){var k=e.PI/4,f=a.get(b,l);a.set(b,l,Bd(f,ma,k))}else da>1?(d.fillStyle=a.color.toString(ma),Ia=!0,d.beginPath(),d.arc(b,l,da/2,0,c.TWO_PI,!1),d.fill(),d.closePath()):(d.fillStyle=a.color.toString(ma),d.fillRect(e.round(b),e.round(l),1,1),Ia=!0)};L.prototype.point=function(b,
+a,c){var f=new E;f.translate(b,a,c||0);f.transpose();b=new E;b.scale(1,-1,1);b.apply(V.array());b.transpose();d.useProgram(D);v("model2d",D,"model",!1,f.array());v("view2d",D,"view",!1,b.array());da>0&&O&&(s("color2d",D,"color",na),C("picktype2d",D,"picktype",0),r("vertex2d",D,"Vertex",3,qc),N("aTextureCoord2d",D,"aTextureCoord"),d.drawArrays(d.POINTS,0,1))};a.beginShape=function(b){X=b;m=[]};H.prototype.vertex=function(){var b=[];Rb&&(Rb=!1);arguments.length===4?(b[0]=arguments[0],b[1]=arguments[1],
+b[2]=0,b[3]=arguments[2],b[4]=arguments[3]):(b[0]=arguments[0],b[1]=arguments[1],b[2]=arguments[2]||0,b[3]=arguments[3]||0,b[4]=arguments[4]||0);b.isVert=!0;return b};G.prototype.vertex=function(){var b=H.prototype.vertex.apply(this,arguments);b[5]=Ha;b[6]=ma;m.push(b)};L.prototype.vertex=function(){var b=H.prototype.vertex.apply(this,arguments);b[5]=pa[0];b[6]=pa[1];b[7]=pa[2];b[8]=pa[3];b[9]=na[0];b[10]=na[1];b[11]=na[2];b[12]=na[3];b[13]=pb;b[14]=fb;b[15]=rb;m.push(b)};var ud=function(b,a){var c=
+new E;c.scale(1,-1,1);c.apply(V.array());c.transpose();d.useProgram(Ea);v("uViewUS",Ea,"uView",!1,c.array());r("aVertexUS",Ea,"aVertex",3,qc);d.bufferData(d.ARRAY_BUFFER,new I(b),d.STREAM_DRAW);r("aColorUS",Ea,"aColor",4,Nc);d.bufferData(d.ARRAY_BUFFER,new I(a),d.STREAM_DRAW);d.drawArrays(d.POINTS,0,b.length/3)},Ka=function(b,a,c){var a=a==="LINES"?d.LINES:a==="LINE_LOOP"?d.LINE_LOOP:d.LINE_STRIP,f=new E;f.scale(1,-1,1);f.apply(V.array());f.transpose();d.useProgram(Ea);v("uViewUS",Ea,"uView",!1,f.array());
+r("aVertexUS",Ea,"aVertex",3,Mc);d.bufferData(d.ARRAY_BUFFER,new I(b),d.STREAM_DRAW);r("aColorUS",Ea,"aColor",4,Vb);d.bufferData(d.ARRAY_BUFFER,new I(c),d.STREAM_DRAW);d.lineWidth(da);d.drawArrays(a,0,b.length/3)},cb=function(b,a,k,f){var a=a==="TRIANGLES"?d.TRIANGLES:a==="TRIANGLE_FAN"?d.TRIANGLE_FAN:d.TRIANGLE_STRIP,g=new E;g.scale(1,-1,1);g.apply(V.array());g.transpose();d.useProgram(u);v("model3d",u,"model",!1,[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);v("view3d",u,"view",!1,g.array());d.enable(d.POLYGON_OFFSET_FILL);
+d.polygonOffset(1,1);s("color3d",u,"color",[-1,0,0,0]);r("vertex3d",u,"Vertex",3,Ub);d.bufferData(d.ARRAY_BUFFER,new I(b),d.STREAM_DRAW);r("aColor3d",u,"aColor",4,Nc);d.bufferData(d.ARRAY_BUFFER,new I(k),d.STREAM_DRAW);N("normal3d",u,"Normal");if(Fa){if(id===c.IMAGE)for(k=0;k<f.length;k+=2)f[k]/=rc.width,f[k+1]/=rc.height;for(k=0;k<f.length;k+=2)f[k+0]>1&&(f[k+0]-=f[k+0]-1),f[k+1]>1&&(f[k+1]-=f[k+1]-1);C("usingTexture3d",u,"usingTexture",Fa);r("aTexture3d",u,"aTexture",2,fd);d.bufferData(d.ARRAY_BUFFER,
+new I(f),d.STREAM_DRAW)}d.drawArrays(a,0,b.length/3);d.disable(d.POLYGON_OFFSET_FILL)};G.prototype.endShape=function(b){if(m.length!==0){var b=b===c.CLOSE,l=[],k=[],f=[],g=[],e;Rb=!0;var i,j,n=m.length;for(i=0;i<n;i++){e=m[i];for(j=0;j<3;j++)l.push(e[j])}for(i=0;i<n;i++){e=m[i];for(j=5;j<9;j++)k.push(e[j])}for(i=0;i<n;i++){e=m[i];for(j=9;j<13;j++)f.push(e[j])}for(i=0;i<n;i++)e=m[i],g.push(e[3]),g.push(e[4]);if(b){l.push(m[0][0]);l.push(m[0][1]);l.push(m[0][2]);for(i=5;i<9;i++)k.push(m[0][i]);for(i=
+9;i<13;i++)f.push(m[0][i]);g.push(m[0][3]);g.push(m[0][4])}if(Pb&&(X===c.POLYGON||X===p)){if(n>3){l=[];k=1-Zb;d.beginPath();d.moveTo(m[1][0],m[1][1]);for(i=1;i+2<n;i++)e=m[i],l[0]=[e[0],e[1]],l[1]=[e[0]+(k*m[i+1][0]-k*m[i-1][0])/6,e[1]+(k*m[i+1][1]-k*m[i-1][1])/6],l[2]=[m[i+1][0]+(k*m[i][0]-k*m[i+2][0])/6,m[i+1][1]+(k*m[i][1]-k*m[i+2][1])/6],l[3]=[m[i+1][0],m[i+1][1]],d.bezierCurveTo(l[1][0],l[1][1],l[2][0],l[2][1],l[3][0],l[3][1]);b&&d.lineTo(m[0][0],m[0][1]);Z();la();d.closePath()}}else if(Qb&&
+(X===c.POLYGON||X===p)){d.beginPath();for(i=0;i<n;i++)e=m[i],m[i].isVert?m[i].moveTo?d.moveTo(e[0],e[1]):d.lineTo(e[0],e[1]):d.bezierCurveTo(m[i][0],m[i][1],m[i][2],m[i][3],m[i][4],m[i][5]);b&&d.lineTo(m[0][0],m[0][1]);Z();la();d.closePath()}else if(X===c.POINTS)for(i=0;i<n;i++)e=m[i],O&&a.stroke(e[6]),a.point(e[0],e[1]);else if(X===c.LINES)for(i=0;i+1<n;i+=2)e=m[i],O&&a.stroke(m[i+1][6]),a.line(e[0],e[1],m[i+1][0],m[i+1][1]);else if(X===c.TRIANGLES)for(i=0;i+2<n;i+=3)e=m[i],d.beginPath(),d.moveTo(e[0],
+e[1]),d.lineTo(m[i+1][0],m[i+1][1]),d.lineTo(m[i+2][0],m[i+2][1]),d.lineTo(e[0],e[1]),U&&(a.fill(m[i+2][5]),Z()),O&&(a.stroke(m[i+2][6]),la()),d.closePath();else if(X===c.TRIANGLE_STRIP)for(i=0;i+1<n;i++)e=m[i],d.beginPath(),d.moveTo(m[i+1][0],m[i+1][1]),d.lineTo(e[0],e[1]),O&&a.stroke(m[i+1][6]),U&&a.fill(m[i+1][5]),i+2<n&&(d.lineTo(m[i+2][0],m[i+2][1]),O&&a.stroke(m[i+2][6]),U&&a.fill(m[i+2][5])),Z(),la(),d.closePath();else if(X===c.TRIANGLE_FAN){if(n>2){d.beginPath();d.moveTo(m[0][0],m[0][1]);
+d.lineTo(m[1][0],m[1][1]);d.lineTo(m[2][0],m[2][1]);U&&(a.fill(m[2][5]),Z());O&&(a.stroke(m[2][6]),la());d.closePath();for(i=3;i<n;i++)e=m[i],d.beginPath(),d.moveTo(m[0][0],m[0][1]),d.lineTo(m[i-1][0],m[i-1][1]),d.lineTo(e[0],e[1]),U&&(a.fill(e[5]),Z()),O&&(a.stroke(e[6]),la()),d.closePath()}}else if(X===c.QUADS)for(i=0;i+3<n;i+=4){e=m[i];d.beginPath();d.moveTo(e[0],e[1]);for(j=1;j<4;j++)d.lineTo(m[i+j][0],m[i+j][1]);d.lineTo(e[0],e[1]);U&&(a.fill(m[i+3][5]),Z());O&&(a.stroke(m[i+3][6]),la());d.closePath()}else if(X===
+c.QUAD_STRIP){if(n>3)for(i=0;i+1<n;i+=2)e=m[i],d.beginPath(),i+3<n?(d.moveTo(m[i+2][0],m[i+2][1]),d.lineTo(e[0],e[1]),d.lineTo(m[i+1][0],m[i+1][1]),d.lineTo(m[i+3][0],m[i+3][1]),U&&a.fill(m[i+3][5]),O&&a.stroke(m[i+3][6])):(d.moveTo(e[0],e[1]),d.lineTo(m[i+1][0],m[i+1][1])),Z(),la(),d.closePath()}else{d.beginPath();d.moveTo(m[0][0],m[0][1]);for(i=1;i<n;i++)e=m[i],e.isVert&&(e.moveTo?d.moveTo(e[0],e[1]):d.lineTo(e[0],e[1]));b&&d.lineTo(m[0][0],m[0][1]);Z();la();d.closePath()}Qb=Pb=!1;wa=[];qa=0}};
+L.prototype.endShape=function(b){if(m.length!==0){var a=b===c.CLOSE,b=[],k=[],f=[],g=[],e=[],i;Rb=!0;var j,n,h=m.length;for(j=0;j<h;j++){i=m[j];for(n=0;n<3;n++)k.push(i[n])}for(j=0;j<h;j++){i=m[j];for(n=5;n<9;n++)f.push(i[n])}for(j=0;j<h;j++){i=m[j];for(n=9;n<13;n++)g.push(i[n])}for(j=0;j<h;j++)i=m[j],e.push(i[3]),e.push(i[4]);if(a){k.push(m[0][0]);k.push(m[0][1]);k.push(m[0][2]);for(j=5;j<9;j++)f.push(m[0][j]);for(j=9;j<13;j++)g.push(m[0][j]);e.push(m[0][3]);e.push(m[0][4])}if(Pb&&(X===c.POLYGON||
+X===p))O&&Ka(k,null,g),U&&cb(k,null,f);else if(Qb&&(X===c.POLYGON||X===p))b=k,b.splice(b.length-3),g.splice(g.length-4),O&&Ka(b,null,g),U&&cb(k,"TRIANGLES",f);else{if(X===c.POINTS){for(j=0;j<h;j++){i=m[j];for(n=0;n<3;n++)b.push(i[n])}ud(b,g)}else if(X===c.LINES){for(j=0;j<h;j++){i=m[j];for(n=0;n<3;n++)b.push(i[n])}for(j=0;j<h;j++){i=m[j];for(n=5;n<9;n++)f.push(i[n])}Ka(b,"LINES",g)}else if(X===c.TRIANGLES){if(h>2)for(j=0;j+2<h;j+=3){k=[];e=[];b=[];f=[];g=[];for(n=0;n<3;n++)for(a=0;a<3;a++)b.push(m[j+
+n][a]),k.push(m[j+n][a]);for(n=0;n<3;n++)for(a=3;a<5;a++)e.push(m[j+n][a]);for(n=0;n<3;n++)for(a=5;a<9;a++)f.push(m[j+n][a]),g.push(m[j+n][a+4]);O&&Ka(b,"LINE_LOOP",g);(U||Fa)&&cb(k,"TRIANGLES",f,e)}}else if(X===c.TRIANGLE_STRIP){if(h>2)for(j=0;j+2<h;j++){b=[];k=[];g=[];f=[];e=[];for(n=0;n<3;n++)for(a=0;a<3;a++)b.push(m[j+n][a]),k.push(m[j+n][a]);for(n=0;n<3;n++)for(a=3;a<5;a++)e.push(m[j+n][a]);for(n=0;n<3;n++)for(a=5;a<9;a++)g.push(m[j+n][a+4]),f.push(m[j+n][a]);(U||Fa)&&cb(k,"TRIANGLE_STRIP",f,
+e);O&&Ka(b,"LINE_LOOP",g)}}else if(X===c.TRIANGLE_FAN){if(h>2){for(j=0;j<3;j++){i=m[j];for(n=0;n<3;n++)b.push(i[n])}for(j=0;j<3;j++){i=m[j];for(n=9;n<13;n++)g.push(i[n])}O&&Ka(b,"LINE_LOOP",g);for(j=2;j+1<h;j++){b=[];g=[];b.push(m[0][0]);b.push(m[0][1]);b.push(m[0][2]);g.push(m[0][9]);g.push(m[0][10]);g.push(m[0][11]);g.push(m[0][12]);for(n=0;n<2;n++)for(a=0;a<3;a++)b.push(m[j+n][a]);for(n=0;n<2;n++)for(a=9;a<13;a++)g.push(m[j+n][a]);O&&Ka(b,"LINE_STRIP",g)}(U||Fa)&&cb(k,"TRIANGLE_FAN",f,e)}}else if(X===
+c.QUADS)for(j=0;j+3<h;j+=4){b=[];for(n=0;n<4;n++){i=m[j+n];for(a=0;a<3;a++)b.push(i[a])}O&&Ka(b,"LINE_LOOP",g);if(U){k=[];f=[];e=[];for(n=0;n<3;n++)k.push(m[j][n]);for(n=5;n<9;n++)f.push(m[j][n]);for(n=0;n<3;n++)k.push(m[j+1][n]);for(n=5;n<9;n++)f.push(m[j+1][n]);for(n=0;n<3;n++)k.push(m[j+3][n]);for(n=5;n<9;n++)f.push(m[j+3][n]);for(n=0;n<3;n++)k.push(m[j+2][n]);for(n=5;n<9;n++)f.push(m[j+2][n]);Fa&&(e.push(m[j+0][3]),e.push(m[j+0][4]),e.push(m[j+1][3]),e.push(m[j+1][4]),e.push(m[j+3][3]),e.push(m[j+
+3][4]),e.push(m[j+2][3]),e.push(m[j+2][4]));cb(k,"TRIANGLE_STRIP",f,e)}}else if(X===c.QUAD_STRIP){if(h>3){for(j=0;j<2;j++){i=m[j];for(n=0;n<3;n++)b.push(i[n])}for(j=0;j<2;j++){i=m[j];for(n=9;n<13;n++)g.push(i[n])}Ka(b,"LINE_STRIP",g);h>4&&h%2>0&&(k.splice(k.length-3),m.pop());for(j=0;j+3<h;j+=2){b=[];g=[];for(n=0;n<3;n++)b.push(m[j+1][n]);for(n=0;n<3;n++)b.push(m[j+3][n]);for(n=0;n<3;n++)b.push(m[j+2][n]);for(n=0;n<3;n++)b.push(m[j+0][n]);for(n=9;n<13;n++)g.push(m[j+1][n]);for(n=9;n<13;n++)g.push(m[j+
+3][n]);for(n=9;n<13;n++)g.push(m[j+2][n]);for(n=9;n<13;n++)g.push(m[j+0][n]);O&&Ka(b,"LINE_STRIP",g)}(U||Fa)&&cb(k,"TRIANGLE_LIST",f,e)}}else if(h===1){for(n=0;n<3;n++)b.push(m[0][n]);for(n=9;n<13;n++)g.push(m[0][n]);ud(b,g)}else{for(j=0;j<h;j++){i=m[j];for(n=0;n<3;n++)b.push(i[n]);for(n=5;n<9;n++)g.push(i[n])}O&&a?Ka(b,"LINE_LOOP",g):O&&!a&&Ka(b,"LINE_STRIP",g);(U||Fa)&&cb(k,"TRIANGLE_FAN",f,e)}Fa=!1;d.useProgram(u);C("usingTexture3d",u,"usingTexture",Fa)}Qb=Pb=!1;wa=[];qa=0}};var vd=function(a,
+c){var d=1/a,f=d*d,g=f*d;c.set(0,0,0,1,g,f,d,0,6*g,2*f,0,0,6*g,0,0,0)},wd=function(){Fb||(dc=new E,Fb=new E,$b=!0);var a=Zb;dc.set((a-1)/2,(a+3)/2,(-3-a)/2,(1-a)/2,1-a,(-5-a)/2,a+2,(a-1)/2,(a-1)/2,0,(1-a)/2,0,0,1,0,0);vd(Wb,Fb);Gc||(lc=new E);lc.set(dc);lc.preApply(Gc);Fb.apply(dc)};G.prototype.bezierVertex=function(){Qb=!0;var a=[];if(Rb)throw"vertex() must be used at least once before calling bezierVertex()";for(var c=0;c<arguments.length;c++)a[c]=arguments[c];m.push(a);m[m.length-1].isVert=!1};
+L.prototype.bezierVertex=function(){Qb=!0;if(Rb)throw"vertex() must be used at least once before calling bezierVertex()";if(arguments.length===9){Gb===p&&(Gb=new E);var b=m.length-1;vd(Ba,Gb);Gb.apply(Hc);for(var c=Gb.array(),d=m[b][0],f=m[b][1],b=m[b][2],g=c[4]*d+c[5]*arguments[0]+c[6]*arguments[3]+c[7]*arguments[6],e=c[8]*d+c[9]*arguments[0]+c[10]*arguments[3]+c[11]*arguments[6],i=c[12]*d+c[13]*arguments[0]+c[14]*arguments[3]+c[15]*arguments[6],j=c[4]*f+c[5]*arguments[1]+c[6]*arguments[4]+c[7]*
+arguments[7],n=c[8]*f+c[9]*arguments[1]+c[10]*arguments[4]+c[11]*arguments[7],h=c[12]*f+c[13]*arguments[1]+c[14]*arguments[4]+c[15]*arguments[7],q=c[4]*b+c[5]*arguments[2]+c[6]*arguments[5]+c[7]*arguments[8],r=c[8]*b+c[9]*arguments[2]+c[10]*arguments[5]+c[11]*arguments[8],c=c[12]*b+c[13]*arguments[2]+c[14]*arguments[5]+c[15]*arguments[8],o=0;o<Ba;o++)d+=g,g+=e,e+=i,f+=j,j+=n,n+=h,b+=q,q+=r,r+=c,a.vertex(d,f,b);a.vertex(arguments[6],arguments[7],arguments[8])}};var Sb=function(){var a=A.createElement("canvas");
+try{d.texImage2D(d.TEXTURE_2D,0,d.RGBA,d.RGBA,d.UNSIGNED_BYTE,a),Sb=function(a){d.texImage2D(d.TEXTURE_2D,0,d.RGBA,d.RGBA,d.UNSIGNED_BYTE,a)}}catch(c){Sb=function(a){d.texImage2D(d.TEXTURE_2D,0,a,!1)}}Sb.apply(this,arguments)};a.texture=function(a){var c=ha.$ensureContext();if(a.localName==="canvas")c.bindTexture(c.TEXTURE_2D,gd),Sb(a),c.texParameteri(c.TEXTURE_2D,c.TEXTURE_MAG_FILTER,c.LINEAR),c.texParameteri(c.TEXTURE_2D,c.TEXTURE_MIN_FILTER,c.LINEAR),c.generateMipmap(c.TEXTURE_2D);else if(a.__texture)c.bindTexture(c.TEXTURE_2D,
+a.__texture);else{var d=c.createTexture();a.__texture=d;var d=A.createElement("canvas"),f;if(a.width&a.width-1===0)d.width=a.width;else{for(f=1;f<a.width;)f*=2;d.width=f}if(a.height&a.height-1===0)d.height=a.height;else{for(f=1;f<a.height;)f*=2;d.height=f}f=d.getContext("2d");for(var g=f.createImageData(d.width,d.height),e=a.toImageData(),i=0;i<d.width;i+=1)for(var j=0;j<d.height;j+=1){var n=(j*d.width+i)*4;g.data[n+0]=e.data[n+0];g.data[n+1]=e.data[n+1];g.data[n+2]=e.data[n+2];g.data[n+3]=255}f.putImageData(g,
+0,0);a.__cvs=d;c.bindTexture(c.TEXTURE_2D,a.__texture);c.texParameteri(c.TEXTURE_2D,c.TEXTURE_MIN_FILTER,c.LINEAR_MIPMAP_LINEAR);c.texParameteri(c.TEXTURE_2D,c.TEXTURE_MAG_FILTER,c.LINEAR);c.texParameteri(c.TEXTURE_2D,c.TEXTURE_WRAP_T,c.CLAMP_TO_EDGE);c.texParameteri(c.TEXTURE_2D,c.TEXTURE_WRAP_S,c.CLAMP_TO_EDGE);Sb(a.__cvs);c.generateMipmap(c.TEXTURE_2D)}rc.width=a.width;rc.height=a.height;Fa=!0;c.useProgram(u);C("usingTexture3d",u,"usingTexture",Fa)};a.textureMode=function(a){id=a};G.prototype.curveVertex=
+function(b,c){Pb=!0;a.vertex(b,c)};L.prototype.curveVertex=function(b,c,d){Pb=!0;$b||wd();var f=[];f[0]=b;f[1]=c;f[2]=d;wa.push(f);qa++;if(qa>3){var g=wa[qa-4][0],e=wa[qa-4][1],i=wa[qa-4][2],j=wa[qa-3][0],n=wa[qa-3][1],h=wa[qa-3][2],m=wa[qa-2][0],q=wa[qa-2][1],o=wa[qa-2][2],p=wa[qa-1][0],r=wa[qa-1][1],s=wa[qa-1][2],b=j,c=n,d=h,t=Fb.array(),f=t[4]*g+t[5]*j+t[6]*m+t[7]*p,u=t[8]*g+t[9]*j+t[10]*m+t[11]*p,g=t[12]*g+t[13]*j+t[14]*m+t[15]*p,j=t[4]*e+t[5]*n+t[6]*q+t[7]*r,m=t[8]*e+t[9]*n+t[10]*q+t[11]*r,e=
+t[12]*e+t[13]*n+t[14]*q+t[15]*r,n=t[4]*i+t[5]*h+t[6]*o+t[7]*s,q=t[8]*i+t[9]*h+t[10]*o+t[11]*s,i=t[12]*i+t[13]*h+t[14]*o+t[15]*s;a.vertex(b,c,d);for(h=0;h<Wb;h++)b+=f,f+=u,u+=g,c+=j,j+=m,m+=e,d+=n,n+=q,q+=i,a.vertex(b,c,d)}};G.prototype.curve=function(){arguments.length===8&&(a.beginShape(),a.curveVertex(arguments[0],arguments[1]),a.curveVertex(arguments[2],arguments[3]),a.curveVertex(arguments[4],arguments[5]),a.curveVertex(arguments[6],arguments[7]),a.endShape())};L.prototype.curve=function(){arguments.length===
+12&&(a.beginShape(),a.curveVertex(arguments[0],arguments[1],arguments[2]),a.curveVertex(arguments[3],arguments[4],arguments[5]),a.curveVertex(arguments[6],arguments[7],arguments[8]),a.curveVertex(arguments[9],arguments[10],arguments[11]),a.endShape())};a.curveTightness=function(a){Zb=a};a.curveDetail=function(a){Wb=a;wd()};a.rectMode=function(a){ba=a};a.imageMode=function(a){switch(a){case c.CORNER:vc=rd;break;case c.CORNERS:vc=Fc;break;case c.CENTER:vc=Ed;break;default:throw"Invalid imageMode";}};
+a.ellipseMode=function(a){ka=a};a.arc=function(b,d,k,f,g,e){if(!(k<=0||e<g)){ka===c.CORNERS?(k-=b,f-=d):ka===c.RADIUS?(b-=k,d-=f,k*=2,f*=2):ka===c.CENTER&&(b-=k/2,d-=f/2);for(;g<0;)g+=c.TWO_PI,e+=c.TWO_PI;if(e-g>c.TWO_PI)g=0,e=c.TWO_PI;k/=2;f/=2;b+=k;d+=f;var g=0|-0.5+g/c.TWO_PI*c.SINCOS_LENGTH,e=0|0.5+e/c.TWO_PI*c.SINCOS_LENGTH,i,j;if(U){var n=O;O=!1;a.beginShape();a.vertex(b,d);for(j=i=g;i<e;i++,j++)j>=c.SINCOS_LENGTH&&(j-=c.SINCOS_LENGTH),a.vertex(b+Mb[j]*k,d+Lb[j]*f);a.endShape(c.CLOSE);O=n}if(O){n=
+U;U=!1;a.beginShape();for(j=i=g;i<e;i++,j++)j>=c.SINCOS_LENGTH&&(j-=c.SINCOS_LENGTH),a.vertex(b+Mb[j]*k,d+Lb[j]*f);j=e%c.SINCOS_LENGTH;a.vertex(b+Mb[j]*k,d+Lb[j]*f);a.endShape();U=n}}};G.prototype.line=function(b,c,e,f){if(b===e&&c===f)a.point(b,c);else if((b===e||c===f)&&da<=1&&O&&aa.options.crispLines){var g;if(b===e){c>f&&(g=c,c=f,f=g);for(;c<=f;++c)a.set(b,c,ma)}else{b>e&&(g=b,b=e,e=g);for(;b<=e;++b)a.set(b,c,ma)}}else O&&(d.beginPath(),d.moveTo(b||0,c||0),d.lineTo(e||0,f||0),la(),d.closePath())};
+L.prototype.line=function(){var b,c,e,f,g,h;arguments.length===6?(b=arguments[0],c=arguments[1],e=arguments[2],f=arguments[3],g=arguments[4],h=arguments[5]):arguments.length===4&&(b=arguments[0],c=arguments[1],e=0,f=arguments[2],g=arguments[3],h=0);b===f&&c===g&&e===h?a.point(b,c,e):(b=[b,c,e,f,g,h],c=new E,c.scale(1,-1,1),c.apply(V.array()),c.transpose(),da>0&&O&&(d.useProgram(D),v("model2d",D,"model",!1,[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),v("view2d",D,"view",!1,c.array()),s("color2d",D,"color",na),
+C("picktype2d",D,"picktype",0),d.lineWidth(da),r("vertex2d",D,"Vertex",3,Mc),N("aTextureCoord2d",D,"aTextureCoord"),d.bufferData(d.ARRAY_BUFFER,new I(b),d.STREAM_DRAW),d.drawArrays(d.LINES,0,2)))};G.prototype.bezier=function(){if(arguments.length!==8)throw"You must use 8 parameters for bezier() in 2D mode";a.beginShape();a.vertex(arguments[0],arguments[1]);a.bezierVertex(arguments[2],arguments[3],arguments[4],arguments[5],arguments[6],arguments[7]);a.endShape()};L.prototype.bezier=function(){if(arguments.length!==
+12)throw"You must use 12 parameters for bezier() in 3D mode";a.beginShape();a.vertex(arguments[0],arguments[1],arguments[2]);a.bezierVertex(arguments[3],arguments[4],arguments[5],arguments[6],arguments[7],arguments[8],arguments[9],arguments[10],arguments[11]);a.endShape()};a.bezierDetail=function(a){Ba=a};a.bezierPoint=function(a,c,d,f,g){return(1-g)*(1-g)*(1-g)*a+3*(1-g)*(1-g)*g*c+3*(1-g)*g*g*d+g*g*g*f};a.bezierTangent=function(a,c,d,f,g){return 3*g*g*(-a+3*c-3*d+f)+6*g*(a-2*c+d)+3*(-a+c)};a.curvePoint=
+function(a,c,d,f,g){return 0.5*(2*c+(-a+d)*g+(2*a-5*c+4*d-f)*g*g+(-a+3*c-3*d+f)*g*g*g)};a.curveTangent=function(a,c,d,f,g){return 0.5*(-a+d+2*(2*a-5*c+4*d-f)*g+3*(-a+3*c-3*d+f)*g*g)};a.triangle=function(b,d,e,f,g,h){a.beginShape(c.TRIANGLES);a.vertex(b,d,0);a.vertex(e,f,0);a.vertex(g,h,0);a.endShape()};a.quad=function(b,d,e,f,g,h,i,j){a.beginShape(c.QUADS);a.vertex(b,d,0);a.vertex(e,f,0);a.vertex(g,h,0);a.vertex(i,j,0);a.endShape()};G.prototype.rect=function(b,l,k,f){if(k||f)if(O&&!U&&da<=1&&aa.options.crispLines){var g,
+h=b+k-1,i=l+f-1;for(g=0;g<k;++g)a.set(b+g,l,ma),a.set(b+g,i,ma);for(g=0;g<f;++g)a.set(b,l+g,ma),a.set(h,l+g,ma)}else{d.beginPath();ba===c.CORNERS&&(k-=b,f-=l);ba===c.RADIUS&&(k*=2,f*=2);if(ba===c.CENTER||ba===c.RADIUS)b-=k/2,l-=f/2;d.rect(e.round(b)-0,e.round(l)-0,e.round(k)+0,e.round(f)+0);Z();la();d.closePath()}};L.prototype.rect=function(a,c,e,f){var g=new E;g.translate(a,c,0);g.scale(e,f,1);g.transpose();c=new E;c.scale(1,-1,1);c.apply(V.array());c.transpose();da>0&&O&&(d.useProgram(D),v("model2d",
+D,"model",!1,g.array()),v("view2d",D,"view",!1,c.array()),s("color2d",D,"color",na),C("picktype2d",D,"picktype",0),r("vertex2d",D,"Vertex",3,pc),N("aTextureCoord2d",D,"aTextureCoord"),d.lineWidth(da),d.drawArrays(d.LINE_LOOP,0,Uc.length/3));U&&(d.useProgram(u),v("model3d",u,"model",!1,g.array()),v("view3d",u,"view",!1,c.array()),d.enable(d.POLYGON_OFFSET_FILL),d.polygonOffset(1,1),s("color3d",u,"color",pa),M>0?(a=new E,a.set(c),c=new E,c.set(g),a.mult(c),g=new E,g.set(a),g.invert(),g.transpose(),
+v("normalTransform3d",u,"normalTransform",!1,g.array()),r("normal3d",u,"Normal",3,Lc)):N("normal3d",u,"Normal"),r("vertex3d",u,"Vertex",3,pc),d.drawArrays(d.TRIANGLE_FAN,0,Uc.length/3),d.disable(d.POLYGON_OFFSET_FILL))};H.prototype.ellipse=function(a,d,e,f){a=a||0;d=d||0;if(!(e<=0&&f<=0)){ka===c.RADIUS&&(e*=2,f*=2);ka===c.CORNERS&&(e-=a,f-=d);if(ka===c.CORNER||ka===c.CORNERS)a+=e/2,d+=f/2;return{x:a,y:d,width:e,height:f}}};G.prototype.ellipse=function(b,l,e,f){var g=H.prototype.ellipse.apply(this,
+arguments);if(g)if(b=g.x,l=g.y,e=g.width,f=g.height,e===f)d.beginPath(),d.arc(b-0,l-0,e/2,0,c.TWO_PI,!1),Z(),la(),d.closePath();else{var g=e/2,h=f/2,i=0.5522847498307933*g,j=0.5522847498307933*h;a.beginShape();a.vertex(b+g,l);a.bezierVertex(b+g,l-j,b+i,l-h,b,l-h);a.bezierVertex(b-i,l-h,b-g,l-j,b-g,l);a.bezierVertex(b-g,l+j,b-i,l+h,b,l+h);a.bezierVertex(b+i,l+h,b+g,l+j,b+g,l);a.endShape()}};L.prototype.ellipse=function(b,c,d,f){var g=H.prototype.ellipse.apply(this,arguments);if(g){var b=g.x,c=g.y,
+d=g.width,f=g.height,g=d/2,e=f/2,i=0.5522847498307933*g,j=0.5522847498307933*e;a.beginShape();a.vertex(b+g,c);a.bezierVertex(b+g,c-j,0,b+i,c-e,0,b,c-e,0);a.bezierVertex(b-i,c-e,0,b-g,c-j,0,b-g,c,0);a.bezierVertex(b-g,c+j,0,b-i,c+e,0,b,c+e,0);a.bezierVertex(b+i,c+e,0,b+g,c+j,0,b+g,c,0);a.endShape();if(U){var j=i=0,n;for(n=0;n<m.length;n++)i+=m[n][0],j+=m[n][1];i/=m.length;j/=m.length;n=[];g=[];e=[];n[0]=i;n[1]=j;n[2]=0;n[3]=0;n[4]=0;n[5]=pa[0];n[6]=pa[1];n[7]=pa[2];n[8]=pa[3];n[9]=na[0];n[10]=na[1];
+n[11]=na[2];n[12]=na[3];n[13]=pb;n[14]=fb;n[15]=rb;m.unshift(n);for(n=0;n<m.length;n++){for(i=0;i<3;i++)g.push(m[n][i]);for(i=5;i<9;i++)e.push(m[n][i])}cb(g,"TRIANGLE_FAN",e)}}};a.normal=function(a,d,e){if(arguments.length!==3||!(typeof a==="number"&&typeof d==="number"&&typeof e==="number"))throw"normal() requires three numeric arguments.";pb=a;fb=d;rb=e;if(X!==0)if(Na===c.NORMAL_MODE_AUTO)Na=c.NORMAL_MODE_SHAPE;else if(Na===c.NORMAL_MODE_SHAPE)Na=c.NORMAL_MODE_VERTEX};a.save=function(b,c){return c!==
+p?T.open(c.toDataURL(),"_blank"):T.open(a.externals.canvas.toDataURL(),"_blank")};var Fd=0;a.saveFrame=function(b){b===p&&(b="screen-####.png");b=b.replace(/#+/,function(a){for(var b=""+Fd++;b.length<a.length;)b="0"+b;return b});a.save(b)};var xd=A.createElement("canvas").getContext("2d"),$c=[p,p,p],La=function(b,d,k){this.get=function(b,c,d,f){if(arguments.length)if(arguments.length===2)return a.get(b,c,this);else{if(arguments.length===4)return a.get(b,c,d,f,this)}else return a.get(this)};this.set=
+function(b,c,d){a.set(b,c,d,this)};this.blend=function(b,c,d,f,l,g,e,k,h,m){arguments.length===9?a.blend(this,b,c,d,f,l,g,e,k,h,this):arguments.length===10&&a.blend(b,c,d,f,l,g,e,k,h,m,this);delete this.sourceImg};this.copy=function(b,d,f,l,g,e,k,h,m){arguments.length===8?a.blend(this,b,d,f,l,g,e,k,h,c.REPLACE,this):arguments.length===9&&a.blend(b,d,f,l,g,e,k,h,m,c.REPLACE,this);delete this.sourceImg};this.filter=function(b,c){arguments.length===2?a.filter(b,c,this):arguments.length===1&&a.filter(b,
+null,this);delete this.sourceImg};this.save=function(b){a.save(b,this)};this.resize=function(a,b){if(this.isRemote)throw"Image is loaded remotely. Cannot resize.";else if(this.width!==0||this.height!==0){a===0&&b!==0?a=e.floor(this.width/this.height*b):b===0&&a!==0&&(b=e.floor(this.height/this.width*a));var c=ga(this.imageData).canvas;this.fromImageData(ga(c,a,b).context.getImageData(0,0,a,b))}};this.mask=function(a){this.__mask=p;if(a instanceof La)if(a.width===this.width&&a.height===this.height)this.__mask=
+a;else throw"mask must have the same dimensions as PImage.";else if(a instanceof Array)if(this.pixels.length===a.length)this.__mask=a;else throw"mask array must be the same length as PImage pixels array.";};this.pixels={getLength:function(a){if(a.isRemote)throw"Image is loaded remotely. Cannot get length.";else return function(){return a.imageData.data.length?a.imageData.data.length/4:0}}(this),getPixel:function(b){if(b.isRemote)throw"Image is loaded remotely. Cannot get pixels.";else return function(c){c*=
+4;return a.color.toInt(b.imageData.data[c],b.imageData.data[c+1],b.imageData.data[c+2],b.imageData.data[c+3])}}(this),setPixel:function(a){if(a.isRemote)throw"Image is loaded remotely. Cannot set pixel.";else return function(b,d){var f=b*4;a.imageData.data[f+0]=(d&c.RED_MASK)>>>16;a.imageData.data[f+1]=(d&c.GREEN_MASK)>>>8;a.imageData.data[f+2]=d&c.BLUE_MASK;a.imageData.data[f+3]=(d&c.ALPHA_MASK)>>>24}}(this),set:function(a){if(this.isRemote)throw"Image is loaded remotely. Cannot set pixels.";else for(var b=
+0,c=a.length;b<c;b++)this.setPixel(b,a[b])}};this.loadPixels=function(){};this.updatePixels=function(){};this.toImageData=function(){return this.isRemote?this.sourceImg:ga(this.imageData).context.getImageData(0,0,this.width,this.height)};this.toDataURL=function(){if(this.isRemote)throw"Image is loaded remotely. Cannot create dataURI.";else return ga(this.imageData).canvas.toDataURL()};this.fromImageData=function(a){this.width=a.width;this.height=a.height;this.imageData=a;this.format=c.ARGB};this.fromHTMLImageData=
+function(a){var b=ga(a);try{this.fromImageData(b.context.getImageData(0,0,a.width,a.height))}catch(c){if(a.width&&a.height)this.isRemote=!0,this.width=a.width,this.height=a.height}this.sourceImg=a};if(arguments.length===1)this.fromHTMLImageData(arguments[0]);else if(arguments.length===2||arguments.length===3){if(this.width=b||1,this.height=d||1,this.imageData=xd.createImageData(this.width,this.height),this.format=k===c.ARGB||k===c.ALPHA?k:c.RGB,this.format===c.RGB)for(var f=3,g=this.imageData.data,
+h=g.length;f<h;f+=4)g[f]=255}else this.height=this.width=0,this.imageData=xd.createImageData(1,1),this.format=c.ARGB};a.PImage=La;a.createImage=function(a,c,d){return new La(a,c,d)};a.loadImage=function(a,c,d){c&&(a=a+"."+c);if(aa.imageCache.images[a])c=new La(aa.imageCache.images[a]),c.loaded=!0;else{var c=new La,f=A.createElement("img");c.sourceImg=f;f.onload=function(a,b,c){return function(){b.fromHTMLImageData(a);b.loaded=!0;c&&c()}}(f,c,d);f.src=a}return c};a.requestImage=a.loadImage;a.get=function(b,
+l,k,f,g){if(arguments.length===2){var h;if(b<a.width&&b>=0&&l>=0&&l<a.height)if(ec){var i=((0|b)+a.width*(0|l))*4;h=a.imageData.data;h=a.color.toInt(h[i],h[i+1],h[i+2],h[i+3])}else h=d.getImageData(0|b,0|l,1,1).data,h=a.color.toInt(h[0],h[1],h[2],h[3]);else h=0;return h}else if(arguments.length===0)return h=new La(a.width,a.height,c.RGB),h.fromImageData(d.getImageData(0,0,a.width,a.height)),h;else if(arguments.length===5){if(g.isRemote)throw"Image is loaded remotely. Cannot get x,y,w,h.";else{h=new La(k,
+f,c.RGB);for(var i=h.imageData.data,j=g.width,n=g.height,m=g.imageData.data,q=e.max(0,-l),p=e.max(0,-b),n=e.min(f,n-l),o=e.min(k,j-b);q<n;++q)for(var r=((l+q)*j+(b+p))*4,s=(q*k+p)*4,u=p;u<o;++u)i[s++]=m[r++],i[s++]=m[r++],i[s++]=m[r++],i[s++]=m[r++]}return h}else if(arguments.length===4)return h=new La(k,f,c.RGB),h.fromImageData(d.getImageData(b,l,k,f)),h;else if(arguments.length===3){if(k.isRemote)throw"Image is loaded remotely. Cannot get x,y.";else h=l*k.width*4+b*4,h=a.color.toInt(k.imageData.data[h],
+k.imageData.data[h+1],k.imageData.data[h+2],k.imageData.data[h+3]);return h}else if(arguments.length===1)return b};a.createGraphics=function(a,c,d){var f=new w;f.size(a,c,d);return f};a.set=function(b,c,e,f){if(arguments.length===3)typeof e==="number"?b<a.width&&b>=0&&c>=0&&c<a.height&&(ec||(a.loadPixels(),Sc===null&&(ad=d,Sc=new Da),ec=!0,d=Sc,jd=0),a.pixels.setPixel((0|b)+a.width*(0|c),e),++jd>kd&&Ca()):e instanceof La&&a.image(e,b,c);else if(arguments.length===4)if(f.isRemote)throw"Image is loaded remotely. Cannot set x,y.";
+else{var g=a.color.toArray(e),h=c*f.width*4+b*4,i=f.imageData.data;i[h]=g[0];i[h+1]=g[1];i[h+2]=g[2];i[h+3]=g[3]}};a.imageData={};a.pixels={getLength:function(){return a.imageData.data.length?a.imageData.data.length/4:0},getPixel:function(b){b*=4;return a.imageData.data[b+3]<<24&4278190080|a.imageData.data[b+0]<<16&16711680|a.imageData.data[b+1]<<8&65280|a.imageData.data[b+2]&255},setPixel:function(b,c){var d=b*4;a.imageData.data[d+0]=(c&16711680)>>>16;a.imageData.data[d+1]=(c&65280)>>>8;a.imageData.data[d+
+2]=c&255;a.imageData.data[d+3]=(c&4278190080)>>>24},set:function(a){for(var c=0,d=a.length;c<d;c++)this.setPixel(c,a[c])}};a.loadPixels=function(){a.imageData=ha.$ensureContext().getImageData(0,0,a.width,a.height)};a.updatePixels=function(){a.imageData&&ha.$ensureContext().putImageData(a.imageData,0,0)};a.hint=function(a){var d=ha.$ensureContext();a===c.DISABLE_DEPTH_TEST?(d.disable(d.DEPTH_TEST),d.depthMask(!1),d.clear(d.DEPTH_BUFFER_BIT)):a===c.ENABLE_DEPTH_TEST&&(d.enable(d.DEPTH_TEST),d.depthMask(!0))};
+H.prototype.background=function(){var b;if(arguments[0]instanceof La)if(b=arguments[0],b.loaded){if(b.width!==a.width||b.height!==a.height)throw"Background image must be the same dimensions as the canvas.";}else throw"Error using image in background(): PImage not loaded.";else b=a.color.apply(this,arguments),aa.options.isTransparent||(b|=c.ALPHA_MASK);db=b};G.prototype.background=function(){arguments.length>0&&H.prototype.background.apply(this,arguments);db instanceof La?(d.save(),d.setTransform(1,
+0,0,1,0,0),a.image(db,0,0)):(d.save(),d.setTransform(1,0,0,1,0,0),aa.options.isTransparent&&d.clearRect(0,0,a.width,a.height),d.fillStyle=a.color.toString(db),d.fillRect(0,0,a.width,a.height),Ia=!0);Xb()};L.prototype.background=function(){arguments.length>0&&H.prototype.background.apply(this,arguments);var b=a.color.toGLArray(db);d.clearColor(b[0],b[1],b[2],b[3]);d.clear(d.COLOR_BUFFER_BIT|d.DEPTH_BUFFER_BIT)};G.prototype.image=function(a,c,e,f,g){if(a.width>0){var h=vc(c||0,e||0,f||a.width,g||a.height,
+arguments.length<4);if(a.sourceImg&&ob===null&&!a.__mask){var i=a.sourceImg;d.drawImage(i,0,0,i.width,i.height,h.x,h.y,h.w,h.h)}else{i=a.toImageData();if(a.__mask){var j,n;if(a.__mask instanceof La){var m=a.__mask.toImageData();j=2;for(n=a.width*a.height*4;j<n;j+=4)i.data[j+1]=m.data[j]}else{j=0;for(n=a.__mask.length;j<n;++j)i.data[(j<<2)+3]=a.__mask[j]}}ob!==null&&ob(i);d.drawImage(ga(i).canvas,0,0,a.width,a.height,h.x,h.y,h.w,h.h)}}};L.prototype.image=function(b,c,d,f,e){b.width>0&&(f=f||b.width,
+e=e||b.height,a.beginShape(a.QUADS),a.texture(b.externals.canvas),a.vertex(c,d,0,0,0),a.vertex(c,d+e,0,0,e),a.vertex(c+f,d+e,0,f,e),a.vertex(c+f,d,0,f,0),a.endShape())};a.tint=function(){var b=a.color.apply(this,arguments),c=a.red(b)/ja,d=a.green(b)/z,f=a.blue(b)/xa,e=a.alpha(b)/ea;ob=function(a){for(var b=a.data,a=4*a.width*a.height,j=0;j<a;)b[j++]*=c,b[j++]*=d,b[j++]*=f,b[j++]*=e}};a.noTint=function(){ob=null};a.copy=function(b,d,e,f,g,h,i,j,n){arguments.length===8&&(n=j,j=i,i=h,h=g,g=f,f=e,e=d,
+d=b,b=a);a.blend(b,d,e,f,g,h,i,j,n,c.REPLACE)};a.blend=function(b,c,d,f,e,h,i,j,n,m,q){arguments.length===9&&(m=n,n=j,j=i,i=h,h=e,e=f,f=d,d=c,c=b,b=a);var p=c+f,o=d+e,r=h+j,s=i+n,u;if(b.isRemote)throw"Image is loaded remotely. Cannot blend image.";else arguments.length===10||arguments.length===9?(a.loadPixels(),u=a):arguments.length===11&&q&&q.imageData&&(u=q),b===a?a.intersect(c,d,p,o,h,i,r,s)?a.blit_resize(a.get(c,d,p-c,o-d),0,0,p-c-1,o-d-1,u.imageData.data,u.width,u.height,h,i,r,s,m):a.blit_resize(b,
+c,d,p,o,u.imageData.data,u.width,u.height,h,i,r,s,m):(b.loadPixels(),a.blit_resize(b,c,d,p,o,u.imageData.data,u.width,u.height,h,i,r,s,m)),arguments.length===10&&a.updatePixels()};var yd=function(a,c){var d=0,f=c.pixels.getLength(),e=new Cd(f),h,i,j,n,m,q,p,o,r,s,u,t;if(a)for(;d<f;){h=d;for(i=d+c.width;d<i;)j=n=c.pixels.getPixel(d),q=d-1,m=d+1,p=d-c.width,o=d+c.width,q<h&&(q=d),m>=i&&(m=d),p<0&&(p=0),o>=f&&(o=d),p=c.pixels.getPixel(p),q=c.pixels.getPixel(q),o=c.pixels.getPixel(o),m=c.pixels.getPixel(m),
+j=77*(j>>16&255)+151*(j>>8&255)+28*(j&255),s=77*(q>>16&255)+151*(q>>8&255)+28*(q&255),r=77*(m>>16&255)+151*(m>>8&255)+28*(m&255),u=77*(p>>16&255)+151*(p>>8&255)+28*(p&255),t=77*(o>>16&255)+151*(o>>8&255)+28*(o&255),s<j&&(n=q,j=s),r<j&&(n=m,j=r),u<j&&(n=p,j=u),t<j&&(n=o),e[d++]=n}else for(;d<f;){h=d;for(i=d+c.width;d<i;)j=n=c.pixels.getPixel(d),q=d-1,m=d+1,p=d-c.width,o=d+c.width,q<h&&(q=d),m>=i&&(m=d),p<0&&(p=0),o>=f&&(o=d),p=c.pixels.getPixel(p),q=c.pixels.getPixel(q),o=c.pixels.getPixel(o),m=c.pixels.getPixel(m),
+j=77*(j>>16&255)+151*(j>>8&255)+28*(j&255),s=77*(q>>16&255)+151*(q>>8&255)+28*(q&255),r=77*(m>>16&255)+151*(m>>8&255)+28*(m&255),u=77*(p>>16&255)+151*(p>>8&255)+28*(p&255),t=77*(o>>16&255)+151*(o>>8&255)+28*(o&255),s>j&&(n=q,j=s),r>j&&(n=m,j=r),u>j&&(n=p,j=u),t>j&&(n=o),e[d++]=n}c.pixels.set(e)};a.filter=function(b,d,e){var f,g,h,i;arguments.length===3?(e.loadPixels(),f=e):(a.loadPixels(),f=a);d===p&&(d=null);if(f.isRemote)throw"Image is loaded remotely. Cannot filter image.";else{var j=f.pixels.getLength();
+switch(b){case c.BLUR:var n=d||1,m=f,q,r,o,s,u,v,t,w,x;h=m.pixels.getLength();i=new I(h);j=new I(h);g=new I(h);h=new I(h);var B=0,J,C,z,n=a.floor(n*3.5),y,n=n<1?1:n<248?n:248;if(a.shared.blurRadius!==n){a.shared.blurRadius=n;a.shared.blurKernelSize=1+(a.shared.blurRadius<<1);a.shared.blurKernel=new I(a.shared.blurKernelSize);var A=a.shared.blurKernel,E=a.shared.blurKernelSize;for(y=0;y<E;y++)A[y]=0;E=(n-1)*(n-1);for(y=1;y<n;y++)A[n+y]=A[void 0]=E;A[n]=n*n}n=m.height;y=m.width;A=a.shared.blurKernelSize;
+w=a.shared.blurRadius;var E=a.shared.blurKernel,D=m.imageData.data;for(C=0;C<n;C++){for(J=0;J<y;J++){o=r=q=s=m=0;v=J-w;if(v<0)u=-v,v=0;else{if(v>=y)break;u=0}for(z=u;z<A;z++){if(v>=y)break;t=(v+B)*4;u=E[z];s+=u*D[t+3];q+=u*D[t];r+=u*D[t+1];o+=u*D[t+2];m+=u;v++}t=B+J;h[t]=s/m;i[t]=q/m;j[t]=r/m;g[t]=o/m}B+=y}B=0;w=-w;x=w*y;for(C=0;C<n;C++){for(J=0;J<y;J++){o=r=q=s=m=0;if(w<0)u=t=-w,v=J;else{if(w>=n)break;u=0;t=w;v=J+x}for(z=u;z<A;z++){if(t>=n)break;u=E[z];s+=u*h[v];q+=u*i[v];r+=u*j[v];o+=u*g[v];m+=
+u;t++;v+=y}t=(J+B)*4;D[t]=q/m;D[t+1]=r/m;D[t+2]=o/m;D[t+3]=s/m}B+=y;x+=y;w++}break;case c.GRAY:if(f.format===c.ALPHA){for(i=0;i<j;i++)g=255-f.pixels.getPixel(i),f.pixels.setPixel(i,4278190080|g<<16|g<<8|g);f.format=c.RGB}else for(i=0;i<j;i++)g=f.pixels.getPixel(i),h=77*(g>>16&255)+151*(g>>8&255)+28*(g&255)>>8,f.pixels.setPixel(i,g&c.ALPHA_MASK|h<<16|h<<8|h);break;case c.INVERT:for(i=0;i<j;i++)f.pixels.setPixel(i,f.pixels.getPixel(i)^16777215);break;case c.POSTERIZE:if(d===null)throw"Use filter(POSTERIZE, int levels) instead of filter(POSTERIZE)";
+g=a.floor(d);if(g<2||g>255)throw"Levels must be between 2 and 255 for filter(POSTERIZE, levels)";h=g-1;for(i=0;i<j;i++)B=f.pixels.getPixel(i)>>16&255,n=f.pixels.getPixel(i)>>8&255,y=f.pixels.getPixel(i)&255,B=(B*g>>8)*255/h,n=(n*g>>8)*255/h,y=(y*g>>8)*255/h,f.pixels.setPixel(i,4278190080&f.pixels.getPixel(i)|B<<16|n<<8|y);break;case c.OPAQUE:for(i=0;i<j;i++)f.pixels.setPixel(i,f.pixels.getPixel(i)|4278190080);f.format=c.RGB;break;case c.THRESHOLD:d===null&&(d=0.5);if(d<0||d>1)throw"Level must be between 0 and 1 for filter(THRESHOLD, level)";
+g=a.floor(d*255);for(i=0;i<j;i++)h=a.max((f.pixels.getPixel(i)&c.RED_MASK)>>16,a.max((f.pixels.getPixel(i)&c.GREEN_MASK)>>8,f.pixels.getPixel(i)&c.BLUE_MASK)),f.pixels.setPixel(i,f.pixels.getPixel(i)&c.ALPHA_MASK|(h<g?0:16777215));break;case c.ERODE:yd(!0,f);break;case c.DILATE:yd(!1,f)}f.updatePixels()}};a.shared={fracU:0,ifU:0,fracV:0,ifV:0,u1:0,u2:0,v1:0,v2:0,sX:0,sY:0,iw:0,iw1:0,ih1:0,ul:0,ll:0,ur:0,lr:0,cUL:0,cLL:0,cUR:0,cLR:0,srcXOffset:0,srcYOffset:0,r:0,g:0,b:0,a:0,srcBuffer:null,blurRadius:0,
+blurKernelSize:0,blurKernel:null};a.intersect=function(a,c,d,f,e,h,i,j){d=d-a+1;f=f-c+1;i=i-e+1;j=j-h+1;e<a?(i+=e-a,i>d&&(i=d)):(a=d+a-e,i>a&&(i=a));h<c?(j+=h-c,j>f&&(j=f)):(c=f+c-h,j>c&&(j=c));return!(i<=0||j<=0)};a.filter_new_scanline=function(){a.shared.sX=a.shared.srcXOffset;a.shared.fracV=a.shared.srcYOffset&c.PREC_MAXVAL;a.shared.ifV=c.PREC_MAXVAL-a.shared.fracV;a.shared.v1=(a.shared.srcYOffset>>c.PRECISIONB)*a.shared.iw;a.shared.v2=e.min((a.shared.srcYOffset>>c.PRECISIONB)+1,a.shared.ih1)*
+a.shared.iw};a.filter_bilinear=function(){a.shared.fracU=a.shared.sX&c.PREC_MAXVAL;a.shared.ifU=c.PREC_MAXVAL-a.shared.fracU;a.shared.ul=a.shared.ifU*a.shared.ifV>>c.PRECISIONB;a.shared.ll=a.shared.ifU*a.shared.fracV>>c.PRECISIONB;a.shared.ur=a.shared.fracU*a.shared.ifV>>c.PRECISIONB;a.shared.lr=a.shared.fracU*a.shared.fracV>>c.PRECISIONB;a.shared.u1=a.shared.sX>>c.PRECISIONB;a.shared.u2=e.min(a.shared.u1+1,a.shared.iw1);var b=(a.shared.v1+a.shared.u1)*4,d=(a.shared.v1+a.shared.u2)*4,k=(a.shared.v2+
+a.shared.u1)*4,f=(a.shared.v2+a.shared.u2)*4;a.shared.cUL=a.color.toInt(a.shared.srcBuffer[b],a.shared.srcBuffer[b+1],a.shared.srcBuffer[b+2],a.shared.srcBuffer[b+3]);a.shared.cUR=a.color.toInt(a.shared.srcBuffer[d],a.shared.srcBuffer[d+1],a.shared.srcBuffer[d+2],a.shared.srcBuffer[d+3]);a.shared.cLL=a.color.toInt(a.shared.srcBuffer[k],a.shared.srcBuffer[k+1],a.shared.srcBuffer[k+2],a.shared.srcBuffer[k+3]);a.shared.cLR=a.color.toInt(a.shared.srcBuffer[f],a.shared.srcBuffer[f+1],a.shared.srcBuffer[f+
+2],a.shared.srcBuffer[f+3]);a.shared.r=a.shared.ul*((a.shared.cUL&c.RED_MASK)>>16)+a.shared.ll*((a.shared.cLL&c.RED_MASK)>>16)+a.shared.ur*((a.shared.cUR&c.RED_MASK)>>16)+a.shared.lr*((a.shared.cLR&c.RED_MASK)>>16)<<c.PREC_RED_SHIFT&c.RED_MASK;a.shared.g=a.shared.ul*(a.shared.cUL&c.GREEN_MASK)+a.shared.ll*(a.shared.cLL&c.GREEN_MASK)+a.shared.ur*(a.shared.cUR&c.GREEN_MASK)+a.shared.lr*(a.shared.cLR&c.GREEN_MASK)>>>c.PRECISIONB&c.GREEN_MASK;a.shared.b=a.shared.ul*(a.shared.cUL&c.BLUE_MASK)+a.shared.ll*
+(a.shared.cLL&c.BLUE_MASK)+a.shared.ur*(a.shared.cUR&c.BLUE_MASK)+a.shared.lr*(a.shared.cLR&c.BLUE_MASK)>>>c.PRECISIONB;a.shared.a=a.shared.ul*((a.shared.cUL&c.ALPHA_MASK)>>>24)+a.shared.ll*((a.shared.cLL&c.ALPHA_MASK)>>>24)+a.shared.ur*((a.shared.cUR&c.ALPHA_MASK)>>>24)+a.shared.lr*((a.shared.cLR&c.ALPHA_MASK)>>>24)<<c.PREC_ALPHA_SHIFT&c.ALPHA_MASK;return a.shared.a|a.shared.r|a.shared.g|a.shared.b};a.blit_resize=function(b,d,k,f,g,h,i,j,n,m,q,p,o){d<0&&(d=0);k<0&&(k=0);f>=b.width&&(f=b.width-1);
+g>=b.height&&(g=b.height-1);f-=d;g-=k;q-=n;p-=m;if(!(q<=0||p<=0||f<=0||g<=0||n>=i||m>=j||d>=b.width||k>=b.height))switch(f=e.floor(f/q*c.PRECISIONF),g=e.floor(g/p*c.PRECISIONF),a.shared.srcXOffset=e.floor(n<0?-n*f:d*c.PRECISIONF),a.shared.srcYOffset=e.floor(m<0?-m*g:k*c.PRECISIONF),n<0&&(q+=n,n=0),m<0&&(p+=m,m=0),q=e.min(q,i-n),p=e.min(p,j-m),d=m*i+n,a.shared.srcBuffer=b.imageData.data,a.shared.iw=b.width,a.shared.iw1=b.width-1,a.shared.ih1=b.height-1,o){case c.BLEND:for(k=0;k<p;k++){a.filter_new_scanline();
+for(o=0;o<q;o++)j=a.color.toInt(h[(d+o)*4],h[(d+o)*4+1],h[(d+o)*4+2],h[(d+o)*4+3]),j=a.color.toArray(a.modes.blend(j,a.filter_bilinear())),h[(d+o)*4]=j[0],h[(d+o)*4+1]=j[1],h[(d+o)*4+2]=j[2],h[(d+o)*4+3]=j[3],a.shared.sX+=f;d+=i;a.shared.srcYOffset+=g}break;case c.ADD:for(k=0;k<p;k++){a.filter_new_scanline();for(o=0;o<q;o++)j=a.color.toInt(h[(d+o)*4],h[(d+o)*4+1],h[(d+o)*4+2],h[(d+o)*4+3]),j=a.color.toArray(a.modes.add(j,a.filter_bilinear())),h[(d+o)*4]=j[0],h[(d+o)*4+1]=j[1],h[(d+o)*4+2]=j[2],h[(d+
+o)*4+3]=j[3],a.shared.sX+=f;d+=i;a.shared.srcYOffset+=g}break;case c.SUBTRACT:for(k=0;k<p;k++){a.filter_new_scanline();for(o=0;o<q;o++)j=a.color.toInt(h[(d+o)*4],h[(d+o)*4+1],h[(d+o)*4+2],h[(d+o)*4+3]),j=a.color.toArray(a.modes.subtract(j,a.filter_bilinear())),h[(d+o)*4]=j[0],h[(d+o)*4+1]=j[1],h[(d+o)*4+2]=j[2],h[(d+o)*4+3]=j[3],a.shared.sX+=f;d+=i;a.shared.srcYOffset+=g}break;case c.LIGHTEST:for(k=0;k<p;k++){a.filter_new_scanline();for(o=0;o<q;o++)j=a.color.toInt(h[(d+o)*4],h[(d+o)*4+1],h[(d+o)*
+4+2],h[(d+o)*4+3]),j=a.color.toArray(a.modes.lightest(j,a.filter_bilinear())),h[(d+o)*4]=j[0],h[(d+o)*4+1]=j[1],h[(d+o)*4+2]=j[2],h[(d+o)*4+3]=j[3],a.shared.sX+=f;d+=i;a.shared.srcYOffset+=g}break;case c.DARKEST:for(k=0;k<p;k++){a.filter_new_scanline();for(o=0;o<q;o++)j=a.color.toInt(h[(d+o)*4],h[(d+o)*4+1],h[(d+o)*4+2],h[(d+o)*4+3]),j=a.color.toArray(a.modes.darkest(j,a.filter_bilinear())),h[(d+o)*4]=j[0],h[(d+o)*4+1]=j[1],h[(d+o)*4+2]=j[2],h[(d+o)*4+3]=j[3],a.shared.sX+=f;d+=i;a.shared.srcYOffset+=
+g}break;case c.REPLACE:for(k=0;k<p;k++){a.filter_new_scanline();for(o=0;o<q;o++)j=a.color.toInt(h[(d+o)*4],h[(d+o)*4+1],h[(d+o)*4+2],h[(d+o)*4+3]),j=b.format!==c.RGB&&h[(d+o)*4]!==255?a.color.toArray(a.modes.blend(j,a.filter_bilinear())):a.color.toArray(a.filter_bilinear()),h[(d+o)*4]=j[0],h[(d+o)*4+1]=j[1],h[(d+o)*4+2]=j[2],h[(d+o)*4+3]=j[3],a.shared.sX+=f;d+=i;a.shared.srcYOffset+=g}break;case c.DIFFERENCE:for(k=0;k<p;k++){a.filter_new_scanline();for(o=0;o<q;o++)j=a.color.toInt(h[(d+o)*4],h[(d+
+o)*4+1],h[(d+o)*4+2],h[(d+o)*4+3]),j=a.color.toArray(a.modes.difference(j,a.filter_bilinear())),h[(d+o)*4]=j[0],h[(d+o)*4+1]=j[1],h[(d+o)*4+2]=j[2],h[(d+o)*4+3]=j[3],a.shared.sX+=f;d+=i;a.shared.srcYOffset+=g}break;case c.EXCLUSION:for(k=0;k<p;k++){a.filter_new_scanline();for(o=0;o<q;o++)j=a.color.toInt(h[(d+o)*4],h[(d+o)*4+1],h[(d+o)*4+2],h[(d+o)*4+3]),j=a.color.toArray(a.modes.exclusion(j,a.filter_bilinear())),h[(d+o)*4]=j[0],h[(d+o)*4+1]=j[1],h[(d+o)*4+2]=j[2],h[(d+o)*4+3]=j[3],a.shared.sX+=f;
+d+=i;a.shared.srcYOffset+=g}break;case c.MULTIPLY:for(k=0;k<p;k++){a.filter_new_scanline();for(o=0;o<q;o++)j=a.color.toInt(h[(d+o)*4],h[(d+o)*4+1],h[(d+o)*4+2],h[(d+o)*4+3]),j=a.color.toArray(a.modes.multiply(j,a.filter_bilinear())),h[(d+o)*4]=j[0],h[(d+o)*4+1]=j[1],h[(d+o)*4+2]=j[2],h[(d+o)*4+3]=j[3],a.shared.sX+=f;d+=i;a.shared.srcYOffset+=g}break;case c.SCREEN:for(k=0;k<p;k++){a.filter_new_scanline();for(o=0;o<q;o++)j=a.color.toInt(h[(d+o)*4],h[(d+o)*4+1],h[(d+o)*4+2],h[(d+o)*4+3]),j=a.color.toArray(a.modes.screen(j,
+a.filter_bilinear())),h[(d+o)*4]=j[0],h[(d+o)*4+1]=j[1],h[(d+o)*4+2]=j[2],h[(d+o)*4+3]=j[3],a.shared.sX+=f;d+=i;a.shared.srcYOffset+=g}break;case c.OVERLAY:for(k=0;k<p;k++){a.filter_new_scanline();for(o=0;o<q;o++)j=a.color.toInt(h[(d+o)*4],h[(d+o)*4+1],h[(d+o)*4+2],h[(d+o)*4+3]),j=a.color.toArray(a.modes.overlay(j,a.filter_bilinear())),h[(d+o)*4]=j[0],h[(d+o)*4+1]=j[1],h[(d+o)*4+2]=j[2],h[(d+o)*4+3]=j[3],a.shared.sX+=f;d+=i;a.shared.srcYOffset+=g}break;case c.HARD_LIGHT:for(k=0;k<p;k++){a.filter_new_scanline();
+for(o=0;o<q;o++)j=a.color.toInt(h[(d+o)*4],h[(d+o)*4+1],h[(d+o)*4+2],h[(d+o)*4+3]),j=a.color.toArray(a.modes.hard_light(j,a.filter_bilinear())),h[(d+o)*4]=j[0],h[(d+o)*4+1]=j[1],h[(d+o)*4+2]=j[2],h[(d+o)*4+3]=j[3],a.shared.sX+=f;d+=i;a.shared.srcYOffset+=g}break;case c.SOFT_LIGHT:for(k=0;k<p;k++){a.filter_new_scanline();for(o=0;o<q;o++)j=a.color.toInt(h[(d+o)*4],h[(d+o)*4+1],h[(d+o)*4+2],h[(d+o)*4+3]),j=a.color.toArray(a.modes.soft_light(j,a.filter_bilinear())),h[(d+o)*4]=j[0],h[(d+o)*4+1]=j[1],h[(d+
+o)*4+2]=j[2],h[(d+o)*4+3]=j[3],a.shared.sX+=f;d+=i;a.shared.srcYOffset+=g}break;case c.DODGE:for(k=0;k<p;k++){a.filter_new_scanline();for(o=0;o<q;o++)j=a.color.toInt(h[(d+o)*4],h[(d+o)*4+1],h[(d+o)*4+2],h[(d+o)*4+3]),j=a.color.toArray(a.modes.dodge(j,a.filter_bilinear())),h[(d+o)*4]=j[0],h[(d+o)*4+1]=j[1],h[(d+o)*4+2]=j[2],h[(d+o)*4+3]=j[3],a.shared.sX+=f;d+=i;a.shared.srcYOffset+=g}break;case c.BURN:for(k=0;k<p;k++){a.filter_new_scanline();for(o=0;o<q;o++)j=a.color.toInt(h[(d+o)*4],h[(d+o)*4+1],
+h[(d+o)*4+2],h[(d+o)*4+3]),j=a.color.toArray(a.modes.burn(j,a.filter_bilinear())),h[(d+o)*4]=j[0],h[(d+o)*4+1]=j[1],h[(d+o)*4+2]=j[2],h[(d+o)*4+3]=j[3],a.shared.sX+=f;d+=i;a.shared.srcYOffset+=g}}};Ga.prototype.width=function(a){return"measureText"in d?d.measureText(typeof a==="number"?String.fromCharCode(a):a).width/S:0};Ga.list=function(){return["sans-serif","serif","monospace","fantasy","cursive"]};a.PFont=Ga;a.loadFont=function(b){if(b===p||b.indexOf(".svg")===-1)return new Ga(b);else{var c=a.loadGlyphs(b);
+return{name:b,glyph:!0,units_per_em:c.units_per_em,horiz_adv_x:1/c.units_per_em*c.horiz_adv_x,ascent:c.ascent,descent:c.descent,width:function(c){for(var d=0,e=c.length,h=0;h<e;h++)try{d+=parseFloat(a.glyphLook(a.glyphTable[b],c[h]).horiz_adv_x)}catch(l){w.debug(l)}return d/a.glyphTable[b].units_per_em}}}};a.createFont=function(b,c){if(arguments.length===2)return a.textSize(c),a.loadFont(b);else if(arguments.length===3)return a.textSize(c),a.loadFont(b);else if(arguments.length===4)return a.textSize(c),
+a.loadFont(b);else throw"incorrent number of parameters for createFont";};a.textFont=function(b,c){fa=b;c?a.textSize(c):ha.$ensureContext().font=S+"px "+fa.name};a.textSize=function(a){if(a)S=a,ha.$ensureContext().font=S+"px "+fa.name};a.textAlign=function(){arguments.length===1?Kb=arguments[0]:arguments.length===2&&(Kb=arguments[0],Jb=arguments[1])};G.prototype.textWidth=function(a){var a=oa(a).split(/\r?\n/g),c=0,h,f=a.length;d.font=S+"px "+fa.name;for(h=0;h<f;++h)c=e.max(c,d.measureText(a[h]).width);
+return c};L.prototype.textWidth=function(a){var a=oa(a).split(/\r?\n/g),c=0,d,f=a.length;Ja===p&&(Ja=A.createElement("canvas"));var g=Ja.getContext("2d");g.font=S+"px "+fa.name;for(d=0;d<f;++d)c=e.max(c,g.measureText(a[d]).width);return c};a.textLeading=function(a){eb=a};a.textAscent=function(){var b=p,c=p,d=p,f=p;return function(){if(c!==fa||b!==S){c=fa;b=S;var g=!1,h=a.color(0),i=0,j=S,n=S/2;for(f=new hb(fa.name,S,S,"k");n!==j;){for(var m=0;m<S;m++)f.get(m,n)!==h&&(g=!0,m=S);g?(j=n,g=!1):i=n;n=
+e.ceil((j+i)/2)}d=S-1-n+1}return d}}();a.textDescent=function(){var b=p,c=p,d=p,f=p;return function(){if(c!==fa||b!==S){c=fa;b=S;var g=!1,h=a.color(0),i=0,j=S,n=S/2;for(f=new hb(fa.name,S,0,"p");n!==j;){for(var m=0;m<S;m++)f.get(m,n)!==h&&(g=!0,m=S);g?(i=n,g=!1):j=n;n=e.ceil((j+i)/2)}d=n+1}return d}}();a.glyphLook=function(a,c){try{switch(c){case "1":return a.one;case "2":return a.two;case "3":return a.three;case "4":return a.four;case "5":return a.five;case "6":return a.six;case "7":return a.seven;
+case "8":return a.eight;case "9":return a.nine;case "0":return a.zero;case " ":return a.space;case "$":return a.dollar;case "!":return a.exclam;case '"':return a.quotedbl;case "#":return a.numbersign;case "%":return a.percent;case "&":return a.ampersand;case "'":return a.quotesingle;case "(":return a.parenleft;case ")":return a.parenright;case "*":return a.asterisk;case "+":return a.plus;case ",":return a.comma;case "-":return a.hyphen;case ".":return a.period;case "/":return a.slash;case "_":return a.underscore;
+case ":":return a.colon;case ";":return a.semicolon;case "<":return a.less;case "=":return a.equal;case ">":return a.greater;case "?":return a.question;case "@":return a.at;case "[":return a.bracketleft;case "\\":return a.backslash;case "]":return a.bracketright;case "^":return a.asciicircum;case "`":return a.grave;case "{":return a.braceleft;case "|":return a.bar;case "}":return a.braceright;case "~":return a.asciitilde;default:return a[c]}}catch(d){w.debug(d)}};G.prototype.text$line=function(b,
+e,h,f,g){f=f=0;if(fa.glyph){f=a.glyphTable[fa.name];d.save();d.translate(e,h+S);(g===c.RIGHT||g===c.CENTER)&&f.width(b);e=1/f.units_per_em*S;d.scale(e,e);e=0;for(h=b.length;e<h;e++)try{a.glyphLook(f,b[e]).draw()}catch(m){w.debug(m)}Xb()}else if(b&&"fillText"in d){if(Ia)d.fillStyle=a.color.toString(Ha),Ia=!1;if(g===c.RIGHT||g===c.CENTER)f=d.measureText(b).width,f=g===c.RIGHT?-f:-f/2;d.fillText(b,e+f,h)}};L.prototype.text$line=function(a,e,h,f,g){Ja===p&&(Ja=A.createElement("canvas"));var m=d;d=Ja.getContext("2d");
+d.font=S+"px "+fa.name;var i=d.measureText(a).width;Ja.width=i;Ja.height=S;d=Ja.getContext("2d");d.font=S+"px "+fa.name;d.textBaseline="top";G.prototype.text$line(a,0,0,0,c.LEFT);a=Ja.width/Ja.height;d=m;d.bindTexture(d.TEXTURE_2D,hd);Sb(Ja);d.texParameteri(d.TEXTURE_2D,d.TEXTURE_MAG_FILTER,d.LINEAR);d.texParameteri(d.TEXTURE_2D,d.TEXTURE_MIN_FILTER,d.LINEAR);d.texParameteri(d.TEXTURE_2D,d.TEXTURE_WRAP_T,d.CLAMP_TO_EDGE);d.texParameteri(d.TEXTURE_2D,d.TEXTURE_WRAP_S,d.CLAMP_TO_EDGE);m=0;g===c.RIGHT?
+m=-i:g===c.CENTER&&(m=-i/2);g=new E;i=S*0.5;g.translate(e+m-i/2,h-i,f);g.scale(-a*i,-i,i);g.translate(-1,-1,-1);g.transpose();e=new E;e.scale(1,-1,1);e.apply(V.array());e.transpose();d.useProgram(D);r("vertex2d",D,"Vertex",3,Oc);r("aTextureCoord2d",D,"aTextureCoord",2,Pc);C("uSampler2d",D,"uSampler",[0]);C("picktype2d",D,"picktype",1);v("model2d",D,"model",!1,g.array());v("view2d",D,"view",!1,e.array());s("color2d",D,"color",pa);d.bindBuffer(d.ELEMENT_ARRAY_BUFFER,Qc);d.drawElements(d.TRIANGLES,6,
+d.UNSIGNED_SHORT,0)};a.text=function(){if(Rc===c.SCREEN){a.pushMatrix();a.resetMatrix();var b=a.textAscent(),d=a.textDescent(),e=a.textWidth(arguments[0]),f=b+d,d=a.loadFont(fa.origName),e=a.createGraphics(e,f);e.beginDraw();e.fill(Ha);e.opaque=!1;e.background(0,0,0,0);e.textFont(d);e.textSize(S);e.text(arguments[0],0,b);e.endDraw();arguments.length===5||arguments.length===6?a.image(e,arguments[1],arguments[2]-b,arguments[3],arguments[4]):a.image(e,arguments[1],arguments[2]-b);a.popMatrix()}else Rc!==
+c.SHAPE&&(arguments.length===3?ib(oa(arguments[0]),arguments[1],arguments[2],0):arguments.length===4?ib(oa(arguments[0]),arguments[1],arguments[2],arguments[3]):arguments.length===5?Ra(oa(arguments[0]),arguments[1],arguments[2],arguments[3],arguments[4],0):arguments.length===6&&Ra(oa(arguments[0]),arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]))};a.textMode=function(a){Rc=a};a.loadGlyphs=function(b){var c,d,f,g,h,i,j,m,q,r,s,o,u=function(a,b){var c=0,d=[],f,e=RegExp(a,"g");for(f=
+d[c]=e.exec(b);f;)c++,f=d[c]=e.exec(b);return d},v=function(v){var t=v.getElementsByTagName("font");a.glyphTable[b].horiz_adv_x=t[0].getAttribute("horiz-adv-x");t=v.getElementsByTagName("font-face")[0];a.glyphTable[b].units_per_em=parseFloat(t.getAttribute("units-per-em"));a.glyphTable[b].ascent=parseFloat(t.getAttribute("ascent"));a.glyphTable[b].descent=parseFloat(t.getAttribute("descent"));for(var v=v.getElementsByTagName("glyph"),t=v.length,w=0;w<t;w++){var x=v[w].getAttribute("unicode"),B=v[w].getAttribute("glyph-name");
+s=v[w].getAttribute("horiz-adv-x");if(s===null)s=a.glyphTable[b].horiz_adv_x;j=v[w].getAttribute("d");if(j!==p){var y=j,J=u("[A-Za-z][0-9\\- ]+|Z",y);o="var path={draw:function(){saveContext();curContext.beginPath();";m=i=h=g=f=d=c=0;q="";r=J.length-1;for(var C=0;C<r;C++){var z=J[C][0],y=u("[0-9\\-]+",z);switch(z[0]){case "M":c=parseFloat(y[0][0]);d=parseFloat(y[1][0]);o+="curContext.moveTo("+c+","+-d+");";break;case "L":c=parseFloat(y[0][0]);d=parseFloat(y[1][0]);o+="curContext.lineTo("+c+","+-d+
+");";break;case "H":c=parseFloat(y[0][0]);o+="curContext.lineTo("+c+","+-d+");";break;case "V":d=parseFloat(y[0][0]);o+="curContext.lineTo("+c+","+-d+");";break;case "T":h=parseFloat(y[0][0]);i=parseFloat(y[1][0]);q==="Q"||q==="T"?(y=e.sqrt(e.pow(c-f,2)+e.pow(g-d,2)),m=e.PI+e.atan2(f-c,g-d),f=c+e.sin(m)*y,g=d+e.cos(m)*y):(f=c,g=d);o+="curContext.quadraticCurveTo("+f+","+-g+","+h+","+-i+");";c=h;d=i;break;case "Q":f=parseFloat(y[0][0]);g=parseFloat(y[1][0]);h=parseFloat(y[2][0]);i=parseFloat(y[3][0]);
+o+="curContext.quadraticCurveTo("+f+","+-g+","+h+","+-i+");";c=h;d=i;break;case "Z":o+="curContext.closePath();"}q=z[0]}o+="executeContextFill();executeContextStroke();";o+="restoreContext();";o+="curContext.translate("+s+",0);";o+="}}";eval(o);a.glyphTable[b][B]={name:B,unicode:x,horiz_adv_x:s,draw:o.draw}}}};a.glyphTable[b]={};(function(){var a;try{a=A.implementation.createDocument("","",null)}catch(c){w.debug(c.message);return}try{a.async=!1,a.load(b),v(a.getElementsByTagName("svg")[0])}catch(d){w.debug(d);
+try{var f=new T.XMLHttpRequest;f.open("GET",b,!1);f.send(null);v(f.responseXML.documentElement)}catch(e){w.debug(d)}}})(b);return a.glyphTable[b]};a.param=function(a){var c="data-processing-"+a;if(h.hasAttribute(c))return h.getAttribute(c);for(var c=0,d=h.childNodes.length;c<d;++c){var f=h.childNodes.item(c);if(!(f.nodeType!==1||f.tagName.toLowerCase()!=="param")&&f.getAttribute("name")===a)return f.getAttribute("value")}if(aa.params.hasOwnProperty(a))return aa.params[a];return null};F.prototype.translate=
+y("translate");F.prototype.scale=y("scale");F.prototype.pushMatrix=y("pushMatrix");F.prototype.popMatrix=y("popMatrix");F.prototype.resetMatrix=y("resetMatrix");F.prototype.applyMatrix=y("applyMatrix");F.prototype.rotate=y("rotate");F.prototype.redraw=y("redraw");F.prototype.ambientLight=y("ambientLight");F.prototype.directionalLight=y("directionalLight");F.prototype.lightFalloff=y("lightFalloff");F.prototype.lightSpecular=y("lightSpecular");F.prototype.pointLight=y("pointLight");F.prototype.noLights=
+y("noLights");F.prototype.spotLight=y("spotLight");F.prototype.box=y("box");F.prototype.sphere=y("sphere");F.prototype.ambient=y("ambient");F.prototype.emissive=y("emissive");F.prototype.shininess=y("shininess");F.prototype.specular=y("specular");F.prototype.fill=y("fill");F.prototype.stroke=y("stroke");F.prototype.strokeWeight=y("strokeWeight");F.prototype.smooth=y("smooth");F.prototype.noSmooth=y("noSmooth");F.prototype.point=y("point");F.prototype.vertex=y("vertex");F.prototype.endShape=y("endShape");
+F.prototype.bezierVertex=y("bezierVertex");F.prototype.curveVertex=y("curveVertex");F.prototype.curve=y("curve");F.prototype.line=y("line");F.prototype.bezier=y("bezier");F.prototype.rect=y("rect");F.prototype.ellipse=y("ellipse");F.prototype.background=y("background");F.prototype.image=y("image");F.prototype.textWidth=y("textWidth");F.prototype.text$line=y("text$line");F.prototype.$ensureContext=y("$ensureContext");F.prototype.$newPMatrix=y("$newPMatrix");F.prototype.size=function(b,d,e){jb(e===
+c.WEBGL?"3D":"2D");a.size(b,d,e)};F.prototype.$init=function(){};G.prototype.$init=function(){a.size(a.width,a.height);d.translate(0.5,0.5);d.lineCap="round";a.noSmooth();a.disableContextMenu()};L.prototype.$init=function(){a.use3DContext=!0};H.prototype.$ensureContext=function(){return d};a.extendClassChain=function(a){for(var c=[a],d=a.$upcast;d;d=d.$upcast)qb(d,a),c.push(d),a=d;for(;c.length>0;)c.pop().$self=a};a.extendStaticMembers=function(a,c){qb(a,c)};a.extendInterfaceMembers=function(a,c){qb(a,
+c)};a.addMethod=function(a,c,d){if(a[c]){var f=d.length,e=a[c];a[c]=function(){return arguments.length===f?d.apply(this,arguments):e.apply(this,arguments)}}else a[c]=d};a.createJavaArray=function(b,c){var d=null;if(typeof c[0]==="number"){var f=0|c[0];if(c.length<=1){d=[];d.length=f;for(var e=0;e<f;++e)d[e]=0}else for(var d=[],e=c.slice(1),h=0;h<f;++h)d.push(a.createJavaArray(b,e))}return d};$(h,"touchstart",function(b){h.setAttribute("style","-webkit-user-select: none");h.setAttribute("onclick",
+"void(0)");h.setAttribute("style","-webkit-tap-highlight-color:rgba(0,0,0,0)");for(var d=0,e=$a.length;d<e;d++){var f=$a[d][0],g=$a[d][1],m=$a[d][2];(g==="mouseout"||g==="mousemove"||g==="mousedown"||g==="mouseup"||g==="DOMMouseScroll"||g==="mousewheel"||g==="touchstart")&&Ab(f,g,m)}a.touchStart!==p||a.touchMove!==p||a.touchEnd!==p||a.touchCancel!==p?($(h,"touchstart",function(b){a.touchStart!==p&&(b=kb(b),a.touchStart(b))}),$(h,"touchmove",function(b){a.touchMove!==p&&(b.preventDefault(),b=kb(b),
+a.touchMove(b))}),$(h,"touchend",function(b){a.touchEnd!==p&&(b=kb(b),a.touchEnd(b))}),$(h,"touchcancel",function(b){a.touchCancel!==p&&(b=kb(b),a.touchCancel(b))})):($(h,"touchstart",function(b){sb(h,b.touches[0]);a.__mousePressed=!0;a.mouseDragging=!1;a.mouseButton=c.LEFT;typeof a.mousePressed==="function"&&a.mousePressed()}),$(h,"touchmove",function(b){b.preventDefault();sb(h,b.touches[0]);typeof a.mouseMoved==="function"&&!a.__mousePressed&&a.mouseMoved();if(typeof a.mouseDragged==="function"&&
+a.__mousePressed)a.mouseDragged(),a.mouseDragging=!0}),$(h,"touchend",function(){a.__mousePressed=!1;typeof a.mouseClicked==="function"&&!a.mouseDragging&&a.mouseClicked();typeof a.mouseReleased==="function"&&a.mouseReleased()}));h.dispatchEvent(b)});$(h,"mousemove",function(b){sb(h,b);typeof a.mouseMoved==="function"&&!a.__mousePressed&&a.mouseMoved();if(typeof a.mouseDragged==="function"&&a.__mousePressed)a.mouseDragged(),a.mouseDragging=!0});$(h,"mouseout",function(){typeof a.mouseOut==="function"&&
+a.mouseOut()});$(h,"mouseover",function(b){sb(h,b);typeof a.mouseOver==="function"&&a.mouseOver()});$(h,"mousedown",function(b){a.__mousePressed=!0;a.mouseDragging=!1;switch(b.which){case 1:a.mouseButton=c.LEFT;break;case 2:a.mouseButton=c.CENTER;break;case 3:a.mouseButton=c.RIGHT}typeof a.mousePressed==="function"&&a.mousePressed()});$(h,"mouseup",function(){a.__mousePressed=!1;typeof a.mouseClicked==="function"&&!a.mouseDragging&&a.mouseClicked();typeof a.mouseReleased==="function"&&a.mouseReleased()});
+ic=function(b){var c=0;b.wheelDelta?(c=b.wheelDelta/120,T.opera&&(c=-c)):b.detail&&(c=-b.detail/3);(a.mouseScroll=c)&&typeof a.mouseScrolled==="function"&&a.mouseScrolled()};$(A,"DOMMouseScroll",ic);$(A,"mousewheel",ic);typeof h==="string"&&(h=A.getElementById(h));h.getAttribute("tabindex")||h.setAttribute("tabindex",0);if(Sa)aa=new w.Sketch,aa.options.isTransparent=!0,jb(),a.size=function(b,h,k){k&&k===c.WEBGL?jb("3D"):jb("2D");a.toImageData=k===c.WEBGL?function(){var a=A.createElement("canvas").getContext("2d").createImageData(this.width,
+this.height),b=new Zc(this.width*this.height*4);d.readPixels(0,0,this.width,this.height,d.RGBA,d.UNSIGNED_BYTE,b);for(var c=0,h=b.length,j=this.height,k=this.width,l=a.data;c<h;c++)l[c]=b[(j-1-e.floor(c/4/k))*k*4+c%(k*4)];return a}:function(){return d.getImageData(0,0,this.width,this.height)};a.size(b,h,k)};else{aa=q instanceof w.Sketch?q:typeof q==="function"?new w.Sketch(q):q?w.compile(q):new w.Sketch(function(){});a.externals.sketch=aa;jb();if("mozOpaque"in h)h.mozOpaque=!aa.options.isTransparent;
+h.onfocus=function(){a.focused=!0};h.onblur=function(){a.focused=!1;if(!aa.options.globalKeyEvents)a.__keyPressed=!1,lb=[],ub=null};aa.options.pauseOnBlur&&($(T,"focus",function(){K&&a.loop()}),$(T,"blur",function(){K&&Eb&&(a.noLoop(),K=!0);a.__keyPressed=!1;lb=[];ub=null}));Sa=aa.options.globalKeyEvents?T:h;$(Sa,"keydown",cc);$(Sa,"keypress",Cb);$(Sa,"keyup",Db);for(var jc in w.lib)w.lib.hasOwnProperty(jc)&&(w.lib[jc].hasOwnProperty("attach")?w.lib[jc].attach(a):w.lib[jc]instanceof Function&&w.lib[jc].call(this));
+var zd=function(b){!aa.imageCache.pending&&aa.fonts.pending()?(aa.attach(b,sa),b.setup&&(b.setup(),d&&!a.use3DContext&&d.setTransform(1,0,0,1,0,0)),Ca(),b.draw&&(K?b.loop():b.redraw())):T.setTimeout(function(){zd(b)},10)};if(this.externals.canvas.id===p||!this.externals.canvas.id.length)this.externals.canvas.id="__processing"+Oa.length;nc[this.externals.canvas.id]=Oa.length;Oa.push(this);zd(a)}};w.debug=Hb;w.prototype=sa;w.compile=function(c){var e=new w.Sketch,c=Cc(c,e),c=Bc(c);e.sourceCode=c;return e};
+Hb=function(){var c={};typeof tinylog!=="undefined"&&typeof tinylog.log==="function"?c.log=tinylog.log:typeof A!=="undefined"&&!A.fake?function(){var e=A,p={zIndex:1E4,position:"fixed",bottom:"0px",width:"100%",height:"15%",fontFamily:"sans-serif",color:"#ccc",backgroundColor:"black"},s={position:"relative",fontFamily:"monospace",overflow:"auto",height:"100%",paddingTop:"5px"},w={height:"5px",marginTop:"-5px",cursor:"n-resize",backgroundColor:"darkgrey"},r={position:"absolute",top:"5px",right:"20px",
+color:"#111",MozBorderRadius:"4px",webkitBorderRadius:"4px",borderRadius:"4px",cursor:"pointer",fontWeight:"normal",textAlign:"center",padding:"3px 5px",backgroundColor:"#333",fontSize:"12px"},N={minHeight:"16px"},v={fontSize:"12px",margin:"0 8px 0 8px",maxWidth:"100%",whiteSpace:"pre-wrap",overflow:"auto"},x=e.defaultView,I=e.documentElement,T=I.style,B=function(){for(var c=arguments.length,e,h,q;c--;)for(q in h=arguments[c--],e=arguments[c].style,h)h.hasOwnProperty(q)&&(e[q]=h[q])},Y=function(c,
+e,h){c.addEventListener?c.addEventListener(e,h,!1):c.attachEvent&&c.attachEvent("on"+e,h);return[c,e,h]},ia=function(c,e,h){c.removeEventListener?c.removeEventListener(e,h,!1):c.detachEvent&&c.detachEvent("on"+e,h)},ca=function(c){for(var e=c.childNodes,h=e.length;h--;)c.removeChild(e.item(0))},ya=function(c,e){return c.appendChild(e)},ra=c.log=function(A){var ta,Oa=T.paddingBottom,Z=e.createElement("div"),la=Z.style,sa=ya(Z,e.createElement("div")),ga=ya(Z,e.createElement("div")),Ca=ya(Z,e.createElement("div")),
+Da=!1,Ga=!1,oa=!1,hb=0,ib=function(c){var e=x.innerHeight,h=sa.clientHeight;c<0?c=0:c+h>e&&(c=e-h);la.height=c/e*100+"%";T.paddingBottom=Z.clientHeight+"px"},Ra=[Y(e,"mousemove",function(c){if(Da)ib(x.innerHeight-c.clientY),ga.scrollTop=oa}),Y(e,"mouseup",function(){Da&&(Da=oa=!1)}),Y(sa,"dblclick",function(c){c.preventDefault();Ga?(ib(Ga),Ga=!1):(Ga=Z.clientHeight,la.height="0px")}),Y(sa,"mousedown",function(c){c.preventDefault();Da=!0;oa=ga.scrollTop}),Y(sa,"contextmenu",function(){Da=!1}),Y(Ca,
+"click",function(){ta()})];ta=function(){for(var e=Ra.length;e--;)ia.apply(c,Ra[e]);I.removeChild(Z);T.paddingBottom=Oa;ca(ga);ca(Z);c.log=ra};B(Z,p,ga,s,sa,w,Ca,r);Ca.title="Close Log";ya(Ca,e.createTextNode("\u2716"));sa.title="Double-click to toggle log minimization";I.insertBefore(Z,I.firstChild);c.log=function(c){hb===512?ga.removeChild(ga.firstChild):hb++;var h=ya(ga,e.createElement("div")),p=ya(h,e.createElement("div"));h.title=(new Date).toLocaleTimeString();B(h,N,p,v);ya(p,e.createTextNode(c));
+ga.scrollTop=ga.scrollHeight};c.log(A);T.paddingBottom=Z.clientHeight+"px"}}():typeof print==="function"&&(c.log=print);return c}();w.logger=Hb;w.version="@VERSION@";w.lib={};w.registerLibrary=function(c,e){w.lib[c]=e;e.hasOwnProperty("init")&&e.init(sa)};w.instances=Oa;w.getInstanceById=function(c){return Oa[nc[c]]};w.Sketch=function(c){this.attachFunction=c;this.options={isTransparent:!1,crispLines:!1,pauseOnBlur:!1,globalKeyEvents:!1};this.params={};this.imageCache={pending:0,images:{},add:function(c){if(ta){var e=
+new Image;e.onload=function(c){return function(){c.pending--}}(this);this.pending++;this.images[c]=e;e.src=c}else this.images[c]=null}};this.fonts={template:function(){if(!ta)return null;var c=A.createElement("p");c.style.fontFamily="serif";c.style.fontSize="72px";c.style.visibility="hidden";c.innerHTML="abcmmmmmmmmmmlll";A.getElementsByTagName("body")[0].appendChild(c);return c}(),attempt:0,pending:function(){for(var c=!0,e=0;e<this.fontList.length;e++)this.fontList[e].offsetWidth===this.template.offsetWidth&&
+this.fontList[e].offsetHeight===this.template.offsetHeight?(c=!1,this.attempt++):(A.getElementsByTagName("body")[0].removeChild(this.fontList[e]),this.fontList.splice(e--,1),this.attempt=0);if(this.attempt>=30){c=!0;for(e=0;e<this.fontList.length;e++)A.getElementsByTagName("body")[0].removeChild(this.fontList[e]),this.fontList.splice(e--,1)}c&&A.getElementsByTagName("body")[0].removeChild(this.template);return c},fontList:[],fontFamily:"",style:ta?A.createElement("style"):null,add:function(c){var e=
+typeof c==="object"?c.fontFace:c;this.fontFamily+="@font-face{\n  font-family: '"+e+"';\n  src:  url('"+(typeof c==="object"?c.url:c)+"');\n}\n";this.style.innerHTML=this.fontFamily;A.getElementsByTagName("head")[0].appendChild(this.style);c=A.createElement("p");c.style.fontFamily="'"+e+"', serif";c.style.fontSize="72px";c.style.visibility="hidden";c.innerHTML="abcmmmmmmmmmmlll";A.getElementsByTagName("body")[0].appendChild(c);this.fontList.push(c)}};this.sourceCode=void 0;this.attach=function(c){if(typeof this.attachFunction===
+"function")this.attachFunction(c);else if(this.sourceCode){var e=eval(this.sourceCode);e(c);this.attachFunction=e}else throw"Unable to attach sketch to the processing instance";};this.toString=function(){var c,e="((function(Sketch) {\n";e+="var sketch = new Sketch(\n"+this.sourceCode+");\n";for(c in this.options)if(this.options.hasOwnProperty(c)){var h=this.options[c];e+="sketch.options."+c+" = "+(typeof h==="string"?'"'+h+'"':""+h)+";\n"}for(c in this.imageCache)this.options.hasOwnProperty(c)&&(e+=
+'sketch.imageCache.add("'+c+'");\n');e+="return sketch;\n})(Processing.Sketch))";return e}};var Tb=function(c,e){function p(c,e){var h=new XMLHttpRequest;h.onreadystatechange=function(){if(h.readyState===4){var c;h.status!==200&&h.status!==0?c="Invalid XHR status "+h.status:h.responseText===""&&(c="No content");e(h.responseText,c)}};h.open("GET",c,!0);h.overrideMimeType&&h.overrideMimeType("application/json");h.setRequestHeader("If-Modified-Since","Fri, 01 Jan 1960 00:00:00 GMT");h.send(null)}function s(e,
+q){p(q,function(p,s){C[e]=p;++v;s&&r.push("  "+q+" ==> "+s);if(v===A)if(r.length===0)try{return new w(c,C.join("\n"))}catch(x){w.logger.log("Unable to execute pjs sketch: "+x)}else w.logger.log("Unable to load pjs sketch files:\n"+r.join("\n"))})}for(var C=[],r=[],A=e.length,v=0,x=0;x<A;++x)s(x,e[x])},zb=function(){for(var c=A.getElementsByTagName("canvas"),e=0,p=c.length;e<p;e++){var s=c[e].getAttribute("data-processing-sources");s===null&&(s=c[e].getAttribute("data-src"),s===null&&(s=c[e].getAttribute("datasrc")));
+if(s){for(var s=s.split(" "),w=0;w<s.length;)s[w]?w++:s.splice(w,1);Tb(c[e],s)}}};w.loadSketchFromSources=Tb;w.disableInit=function(){ta&&A.removeEventListener("DOMContentLoaded",zb,!1)};w.loadSketchFromSources=Tb;w.disableInit=function(){ta&&A.removeEventListener("DOMContentLoaded",zb,!1)};ta?(T.Processing=w,A.addEventListener("DOMContentLoaded",zb,!1)):this.Processing=w})(window,window.document,Math,function(){});

File media/main.css

+	font: 50% Arial, Helvetica, sans-serif;
+	margin: 0;
+	padding: 0;
+}
+
+h1, h2 {
+	font-family:  'BebasRegular',Tahoma, Arial, Geneva, sans-serif;
+}
+
+h1 {
+	font:27px/35px 'BebasRegular',Arial,sans-serif;
+}
+
+h2 {
+	font:18px/27px 'BebasRegular',Arial,sans-serif;
+}
+
+
+p {
+	margin: 10px 0;
+	padding: 0;
+}
+
+blockquote {
+	font-style: italic;	
+}
+
+#header-wrap {
+	position: fixed;
+	top: 0;
+	left: 0;
+	width: 100%;	
+	background-color:white;
+}
+
+#header-container {
+	height: 90px;
+}
+
+#header {
+	font: 18px/27px 'BebasRegular', Arial, sans-serif;
+	width: 940px;
+	margin: 0 auto;
+	position: relative;
+}
+
+#header h1 {
+	text-align: left;
+	width: 295px;
+	margin: 0;
+	position: absolute;
+	left: 60px;
+	top: 25px;
+	background-color:white;
+}
+
+#header h1 em{
+	font-size: small;
+	display: block;
+}
+
+#header ul {
+	margin: 0;
+	padding: 0;
+	list-style: none;
+	position: absolute;
+	top: 35px;
+	right: 0;
+}
+
+#header ul li {
+	float: left;
+	margin-right: 5px;
+}
+
+#header ul li a{
+	font-weight: bold;
+	font-size: 1.4em;
+	margin-right: 5px;
+	text-decoration: none;
+}
+
+#header ul li a:hover {
+}
+
+#container {
+	width: 940px;
+	margin: 0 auto;
+	font-size: 1.4em;
+	overflow: auto;
+	padding: 90px 0 40px;
+}
+
+#content {
+	float: left;
+	margin: 20px auto;
+	width: 900px;
+	font: 25px/32px 'TitilliumText22LRegular', Arial, sans-serif;letter-spacing: 0;
+}
+
+#sidebar {
+	float: right;
+	width: 275px;
+	margin-top: 10px;
+}
+
+#footer-wrap {
+	position: fixed;
+	bottom: 0;
+	left: 0;
+	width: 100%;	
+	background-color:white;
+}
+
+#footer-container {
+	height: 40px;
+}
+
+#footer {
+	font: 18px/27px 'BebasRegular', Arial, sans-serif;
+	width: 940px;
+	margin: 0 auto;
+	position: relative;
+}
+
+
+#footer ul {
+	margin: 0;
+	padding: 0;
+	list-style: none;
+	position: absolute;
+	right: 0;
+}
+
+#footer ul li {
+	float: left;
+	margin-right: 5px;
+}
+
+#footer ul li a{
+	margin-right: 5px;
+	text-decoration: none;
+}
+a{
+	color:#AC0604;
+	margin-right: 5px;
+	text-decoration: none;
+}
+
+
+#footer ul li a:hover {
+}
+
+#credits{
+float:left;
+font: 18px/27px 'BebasRegular', Arial, sans-serif;
+width: 240px;
+}
+
+

File media/style.css

Empty file added.