<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html>
<html xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'>
  <head>
    <b:include data='blog' name='all-head-content'/>
    <title><data:blog.pageTitle/></title>
    <b:skin><![CDATA[/*
 * Blogger Template Style
 *
 * Simple II
 * by Jason Sutter
 */

/* Variable definitions
   ====================
   <Variable name="bgcolor" description="Page Background Color"
             type="color" default="#fff" value="#ffffff">

   <Variable name="textcolor" description="Text Color"
             type="color" default="#000" value="#000000">

   <Variable name="pagetitlecolor" description="Blog Title Color"
             type="color" default="#000" value="#000000">

   <Variable name="titlecolor" description="Post Title Color"
             type="color" default="#000" value="#000000">

   <Variable name="footercolor" description="Date and Footer Color"
             type="color" default="#555" value="#555555">

   <Variable name="linkcolor" description="Link Color"
             type="color" default="#58a" value="#5588aa">

   <Variable name="visitedlinkcolor" description="Visited Link Color"
             type="color" default="#999" value="#999999"> Used to be #969

   <Variable name="bordercolor" description="Border Color"
             type="color" default="#999" value="#999999">

   <Variable name="bodyfont" description="Text Font"
             type="font" default="normal normal 100% Georgia,Serif;" value="normal normal 100% Georgia,Serif;">

   <Variable name="pagetitlefont" description="Blog Title Font"
             type="font"
             default="normal bold 200% Georgia,Serif" value="normal bold 200% Georgia,Serif">
*/

body {
  margin:0;
  font:$bodyfont;
  background:$bgcolor;
  color:$textcolor;
}

a:link {
  color:$linkcolor;
  text-decoration:none;
  }

a:visited {
  color:$visitedlinkcolor;
  text-decoration:none;
  }

a:hover {
  color:$titlecolor;
  text-decoration:underline;
}

a img {
  border-width:0;
}

#outer-wrapper {
  margin: 0px 3em 0 3em;
}

h1 {
  border-bottom:dotted 1px $bordercolor;
  margin-bottom:0px;
  color: $pagetitlecolor;
  font: $pagetitlefont;
}

h1 a, h1 a:link, h1 a:visited { 
  color: $pagetitlecolor;
}

h2 {
  margin:0px;
  padding: 0px;
}

#main .widget {
 padding-bottom:10px;
 margin-bottom:20px;
 border-bottom:dotted 1px $bordercolor;
 clear: both;
}

#main .Header {
  border-bottom-width: 0px;
}

h2.date-header {
  padding-top:15px;
  color:$footercolor;
  padding-bottom:0px;
  margin-bottom:0px;
  font-size: 90%;
}

h3.post-title {
  font-size: 140%;
  color: $titlecolor;
}

.post {
  padding-left:5%;
  padding-right:10%;
}

.post-footer {
  color:$footercolor;
}

#comments {
  padding-top:30px;
  color:$textcolor;
  padding-bottom:0px;
  margin-bottom:0px;
  font-weight:bold;
}

#comments .comment-footer {
  font-size:1em;
  font-weight:normal;
  color:$footercolor;
  margin-right:10px;
  display:inline;
}

.comment-author {
  margin-top: 3%;
}

.comment-body {
  font-size:1em;
  font-weight:normal;
}

.deleted-comment {
  font-style:italic;
  color:gray;
}
.comment-link {
  margin-left:.6em;
}

.feed-links {
  clear: both;
  line-height: 2.5em;
}

#blog-pager-newer-link {
  float: left;
 }

#blog-pager-older-link {
  float: right;
}
 
#blog-pager {   
  text-align: center; 
 }

.clear {
  clear: both;
}

.profile-img { 
  float: left;
  margin: 0 5px 5px 0;
}

body#layout #outer-wrapper {
  margin: 0px 50px 0 50px;
 }
/*---------- Modified from LifeNews ---------- */
/* A framed box with light colored background and smaller fontsize */
div.info
{	font-size: 85%;
	padding: 0px 0px 0px 5px;
	border: 2px inset #CCC
	background-color: #EEEEEE;
	}

/* a sidebar/inset picture with a centered title */

div.figure
{	float: right;
	margin: 2px 5px;
	padding: 2px 5px;
	border: 2px inset #CCC;
	background-color: #EEEEEE;
	text-align: center;
	font-size: smaller;
	font-family: "Trebuchet MS", Verdana, sans-serif;				/*"Times New Roman", Time, serif;*/
	}

div.figure p
{	text-align: left;
	}

div.figure img.life
{	margin: 3px;
	float: none;
	}

/* Code block */
div.codebox {
	padding: 3px;
	background-color: #FFFFFF;
	border: 1px solid #d8d8d8;
	font-size: 1em;
}

div.selall {
	text-transform: uppercase;
	border-bottom: 1px solid #CCCCCC;
	margin-bottom: 3px;
	font-size: 0.8em;
	font-weight: bold;
	display: block;
}

blockquote div.codebox {
	margin-left: 0;
}

div.codebox code {
	/* Also see tweaks.css */
	overflow: auto;
	display: block;
	height: auto;
	max-height: 200px;
	white-space: normal;
	padding-top: 5px;
	font: 0.9em Monaco, "Andale Mono","Courier New", Courier, mono;
	line-height: 1.3em;
	color: #8b8b8b;
	margin: 2px 0;
}
]]></b:skin>
    <script type='text/javascript'>
//<![CDATA[
var da="function"==typeof Object.defineProperties?Object.defineProperty:function(b,c,f){b!=Array.prototype&&b!=Object.prototype&&(b[c]=f.value)},ea="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global&&null!=global?global:this;function fa(b,c){if(c){var f=ea;b=b.split(".");for(var a=0;a<b.length-1;a++){var d=b[a];d in f||(f[d]={});f=f[d]}b=b[b.length-1];a=f[b];c=c(a);c!=a&&null!=c&&da(f,b,{configurable:!0,writable:!0,value:c})}}
fa("Number.isNaN",function(b){return b?b:function(b){return"number"===typeof b&&isNaN(b)}});fa("Number.isFinite",function(b){return b?b:function(b){return"number"!==typeof b?!1:!isNaN(b)&&Infinity!==b&&-Infinity!==b}});
(function(){window.performance||(window.performance={});window.performance.now||(window.performance.now=function(){return performance.now||performance.Gt||performance.Ht||performance.Kt||performance.webkitNow||function(){return(new Date).getTime()}}());window.requestAnimationFrame||(window.requestAnimationFrame=window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame);window.cancelRequestAnimationFrame||(window.cancelRequestAnimationFrame=
window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame||window.msCancelRequestAnimationFrame);window.Uint8Array?window.typedArrays=!0:(window.typedArrays=!1,window.Uint8Array=Array);window.Uint8ClampedArray||(window.Uint8ClampedArray=window.Uint8Array);window.Uint16Array||(window.Uint16Array=Array);window.Uint32Array||(window.Uint32Array=Array);var b=new Uint32Array(1);b[0]=4660;52===(new Uint8Array(b.buffer))[0]?window.littleEndian=!0:
window.littleEndian=!1;window.registerEvent=function(b,f,a,d){b.addEventListener?b.addEventListener(f,a,d):b.attachEvent("on"+f,a)}})();(function(){function b(a,d,e){this.type=a;this.name=e;this.elements=d;this.size=d*f.fi(a);this.Vi=1}function c(){this.dd=[];this.li=this.Sk=this.ki=this.Rk=0}var f={Ml:8,Nl:40,Kl:9,Ll:10,zl:0,xl:1,yl:2,vl:18,wl:19,fi:function(a){return 1<<(a&7)},typeName:function(a){var d=(0!==(a&16)?"Float":0!==(a&8)?"Uint":"Int")+8*(1<<(a&7));0!==(a&32)&&(d+="Clamped");return d}};c.prototype.tq=function(a){var d="";0<=a&&a<this.dd.length&&(a=this.dd[a],d=f.typeName(a.type)+"\t"+a.elements+"\t"+a.name+"\t"+a.Vi);
return d};c.prototype.c=function(a,d,e){for(var l=0,C=!1,K;l<this.dd.length&&!C;)K=this.dd[l],e===K.name?(C=!0,this.Sk+=1,this.li+=K.elements*f.fi(K.type)):l+=1;C?(this.dd[l].type=a,this.dd[l].elements=d,this.dd[l].Vi+=1,this.dd[l].size=d*f.fi(a)):(l=this.dd.length,this.dd[l]=new b(a,d,e));this.Rk+=1;this.ki+=d*f.fi(a)};c.prototype.Nn=function(a,d,e,l,C){a=a.buffer;l*=f.fi(d);switch(d){case f.Ml:e=new Uint8Array(a,l,e);break;case f.Nl:e=new Uint8Array(a,l,e);break;case f.Kl:e=new Uint16Array(a,l,
e);break;case f.Ll:e=new Uint32Array(a,l,e);break;case f.zl:e=new Int8Array(a,l,e);break;case f.xl:e=new Int16Array(a,l,e);break;case f.yl:e=new Int32Array(a,l,e);break;case f.vl:e=new Float32Array(a,l,e);break;case f.wl:e=new Float64Array(a,l,e);break;default:e=null,alert("Illegal type specified to allocator.typedView for "+C+": "+d)}return e};c.prototype.h=function(a,d,e){switch(a){case f.Ml:d=new Uint8Array(d);break;case f.Nl:d=new Uint8Array(d);break;case f.Kl:d=new Uint16Array(d);break;case f.Ll:d=
new Uint32Array(d);break;case f.zl:d=new Int8Array(d);break;case f.xl:d=new Int16Array(d);break;case f.yl:d=new Int32Array(d);break;case f.vl:d=new Float32Array(d);break;case f.wl:d=new Float64Array(d);break;default:d=null,alert("Illegal type specified to allocator.typedMemory for "+e+": "+a)}return d};c.prototype.ga=function(a,d,e){var l;(l=this.h(a,d,e))&&this.c(a,d,e);return l};Array.$=function(a,d,e,l,C,K){var g=0,b=[];b.l=C;b.type=a;b.Gj=null;if(0!==d*e){var f=C.ga(a,d*e,K);for(b.Gj=f;g<d;)b[g]=
C.Nn(f,a,e,g*e,K),g+=1;if(0!==l)if(f.fill)f.fill(l);else for(g=0;g<f.length;)f[g]=l,g+=1}return b};Array.Yn=function(a,d){d=a.l.ga(a.type,a[0].length,d);a[a.length]=d};Array.ed=function(a,d){d.Gj.set(a.Gj)};Array.kg=function(a,d){var e=Uint16,l,C=a.length,K=[],g=a.l,b=a[0].length/f.fi(e);for(l=0;l<C;l+=1)K[l]=g.Nn(a.Gj,e,b,l*b,d);return K};Array.Md=function(a,d,e){var l,C=a.length,K=[],g=a.l,b=a.type,f=a[0].length;for(l=0;l<C;l+=1)K[l]=g.Nn(a.Gj,b,f-d,l*f+d,e);return K};window.Allocator=c;window.Uint8=
f.Ml;window.Uint8Clamped=f.Nl;window.Uint16=f.Kl;window.Uint32=f.Ll;window.Int8=f.zl;window.Int16=f.xl;window.Int32=f.yl;window.Float32=f.vl;window.Float64=f.wl})();window.AliasManager={f:[],ne:function(){this.f=[];this.f.push(["Totalistic",""]);this.f.push(["","B3/S23"]);this.f.push(["Conway's Life","B3/S23"]);this.f.push(["2x2","B36/S125"]);this.f.push(["34 Life","B34/S34"]);this.f.push(["3-4 Life","B34/S34"]);this.f.push(["Amoeba","B357/S1358"]);this.f.push(["AntiLife","B0123478/S01234678"]);this.f.push(["Assimilation","B345/S4567"]);this.f.push(["Bacteria","B34/S456"]);this.f.push(["Blinkers","B345/S2"]);this.f.push(["Bugs","B3567/S15678"]);this.f.push(["Coagulations",
"B378/S235678"]);this.f.push(["Coral","B3/S45678"]);this.f.push(["Corrosion of Conformity","B3/S124"]);this.f.push(["Day & Night","B3678/S34678"]);this.f.push(["Day and Night","B3678/S34678"]);this.f.push(["Diamoeba","B35678/S5678"]);this.f.push(["DotLife","B3/S023"]);this.f.push(["DryLife","B37/S23"]);this.f.push(["EightLife","B3/S238"]);this.f.push(["Electrified Maze","B45/S12345"]);this.f.push(["Flock","B3/S12"]);this.f.push(["Fredkin","B1357/S02468"]);this.f.push(["Gnarl","B1/S1"]);this.f.push(["H-Trees",
"B1/S012345678"]);this.f.push(["HighLife","B36/S23"]);this.f.push(["HoneyLife","B38/S238"]);this.f.push(["Holstein","B35678/S4678"]);this.f.push(["Iceballs","B25678/S5678"]);this.f.push(["InverseLife","B012345678/S34678"]);this.f.push(["Land Rush","B36/S234578"]);this.f.push(["Life without Death","B3/S012345678"]);this.f.push(["Life","B3/S23"]);this.f.push(["Live Free or Die","B2/S0"]);this.f.push(["LongLife","B345/S5"]);this.f.push(["Long Life","B345/S5"]);this.f.push(["LowDeath","B368/S238"]);this.f.push(["LowLife",
"B3/S13"]);this.f.push(["Majority","B45678/S5678"]);this.f.push(["Maze","B3/S12345"]);this.f.push(["Maze with Mice","B37/S12345"]);this.f.push(["Mazectric","B3/S1234"]);this.f.push(["Mazectric with Mice","B37/S1234"]);this.f.push(["Morley","B368/S245"]);this.f.push(["Move","B368/S245"]);this.f.push(["Pedestrian Life","B38/S23"]);this.f.push(["Persian Rug","B234/S"]);this.f.push(["Plow World","B378/S012345678"]);this.f.push(["Pseudo Life","B357/S238"]);this.f.push(["Replicator","B1357/S1357"]);this.f.push(["Seeds",
"B2/S"]);this.f.push(["Serviettes","B234/S"]);this.f.push(["Slow Blob","B367/S125678"]);this.f.push(["SnowLife","B3/S1237"]);this.f.push(["Stains","B3678/S235678"]);this.f.push(["Vote","B5678/S45678"]);this.f.push(["Vote 4/5","B4678/S35678"]);this.f.push(["Walled Cities","B45678/S2345"]);this.f.push(["Isotropic Non-Totalistic",""]);this.f.push(["aLife","B3/S234iw"]);this.f.push(["CB2","B2ae4i/S1e2in"]);this.f.push(["DLife","B3-n/S23"]);this.f.push(["GlideLife","B34ek5ak/S2-c34z"]);this.f.push(["Goat Flock",
"B2in3/S123a"]);this.f.push(["Just Friends","B2-a/S12"]);this.f.push(["Kgdm","B3/S2-c3-en4ceitz"]);this.f.push(["Salad","B2i34c/S2-i3"]);this.f.push(["TauLife","B3-nr/S2-i34-aij"]);this.f.push(["tDryLife","B37/S2-i34q"]);this.f.push(["tHighLife","B36/S2-i34q"]);this.f.push(["TLife","B3/S2-i34q"]);this.f.push(["Generations",""]);this.f.push(["Banners","2367/3457/5"]);this.f.push(["BelZhab","23/23/8"]);this.f.push(["BelZhab Sediment","145678/23/8"]);this.f.push(["Bloomerang","234/34678/24"]);this.f.push(["Bombers",
"345/24/25"]);this.f.push(["Brain 6","6/246/3"]);this.f.push(["Brian's Brain","/2/3"]);this.f.push(["Burst","0235678/3468/9"]);this.f.push(["BurstII","235678/3468/9"]);this.f.push(["Caterpillars","124567/378/4"]);this.f.push(["Chenille","05678/24567/6"]);this.f.push(["Circuit Genesis","2345/1234/8"]);this.f.push(["Cooties","23/2/8"]);this.f.push(["Ebb&Flow","012478/36/18"]);this.f.push(["Ebb&Flow II","012468/37/18"]);this.f.push(["Faders","2/2/25"]);this.f.push(["Fireworks","2/13/21"]);this.f.push(["Flaming Starbows",
"347/23/8"]);this.f.push(["Frogs","12/34/3"]);this.f.push(["Frozen spirals","356/23/6"]);this.f.push(["Glisserati","035678/245678/7"]);this.f.push(["Glissergy","035678/245678/5"]);this.f.push(["Lava","12345/45678/8"]);this.f.push(["Lines","012345/458/3"]);this.f.push(["LivingOn TheEdge","345/3/6"]);this.f.push(["Meteor Guns","01245678/3/8"]);this.f.push(["Nova","45678/2478/25"]);this.f.push(["OrthoGo","3/2/4"]);this.f.push(["Prairie on fire","345/34/6"]);this.f.push(["RainZha","2/23/8"]);this.f.push(["Rake",
"3467/2678/6"]);this.f.push(["SediMental","45678/25678/4"]);this.f.push(["Snake","03467/25/6"]);this.f.push(["SoftFreeze","13458/38/6"]);this.f.push(["Spirals","2/234/5"]);this.f.push(["Star Wars","345/2/4"]);this.f.push(["Sticks","3456/2/6"]);this.f.push(["Swirl","23/34/8"]);this.f.push(["ThrillGrill","1234/34/48"]);this.f.push(["Transers","345/26/5"]);this.f.push(["TransersII","0345/26/6"]);this.f.push(["Wanderers","345/34678/5"]);this.f.push(["Worms","3467/25/6"]);this.f.push(["Xtasy","1456/2356/16"])},
rr:function(b){var c=null,f=0;for(b=b.toLowerCase();f<this.f.length&&null===c;)""!==this.f[f][1]&&this.f[f][0].toLowerCase()===b&&(c=this.f[f][1]),f+=1;return c},qr:function(b){for(var c=null,f=0;f<this.f.length&&null===c;)""!==this.f[f][1]&&this.f[f][1]===b&&(c=this.f[f][0]),f+=1;return c}};(function(){function b(a,e,g,d,l){this.g=l;this.ka=a;this.ma=e;this.ya=g;this.message="";this.S=a;this.W=e;this.ra=g;this.Te="";this.c=d;this.na=!1;this.ia=this.o=0;this.Fp=this.bm="rgb(32,255,255)";this.h=0;this.Wl=!1;this.Za=this.jb="black";this.enabled=!1;this.B=30}function c(a,e,g,d){this.name=a;this.width=e;this.height=g;this.Vi=d}function f(a,e){this.h=e;this.o=a;this.c=[]}function a(a,e,g,d,b,f,c,h,m,u,E,B,G,t,F,p,v,A,r,L){this.id=a;this.G="";this.bg=-1;this.j=!1;this.Ob=e;this.caller=g;this.icon=
r;this.x=b;this.y=f;this.Td=b;this.c=f;this.position=d;this.width=c;this.height=h;this.border=t;this.type=B;G===l.bo?this.orientation=c>=h?l.dc:l.vertical:this.orientation=G;this.lower=m;this.upper=u;B===l.nh?this.current=[E,E]:this.current=E;this.Rn=F;this.Xa=p;this.cn=v;this.fixed=A;this.Ek=!1;this.Ni=this.Mi=this.Pi=this.Oi=this.ep=this.cp=-1;this.textAlign=l.mo;this.enabled=!0;this.locked=!1;this.xj=[];this.Uk=0;this.Er=!1;this.ce=L.ce;this.Fd=L.Fd;this.jd=L.jd;this.oc=L.oc;this.sf=L.sf;this.rf=
L.rf;this.qh=L.qh;this.xg=L.xg;this.vf=L.vf;this.gg=L.gg;this.border=L.border;this.font=L.Ih}function d(a,e,g,d,b){this.c=d;this.Ih=b;this.locked=this.j=!1;this.qg=this.Me=-1;this.Ig=this.Jb=!1;this.S=6;this.Ob=a;this.Dc=[];this.Ca=0;this.ce="";this.Fd=0;this.jd="";this.oc=0;this.sf="";this.rf=0;this.qh="";this.xg=0;this.vf="";this.border=this.gg=0;this.o=l.bo;this.pg=this.wi=-1;this.om=null;this.Pj=e;this.caller=g;this.Sa=null}function e(a,e,g,d,l,f){var C=this,h=0,m=a.canvas;this.Jm=!0;this.S=this.W=
40;this.ft=50;this.ue=0;this.c=this.h=this.o=-1;this.kh=!1;this.caller=l;this.Ye=this.ea=this.hh=this.Ta=!1;this.Lb=4;this.tk=f;this.hasFocus=this.am=!1;this.xi=!0;this.Bj=!1;this.Aj=1;this.ce="black";this.Fd=.7;this.jd="rgb(32,255,255)";this.oc=1;this.sf="rgb(0,240,32)";this.rf=.7;this.qh="blue";this.xg=.7;this.vf="grey";this.border=this.gg=1;this.lo=function(h){return function(){h.ya(h)}}(this);this.Sa=d;this.Ld=a;this.fc=e;this.Jb=!1;this.xf=this.wf=-1;this.bc=null;this.Ih=g;this.ei=this.rh=!1;
this.Fk=performance.now();this.ih=5;this.vj=0;this.Nm=[];this.Pm=[];this.Mm=[];for(h=0;5>h;h+=1)this.Nm[h]=0,this.Pm[h]=0,this.Mm[h]=0;this.Ri=null;this.wh=!1;this.notification=new b(25,100,25,e,this);this.bp=performance.now();this.Ig=this.Qn=!1;this.offsetTop=this.offsetLeft=0;registerEvent(m,"mousedown",function(h){C.ia(C,h)},!1);registerEvent(m,"mousemove",function(h){C.ka(C,h)},!1);registerEvent(m,"mouseup",function(h){C.ra(C,h)},!1);registerEvent(m,"mouseover",function(h){C.na(C,h)},!1);registerEvent(m,
"mouseout",function(h){C.ma(C,h)},!1);registerEvent(m,"touchstart",function(h){C.B(C,h)},!1);registerEvent(m,"touchmove",function(h){C.B(C,h)},!1);registerEvent(m,"touchend",function(h){C.B(C,h)},!1)}b.prototype.Sg=function(){var a=!1;if(""!==this.message||""!==this.Te)a=!0;return a};b.prototype.clear=function(a,e){a?""!==this.Te&&(e?this.Te="":this.ia=performance.now()-(this.S+this.W)):""!==this.message&&(e?this.message="":this.o=performance.now()-(this.ka+this.ma))};b.prototype.F=function(a,e,g){this.enabled&&
(g?this.Te!==a&&(this.Te=a,this.S=240,this.W=16*e,this.ra=240,this.ia=performance.now(),this.h=0,this.Wl=!1):(this.message=a,this.ka=240,this.ma=16*e,this.ya=240,this.o=performance.now()))};b.prototype.Yf=function(a,e){96>this.c.canvas.width&&(this.B=24);var C=this.B;var d=this.c.measureText(a).width>>1;if(this.na){this.c.fillStyle=this.Za;var K=this.c.globalAlpha;this.c.globalAlpha=.5*K;this.c.fillRect(-d-20,-C,2*d+40,2*C);this.c.globalAlpha=K}this.c.fillStyle=this.jb;this.c.fillText(a,-d+2,2);e?
this.Wl?(this.c.fillStyle=128>this.h?"rgb("+2*this.h+","+2*this.h+",255)":"rgb("+2*(256-this.h)+","+2*(256-this.h)+",255)",this.h=this.h+4&255):this.c.fillStyle=this.Fp:this.c.fillStyle=this.bm;this.c.fillText(a,-d,0)};b.prototype.Va=function(a,e,g,d,l,b,f){var h=this.B,C=h+2,K=this.g.Lb,c=60,k=!0;this.g.Ta?(c=0,b=this.c.canvas.height/2,this.na=!0):this.na=!1;""!==a&&(k=!1,l=performance.now()-l,this.c.save(),this.g.ea&&(f?(c=0,b=this.c.canvas.height/2):(h/=K,C=C/K|0,b=b/K|0,c=c/K|0)),this.c.font=
h+"px Arial",this.c.translate(this.c.canvas.width/2-1,c+b),l<=e?(b=l/e,b*=b,this.c.globalAlpha=b,this.c.scale(b,b)):l>e+g&&l<=e+g+d&&(b=(d-(l-(e+g)))/d,b*=b,this.c.globalAlpha=b,this.c.scale(b,b)),l>e+g+d?k=!0:(e=a.indexOf("\\n"),-1===e?this.Yf(a,f):(this.Yf(a.substr(0,e),f),this.c.translate(0,C),this.Yf(a.substr(e+2),f))),this.c.restore());return k};b.prototype.update=function(){this.Va(this.message,this.ka,this.ma,this.ya,this.o,36,!1)&&(this.message="");this.g.ea&&"Expand"!==this.Te&&"Launch"!==
this.Te||!this.Va(this.Te,this.S,this.W,this.ra,this.ia,0,!0)||(this.Te="")};f.prototype.Yf=function(a,e,g){this.h.drawImage(this.o,a.Vi*a.width,0,a.width,a.height,e,g,a.width,a.height)};f.prototype.length=function(){return this.c.length};f.prototype.icon=function(a){var e,C=this.c,d=this.length(),l=null;for(e=0;e<d&&!l;)C[e].name===a?l=C[e]:e+=1;return l};f.prototype.add=function(a,e,g){var C=this.c.length;this.c[C]=new c(a,e,g,C)};var l={bo:0,dc:1,vertical:2,nh:0,button:1,toggle:2,Sd:3,list:4,label:5,
sn:0,Od:1,left:0,mo:1,right:2,Qk:0,Ec:1,Go:2,Vd:3,Vp:4,Ag:5,nq:6,pd:7,Sr:8};a.prototype.Aq=function(a,e){this.x=this.Td;this.y=this.c;switch(this.position){case l.Qk:this.x=(a-this.width>>1)+this.Td;break;case l.Ec:this.x=a+this.Td;break;case l.Go:this.y=(e-this.height>>1)+this.c;this.x=a+this.Td;break;case l.Vd:this.x=a+this.Td;this.y=e+this.c;break;case l.Vp:this.x=(a-this.width>>1)+this.Td;this.y=e+this.c;break;case l.Ag:this.y=e+this.c;break;case l.nq:this.y=(e-this.height>>1)+this.c;break;case l.Sr:this.x=
(a-this.width>>1)+this.Td,this.y=(e-this.height>>1)+this.c}};a.prototype.$n=function(a,e){var C=this.Uk;this.xj[C]=[a,e];this.Uk=C+1};a.prototype.Xn=function(a){var e=[],C;var d=a.length;for(C=0;C<d;C+=1)a[C].$n(this,!0);d=e.length;for(C=0;C<d;C+=1)e[C].$n(this,!1)};a.prototype.$r=function(a,e){var C=!1;this.enabled&&a>=this.x&&a<this.x+this.width&&e>=this.y&&e<this.y+this.height&&(C=!0);return C};d.prototype.B=function(a,e){var C=!1,d=a.Uk;a.type===l.list&&a.upper===l.Od?C=a.current[0]:C=a.current===
a.upper;a.Er&&(C=!C);if(C&&e)for(e=0;e<d;e+=1)C=C&&this.B(a.xj[e][0],a.xj[e][1]);return C};d.prototype.hq=function(a){var e,C=a.Uk;var d=!0;for(e=0;e<C;e+=1)d=d&&this.B(a.xj[e][0],a.xj[e][1]);a.enabled=d};d.prototype.ne=function(){var a;for(a=0;a<this.Ca;a+=1){var e=this.Dc[a];e.enabled=!0;switch(e.type){case l.toggle:e.Ob&&(e.current=e.Ob(e.current===e.upper,!1,this.caller)?e.upper:e.lower);break;case l.nh:e.Ob&&(e.current=e.Ob(e.current,!1,this.caller));break;case l.list:e.Ob&&(e.current=e.Ob(e.current,
!1,this.caller))}this.hq(e)}};d.prototype.Ed=function(e,d,g,b,f,c,q,h,m){this.Dc[this.Ca]=new a(this.Ca,e,this.caller,d,g,b,f,c,q,m,h,l.list,this.o,this.border,!0,"","",-1,[],this);this.Ca+=1;return this.Dc[this.Ca-1]};d.prototype.Qf=function(e,d,g,b,f,c,q,h,m,u,E,B){this.Dc[this.Ca]=new a(this.Ca,e,this.caller,d,g,b,f,c,q,h,m,l.nh,this.o,this.border,!0,u,E,B,null,this);this.Ca+=1;return this.Dc[this.Ca-1]};d.prototype.Na=function(e,d,g,b,f,c){this.Dc[this.Ca]=new a(this.Ca,null,null,e,d,g,b,f,0,
0,0,l.label,this.o,this.border,!0,c,"",-1,null,this);this.Ca+=1;return this.Dc[this.Ca-1]};d.prototype.Qj=function(e,d,g,b,f){this.Dc[this.Ca]=new a(this.Ca,e,this.caller,d,g,b,40,40,0,0,0,l.button,this.o,this.border,!0,f,"",-1,null,this);this.Ca+=1;return this.Dc[this.Ca-1]};d.prototype.sq=function(){this.Dc[this.Ca]=new a(this.Ca,null,null,Menu.Ag,0,-40,100,40,0,100,0,l.Sd,this.o,this.border,!1,"","",0,null,this);this.Ca+=1;return this.Dc[this.Ca-1]};d.prototype.h=function(a,e,d){var C;a+=String();
if(""!==a){this.c.save();this.c.translate(e.x+e.width/2,e.y+e.height/2);this.c.font=e.font;e.orientation===l.vertical&&this.c.rotate(.5*Math.PI);var g=this.c.measureText(a).width;var K=e.orientation===l.vertical?e.height:e.width;if(g>=K-6){if(C=a.length){do{--C;var b=a.substr(0,C)+"...";g=this.c.measureText(b).width}while(1<C&&g>=K-6)}a=b}switch(e.textAlign){case l.left:var h=e.width/2-2;break;case l.mo:h=g/2;break;case l.right:h=g/2-(e.width-g)/2+4}this.c.fillStyle=e.ce;d&&this.c.fillRect(2-h,2,
g,2);this.c.fillText(a,2-h+.5,2.5);this.c.fillStyle=e.locked||this.locked?e.vf:e.jd;this.c.fillText(a,-h+.5,.5);d&&this.c.fillRect(-h,0,g,2);this.c.restore()}};d.prototype.ka=function(a){this.c.globalAlpha=this.oc;this.h(a.Xa,a,!1)};d.prototype.W=function(a){this.c.globalAlpha=this.oc;this.h(a.Xa,a,!1);a.icon&&this.Sa.Yf(a.icon,a.x,a.y)};d.prototype.na=function(a){var e=(a.current-a.lower)/(a.upper-a.lower);this.c.globalAlpha=this.Fd;this.c.fillStyle=this.jd;a.orientation===l.dc?(e*=a.width-3,this.c.fillRect(a.x+
(e+1|0),a.y,1,a.height)):(e*=a.height-3,this.c.fillRect(a.x,a.y+(e+1|0),a.width,1));e=a.Xa;a.Rn&&(e=-1!==a.fixed?e+a.current.toFixed(a.fixed):e+a.current,e+=a.cn);""!==e&&(this.c.globalAlpha=this.oc,this.h(e,a,!1))};d.prototype.ra=function(a,e){var C=(a.current[0]-a.lower)/(a.upper-a.lower);var d=this.S;a.orientation===l.dc?(C*=a.width-3,C=C+1|0,e&&(this.c.fillStyle=this.sf,this.c.globalAlpha=this.rf,this.c.fillRect(a.x+C-d,a.y,d,a.height),this.c.fillRect(a.x+C+1,a.y,d,a.height)),a.locked||this.locked?
(this.c.fillStyle=this.vf,this.c.globalAlpha=this.gg):(this.c.fillStyle=this.jd,this.c.globalAlpha=this.oc),this.c.fillRect(a.x+C,a.y,1,a.height)):(C*=a.height-3,C=C+1|0,e&&(this.c.fillStyle=this.sf,this.c.globalAlpha=this.rf,this.c.fillRect(a.x,a.y+C-d,a.width,d),this.c.fillRect(a.x,a.y+C+1,a.width,d)),a.locked||this.locked?(this.c.fillStyle=this.vf,this.c.globalAlpha=this.gg):(this.c.fillStyle=this.jd,this.c.globalAlpha=this.oc),this.c.fillRect(a.x,a.y+C,a.width,1));e=a.Xa;a.Rn&&(e=0<=a.fixed?e+
a.current[1].toFixed(a.fixed):e+a.current[1]);e+=a.cn;""!==e&&(this.c.globalAlpha=this.oc,this.h(e,a,!1))};d.prototype.ya=function(a){this.c.globalAlpha=this.oc;var e="-"===a.lower&&""===a.upper&&a.current===a.lower;var C=a.Xa;a.Rn&&!e&&(C+=a.current);C+=a.cn;this.h(C,a,e)};d.prototype.ma=function(a,e){var C=a.x;var d=a.y;var K=a.width;var b=a.height;var f=a.orientation;var h=a.current;var m=a.lower;var u=m.length;var c=a.orientation===l.dc?K/u:b/u;this.c.globalAlpha=this.xg;this.c.fillStyle=this.qh;
if(a.upper===l.sn){var B=a.current;a.orientation===l.dc?this.c.fillRect(C+B*c+1,d+1,c-2,b-2):this.c.fillRect(C+1,d+1+B*c,K-2,c-2)}else if(a.orientation===l.dc)for(B=0;B<u;B+=1)h[B]&&this.c.fillRect(C+B*c+1,d+1,c-2,b-2);else for(B=0;B<u;B+=1)h[B]&&this.c.fillRect(C+1,d+1+B*c,K-2,c-2);this.c.globalAlpha=this.oc;if(a.orientation===l.dc)for(B=0;B<u;B+=1)a.icon[B]&&this.Sa.Yf(a.icon[B],a.x+c*B,a.y);else for(B=0;B<u;B+=1)a.icon[B]&&this.Sa.Yf(a.icon[B],a.x,a.y+c*B);e?(this.c.globalAlpha=this.rf,this.c.fillStyle=
this.sf,a.orientation===l.dc?(B=(this.Me-C)/K*u|0,0<=B&&B<u&&this.c.fillRect(C+B*c+.5,d+.5,c-1,b-1)):(B=(this.qg-d)/b*u|0,0<=B&&B<u&&this.c.fillRect(C+.5,d+.5+B*c,K-1,c-1)),a.bg=B):a.bg=-1;this.c.globalAlpha=this.oc;this.c.fillStyle=this.jd;if(f===l.dc)for(B=0;B<u;B+=1)C=m[B],""!==C&&(this.c.save(),this.c.translate((.5+(B-u/2))*c,0),this.h(C,a,!1),this.c.restore());else for(B=0;B<u;B+=1)C=m[B],""!==C&&(this.c.save(),this.c.translate(0,(.5+(B-u/2))*c),this.h(C,a,!1),this.c.restore())};d.prototype.ia=
function(a,e,d,b){!(d===b||-1===b&&e)||a.type!==l.button&&a.type!==l.toggle?(this.c.fillStyle=a.ce,this.c.globalAlpha=a.Fd):(this.c.fillStyle=a.sf,this.c.globalAlpha=a.rf);switch(a.type){case l.Sd:var g=(a.current-a.lower)/(a.upper-a.lower);this.c.fillStyle=a.qh;this.c.globalAlpha=a.xg;a.orientation===l.dc?(g*=a.width-3,g=g+1|0,this.c.fillRect(a.x,a.y,g,a.height),this.c.fillStyle=a.ce,this.c.globalAlpha=a.Fd,this.c.fillRect(a.x+g,a.y,a.width-g,a.height)):(g*=a.height-3,g=g+1|0,this.c.fillRect(a.x,
a.y,a.width,g),this.c.fillStyle=a.ce,this.c.fillRect(a.x,a.y+g,a.width,a.height-g));break;case l.nh:g=(a.current[0]-a.lower)/(a.upper-a.lower);if(d===b||-1===b&&e){var C=this.S;if(a.orientation===l.dc){g*=a.width-3;g=g+1|0;var K=g-C;0<K&&this.c.fillRect(a.x,a.y,K,a.height);K=1+g+C;K<a.width&&this.c.fillRect(a.x+K,a.y,a.width-K,a.height)}else g*=a.height-3,g=g+1|0,K=g-C,0<K&&this.c.fillRect(a.x,a.y,a.width,K),K=1+g+C,K<a.height&&this.c.fillRect(a.x,a.y+K,a.width,a.height-K)}else this.c.fillRect(a.x,
a.y,a.width,a.height);break;default:this.c.fillRect(a.x,a.y,a.width,a.height)}a.type!==l.list&&a.icon&&(this.c.globalAlpha=a.oc,this.Sa.Yf(a.icon,a.x,a.y),!(d===b||-1===b&&e)||a.type!==l.button&&a.type!==l.toggle||(this.c.globalAlpha=a.xg,this.c.fillRect(a.x,a.y,a.width,a.height)));if(0<a.border)switch(a.locked||this.locked?(this.c.strokeStyle=a.vf,this.c.globalAlpha=a.gg):(this.c.strokeStyle=a.jd,this.c.globalAlpha=a.oc),this.c.lineWidth=a.border,a.type){case l.label:break;case l.list:C=a.lower.length;
if(a.orientation===l.dc)for(K=a.width/C,g=0;g<C;g+=1)this.c.strokeRect(a.x+.5+g*K,a.y+.5,K-1,a.height-1);else for(K=a.height/C,g=0;g<C;g+=1)this.c.strokeRect(a.x+.5,a.y+.5+g*K,a.width-1,K-1);break;default:this.c.strokeRect(a.x+.5,a.y+.5,a.width-1,a.height-1)}switch(a.type){case l.button:this.W(a);break;case l.label:this.ka(a);break;case l.nh:this.ra(a,d===b||-1===b&&e);break;case l.toggle:this.ya(a);break;case l.Sd:this.na(a);break;case l.list:this.ma(a,d===b||-1===b&&e)}if(d===b)switch(a.type){case l.nh:g=
this.qg,a.orientation===l.vertical?(g<a.y?g=a.y:g>=a.y+a.height&&(g=a.y+a.height-1),a.current[0]=(g-a.y)/(a.height-1)*(a.upper-a.lower)+a.lower):(g=this.Me,g<a.x?g=a.x:g>=a.x+a.width&&(g=a.x+a.width-1),a.current[0]=(g-a.x)/(a.width-1)*(a.upper-a.lower)+a.lower),a.Ob&&(a.current=a.Ob(a.current,!0,a.caller))}if(e&&!this.Jb&&a.Ek)switch(a.type){case l.button:a.Ob&&a.Ob(a.caller);break;case l.toggle:a.current=a.current===a.upper?a.lower:a.upper;a.Ob&&a.Ob(a.current===a.upper,!0,a.caller);break;case l.list:C=
a.lower.length,K=a.orientation===l.dc?(this.Me-a.x)/a.width*C|0:(this.qg-a.y)/a.height*C|0,a.upper===l.sn?a.Ob?a.current=a.Ob(K,!0,a.caller):a.current=K:(a.current[K]=!a.current[K],a.Ob&&a.Ob(a.current,!0,a.caller))}e&&d===b?(a.Ek=this.Jb,a.cp=this.Me,a.ep=this.qg):(a.Ek=!1,a.cp=-1,a.ep=-1)};d.prototype.qm=function(){var a,e,d=this.c.canvas.width,l=this.c.canvas.height;var b=!1;this.pg=-1;if(!this.j){var f=this.wi;this.c.textAlign="left";for(e=0;e<this.Ca;e+=1){var c=this.Dc[e];if(!c.j){c.Aq(d,l);
(a=c.$r(this.Me,this.qg)&&!(c.locked||this.locked))&&!this.Jb&&(this.pg=e);if(this.Jb&&-1===f&&a||a&&this.Ig)f=e,this.Ig&&(c.Ek=e);e===f&&(c.locked||this.locked)&&(f=-1,a=!1);c.enabled&&this.ia(c,a,e,f)}}0<=f&&!this.Jb&&(b=!0);this.Jb&&-1===f&&(f=-2);-2===f&&this.om&&!this.locked&&this.om(this.Me,this.qg,this.Jb,this.caller);this.Jb||(f=-1);this.wi=f;this.c.globalAlpha=1}return b};e.prototype.Fq=function(){var a=this.Ld.canvas,e=a.offsetParent;this.offsetLeft=a.offsetLeft;for(this.offsetTop=a.offsetTop;e;)this.offsetLeft+=
e.offsetLeft,this.offsetTop+=e.offsetTop,e=e.offsetParent;e=a.parentNode;if("fixed"===e.style.position)this.offsetLeft+=document.body.scrollLeft+document.documentElement.scrollLeft,this.offsetTop+=document.body.scrollTop+document.documentElement.scrollTop;else for(;"body"!==e.tagName.toLowerCase();)this.offsetLeft-=e.scrollLeft,this.offsetTop-=e.scrollTop,e=e.parentNode};e.prototype.Nq=function(a,e,g){a=new d(a,e,g,this.fc,this.Ih);a.jd=this.jd;a.oc=this.oc;a.ce=this.ce;a.Fd=this.Fd;a.sf=this.sf;
a.rf=this.rf;a.qh=this.qh;a.xg=this.xg;a.vf=this.vf;a.gg=this.gg;a.border=this.border;return a};e.prototype.fr=function(){var a=this.bc,e=this.fc;if(-1!==a.wi||-1===a.wi&&-1===a.pg)this.c=a.wi;if(-1===a.pg||-1!==this.c&&this.c===a.pg)-1!==a.pg&&(a=a.Dc[a.pg],a.id===this.o&&a.bg!==this.h&&(this.c=-1)),50>this.ue&&(this.ue+=1);else{a=a.Dc[a.pg];a.id!==this.o||a.id===this.o&&a.bg!==this.h?(this.o=a.id,this.h=a.bg,50>this.ue&&(this.ue+=1)):0<=this.ue&&--this.ue;var d=-1!==this.h?a.G[this.h]:a.G;if(""!==
d&&-1===this.ue){this.c=-1;var b=a.x;var f=a.y;var c=a.width;var q=a.height;-1!==a.bg&&(a.orientation===l.dc?(b+=c/a.lower.length*a.bg,c/=a.lower.length):(f+=q/a.lower.length*a.bg,q/=a.lower.length));e.font="18px Arial";var h=e.measureText(d).width;var m=Math.round(b+c/2);f=Math.round(f+q/2);m-=h/2;5>m?m=5:m+h+4>e.canvas.width&&(m=e.canvas.width-h-4-1);q>c?(-1!==this.S&&c<this.S&&(c=this.S),m>e.canvas.width/2?m=b-h-c/2:m=b+a.width+c/2):(-1!==this.W&&q<this.W&&(q=this.W),f>e.canvas.height/2?f-=q:f+=
q);e.globalAlpha=.7;e.fillStyle="black";e.fillRect((m-4|0)-.5,(f-9-4|0)-.5,h+2+8,26);e.globalAlpha=1;e.strokeStyle="rgb(32,255,255)";e.strokeRect((m-4|0)-.5,(f-9-4|0)-.5,h+2+8,26);e.globalAlpha=.7;e.strokeStyle="black";e.beginPath();e.moveTo((m-4|0)+.5,(f-9-4|0)+26.5);e.lineTo((m-4|0)+.5+h+2+8,(f-9-4|0)+26.5);e.lineTo((m-4|0)+.5+h+2+8,(f-9-4|0)+.5);e.stroke();e.globalAlpha=1;e.fillStyle="black";e.fillText(d,m+2,f+2);e.fillStyle="white";e.fillText(d,m,f)}}};e.prototype.ya=function(a){var e,d=a.fc,
l=d.canvas.width-86,C=90;a.ea&&(C=0);a.Bj=!1;a.Qn=!0;a.Ri&&(a.bc=a.Ri,a.Ri=null,d.font=a.Ih,a.bc.ne(),a.bc.Pj&&a.bc.Pj(a.bc.caller));var b=performance.now();a.Jm&&(a.Fk=b-1E3/60);a.xi||a.notification.Sg()||a.Aj||a.ft!==a.ue&&-1!==a.ue?(a.jj(a),a.Aj&&--a.Aj,a.Jm=!1):a.Jm=!0;var f=b-a.Fk;a.Fk=b;a.bc.Ob&&a.bc.Ob(f,a.bc.caller);b=performance.now()-b;var h=performance.now();a.qm();a.Ig=!1;a.fr();a.notification.update();h=performance.now()-h;a.Nm[a.vj]=h;for(e=h=0;e<a.ih;e+=1)h+=a.Nm[e];h/=a.ih;a.Pm[a.vj]=
b;for(e=b=0;e<a.ih;e+=1)b+=a.Pm[e];b/=a.ih;a.Mm[a.vj]=f;for(e=f=0;e<a.ih;e+=1)f+=a.Mm[e];f/=a.ih;a.vj=(a.vj+1)%a.ih;f=Math.round(1E3/f);if(a.rh){d.font="12px Arial";d.globalAlpha=.7;d.fillStyle="black";a.ei?d.fillRect(l,C,88,83):d.fillRect(l,C,88,20);e=(b+h)/16.6666;1<e&&(e=1);d.fillStyle=.5>e?"rgb("+(510*e|0)+",255,0)":"rgb(255,"+(255*(1-2*(e-.5))|0)+",0)";d.fillRect(l,C,88*e|0,20);h=h.toFixed(1);b=b.toFixed(1);d.globalAlpha=1;d.fillStyle="black";var m=f+"fps";var u=d.measureText(m).width;d.fillText(m,
l+36-u,C+12);m=(100*e|0)+"%";u=d.measureText(m).width;d.fillText(m,l+84-u,C+12);a.ei&&(d.fillText("menu",l+6,C+28),d.fillText("work",l+6,C+44),d.fillText("update",l+6,C+60),d.fillText("focus",l+6,C+76),m=h+"ms",u=d.measureText(m).width,d.fillText(m,l+84-u,C+28),m=b+"ms",u=d.measureText(m).width,d.fillText(m,l+84-u,C+44),m=a.xi?"on":"off",u=d.measureText(m).width,d.fillText(m,l+84-u,C+60),m=a.hasFocus?"on":"off",u=d.measureText(m).width,d.fillText(m,l+84-u,C+76));d.fillStyle="white";m=f+"fps";u=d.measureText(m).width;
d.fillText(m,l+34-u,C+10);m=(100*e|0)+"%";u=d.measureText(m).width;d.fillText(m,l+82-u,C+10);a.ei&&(d.fillText("menu",l+4,C+26),d.fillText("work",l+4,C+42),d.fillText("update",l+4,C+58),d.fillText("focus",l+4,C+74),m=h+"ms",u=d.measureText(m).width,d.fillText(m,l+82-u,C+26),m=b+"ms",u=d.measureText(m).width,d.fillText(m,l+82-u,C+42),m=a.xi?"on":"off",u=d.measureText(m).width,d.fillText(m,l+82-u,C+58),m=a.hasFocus?"on":"off",u=d.measureText(m).width,d.fillText(m,l+82-u,C+74));d.globalAlpha=1}a.Ld.drawImage(d.canvas,
0,0)};e.prototype.pq=function(a){a.Sa=this.Sa;this.bc?this.Ri=a:(this.Ri=null,this.bc=a,this.fc.font=this.Ih,this.bc.ne(),this.bc.Pj&&this.bc.Pj(this.bc.caller),this.jj(this))};e.prototype.qm=function(){var a;if(this.bc){var e=this.bc;this.fc.font=this.Ih;e.Me=this.wf;e.qg=this.xf;e.Jb=this.Jb;e.Ig=this.Ig;if(e.qm()||this.wh){for(a=0;a<e.Ca;a+=1){var d=e.Dc[a];e.hq(d)}this.wh=!1}}};e.prototype.jj=function(a){a.Bj||(requestAnimationFrame?requestAnimationFrame(a.lo):setTimeout(a.lo,16),a.Bj=!0)};e.prototype.B=
function(a,e){var d="";if("touchend"===e.type){d="mouseup";var l=document.createEvent("MouseEvent");l.initMouseEvent(d,!0,!0,window,1,a.Oi,a.Pi,a.Mi,a.Ni,!1,!1,!1,!1,0,null);e.target.dispatchEvent(l);e.preventDefault()}else{if(1===e.touches.length)switch(e.type){case "touchstart":d="mousedown";break;case "touchmove":d="mousemove"}if(""!==d){var C=e.changedTouches[0];l=document.createEvent("MouseEvent");l.initMouseEvent(d,!0,!0,window,1,C.screenX,C.screenY,C.clientX,C.clientY,!1,!1,!1,!1,0,null);C.target.dispatchEvent(l);
e.preventDefault();a.Oi=C.screenX;a.Pi=C.screenY;a.Mi=C.clientX;a.Ni=C.clientY}}};e.prototype.ia=function(a,e){a.kh||(a.ea&&a.tk&&a.tk(a.caller),a.zh(a,e),a.Jb=!0,a.Qn=!1,e.stopPropagation&&e.stopPropagation(),e.preventDefault())};e.prototype.ra=function(a,e){a.bp=performance.now();a.kh||(a.zh(a,e),a.Jb=!1,a.Qn||(a.Ig=!0),a.hasFocus||(a.Ld.canvas.focus(),a.hasFocus=!0,a.notification.clear(!0,!1),a.tk&&a.tk(a.caller)),e.stopPropagation&&e.stopPropagation(),e.preventDefault())};e.prototype.no=function(a){a.hasFocus||
a.am&&""!==a.notification.Te||(a.Ta?a.hh||a.notification.F("Copy",3600,!0):a.ea?a.Ye?a.notification.F("Launch",3600,!0):a.notification.F("Expand",3600,!0):a.notification.F("Click to control",3600,!0),a.notification.Wl=!0,a.am=!0)};e.prototype.ka=function(a,e){a.kh||(a.no(a),a.zh(a,e),e.stopPropagation&&e.stopPropagation(),e.preventDefault())};e.prototype.na=function(a,e){a.kh||(a.no(a),e.stopPropagation&&e.stopPropagation(),e.preventDefault())};e.prototype.ma=function(a,e){var d=performance.now()-
a.bp;a.kh||(1<d&&(a.hasFocus||a.notification.clear(!0,!1),a.Ld.canvas.blur(),a.hasFocus=!1,a.Jb=!1,a.wf=-1,a.xf=-1,a.am=!1,a.Bj||(a.jj(a),a.Aj=2)),e.stopPropagation&&e.stopPropagation(),e.preventDefault())};e.prototype.zh=function(a,e){if(e.pageX||e.pageY){var d=e.pageX;e=e.pageY}else d=e.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,e=e.clientY+document.body.scrollTop+document.documentElement.scrollTop;a.Fq();d-=a.offsetLeft;e-=a.offsetTop;a.wf=d-1|0;a.xf=e-1|0;a.Bj||(a.jj(a),
a.Aj=2)};e.prototype.yg=function(a){!a&&!this.notification.Sg()||this.xi||this.jj(this);this.xi=a};window.IconManager=f;window.Menu=l;window.MenuManager=e})();(function(){function b(a,d,e,l,b,f){this.gi=a;this.hi=d;this.width=e;this.height=l;this.Zs=b;this.gr=f}function c(a){var d=a.lastIndexOf(".");-1!==d&&(a=a.substr(0,d));this.name=a;this.pf=this.me=this.md=-1;this.Nh=this.Hi=0;this.Bk=this.Cm=!1;this.ao=this.oa="";this.P=this.Li=this.ub=!1;this.Mf=-1;this.ec=this.Bc=!1;this.Df=-1;this.Vh=1;this.v=this.$d=this.ef=this.bd=this.ae=-1;this.height=this.width=0;this.od=this.Vb=null;this.qe=this.title="";this.yf=2;this.Ui=0;this.Qh=this.If=!1;this.xp=""}var f=
{Vj:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Th:86,Ik:22,Jk:6,Si:8,hr:"XRLE",Ep:"Pos",Ko:"Gen",U:"",zq:":",jo:"ptkcs",ol:"012345678ceaiknjqrytwz-",Wf:"0123456789",Ar:"0123456",tt:"01234",kn:["ce","ceaikn","ceaiknjqry","ceaiknjqrytwz"],Kr:[0,2,6,10,13,10,6,2,0],es:[[0],[0,1],[2,0,1,3,4,5],[2,0,1,3,6,4,5,7,8,9],[2,0,1,3,6,4,5,7,8,10,11,9,12],[2,0,1,3,6,4,5,7,8,9],[2,0,1,3,4,5],[0,1],[0]],Is:[[1,2],[5,10,3,40,33,68],[69,42,11,7,98,13,14,70,41,97],[325,170,15,45,99,71,106,102,
43,101,105,78,108]],Rm:13,maxWidth:8192,maxHeight:8192,Or:256,rd:new Uint32Array(256),fj:new Uint8Array(512),et:new Uint16Array(512),Aa:!1,Mh:!1,Vo:"history",To:"h",mq:"v",If:!1,zm:0,$f:!1,an:0,bn:0,Se:!1,index:0,qp:1,np:500,Yr:0,Pr:255,Ur:0,Lr:1,Xd:-1,Wd:-1,Vq:function(a,d,e){var l,b,f=0,g=0,c=0,D=!1;var k=d.length;for(l=b=0;l<k;){var q=d[l];l+=1;switch(b){case 0:switch(q){case "!":b=1;var h=!0;break;case "O":case "o":case "*":case ".":b=2;g=f=c=0;var m=--l}break;case 1:"\r"!==q&&(" "===q?h||(a.title+=
q):(h=!1,a.title+=q));"\n"===q&&(b=0);break;case 2:switch(q){case "O":case "o":case "*":case ".":g+=1;break;case "\n":c+=1;g>f&&(f=g);g=0;break;case " ":case "\t":break;default:l=k,D=!0}}}if(!D){2===b&&"\n"!==q&&(c+=1,g>f&&(f=g));a.height=c;a.width=f;a.qe="Cells";a.Vb=Array.$(Uint16,a.height,(a.width-1>>4)+1,0,e,"Pattern.lifeMap");l=m;for(e=b=0;l<k;)switch(q=d[l],l+=1,q){case "\n":b+=1;e=0;break;case "O":case "o":case "*":a.Vb[b][e>>4]|=1<<(~e&15);e+=1;break;case ".":e+=1}this.Aa=!0;this.Di(a,"")}},
Tq:function(a,d,e){var l,b;var f=d.length;var g=[];var c=0;var D=!1;var k=b=0;var q=!1;for(l=10;l<f;){var h=d[l];l+=1;switch(h){case "\n":q&&(q=!1,2===m&&D&&(k=-k,D=!1),g[c]=[b,k],c+=1);var m=k=b=0;break;case "-":D=!0;0===m?m=1:1===m&&(m=2);break;case " ":1===m&&(D&&(b=-b,D=!1),m=2);break;case "0":case "1":case "2":case "3":case "4":case "5":case "6":case "7":case "8":case "9":0===m&&(m=1),1===m?b=10*b+parseInt(h,10):(k=10*k+parseInt(h,10),q=!0)}}q&&(2===m&&D&&(k=-k),g[c]=[b,k],c+=1);if(c){f=d=g[0][0];
m=h=g[0][1];for(l=1;l<c;l+=1)b=g[l][0],k=g[l][1],b<d&&(d=b),b>f&&(f=b),k<h&&(h=k),k>m&&(m=k);a.height=m-h+1;a.width=f-d+1;a.Vb=Array.$(Uint16,a.height,(a.width-1>>4)+1,0,e,"Pattern.lifeMap");a.qe="Life 1.06";this.Di(a,"");for(l=0;l<c;l+=1)b=g[l][0]-d,k=g[l][1]-h,a.Vb[k][b>>4]|=1<<(~b&15)}},vo:function(a,d,e,l){var f,K,g=[],c=0,D=d.length;var k="";var q=!1;var h=0,m=0,u=!1,E=!1,B=0,G=0;e=e?10:0;for(this.Aa=!0;e<D&&!E;){var t=d[e];e+=1;switch(h){case 0:switch(t){case "#":h=2;break;case "*":case ".":h=
3;var F=K=f=0;var p=--e}break;case 2:switch(t){case "C":case "D":h=1;var v=!0;break;case "N":h=0;break;case "R":h=4;break;case "P":h=5;m=0;u=!1;G=B=0;break;case "\n":h=0;break;default:h=1,v=!0}break;case 1:"\r"!==t&&(" "===t?v||(a.title+=t):(v=!1,a.title+=t));"\n"===t&&(h=0);break;case 4:"\n"===t?h=0:(k+=t,q=!0);break;case 5:switch(t){case "\n":h=0;2===m&&u&&(G=-G,u=!1);break;case "-":u=!0;0===m?m=1:1===m&&(m=2);break;case " ":1===m&&(u&&(B=-B,u=!1),m=2);break;case "0":case "1":case "2":case "3":case "4":case "5":case "6":case "7":case "8":case "9":0===
m&&(m=1),1===m?B=10*B+parseInt(t,10):G=10*G+parseInt(t,10)}break;case 3:switch(t){case "\n":f>K&&(K=f);f=0;F+=1;break;case "#":g[c]=new b(B,G,K,F,p,e-1);c+=1;h=2;break;case "*":case ".":f+=1;break;default:E=!0}}}"\n"!==t&&(F+=1);3===h&&(g[c]=new b(B,G,K,F,p,e-1),c+=1);if(c&&!E){B=g[0].gi;G=g[0].hi;t=B+g[0].width-1;f=G+g[0].height-1;for(e=1;e<c;e+=1)g[e].gi<B&&(B=g[e].gi),g[e].hi<G&&(G=g[e].hi),g[e].gi+g[e].width-1>t&&(t=g[e].gi+g[e].width-1),g[e].hi+g[e].height-1>f&&(f=g[e].hi+g[e].height-1);a.height=
f-G+1;a.width=t-B+1;a.Vb=Array.$(Uint16,a.height,(a.width-1>>4)+1,0,l,"Pattern.lifeMap");a.qe="Life 1.05";a.od=Array.$(Uint8,a.height,a.width,0,l,"Pattern.multiStateMap");q?(this.yo(a,k,!1),this.Aa?0<=a.v||a.ub||(a.od=null):(a.v=-1,a.ub=!1)):this.Di(a,"");for(e=0;e<c;e+=1)for(l=g[e].Zs,k=g[e].gr,f=g[e].gi-B,t=g[e].hi-G,q=f,K=t;l<=k;)switch(t=d[l],l+=1,t){case "\n":K+=1;q=f;break;case "*":a.Vb[K][q>>4]|=1<<(~q&15);a.od&&(a.od[K][q]=1);q+=1;break;default:q+=1}}},on:function(a,d,e,l){var b=0,f,g,c;e&&
(b=16);for(g=0;512>g;g+=32)for(c=0;16>c;c+=1){e=0;for(f=g+c&l;0<f;)e+=f&1,f>>=1;d===e&&(a[g+c+b]=1)}},lr:function(a){return(a&7)<<6|(a&448)>>6|a&56},Mp:function(a){return(a&4)<<6|(a&32)<<2|(a&256)>>2|(a&2)<<4|a&16|(a&128)>>4|(a&1)<<2|(a&8)>>2|(a&64)>>6},Us:function(a,d,e){var l;for(l=0;4>l;l+=1)a[d]=e,d=this.Mp(d);d=this.lr(d);for(l=0;4>l;l+=1)a[d]=e,d=this.Mp(d)},Ts:function(a,d,e,l,b,f){var g=0,C=d-1;if(0===d||8===d)this.on(a,d,e,f);else 3<C&&(C=6-C,g=495),d=this.kn[C].indexOf(l),-1!==d&&(g^=this.Is[C][d],
e&&(g|=16),this.Us(a,g,b))},Sp:function(a,d,e,l){var b=d.length,f=0,g="",c;for(c=0;c<b;c+=1){var D=d.charCodeAt(c)-48;f|=1<<D;this.on(a,D,e,l)}for(c=0;9>c;c+=1)0!==(f&1<<c)&&(g+=String(c));return g},yq:function(a){for(var d=0;a;)d+=1,a&=a-1;return d},qq:function(a,d){var e="",l=0;if(d[a]){d=d[a];0!==(d&1<<this.Rm)&&(l=1,d&=~(1<<this.Rm));var b=this.yq(d);var f=this.Kr[a];(l||7!==b||13!==f)&&b+l>f>>1&&(d=~d&(1<<f)-1)&&(l=!l);if(!l||d)for(e+=String(a),l&&(e+="-"),b=0;b<f;b+=1)l=this.es[a][b],0!==(d&
1<<l)&&(e+=this.kn[3][l])}else e+=String(a);return e},Rp:function(a,d,e){var l=d.length,b=this.kn[3],f=0,g=[],c="",D;d+=" ";for(D=0;9>D;D+=1)g[D]=0;for(D=0;D<l;D+=1){var k=d.charCodeAt(D)-48;var q=f&1<<k;f|=1<<k;if(0<=k&&8>=k){var h=d[D+1];var m=b.indexOf(h);-1!==m||q||this.on(a,k,e,511);q=1;"-"===h&&(q=0,D+=1,h=d[D+1],m=b.indexOf(h));for(;-1!==m;)this.Ts(a,k,e,h,q,511),g[k]|=1<<m,q||(g[k]|=1<<this.Rm),D+=1,h=d[D+1],m=b.indexOf(h)}}for(D=0;9>D;D+=1)0!==(f&1<<D)&&(c+=this.qq(D,g));return c},Sq:function(a,
d){var e;for(e=0;512>e;e+=1)a[e]=0!==(d&1<<(e&7))?1:0!==(e&16)?1:0},Qq:function(a,d,e,l,b,K){var g,C=0,c=this.fj,k=this.et;var q=(1<<this.Si+1)/6|0;var h=new Uint8Array(512);var m=511;l?m=254:b&&(m=186);for(g=0;512>g;g+=1)h[g]=0,c[g]=0,k[g]=l?g:(g&448)>>6|g&56|(g&7)<<6;if(""!==e){K="MAP";for(g=0;g<q;g+=1)K+=e[g],d=f.Vj.indexOf(e[g]),h[C]=d>>5,C+=1,h[C]=d>>4&1,C+=1,h[C]=d>>3&1,C+=1,h[C]=d>>2&1,C+=1,h[C]=d>>1&1,C+=1,h[C]=d&1,C+=1;d=f.Vj.indexOf(e[g]);h[C]=d>>5;h[C+1]=d>>4&1;K+=f.Vj[d&48];for(g=0;512>
g;g+=1){e=0;q=f.Si;for(C=8;0<=C;--C)0!==(m&1<<C)&&(0!==(g&1<<C)&&(e|=1<<q),--q);c[k[g]]=h[e]}}else l||b?(g=this.Sp(c,a,!1,m),m=this.Sp(c,d,!0,m)):(g=this.Rp(c,a,!1),m=this.Rp(c,d,!0)),K=-1!==K?m+"/"+g+"/"+K:"B"+g+"/S"+m;return K},Ft:function(a,d){var e,l="";for(e=0;e<=d;e+=1){var b=this.ol[e];-1!==a.indexOf(b)&&(l+=this.ol[d-e])}return l},xt:function(a){var d,e="";for(d=0;9>d;d+=1){var l=this.ol[d];-1===a.indexOf(l)&&(e+=l)}return e},Gp:function(a){var d=a,e=0;if(-1!==a.indexOf(" "))for(d="";e<a.length;)" "!==
a[e]&&(d+=a[e]),e+=1;return d},dr:function(a,d){for(var e=!0,l=0,b,f=1;f<d.length&&e;)b=this.Wf.indexOf(d[f]),-1!==b?l=10*l+b:(this.U="Illegal character in Wolfram rule",e=!1),f+=1;e&&(2>l||254<l?(this.U="Wolfram rule number must be 2-254",e=!1):0!==(l&1)?(this.U="Wolfram rule number must be even",e=!1):(this.Sq(this.fj,l),a.Mf=l,a.oa="W"+l));return e},rq:function(a,d){var e=null;""===d&&(a.P?a.oa+="H":a.Bc&&(a.oa+="V"),e=AliasManager.qr(a.oa),a.ub&&(a.oa+="History"));-1!==a.md&&(a.oa+=":"+f.jo[a.md].toUpperCase(),
a.oa+=a.me,a.Hi&&(a.oa+="+"+a.Hi),a.Cm&&(a.oa+="*"),a.pf!==a.me||a.Nh||a.Bk)&&(a.oa+=","+a.pf,a.Nh&&(a.oa+="+"+a.Nh),a.Bk&&(a.oa+="*"));null!==e&&(""===e&&(e=a.ub?"Life":"Conway's Life"),a.ub&&(e+="History"),a.ao=e)},pt:function(a,d){var e=f.Th,l=a.length;l>=e?this.Si=8:(e=f.Ik,l>=e?(this.Si=6,d.P=!0):(e=f.Jk,l>=e?(this.Si=4,d.Bc=!0):e=-1));if(0<=e)for(d=0;d<e;d+=1)-1===f.Vj.indexOf(a[d])&&(e=-1);return e},hd:function(a,d,e,l,b){var f=0,g=d.length,C=a.substr(this.index,g);if(C!==d)","===d[0]&&(","===
C[0]?(C=C.substr(1),d=d.substr(1)):(C=C[0],d=d[0])),this.U="LTL expected '"+d.toUpperCase()+"' got '"+C.toUpperCase()+"'",this.index=-1;else if(","===d[0]&&(d=d.substr(1)),this.index+=g,g=a[this.index],"n"===d)"m"===g||"n"===g?(this.index+=1,"n"===g&&(f=1)):(this.U="LTL expected 'NM' or 'NN' got 'N"+g.toUpperCase()+"'",this.index=-1);else if("0">g||"9"<g)this.U="LTL '"+b+d.toUpperCase()+"' needs a number",this.index=-1;else{for(;"0"<=g&&"9">=g;)f=10*f+(g-0),this.index+=1,g=a[this.index];-1!==e&&f<
e&&(this.U="LTL '"+b+d.toUpperCase()+f+"' < "+e,this.index=-1);-1!==l&&f>l&&(this.U="LTL '"+b+d.toUpperCase()+f+"' > "+l,this.index=-1)}return f},Yq:function(a,d){var e=!1;this.index=0;var l=this.hd(d,"r",this.qp,this.np,"");-1!==this.index&&(a.Df=l,l=this.hd(d,",c",this.Yr,this.Pr,""),-1!==this.index&&(2>l&&(l=2),a.v=l,l=this.hd(d,",m",this.Ur,this.Lr,""),-1!==this.index&&(a.Vh=l,l=this.hd(d,",s",0,-1,""),-1!==this.index&&(a.ae=l,l=this.hd(d,"..",a.ae,-1,"S"),-1!==this.index&&(a.bd=l,l=this.hd(d,
",b",0,-1,""),-1!==this.index&&(a.ef=l,l=this.hd(d,"..",a.ef,-1,"B"),-1!==this.index&&(a.$d=l,l=this.hd(d,",n",-1,-1,""),-1!==this.index&&(a.Bc=l?!0:!1,e=!0))))))));e&&(this.index!==d.length?(e=!1,this.U="LTL invalid characters after rule"):(d=(2*a.Df+1)*(2*a.Df+1),a.Bc&&(d=(d+1)/2),a.ef>d&&(e=!1,this.U="LTL 'B"+a.$d+"..' > "+d),a.$d>d&&(e=!1,this.U="LTL 'B.."+a.$d+"' > "+d),a.ae>d&&(e=!1,this.U="LTL 'S"+a.bd+"..' > "+d),a.bd>d&&(e=!1,this.U="LTL 'S.."+a.bd+"' > "+d)));return e},Zq:function(a,d){var e=
!1;this.index=0;a.v=2;a.Vh=0;a.Bc=!1;var l=this.hd(d,"",this.qp,this.np,"");-1!==this.index&&(a.Df=l,l=this.hd(d,",",0,-1,""),-1!==this.index&&(a.ef=l,l=this.hd(d,",",a.ef,-1,"B"),-1!==this.index&&(a.$d=l,l=this.hd(d,",",0,-1,""),-1!==this.index&&(a.ae=l,l=this.hd(d,",",a.ae,-1,"S"),-1!==this.index&&(a.bd=l,e=!0)))));e&&(this.index!==d.length?(e=!1,this.U="LTL invalid characters after rule"):(d=(2*a.Df+1)*(2*a.Df+1),a.ef>d&&(e=!1,this.U="LTL 'B"+a.$d+"..' > "+d),a.$d>d&&(e=!1,this.U="LTL 'B.."+a.$d+
"' > "+d),a.ae>d&&(e=!1,this.U="LTL 'S"+a.bd+"..' > "+d),a.bd>d&&(e=!1,this.U="LTL 'S.."+a.bd+"' > "+d)));return e},Di:function(a,d){var e=!1,l=null,b=null,K=null;var g=this.ol;var c=f.To.length;var D=f.mq.length;var k="";var q=AliasManager.rr(d);null!==q&&(""===d&&(a.oa="Conway's Life"),d=q);if("map"===d.substr(0,3).toLowerCase())if(k=d.substr(3),D=k.indexOf("/"),-1===D?"=="===k.substr(-2)&&(k=k.substr(0,k.length-2)):"=="===k.substr(D-2,2)&&(k=k.substr(0,D-2)+k.substr(D)),g=this.pt(k,a),0<=g)if(e=
!0,K=k.substr(g),k=k.substr(0,g),"/"===K[0]){d=1;for(D=a.v=0;d<K.length&&-1!==D;)D=this.Wf.indexOf(K[d]),-1!==D?a.v=10*a.v+D:(this.U="Illegal character in generations number",a.v=-1,e=!1),d+=1;-1!==a.v&&(2>a.v||256<a.v)&&(this.U="Generations number must be 2-256",a.v=-1,e=!1)}else""!==K&&(d=K.length,this.U="MAP length must be "+f.Jk+", "+f.Ik+" or "+f.Th+" not "+(d+g),e=!1);else this.U=k.length===f.Th||k.length===f.Ik||k.length===f.Jk?"MAP contains illegal base64 character":"MAP length must be "+
f.Jk+", "+f.Ik+" or "+f.Th+" not "+k.length;else if(d=d.toLowerCase(),d=this.Gp(d),"r"===d[0]||"1"<=d[0]&&"9">=d[0]&&-1!==d.indexOf(",")){if(e="r"===d[0]?this.Yq(a,d):this.Zq(a,d))a.ec=!0,a.oa="R"+a.Df+",C"+a.v+",M"+a.Vh+",S"+a.ae+".."+a.bd+",B"+a.ef+".."+a.$d+",N",a.oa=a.Bc?a.oa+"N":a.oa+"M",0===a.Vh&&(a.ae+=1,a.bd+=1)}else if("w"===d[0])e=this.dr(a,d);else{q=d.lastIndexOf(f.To);-1!==q&&q===d.length-c&&(a.P=!0,d=d.substr(0,d.length-c),g=this.Ar);c=d.lastIndexOf(f.mq);-1!==c&&c===d.length-D&&(a.Bc=
!0,d=d.substr(0,d.length-D),g=this.tt);D=d.indexOf("/");-1===D&&(D=d.indexOf("_"));-1!==D&&(c=d.lastIndexOf("/"),-1===c&&(c=d.lastIndexOf("_")),c!==D&&(K=d.substring(c+1),d=d.substr(0,c)));c=d.indexOf("b");q=d.indexOf("s");-1===D?0===c||0===q?-1===q?(l=d,b=""):-1===c?(b=d,l=""):c<q&&-1!==q?(l=d.substring(c+1,q),b=d.substring(q+1)):(b=d.substring(q+1,c),l=d.substring(c+1)):this.U="Unsupported rule name":c<q?(l=d.substring(0,D),b=d.substring(D+1)):(l=d.substring(D+1),b=d.substring(0,D));-1!==c&&l&&
"b"===l[0]&&(l=l.substring(1));-1!==q&&b&&"s"===b[0]&&(b=b.substring(1));if(null!==K){d=0;for(D=a.v=0;d<K.length&&-1!==D;)D=this.Wf.indexOf(K[d]),-1!==D?a.v=10*a.v+D:(this.U="Illegal character in generations number",a.v=-1,l=null),d+=1;-1!==a.v&&(2>a.v||256<a.v)&&(this.U="Generations number must be 2-256",a.v=-1,l=null)}if(null!==l&&null!==b){e=!0;for(d=0;d<l.length;)D=g.indexOf(l[d]),-1===D?(this.U="Illegal character in birth specification",e=!1,d=l.length):d+=1;if(e)for(d=0;d<b.length;)D=g.indexOf(b[d]),
-1===D?(this.U="Illegal character in survival specification",e=!1,d=b.length):d+=1}}e&&-1===a.Mf&&!1===a.ec&&(a.oa=this.Qq(l,b,k,a.P,a.Bc,a.v),this.rq(a,k));return e},xo:function(a,d,e,l){var b=0,c=d.length-1,g=!1,M=!0,D,k=0,q=0,h=0,m=0,u=this.rd;for(D=d[b];!g;){var E=D;D=d[b+1];var B=-1;switch(E){case "0":case "1":case "2":case "3":case "4":case "5":case "6":case "7":case "8":case "9":m=10*m+parseInt(E,10);break;case "b":B=0;break;case "o":B=1;break;case ".":B=0;break;case "z":B=7;a.ub=!0;a.Li=!0;
break;case "$":0===m&&(m=1);h+=m;m=0;q>k&&(k=q);q=0;break;case "!":0===m&&(m=1);h+=m;m=0;q>k&&(k=q);g=!0;break;default:M=!1,"A"<=E&&"X">=E?(M=!0,B=E.charCodeAt(0)-64):"p"<=E&&"y">E?"A"<=D&&"X">=D?(M=!0,B=24*(E.charCodeAt(0)-111)+(D.charCodeAt(0)-64),b+=1,D=d[b+1]):"x"===E&&(M=!0,a.ub=!0,a.Li=!0,B=3):"y"===E&&("A"<=D&&"O">=D?(M=!0,B=24*(E.charCodeAt(0)-111)+(D.charCodeAt(0)-64),b+=1,D=d[b+1]):(M=!0,a.ub=!0,a.Li=!0,B=5))}if(0<=B)if(0===m&&(m=1),e||(0===u[B]&&(a.Ui+=1),u[B]+=m,B>=a.yf&&(a.yf=B+1)),0<
B&&e)for(;0<m;){a.od[h][q]=-1===a.v?B:0<=a.v-B?a.v-B:1;if(!a.ub&&-1===a.v||a.ub&&B&1||-1!==a.v&&1===B)a.Vb[h][q>>4]|=1<<(~q&15);q+=1;--m}else q+=m,m=0;M||(" "===E||"\t"===E||"\n"===E?M=!0:g=a.Qh=!0);b+=1;b===c&&(g||(0===m&&(m=1),h+=m,m=0,q>k&&(k=q)),g=!0)}e||(a.width=k,a.height=h,0<k&&0<h&&(k>f.maxWidth||h>f.maxHeight?(a.If=!0,a.Qh=!0):(a.Vb=Array.$(Uint16,h,(k-1>>4)+1,0,l,"Pattern.lifeMap"),a.od=Array.$(Uint8,h,k,0,l,"Pattern.multiStateMap"),a.qe="RLE")));a.Qh&&(b=-1);return b},Ps:function(a,d){var e=
d.indexOf("\n");-1===e&&(e=d.length);a.xp=d.substring(0,e).trim()},il:function(a,d,e){for(var l=!1;d<e&&!l;)" "===a[d]?d+=1:l=!0;return d},ts:function(a){var d=a.indexOf("\n"),e=0,l=!1,b=0;-1===d&&(d=a.length);for(;b<d&&!l;)"="===a[b]?l=!0:" "!==a[b]?l=!0:b+=1;if(l&&"="===a[b]){b=this.il(a,b+1,d);for(l=!1;b<d&&!l;){var c=f.Wf.indexOf(a[b]);-1!==c?(e=10*e+c,b+=1):l=!0}this.$f=!0;this.zm=e}},us:function(a){var d=a.indexOf("\n"),e=0,l=0,b=!1,c=!1,g=!1,M=0;-1===d&&(d=a.length);for(;M<d&&!g;)"="===a[M]?
g=!0:" "!==a[M]?g=!0:M+=1;if(g&&"="===a[M]&&(M=this.il(a,M+1,d),M<d)){"-"===a[M]&&(b=!0,M+=1);for(g=!1;M<d&&!g;){var D=f.Wf.indexOf(a[M]);-1!==D?(e=10*e+D,M+=1):g=!0}this.Se=!0;this.an=b?-e:e;M=this.il(a,M,d);if(M<d&&","===a[M]&&(M=this.il(a,M+1,d),M<d)){"-"===a[M]&&(c=!0,M+=1);for(g=!1;M<d&&!g;)D=f.Wf.indexOf(a[M]),-1!==D?(l=10*l+D,M+=1):g=!0;this.bn=c?-l:l}}},Cq:function(a){var d=a.indexOf(f.hr);0===d&&(d=a.indexOf(f.Ep),-1!==d&&this.us(a.substr(d+f.Ep.length)),d=a.indexOf(f.Ko),-1!==d&&this.ts(a.substr(d+
f.Ko.length)))},Os:function(a,d){var e=d.indexOf("\n");-1===e&&(e=d.length);a.name=d.substring(0,e).trim()},Zn:function(a,d){var e=d.indexOf("\n");-1===e&&(e=d.length);a.title+=d.substring(0,e)+" ";return e+1},qd:function(a){var d=-1;a+=" ";var e=this.Wf.indexOf(a[this.index]);if(-1!==e)for(d=0;-1!==e;)d=10*d+e,this.index+=1,e=this.Wf.indexOf(a[this.index]);return d},br:function(a,d){d=this.qd(d);a.me=d;a.pf=d},cr:function(a,d){var e=this.qd(d),l=-1,b=0,f=0;if(-1!==e){var g=d[this.index];if("-"===
g||"+"===g)this.index+=1,b=this.qd(d),-1===b?e=-1:"-"===g&&(b=-b);if(","===d[this.index])if(this.index+=1,l=this.qd(d),-1===l)e=-1;else{if(g=d[this.index],"-"===g||"+"===g)this.index+=1,f=this.qd(d),-1===f?e=-1:"-"===g&&(f=-f)}else l=e}0!==b&&0!==f&&(e=-1);0===e&&0===l&&(e=-1);0===b&&0===f||0!==e&&0!==l||(e=-1);a.me=e;a.pf=l;a.Hi=b;a.Nh=f},Xq:function(a,d){var e=this.qd(d),l=-1,b=0,f=0,g=!1,c=!1;if(-1!==e){var D=d[this.index];"*"===D&&(g=!0,this.index+=1,D=d[this.index]);if("-"===D||"+"===D)b=this.qd(d),
-1===b?e=-1:"-"===D&&(b=-b),this.index+=1,D=d[this.index];if(","===D)if(this.index+=1,l=this.qd(d),-1===l)e=-1;else{if(D=d[this.index],"*"===D&&(c=!0,this.index+=1,D=d[this.index]),"-"===D||"+"===D)this.index+=1,f=this.qd(d),-1===f?e=-1:"-"===D&&(f=-f)}else l=e}g&&c&&(e=-1);0!==b&&0!==f&&(e=-1);if(g&&0!==f||c&&0!==b)e=-1;if(0===e||0===l)e=-1;g||c||(g=!0);a.me=e;a.pf=l;a.Hi=b;a.Nh=f;a.Cm=g;a.Bk=c},Wq:function(a,d){var e=this.qd(d),l=-1;-1!==e&&(","===d[this.index]?(this.index+=1,l=this.qd(d),-1===
l&&(e=-1)):l=e);a.me=e;a.pf=l},$q:function(a,d){var e=this.qd(d),l=-1;-1!==e&&(","===d[this.index]?(this.index+=1,l=this.qd(d),-1===l&&(e=-1)):l=e);0===e&&0===l&&(e=-1);a.me=e;a.pf=l},Uq:function(a,d){var e=!1;d=this.Gp(d).toLowerCase();if(""!==d){a.md=this.jo.indexOf(d[0]);if(-1!==a.md)switch(this.index=1,a.md){case 0:this.$q(a,d);break;case 1:this.cr(a,d);break;case 2:this.Xq(a,d);break;case 3:this.Wq(a,d);break;case 4:this.br(a,d);break;default:a.me=-1}-1!==a.me?e=!0:(a.md=-1,this.reason="Invalid bounded grid definition '"+
d+"'")}return e},ar:function(a,d){var e=0,l;this.Wd=this.Xd=-1;if("x"===a[e]){for(e+=1;e<d&&" "===a[e];)e+=1;for(e<d&&"="===a[e]&&(e+=1);e<d&&" "===a[e];)e+=1;var b=0;for(l=!1;e<d&&"0"<=a[e]&&"9">=a[e];)b=10*b+(a[e]-0),e+=1,l=!0;l&&(this.Xd=b);for(;e<d&&" "===a[e];)e+=1;for(e<d&&","===a[e]&&(e+=1);e<d&&" "===a[e];)e+=1}if("y"===a[e]){for(e+=1;e<d&&" "===a[e];)e+=1;for(e<d&&"="===a[e]&&(e+=1);e<d&&" "===a[e];)e+=1;b=0;for(l=!1;e<d&&"0"<=a[e]&&"9">=a[e];)b=10*b+(a[e]-0),e+=1,l=!0;l&&(this.Wd=b);for(;e<
d&&" "===a[e];)e+=1}},yo:function(a,d,e){var l=d.indexOf("\n"),b=d.indexOf("rule"),c=f.Vo.length,g="";-1===l&&(l=d.length);this.ar(d,l);-1===b?e?g="":g=d.substring(1,l).trim():(g=d.substring(b+4,l).trim(),"="===g[0]&&(g=g.substring(1).trim()));a.oa=g;d=g.lastIndexOf(f.zq);-1!==d&&(this.Uq(a,g.substring(d+1))?g=g.substr(0,d).trim():d=-2);e=g.toLowerCase().lastIndexOf(f.Vo);-1!==e&&e===g.length-c&&(a.ub=!0,g=g.substr(0,g.length-c).trim());this.Di(a,g)&&-2!==d?this.Aa=!0:this.Mh=!0;return l+1},io:function(a){switch(a){case 0:a=
"Plane";break;case 1:a="Torus";break;case 2:a="Klein bottle";break;case 3:a="Cross-surface";break;case 4:a="Sphere";break;default:a="(unknown)"}return a},wo:function(a,d,e){var b=0,c=d.length,K=!1,g=!1;var M=this.rd;var D=f.Or,k;a.md=-1;a.width=0;a.height=0;a.If=!1;a.Vb=null;a.od=null;a.Qh=!1;a.ub=!1;a.Li=!1;a.P=!1;a.Mf=-1;a.Bc=!1;a.v=-1;a.ec=!1;a.Df=-1;a.Vh=1;a.ae=-1;a.bd=-1;a.ef=-1;a.$d=-1;a.title="";a.yf=2;for(k=a.Ui=0;k<D;k+=1)M[k]=0;for(d+=" ";b<c&&!a.Qh;)switch(M=d[b],M){case "#":b+=1;M=d[b];
b+=1;switch(M){case "N":this.Os(a,d.substring(b));break;case "O":this.Ps(a,d.substring(b));break;case "C":this.Cq(d.substring(b));break;case "\n":--b}b+=this.Zn(a,d.substring(b));break;case "x":b+=this.yo(a,d.substring(b),!0);g=!0;break;case "\n":b+=1;break;default:K?b+=this.Zn(a,d.substring(b)):(K=!0,-1!==this.xo(a,d.substring(b),!1,e)&&(b+=this.xo(a,d.substring(b),!0,e)))}g||(this.Di(a,"")?this.Aa=!0:this.Mh=!0);-1!==a.md&&(a.me>=this.maxWidth-4||a.pf>=this.maxHeight-4)&&(this.U="Bounded grid is too big",
this.Aa=!1,a.md=-1);a.ec&&(1<a.md&&(this.U="LTL only supports Plane or Torus",this.Aa=!1,this.md=-1),a.P&&(this.U="LTL does not support Hex grid",this.Aa=!1,a.P=!1));-1!==a.v&&a.ub&&!a.ec&&(this.U="[R]History not valid with Generations",this.Aa=a.ub=!1);-1!==a.v&&this.fj[0]&&!a.ec&&(this.U="Generations does not support B0",this.Aa=!1);a.ec&&a.ub&&(this.U="[R]History not valid with LTL",this.Aa=a.ub=!1);this.Aa&&(a.Li?8<a.yf&&(this.U="Illegal state in pattern for Niemiec",this.Aa=!1):a.ub?7<a.yf&&
(this.U="Illegal state in pattern for [R]History",this.Aa=!1):-1!==a.v&&a.yf>a.v&&(this.U=a.ec?"Illegal state in pattern for LTL":"Illegal state in pattern for Generations",this.Aa=!1))},create:function(a,d,e){a=new c(a);this.Aa=this.Mh=this.If=!1;this.U="";this.$f=!1;this.zm=0;this.Se=!1;this.bn=this.an=0;this.Wd=this.Xd=-1;if("!"===d.substr(0,1)||"O"===d.substr(0,1)||"."===d.substr(0,1)||"*"===d.substr(0,1)||"o"===d.substr(0,1))this.Vq(a,d,e),this.Aa=!0;null===a.Vb&&(this.Aa=!1,"#Life 1.05"===d.substr(0,
10)?this.vo(a,d,!0,e):"#Life 1.06"===d.substr(0,10)?(this.Tq(a,d,e),this.Aa=!0):"#"===d[0]||"x"===d[0]?(this.wo(a,d,e),null!==a.Vb||a.If||a.Qh||(this.vo(a,d,!1,e),this.Mh=!1,a.od=null,a.ub=!1,a.yf=2,a.Ui=0)):this.wo(a,d,e));a.If&&(this.U="Pattern too big (maximum "+this.maxWidth+"x"+this.maxHeight+")",this.If=!0,this.Aa=!1);-1!==a.md&&(a.oa=a.oa.substr(0,a.oa.lastIndexOf(":")));null===a.Vb&&(a.If||(this.U="Invalid pattern"),a=null,this.Aa=!1);return a}};window.PatternManager=f;window.Pattern=c})();(function(){function b(){this.dm=[]}b.prototype.add=function(b,f,a){this.dm[this.dm.length]=b<<16|f<<8|a};window.ColourManager={Ee:[],gj:[],Yo:!1,jm:[48,48,48,0,255,127,127,0,255,148,148,148,128,255,0,255,0,128,0,128,255,1,159,0,159,0,1,255,254,96,0,1,159,96,255,254,254,96,255,126,125,21,21,126,125,125,21,126,255,116,116,116,255,116,116,116,255,228,227,0,28,255,27,255,27,28,0,228,227,227,0,228,27,28,255,59,59,59,234,195,176,175,196,255,171,194,68,194,68,171,68,171,194,72,184,71,184,71,72,71,72,184,
169,255,188,252,179,63,63,252,179,179,63,252,80,9,0,0,80,9,9,0,80,255,175,250,199,134,213,115,100,95,188,163,0,0,188,163,163,0,188,203,73,0,0,203,73,73,0,203,94,189,0,189,0,94,0,94,189,187,243,119,55,125,32,125,32,55,32,55,125,255,102,185,102,185,255,120,209,168,208,166,119,135,96,192,182,255,41,83,153,130,247,88,55,89,247,55,88,55,247,87,75,0,0,87,75,75,0,87,200,135,59,51,213,127,255,255,162,255,37,182,37,182,255,228,57,117,142,163,210,57,117,228,193,255,246,188,107,123,123,194,107,145,59,5,5,145,
59,59,5,145,119,39,198,40,197,23,197,23,40,23,40,197,178,199,158,255,201,121,134,223,223,39,253,84,149,203,15,203,15,149,15,149,203,152,144,90,143,75,139,71,97,132,224,65,219,65,219,224,255,255,40,218,223,69,74,241,0,241,0,74,0,74,241,122,171,51,220,211,227,61,127,87,90,124,176,36,39,13,165,142,255,255,38,255,38,255,255,83,50,107,224,142,165,255,181,9,9,255,181,181,9,255,140,238,70,255,74,5,74,5,255,138,84,51,31,172,101,177,115,17,221,0,0,0,221,0,0,0,221,220,255,200,0,41,50,255,150,205,178,45,116,
113,255,189,47,0,44,40,119,171,205,107,255,177,115,172,133,73,236,109,0,168,168,46,207,188,181,203,212,188,35,90,97,52,39,209,184,41,164,152,227,46,70,46,70,227,211,156,255,98,146,222,136,56,95,102,54,152,86,142,0,142,0,86,0,86,142,86,223,96,246,135,46,4,208,120,212,233,158,177,92,214,104,147,88,149,240,147,227,93,148,72,255,133,209,27,194,147,255,255,44,93,0,160,36,158,182,233,0,96,94,217,218,103,88,163,154,38,118,114,139,94,0,43,113,164,174,168,188,114,0,23,119,42,86,93,255,226,202,80,191,155,255,
158,136,0,247,62,234,146,88,0,183,229,110,212,36,0,143,161,105,191,210,133,164,0,41,30,89,164,0,132,30,89,42,178,222,217,121,22,11,221,107,22,69,151,255,45,158,3,158,3,45,3,45,158,86,42,29,9,122,22,213,209,110,53,221,57,159,101,91,93,140,45,247,213,37,185,34,0,0,185,34,34,0,185,236,0,172,210,180,78,231,107,221,162,49,43,43,162,49,49,43,162,36,248,213,114,0,214,213,36,248,149,34,243,185,158,167,144,122,224,34,245,149,255,31,98,31,98,255,152,200,193,255,80,95,128,123,63,102,62,72,255,62,148,151,226,
108,159,99,255,226,255,126,98,223,136,80,95,255,225,153,15,73,41,211,212,71,41,83,217,187,180,235,79,0,166,127,251,135,243,229,41,0,41,0,229,82,255,216,141,174,249,249,215,255,167,31,79,31,79,167,213,102,185,255,215,83,4,2,40,224,171,220,41,0,4,6,50,90,221,15,113,15,113,221,33,0,115,108,23,90,182,215,36],im:[],mc:{aliceblue:["AliceBlue",240,248,255],antiquewhite:["AntiqueWhite",250,235,215],aqua:["Aqua",0,255,255],aquamarine:["Aquamarine",127,255,212],azure:["Azure",240,255,255],beige:["Beige",245,
245,220],bisque:["Bisque",255,228,196],black:["Black",0,0,0],blanchedalmond:["BlanchedAlmond",255,235,205],blue:["Blue",0,0,255],blueviolet:["BlueViolet",138,43,226],brown:["Brown",165,42,42],burlywood:["BurlyWood",222,184,135],cadetblue:["CadetBlue",95,158,160],chartreuse:["Chartreuse",127,255,0],chocolate:["Chocolate",210,105,30],coral:["Coral",255,127,80],cornflowerblue:["CornflowerBlue",100,149,237],cornsilk:["Cornsilk",255,248,220],crimson:["Crimson",220,20,60],cyan:["Cyan",0,255,255],darkblue:["DarkBlue",
0,0,139],darkcyan:["DarkCyan",0,139,139],darkgoldenrod:["DarkGoldenRod",184,134,11],darkgray:["DarkGray",169,169,169],darkgreen:["DarkGreen",0,100,0],darkkhaki:["DarkKhaki",189,183,107],darkmagenta:["DarkMagenta",139,0,139],darkolivegreen:["DarkOliveGreen",85,107,47],darkorange:["DarkOrange",255,140,0],darkorchid:["DarkOrchid",153,50,204],darkred:["DarkRed",139,0,0],darksalmon:["DarkSalmon",233,150,122],darkseagreen:["DarkSeaGreen",143,188,143],darkslateblue:["DarkSlateBlue",72,61,139],darkslategray:["DarkSlateGray",
47,79,79],darkturquoise:["DarkTurquoise",0,206,209],darkviolet:["DarkViolet",148,0,211],deeppink:["DeepPink",255,20,147],deepskyblue:["DeepSkyBlue",0,191,255],dimgray:["DimGray",105,105,105],dodgerblue:["DodgerBlue",30,144,255],firebrick:["FireBrick",178,34,34],floralwhite:["FloralWhite",255,250,240],forestgreen:["ForestGreen",34,139,34],fuchsia:["Fuchsia",255,0,255],gainsboro:["Gainsboro",220,220,220],ghostwhite:["GhostWhite",248,248,255],gold:["Gold",255,215,0],goldenrod:["GoldenRod",218,165,32],
gray:["Gray",128,128,128],green:["Green",0,128,0],greenyellow:["GreenYellow",173,255,47],honeydew:["HoneyDew",240,255,240],hotpink:["HotPink",255,105,180],indianred:["IndianRed",205,92,92],indigo:["Indigo",75,0,130],ivory:["Ivory",255,255,240],khaki:["Khaki",240,230,140],lavender:["Lavender",230,230,250],lavenderblush:["LavenderBlush",255,240,245],lawngreen:["LawnGreen",124,252,0],lemonchiffon:["LemonChiffon",255,250,205],lightblue:["LightBlue",173,216,230],lightcoral:["LightCoral",240,128,128],lightcyan:["LightCyan",
224,255,255],lightgoldenrodyellow:["LightGoldenRodYellow",250,250,210],lightgray:["LightGray",211,211,211],lightgreen:["LightGreen",144,238,144],lightpink:["LightPink",255,182,193],lightsalmon:["LightSalmon",255,160,122],lightseagreen:["LightSeaGreen",32,178,170],lightskyblue:["LightSkyBlue",135,206,250],lightslategray:["LightSlateGray",119,136,153],lightsteelblue:["LightSteelBlue",176,196,222],lightyellow:["LightYellow",255,255,224],lime:["Lime",0,255,0],limegreen:["LimeGreen",50,205,50],linen:["Linen",
250,240,230],magenta:["Magenta",255,0,255],maroon:["Maroon",128,0,0],mediumaquamarine:["MediumAquaMarine",102,205,170],mediumblue:["MediumBlue",0,0,205],mediumorchid:["MediumOrchid",186,85,211],mediumpurple:["MediumPurple",147,112,219],mediumseagreen:["MediumSeaGreen",60,179,113],mediumslateblue:["MediumSlateBlue",123,104,238],mediumspringgreen:["MediumSpringGreen",0,250,154],mediumturquoise:["MediumTurquoise",72,209,204],mediumvioletred:["MediumVioletRed",199,21,133],midnightblue:["MidnightBlue",
25,25,112],mintcream:["MintCream",245,255,250],mistyrose:["MistyRose",255,228,225],moccasin:["Moccasin",255,228,181],navajowhite:["NavajoWhite",255,222,173],navy:["Navy",0,0,128],oldlace:["OldLace",253,245,230],olive:["Olive",128,128,0],olivedrab:["OliveDrab",107,142,35],orange:["Orange",255,165,0],orangered:["OrangeRed",255,69,0],orchid:["Orchid",218,112,214],palegoldenrod:["PaleGoldenRod",238,232,170],palegreen:["PaleGreen",152,251,152],paleturquoise:["PaleTurquoise",175,238,238],palevioletred:["PaleVioletRed",
219,112,147],papayawhip:["PapayaWhip",255,239,213],peachpuff:["PeachPuff",255,218,185],peru:["Peru",205,133,63],pink:["Pink",255,192,203],plum:["Plum",221,160,221],powderblue:["PowderBlue",176,224,230],purple:["Purple",128,0,128],rebeccapurple:["RebeccaPurple",102,51,153],red:["Red",255,0,0],rosybrown:["RosyBrown",188,143,143],royalblue:["RoyalBlue",65,105,225],saddlebrown:["SaddleBrown",139,69,19],salmon:["Salmon",250,128,114],sandybrown:["SandyBrown",244,164,96],seagreen:["SeaGreen",46,139,87],
seashell:["SeaShell",255,245,238],sienna:["Sienna",160,82,45],silver:["Silver",192,192,192],skyblue:["SkyBlue",135,206,235],slateblue:["SlateBlue",106,90,205],slategray:["SlateGray",112,128,144],snow:["Snow",255,250,250],springgreen:["SpringGreen",0,255,127],steelblue:["SteelBlue",70,130,180],tan:["Tan",210,180,140],teal:["Teal",0,128,128],thistle:["Thistle",216,191,216],tomato:["Tomato",255,99,71],turquoise:["Turquoise",64,224,208],violet:["Violet",238,130,238],wheat:["Wheat",245,222,179],white:["White",
255,255,255],whitesmoke:["WhiteSmoke",245,245,245],yellow:["Yellow",255,255,0],yellowgreen:["YellowGreen",154,205,50]},wt:function(){return this.im},po:function(b){for(var f=0,a=!1,d=[];f<this.gj.length&&!a;)b===this.gj[f][0]?a=!0:f+=1;a&&(d=this.Ee[this.gj[f][1]].dm);return d},pa:function(b){this.gj[this.gj.length]=b},ne:function(){var c,f=0,a;if(!this.Yo){this.Yo=!0;for(c=a=0;256>c;c+=1)this.im[c]=this.jm[a]<<16|this.jm[a+1]<<8|this.jm[a+2],a+=3;c=new b;c.add(0,0,0);c.add(0,255,0);c.add(0,0,128);
c.add(216,255,216);c.add(255,0,0);c.add(255,255,0);c.add(96,96,96);c.add(255,128,128);this.Ee[f]=c;this.pa(["LifeHistory",f]);f+=1;c=new b;c.add(48,48,48);c.add(0,128,255);c.add(255,255,255);c.add(255,128,0);this.Ee[f]=c;this.pa(["WireWorld",f]);f+=1;c=new b;c.add(0,0,0);c.add(255,255,255);c.add(144,128,112);c.add(144,90,45);c.add(192,192,192);c.add(255,0,0);c.add(255,128,0);c.add(255,255,0);c.add(0,255,0);c.add(0,255,208);c.add(0,192,255);c.add(0,0,255);c.add(192,0,255);c.add(255,64,160);c.add(112,
128,144);c.add(0,128,0);c.add(0,96,128);c.add(160,0,80);c.add(40,40,40);c.add(220,220,220);c.add(140,60,0);c.add(0,160,0);c.add(160,160,250);this.Ee[f]=c;this.pa(["WWE",f]);this.pa(["WWE2",f]);this.pa(["WWEJ",f]);this.pa(["WWEJ2",f]);this.pa(["WWEJ3",f]);f+=1;c=new b;c.add(30,30,30);c.add(0,128,128);c.add(0,255,0);c.add(255,0,0);c.add(255,128,0);c.add(255,255,0);c.add(128,0,128);c.add(128,128,128);c.add(255,255,255);c.add(128,128,255);this.Ee[f]=c;this.pa(["Novoloop",f]);f+=1;c=new b;c.add(0,0,0);
c.add(255,128,0);c.add(255,0,0);c.add(0,255,0);c.add(0,0,255);c.add(0,190,0);c.add(0,140,0);c.add(255,255,255);c.add(80,80,80);c.add(95,95,95);c.add(128,128,128);c.add(0,64,0);c.add(255,255,0);c.add(64,0,164);c.add(64,32,64);c.add(80,80,100);c.add(95,95,125);c.add(128,255,128);c.add(64,100,100);this.Ee[f]=c;this.pa(["shapeloop",f]);this.pa(["shapeloop-b",f]);this.pa(["shapeloop2",f]);this.pa(["shapeloop-ltd",f]);this.pa(["2armshapeloop-a",f]);this.pa(["2armshapeloop2-a",f]);this.pa(["shapeloop2a-bounded",
f]);this.pa(["foodshapeloop",f]);this.pa(["foodshapeloop2",f]);f+=1;c=new b;c.add(0,0,0);c.add(255,255,255);c.add(255,0,0);c.add(0,128,255);c.add(170,0,0);c.add(85,0,0);this.Ee[f]=c;this.pa(["b3s23mmg",f]);f+=1;c=new b;c.add(0,0,0);c.add(255,0,0);c.add(0,255,0);c.add(0,0,255);c.add(255,255,0);c.add(0,255,255);c.add(255,0,255);c.add(92,36,110);c.add(0,99,140);c.add(176,196,222);c.add(115,61,26);this.Ee[f]=c;this.pa(["_235_4_O3",f]);this.pa(["0_245_5_O4",f]);this.pa(["0_245_5_O3",f]);this.pa(["58_27_4_O3",
f]);this.pa(["0_24_4H_O3",f]);this.pa(["2_235_4H_O3",f]);this.pa(["24_235_4H_O3",f]);this.pa(["3_25_4_O2",f]);this.pa(["Snake_O5",f]);this.pa(["Mites",f]);this.pa(["Mites2",f]);this.pa(["Mites3",f]);f+=1;c=new b;c.add(48,48,48);c.add(255,128,0);c.add(0,0,255);c.add(32,32,255);c.add(64,64,255);c.add(96,96,255);this.Ee[f]=c;this.pa(["Alpha-1",f]);f+=1;c=new b;c.add(48,48,48);c.add(255,0,0);c.add(255,125,0);c.add(255,150,25);c.add(255,175,50);c.add(255,200,75);c.add(255,225,100);c.add(255,250,125);c.add(251,
255,0);c.add(89,89,255);c.add(106,106,255);c.add(122,122,255);c.add(139,139,255);c.add(27,176,27);c.add(36,200,36);c.add(73,255,73);c.add(106,255,106);c.add(235,36,36);c.add(255,56,56);c.add(255,73,73);c.add(255,89,89);c.add(185,56,255);c.add(191,73,255);c.add(197,89,255);c.add(203,106,255);c.add(0,255,128);c.add(255,128,64);c.add(255,255,128);c.add(33,215,215);c.add(27,176,176);c.add(24,156,156);c.add(21,137,137);this.pa(["JvN29",f]);this.pa(["Hutton32",f]);this.pa(["Nobili32",f]);this.Ee[f]=c}}}})();window.BoundingBox=function(b,c,f,a){this.X=b;this.V=c;this.Y=f;this.Z=a};(function(){function b(b,a){this.index=a;this.aa=b.vh[a];this.Ia=b.Kg[a];this.o=b.yk[a];this.h=b.Wj[a];this.H=new BoundingBox(0,0,0,0);this.Oc=this.ba=this.i=this.zc=this.xc=this.zb=0;this.c=b}function c(b,a){this.l=b;this.Wb=[];this.Hd=[];this.vh=[];this.Kg=[];this.yk=[];this.Wj=[];this.c=0;this.index=-1;this.Nr=51;this.Vc=[];this.eo=a}b.prototype.Hs=function(b,a,d){var e=a.length,l=a[0].length,f,c,g=0,M,D=d.tj;d=d.uj;var k,q=0,h=this.o,m=0,u=h[m],E=u.length;Array.ed(this.aa,a);for(f=0;f<e;f+=1){var B=
this.aa[f];for(a=k=0;a<l;a+=1)if(M=B[a])for(c=15;0<=c;--c){if(0!==(M&1<<c)){var G=q;var t=k;var F=u[g];g+=1;b[G][t]=F&255;b[G][t+1]=F>>8&255;b[G+1][t]=F>>16&255;b[G+1][t+1]=F>>24;G+=2;F=u[g];g+=1;b[G][t]=F&255;b[G][t+1]=F>>8&255;b[G+1][t]=F>>16&255;b[G+1][t+1]=F>>24;G+=2;F=u[g];g+=1;b[G][t]=F&255;b[G][t+1]=F>>8&255;b[G+1][t]=F>>16&255;b[G+1][t+1]=F>>24;G+=2;F=u[g];g+=1;b[G][t]=F&255;b[G][t+1]=F>>8&255;b[G+1][t]=F>>16&255;b[G+1][t+1]=F>>24;G+=2;F=u[g];g+=1;b[G][t]=F&255;b[G][t+1]=F>>8&255;b[G+1][t]=
F>>16&255;b[G+1][t+1]=F>>24;G+=2;F=u[g];g+=1;b[G][t]=F&255;b[G][t+1]=F>>8&255;b[G+1][t]=F>>16&255;b[G+1][t+1]=F>>24;G+=2;F=u[g];g+=1;b[G][t]=F&255;b[G][t+1]=F>>8&255;b[G+1][t]=F>>16&255;b[G+1][t+1]=F>>24;G+=2;F=u[g];g+=1;b[G][t]=F&255;b[G][t+1]=F>>8&255;b[G+1][t]=F>>16&255;b[G+1][t+1]=F>>24;g>=E&&(m+=1,u=h[m],g=0)}k+=D}else k+=D<<4;q+=d}};b.prototype.Ms=function(b,a,d){var e=a.length,l=a[0].length,f,c=0,g;var M=0;var D=d.tj,k=d.uj,q,h=0,m=this.o,u=0,E=m[u],B=E.length,G=m.length;var t=this.c.eo;Array.ed(a,
this.aa);for(f=0;f<e;f+=1){var F=a[f];for(d=0;d<l;d+=1)(g=F[d])&&(M+=t[g])}if(M)for(f=0;f<e;f+=1){F=a[f];for(d=q=0;d<l;d+=1)if(g=F[d])for(M=15;0<=M;--M){if(0!==(g&1<<M)){var p=h;t=q;E[c]=b[p][t]|b[p][t+1]<<8|b[p+1][t]<<16|b[p+1][t+1]<<24;c+=1;p+=2;E[c]=b[p][t]|b[p][t+1]<<8|b[p+1][t]<<16|b[p+1][t+1]<<24;c+=1;p+=2;E[c]=b[p][t]|b[p][t+1]<<8|b[p+1][t]<<16|b[p+1][t+1]<<24;c+=1;p+=2;E[c]=b[p][t]|b[p][t+1]<<8|b[p+1][t]<<16|b[p+1][t+1]<<24;c+=1;p+=2;E[c]=b[p][t]|b[p][t+1]<<8|b[p+1][t]<<16|b[p+1][t+1]<<24;
c+=1;p+=2;E[c]=b[p][t]|b[p][t+1]<<8|b[p+1][t]<<16|b[p+1][t+1]<<24;c+=1;p+=2;E[c]=b[p][t]|b[p][t+1]<<8|b[p+1][t]<<16|b[p+1][t+1]<<24;c+=1;p+=2;E[c]=b[p][t]|b[p][t+1]<<8|b[p+1][t]<<16|b[p+1][t+1]<<24;c+=1;c>=B&&(u+=1,c=0,u>=G&&(Array.Yn(m,"Snapshot.gridBufferRow"),G+=1));E=m[u]}q+=D}else q+=D<<4;h+=k}};b.prototype.Gs=function(b,a,d){var e=a.length,l=a[0].length,c,f,g,M=0,D,k=d.tj<<3,q=d.uj,h,m=0,u=this.h,E=0,B=u[E],G=B.length;Array.ed(this.Ia,a);for(c=0;c<e;c+=1){var t=a[c];for(d=h=0;d<l;d+=1)if(D=
t[d])for(f=15;0<=f;--f){if(0!==(D&1<<f))for(g=h;g<h+k;g+=4){var F=m;var p=B[M];M+=1;b[F][g]=p&255;b[F][g+1]=p>>8&255;b[F][g+2]=p>>16&255;b[F][g+3]=p>>24;F+=1;p=B[M];M+=1;b[F][g]=p&255;b[F][g+1]=p>>8&255;b[F][g+2]=p>>16&255;b[F][g+3]=p>>24;F+=1;p=B[M];M+=1;b[F][g]=p&255;b[F][g+1]=p>>8&255;b[F][g+2]=p>>16&255;b[F][g+3]=p>>24;F+=1;p=B[M];M+=1;b[F][g]=p&255;b[F][g+1]=p>>8&255;b[F][g+2]=p>>16&255;b[F][g+3]=p>>24;F+=1;p=B[M];M+=1;b[F][g]=p&255;b[F][g+1]=p>>8&255;b[F][g+2]=p>>16&255;b[F][g+3]=p>>24;F+=1;
p=B[M];M+=1;b[F][g]=p&255;b[F][g+1]=p>>8&255;b[F][g+2]=p>>16&255;b[F][g+3]=p>>24;F+=1;p=B[M];M+=1;b[F][g]=p&255;b[F][g+1]=p>>8&255;b[F][g+2]=p>>16&255;b[F][g+3]=p>>24;F+=1;p=B[M];M+=1;b[F][g]=p&255;b[F][g+1]=p>>8&255;b[F][g+2]=p>>16&255;b[F][g+3]=p>>24;F+=1;p=B[M];M+=1;b[F][g]=p&255;b[F][g+1]=p>>8&255;b[F][g+2]=p>>16&255;b[F][g+3]=p>>24;F+=1;p=B[M];M+=1;b[F][g]=p&255;b[F][g+1]=p>>8&255;b[F][g+2]=p>>16&255;b[F][g+3]=p>>24;F+=1;p=B[M];M+=1;b[F][g]=p&255;b[F][g+1]=p>>8&255;b[F][g+2]=p>>16&255;b[F][g+
3]=p>>24;F+=1;p=B[M];M+=1;b[F][g]=p&255;b[F][g+1]=p>>8&255;b[F][g+2]=p>>16&255;b[F][g+3]=p>>24;F+=1;p=B[M];M+=1;b[F][g]=p&255;b[F][g+1]=p>>8&255;b[F][g+2]=p>>16&255;b[F][g+3]=p>>24;F+=1;p=B[M];M+=1;b[F][g]=p&255;b[F][g+1]=p>>8&255;b[F][g+2]=p>>16&255;b[F][g+3]=p>>24;F+=1;p=B[M];M+=1;b[F][g]=p&255;b[F][g+1]=p>>8&255;b[F][g+2]=p>>16&255;b[F][g+3]=p>>24;F+=1;p=B[M];M+=1;b[F][g]=p&255;b[F][g+1]=p>>8&255;b[F][g+2]=p>>16&255;b[F][g+3]=p>>24;M>=G&&(E+=1,B=u[E],M=0)}h+=k}else h+=k<<4;m+=q}};b.prototype.Js=
function(b,a,d){var e=a.length,l=a[0].length,c,f=0,g;var M=0;var D=d.tj<<3,k=d.uj,q,h=0,m=this.h,u=0,E=m[u],B=E.length,G=m.length;var t=this.c.eo;Array.ed(a,this.Ia);for(c=0;c<e;c+=1){var F=a[c];for(d=0;d<l;d+=1)(g=F[d])&&(M+=t[g])}if(M)for(c=0;c<e;c+=1){F=a[c];for(d=q=0;d<l;d+=1)if(g=F[d])for(M=15;0<=M;--M){if(0!==(g&1<<M))for(t=q;t<q+D;t+=4){var p=h;E[f]=b[p][t]|b[p][t+1]<<8|b[p][t+2]<<16|b[p][t+3]<<24;f+=1;p+=1;E[f]=b[p][t]|b[p][t+1]<<8|b[p][t+2]<<16|b[p][t+3]<<24;f+=1;p+=1;E[f]=b[p][t]|b[p][t+
1]<<8|b[p][t+2]<<16|b[p][t+3]<<24;f+=1;p+=1;E[f]=b[p][t]|b[p][t+1]<<8|b[p][t+2]<<16|b[p][t+3]<<24;f+=1;p+=1;E[f]=b[p][t]|b[p][t+1]<<8|b[p][t+2]<<16|b[p][t+3]<<24;f+=1;p+=1;E[f]=b[p][t]|b[p][t+1]<<8|b[p][t+2]<<16|b[p][t+3]<<24;f+=1;p+=1;E[f]=b[p][t]|b[p][t+1]<<8|b[p][t+2]<<16|b[p][t+3]<<24;f+=1;p+=1;E[f]=b[p][t]|b[p][t+1]<<8|b[p][t+2]<<16|b[p][t+3]<<24;f+=1;p+=1;E[f]=b[p][t]|b[p][t+1]<<8|b[p][t+2]<<16|b[p][t+3]<<24;f+=1;p+=1;E[f]=b[p][t]|b[p][t+1]<<8|b[p][t+2]<<16|b[p][t+3]<<24;f+=1;p+=1;E[f]=b[p][t]|
b[p][t+1]<<8|b[p][t+2]<<16|b[p][t+3]<<24;f+=1;p+=1;E[f]=b[p][t]|b[p][t+1]<<8|b[p][t+2]<<16|b[p][t+3]<<24;f+=1;p+=1;E[f]=b[p][t]|b[p][t+1]<<8|b[p][t+2]<<16|b[p][t+3]<<24;f+=1;p+=1;E[f]=b[p][t]|b[p][t+1]<<8|b[p][t+2]<<16|b[p][t+3]<<24;f+=1;p+=1;E[f]=b[p][t]|b[p][t+1]<<8|b[p][t+2]<<16|b[p][t+3]<<24;f+=1;p+=1;E[f]=b[p][t]|b[p][t+1]<<8|b[p][t+2]<<16|b[p][t+3]<<24;f+=1;f>=B&&(u+=1,f=0,u>=G&&(Array.Yn(m,"Snapshot.colourGridBufferRow"),G+=1),E=m[u])}q+=D}else q+=D<<4;h+=k}};c.prototype.bufferSize=function(){for(var b=
0,a=0;a<this.Hd.length;)b+=this.vh[a].length*this.vh[a][0].length*2,b+=this.Kg[a].length*this.Kg[a][0].length*2,b+=this.yk[a].length*this.yk[a][0].length*4,b+=this.Wj[a].length*this.Wj[a][0].length*4,a+=1;return b};c.prototype.ot=function(){for(var b=0,a=0;a<this.Hd.length;)this.Hd[a]&&(b+=1),a+=1;return b};c.prototype.reset=function(){var b=0,a;this.Wb=[];for(this.index=-1;b<this.Hd.length;){var d=!1;for(a=0;a<this.Vc.length&&!d;)b===this.Vc[a].index?d=!0:a+=1;d||(this.Hd[b]=!1);b+=1}};c.prototype.Ys=
function(b){var a=null;0<this.Wb.length&&(a=this.Wb[this.index],a.i>b&&(a=null,0<this.index&&(this.h(this.Wb[this.index].index),this.Wb.pop(),--this.index,0<=this.index&&(a=this.Wb[this.index]))));return a};c.prototype.ij=function(b,a,d,e,l,c,K,g,M,D,k,q,h,m,u){var f=null,C=0,G=this.Vc.length,t=!1;if(h){for(;C<G&&!t;)this.Vc[C].i===M?t=!0:C+=1;t?f=this.Vc[C]:alert("reset snapshot at generation "+M+" not found!")}else if(51>this.Wb.length)f=this.gm(D,k,!1,M),this.index+=1;else{this.index+=1;if(51<=
this.index){this.index=50;this.h(this.Wb[0].index);for(C=0;50>C;C+=1)this.Wb[C]=this.Wb[C+1];this.Wb.pop();this.gm(D,k,!1,M)}f=this.Wb[this.index]}f.ba=m;f.Oc=u;f.Ms(b,a,q);f.Js(d,e,q);f.H.X=l.X;f.H.Y=l.Y;f.H.V=l.V;f.H.Z=l.Z;f.zb=c;f.xc=K;f.zc=g;f.i=M};c.prototype.h=function(b){this.Hd[b]=!1};c.prototype.B=function(b,a){for(var d=0,e=!1;d<this.c&&!e;)this.Hd[d]?d+=1:e=!0;e?(b=d,this.Hd[d]=!0):(this.vh[d]=Array.$(Uint16,a,b,0,this.l,"Snapshot.tileGrid"+d),this.Kg[d]=Array.$(Uint16,a,b,0,this.l,"Snapshot.colourTileGrid"+
d),this.yk[d]=Array.$(Uint32,1,1024,0,this.l,"Snapshot.gridBuffer"+d),this.Wj[d]=Array.$(Uint32,1,8192,0,this.l,"Snapshot.colourGridBuffer"+d),this.Hd[d]=!0,this.c+=1,b=d);return b};c.prototype.gm=function(c,a,d,e){var l=0,f=this.Vc.length,K=!1;c=this.B(c,a);if(d){for(;l<f&&!K;)this.Vc[l].i===e?K=!0:l+=1;K?d=this.Vc[l]:(d=new b(this,c),this.Vc[this.Vc.length]=d)}else d=new b(this,c),this.Wb[this.Wb.length]=d;return d};c.prototype.o=function(b,a,d,e){var l=b.aa,c=b.Ia,f=b.aa.length,g=f>>1,M=b.aa[0].length>>
1,D=0,k=b.index;this.vh[k]=Array.$(Uint16,d,a,0,this.l,"Snapshot.tileGrid"+k);this.Kg[k]=Array.$(Uint16,d,a,0,this.l,"Snapshot.colourTileGrid"+k);b.aa=this.vh[k];for(b.Ia=this.Kg[k];D<f;)b.aa[D+g].set(l[D],M),b.Ia[D+g].set(c[D],M),D+=1;b.H.X+=e;b.H.Y+=e;b.H.V+=e;b.H.Z+=e};c.prototype.Fs=function(b,a,d){for(var e=0,l=this.Vc.length;e<l;)this.o(this.Vc[e],b,a,d),e+=1;e=0;for(l=this.Wb.length;e<l;)this.o(this.Wb[e],b,a,d),e+=1;for(e=0;e<this.Hd.length;)this.Hd[e]||(this.vh[e]=Array.$(Uint16,a,b,0,this.l,
"Snapshot.tileGrid"+e),this.Kg[e]=Array.$(Uint16,a,b,0,this.l,"Snapshot.colourTileGrid"+e)),e+=1};window.SnapshotManager=c;window.Snapshot=b})();window.LTL=function(b){this.l=b};(function(){function b(a,b,d){this.ab=b;this.Wa=a;this.uc=d}function c(a,b,d){this.red=a;this.green=b;this.blue=d}function f(a,b){this.O=a;this.ha=b}function a(a,b,c,f,g){this.l=new Allocator;this.cb=null;this.Kc=this.l.ga(Uint8,65536,"Life.bitCounts16");this.Bl();this.zd=this.l.ga(Uint32,d.Uh,"Life.popGraphData");this.ve=this.l.ga(Uint32,d.Uh,"Life.birthGraphData");this.Fe=this.l.ga(Uint32,d.Uh,"Life.deathGraphData");this.Fc=this.Uc=this.Cb=0;this.gc=1;this.ba=0;this.ll=-1;this.Oc=0;this.sa=this.la=
this.bb=-1;this.zi=this.yi=0;this.ko=this.Zl=!1;this.al=ViewConstants.zo;this.Zc=[];this.$c=[];this.Zc[0]=this.l.ga(Int32,d.gn,"Life.boundaryX0");this.$c[0]=this.l.ga(Int32,d.gn,"Life.boundaryY0");this.mh=0;this.Eh=4294967295;this.Mf=-1;this.Bc=this.Vk=this.P=!1;this.v=-1;this.lf=this.ec=this.Qc=!1;this.Ic=new SnapshotManager(this.l,this.Kc);this.gh=d.nj;this.Gb=this.bq=!1;this.vi=this.sb=this.qc=this.H=null;this.title="LifeViewer";this.width=f;this.height=g;this.tj=2;this.uj=16;this.h=this.width>>
4;this.o=this.height>>4;this.cl=this.Ic.gm((this.h-1>>4)+1,this.o,!0,0);this.u=b;this.s=c;this.zc=this.xc=this.zb=0;this.W=64;this.S=127;this.cd=63;this.ad=1;this.Fk=this.uc=0;this.Jg=this.Id=this.m=1;this.oo=30;this.angle=this.i=0;this.zoom=6;this.D=this.I=0;this.vb=.1;this.Db=0;this.R=1;this.Fb=this.Eb=0;this.c=.1;this.fg=littleEndian;this.tc=[];this.Tb=this.ra=this.ya=this.Lc=this.Za=this.rb=null;this.rc=12;this.lc=this.nc=this.tf=null;this.we=a;this.eb=this.$a=0;this.aa=Array.$(Uint16,this.o,
(this.h-1>>4)+1,0,this.l,"Life.tileGrid");this.wa=Array.$(Uint16,this.o,(this.h-1>>4)+1,0,this.l,"Life.nextTileGrid");this.Ib=Array.$(Uint8,this.height,(this.width-1>>3)+1,0,this.l,"Life.grid");this.Sb=Array.$(Uint8,this.height,(this.width-1>>3)+1,0,this.l,"Life.nextGrid");this.tb=Array.kg(this.Ib,"Life.grid16");this.ia=Array.kg(this.Sb,"Life.nextGrid16");this.ze=this.l.ga(Uint32,this.u,"Life.blankPixelRow");this.jb=this.l.ga(Uint8,(this.width-1>>3)+1,"Life.blankRow");this.jc=this.l.ga(Uint16,this.h>>
4,"Life.blankTileRow");this.xe=this.l.ga(Uint8,this.width,"Life.blankColourRow");this.va=Array.$(Uint8,this.height,this.width,this.uc,this.l,"Life.colourGrid");this.B=Array.$(Uint8,this.height,this.width,this.uc,this.l,"Life.smallColourGrid");this.ma=Array.Md(this.B,1,"Life.smallColourGrid4");this.na=Array.Md(this.B,3,"Life.smallColourGrid8");this.Va=Array.Md(this.B,7,"Life.smallColourGrid16");this.ai=Array.kg(this.va,"Life.colourGrid16");this.Je=this.Ke=this.Dd=this.Cd=this.ka=this.Gc=null;this.Ia=
Array.$(Uint16,this.o,(this.h-1>>4)+1,0,this.l,"Life.colourTileGrid");this.Pa=Array.$(Uint16,this.o,(this.h-1>>4)+1,0,this.l,"Life.colourTileHistoryGrid");this.re=this.vc=this.wc=this.Nb=null;this.Hc=this.l.ga(Uint8,256,"Life.redChannel");this.Ac=this.l.ga(Uint8,256,"Life.greenChannel");this.yc=this.l.ga(Uint8,256,"Life.blueChannel");this.Qe=this.l.ga(Uint32,256,"Life.pixelColours");this.l.ga(Uint8,d.So,"Life.indexLookup33");this.Ge=this.l.ga(Uint8,d.Fm,"Life.indexLookup63");this.He=this.l.ga(Uint8,
d.Fm,"Life.indexLookup632");this.bi=this.l.ga(Uint8,2*(this.S+1),"Life.colourLookup");this.ii=this.l.ga(Uint8,1048576,"Life.colourReset");this.ld=this.Ak=5263440;this.eg=-1;this.le=this.Dm=7368816;this.dg=-1;this.Al=13750737;this.ti=15066597;this.kd=10;this.ag=!0;this.De=this.l.ga(Uint16,(this.width-1>>4)+1,"Life.columnOccupied16");this.wb=8192;this.ur=[0,0,48];this.tr=[255,255,255];this.sr=[255,255,255];this.vr=[0,255,0];this.wr=[255,0,0];this.he=[0,0,48];this.ge=[255,255,255];this.fe=[255,255,255];
this.ie=[0,255,0];this.je=[255,0,0];this.Pf=new LTL(this.l)}var d={gn:4096,So:512,Fm:262144,nj:50,ho:255,Uh:262144,Kd:1,Ud:2,Yd:4,Gd:8,Ze:16,$e:32,Be:64,Ce:128};b.prototype.yr=function(){var a=!0;this.ab.O.Km(this.ab.ha)&&this.Wa.O.Km(this.Wa.ha)&&this.Wa.O.Km(this.uc)&&(a=!1);return a};c.prototype.set=function(a){this.red=a.red;this.green=a.green;this.blue=a.blue};c.prototype.Km=function(a){var e=!1;this.red===a.red&&this.green===a.green&&this.blue===a.blue&&(e=!0);return e};f.prototype.set=function(a){this.O.set(a.O);
this.ha.set(a.ha)};a.prototype.getState=function(a,b,d){var e=0,l=ViewConstants.Ua[3]+128,c=ViewConstants.Ua[4]+128,f=ViewConstants.Ua[5]+128,C=ViewConstants.Ua[6]+128;if(a===(a&this.$a)&&b===(b&this.eb)){var q=this.va[b][a];d||-1!==this.v?-1!==this.v&&0<q?e=this.v-q:e=q:this.Gc?(a=this.Gc[b][a],a===c||a===C?(q>=this.W&&(a=l),e=ViewConstants.Ua[a-128]):a===l||a===f?(q<this.W&&(a=c),e=ViewConstants.Ua[a-128]):e=q===this.uc?0:q<=this.cd?2:1):e=q<=this.cd?0:1}return e};a.prototype.sj=function(a){var e,
b,d,g=a.length,c=a[0].length,f=this.Kc,k=0;for(e=0;e<g;e+=1){var q=a[e];for(b=0;b<c;b+=1)(d=q[b])&&(k+=f[d])}return k};a.prototype.hj=function(a,b,c){var e=this.Ic.Wb.length,g=this.Ic.Ys(a),l=!0;e!==this.Ic.Wb.length&&(this.gh-=d.nj);if(g){for(this.Ch(g);this.i<a-1;)this.fh(!1,!0,c),this.Fh();this.i<a&&this.fh(b,!0,c);l=this.Fh()}return l};a.prototype.Ch=function(a){var e,b=this.jb,d=this.xe;this.i=a.i;if(0!==(this.i&1)){var g=this.Sb;var c=this.Ib;var f=this.wa;var k=this.aa}else g=this.Ib,c=this.Sb,
f=this.aa,k=this.wa;var q=g.length;for(e=0;e<q;e+=1)g[e].set(b),this.va[e].set(d),this.B[e].set(d);Array.ed(g,c);Array.ed(this.Pa,this.Ia);a.Hs(g,f,this);a.Gs(this.va,this.Pa,this);Array.ed(f,k);Array.ed(g,c);this.H.X=a.H.X;this.H.V=a.H.V;this.H.Y=a.H.Y;this.H.Z=a.H.Z;this.zb=a.zb;this.xc=a.xc;this.zc=a.zc;this.ba=a.ba;this.Oc=a.Oc};a.prototype.ij=function(){if(0!==(this.i&1)){var a=this.Sb;var b=this.wa}else a=this.Ib,b=this.aa;this.ui(!1,a,b)};a.prototype.dl=function(a){this.Ch(this.cl);this.Ic.reset();
this.gh=d.nj;a||this.ij(0)};a.prototype.ui=function(a,b,d){this.Ic.ij(b,d,this.va,this.Pa,this.H,this.zb,this.xc,this.zc,this.i,(this.h-1>>4)+1,this.o,this,a,this.ba,this.Oc)};a.prototype.Ls=function(a){this.Ic.reset();this.ui(!0,this.Ib,this.aa);a||this.ij(0)};a.prototype.Ro=function(){var a=this.Ib,b=this.Sb,d=this.va,c=this.B,g=this.Gc,f=this.ka,D=this.Nb,k=this.vc,q=this.wc,h=this.re,m=this.aa,u=this.wa,E=this.Ia,B=this.Pa,G=this.height,t=this.o,F=this.width>>1,p=this.height>>1,v;if(8192>this.width){this.width*=
2;this.height*=2;this.Ib=Array.$(Uint8,this.height,(this.width-1>>3)+1,0,this.l,"Life.grid");this.Sb=Array.$(Uint8,this.height,(this.width-1>>3)+1,0,this.l,"Life.nextGrid");this.tb=Array.kg(this.Ib,"Life.grid16");this.ia=Array.kg(this.Sb,"Life.nextGrid16");D&&(this.Nb=Array.$(Uint16,this.height,(this.width-1>>4)+1,0,this.l,"Life.state6Mask"),this.vc=Array.$(Uint16,this.height,(this.width-1>>4)+1,0,this.l,"Life.state6Alive"),this.wc=Array.$(Uint16,this.height,(this.width-1>>4)+1,0,this.l,"Life.state6Cells"));
this.h=this.width>>4;this.o=this.height>>4;D&&(this.re=Array.$(Uint16,this.o,(this.h-1>>4)+1,0,this.l,"Life.state6TileGrid"));this.aa=Array.$(Uint16,this.o,(this.h-1>>4)+1,0,this.l,"Life.tileGrid");this.wa=Array.$(Uint16,this.o,(this.h-1>>4)+1,0,this.l,"Life.nextTileGrid");this.Ia=Array.$(Uint16,this.o,(this.h-1>>4)+1,0,this.l,"Life.colourTileGrid");this.Pa=Array.$(Uint16,this.o,(this.h-1>>4)+1,0,this.l,"Life.colourTileHistoryGrid");this.jb=this.l.ga(Uint8,(this.width-1>>3)+1,"Life.blankRow");this.jc=
this.l.ga(Uint16,this.h>>4,"Life.blankTileRow");this.xe=this.l.ga(Uint8,this.width,"Life.blankColourRow");this.De=this.l.ga(Uint16,(this.width-1>>4)+1,"Life.columnOccupied16");this.va=Array.$(Uint8,this.height,this.width,this.uc,this.l,"Life.colourGrid");this.B=Array.$(Uint8,this.height,this.width,this.uc,this.l,"Life.smallColourGrid");this.ma=Array.Md(this.B,1,"Life.smallColourGrid4");this.na=Array.Md(this.B,3,"Life.smallColourGrid8");this.Va=Array.Md(this.B,7,"Life.smallColourGrid16");this.ai=Array.kg(this.va,
"Life.colourGrid16");g&&(this.Gc=Array.$(Uint8,this.height,this.width,this.uc,this.l,"Life.overlayGrid"),this.ka=Array.$(Uint8,this.height,this.width,this.uc,this.l,"Life.smallOverlayGrid"),this.Cd=Array.Md(this.ka,1,"Life.smallColourGrid4"),this.Dd=Array.Md(this.ka,3,"Life.smallColourGrid8"),this.Ke=Array.Md(this.ka,7,"Life.smallColourGrid16"),this.Je=Array.kg(this.Gc,"Life.overlayGrid16"));this.$a=this.width-1;this.eb=this.height-1;for(v=0;v<G;v+=1)this.Ib[v+p].set(a[v],F>>3),this.Sb[v+p].set(b[v],
F>>3),this.va[v+p].set(d[v],F),this.B[v+p].set(c[v],F),g&&f&&(this.Gc[v+p].set(g[v],F),this.ka[v+p].set(f[v],F)),D&&k&&q&&(this.Nb[v+p].set(D[v],F>>4),this.vc[v+p].set(k[v],F>>4),this.wc[v+p].set(q[v],F>>4));p=t>>1;for(v=0;v<t;v+=1)h&&this.re[v+p].set(h[v],this.re[v].length>>2),this.aa[v+p].set(m[v],this.aa[v].length>>2),this.wa[v+p].set(u[v],this.wa[v].length>>2),this.Ia[v+p].set(E[v],this.Ia[v].length>>2),this.Pa[v+p].set(B[v],this.Pa[v].length>>2);F=this.width>>2;p=this.height>>2;this.Ic.Fs((this.h-
1>>4)+1,this.o,F);this.I+=F;this.D+=p;this.P&&(this.I-=p/2|0);this.H.X+=F;this.H.Y+=F;this.H.Z+=p;this.H.V+=p;this.qc.X+=F;this.qc.Y+=F;this.qc.Z+=p;this.qc.V+=p;this.sb.X+=F;this.sb.Y+=F;this.sb.Z+=p;this.sb.V+=p}};a.prototype.Dq=function(a){var e=this.H,b=this.width,d=this.height,g=!1;8192>b&&this.ba&&(e.X<=a||e.V<=a||e.Y>=b-a||e.Z>=d-a)&&(this.Ro(),g=!0);return g};a.prototype.Bl=function(){var a,b,d=this.Kc;for(a=0;65536>a;a+=1){var c=a;for(b=0;c;b+=1)c&=c-1;d[a]=b}};a.prototype.Cl=function(){var a,
b,d=this.ii,c=this.W;for(a=0;65536>a;a+=1)for(b=0;16>b;b+=1)d[(a<<4)+b]=a&1<<15-b?c:0};a.prototype.Ds=function(a){var e,b=0,d=this.Kc;var g=this.H;var c=g.X>>4,f=g.Y>>4,k=g.Z;for(g=g.V;g<=k;g+=1){var q=a[g];for(e=c;e<=f;e+=1){var h=d[q[e]];b+=h}}this.zb=b;this.zc=this.xc=0};a.prototype.Kp=function(a,b){var e=this.we;var d=this.fg?4278190080:255;this.u=a;this.s=b;this.tf=this.nc=this.lc=null;this.lc=e.createImageData(e.canvas.width,e.canvas.height);this.lc.data.buffer?this.nc=new Uint32Array(this.lc.data.buffer):
(this.nc=new Uint32Array(this.lc.data.length>>2),this.tf=new Uint8Array(this.nc.buffer));this.ze=this.l.ga(Uint32,a,"Life.blankPixelRow");for(b=0;b<a;b+=1)this.ze[b]=d;this.Jj()};a.prototype.Iq=function(a,b,d){var e,g,l=this.va,c=a.width,f=a.height,C=this.$a,h=this.eb,m=this.ad,u=ViewConstants.Ua[2];for(g=0;g<f;g+=1){var E=a.od[g];var B=l[g+d&h];for(e=0;e<c;e+=1)E[e]===u&&(B[e+b&C]=m)}};a.prototype.mr=function(){this.Je=this.ka=this.Gc=null};a.prototype.Pq=function(){this.Gc=Array.$(Uint8,this.height,
this.width,this.uc,this.l,"Life.overlayGrid");this.ka=Array.$(Uint8,this.height,this.width,this.uc,this.l,"Life.smallOverlayGrid");this.Cd=Array.Md(this.ka,1,"Life.smallOverlayGrid4");this.Dd=Array.Md(this.ka,3,"Life.smallOverlayGrid8");this.Ke=Array.Md(this.ka,7,"Life.smallOverlayGrid16");this.Je=Array.kg(this.Gc,"Life.overlayGrid16")};a.prototype.nr=function(){this.re=this.wc=this.vc=this.Nb=null};a.prototype.Rq=function(){this.Nb=Array.$(Uint16,this.height,(this.width-1>>4)+1,0,this.l,"Life.state6Mask");
this.vc=Array.$(Uint16,this.height,(this.width-1>>4)+1,0,this.l,"Life.state6Alive");this.wc=Array.$(Uint16,this.height,(this.width-1>>4)+1,0,this.l,"Life.state6Cells");this.re=Array.$(Uint16,this.o,(this.h-1>>4)+1,0,this.l,"Life.state6TileGrid")};a.prototype.ns=function(a,b,d){var e,g,l=a.width,c=a.height,f=this.$a,C=this.eb,h=this.re;for(g=0;g<c;g+=1){var m=a.od[g];var u=this.Nb[g-1+d&C];var E=this.Nb[g+d&C];var B=this.Nb[g+1+d&C];var G=this.wc[g+d&C];var t=h[(g-1+d&C)>>4];var F=h[(g+d&C)>>4];var p=
h[(g+1+d&C)>>4];for(e=0;e<l;e+=1)if(6===m[e]){var v=e+b&f;G[v>>4]|=1<<(~v&15);u[v>>4]|=1<<(~v&15);E[v>>4]|=1<<(~v&15);B[v>>4]|=1<<(~v&15);t[v>>8]|=1<<(~(v>>4)&15);F[v>>8]|=1<<(~(v>>4)&15);p[v>>8]|=1<<(~(v>>4)&15);v=e-1+b&f;u[v>>4]|=1<<(~v&15);E[v>>4]|=1<<(~v&15);B[v>>4]|=1<<(~v&15);t[v>>8]|=1<<(~(v>>4)&15);F[v>>8]|=1<<(~(v>>4)&15);p[v>>8]|=1<<(~(v>>4)&15);v=e+1+b&f;u[v>>4]|=1<<(~v&15);E[v>>4]|=1<<(~v&15);B[v>>4]|=1<<(~v&15);t[v>>8]|=1<<(~(v>>4)&15);F[v>>8]|=1<<(~(v>>4)&15);p[v>>8]|=1<<(~(v>>4)&15)}}};
a.prototype.Bs=function(a){var e,b=this.va,d=this.ii;var g=this.H;var c=g.X>>4,f=g.Y>>4,k=g.Z;for(e=g.V;e<=k;e+=1){var q=a[e];var h=b[e];var m=c<<4;for(g=c;g<=f;g+=1){var u=q[g]<<4;h[m]=d[u];m+=1;h[m]=d[u+1];m+=1;h[m]=d[u+2];m+=1;h[m]=d[u+3];m+=1;h[m]=d[u+4];m+=1;h[m]=d[u+5];m+=1;h[m]=d[u+6];m+=1;h[m]=d[u+7];m+=1;h[m]=d[u+8];m+=1;h[m]=d[u+9];m+=1;h[m]=d[u+10];m+=1;h[m]=d[u+11];m+=1;h[m]=d[u+12];m+=1;h[m]=d[u+13];m+=1;h[m]=d[u+14];m+=1;h[m]=d[u+15];m+=1}}};a.prototype.Cr=function(a,b,d){var e=this.uc,
g=this.jb,l=this.xe,c=this.ze,f=this.jc;var C=this.fg?4278190080:255;this.lf=!1;this.$a=this.width-1;this.eb=this.height-1;this.H=new BoundingBox(0,0,this.width-1,this.height-1);this.qc=new BoundingBox(0,0,this.width-1,this.height-1);this.sb=new BoundingBox(0,0,this.width-1,this.height-1);this.vi=new BoundingBox(0,0,this.width-1,this.height-1);this.we=a;this.Cl();AliasManager.ne();this.Kp(b,d);d=(this.width-1>>3)+1;for(a=0;a<d;a+=1)g[a]=0;d=this.width;for(a=0;a<d;a+=1)l[a]=e;d=this.h>>4;for(a=0;a<
d;a+=1)f[a]=0;for(a=0;a<b;a+=1)c[a]=C};a.prototype.Lq=function(){var a=0;this.tc[a]=new b(new f(new c(0,0,0),new c(0,0,0)),new f(new c(255,255,255),new c(255,255,255)),new c(0,0,0));a+=1;this.tc[a]=new b(new f(new c(0,0,47),new c(0,0,255)),new f(new c(0,255,255),new c(255,255,255)),new c(0,0,0));a+=1;this.tc[a]=new b(new f(new c(32,0,0),new c(160,0,0)),new f(new c(255,144,0),new c(255,255,0)),new c(0,0,0));a+=1;this.tc[a]=new b(new f(new c(0,24,0),new c(0,128,0)),new f(new c(0,255,255),new c(255,
255,255)),new c(0,0,0));a+=1;this.tc[a]=new b(new f(new c(0,47,0),new c(128,0,128)),new f(new c(255,255,0),new c(255,255,255)),new c(0,32,128));a+=1;this.tc[a]=new b(new f(new c(16,16,16),new c(104,104,104)),new f(new c(176,176,176),new c(255,255,255)),new c(0,0,0));a+=1;this.tc[a]=new b(new f(new c(255,255,255),new c(255,255,255)),new f(new c(0,0,0),new c(0,0,0)),new c(255,255,255));a+=1;this.tc[a]=new b(new f(new c(240,240,240),new c(0,255,255)),new f(new c(0,0,255),new c(0,0,0)),new c(255,255,
255));a+=1;this.tc[a]=new b(new f(new c(240,240,240),new c(240,240,240)),new f(new c(240,240,240),new c(240,240,240)),new c(0,0,0));a+=1;this.tc[a]=new b(new f(new c(160,0,0),new c(160,0,0)),new f(new c(240,240,240),new c(240,240,240)),new c(0,0,0));a+=1;this.tc[a]=new b(new f(new c(0,0,96),new c(0,0,160)),new f(new c(0,240,0),new c(16,255,16)),new c(0,0,0));a+=1;this.tc[a]=new b(new f(new c(255,255,0),new c(255,255,0)),new f(new c(255,0,0),new c(255,0,0)),new c(0,0,0));this.tc[a+1]=new b(new f(new c(0,
0,0),new c(0,0,0)),new f(new c(0,0,0),new c(0,0,0)),new c(0,0,0));this.Za=new f(new c(0,0,0),new c(0,0,0));this.rb=new f(new c(0,0,0),new c(0,0,0));this.Lc=new c(0,0,0);this.ra=new f(new c(0,0,0),new c(0,0,0));this.ya=new f(new c(0,0,0),new c(0,0,0));this.Tb=new c(0,0,0)};a.prototype.zg=function(a,b){var e=this.tc[a];this.Id=a;this.Za.set(this.ra);this.rb.set(this.ya);this.Lc.set(this.Tb);this.ra.set(e.ab);this.ya.set(e.Wa);this.Tb.set(e.uc);this.Jg=b;this.bq=e.yr();if(this.ld===this.Ak||this.ld===
this.ti)128<=(this.Tb.red+this.Tb.green+this.Tb.blue)/3?(this.ld=this.ti,this.le=this.Al):(this.ld=this.Ak,this.le=this.Dm)};a.prototype.Kq=function(){var a;var b=this.bi;var d=this.S;var c=this.W;var g=this.ad;var f=this.cd;b[0]=0;b[d+1]=c;for(a=1;a<d+1;a+=1)b[a]=Math.min(Math.max(a-1,g),f),b[a+d+1]=Math.max(Math.min(a+1,d),c)};a.prototype.to=function(){var a=(this.Jg-1)/30;var b=0;this.Hc[b]=this.Lc.red*a+this.Tb.red*(1-a);this.Ac[b]=this.Lc.green*a+this.Tb.green*(1-a);this.yc[b]=this.Lc.blue*a+
this.Tb.blue*(1-a);if(-1!==this.v){for(b=1;b<this.v;b+=1){var d=2===this.v?1:1-(b-1)/(this.v-2);var c=this.Za.O.red*d+this.rb.O.red*(1-d);var g=this.ra.O.red*d+this.ya.O.red*(1-d);this.Hc[b]=c*a+g*(1-a);c=this.Za.O.green*d+this.rb.O.green*(1-d);g=this.ra.O.green*d+this.ya.O.green*(1-d);this.Ac[b]=c*a+g*(1-a);c=this.Za.O.blue*d+this.rb.O.blue*(1-d);g=this.ra.O.blue*d+this.ya.O.blue*(1-d);this.yc[b]=c*a+g*(1-a);this.cb.length>=b&&(d=this.cb[b],-1!==d&&(this.Hc[b]=d>>16,this.Ac[b]=d>>8&255,this.yc[b]=
d&255))}0<this.cb.length&&(d=this.cb[0],-1!==d&&(this.Hc[0]=d>>16,this.Ac[0]=d>>8&255,this.yc[0]=d&255))}else{for(b=this.ad;b<=this.cd;b+=1)d=1-(b-this.ad)/(this.cd-this.ad),c=this.rb.O.red*d+this.rb.ha.red*(1-d),g=this.ya.O.red*d+this.ya.ha.red*(1-d),this.Hc[b]=c*a+g*(1-a),c=this.rb.O.green*d+this.rb.ha.green*(1-d),g=this.ya.O.green*d+this.ya.ha.green*(1-d),this.Ac[b]=c*a+g*(1-a),c=this.rb.O.blue*d+this.rb.ha.blue*(1-d),g=this.ya.O.blue*d+this.ya.ha.blue*(1-d),this.yc[b]=c*a+g*(1-a);for(b=this.W;b<=
this.S;b+=1)d=1-(b-this.W)/(this.S-this.W),c=this.Za.O.red*d+this.Za.ha.red*(1-d),g=this.ra.O.red*d+this.ra.ha.red*(1-d),this.Hc[b]=c*a+g*(1-a),c=this.Za.O.green*d+this.Za.ha.green*(1-d),g=this.ra.O.green*d+this.ra.ha.green*(1-d),this.Ac[b]=c*a+g*(1-a),c=this.Za.O.blue*d+this.Za.ha.blue*(1-d),g=this.ra.O.blue*d+this.ra.ha.blue*(1-d),this.yc[b]=c*a+g*(1-a)}};a.prototype.Oq=function(a){var e=this.Hc,b=this.Ac,d=this.yc,g;for(g=0;g<a.length;g+=1){var c=a[g];e[g]=c>>16;b[g]=c>>8&255;d[g]=c&255}this.Jg=
0};a.prototype.Mq=function(a,b){var e=this.Hc,d=this.Ac,g=this.yc,l=ViewConstants.Ua,c=b.length,f;for(f=0;f<a.length;f+=1)f>=c||-1===b[f]?(e[128+l[f]]=a[f]>>16,d[128+l[f]]=a[f]>>8&255,g[128+l[f]]=a[f]&255):(e[128+l[f]]=b[f]>>16,d[128+l[f]]=b[f]>>8&255,g[128+l[f]]=b[f]&255)};a.prototype.ac=function(a){var e=this.Hc,b=this.Ac,c=this.yc,g=this.Qe,f=this.ld,D=this.le,k,q=0;if(-1!==this.v)if(this.fg)for(k=0;k<this.v;k+=1)0<k&&(q=this.v-k),g[k]=-16777216|c[q]<<16|b[q]<<8|e[q];else for(k=0;k<this.v;k+=1)0<
k&&(q=this.v-k),g[k]=e[q]<<24|b[q]<<16|c[q]<<8|255;else if(this.fg){for(k=0;k<this.W;k+=1)g[k]=-16777216|c[k]<<16|b[k]<<8|e[k];for(k=this.W;k<=this.S;k+=1)g[k]=-16777216|c[k]*a<<16|b[k]*a<<8|e[k]*a;for(k=this.S+1;256>k;k+=1)g[k]=-16777216|c[k]*a<<16|b[k]*a<<8|e[k]*a}else{for(k=0;k<this.W;k+=1)g[k]=e[k]<<24|b[k]<<16|c[k]<<8|255;for(k=this.W;k<=this.S;k+=1)g[k]=e[k]*a<<24|b[k]*a<<16|c[k]*a<<8|255;for(k=this.S+1;256>k;k+=1)g[k]=e[k]*a<<24|b[k]*a<<16|c[k]*a<<8|255}this.fg?(this.eg=-16777216|(f&255)<<
16|(f>>8&255)<<8|f>>16,this.dg=-16777216|(D&255)<<16|(D>>8&255)<<8|D>>16):(this.eg=(f&255)<<24|(f>>8&255)<<16|f>>16<<8|255,this.dg=(D&255)<<24|(D>>8&255)<<16|D>>16<<8|255);-1!==this.bb&&(g[d.ho]=this.fg?4286611584:2155905279)};a.prototype.Eq=function(){var a=this.height,b=this.Ib,d=this.Sb,c=this.va,g=this.B,f=this.Gc,D=this.ka,k=this.aa,q=this.Ia,h=this.Pa,m=this.wa,u=this.jb,E=this.jc,B=this.xe,G;for(G=0;G<a;G+=1)b[G].set(u),d[G].set(u),c[G].set(B),g[G].set(B),f&&(f[G].set(B),D[G].set(B));a=this.o;
for(G=0;G<a;G+=1)k[G].set(E),m[G].set(E),q[G].set(E),h[G].set(E)};a.prototype.si=function(a,b){var e=d.Fm,l;for(l=0;l<e;l+=1){var g=b[l>>9&448|l>>6&56|l>>3&7]<<3;g|=b[l>>8&448|l>>5&56|l>>2&7]<<2;g|=b[l>>7&448|l>>4&56|l>>1&7]<<1;g|=b[l>>6&448|l>>3&56|l&7];a[l]=g}};a.prototype.it=function(){var a,b=PatternManager.fj,c=d.So,f=!1;if(-1===this.Mf&&b[0]){if(!b[c-1]){for(a=0;a<c/2;a+=1){var g=b[a];b[a]=b[c-a-1];b[c-a-1]=g}f=!0;this.si(this.He,b)}for(a=0;a<c/2;a+=1)g=b[a],b[a]=1-b[c-a-1],b[c-a-1]=1-g}this.si(this.Ge,
PatternManager.fj);f||this.He.set(this.Ge)};a.prototype.jg=function(a){var e=0;0!==(a&32768)?e=0:0!==(a&16384)?e=1:0!==(a&8192)?e=2:0!==(a&4096)?e=3:0!==(a&2048)?e=4:0!==(a&1024)?e=5:0!==(a&512)?e=6:0!==(a&256)?e=7:0!==(a&128)?e=8:0!==(a&64)?e=9:0!==(a&32)?e=10:0!==(a&16)?e=11:0!==(a&8)?e=12:0!==(a&4)?e=13:0!==(a&2)?e=14:0!==(a&1)&&(e=15);return e};a.prototype.ug=function(a){var e=0;0!==(a&1)?e=15:0!==(a&2)?e=14:0!==(a&4)?e=13:0!==(a&8)?e=12:0!==(a&16)?e=11:0!==(a&32)?e=10:0!==(a&64)?e=9:0!==(a&128)?
e=8:0!==(a&256)?e=7:0!==(a&512)?e=6:0!==(a&1024)?e=5:0!==(a&2048)?e=4:0!==(a&4096)?e=3:0!==(a&8192)?e=2:0!==(a&16384)&&(e=1);return e};a.prototype.Lj=function(a){var e=this.Gc,b=this.aa,d=this.width,g=this.height,c,f=this.H.Z,k=this.H.V,q=this.H.X,h=this.H.Y,m,u;for(m=0;m<g;m+=1){var E=e[m];var B=b[m>>4];for(u=c=0;u<d;u+=1)0!==E[u]&&(B[u>>8]|=1<<(~(u>>4)&15),c|=E[u],u<q&&(q=u),u>h&&(h=u));c&&(m<k&&(k=m),m>f&&(f=m))}a||(this.H.Z=f,this.H.V=k,this.H.X=q,this.H.Y=h)};a.prototype.Gr=function(){var a,
b,c,f=this.tb,g=this.wa,M=this.aa,D,k=this.o,q=this.h>>4,h=this.jc;var m=0;var u=m+16;for(b=0;b<k;b+=1)M[b].set(h);for(b=0;b<k;b+=1){var E=0;var B=g[b];var G=M[b];var t=0<b?M[b-1]:h;var F=b<k-1?M[b+1]:h;B[0]&=32767;B[q-1]&=65534;for(c=0;c<q;c+=1)if(D=B[c]){var p=G[c];var v=t[c];var A=F[c];for(a=15;0<=a;--a){if(0!==(D&1<<a)){var r=!1;var L=0;var z=m;var x=f[z];if(x=x[E])r=!0,0!==(x&32768)&&(L|=d.Kd,L|=d.Be),0!==(x&1)&&(L|=d.Ud,L|=d.Ce),L|=d.Gd;for(z+=1;z<u-1;){x=f[z];if(x=x[E])r=!0,0!==(x&32768)&&
(L|=d.Kd),0!==(x&1)&&(L|=d.Ud);z+=1}x=f[z];if(x=x[E])r=!0,0!==(x&32768)&&(L|=d.Kd,L|=d.Ze),0!==(x&1)&&(L|=d.Ud,L|=d.$e),L|=d.Yd;r&&(p|=1<<a,L&&(0!==(L&d.Kd)&&(15>a?p|=1<<a+1:0<c&&(G[c-1]|=1)),0!==(L&d.Ud)&&(0<a?p|=1<<a-1:c<q-1&&(G[c+1]|=32768)),0!==(L&d.Gd)&&(v|=1<<a),0!==(L&d.Yd)&&(A|=1<<a),0!==(L&d.Be)&&(15>a?v|=1<<a+1:0<c&&(t[c-1]|=1)),0!==(L&d.Ce)&&(0<a?v|=1<<a-1:c<q-1&&(t[c+1]|=32768)),0!==(L&d.Ze)&&(15>a?A|=1<<a+1:0<c&&(F[c-1]|=1)),0!==(L&d.$e)&&(0<a?A|=1<<a-1:c<q-1&&(F[c+1]|=32768))))}E+=1}G[c]|=
p;0<b&&(t[c]|=v);b<k-1&&(F[c]|=A)}else E+=16;m+=16;u+=16}for(b=0;b<h.length;b+=1)h[b]=0};a.prototype.Ir=function(){var a,b,c,f=this.tb,g=this.wa,M=this.va,D=this.aa,k,q=this.o,h=this.h>>4,m=this.jc;var u=0;var E=u+16;for(b=0;b<q;b+=1)D[b].set(m);for(b=0;b<q;b+=1){var B=0;var G=g[b];var t=D[b];var F=0<b?D[b-1]:m;var p=b<q-1?D[b+1]:m;G[0]&=32767;G[h-1]&=65534;for(c=0;c<h;c+=1)if(k=G[c]){var v=t[c];var A=F[c];var r=p[c];for(a=15;0<=a;--a){if(0!==(k&1<<a)){var L=!1;var z=0;var x=u;var w=f[x];var n=M[x];
w=w[B];var y=B<<4;0<n[y]&&(w|=32768);y+=1;0<n[y]&&(w|=16384);y+=1;0<n[y]&&(w|=8192);y+=1;0<n[y]&&(w|=4096);y+=1;0<n[y]&&(w|=2048);y+=1;0<n[y]&&(w|=1024);y+=1;0<n[y]&&(w|=512);y+=1;0<n[y]&&(w|=256);y+=1;0<n[y]&&(w|=128);y+=1;0<n[y]&&(w|=64);y+=1;0<n[y]&&(w|=32);y+=1;0<n[y]&&(w|=16);y+=1;0<n[y]&&(w|=8);y+=1;0<n[y]&&(w|=4);y+=1;0<n[y]&&(w|=2);y+=1;0<n[y]&&(w|=1);w&&(L=!0,0!==(w&32768)&&(z|=d.Kd,z|=d.Be),0!==(w&1)&&(z|=d.Ud,z|=d.Ce),z|=d.Gd);for(x+=1;x<E-1;)w=f[x],n=M[x],w=w[B],y=B<<4,0<n[y]&&(w|=32768),
y+=1,0<n[y]&&(w|=16384),y+=1,0<n[y]&&(w|=8192),y+=1,0<n[y]&&(w|=4096),y+=1,0<n[y]&&(w|=2048),y+=1,0<n[y]&&(w|=1024),y+=1,0<n[y]&&(w|=512),y+=1,0<n[y]&&(w|=256),y+=1,0<n[y]&&(w|=128),y+=1,0<n[y]&&(w|=64),y+=1,0<n[y]&&(w|=32),y+=1,0<n[y]&&(w|=16),y+=1,0<n[y]&&(w|=8),y+=1,0<n[y]&&(w|=4),y+=1,0<n[y]&&(w|=2),y+=1,0<n[y]&&(w|=1),w&&(L=!0,0!==(w&32768)&&(z|=d.Kd),0!==(w&1)&&(z|=d.Ud)),x+=1;w=f[x];n=M[x];w=w[B];y=B<<4;0<n[y]&&(w|=32768);y+=1;0<n[y]&&(w|=16384);y+=1;0<n[y]&&(w|=8192);y+=1;0<n[y]&&(w|=4096);
y+=1;0<n[y]&&(w|=2048);y+=1;0<n[y]&&(w|=1024);y+=1;0<n[y]&&(w|=512);y+=1;0<n[y]&&(w|=256);y+=1;0<n[y]&&(w|=128);y+=1;0<n[y]&&(w|=64);y+=1;0<n[y]&&(w|=32);y+=1;0<n[y]&&(w|=16);y+=1;0<n[y]&&(w|=8);y+=1;0<n[y]&&(w|=4);y+=1;0<n[y]&&(w|=2);y+=1;0<n[y]&&(w|=1);w&&(L=!0,0!==(w&32768)&&(z|=d.Kd,z|=d.Ze),0!==(w&1)&&(z|=d.Ud,z|=d.$e),z|=d.Yd);L&&(v|=1<<a,z&&(0!==(z&d.Kd)&&(15>a?v|=1<<a+1:0<c&&(t[c-1]|=1)),0!==(z&d.Ud)&&(0<a?v|=1<<a-1:c<h-1&&(t[c+1]|=32768)),0!==(z&d.Gd)&&(A|=1<<a),0!==(z&d.Yd)&&(r|=1<<a),0!==
(z&d.Be)&&(15>a?A|=1<<a+1:0<c&&(F[c-1]|=1)),0!==(z&d.Ce)&&(0<a?A|=1<<a-1:c<h-1&&(F[c+1]|=32768)),0!==(z&d.Ze)&&(15>a?r|=1<<a+1:0<c&&(p[c-1]|=1)),0!==(z&d.$e)&&(0<a?r|=1<<a-1:c<h-1&&(p[c+1]|=32768))))}B+=1}t[c]|=v;0<b&&(F[c]|=A);b<q-1&&(p[c]|=r)}else B+=16;u+=16;E+=16}for(b=0;b<m.length;b+=1)m[b]=0};a.prototype.zs=function(a){var e,b,d=this.width>>4,g=this.height,c=this.width,f=this.tb,k=this.Gc;var q=this.va;var h=this.H,m=this.qc,u=this.height,E=-1,B=this.width,G=-1,t=this.height,F=-1,p=this.width,
v=-1,A,r=this.De,L=this.o,z=this.aa,x=this.wa,w=this.Ia,n=this.Pa,y=this.jc;if(k&&!a)for(b=0;b<g;b+=1){var J=k[b];for(e=A=0;e<c;e+=1){var I=J[e];A|=I;I&&(e<p&&(p=e),e>v&&(v=e))}A&&(b<t&&(t=b),b>F&&(F=b))}for(b=0;b<r.length;b+=1)r[b]=0;for(b=0;b<L;b+=1)x[b].set(y);if(-1!==this.v)for(b=0;b<g;b+=1){d=q[b];for(e=A=0;e<c;e+=1)I=d[e],A|=I,I&&(e<B&&(B=e),e>G&&(G=e));A&&(b<u&&(u=b),b>E&&(E=b))}else{for(b=0;b<g;b+=1){q=f[b];for(e=A=0;e<d;e+=1)I=q[e],A|=I,r[e]|=I;A&&(b<u&&(u=b),b>E&&(E=b))}for(e=0;e<d;e+=1)r[e]&&
(e<B&&(B=e),e>G&&(G=e));B=(B<<4)+this.jg(r[B]);G=(G<<4)+this.ug(r[G])}if(0>E||u>=g||B>=c||0>G)u=E=g>>1,G=B=c>>1;k&&!a&&(F<E&&(E=F),t>u&&(u=t),p<B&&(B=p),v>G&&(G=v));E>this.height-1&&(E=this.height-1);0>u&&(u=0);0>B&&(B=0);G>this.width-1&&(G=this.width-1);h.Z=E;h.V=u;h.X=B;h.Y=G;m.Z=E;m.V=u;m.X=B;m.Y=G;0<B&&--B;0<u&&--u;G<this.width-1&&(G+=1);E<this.height-1&&(E+=1);I=E>>4;B>>=8;G>>=8;for(b=u>>4;b<=I;b+=1)for(u=x[b],e=B;e<=G;e+=1)u[e]=-1;-1!==this.v?this.Ir():this.Gr();k&&(this.Lj(a),m.Z=h.Z,m.V=h.V,
m.X=h.X,m.Y=h.Y);Array.ed(z,x);Array.ed(z,w);Array.ed(z,n)};a.prototype.$b=function(a){var e=Math.round((this.width-this.la)/2),b=Math.round((this.height-this.sa)/2),d=e+this.la-1,g=b+this.sa-1,c=d+a>>4,f=e-a>>4,k=d+a>>4,q=~(1<<(~(e-a)&15)),h=~(1<<(~(d+a)&15)),m,u=this.Kc,E=0;var B=0!==(this.i&1)?this.ia:this.tb;var G=B[g+a];var t=B[b-a];if(0===this.la)for(c=this.width>>4,m=0;m<c;m+=1)E+=u[t[m]],t[m]=0,E+=u[G[m]],G[m]=0;else if(0===this.sa)for(b=0,g=this.height,c=0;c<g;c+=1)G=B[c],G[f]&~q&&(E+=1),
G[f]&=q,G[k]&~h&&(E+=1),G[k]&=h;else{for(m=e-a>>4;m<=c;m+=1)E+=u[t[m]],t[m]=0,E+=u[G[m]],G[m]=0;for(c=b-a+1;c<=g+a-1;c+=1)G=B[c],G[f]&~q&&(E+=1),G[f]&=q,G[k]&~h&&(E+=1),G[k]&=h}this.zb-=E;if(-1!==this.v)if(B=this.va,e-=a,d+=a,g+=a,b-=a,G=B[g],t=B[b],0===this.la)for(m=0;m<this.width;m+=1)t[m]=0,G[m]=0;else if(0===this.sa)for(c=0;c<this.height;c+=1)B[c][e]=0,B[c][d]=0;else{for(m=e;m<=d;m+=1)t[m]=0,G[m]=0;for(c=b+1;c<=g-1;c+=1)B[c][e]=0,B[c][d]=0}};a.prototype.nn=function(){var a=this.la;var b=this.sa;
var d=Math.round((this.width-a)/2-1)>>4,c=Math.round((this.width+a)/2)>>4;var g=Math.round((this.height-b)/2-1)>>4;var f=Math.round((this.height+b)/2)>>4;0===b&&(g=0,f=(this.height>>4)-1);0===a&&(d=0,c=(this.width>>4)-1);0>d&&(d=0);0>g&&(g=0);c>=this.width>>4&&(c=(this.width>>4)-1);f>=this.height>>4&&(f=(this.height>>4)-1);for(b=d;b<=c;b+=1)a=1<<(~b&15),this.aa[g][b>>4]|=a,this.wa[g][b>>4]|=a,this.Ia[g][b>>4]|=a,this.Pa[g][b>>4]|=a,this.aa[f][b>>4]|=a,this.wa[f][b>>4]|=a,this.Ia[f][b>>4]|=a,this.Pa[f][b>>
4]|=a;for(;g<=f;g+=1)a=1<<(~d&15),this.aa[g][d>>4]|=a,this.wa[g][d>>4]|=a,this.Ia[g][d>>4]|=a,this.Pa[g][d>>4]|=a,a=1<<(~c&15),this.aa[g][c>>4]|=a,this.wa[g][c>>4]|=a,this.Ia[g][c>>4]|=a,this.Pa[g][c>>4]|=a};a.prototype.Sl=function(){var a=this.Ia,b=this.la,d=this.sa,c=Math.round((this.width-b)/2),g=Math.round((this.height-d)/2),f=c+b-1,D=g+d-1,k=this.yi,q=this.zi,h;if(0!==(this.i&1)){var m=this.ia;var u=this.wa}else m=this.tb,u=this.aa;0===this.la&&(c=0,f=this.width-1,b=this.width);0===this.sa&&
(g=0,D=this.height-1,d=this.height);if(0!==this.sa)for(h=0;h<b;h+=1){var E=c+h;var B=c+(h+k+b)%b;0!==(m[D][E>>4]&1<<(~E&15))&&(m[g-1][B>>4]|=1<<(~B&15),u[g-1>>4][B>>8]|=1<<(~(B>>4)&15),a[g-1>>4][B>>8]|=1<<(~(B>>4)&15),15===(g-1&15)&&(u[(g-1>>4)+1][B>>8]|=1<<(~(B>>4)&15),a[(g-1>>4)+1][B>>8]|=1<<(~(B>>4)&15)));B=c+(h-k+b)%b;0!==(m[g][E>>4]&1<<(~E&15))&&(m[D+1][B>>4]|=1<<(~B&15),u[D+1>>4][B>>8]|=1<<(~(B>>4)&15),a[D+1>>4][B>>8]|=1<<(~(B>>4)&15),0===(D+1&15)&&(u[(D+1>>4)-1][B>>8]|=1<<(~(B>>4)&15),a[(D+
1>>4)-1][B>>8]|=1<<(~(B>>4)&15)))}if(0!==this.la)for(h=0;h<d;h+=1)E=g+h,B=g+(h-q+d)%d,0!==(m[E][c>>4]&1<<(~c&15))&&(m[B][f+1>>4]|=1<<(~(f+1)&15),u[B>>4][f+1>>8]|=1<<(~(f+1>>4)&15),a[B>>4][f+1>>8]|=1<<(~(f+1>>4)&15),0===(f+1&15)&&(u[B>>4][f-15>>8]|=1<<(~(f-15>>4)&15),a[B>>4][f-15>>8]|=1<<(~(f-15>>4)&15))),B=g+(h+q+d)%d,0!==(m[E][f>>4]&1<<(~f&15))&&(m[B][c-1>>4]|=1<<(~(c-1)&15),u[B>>4][c-1>>8]|=1<<(~(c-1>>4)&15),a[B>>4][c-1>>8]|=1<<(~(c-1>>4)&15),15===(c-1&15)&&(u[B>>4][c+15>>8]|=1<<(~(c+15>>4)&15),
a[B>>4][c+15>>8]|=1<<(~(c+15>>4)&15)));0!==this.la&&0!==this.sa&&(E=c+(-k+b)%b,m[g-1][f+1>>4]=0!==(m[g+(d-1+q+d)%d][E>>4]&1<<(~E&15))?m[g-1][f+1>>4]|1<<(~(f+1)&15):m[g-1][f+1>>4]&~(1<<(~(f+1)&15)),E=c+(b-1-k+b)%b,m[g-1][c-1>>4]=0!==(m[g+(d-1-q+d)%d][E>>4]&1<<(~E&15))?m[g-1][c-1>>4]|1<<(~(c-1)&15):m[g-1][c-1>>4]&~(1<<(~(c-1)&15)),E=c+(k+b)%b,m[D+1][f+1>>4]=0!==(m[g+(q+d)%d][E>>4]&1<<(~E&15))?m[D+1][f+1>>4]|1<<(~(f+1)&15):m[D+1][f+1>>4]&~(1<<(~(f+1)&15)),E=c+(b-1+k+b)%b,m[D+1][c-1>>4]=0!==(m[g+(-q+
d)%d][E>>4]&1<<(~E&15))?m[D+1][c-1>>4]|1<<(~(c-1)&15):m[D+1][c-1>>4]&~(1<<(~(c-1)&15)))};a.prototype.Ql=function(){var a=this.Ia,b=this.la,d=this.sa,c=Math.round((this.width-b)/2),g=Math.round((this.height-d)/2),f=c+b-1,D=g+d-1,k=this.yi,q=this.zi,h=this.Zl,m=this.ko,u;if(0!==(this.i&1)){var E=this.ia;var B=this.wa}else E=this.tb,B=this.aa;for(u=0;u<b;u+=1){var G=c+u;var t=h?f-(u+k+b)%b:c+(u+k+b)%b;0!==(E[D][G>>4]&1<<(~G&15))&&(E[g-1][t>>4]|=1<<(~t&15),B[g-1>>4][t>>8]|=1<<(~(t>>4)&15),a[g-1>>4][t>>
8]|=1<<(~(t>>4)&15),15===(g-1&15)&&(B[(g-1>>4)+1][t>>8]|=1<<(~(t>>4)&15),a[(g-1>>4)+1][t>>8]|=1<<(~(t>>4)&15)));t=h?f-(u-k+b)%b:c+(u-k+b)%b;0!==(E[g][G>>4]&1<<(~G&15))&&(E[D+1][t>>4]|=1<<(~t&15),B[D+1>>4][t>>8]|=1<<(~(t>>4)&15),a[D+1>>4][t>>8]|=1<<(~(t>>4)&15),0===(D+1&15)&&(B[(D+1>>4)-1][t>>8]|=1<<(~(t>>4)&15),a[(D+1>>4)-1][t>>8]|=1<<(~(t>>4)&15)))}for(u=0;u<d;u+=1)G=g+u,t=m?D-(u-q+d)%d:g+(u-q+d)%d,0!==(E[G][c>>4]&1<<(~c&15))&&(E[t][f+1>>4]|=1<<(~(f+1)&15),B[t>>4][f+1>>8]|=1<<(~(f+1>>4)&15),a[t>>
4][f+1>>8]|=1<<(~(f+1>>4)&15),0===(f+1&15)&&(B[t>>4][f-15>>8]|=1<<(~(f-15>>4)&15),a[t>>4][f-15>>8]|=1<<(~(f-15>>4)&15))),t=m?D-(u+q+d)%d:g+(u+q+d)%d,0!==(E[G][f>>4]&1<<(~f&15))&&(E[t][c-1>>4]|=1<<(~(c-1)&15),B[t>>4][c-1>>8]|=1<<(~(c-1>>4)&15),a[t>>4][c-1>>8]|=1<<(~(c-1>>4)&15),15===(c-1&15)&&(B[t>>4][c+15>>8]|=1<<(~(c+15>>4)&15),a[t>>4][c+15>>8]|=1<<(~(c+15>>4)&15)));G=h?f-(-k+b)%b:c+(-k+b)%b;0!==(E[m?D-(d-1+q+d)%d:g+(d-1+q+d)%d][G>>4]&1<<(~G&15))&&(E[g-1][f+1>>4]|=1<<(~(f+1)&15));G=h?f-(b-1-k+b)%
b:c+(b-1-k+b)%b;0!==(E[m?D-(d-1+q+d)%d:g+(d-1+q+d)%d][G>>4]&1<<(~G&15))&&(E[g-1][c-1>>4]|=1<<(~(c-1)&15));G=h?f-(k+b)%b:c+(k+b)%b;0!==(E[m?D-(q+d)%d:g+(q+d)%d][G>>4]&1<<(~G&15))&&(E[D+1][f+1>>4]|=1<<(~(f+1)&15));G=h?f-(b-1+k+b)%b:c+(b-1+k+b)%b;0!==(E[m?D-(q+d)%d:g+(q+d)%d][G>>4]&1<<(~G&15))&&(E[D+1][c-1>>4]|=1<<(~(c-1)&15))};a.prototype.Pl=function(){var a=this.Ia,b=Math.round((this.width-this.la)/2),d=Math.round((this.height-this.sa)/2),c=b+this.la-1,g=d+this.sa-1,f;if(0!==(this.i&1)){var D=this.ia;
var k=this.wa}else D=this.tb,k=this.aa;for(f=0;f<this.la;f+=1){var q=b+f;var h=c-f;0!==(D[g][q>>4]&1<<(~q&15))&&(D[d-1][h>>4]|=1<<(~h&15),k[d-1>>4][h>>8]|=1<<(~(h>>4)&15),a[d-1>>4][h>>8]|=1<<(~(h>>4)&15),15===(d-1&15)&&(k[(d-1>>4)+1][h>>8]|=1<<(~(h>>4)&15),a[(d-1>>4)+1][h>>8]|=1<<(~(h>>4)&15)));0!==(D[d][q>>4]&1<<(~q&15))&&(D[g+1][h>>4]|=1<<(~h&15),k[g+1>>4][h>>8]|=1<<(~(h>>4)&15),a[g+1>>4][h>>8]|=1<<(~(h>>4)&15),0===(g+1&15)&&(k[(g+1>>4)-1][h>>8]|=1<<(~(h>>4)&15),a[(g+1>>4)-1][h>>8]|=1<<(~(h>>4)&
15)))}for(f=0;f<=this.sa;f+=1)q=d+f,h=g-f,0!==(D[q][b>>4]&1<<(~b&15))&&(D[h][c+1>>4]|=1<<(~(c+1)&15),k[h>>4][c+1>>8]|=1<<(~(c+1>>4)&15),a[h>>4][c+1>>8]|=1<<(~(c+1>>4)&15),0===(c+1&15)&&(k[h>>4][c-15>>8]|=1<<(~(c-15>>4)&15),a[h>>4][c-15>>8]|=1<<(~(c-15>>4)&15))),0!==(D[q][c>>4]&1<<(~c&15))&&(D[h][b-1>>4]|=1<<(~(b-1)&15),k[h>>4][b-1>>8]|=1<<(~(b-1>>4)&15),a[h>>4][b-1>>8]|=1<<(~(b-1>>4)&15),15===(b-1&15)&&(k[h>>4][b+15>>8]|=1<<(~(b+15>>4)&15),a[h>>4][b+15>>8]|=1<<(~(b+15>>4)&15)));0!==(D[g][b>>4]&1<<
(~b&15))&&(D[g+1][b-1>>4]|=1<<(~(b-1)&15));0!==(D[g][c>>4]&1<<(~c&15))&&(D[g+1][c+1>>4]|=1<<(~(c+1)&15));0!==(D[d][b>>4]&1<<(~b&15))&&(D[d-1][b-1>>4]|=1<<(~(b-1)&15));0!==(D[d][c>>4]&1<<(~c&15))&&(D[d-1][c+1>>4]|=1<<(~(c+1)&15))};a.prototype.Rl=function(){var a=this.Ia,b=Math.round((this.width-this.la)/2),d=Math.round((this.height-this.sa)/2),c=b+this.la-1,g=d+this.la-1,f;if(0!==(this.i&1)){var D=this.ia;var k=this.wa}else D=this.tb,k=this.aa;for(f=0;f<this.la;f+=1){var q=d+f;var h=b+f;0!==(D[q][b>>
4]&1<<(~b&15))&&(D[d-1][h>>4]|=1<<(~h&15),k[d-1>>4][h>>8]|=1<<(~(h>>4)&15),a[d-1>>4][h>>8]|=1<<(~(h>>4)&15),15===(d-1&15)&&(k[(d-1>>4)+1][h>>8]|=1<<(~(h>>4)&15),a[(d-1>>4)+1][h>>8]|=1<<(~(h>>4)&15)));0!==(D[q][c>>4]&1<<(~c&15))&&(D[g+1][h>>4]|=1<<(~h&15),k[g+1>>4][h>>8]|=1<<(~(h>>4)&15),a[g+1>>4][h>>8]|=1<<(~(h>>4)&15),0===(g+1&15)&&(k[(g+1>>4)-1][h>>8]|=1<<(~(h>>4)&15),a[(g+1>>4)-1][h>>8]|=1<<(~(h>>4)&15)));0!==(D[d][h>>4]&1<<(~h&15))&&(D[q][b-1>>4]|=1<<(~(b-1)&15),k[q>>4][b-1>>8]|=1<<(~(b-1>>4)&
15),a[q>>4][b-1>>8]|=1<<(~(b-1>>4)&15),15===(b-1&15)&&(k[q>>4][b+15>>8]|=1<<(~(b+15>>4)&15),a[q>>4][b+15>>8]|=1<<(~(b+15>>4)&15)));0!==(D[g][h>>4]&1<<(~h&15))&&(D[q][c+1>>4]|=1<<(~(c+1)&15),k[q>>4][c+1>>8]|=1<<(~(c+1>>4)&15),a[q>>4][c+1>>8]|=1<<(~(c+1>>4)&15),0===(c+1&15)&&(k[q>>4][c-15>>8]|=1<<(~(c-15>>4)&15),a[q>>4][c-15>>8]|=1<<(~(c-15>>4)&15)))}0!==(D[g][b>>4]&1<<(~b&15))&&(D[g+1][b-1>>4]|=1<<(~(b-1)&15));0!==(D[g][c>>4]&1<<(~c&15))&&(D[g+1][c+1>>4]|=1<<(~(c+1)&15));0!==(D[d][b>>4]&1<<(~b&15))&&
(D[d-1][b-1>>4]|=1<<(~(b-1)&15));0!==(D[d][c>>4]&1<<(~c&15))&&(D[d-1][c+1>>4]|=1<<(~(c+1)&15))};a.prototype.Jl=function(){switch(this.bb){case 0:this.$b(1);break;case 1:this.$b(1);this.$b(2);break;case 2:this.$b(1);this.$b(2);break;case 3:this.$b(1);this.$b(2);break;case 4:this.$b(1),this.$b(2)}};a.prototype.Ol=function(){this.nn();switch(this.bb){case 1:this.Sl();break;case 2:this.Ql();break;case 3:this.Pl();break;case 4:this.Rl()}this.nn()};a.prototype.fh=function(a,b,c){var e=!1,g=this.H,f=this.sb;
c||(a=!0);this.i===this.gh-1&&(e=!0,b||(a=!0));-1===this.bb||this.ec||this.Ol();this.Nb&&this.bs();this.ba&&(this.ec?this.Gl():a?this.Il():this.Hl());this.i+=1;-1===this.v||this.ec||(this.ba?this.El():this.Fl());this.Nb&&this.Rr();-1===this.bb||this.ec||this.Jl();8192===this.width&&(16>=g.X||8176<=g.Y||16>=g.V||8176<=g.Z)&&this.Ij();e&&(this.gh+=d.nj,b||this.ij());g.X<f.X&&(f.X=g.X);g.Y>f.Y&&(f.Y=g.Y);g.V<f.V&&(f.V=g.V);g.Z>f.Z&&(f.Z=g.Z);this.i<d.Uh&&(a?(this.zd[this.i]=this.zb,this.ve[this.i]=this.xc,
this.Fe[this.i]=this.zc,this.zb>this.Cb&&(this.Cb=this.zb),this.xc>this.Cb&&(this.Cb=this.xc),this.zc>this.Cb&&(this.Cb=this.zc)):(this.zd[this.i]=0,this.ve[this.i]=0,this.Fe[this.i]=0))};a.prototype.tg=function(a,b,c,f,g,M,D,k){var e,h=1,m;this.i>c&&(h=c/this.i);if(k){a.strokeStyle=b;a.beginPath();var u=f-D[0]/this.Cb*f|0;a.moveTo(0+M+.5,u+g+M+.5)}else a.fillStyle=b;var l=0;for(b=e=1;b<c;b+=1){if(e<d.Uh){var C=m=D[e];l+=h;for(e+=1;0===(l|0);){var K=D[e];e+=1;K>C&&(C=K);K<m&&(m=K);l+=h}--l}else C=
m=0;b<=this.i&&(K=0+M+1+b,u=f-m/this.Cb*f|0,k?(a.lineTo(K+.5,u+g+M+.5),m!==C&&(u=f-C/this.Cb*f|0,a.lineTo(K+.5,u+g+M+.5))):0<m&&0<C&&(m!==C&&(u=f-C/this.Cb*f|0),a.fillRect(K+.5,u+g+M+.5,1,1)))}k&&a.stroke()};a.prototype.Fo=function(a,b,d,c){var e=this.we,f=40,l=40,k=this.u-0-l,C=this.s-f-l,h="rgb("+this.he[0]+","+this.he[1]+","+this.he[2]+")",m="rgb("+this.ge[0]+","+this.ge[1]+","+this.ge[2]+")",u="rgb("+this.fe[0]+","+this.fe[1]+","+this.fe[2]+")",K="rgb("+this.ie[0]+","+this.ie[1]+","+this.ie[2]+
")",B="rgb("+this.je[0]+","+this.je[1]+","+this.je[2]+")";if(d||c)f=0,C+=80;c&&(l=0,k=this.u-0);var G=k-l;e.save();e.fillStyle=h;e.globalAlpha=b;e.fillRect(0,f,k+l,C);e.globalAlpha=1;d&&(C-=40);if(!c){e.font="16px Arial";e.textAlign="center";e.fillStyle="black";for(b=2;0<=b;b-=2)e.save(),e.translate(this.u/2,C+l/2-6),e.fillText("Generation",b,b),e.restore(),e.save(),e.translate(l/2+6,this.s/2),e.rotate(-90*Math.PI/180),320>this.s?e.fillText("Pop",b,b):e.fillText("Population",b,b),e.restore(),e.fillStyle=
m;e.fillStyle="black";for(b=2;0<=b;b-=2)e.save(),e.translate(l-l/2+6,f+l),e.rotate(-90*Math.PI/180),e.fillText(String(this.Cb),b,b),e.restore(),e.save(),e.translate(l-l/2+6,C),e.rotate(-90*Math.PI/180),e.fillText("0",b,b),e.restore(),e.save(),e.translate(l,C+l/2-6),e.fillText("0",b,b),e.restore(),e.save(),e.translate(k,C+l/2-6),e.fillText(String(this.i>G?this.i:G),b,b),e.restore(),e.fillStyle=m}-1===this.bb&&(this.tg(e,B,G,C-f-l,f,l,this.Fe,a),this.tg(e,K,G,C-f-l,f,l,this.ve,a));this.tg(e,u,G,C-f-
l,f,l,this.zd,a);e.strokeStyle=m;e.lineWidth=1;e.beginPath();e.moveTo(l+.5,f+l+.5);e.lineTo(l+.5,C+.5);e.lineTo(k+.5,C+.5);e.lineTo(k+.5,C+2.5);e.moveTo(l+.5,C+.5);e.lineTo(l+.5,C+2.5);e.moveTo(l+.5,C+.5);e.lineTo(l+.5-2,C+.5);e.moveTo(l+.5,f+l+.5);e.lineTo(l+.5-2,f+l+.5);e.stroke();e.restore()};a.prototype.Jp=function(){var a;for(a=0;a<d.Uh;a+=1)this.zd[a]=0,this.ve[a]=0,this.Fe[a]=0;this.Cb=this.zd[0]=this.zb};a.prototype.jn=function(){var a=this.H,b=this.sb;b.X=a.X;b.Y=a.Y;b.Z=a.Z;b.V=a.V};a.prototype.bs=
function(){var a,b,d,c,g=this.Nb,f=this.vc,D=this.wc,k=this.re,q=this.o,h=this.h>>4,m;var u=0;var E=0!==(this.i&1)?this.ia:this.tb;for(a=0;a<q;a+=1){var B=0;var G=k[a];for(b=0;b<h;b+=1)if(m=G[b])for(d=15;0<=d;--d){if(0!==(m&1<<d))for(c=u;c<u+16;c+=1)f[c][B]=(E[c][B]|D[c][B])&g[c][B];B+=1}else B+=16;u+=16}};a.prototype.Rr=function(){var a,b,d,c,g,f=this.vc,D=this.re,k=this.o,q=this.h>>4,h;var m=0!==(this.i&1)?this.ia:this.tb;for(a=g=0;a<k;a+=1){var u=0;var E=D[a];for(b=0;b<q;b+=1)if(h=E[b])for(d=15;0<=
d;--d){if(0!==(h&1<<d))for(c=g;c<g+16;c+=1)m[c][u]&=~f[c][u];u+=1}else u+=16;g+=16}};a.prototype.sg=function(a,b,c){var e,g,f=this.mh,l=0,k=this.Zc[l],C=this.$c[l],h=0,m=d.gn,u=m-1,E=0,B=m,G=this.al,t=this.$a,F=this.eb;k[h]=a;C[h]=b;h+=1;for(c[b][a>>4]&=~(1<<(~a&15));0<h;)for(--h,h<E&&(--l,E-=m,B-=m,k=this.Zc[l],C=this.$c[l]),a=k[h&u],b=C[h&u],g=b-G;g<=b+G;){for(e=a-G;e<=a+G;)e===(e&t)&&g===(g&F)&&0!==(c[g][e>>4]&1<<(~e&15))&&(c[g][e>>4]&=~(1<<(~e&15)),h===B&&(l+=1,E+=m,B+=m,l>f&&(this.Zc[l]=this.l.ga(Int32,
m,"Life.boundaryX"+l),this.$c[l]=this.l.ga(Int32,m,"Life.boundaryY"+l),this.mh=f+=1),k=this.Zc[l],C=this.$c[l]),k[h&u]=e,C[h&u]=g,h+=1),e+=1;g+=1}};a.prototype.Bh=function(a,b,d){for(var e=d[b][a],c=15;0<=c;)0!==(e&1<<c)&&this.sg((a<<4)+(~c&15),b,d),--c};a.prototype.ul=function(a,b){this.sg(0,a,b)};a.prototype.Tl=function(a,b,d){this.sg((a<<4)+15,b,d)};a.prototype.Ij=function(){var a;var b=0!==(this.i&1)?this.ia:this.tb;var d=b.length;var c=b[0].length;var g=b[0];var f=b[d-1];for(a=0;a<c;)g[a]&&this.Bh(a,
0,b),f[a]&&this.Bh(a,d-1,b),a+=1;for(a=0;a<d;)0!==(b[a][0]&32768)&&this.ul(a,b),0!==(b[a][c-1]&1)&&this.Tl(c-1,a,b),a+=1};a.prototype.Hl=function(){var a,b,c,f,g=this.De,M,D=this.height,k=this.width,q=k>>4,h=this.H,m=D,u=-1,E=k,B=-1,G=this.o,t=this.h>>4,F=this.jc;var p=0;var v=G;if(0!==(this.i&1)){var A=this.ia;var r=this.tb;var L=this.wa;var z=this.aa;var x=this.He}else A=this.tb,r=this.ia,L=this.aa,z=this.wa,x=this.Ge;for(b=0;b<g.length;b+=1)g[b]=0;0>p&&(p=0);v>G&&(v=G);var w=p<<4;var n=w+16;for(b=
p;b<v;b+=1){var y=z[b];for(c=0;c<y.length;c+=1)y[c]=0}for(b=p;b<v;b+=1){var J=0;y=L[b];var I=z[b];var S=0<b?z[b-1]:F;var ca=b<G-1?z[b+1]:F;for(c=0;c<t;c+=1)if(f=y[c]){var ba=I[c];var V=S[c];var aa=ca[c];for(a=15;0<=a;--a){if(0!==(f&1<<a)){var X=M=0;var Q=w;var W=0===Q?this.jb:A[Q-1];var T=A[Q];p=A[Q+1];var Z=T[J];if(J)if(J>=q-1){W=W[J-1]<<17|W[J]<<1;T=T[J-1]<<17|Z<<1;var R=p[J-1]<<17|p[J]<<1;var H=x[W>>12&63|(T>>12&63)<<6|(R>>12&63)<<12]<<12;H|=x[W>>8&63|(T>>8&63)<<6|(R>>8&63)<<12]<<8;H|=x[W>>4&63|
(T>>4&63)<<6|(R>>4&63)<<12]<<4;H|=x[W&63|(T&63)<<6|(R&63)<<12];if(r[Q][J]=H)M|=H,Q<m&&(m=Q),Q>u&&(u=Q),0!==(H&32768)&&(X|=d.Be),X|=d.Gd;for(Q+=1;Q<n-1;){Z|=p[J];p=A[Q+1];W=T;T=R;R=p[J-1]<<17|p[J]<<1;H=x[W>>12&63|(T>>12&63)<<6|(R>>12&63)<<12]<<12;H|=x[W>>8&63|(T>>8&63)<<6|(R>>8&63)<<12]<<8;H|=x[W>>4&63|(T>>4&63)<<6|(R>>4&63)<<12]<<4;H|=x[W&63|(T&63)<<6|(R&63)<<12];if(r[Q][J]=H)M|=H,Q<m&&(m=Q),Q>u&&(u=Q);Q+=1}Z|=p[J];p=Q===this.height-1?this.jb:A[Q+1];W=T;T=R;R=p[J-1]<<17|p[J]<<1;H=x[W>>12&63|(T>>12&
63)<<6|(R>>12&63)<<12]<<12;H|=x[W>>8&63|(T>>8&63)<<6|(R>>8&63)<<12]<<8;H|=x[W>>4&63|(T>>4&63)<<6|(R>>4&63)<<12]<<4;H|=x[W&63|(T&63)<<6|(R&63)<<12];if(r[Q][J]=H)M|=H,Q<m&&(m=Q),Q>u&&(u=Q),0!==(H&32768)&&(X|=d.Ze),X|=d.Yd}else{W=W[J-1]<<17|W[J]<<1|W[J+1]>>15;T=T[J-1]<<17|Z<<1|T[J+1]>>15;R=p[J-1]<<17|p[J]<<1|p[J+1]>>15;H=x[W>>12&63|(T>>12&63)<<6|(R>>12&63)<<12]<<12;H|=x[W>>8&63|(T>>8&63)<<6|(R>>8&63)<<12]<<8;H|=x[W>>4&63|(T>>4&63)<<6|(R>>4&63)<<12]<<4;H|=x[W&63|(T&63)<<6|(R&63)<<12];if(r[Q][J]=H)M|=
H,Q<m&&(m=Q),Q>u&&(u=Q),0!==(H&32768)&&(X|=d.Be),0!==(H&1)&&(X|=d.Ce),X|=d.Gd;Q+=1;Z|=p[J];p=A[Q+1];W=T;T=R;R=p[J-1]<<17|p[J]<<1|p[J+1]>>15;H=x[W>>12&63|(T>>12&63)<<6|(R>>12&63)<<12]<<12;H|=x[W>>8&63|(T>>8&63)<<6|(R>>8&63)<<12]<<8;H|=x[W>>4&63|(T>>4&63)<<6|(R>>4&63)<<12]<<4;H|=x[W&63|(T&63)<<6|(R&63)<<12];if(r[Q][J]=H)M|=H,Q<m&&(m=Q),Q>u&&(u=Q);Q+=1;Z|=p[J];p=A[Q+1];W=T;T=R;R=p[J-1]<<17|p[J]<<1|p[J+1]>>15;H=x[W>>12&63|(T>>12&63)<<6|(R>>12&63)<<12]<<12;H|=x[W>>8&63|(T>>8&63)<<6|(R>>8&63)<<12]<<8;H|=
x[W>>4&63|(T>>4&63)<<6|(R>>4&63)<<12]<<4;H|=x[W&63|(T&63)<<6|(R&63)<<12];if(r[Q][J]=H)M|=H,Q<m&&(m=Q),Q>u&&(u=Q);Q+=1;Z|=p[J];p=A[Q+1];W=T;T=R;R=p[J-1]<<17|p[J]<<1|p[J+1]>>15;H=x[W>>12&63|(T>>12&63)<<6|(R>>12&63)<<12]<<12;H|=x[W>>8&63|(T>>8&63)<<6|(R>>8&63)<<12]<<8;H|=x[W>>4&63|(T>>4&63)<<6|(R>>4&63)<<12]<<4;H|=x[W&63|(T&63)<<6|(R&63)<<12];if(r[Q][J]=H)M|=H,Q<m&&(m=Q),Q>u&&(u=Q);Q+=1;Z|=p[J];p=A[Q+1];W=T;T=R;R=p[J-1]<<17|p[J]<<1|p[J+1]>>15;H=x[W>>12&63|(T>>12&63)<<6|(R>>12&63)<<12]<<12;H|=x[W>>8&
63|(T>>8&63)<<6|(R>>8&63)<<12]<<8;H|=x[W>>4&63|(T>>4&63)<<6|(R>>4&63)<<12]<<4;H|=x[W&63|(T&63)<<6|(R&63)<<12];if(r[Q][J]=H)M|=H,Q<m&&(m=Q),Q>u&&(u=Q);Q+=1;Z|=p[J];p=A[Q+1];W=T;T=R;R=p[J-1]<<17|p[J]<<1|p[J+1]>>15;H=x[W>>12&63|(T>>12&63)<<6|(R>>12&63)<<12]<<12;H|=x[W>>8&63|(T>>8&63)<<6|(R>>8&63)<<12]<<8;H|=x[W>>4&63|(T>>4&63)<<6|(R>>4&63)<<12]<<4;H|=x[W&63|(T&63)<<6|(R&63)<<12];if(r[Q][J]=H)M|=H,Q<m&&(m=Q),Q>u&&(u=Q);Q+=1;Z|=p[J];p=A[Q+1];W=T;T=R;R=p[J-1]<<17|p[J]<<1|p[J+1]>>15;H=x[W>>12&63|(T>>12&
63)<<6|(R>>12&63)<<12]<<12;H|=x[W>>8&63|(T>>8&63)<<6|(R>>8&63)<<12]<<8;H|=x[W>>4&63|(T>>4&63)<<6|(R>>4&63)<<12]<<4;H|=x[W&63|(T&63)<<6|(R&63)<<12];if(r[Q][J]=H)M|=H,Q<m&&(m=Q),Q>u&&(u=Q);Q+=1;Z|=p[J];p=A[Q+1];W=T;T=R;R=p[J-1]<<17|p[J]<<1|p[J+1]>>15;H=x[W>>12&63|(T>>12&63)<<6|(R>>12&63)<<12]<<12;H|=x[W>>8&63|(T>>8&63)<<6|(R>>8&63)<<12]<<8;H|=x[W>>4&63|(T>>4&63)<<6|(R>>4&63)<<12]<<4;H|=x[W&63|(T&63)<<6|(R&63)<<12];if(r[Q][J]=H)M|=H,Q<m&&(m=Q),Q>u&&(u=Q);Q+=1;Z|=p[J];p=A[Q+1];W=T;T=R;R=p[J-1]<<17|p[J]<<
1|p[J+1]>>15;H=x[W>>12&63|(T>>12&63)<<6|(R>>12&63)<<12]<<12;H|=x[W>>8&63|(T>>8&63)<<6|(R>>8&63)<<12]<<8;H|=x[W>>4&63|(T>>4&63)<<6|(R>>4&63)<<12]<<4;H|=x[W&63|(T&63)<<6|(R&63)<<12];if(r[Q][J]=H)M|=H,Q<m&&(m=Q),Q>u&&(u=Q);Q+=1;Z|=p[J];p=A[Q+1];W=T;T=R;R=p[J-1]<<17|p[J]<<1|p[J+1]>>15;H=x[W>>12&63|(T>>12&63)<<6|(R>>12&63)<<12]<<12;H|=x[W>>8&63|(T>>8&63)<<6|(R>>8&63)<<12]<<8;H|=x[W>>4&63|(T>>4&63)<<6|(R>>4&63)<<12]<<4;H|=x[W&63|(T&63)<<6|(R&63)<<12];if(r[Q][J]=H)M|=H,Q<m&&(m=Q),Q>u&&(u=Q);Q+=1;Z|=p[J];
p=A[Q+1];W=T;T=R;R=p[J-1]<<17|p[J]<<1|p[J+1]>>15;H=x[W>>12&63|(T>>12&63)<<6|(R>>12&63)<<12]<<12;H|=x[W>>8&63|(T>>8&63)<<6|(R>>8&63)<<12]<<8;H|=x[W>>4&63|(T>>4&63)<<6|(R>>4&63)<<12]<<4;H|=x[W&63|(T&63)<<6|(R&63)<<12];if(r[Q][J]=H)M|=H,Q<m&&(m=Q),Q>u&&(u=Q);Q+=1;Z|=p[J];p=A[Q+1];W=T;T=R;R=p[J-1]<<17|p[J]<<1|p[J+1]>>15;H=x[W>>12&63|(T>>12&63)<<6|(R>>12&63)<<12]<<12;H|=x[W>>8&63|(T>>8&63)<<6|(R>>8&63)<<12]<<8;H|=x[W>>4&63|(T>>4&63)<<6|(R>>4&63)<<12]<<4;H|=x[W&63|(T&63)<<6|(R&63)<<12];if(r[Q][J]=H)M|=
H,Q<m&&(m=Q),Q>u&&(u=Q);Q+=1;Z|=p[J];p=A[Q+1];W=T;T=R;R=p[J-1]<<17|p[J]<<1|p[J+1]>>15;H=x[W>>12&63|(T>>12&63)<<6|(R>>12&63)<<12]<<12;H|=x[W>>8&63|(T>>8&63)<<6|(R>>8&63)<<12]<<8;H|=x[W>>4&63|(T>>4&63)<<6|(R>>4&63)<<12]<<4;H|=x[W&63|(T&63)<<6|(R&63)<<12];if(r[Q][J]=H)M|=H,Q<m&&(m=Q),Q>u&&(u=Q);Q+=1;Z|=p[J];p=A[Q+1];W=T;T=R;R=p[J-1]<<17|p[J]<<1|p[J+1]>>15;H=x[W>>12&63|(T>>12&63)<<6|(R>>12&63)<<12]<<12;H|=x[W>>8&63|(T>>8&63)<<6|(R>>8&63)<<12]<<8;H|=x[W>>4&63|(T>>4&63)<<6|(R>>4&63)<<12]<<4;H|=x[W&63|(T&
63)<<6|(R&63)<<12];if(r[Q][J]=H)M|=H,Q<m&&(m=Q),Q>u&&(u=Q);Q+=1;Z|=p[J];p=A[Q+1];W=T;T=R;R=p[J-1]<<17|p[J]<<1|p[J+1]>>15;H=x[W>>12&63|(T>>12&63)<<6|(R>>12&63)<<12]<<12;H|=x[W>>8&63|(T>>8&63)<<6|(R>>8&63)<<12]<<8;H|=x[W>>4&63|(T>>4&63)<<6|(R>>4&63)<<12]<<4;H|=x[W&63|(T&63)<<6|(R&63)<<12];if(r[Q][J]=H)M|=H,Q<m&&(m=Q),Q>u&&(u=Q);Q+=1;Z|=p[J];p=Q===this.height-1?this.jb:A[Q+1];W=T;T=R;R=p[J-1]<<17|p[J]<<1|p[J+1]>>15;H=x[W>>12&63|(T>>12&63)<<6|(R>>12&63)<<12]<<12;H|=x[W>>8&63|(T>>8&63)<<6|(R>>8&63)<<12]<<
8;H|=x[W>>4&63|(T>>4&63)<<6|(R>>4&63)<<12]<<4;H|=x[W&63|(T&63)<<6|(R&63)<<12];if(r[Q][J]=H)M|=H,Q<m&&(m=Q),Q>u&&(u=Q),0!==(H&32768)&&(X|=d.Ze),0!==(H&1)&&(X|=d.$e),X|=d.Yd}else{W=W[J]<<1|W[J+1]>>15;T=Z<<1|T[J+1]>>15;R=p[J]<<1|p[J+1]>>15;H=x[W>>12&63|(T>>12&63)<<6|(R>>12&63)<<12]<<12;H|=x[W>>8&63|(T>>8&63)<<6|(R>>8&63)<<12]<<8;H|=x[W>>4&63|(T>>4&63)<<6|(R>>4&63)<<12]<<4;H|=x[W&63|(T&63)<<6|(R&63)<<12];if(r[Q][J]=H)M|=H,Q<m&&(m=Q),Q>u&&(u=Q),0!==(H&1)&&(X|=d.Ce),X|=d.Gd;for(Q+=1;Q<n-1;){Z|=p[J];p=A[Q+
1];W=T;T=R;R=p[J]<<1|p[J+1]>>15;H=x[W>>12&63|(T>>12&63)<<6|(R>>12&63)<<12]<<12;H|=x[W>>8&63|(T>>8&63)<<6|(R>>8&63)<<12]<<8;H|=x[W>>4&63|(T>>4&63)<<6|(R>>4&63)<<12]<<4;H|=x[W&63|(T&63)<<6|(R&63)<<12];if(r[Q][J]=H)M|=H,Q<m&&(m=Q),Q>u&&(u=Q);Q+=1}Z|=p[J];p=Q===this.height-1?this.jb:A[Q+1];W=T;T=R;R=p[J]<<1|p[J+1]>>15;H=x[W>>12&63|(T>>12&63)<<6|(R>>12&63)<<12]<<12;H|=x[W>>8&63|(T>>8&63)<<6|(R>>8&63)<<12]<<8;H|=x[W>>4&63|(T>>4&63)<<6|(R>>4&63)<<12]<<4;H|=x[W&63|(T&63)<<6|(R&63)<<12];if(r[Q][J]=H)M|=H,
Q<m&&(m=Q),Q>u&&(u=Q),0!==(H&1)&&(X|=d.$e),X|=d.Yd}M&&(0!==(M&32768)&&(X|=d.Kd),0!==(M&1)&&(X|=d.Ud));g[J]|=M;if(M||Z)ba|=1<<a,X&&(0!==(X&d.Kd)&&(15>a?ba|=1<<a+1:0<c&&0<J&&(I[c-1]|=1)),0!==(X&d.Ud)&&(0<a?ba|=1<<a-1:c<t-1&&J<q-1&&(I[c+1]|=32768)),0!==(X&d.Gd)&&(V|=1<<a),0!==(X&d.Yd)&&(aa|=1<<a),0!==(X&d.Be)&&(15>a?V|=1<<a+1:0<c&&0<J&&(S[c-1]|=1)),0!==(X&d.Ce)&&(0<a?V|=1<<a-1:c<t-1&&J<q-1&&(S[c+1]|=32768)),0!==(X&d.Ze)&&(15>a?aa|=1<<a+1:0<c&&0<J&&(ca[c-1]|=1)),0!==(X&d.$e)&&(0<a?aa|=1<<a-1:c<t-1&&J<
q-1&&(ca[c+1]|=32768)))}J+=1}I[c]|=ba;0<b&&(S[c]|=V);b<G-1&&(ca[c]|=aa)}else J+=16;w+=16;n+=16}for(c=0;c<q;c+=1)g[c]&&(c<E&&(E=c),c>B&&(B=c));E=(E<<4)+this.jg(g[E]);B=(B<<4)+this.ug(g[B]);0>u&&(u=D-1);m>=D&&(m=0);E>=k&&(E=0);0>B&&(B=k-1);u>D-1&&(u=D-1);0>m&&(m=0);0>E&&(E=0);B>k-1&&(B=k-1);h.Z=u;h.V=m;h.X=E;h.Y=B;for(b=0;b<F.length;b+=1)F[b]=0};a.prototype.Gl=function(){Array.ed(this.aa,this.wa);Array.ed(this.Ib,this.Sb)};a.prototype.Il=function(){var a,b,c,f,g,M=this.De,D,k=this.height,q=this.width,
h=q>>4,m=this.H,u=k,E=-1,B=q,G=-1,t=this.o,F=this.h>>4,p=this.jc,v=this.Kc,A=0,r=0,L=0;var z=0;var x=t;if(0!==(this.i&1)){var w=this.ia;var n=this.tb;var y=this.wa;var J=this.aa;var I=this.He}else w=this.tb,n=this.ia,y=this.aa,J=this.wa,I=this.Ge;for(b=0;b<M.length;b+=1)M[b]=0;0>z&&(z=0);x>t&&(x=t);var S=z<<4;var ca=S+16;for(b=z;b<x;b+=1){var ba=J[b];for(c=0;c<ba.length;c+=1)ba[c]=0}for(b=z;b<x;b+=1){var V=0;ba=y[b];var aa=J[b];var X=0<b?J[b-1]:p;var Q=b<t-1?J[b+1]:p;for(c=0;c<F;c+=1)if(f=ba[c]){var W=
aa[c];var T=X[c];var Z=Q[c];for(a=15;0<=a;--a){if(0!==(f&1<<a)){var R=D=0;var H=S;var P=0===H?this.jb:w[H-1];var O=w[H];z=w[H+1];var Y=g=O[V];if(V)if(V>=h-1){P=P[V-1]<<17|P[V]<<1;O=O[V-1]<<17|g<<1;var U=z[V-1]<<17|z[V]<<1;var N=I[P>>12&63|(O>>12&63)<<6|(U>>12&63)<<12]<<12;N|=I[P>>8&63|(O>>8&63)<<6|(U>>8&63)<<12]<<8;N|=I[P>>4&63|(O>>4&63)<<6|(U>>4&63)<<12]<<4;N|=I[P&63|(O&63)<<6|(U&63)<<12];n[H][V]=N;A+=v[N];r+=v[N&~g];L+=v[g&~N];N&&(D|=N,H<u&&(u=H),H>E&&(E=H),0!==(N&32768)&&(R|=d.Be),R|=d.Gd);for(H+=
1;H<ca-1;)g=z[V],Y|=g,z=w[H+1],P=O,O=U,U=z[V-1]<<17|z[V]<<1,N=I[P>>12&63|(O>>12&63)<<6|(U>>12&63)<<12]<<12,N|=I[P>>8&63|(O>>8&63)<<6|(U>>8&63)<<12]<<8,N|=I[P>>4&63|(O>>4&63)<<6|(U>>4&63)<<12]<<4,N|=I[P&63|(O&63)<<6|(U&63)<<12],n[H][V]=N,A+=v[N],r+=v[N&~g],L+=v[g&~N],N&&(D|=N,H<u&&(u=H),H>E&&(E=H)),H+=1;g=z[V];Y|=g;z=H===this.height-1?this.jb:w[H+1];P=O;O=U;U=z[V-1]<<17|z[V]<<1;N=I[P>>12&63|(O>>12&63)<<6|(U>>12&63)<<12]<<12;N|=I[P>>8&63|(O>>8&63)<<6|(U>>8&63)<<12]<<8;N|=I[P>>4&63|(O>>4&63)<<6|(U>>
4&63)<<12]<<4;N|=I[P&63|(O&63)<<6|(U&63)<<12];n[H][V]=N;A+=v[N];r+=v[N&~g];L+=v[g&~N];N&&(D|=N,H<u&&(u=H),H>E&&(E=H),0!==(N&32768)&&(R|=d.Ze),R|=d.Yd)}else P=P[V-1]<<17|P[V]<<1|P[V+1]>>15,O=O[V-1]<<17|g<<1|O[V+1]>>15,U=z[V-1]<<17|z[V]<<1|z[V+1]>>15,N=I[P>>12&63|(O>>12&63)<<6|(U>>12&63)<<12]<<12,N|=I[P>>8&63|(O>>8&63)<<6|(U>>8&63)<<12]<<8,N|=I[P>>4&63|(O>>4&63)<<6|(U>>4&63)<<12]<<4,N|=I[P&63|(O&63)<<6|(U&63)<<12],n[H][V]=N,A+=v[N],r+=v[N&~g],L+=v[g&~N],N&&(D|=N,H<u&&(u=H),H>E&&(E=H),0!==(N&32768)&&
(R|=d.Be),0!==(N&1)&&(R|=d.Ce),R|=d.Gd),H+=1,g=z[V],Y|=g,z=w[H+1],P=O,O=U,U=z[V-1]<<17|z[V]<<1|z[V+1]>>15,N=I[P>>12&63|(O>>12&63)<<6|(U>>12&63)<<12]<<12,N|=I[P>>8&63|(O>>8&63)<<6|(U>>8&63)<<12]<<8,N|=I[P>>4&63|(O>>4&63)<<6|(U>>4&63)<<12]<<4,N|=I[P&63|(O&63)<<6|(U&63)<<12],n[H][V]=N,A+=v[N],r+=v[N&~g],L+=v[g&~N],N&&(D|=N,H<u&&(u=H),H>E&&(E=H)),H+=1,g=z[V],Y|=g,z=w[H+1],P=O,O=U,U=z[V-1]<<17|z[V]<<1|z[V+1]>>15,N=I[P>>12&63|(O>>12&63)<<6|(U>>12&63)<<12]<<12,N|=I[P>>8&63|(O>>8&63)<<6|(U>>8&63)<<12]<<8,
N|=I[P>>4&63|(O>>4&63)<<6|(U>>4&63)<<12]<<4,N|=I[P&63|(O&63)<<6|(U&63)<<12],n[H][V]=N,A+=v[N],r+=v[N&~g],L+=v[g&~N],N&&(D|=N,H<u&&(u=H),H>E&&(E=H)),H+=1,g=z[V],Y|=g,z=w[H+1],P=O,O=U,U=z[V-1]<<17|z[V]<<1|z[V+1]>>15,N=I[P>>12&63|(O>>12&63)<<6|(U>>12&63)<<12]<<12,N|=I[P>>8&63|(O>>8&63)<<6|(U>>8&63)<<12]<<8,N|=I[P>>4&63|(O>>4&63)<<6|(U>>4&63)<<12]<<4,N|=I[P&63|(O&63)<<6|(U&63)<<12],n[H][V]=N,A+=v[N],r+=v[N&~g],L+=v[g&~N],N&&(D|=N,H<u&&(u=H),H>E&&(E=H)),H+=1,g=z[V],Y|=g,z=w[H+1],P=O,O=U,U=z[V-1]<<17|z[V]<<
1|z[V+1]>>15,N=I[P>>12&63|(O>>12&63)<<6|(U>>12&63)<<12]<<12,N|=I[P>>8&63|(O>>8&63)<<6|(U>>8&63)<<12]<<8,N|=I[P>>4&63|(O>>4&63)<<6|(U>>4&63)<<12]<<4,N|=I[P&63|(O&63)<<6|(U&63)<<12],n[H][V]=N,A+=v[N],r+=v[N&~g],L+=v[g&~N],N&&(D|=N,H<u&&(u=H),H>E&&(E=H)),H+=1,g=z[V],Y|=g,z=w[H+1],P=O,O=U,U=z[V-1]<<17|z[V]<<1|z[V+1]>>15,N=I[P>>12&63|(O>>12&63)<<6|(U>>12&63)<<12]<<12,N|=I[P>>8&63|(O>>8&63)<<6|(U>>8&63)<<12]<<8,N|=I[P>>4&63|(O>>4&63)<<6|(U>>4&63)<<12]<<4,N|=I[P&63|(O&63)<<6|(U&63)<<12],n[H][V]=N,A+=v[N],
r+=v[N&~g],L+=v[g&~N],N&&(D|=N,H<u&&(u=H),H>E&&(E=H)),H+=1,g=z[V],Y|=g,z=w[H+1],P=O,O=U,U=z[V-1]<<17|z[V]<<1|z[V+1]>>15,N=I[P>>12&63|(O>>12&63)<<6|(U>>12&63)<<12]<<12,N|=I[P>>8&63|(O>>8&63)<<6|(U>>8&63)<<12]<<8,N|=I[P>>4&63|(O>>4&63)<<6|(U>>4&63)<<12]<<4,N|=I[P&63|(O&63)<<6|(U&63)<<12],n[H][V]=N,A+=v[N],r+=v[N&~g],L+=v[g&~N],N&&(D|=N,H<u&&(u=H),H>E&&(E=H)),H+=1,g=z[V],Y|=g,z=w[H+1],P=O,O=U,U=z[V-1]<<17|z[V]<<1|z[V+1]>>15,N=I[P>>12&63|(O>>12&63)<<6|(U>>12&63)<<12]<<12,N|=I[P>>8&63|(O>>8&63)<<6|(U>>
8&63)<<12]<<8,N|=I[P>>4&63|(O>>4&63)<<6|(U>>4&63)<<12]<<4,N|=I[P&63|(O&63)<<6|(U&63)<<12],n[H][V]=N,A+=v[N],r+=v[N&~g],L+=v[g&~N],N&&(D|=N,H<u&&(u=H),H>E&&(E=H)),H+=1,g=z[V],Y|=g,z=w[H+1],P=O,O=U,U=z[V-1]<<17|z[V]<<1|z[V+1]>>15,N=I[P>>12&63|(O>>12&63)<<6|(U>>12&63)<<12]<<12,N|=I[P>>8&63|(O>>8&63)<<6|(U>>8&63)<<12]<<8,N|=I[P>>4&63|(O>>4&63)<<6|(U>>4&63)<<12]<<4,N|=I[P&63|(O&63)<<6|(U&63)<<12],n[H][V]=N,A+=v[N],r+=v[N&~g],L+=v[g&~N],N&&(D|=N,H<u&&(u=H),H>E&&(E=H)),H+=1,g=z[V],Y|=g,z=w[H+1],P=O,O=U,
U=z[V-1]<<17|z[V]<<1|z[V+1]>>15,N=I[P>>12&63|(O>>12&63)<<6|(U>>12&63)<<12]<<12,N|=I[P>>8&63|(O>>8&63)<<6|(U>>8&63)<<12]<<8,N|=I[P>>4&63|(O>>4&63)<<6|(U>>4&63)<<12]<<4,N|=I[P&63|(O&63)<<6|(U&63)<<12],n[H][V]=N,A+=v[N],r+=v[N&~g],L+=v[g&~N],N&&(D|=N,H<u&&(u=H),H>E&&(E=H)),H+=1,g=z[V],Y|=g,z=w[H+1],P=O,O=U,U=z[V-1]<<17|z[V]<<1|z[V+1]>>15,N=I[P>>12&63|(O>>12&63)<<6|(U>>12&63)<<12]<<12,N|=I[P>>8&63|(O>>8&63)<<6|(U>>8&63)<<12]<<8,N|=I[P>>4&63|(O>>4&63)<<6|(U>>4&63)<<12]<<4,N|=I[P&63|(O&63)<<6|(U&63)<<12],
n[H][V]=N,A+=v[N],r+=v[N&~g],L+=v[g&~N],N&&(D|=N,H<u&&(u=H),H>E&&(E=H)),H+=1,g=z[V],Y|=g,z=w[H+1],P=O,O=U,U=z[V-1]<<17|z[V]<<1|z[V+1]>>15,N=I[P>>12&63|(O>>12&63)<<6|(U>>12&63)<<12]<<12,N|=I[P>>8&63|(O>>8&63)<<6|(U>>8&63)<<12]<<8,N|=I[P>>4&63|(O>>4&63)<<6|(U>>4&63)<<12]<<4,N|=I[P&63|(O&63)<<6|(U&63)<<12],n[H][V]=N,A+=v[N],r+=v[N&~g],L+=v[g&~N],N&&(D|=N,H<u&&(u=H),H>E&&(E=H)),H+=1,g=z[V],Y|=g,z=w[H+1],P=O,O=U,U=z[V-1]<<17|z[V]<<1|z[V+1]>>15,N=I[P>>12&63|(O>>12&63)<<6|(U>>12&63)<<12]<<12,N|=I[P>>8&63|
(O>>8&63)<<6|(U>>8&63)<<12]<<8,N|=I[P>>4&63|(O>>4&63)<<6|(U>>4&63)<<12]<<4,N|=I[P&63|(O&63)<<6|(U&63)<<12],n[H][V]=N,A+=v[N],r+=v[N&~g],L+=v[g&~N],N&&(D|=N,H<u&&(u=H),H>E&&(E=H)),H+=1,g=z[V],Y|=g,z=w[H+1],P=O,O=U,U=z[V-1]<<17|z[V]<<1|z[V+1]>>15,N=I[P>>12&63|(O>>12&63)<<6|(U>>12&63)<<12]<<12,N|=I[P>>8&63|(O>>8&63)<<6|(U>>8&63)<<12]<<8,N|=I[P>>4&63|(O>>4&63)<<6|(U>>4&63)<<12]<<4,N|=I[P&63|(O&63)<<6|(U&63)<<12],n[H][V]=N,A+=v[N],r+=v[N&~g],L+=v[g&~N],N&&(D|=N,H<u&&(u=H),H>E&&(E=H)),H+=1,g=z[V],Y|=g,
z=w[H+1],P=O,O=U,U=z[V-1]<<17|z[V]<<1|z[V+1]>>15,N=I[P>>12&63|(O>>12&63)<<6|(U>>12&63)<<12]<<12,N|=I[P>>8&63|(O>>8&63)<<6|(U>>8&63)<<12]<<8,N|=I[P>>4&63|(O>>4&63)<<6|(U>>4&63)<<12]<<4,N|=I[P&63|(O&63)<<6|(U&63)<<12],n[H][V]=N,A+=v[N],r+=v[N&~g],L+=v[g&~N],N&&(D|=N,H<u&&(u=H),H>E&&(E=H)),H+=1,g=z[V],Y|=g,z=H===this.height-1?this.jb:w[H+1],P=O,O=U,U=z[V-1]<<17|z[V]<<1|z[V+1]>>15,N=I[P>>12&63|(O>>12&63)<<6|(U>>12&63)<<12]<<12,N|=I[P>>8&63|(O>>8&63)<<6|(U>>8&63)<<12]<<8,N|=I[P>>4&63|(O>>4&63)<<6|(U>>
4&63)<<12]<<4,N|=I[P&63|(O&63)<<6|(U&63)<<12],n[H][V]=N,A+=v[N],r+=v[N&~g],L+=v[g&~N],N&&(D|=N,H<u&&(u=H),H>E&&(E=H),0!==(N&32768)&&(R|=d.Ze),0!==(N&1)&&(R|=d.$e),R|=d.Yd);else{P=P[V]<<1|P[V+1]>>15;O=g<<1|O[V+1]>>15;U=z[V]<<1|z[V+1]>>15;N=I[P>>12&63|(O>>12&63)<<6|(U>>12&63)<<12]<<12;N|=I[P>>8&63|(O>>8&63)<<6|(U>>8&63)<<12]<<8;N|=I[P>>4&63|(O>>4&63)<<6|(U>>4&63)<<12]<<4;N|=I[P&63|(O&63)<<6|(U&63)<<12];n[H][V]=N;A+=v[N];r+=v[N&~g];L+=v[g&~N];N&&(D|=N,H<u&&(u=H),H>E&&(E=H),0!==(N&1)&&(R|=d.Ce),R|=d.Gd);
for(H+=1;H<ca-1;)g=z[V],Y|=g,z=w[H+1],P=O,O=U,U=z[V]<<1|z[V+1]>>15,N=I[P>>12&63|(O>>12&63)<<6|(U>>12&63)<<12]<<12,N|=I[P>>8&63|(O>>8&63)<<6|(U>>8&63)<<12]<<8,N|=I[P>>4&63|(O>>4&63)<<6|(U>>4&63)<<12]<<4,N|=I[P&63|(O&63)<<6|(U&63)<<12],n[H][V]=N,A+=v[N],r+=v[N&~g],L+=v[g&~N],N&&(D|=N,H<u&&(u=H),H>E&&(E=H)),H+=1;g=z[V];Y|=g;z=H===this.height-1?this.jb:w[H+1];P=O;O=U;U=z[V]<<1|z[V+1]>>15;N=I[P>>12&63|(O>>12&63)<<6|(U>>12&63)<<12]<<12;N|=I[P>>8&63|(O>>8&63)<<6|(U>>8&63)<<12]<<8;N|=I[P>>4&63|(O>>4&63)<<
6|(U>>4&63)<<12]<<4;N|=I[P&63|(O&63)<<6|(U&63)<<12];n[H][V]=N;A+=v[N];r+=v[N&~g];L+=v[g&~N];N&&(D|=N,H<u&&(u=H),H>E&&(E=H),0!==(N&1)&&(R|=d.$e),R|=d.Yd)}D&&(0!==(D&32768)&&(R|=d.Kd),0!==(D&1)&&(R|=d.Ud));M[V]|=D;if(D||Y)W|=1<<a,R&&(0!==(R&d.Kd)&&(15>a?W|=1<<a+1:0<c&&0<V&&(aa[c-1]|=1)),0!==(R&d.Ud)&&(0<a?W|=1<<a-1:c<F-1&&V<h-1&&(aa[c+1]|=32768)),0!==(R&d.Gd)&&(T|=1<<a),0!==(R&d.Yd)&&(Z|=1<<a),0!==(R&d.Be)&&(15>a?T|=1<<a+1:0<c&&0<V&&(X[c-1]|=1)),0!==(R&d.Ce)&&(0<a?T|=1<<a-1:c<F-1&&V<h-1&&(X[c+1]|=32768)),
0!==(R&d.Ze)&&(15>a?Z|=1<<a+1:0<c&&0<V&&(Q[c-1]|=1)),0!==(R&d.$e)&&(0<a?Z|=1<<a-1:c<F-1&&V<h-1&&(Q[c+1]|=32768)))}V+=1}aa[c]|=W;0<b&&(X[c]|=T);b<t-1&&(Q[c]|=Z)}else V+=16;S+=16;ca+=16}for(c=0;c<h;c+=1)M[c]&&(c<B&&(B=c),c>G&&(G=c));B=(B<<4)+this.jg(M[B]);G=(G<<4)+this.ug(M[G]);0>E&&(E=k-1);u>=k&&(u=0);B>=q&&(B=0);0>G&&(G=q-1);E>k-1&&(E=k-1);0>u&&(u=0);0>B&&(B=0);G>q-1&&(G=q-1);m.Z=E;m.V=u;m.X=B;m.Y=G;for(b=0;b<p.length;b+=1)p[b]=0;this.zb=A;this.xc=r;this.zc=L};a.prototype.ni=function(a,b){var e,d=
this.Pa,c,f,l,k,q=this.o,h=this.h>>4;var m=0;var u=m+16;for(c=0;c<q;c+=1){var E=0;var B=d[c];for(f=0;f<h;f+=1)if(k=B[f])for(l=15;0<=l;--l){if(0!==(k&1<<l))for(e=m;e<u;e+=2){var G=a[e];var t=a[e+1];var F=b[e];var p=E<<3;var v=0;var A=G[p];(A&255)>v&&(v=A&255);A>>=8;A>v&&(v=A);A=t[p];(A&255)>v&&(v=A&255);A>>=8;A>v&&(v=A);F[p+p]=v;p+=1;v=0;A=G[p];(A&255)>v&&(v=A&255);A>>=8;A>v&&(v=A);A=t[p];(A&255)>v&&(v=A&255);A>>=8;A>v&&(v=A);F[p+p]=v;p+=1;v=0;A=G[p];(A&255)>v&&(v=A&255);A>>=8;A>v&&(v=A);A=t[p];(A&
255)>v&&(v=A&255);A>>=8;A>v&&(v=A);F[p+p]=v;p+=1;v=0;A=G[p];(A&255)>v&&(v=A&255);A>>=8;A>v&&(v=A);A=t[p];(A&255)>v&&(v=A&255);A>>=8;A>v&&(v=A);F[p+p]=v;p+=1;v=0;A=G[p];(A&255)>v&&(v=A&255);A>>=8;A>v&&(v=A);A=t[p];(A&255)>v&&(v=A&255);A>>=8;A>v&&(v=A);F[p+p]=v;p+=1;v=0;A=G[p];(A&255)>v&&(v=A&255);A>>=8;A>v&&(v=A);A=t[p];(A&255)>v&&(v=A&255);A>>=8;A>v&&(v=A);F[p+p]=v;p+=1;v=0;A=G[p];(A&255)>v&&(v=A&255);A>>=8;A>v&&(v=A);A=t[p];(A&255)>v&&(v=A&255);A>>=8;A>v&&(v=A);F[p+p]=v;p+=1;v=0;A=G[p];(A&255)>v&&
(v=A&255);A>>=8;A>v&&(v=A);A=t[p];(A&255)>v&&(v=A&255);A>>=8;A>v&&(v=A);F[p+p]=v}E+=1}else E+=16;m+=16;u+=16}};a.prototype.oi=function(a,b){var e,d=this.Pa,c,f,l,k,q=this.o,h=this.h>>4;var m=0;var u=m+16;for(c=0;c<q;c+=1){var E=0;var B=d[c];for(f=0;f<h;f+=1)if(k=B[f])for(l=15;0<=l;--l){if(0!==(k&1<<l))for(e=m;e<u;e+=4){var G=b[e];var t=a[e];var F=a[e+2];var p=E<<4;var v=t[p];var A=t[p+2];A>v&&(v=A);A=F[p];A>v&&(v=A);A=F[p+2];A>v&&(v=A);G[p]=v;p+=4;v=t[p];A=t[p+2];A>v&&(v=A);A=F[p];A>v&&(v=A);A=F[p+
2];A>v&&(v=A);G[p]=v;p+=4;v=t[p];A=t[p+2];A>v&&(v=A);A=F[p];A>v&&(v=A);A=F[p+2];A>v&&(v=A);G[p]=v;p+=4;v=t[p];A=t[p+2];A>v&&(v=A);A=F[p];A>v&&(v=A);A=F[p+2];A>v&&(v=A);G[p]=v}E+=1}else E+=16;m+=16;u+=16}};a.prototype.ri=function(a,b){var e,d=this.Pa,c,f,l,k,q=this.o,h=this.h>>4;var m=0;var u=m+16;for(c=0;c<q;c+=1){var E=0;var B=d[c];for(f=0;f<h;f+=1)if(k=B[f])for(l=15;0<=l;--l){if(0!==(k&1<<l))for(e=m;e<u;e+=8){var G=b[e];var t=a[e];var F=a[e+4];var p=E<<4;var v=t[p];var A=t[p+4];A>v&&(v=A);A=F[p];
A>v&&(v=A);A=F[p+4];A>v&&(v=A);G[p]=v;p+=8;v=t[p];A=t[p+4];A>v&&(v=A);A=F[p];A>v&&(v=A);A=F[p+4];A>v&&(v=A);G[p]=v}E+=1}else E+=16;m+=16;u+=16}};a.prototype.mi=function(a,b){var e=this.Pa,d,c,f,l,k,q=this.o,h=this.h>>4;for(d=l=0;d<q;d+=1){var m=0;var u=e[d];for(c=0;c<h;c+=1)if(k=u[c])for(f=15;0<=f;--f){if(0!==(k&1<<f)){var E=b[l];var B=a[l];var G=a[l+8];var t=m<<4;var F=B[t];B=B[t+8];B>F&&(F=B);B=G[t];B>F&&(F=B);B=G[t+8];B>F&&(F=B);E[t]=F}m+=1}else m+=16;l+=16}};a.prototype.Mj=function(){1>this.R&&
(this.ni(this.ai,this.B),.5>this.R&&(this.oi(this.B,this.ma),.25>this.R&&(this.ri(this.ma,this.na),.125>this.R&&this.mi(this.na,this.Va))));this.lf&&1>this.R&&(this.ni(this.Je,this.ka),.5>this.R&&(this.oi(this.ka,this.Cd),.25>this.R&&(this.ri(this.Cd,this.Dd),.125>this.R&&this.mi(this.Dd,this.Ke))))};a.prototype.El=function(){var a=this.va,b=this.Pa,d=this.Ia,c,f,M;var D=this.o;var k=this.h>>4,q=this.v-1;var h=0;var m=D;this.Oc=this.ba=0;if(0!==(this.i&1)){var u=this.ia;var E=this.wa}else u=this.tb,
E=this.aa;0>h&&(h=0);m>D&&(m=D);D=h<<4;var B=D+16;for(c=h;c<m;c+=1){var G=0;var t=E[c];var F=d[c];var p=b[c];for(f=0;f<k;f+=1){var v=t[f]|F[f];var A=0;if(v)for(M=15;0<=M;--M){if(0!==(v&1<<M)){var r=0;for(h=D;h<B;h+=1){var L=u[h];var z=a[h];var x=G<<4;var w=L[G];var n=32768;var y=z[x];0!==y&&y!==q||0===(w&n)?(w&=~n,0<y&&(--y,r|=y)):(y=q,r|=y);z[x]=y;x+=1;n>>=1;y=z[x];0!==y&&y!==q||0===(w&n)?(w&=~n,0<y&&(--y,r|=y)):(y=q,r|=y);z[x]=y;x+=1;n>>=1;y=z[x];0!==y&&y!==q||0===(w&n)?(w&=~n,0<y&&(--y,r|=y)):
(y=q,r|=y);z[x]=y;x+=1;n>>=1;y=z[x];0!==y&&y!==q||0===(w&n)?(w&=~n,0<y&&(--y,r|=y)):(y=q,r|=y);z[x]=y;x+=1;n>>=1;y=z[x];0!==y&&y!==q||0===(w&n)?(w&=~n,0<y&&(--y,r|=y)):(y=q,r|=y);z[x]=y;x+=1;n>>=1;y=z[x];0!==y&&y!==q||0===(w&n)?(w&=~n,0<y&&(--y,r|=y)):(y=q,r|=y);z[x]=y;x+=1;n>>=1;y=z[x];0!==y&&y!==q||0===(w&n)?(w&=~n,0<y&&(--y,r|=y)):(y=q,r|=y);z[x]=y;x+=1;n>>=1;y=z[x];0!==y&&y!==q||0===(w&n)?(w&=~n,0<y&&(--y,r|=y)):(y=q,r|=y);z[x]=y;x+=1;n>>=1;y=z[x];0!==y&&y!==q||0===(w&n)?(w&=~n,0<y&&(--y,r|=y)):
(y=q,r|=y);z[x]=y;x+=1;n>>=1;y=z[x];0!==y&&y!==q||0===(w&n)?(w&=~n,0<y&&(--y,r|=y)):(y=q,r|=y);z[x]=y;x+=1;n>>=1;y=z[x];0!==y&&y!==q||0===(w&n)?(w&=~n,0<y&&(--y,r|=y)):(y=q,r|=y);z[x]=y;x+=1;n>>=1;y=z[x];0!==y&&y!==q||0===(w&n)?(w&=~n,0<y&&(--y,r|=y)):(y=q,r|=y);z[x]=y;x+=1;n>>=1;y=z[x];0!==y&&y!==q||0===(w&n)?(w&=~n,0<y&&(--y,r|=y)):(y=q,r|=y);z[x]=y;x+=1;n>>=1;y=z[x];0!==y&&y!==q||0===(w&n)?(w&=~n,0<y&&(--y,r|=y)):(y=q,r|=y);z[x]=y;x+=1;n>>=1;y=z[x];0!==y&&y!==q||0===(w&n)?(w&=~n,0<y&&(--y,r|=y)):
(y=q,r|=y);z[x]=y;x+=1;n>>=1;y=z[x];0!==y&&y!==q||0===(w&n)?(w&=~n,0<y&&(--y,r|=y)):(y=q,r|=y);z[x]=y;L[G]=w;this.ba|=w}r&&(A|=1<<M,this.Oc=r)}G+=1}else G+=16;F[f]=A;p[f]|=A}D+=16;B+=16}};a.prototype.Fl=function(){var a=this.va,b=this.Pa,d,c,f,M,D;var k=this.o;var q=this.h>>4;var h=0;var m=k;this.Oc=0;0>h&&(h=0);m>k&&(m=k);k=h<<4;var u=k+16;for(d=h;d<m;d+=1){var E=0;var B=b[d];for(c=0;c<q;c+=1)if(D=B[c])for(f=15;0<=f;--f){if(0!==(D&1<<f))for(h=k;h<u;h+=1){var G=a[h];var t=E<<4;for(M=15;0<=M;--M){var F=
G[t];0<F&&--F;G[t]=F;t+=1;this.Oc|=F}}E+=1}else E+=16;k+=16;u+=16}};a.prototype.Fh=function(){var a=this.ba,b=this.i;-1===this.v?(0===a&&-1!==this.ll&&(this.i=this.ll),this.Kj(),this.i=b,0!==a&&0===this.ba&&(this.ll=this.i),a=this.ba):a=this.ba|this.Oc;return a};a.prototype.Kj=function(){var a=this.va,b=this.Pa,d=this.Ia,c=this.bi,f=this.S+1,M,D,k;var q=this.o;var h=this.h>>4;var m=0;var u=q;this.ba=0;if(0!==(this.i&1)){var E=this.ia;var B=this.wa}else E=this.tb,B=this.aa;0>m&&(m=0);u>q&&(u=q);q=
m<<4;var G=q+16;for(M=m;M<u;M+=1){var t=0;var F=B[M];var p=d[M];var v=b[M];for(D=0;D<h;D+=1){var A=F[D]|p[D];var r=0;if(A)for(k=15;0<=k;--k){if(0!==(A&1<<k)){var L=0;for(m=q;m<G;){var z=E[m];var x=a[m];var w=t<<4;z=z[t];this.ba|=z;L|=z;if(0!==(z&32768))var n=c[x[w]+f];else n=c[x[w]],L|=1<n;x[w]=n;w+=1;0!==(z&16384)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&8192)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&4096)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&2048)?n=c[x[w]+f]:(n=c[x[w]],
L|=1<n);x[w]=n;w+=1;0!==(z&1024)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&512)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&256)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&128)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&64)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&32)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&16)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&8)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&4)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=
n;w+=1;0!==(z&2)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&1)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;m+=1;z=E[m];x=a[m];w=t<<4;z=z[t];this.ba|=z;L|=z;0!==(z&32768)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&16384)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&8192)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&4096)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&2048)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&1024)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&
512)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&256)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&128)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&64)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&32)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&16)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&8)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&4)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&2)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&1)?n=c[x[w]+f]:
(n=c[x[w]],L|=1<n);x[w]=n;m+=1;z=E[m];x=a[m];w=t<<4;z=z[t];this.ba|=z;L|=z;0!==(z&32768)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&16384)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&8192)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&4096)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&2048)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&1024)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&512)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&256)?n=c[x[w]+f]:(n=c[x[w]],
L|=1<n);x[w]=n;w+=1;0!==(z&128)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&64)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&32)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&16)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&8)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&4)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&2)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&1)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;m+=1;z=E[m];x=a[m];w=t<<4;z=z[t];this.ba|=z;L|=z;0!==(z&32768)?
n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&16384)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&8192)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&4096)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&2048)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&1024)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&512)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&256)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&128)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&64)?n=
c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&32)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&16)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&8)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&4)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&2)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;w+=1;0!==(z&1)?n=c[x[w]+f]:(n=c[x[w]],L|=1<n);x[w]=n;m+=1}L&&(r|=1<<k)}t+=1}else t+=16;p[D]=r;v[D]|=r}q+=16;G+=16}};a.prototype.oq=function(a,b,d,c,f,M,D,k,q,h){var e=this.qc;c=c*a+e.Z;d=d*a+e.Y;b=b*
a+e.V;f=f*a+e.X;e=d-f+1;a=c-b+1;this.P&&(e=d-b/2-(f-c/2)+1);0===e&&(e=1);0===a&&(a=1);M/=e;D/=a;h=Math.round(1E3*(M>D?D:M)/h)/1E3;h<k?h=k:h>q&&(h=q);return h};a.prototype.Dl=function(a){var b=a;1>a&&(b=1/a);var d=Math.round(b);(d<b?d/b:b/d)>=ViewConstants.Dr&&(a=1>a?1/d:d);return a};a.prototype.Ie=function(a,b,d,c,f,M,D,k,q,h,m,u,E,B,G,t,F){var e=this.H,g=this.qc,l=this.sb,r=this.vi;m?(r.Z=B*a+g.Z,r.Y=E*a+g.Y,r.V=u*a+g.V,r.X=G*a+g.X,h&&(l.X<r.X&&(r.X=l.X),l.V<r.V&&(r.V=l.V),l.Y>r.Y&&(r.Y=l.Y),l.Z>
r.Z&&(r.Z=l.Z)),e=r):h&&(e=l);a=e.X;h=e.Y;m=e.Z;e=e.V;this.Qc&&!t&&(g.X<a&&(a=g.X),g.Y>h&&(h=g.Y),g.Z>m&&(m=g.Z),g.V<e&&(e=g.V));-1!==this.bb&&(t=this.la,g=this.sa,this.width/2-t/2<a&&(a=this.width/2-t/2),this.width/2+t/2>h&&(h=this.width/2+t/2),this.height/2-g/2<e&&(e=this.height/2-g/2),this.height/2+g/2>m&&(m=this.height/2+g/2));q?(t=D,g=k,a=this.width/2-t/2,h=this.width/2+t/2,m=this.height/2+g/2,e=this.height/2-g/2):(t=h-a+1,g=m-e+1);this.P&&(a-=m/2,t=h-e/2-a+1);0===t&&(t=1);0===g&&(g=1);b/=t;
d/=g;M=Math.round(1E3*(b>d?d:b)/M)/1E3;M/=this.gc;M<c?M=c:M>f&&(M=f);c=e-this.Fc+g/2;f=a-this.Uc+t/2;F||(M=this.Dl(M));return[M,f,c]};a.prototype.Oj=function(a,b,d){var c=this.nc,e=this.u,f=this.s,l=b*e;a=b*e+a;e=a-15;if(0<=b&&b<f){for(;l<=e;)c[l]=d,l+=1,c[l]=d,l+=1,c[l]=d,l+=1,c[l]=d,l+=1,c[l]=d,l+=1,c[l]=d,l+=1,c[l]=d,l+=1,c[l]=d,l+=1,c[l]=d,l+=1,c[l]=d,l+=1,c[l]=d,l+=1,c[l]=d,l+=1,c[l]=d,l+=1,c[l]=d,l+=1,c[l]=d,l+=1,c[l]=d,l+=1;for(;l<=a;)c[l]=d,l+=1}};a.prototype.cg=function(a,b,d,c){var e=this.nc,
f=this.u;b=b*f+a;d=d*f+a;var l=d-15*f;if(0<=a&&a<f){for(;b<=l;)e[b]=c,b+=f,e[b]=c,b+=f,e[b]=c,b+=f,e[b]=c,b+=f,e[b]=c,b+=f,e[b]=c,b+=f,e[b]=c,b+=f,e[b]=c,b+=f,e[b]=c,b+=f,e[b]=c,b+=f,e[b]=c,b+=f,e[b]=c,b+=f,e[b]=c,b+=f,e[b]=c,b+=f,e[b]=c,b+=f,e[b]=c,b+=f;for(;b<=d;)e[b]=c,b+=f}};a.prototype.kc=function(){var a,b,d=this.u,c=this.s,f=this.eg,M=this.dg,D=this.R,k=f,q,h=((this.height/2-(this.D+this.Fc))*D+c/2)%D,m=((this.width/2-(this.I+this.Uc))*D+d/2)%D;var u=0<this.kd&&this.ag?2:1;for(q=f;u;){var E=
-(d/2/D)-(this.width/2-this.I-this.Uc)|0;for(a=0;a<=d+D;a+=D)if(0<this.kd&&this.ag&&(k=0===E%this.kd?M:f),E+=1,k===q)if(this.P){var B=-(c/2/D)-(this.height/2-this.D-this.Fc)|0;for(b=h;b<c;b+=D)0===(B&1)?this.cg(Math.round(a+m),Math.round(b),Math.round(b+D-1),k):this.cg(Math.round(a+m+D/2),Math.round(b),Math.round(b+D-1),k),B+=1}else this.cg(Math.round(a+m),0,c-1,k);E=-(c/2/D)-(this.height/2-this.D-this.Fc)|0;for(b=h;b<c;b+=D)0<this.kd&&this.ag&&(k=0===E%this.kd?M:f),E+=1,k===q&&this.Oj(d-1,Math.round(b),
k);--u;q=M}};a.prototype.hf=function(){return 4<=this.R&&0===this.Db};a.prototype.Nj=function(){var a=this.la,b=this.sa,c=this.va,f=Math.round((this.width-a)/2-1),g=f+a+1,M=Math.round((this.height-b)/2-1),D=M+b+1,k=d.ho,q=c[M],h=c[D];if(0===a)for(a=0;a<this.width;a+=1)q[a]=k,h[a]=k;else if(0===b)for(a=0;a<this.height;a+=1)c[a][f]=k,c[a][g]=k;else{for(a=f;a<=g;a+=1)q[a]=k,h[a]=k;for(a=M+1;a<=D-1;a+=1)c[a][f]=k,c[a][g]=k}};a.prototype.ws=function(){this.Jg&&(this.to(),--this.Jg,this.Jg||(this.Za.set(this.ra),
this.rb.set(this.ya),this.Lc.set(this.Tb)));this.R=this.zoom*this.gc;this.R<ViewConstants.Ba?this.R=ViewConstants.Ba:this.R>ViewConstants.xb&&(this.R=ViewConstants.xb);this.Eb=this.I+this.Uc;this.Fb=this.D+this.Fc;this.c=this.vb/2+1;this.Db=this.P?0:this.angle;-1!==this.bb&&this.Nj();this.Mj();.125>this.R?this.lf?this.Ad(this.Ke,this.Va,15):this.Bd(this.Va,this.Va,15):.25>this.R?this.lf?this.Ad(this.Dd,this.na,7):this.Bd(this.na,this.na,7):.5>this.R?this.lf?this.Ad(this.Cd,this.ma,3):this.Bd(this.ma,
this.ma,3):1>this.R?this.lf?this.Ad(this.ka,this.B,1):this.Bd(this.B,this.B,1):this.lf?this.Ad(this.Gc,this.va,0):this.Bd(this.va,this.va,0)};a.prototype.pr=function(a,b){var d=this.u>>3,c=this.Qe,e=this.nc,f,l,k=1,q=1,h=0,m=this.$a&~b,u=this.eb&~b,E=~b;b=~b;var B=a,G=this.R;1<this.c&&(k=this.m);a=Math.sin(this.Db/180*Math.PI)/this.R;var t=Math.cos(this.Db/180*Math.PI)/this.R;var F=-(this.u/2*-a+this.s/2*t)+this.Fb;var p=-(this.u/2*t+this.s/2*a)+this.Eb;1<this.m&&1<this.c&&(h=.4/(this.m-1),q=.6);
this.ac(q);var v=8192>this.width?c[0]|0:this.Eh|0;var A=0;var r=F;for(f=0;f<this.s;f+=1){var L=p;for(l=0;l<d;l+=1){if((L&E)===(L&m)&&(r&b)===(r&u)){var z=B[r&u][L&m]|0;e[A]=c[z]}else e[A]=v;A+=1;L+=t;r-=a;(L&E)===(L&m)&&(r&b)===(r&u)?(z=B[r&u][L&m]|0,e[A]=c[z]):e[A]=v;A+=1;L+=t;r-=a;(L&E)===(L&m)&&(r&b)===(r&u)?(z=B[r&u][L&m]|0,e[A]=c[z]):e[A]=v;A+=1;L+=t;r-=a;(L&E)===(L&m)&&(r&b)===(r&u)?(z=B[r&u][L&m]|0,e[A]=c[z]):e[A]=v;A+=1;L+=t;r-=a;(L&E)===(L&m)&&(r&b)===(r&u)?(z=B[r&u][L&m]|0,e[A]=c[z]):e[A]=
v;A+=1;L+=t;r-=a;(L&E)===(L&m)&&(r&b)===(r&u)?(z=B[r&u][L&m]|0,e[A]=c[z]):e[A]=v;A+=1;L+=t;r-=a;(L&E)===(L&m)&&(r&b)===(r&u)?(z=B[r&u][L&m]|0,e[A]=c[z]):e[A]=v;A+=1;L+=t;r-=a;(L&E)===(L&m)&&(r&b)===(r&u)?(z=B[r&u][L&m]|0,e[A]=c[z]):e[A]=v;A+=1;L+=t;r-=a}p+=a;r=F+=t}this.Gb&&this.hf()&&this.kc();for(v=1;v<k;v+=1){var x=-1!==this.v?this.v/this.m*v|0:(this.S+1)/this.m*v|0;q+=h;this.ac(q);a/=this.c;t/=this.c;G*=this.c;.125>G?(B=this.Va,b=15):.25>G?(B=this.na,b=7):.5>G?(B=this.ma,b=3):1>G?(B=this.B,b=
1):(B=this.va,b=0);m=this.$a&~b;u=this.eb&~b;E=~b;b=~b;F=-(this.u/2*-a+this.s/2*t)+this.Fb;p=-(this.u/2*t+this.s/2*a)+this.Eb;A=0;r=F;for(f=0;f<this.s;f+=1){L=p;for(l=0;l<d;l+=1)(L&E)===(L&m)&&(r&b)===(r&u)&&(z=B[r&u][L&m]|0,z>=x&&(e[A]=c[z])),A+=1,L+=t,r-=a,(L&E)===(L&m)&&(r&b)===(r&u)&&(z=B[r&u][L&m]|0,z>=x&&(e[A]=c[z])),A+=1,L+=t,r-=a,(L&E)===(L&m)&&(r&b)===(r&u)&&(z=B[r&u][L&m]|0,z>=x&&(e[A]=c[z])),A+=1,L+=t,r-=a,(L&E)===(L&m)&&(r&b)===(r&u)&&(z=B[r&u][L&m]|0,z>=x&&(e[A]=c[z])),A+=1,L+=t,r-=a,
(L&E)===(L&m)&&(r&b)===(r&u)&&(z=B[r&u][L&m]|0,z>=x&&(e[A]=c[z])),A+=1,L+=t,r-=a,(L&E)===(L&m)&&(r&b)===(r&u)&&(z=B[r&u][L&m]|0,z>=x&&(e[A]=c[z])),A+=1,L+=t,r-=a,(L&E)===(L&m)&&(r&b)===(r&u)&&(z=B[r&u][L&m]|0,z>=x&&(e[A]=c[z])),A+=1,L+=t,r-=a,(L&E)===(L&m)&&(r&b)===(r&u)&&(z=B[r&u][L&m]|0,z>=x&&(e[A]=c[z])),A+=1,L+=t,r-=a;p+=a;r=F+=t}}};a.prototype.zr=function(a,b){var c=this.u>>3,d=this.Qe,e=this.nc,f,l,k=1,q=1,h=0,m=this.$a&~b,u=this.eb&~b,E=~b;b=~b;var B=a,G=this.R;1<this.c&&(k=this.m);a=1/this.R;
var t=-(this.s/2*a)+this.Fb;var F=-(this.u/2*a)+this.Eb;1<this.m&&1<this.c&&(h=.4/(this.m-1),q=.6);this.ac(q);var p=8192>this.width?d[0]|0:this.Eh|0;var v=0;var A=t;for(f=0;f<this.s;f+=1){if((A&b)===(A&u)){var r=B[A&u];var L=F;this.P&&(L+=.5*(A|0));for(l=0;l<c;l+=1){if((L&E)===(L&m)){var z=r[L&m]|0;e[v]=d[z]}else e[v]=p;v+=1;L+=a;(L&E)===(L&m)?(z=r[L&m]|0,e[v]=d[z]):e[v]=p;v+=1;L+=a;(L&E)===(L&m)?(z=r[L&m]|0,e[v]=d[z]):e[v]=p;v+=1;L+=a;(L&E)===(L&m)?(z=r[L&m]|0,e[v]=d[z]):e[v]=p;v+=1;L+=a;(L&E)===
(L&m)?(z=r[L&m]|0,e[v]=d[z]):e[v]=p;v+=1;L+=a;(L&E)===(L&m)?(z=r[L&m]|0,e[v]=d[z]):e[v]=p;v+=1;L+=a;(L&E)===(L&m)?(z=r[L&m]|0,e[v]=d[z]):e[v]=p;v+=1;L+=a;(L&E)===(L&m)?(z=r[L&m]|0,e[v]=d[z]):e[v]=p;v+=1;L+=a}}else for(l=0;l<c;l+=1)e[v]=p,v+=1,e[v]=p,v+=1,e[v]=p,v+=1,e[v]=p,v+=1,e[v]=p,v+=1,e[v]=p,v+=1,e[v]=p,v+=1,e[v]=p,v+=1;A=t+=a}this.Gb&&this.hf()&&this.kc();for(p=1;p<k;p+=1){var x=-1!==this.v?this.v/this.m*p|0:(this.S+1)/this.m*p|0;q+=h;this.ac(q);a/=this.c;G*=this.c;.125>G?(B=this.Va,b=15):.25>
G?(B=this.na,b=7):.5>G?(B=this.ma,b=3):1>G?(B=this.B,b=1):(B=this.va,b=0);m=this.$a&~b;u=this.eb&~b;E=~b;b=~b;t=-(this.s/2*a)+this.Fb;F=-(this.u/2*a)+this.Eb;v=0;A=t;for(f=0;f<this.s;f+=1){if((A&b)===(A&u))for(r=B[A&u],L=F,this.P&&(L+=.5*(A|0)),l=0;l<c;l+=1)(L&E)===(L&m)&&(z=r[L&m]|0,z>=x&&(e[v]=d[z])),v+=1,L+=a,(L&E)===(L&m)&&(z=B[A&u][L&m]|0,z>=x&&(e[v]=d[z])),v+=1,L+=a,(L&E)===(L&m)&&(z=B[A&u][L&m]|0,z>=x&&(e[v]=d[z])),v+=1,L+=a,(L&E)===(L&m)&&(z=B[A&u][L&m]|0,z>=x&&(e[v]=d[z])),v+=1,L+=a,(L&E)===
(L&m)&&(z=B[A&u][L&m]|0,z>=x&&(e[v]=d[z])),v+=1,L+=a,(L&E)===(L&m)&&(z=B[A&u][L&m]|0,z>=x&&(e[v]=d[z])),v+=1,L+=a,(L&E)===(L&m)&&(z=B[A&u][L&m]|0,z>=x&&(e[v]=d[z])),v+=1,L+=a,(L&E)===(L&m)&&(z=B[A&u][L&m]|0,z>=x&&(e[v]=d[z])),v+=1,L+=a;else v+=c<<3;A=t+=a}}};a.prototype.Br=function(a,b){var d=this.u>>3,c=this.Qe,e=this.nc,f,l,k=1,q=1,h=0,m=this.$a&~b;b=this.eb&~b;var u=a,E=this.R;1<this.c&&(k=this.m);var B=Math.sin(this.Db/180*Math.PI)/this.R;var G=Math.cos(this.Db/180*Math.PI)/this.R;var t=-(this.u/
2*-B+this.s/2*G)+this.Fb;var F=-(this.u/2*G+this.s/2*B)+this.Eb;1<this.m&&1<this.c&&(h=.4/(this.m-1),q=.6);this.ac(q);var p=0;var v=t;for(f=0;f<this.s;f+=1){var A=F;for(l=0;l<d;l+=1){var r=u[v&b][A&m]|0;e[p]=c[r];p+=1;A+=G;v-=B;r=u[v&b][A&m]|0;e[p]=c[r];p+=1;A+=G;v-=B;r=u[v&b][A&m]|0;e[p]=c[r];p+=1;A+=G;v-=B;r=u[v&b][A&m]|0;e[p]=c[r];p+=1;A+=G;v-=B;r=u[v&b][A&m]|0;e[p]=c[r];p+=1;A+=G;v-=B;r=u[v&b][A&m]|0;e[p]=c[r];p+=1;A+=G;v-=B;r=u[v&b][A&m]|0;e[p]=c[r];p+=1;A+=G;v-=B;r=u[v&b][A&m]|0;e[p]=c[r];p+=
1;A+=G;v-=B}F+=B;v=t+=G}this.Gb&&this.hf()&&this.kc();for(a=1;a<k;a+=1){var L=-1!==this.v?this.v/this.m*a|0:(this.S+1)/this.m*a|0;q+=h;this.ac(q);B/=this.c;G/=this.c;E*=this.c;.125>E?(u=this.Va,b=15):.25>E?(u=this.na,b=7):.5>E?(u=this.ma,b=3):1>E?(u=this.B,b=1):(u=this.va,b=0);m=this.$a&~b;b=this.eb&~b;t=-(this.u/2*-B+this.s/2*G)+this.Fb;F=-(this.u/2*G+this.s/2*B)+this.Eb;p=0;v=t;for(f=0;f<this.s;f+=1){A=F;for(l=0;l<d;l+=1)r=u[v&b][A&m]|0,r>=L&&(e[p]=c[r]),p+=1,A+=G,v-=B,r=u[v&b][A&m]|0,r>=L&&(e[p]=
c[r]),p+=1,A+=G,v-=B,r=u[v&b][A&m]|0,r>=L&&(e[p]=c[r]),p+=1,A+=G,v-=B,r=u[v&b][A&m]|0,r>=L&&(e[p]=c[r]),p+=1,A+=G,v-=B,r=u[v&b][A&m]|0,r>=L&&(e[p]=c[r]),p+=1,A+=G,v-=B,r=u[v&b][A&m]|0,r>=L&&(e[p]=c[r]),p+=1,A+=G,v-=B,r=u[v&b][A&m]|0,r>=L&&(e[p]=c[r]),p+=1,A+=G,v-=B,r=u[v&b][A&m]|0,r>=L&&(e[p]=c[r]),p+=1,A+=G,v-=B;F+=B;v=t+=G}}};a.prototype.Fr=function(a,b){var c=this.u>>3,d=this.Qe,e=this.nc,f,l=1,k=1,q=0,h=this.$a&~b;b=this.eb&~b;var m=a,u=this.R;1<this.c&&(l=this.m);var E=1/this.R;var B=-(this.s/
2*E)+this.Fb;var G=-(this.u/2*E)+this.Eb;1<this.m&&1<this.c&&(q=.4/(this.m-1),k=.6);this.ac(k);var t=0;var F=B;for(f=0;f<this.s;f+=1){var p=m[F&b];var v=G;this.P&&(v+=.5*(F|0));for(F=0;F<c;F+=1){var A=p[v&h]|0;e[t]=d[A];t+=1;v+=E;A=p[v&h]|0;e[t]=d[A];t+=1;v+=E;A=p[v&h]|0;e[t]=d[A];t+=1;v+=E;A=p[v&h]|0;e[t]=d[A];t+=1;v+=E;A=p[v&h]|0;e[t]=d[A];t+=1;v+=E;A=p[v&h]|0;e[t]=d[A];t+=1;v+=E;A=p[v&h]|0;e[t]=d[A];t+=1;v+=E;A=p[v&h]|0;e[t]=d[A];t+=1;v+=E}F=B+=E}this.Gb&&this.hf()&&this.kc();for(a=1;a<l;a+=1){var r=
-1!==this.v?this.v/this.m*a|0:(this.S+1)/this.m*a|0;k+=q;this.ac(k);E/=this.c;u*=this.c;.125>u?(m=this.Va,b=15):.25>u?(m=this.na,b=7):.5>u?(m=this.ma,b=3):1>u?(m=this.B,b=1):(m=this.va,b=0);h=this.$a&~b;b=this.eb&~b;B=-(this.s/2*E)+this.Fb;G=-(this.u/2*E)+this.Eb;t=0;F=B;for(f=0;f<this.s;f+=1){p=m[F&b];v=G;this.P&&(v+=.5*(F|0));for(F=0;F<c;F+=1)A=p[v&h]|0,A>=r&&(e[t]=d[A]),t+=1,v+=E,A=p[v&h]|0,A>=r&&(e[t]=d[A]),t+=1,v+=E,A=p[v&h]|0,A>=r&&(e[t]=d[A]),t+=1,v+=E,A=p[v&h]|0,A>=r&&(e[t]=d[A]),t+=1,v+=
E,A=p[v&h]|0,A>=r&&(e[t]=d[A]),t+=1,v+=E,A=p[v&h]|0,A>=r&&(e[t]=d[A]),t+=1,v+=E,A=p[v&h]|0,A>=r&&(e[t]=d[A]),t+=1,v+=E,A=p[v&h]|0,A>=r&&(e[t]=d[A]),t+=1,v+=E;F=B+=E}}};a.prototype.Bd=function(a,b,d){var c=Math.sin(this.Db/180*Math.PI)/this.R,e=Math.cos(this.Db/180*Math.PI)/this.R,f=this.u,l=this.s,k=-(this.u/2*-c+this.s/2*e)+this.Fb,q=-(this.u/2*e+this.s/2*c)+this.Eb;b=k+f*-c;var h=q+f*e,m=k+l*e;l=q+l*c;c=m+f*-c;e=l+f*e;f=k;var u=q;h<u&&(u=h);l<u&&(u=l);e<u&&(u=l);h>q&&(q=h);l>q&&(q=l);e>q&&(q=e);
b<f&&(f=b);m<f&&(f=m);c<f&&(f=c);b>k&&(k=b);m>k&&(k=m);c>k&&(k=c);0>(u|0)||(q|0)>=this.width||0>(f|0)||(k|0)>=this.height?0===this.Db?this.zr(a,d):this.pr(a,d):0===this.Db?this.Fr(a,d):this.Br(a,d)};a.prototype.Yl=function(a,b,d){var c=this.u>>3,e=this.Qe,f=this.nc,l,k;var q=ViewConstants.Ua[3]+128;var h=ViewConstants.Ua[4]+128,m=ViewConstants.Ua[5]+128,u=ViewConstants.Ua[6]+128,E=1,B=1,G=0,t=this.W,F=this.$a&~d,p=this.eb&~d,v=~d;d=~d;var A=b,r=this.R;1<this.c&&(E=this.m);b=Math.sin(this.Db/180*Math.PI)/
this.R;var C=Math.cos(this.Db/180*Math.PI)/this.R;var z=-(this.u/2*-b+this.s/2*C)+this.Fb;var x=-(this.u/2*C+this.s/2*b)+this.Eb;1<this.m&&1<this.c&&(G=.4/(this.m-1),B=.6);this.ac(B);var w=8192>this.width?e[0]|0:this.Eh|0;var n=0;var y=z;for(l=0;l<this.s;l+=1){var J=x;for(k=0;k<c;k+=1){if((J&v)===(J&F)&&(y&d)===(y&p)){var I=A[y&p][J&F];var S=a[y&p][J&F];S===h||S===u?(I>=t&&(S=q),I=e[S]|0):S===q||S===m?(I<t&&(S=h),I=e[S]|0):I=e[I]|0;f[n]=I}else f[n]=w;n+=1;J+=C;y-=b;(J&v)===(J&F)&&(y&d)===(y&p)?(I=
A[y&p][J&F],S=a[y&p][J&F],S===h||S===u?(I>=t&&(S=q),I=e[S]|0):S===q||S===m?(I<t&&(S=h),I=e[S]|0):I=e[I]|0,f[n]=I):f[n]=w;n+=1;J+=C;y-=b;(J&v)===(J&F)&&(y&d)===(y&p)?(I=A[y&p][J&F],S=a[y&p][J&F],S===h||S===u?(I>=t&&(S=q),I=e[S]|0):S===q||S===m?(I<t&&(S=h),I=e[S]|0):I=e[I]|0,f[n]=I):f[n]=w;n+=1;J+=C;y-=b;(J&v)===(J&F)&&(y&d)===(y&p)?(I=A[y&p][J&F],S=a[y&p][J&F],S===h||S===u?(I>=t&&(S=q),I=e[S]|0):S===q||S===m?(I<t&&(S=h),I=e[S]|0):I=e[I]|0,f[n]=I):f[n]=w;n+=1;J+=C;y-=b;(J&v)===(J&F)&&(y&d)===(y&p)?
(I=A[y&p][J&F],S=a[y&p][J&F],S===h||S===u?(I>=t&&(S=q),I=e[S]|0):S===q||S===m?(I<t&&(S=h),I=e[S]|0):I=e[I]|0,f[n]=I):f[n]=w;n+=1;J+=C;y-=b;(J&v)===(J&F)&&(y&d)===(y&p)?(I=A[y&p][J&F],S=a[y&p][J&F],S===h||S===u?(I>=t&&(S=q),I=e[S]|0):S===q||S===m?(I<t&&(S=h),I=e[S]|0):I=e[I]|0,f[n]=I):f[n]=w;n+=1;J+=C;y-=b;(J&v)===(J&F)&&(y&d)===(y&p)?(I=A[y&p][J&F],S=a[y&p][J&F],S===h||S===u?(I>=t&&(S=q),I=e[S]|0):S===q||S===m?(I<t&&(S=h),I=e[S]|0):I=e[I]|0,f[n]=I):f[n]=w;n+=1;J+=C;y-=b;(J&v)===(J&F)&&(y&d)===(y&
p)?(I=A[y&p][J&F],S=a[y&p][J&F],S===h||S===u?(I>=t&&(S=q),I=e[S]|0):S===q||S===m?(I<t&&(S=h),I=e[S]|0):I=e[I]|0,f[n]=I):f[n]=w;n+=1;J+=C;y-=b}x+=b;y=z+=C}this.Gb&&this.hf()&&this.kc();for(a=1;a<E;a+=1)for(q=-1!==this.v?this.v/this.m*a|0:(this.S+1)/this.m*a|0,B+=G,this.ac(B),b/=this.c,C/=this.c,r*=this.c,.125>r?(A=this.Va,d=15):.25>r?(A=this.na,d=7):.5>r?(A=this.ma,d=3):1>r?(A=this.B,d=1):(A=this.va,d=0),F=this.$a&~d,p=this.eb&~d,v=~d,d=~d,z=-(this.u/2*-b+this.s/2*C)+this.Fb,x=-(this.u/2*C+this.s/
2*b)+this.Eb,n=0,y=z,l=0;l<this.s;l+=1){J=x;for(k=0;k<c;k+=1)(J&v)===(J&F)&&(y&d)===(y&p)&&(I=A[y&p][J&F]|0,I>=q&&(f[n]=e[I])),n+=1,J+=C,y-=b,(J&v)===(J&F)&&(y&d)===(y&p)&&(I=A[y&p][J&F]|0,I>=q&&(f[n]=e[I])),n+=1,J+=C,y-=b,(J&v)===(J&F)&&(y&d)===(y&p)&&(I=A[y&p][J&F]|0,I>=q&&(f[n]=e[I])),n+=1,J+=C,y-=b,(J&v)===(J&F)&&(y&d)===(y&p)&&(I=A[y&p][J&F]|0,I>=q&&(f[n]=e[I])),n+=1,J+=C,y-=b,(J&v)===(J&F)&&(y&d)===(y&p)&&(I=A[y&p][J&F]|0,I>=q&&(f[n]=e[I])),n+=1,J+=C,y-=b,(J&v)===(J&F)&&(y&d)===(y&p)&&(I=A[y&
p][J&F]|0,I>=q&&(f[n]=e[I])),n+=1,J+=C,y-=b,(J&v)===(J&F)&&(y&d)===(y&p)&&(I=A[y&p][J&F]|0,I>=q&&(f[n]=e[I])),n+=1,J+=C,y-=b,(J&v)===(J&F)&&(y&d)===(y&p)&&(I=A[y&p][J&F]|0,I>=q&&(f[n]=e[I])),n+=1,J+=C,y-=b;x+=b;y=z+=C}};a.prototype.rm=function(a,b,d){var c=this.u>>3,e=this.Qe,f=this.nc,l,k;var q=ViewConstants.Ua[3]+128;var h=ViewConstants.Ua[4]+128,m=ViewConstants.Ua[5]+128,u=ViewConstants.Ua[6]+128,E=1,B=1,G=0,t=this.W,F=this.$a&~d;d=this.eb&~d;var p=b,v=this.R;1<this.c&&(E=this.m);b=Math.sin(this.Db/
180*Math.PI)/this.R;var A=Math.cos(this.Db/180*Math.PI)/this.R;var r=-(this.u/2*-b+this.s/2*A)+this.Fb;var C=-(this.u/2*A+this.s/2*b)+this.Eb;1<this.m&&1<this.c&&(G=.4/(this.m-1),B=.6);this.ac(B);var z=0;var x=r;for(l=0;l<this.s;l+=1){var w=C;for(k=0;k<c;k+=1){var n=p[x&d][w&F];var y=a[x&d][w&F];y===h||y===u?(n>=t&&(y=q),n=e[y]|0):y===q||y===m?(n<t&&(y=h),n=e[y]|0):n=e[n]|0;f[z]=n;z+=1;w+=A;x-=b;n=p[x&d][w&F];y=a[x&d][w&F];y===h||y===u?(n>=t&&(y=q),n=e[y]|0):y===q||y===m?(n<t&&(y=h),n=e[y]|0):n=e[n]|
0;f[z]=n;z+=1;w+=A;x-=b;n=p[x&d][w&F];y=a[x&d][w&F];y===h||y===u?(n>=t&&(y=q),n=e[y]|0):y===q||y===m?(n<t&&(y=h),n=e[y]|0):n=e[n]|0;f[z]=n;z+=1;w+=A;x-=b;n=p[x&d][w&F];y=a[x&d][w&F];y===h||y===u?(n>=t&&(y=q),n=e[y]|0):y===q||y===m?(n<t&&(y=h),n=e[y]|0):n=e[n]|0;f[z]=n;z+=1;w+=A;x-=b;n=p[x&d][w&F];y=a[x&d][w&F];y===h||y===u?(n>=t&&(y=q),n=e[y]|0):y===q||y===m?(n<t&&(y=h),n=e[y]|0):n=e[n]|0;f[z]=n;z+=1;w+=A;x-=b;n=p[x&d][w&F];y=a[x&d][w&F];y===h||y===u?(n>=t&&(y=q),n=e[y]|0):y===q||y===m?(n<t&&(y=h),
n=e[y]|0):n=e[n]|0;f[z]=n;z+=1;w+=A;x-=b;n=p[x&d][w&F];y=a[x&d][w&F];y===h||y===u?(n>=t&&(y=q),n=e[y]|0):y===q||y===m?(n<t&&(y=h),n=e[y]|0):n=e[n]|0;f[z]=n;z+=1;w+=A;x-=b;n=p[x&d][w&F];y=a[x&d][w&F];y===h||y===u?(n>=t&&(y=q),n=e[y]|0):y===q||y===m?(n<t&&(y=h),n=e[y]|0):n=e[n]|0;f[z]=n;z+=1;w+=A;x-=b}C+=b;x=r+=A}this.Gb&&this.hf()&&this.kc();for(a=1;a<E;a+=1)for(q=-1!==this.v?this.v/this.m*a|0:(this.S+1)/this.m*a|0,B+=G,this.ac(B),b/=this.c,A/=this.c,v*=this.c,.125>v?(p=this.Va,d=15):.25>v?(p=this.na,
d=7):.5>v?(p=this.ma,d=3):1>v?(p=this.B,d=1):(p=this.va,d=0),F=this.$a&~d,d=this.eb&~d,r=-(this.u/2*-b+this.s/2*A)+this.Fb,C=-(this.u/2*A+this.s/2*b)+this.Eb,z=0,x=r,l=0;l<this.s;l+=1){w=C;for(k=0;k<c;k+=1)n=p[x&d][w&F]|0,n>=q&&(f[z]=e[n]),z+=1,w+=A,x-=b,n=p[x&d][w&F]|0,n>=q&&(f[z]=e[n]),z+=1,w+=A,x-=b,n=p[x&d][w&F]|0,n>=q&&(f[z]=e[n]),z+=1,w+=A,x-=b,n=p[x&d][w&F]|0,n>=q&&(f[z]=e[n]),z+=1,w+=A,x-=b,n=p[x&d][w&F]|0,n>=q&&(f[z]=e[n]),z+=1,w+=A,x-=b,n=p[x&d][w&F]|0,n>=q&&(f[z]=e[n]),z+=1,w+=A,x-=b,n=
p[x&d][w&F]|0,n>=q&&(f[z]=e[n]),z+=1,w+=A,x-=b,n=p[x&d][w&F]|0,n>=q&&(f[z]=e[n]),z+=1,w+=A,x-=b;C+=b;x=r+=A}};a.prototype.ym=function(a,b,d){var c=this.u>>3,e=this.Qe,f=this.nc,l;var k=ViewConstants.Ua[3]+128;var q=ViewConstants.Ua[4]+128,h=ViewConstants.Ua[5]+128,m=ViewConstants.Ua[6]+128,u=1,E=1,B=0,G=this.W,t=this.$a&~d;d=this.eb&~d;var F=b,p=this.R;1<this.c&&(u=this.m);b=1/this.R;var v=-(this.s/2*b)+this.Fb;var A=-(this.u/2*b)+this.Eb;1<this.m&&1<this.c&&(B=.4/(this.m-1),E=.6);this.ac(E);var r=
0;var C=v;for(l=0;l<this.s;l+=1){var z=F[C&d];var x=a[C&d];var w=A;this.P&&(w+=.5*(C|0));for(C=0;C<c;C+=1){var n=z[w&t];var y=x[w&t];y===q||y===m?(n>=G&&(y=k),n=e[y]|0):y===k||y===h?(n<G&&(y=q),n=e[y]|0):n=e[n]|0;f[r]=n;r+=1;w+=b;n=z[w&t];y=x[w&t];y===q||y===m?(n>=G&&(y=k),n=e[y]|0):y===k||y===h?(n<G&&(y=q),n=e[y]|0):n=e[n]|0;f[r]=n;r+=1;w+=b;n=z[w&t];y=x[w&t];y===q||y===m?(n>=G&&(y=k),n=e[y]|0):y===k||y===h?(n<G&&(y=q),n=e[y]|0):n=e[n]|0;f[r]=n;r+=1;w+=b;n=z[w&t];y=x[w&t];y===q||y===m?(n>=G&&(y=
k),n=e[y]|0):y===k||y===h?(n<G&&(y=q),n=e[y]|0):n=e[n]|0;f[r]=n;r+=1;w+=b;n=z[w&t];y=x[w&t];y===q||y===m?(n>=G&&(y=k),n=e[y]|0):y===k||y===h?(n<G&&(y=q),n=e[y]|0):n=e[n]|0;f[r]=n;r+=1;w+=b;n=z[w&t];y=x[w&t];y===q||y===m?(n>=G&&(y=k),n=e[y]|0):y===k||y===h?(n<G&&(y=q),n=e[y]|0):n=e[n]|0;f[r]=n;r+=1;w+=b;n=z[w&t];y=x[w&t];y===q||y===m?(n>=G&&(y=k),n=e[y]|0):y===k||y===h?(n<G&&(y=q),n=e[y]|0):n=e[n]|0;f[r]=n;r+=1;w+=b;n=z[w&t];y=x[w&t];y===q||y===m?(n>=G&&(y=k),n=e[y]|0):y===k||y===h?(n<G&&(y=q),n=e[y]|
0):n=e[n]|0;f[r]=n;r+=1;w+=b}C=v+=b}this.Gb&&this.hf()&&this.kc();for(a=1;a<u;a+=1)for(k=-1!==this.v?this.v/this.m*a|0:(this.S+1)/this.m*a|0,E+=B,this.ac(E),b/=this.c,p*=this.c,.125>p?(F=this.Va,d=15):.25>p?(F=this.na,d=7):.5>p?(F=this.ma,d=3):1>p?(F=this.B,d=1):(F=this.va,d=0),t=this.$a&~d,d=this.eb&~d,v=-(this.s/2*b)+this.Fb,A=-(this.u/2*b)+this.Eb,r=0,C=v,l=0;l<this.s;l+=1){z=F[C&d];w=A;this.P&&(w+=.5*(C|0));for(C=0;C<c;C+=1)n=z[w&t]|0,n>=k&&(f[r]=e[n]),r+=1,w+=b,n=z[w&t]|0,n>=k&&(f[r]=e[n]),r+=
1,w+=b,n=z[w&t]|0,n>=k&&(f[r]=e[n]),r+=1,w+=b,n=z[w&t]|0,n>=k&&(f[r]=e[n]),r+=1,w+=b,n=z[w&t]|0,n>=k&&(f[r]=e[n]),r+=1,w+=b,n=z[w&t]|0,n>=k&&(f[r]=e[n]),r+=1,w+=b,n=z[w&t]|0,n>=k&&(f[r]=e[n]),r+=1,w+=b,n=z[w&t]|0,n>=k&&(f[r]=e[n]),r+=1,w+=b;C=v+=b}};a.prototype.$l=function(a,b,d){var c=this.u>>3,e=this.Qe,f=this.nc,l;var k=ViewConstants.Ua[3]+128;var q=ViewConstants.Ua[4]+128,h=ViewConstants.Ua[5]+128,m=ViewConstants.Ua[6]+128,u=1,E=1,B=0,G=this.W,t=this.$a&~d,F=this.eb&~d,p=~d;d=~d;var v=b,A=this.R;
1<this.c&&(u=this.m);b=1/this.R;var r=-(this.s/2*b)+this.Fb;var C=-(this.u/2*b)+this.Eb;1<this.m&&1<this.c&&(B=.4/(this.m-1),E=.6);this.ac(E);var z=8192>this.width?e[0]|0:this.Eh|0;var x=0;var w=r;for(l=0;l<this.s;l+=1){if((w&d)===(w&F)){var n=v[w&F];var y=a[w&F];var J=C;this.P&&(J+=.5*(w|0));for(w=0;w<c;w+=1){if((J&p)===(J&t)){var I=n[J&t];var S=y[J&t];S===q||S===m?(I>=G&&(S=k),I=e[S]|0):S===k||S===h?(I<G&&(S=q),I=e[S]|0):I=e[I]|0}else I=z;f[x]=I;x+=1;J+=b;(J&p)===(J&t)?(I=n[J&t],S=y[J&t],S===q||
S===m?(I>=G&&(S=k),I=e[S]|0):S===k||S===h?(I<G&&(S=q),I=e[S]|0):I=e[I]|0):I=z;f[x]=I;x+=1;J+=b;(J&p)===(J&t)?(I=n[J&t],S=y[J&t],S===q||S===m?(I>=G&&(S=k),I=e[S]|0):S===k||S===h?(I<G&&(S=q),I=e[S]|0):I=e[I]|0):I=z;f[x]=I;x+=1;J+=b;(J&p)===(J&t)?(I=n[J&t],S=y[J&t],S===q||S===m?(I>=G&&(S=k),I=e[S]|0):S===k||S===h?(I<G&&(S=q),I=e[S]|0):I=e[I]|0):I=z;f[x]=I;x+=1;J+=b;(J&p)===(J&t)?(I=n[J&t],S=y[J&t],S===q||S===m?(I>=G&&(S=k),I=e[S]|0):S===k||S===h?(I<G&&(S=q),I=e[S]|0):I=e[I]|0):I=z;f[x]=I;x+=1;J+=b;(J&
p)===(J&t)?(I=n[J&t],S=y[J&t],S===q||S===m?(I>=G&&(S=k),I=e[S]|0):S===k||S===h?(I<G&&(S=q),I=e[S]|0):I=e[I]|0):I=z;f[x]=I;x+=1;J+=b;(J&p)===(J&t)?(I=n[J&t],S=y[J&t],S===q||S===m?(I>=G&&(S=k),I=e[S]|0):S===k||S===h?(I<G&&(S=q),I=e[S]|0):I=e[I]|0):I=z;f[x]=I;x+=1;J+=b;(J&p)===(J&t)?(I=n[J&t],S=y[J&t],S===q||S===m?(I>=G&&(S=k),I=e[S]|0):S===k||S===h?(I<G&&(S=q),I=e[S]|0):I=e[I]|0):I=z;f[x]=I;x+=1;J+=b}}else for(w=0;w<c;w+=1)f[x]=z,x+=1,f[x]=z,x+=1,f[x]=z,x+=1,f[x]=z,x+=1,f[x]=z,x+=1,f[x]=z,x+=1,f[x]=
z,x+=1,f[x]=z,x+=1;w=r+=b}this.Gb&&this.hf()&&this.kc();for(a=1;a<u;a+=1)for(k=-1!==this.v?this.v/this.m*a|0:(this.S+1)/this.m*a|0,E+=B,this.ac(E),b/=this.c,A*=this.c,.125>A?(v=this.Va,d=15):.25>A?(v=this.na,d=7):.5>A?(v=this.ma,d=3):1>A?(v=this.B,d=1):(v=this.va,d=0),t=this.$a&~d,F=this.eb&~d,p=~d,d=~d,r=-(this.s/2*b)+this.Fb,C=-(this.u/2*b)+this.Eb,x=0,w=r,l=0;l<this.s;l+=1){if((w&d)===(w&F))for(n=v[w&F],J=C,this.P&&(J+=.5*(w|0)),w=0;w<c;w+=1)(J&p)===(J&t)&&(I=n[J&t]|0,I>=k&&(f[x]=e[I])),x+=1,J+=
b,(J&p)===(J&t)&&(I=n[J&t]|0,I>=k&&(f[x]=e[I])),x+=1,J+=b,(J&p)===(J&t)&&(I=n[J&t]|0,I>=k&&(f[x]=e[I])),x+=1,J+=b,(J&p)===(J&t)&&(I=n[J&t]|0,I>=k&&(f[x]=e[I])),x+=1,J+=b,(J&p)===(J&t)&&(I=n[J&t]|0,I>=k&&(f[x]=e[I])),x+=1,J+=b,(J&p)===(J&t)&&(I=n[J&t]|0,I>=k&&(f[x]=e[I])),x+=1,J+=b,(J&p)===(J&t)&&(I=n[J&t]|0,I>=k&&(f[x]=e[I])),x+=1,J+=b,(J&p)===(J&t)&&(I=n[J&t]|0,I>=k&&(f[x]=e[I])),x+=1,J+=b;else x+=c<<3;w=r+=b}};a.prototype.Ad=function(a,b,d){var c=Math.sin(this.Db/180*Math.PI)/this.R,e=Math.cos(this.Db/
180*Math.PI)/this.R,f=this.u,l=this.s,k=-(this.u/2*-c+this.s/2*e)+this.Fb,q=-(this.u/2*e+this.s/2*c)+this.Eb,h=k+f*-c,m=q+f*e,u=k+l*e;l=q+l*c;c=u+f*-c;e=l+f*e;f=k;var E=q;m<E&&(E=m);l<E&&(E=l);e<E&&(E=l);m>q&&(q=m);l>q&&(q=l);e>q&&(q=e);h<f&&(f=h);u<f&&(f=u);c<f&&(f=c);h>k&&(k=h);u>k&&(k=u);c>k&&(k=c);0>(E|0)||(q|0)>=this.width||0>(f|0)||(k|0)>=this.height?0===this.Db?this.$l(a,b,d):this.Yl(a,b,d):0===this.Db?this.ym(a,b,d):this.rm(a,b,d)};a.prototype.pm=function(){var a;if(!this.lc.data.buffer){var b=
this.lc.data;var d=this.tf;var c=d.length;for(a=0;a<c;)b[a]=d[a],a+=1,b[a]=d[a],a+=1,b[a]=d[a],a+=1,b[a]=d[a],a+=1}this.we.putImageData(this.lc,0,0)};a.prototype.Jj=function(){var a,b=0,d=this.s,c=this.u,f=this.nc,M=this.ze;for(a=0;a<d;a+=1)f.set(M,b),b+=c};window.LifeConstants=d;window.Life=a})();(function(){function b(b){this.source=b.replace(/&amp;/gi,"&");this.c=this.source.match(/\S+/g);this.current=0}b.prototype.K=function(){var b="";this.c&&this.current<this.c.length&&(b=this.c[this.current],this.current+=1);return b};b.prototype.La=function(){var b="";this.c&&this.current<this.c.length&&(b=this.c[this.current]);return b};b.prototype.Io=function(){var b=Keywords.di,f=!1;if(this.c)for(;this.current<this.c.length&&!f;)this.c[this.current]===b&&(f=!0),this.current+=1;return f};b.prototype.h=
function(b){return!Number.isNaN(parseFloat(b))&&Number.isFinite(Number(b))};b.prototype.o=function(b){var c=!1,a=b.indexOf("/");-1!==a&&(c=b.substr(0,a),b=b.substr(a+1),c=this.h(c)&&this.h(b));return c};b.prototype.B=function(b){var c=0;if(this.o(b)){var a=b.indexOf("/");var d=b.substr(0,a);b=b.substr(a+1);0!==Number(b)&&(c=Number(d)/Number(b))}else this.h(b)&&(c=parseFloat(b));return c};b.prototype.ca=function(){var b=this.K();return this.B(b)};b.prototype.da=function(){var b=!1;if(this.c&&this.current<
this.c.length){var f=this.c[this.current];this.o(f)?b=!0:b=this.h(f)}return b};window.Script=b})();(function(){function b(a){this.o=a;this.oh=this.Jd=!1;this.Tc=f.Xm;this.Re=f.Yh;this.M=this.Ea=-1;this.angle=this.y=this.x=0;this.depth=this.m=this.zoom=1;this.Fa=0;this.Ja=60;this.step=1;this.gb=this.ua=0;this.hc="";this.dj=this.zk=this.kl=this.Hj=this.Of=this.Nf=this.Hn=this.Yp=this.qj=this.hg=this.Fg=this.Ef=this.nf=this.te=this.kf=this.uf=this.ic=this.ff=this.vd=this.Zd=this.Ib=this.Bg=this.yd=this.wd=this.td=this.cc=!1}function c(){this.N=[];this.Da=[];this.current=new b(this);this.W=new b(this);
this.h=new b(this);this.o=!1;this.Ff=0;this.B=!1}var f={Xm:0,play:1,stop:2,Yh:12,Dp:0,Cp:200};b.prototype.set=function(a){this.Jd=a.Jd;this.oh=a.oh;this.Tc=a.Tc;this.Re=a.Re;this.Ea=a.Ea;this.M=a.M;this.x=a.x;this.y=a.y;this.td=a.td;this.wd=a.wd;this.yd=a.yd;this.cc=a.cc;this.angle=a.angle;this.zoom=a.zoom;this.m=a.m;this.depth=a.depth;this.Fa=a.Fa;this.Ja=a.Ja;this.ua=a.ua;this.gb=a.gb;this.hc=a.hc;this.Bg=a.Bg;this.Ib=a.Ib};b.prototype.c=function(){var a="";switch(this.Tc){case f.play:a=Keywords.Zh;
break;case f.stop:a=Keywords.$h}return a};b.prototype.Qs=function(a){this.Jd?(this.Tc!==f.Xm&&(a[a.length]=[Keywords.Zh,"overwrites "+this.c()]),this.Tc=f.play):a[a.length]=[Keywords.Zh,"only valid at POI"]};b.prototype.Ss=function(a){this.Jd?(this.Tc!==f.Xm&&(a[a.length]=[Keywords.$h,"overwrites "+this.c()]),this.Tc=f.stop):a[a.length]=[Keywords.$h,"only valid at POI"]};b.prototype.Rs=function(a){this.Jd?(this.oh&&(a[a.length]=[Keywords.$i,"already defined"]),this.oh=!0):a[a.length]=[Keywords.$i,
"only valid at POI"]};b.prototype.Vs=function(a,b){this.Jd?(this.Re!==f.Yh&&(b[b.length]=[Keywords.aj+" "+a,"overwrites "+this.Re]),this.Re=a):b[b.length]=[Keywords.aj,"only valid at POI"]};b.prototype.h=function(a,b,c){var d=a.gb+0,e=b.gb+0,f=a.angle+0,g=b.angle+0,M=1,D=1,k=1,q=1,h=1;c>e&&(c=e);e-d==ViewConstants.Xs&&(d=e);e!==d&&(M=(c-d)/(e-d),D=this.o.co(M)+0);b.td||b.cc?k=M:k=D;b.wd||b.cc?q=M:q=D;b.yd||b.cc?h=M:h=D;this.x=a.x+k*(b.x-a.x);this.y=a.y+q*(b.y-a.y);this.zoom=a.zoom*Math.pow(b.zoom/
a.zoom,h);180<g-f?f+=360:-180>g-f&&(g+=360);this.angle=(f+D*(g-f))%360;this.m=a.m+M*(b.m-a.m)|0;this.depth=a.depth+M*(b.depth-a.depth);this.Fa=b.Fa;this.Ja=b.Ja;this.step=b.step;this.ua=a.ua+M*(b.ua-a.ua)|0;this.gb=c;this.hc=b.hc;this.cc=b.cc};c.prototype.bt=function(a){var b;for(b=this.N.length-1;0<=b;--b){var c=this.N[b];c.gb>a&&c.dj&&(this.Ff=b,c.dj=!1)}};c.prototype.Cs=function(){var a;for(a=0;a<this.N.length;a+=1)this.N[a].dj=!1;this.Ff=0;this.B=!1};c.prototype.Xj=function(){return new b(this)};
c.prototype.co=function(a){return-2*Math.pow(a,3)+3*Math.pow(a,2)+0*a};c.prototype.reset=function(){this.N=[];this.Da=[];this.o=!1;this.Ff=0};c.prototype.Hr=function(){return this.N[this.N.length-1]};c.prototype.Ho=function(a){var b=this.S(a),c=this.N[b];a>c.ua?a=c.gb+1E3*(a-c.ua)/(c.Ja*c.step):0<b?(b=this.N[b-1],a=b.gb+1E3*(a-b.ua)/(c.Ja*c.step)):a=1E3*a/(c.Ja*c.step);return a};c.prototype.uo=function(a,b,c,f,C,K,g,M,D,k,q){var h=this.W;h.x=a;h.y=b;h.zoom=c;h.angle=f;h.Ja=M;h.step=D;h.m=C;h.depth=
K;h.Fa=g;h.ua=k;this.o&&(q=this.h.gb);h.gb=q-1E3;this.update(q,k);this.h.set(this.current);this.h.cc=!1;this.h.gb=q;this.o=!0;return h.gb};c.prototype.Fi=function(){return this.N[0]};c.prototype.ds=function(){return this.N.length};c.prototype.add=function(a){a.Jd?this.Da[this.Da.length]=a:this.N[this.N.length]=a};c.prototype.Xl=function(a){var b=!1;this.Ff>=this.N.length-1&&a>=this.N[this.Ff].gb&&(b=!0);return b};c.prototype.c=function(a){return a===(a|0)?String(a|0):String(a.toFixed(1))};c.prototype.hs=
function(a){var b="";0<=a&&a<this.Da.length&&(a=this.Da[a],a.Zd&&(b+=" X "+a.x),a.vd&&(b+=" Y "+a.y),a.ic&&(b+=" ZOOM "+this.c(a.zoom)),a.ff&&(b+=" ANGLE "+a.angle));return b.substr(1)};c.prototype.Bp=function(a){var b="";0<=a&&a<this.Da.length&&(a=this.Da[a],a.oh&&(b+=" POIRESET"),a.Tc===f.play?b+=" POIPLAY":a.Tc===f.stop&&(b+=" POISTOP"),a.Re!==f.Yh&&(b+=" POITRANS "+a.Re));return b.substr(1)};c.prototype.js=function(a){var b="";0<=a&&a<this.Da.length&&(a=this.Da[a],a.hg&&(b+=" LOOP "+(-1===a.M?
"OFF":a.M)),a.Fg&&(b+=" STOP "+(-1===a.Ea?"OFF":a.Ea)),a.nf&&(b+=" GPS "+a.Ja),a.Ef&&(b+=" STEP "+a.step));return b.substr(1)};c.prototype.Bp=function(a){var b="";0<=a&&a<this.Da.length&&(a=this.Da[a],a.oh&&(b+=" POIRESET"),a.Tc===f.play?b+=" POIPLAY":a.Tc===f.stop&&(b+=" POISTOP"),a.Re!==f.Yh&&(b+=" POITRANS "+a.Re));return b.substr(1)};c.prototype.ms=function(a){var b="";0<=a&&a<this.Da.length&&(a=this.Da[a],a.te&&(b+=" THEME "+a.Fa),a.kf&&(b+=" DEPTH "+this.c(a.depth)),a.uf&&(b+=" LAYERS "+a.m));
return b.substr(1)};c.prototype.ls=function(a){var b="";0<=a&&a<this.Da.length&&(a=this.Da[a],a.qj&&(b+=" POIT "+a.ua));return b.substr(1)};c.prototype.ks=function(a){var b=Keywords.Ab,c="";0<=a&&a<this.Da.length&&(a=this.Da[a],""!==a.hc&&(c+=" "+b+a.hc+b));return c.substr(1)};c.prototype.ut=function(a){var b=Keywords.Ab,c="";if(0<=a&&a<this.N.length){var f=this.N[a];0<a?(a=this.N[a-1],c=f.ua===a.ua?"P "+this.c((f.gb-a.gb|0)/1E3):"T "+f.ua,f.cc?c+=" F":(f.x!==a.x&&(c+=" X "+-f.x),f.y!==a.y&&(c+=" Y "+
-f.y),f.zoom!==a.zoom&&(c+=" Z "+this.c(f.zoom))),f.angle!==a.angle&&(c+=" A "+f.angle),f.m!==a.m&&(c+=" L "+f.m),f.depth!==a.depth&&(c+=" D "+this.c(f.depth)),f.Fa!==a.Fa&&(c+=" C "+f.Fa),f.Ja!==a.Ja&&(c+=" G "+f.Ja),f.step!==a.step&&(c+=" S "+f.step),""!==f.hc&&(c+=" "+b+f.hc+b)):c="T "+f.ua+" X "+-f.x+" Y "+-f.y+" Z "+this.c(f.zoom)+" A "+f.angle+" L "+f.m+" D "+this.c(f.depth)+" C "+f.Fa+" G "+f.Ja+" S "+f.step}return c};c.prototype.update=function(a,b){var c=this.N.length,d=!1,f=this.Ff,K=!1;
if(this.o)this.current.h(this.W,this.h,a),a>=this.h.gb&&(this.o=!1);else{for(;f<c&&!d;){var g=this.N[f];g.gb>=a||!g.dj?d=!0:f+=1}d?(this.N[f].dj=!0,0<f?(this.N[f].cc&&(this.N[f].x=this.current.x,this.N[f].y=this.current.y,this.N[f].zoom=this.current.zoom),this.current.h(this.N[f-1],this.N[f],a)):(f=0,this.current.set(this.N[f]))):(f=c-1,this.current.set(this.N[f]),b>=this.current.ua&&this.B&&(K=!0),this.B=!0);this.Ff=f}return K};c.prototype.S=function(a){for(var b=0,c=!1,f=this.N,C=this.N.length;b<
C&&!c;)f[b].ua>=a?c=!0:b+=1;c||(b=C-1);return b};c.prototype.kr=function(a){this.Ff=this.S(a)};c.prototype.mb=function(a,b,c,f){if(0===this.N.length)c[c.length]=[a+" "+Keywords.qa,"no initial waypoint defined"];else switch(a){case Keywords.Yb:b.Zd&&(c[c.length]=[a+" "+Keywords.qa,f?"already defined":"overwrites "+-b.x]);b.x=this.N[0].x;b.Zd=!0;break;case Keywords.Zb:b.vd&&(c[c.length]=[a+" "+Keywords.qa,f?"already defined":"overwrites "+-b.y]);b.y=this.N[0].y;b.vd=!0;break;case Keywords.qb:b.ic&&
(c[c.length]=[a+" "+Keywords.qa,f?"already defined":"overwrites "+this.c(1>b.zoom?-(1/b.zoom):b.zoom)]);b.zoom=this.N[0].zoom;b.ic=!0;break;case Keywords.Rf:b.ff&&(c[c.length]=[a+" "+Keywords.qa,f?"already defined":"overwrites "+b.angle]);b.angle=this.N[0].angle;b.ff=!0;break;case Keywords.Rg:b.kf&&(c[c.length]=[a+" "+Keywords.qa,f?"already defined":"overwrites "+this.c(b.depth)]);b.depth=this.N[0].depth;b.kf=!0;break;case Keywords.bh:b.uf&&(c[c.length]=[a+" "+Keywords.qa,f?"already defined":"overwrites "+
b.m]);b.m=this.N[0].m;b.uf=!0;break;case Keywords.Gf:b.te&&(c[c.length]=[a+" "+Keywords.qa,f?"already defined":"overwrites "+b.Fa]);b.Fa=this.N[0].Fa;b.te=!0;break;case Keywords.Xg:b.nf&&(c[c.length]=[a+" "+Keywords.qa,f?"already defined":"overwrites "+b.Ja]);b.Ja=this.N[0].Ja;b.nf=!0;break;case Keywords.uh:b.Ef&&(c[c.length]=[a+" "+Keywords.qa,f?"already defined":"overwrites "+b.step]);b.step=this.N[0].step;b.Ef=!0;break;case Keywords.se:b.Fg&&(c[c.length]=[a+" "+Keywords.qa,f?"already defined":
"overwrites "+(-1===b.Ea?"OFF":b.Ea)]);b.Ea=this.N[0].Ea;b.Fg=!0;break;case Keywords.oe:b.hg&&(c[c.length]=[a+" "+Keywords.qa,f?"already defined":"overwrites "+(-1===b.M?"OFF":b.M)]);b.M=this.N[0].M;b.hg=!0;break;default:c[c.length]=[a+" "+Keywords.qa,"illegal command before "+Keywords.qa]}};c.prototype.Hq=function(a,b){this.mb(Keywords.Yb,a,b,!1);this.mb(Keywords.Zb,a,b,!1);this.mb(Keywords.qb,a,b,!1);this.mb(Keywords.Rf,a,b,!1);this.mb(Keywords.bh,a,b,!1);this.mb(Keywords.Rg,a,b,!1);this.mb(Keywords.Gf,
a,b,!1);this.mb(Keywords.Xg,a,b,!1);this.mb(Keywords.uh,a,b,!1);this.mb(Keywords.oe,a,b,!1);this.mb(Keywords.se,a,b,!1)};c.prototype.os=function(a){var b,c=this.N,f=this.N.length;for(b=1;b<f;b+=1){var C=c[b-1];var K=c[b];K.Zd||(K.x=C.x);K.vd||(K.y=C.y);K.Nf||(K.td=C.td);K.Of||(K.wd=C.wd);K.Hj||(K.yd=C.yd);K.ff||(K.angle=C.angle);K.ic||(K.zoom=C.zoom);K.uf||(K.m=C.m);K.kf||(K.depth=C.depth);K.te||(K.Fa=C.Fa);K.nf||(K.Ja=C.Ja);K.Ef||(K.step=C.step);K.qj?K.ua<=C.ua&&(a[a.length]=[Keywords.pj+" "+K.ua,
"target generation must be later than previous ("+C.ua+")"]):K.ua=C.ua;K.gb=K.Yp?1E3*K.gb+C.gb:C.gb+1E3*(K.ua-C.ua)/(K.Ja*K.step);K.kl||(K.Bg=C.Bg);K.zk||(K.Ib=C.Ib)}};window.Waypoint=b;window.WaypointManager=c;window.WaypointConstants=f})();(function(){function b(b,f){var a=this;this.Vn=b;this.g=f;this.top=this.left=0;""!==b.style.left&&(this.left=parseInt(b.style.left,10));""!==b.style.top&&(this.top=parseInt(b.style.top,10));this.Jb=this.Sg=!1;this.Ni=this.Mi=this.Pi=this.Oi=this.xf=this.wf=-1;this.offsetTop=this.offsetLeft=0;registerEvent(b,"mousedown",function(b){a.h(a,b)},!1);registerEvent(document,"mousemove",function(b){a.o(a,b)},!1);registerEvent(document,"mouseup",function(b){a.B(a,b)},!1);registerEvent(b,"touchstart",function(b){a.c(a,
b)},!1);registerEvent(b,"touchmove",function(b){a.c(a,b)},!1);registerEvent(b,"touchend",function(b){a.c(a,b)},!1);registerEvent(window,"resize",function(){a.Lp(a)},!1)}b.prototype.Lp=function(b){b.Tp(b.left,b.top,b.Vn)};b.prototype.jt=function(b,f){this.Tp(this.left+b,this.top+f,this.Vn)};b.prototype.Tp=function(b,f,a){var c=window.innerWidth-a.clientWidth,e=window.innerHeight-a.clientHeight;window.innerHeight<document.getElementsByTagName("body")[0].clientHeight&&(c-=21);0>b&&(b=0);0>f&&(f=0);b>
c&&(b=c);f>e&&(f=e);a.style.left=b+"px";a.style.top=f+"px";a.style.position="fixed";this.left=b;this.top=f};b.prototype.Gq=function(){var b=this.Vn,f=b.offsetParent;this.offsetLeft=b.offsetLeft;for(this.offsetTop=b.offsetTop;f;)this.offsetLeft+=f.offsetLeft,this.offsetTop+=f.offsetTop,f=f.offsetParent;f=b.parentNode;if("fixed"===f.style.position)this.offsetLeft+=document.body.scrollLeft+document.documentElement.scrollLeft,this.offsetTop+=document.body.scrollTop+document.documentElement.scrollTop;
else for(;"body"!==f.tagName.toLowerCase();)this.offsetLeft-=f.scrollLeft,this.offsetTop-=f.scrollTop,f=f.parentNode};b.prototype.c=function(b,f){var a="";if("touchend"===f.type){a="mouseup";var c=document.createEvent("MouseEvent");c.initMouseEvent(a,!0,!0,window,1,b.Oi,b.Pi,b.Mi,b.Ni,!1,!1,!1,!1,0,null);f.target.dispatchEvent(c);f.preventDefault()}else{if(1===f.touches.length)switch(f.type){case "touchstart":a="mousedown";break;case "touchmove":a="mousemove"}if(""!==a){var e=f.changedTouches[0];
c=document.createEvent("MouseEvent");c.initMouseEvent(a,!0,!0,window,1,e.screenX,e.screenY,e.clientX,e.clientY,!1,!1,!1,!1,0,null);e.target.dispatchEvent(c);f.preventDefault();b.Oi=e.screenX;b.Pi=e.screenY;b.Mi=e.clientX;b.Ni=e.clientY}}};b.prototype.h=function(b,f){b.zh(b,f);b.Jb=!0;b.g.kh=!0;f.stopPropagation&&f.stopPropagation();f.preventDefault()};b.prototype.B=function(b,f){b.Sg&&b.Jb&&(b.zh(b,f),b.Jb=!1,b.g.kh=!1,f.stopPropagation&&f.stopPropagation(),f.preventDefault())};b.prototype.o=function(b,
f){if(b.Sg&&b.Jb){var a=b.wf,c=b.xf;b.zh(b,f);b.Jb&&b.jt(b.wf-a,b.xf-c);b.wf=a;b.xf=c;f.stopPropagation&&f.stopPropagation();f.preventDefault()}};b.prototype.zh=function(b,f){if(f.pageX||f.pageY){var a=f.pageX;f=f.pageY}else a=f.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,f=f.clientY+document.body.scrollTop+document.documentElement.scrollTop;b.Gq();a-=b.offsetLeft;f-=b.offsetTop;b.wf=a-1|0;b.xf=f-1|0};window.PopupWindow=b})();(function(){function b(){this.key=new Uint8Array(256);this.h=this.c=0}b.prototype.ne=function(b){var c,a,d=this.key;for(c=0;256>c;c+=1)d[c]=c;for(c=a=0;256>c;c+=1){a=a+d[c]+b.charCodeAt(c%b.length)&255;var e=d[c];d[c]=d[a];d[a]=e}this.h=this.c=0};b.prototype.random=function(){var b,f=0,a=1,d=this.key,e=this.c,l=this.h;for(b=0;8>b;b+=1){e=e+1&255;l=l+d[e]&255;var C=d[e];d[e]=d[l];d[l]=C;f+=d[d[e]+d[l]&255]*a;a*=256}this.c=e;this.h=l;return f/1.8446744073709552E19};window.Random=b;window.myRand=new b})();(function(){function b(b,f){this.Tk=b;this.x=f.ga(Float32,b,"Stars.x");this.y=f.ga(Float32,b,"Stars.y");this.h=f.ga(Float32,b,"Stars.z");this.blue=this.green=this.red=255;this.c=new Random;this.c.ne(Date.now().toString());this.sin=f.ga(Float32,2880,"Stars.sin");this.cos=f.ga(Float32,2880,"Stars.cos");this.o=Math.PI/180;this.B=180/Math.PI;for(b=0;2880>b;)this.sin[b]=Math.sin(b/8*this.o),this.cos[b]=Math.cos(b/8*this.o),b+=1}b.prototype.ne=function(b,f,a){var c,e=this.Tk,l=b*b+f*f;for(c=0;c<e;c+=1){var C=
c/e*(c/e)*(c/e)*(c/e)*a+1;do{var K=3*(this.c.random()*b-b/2);var g=3*(this.c.random()*f-f/2)}while(K*K+g*g>l);this.x[c]=K;this.y[c]=g;this.h[c]=C}};b.prototype.Jq=function(b,f,a,d,e,l,C,K){var c;if(littleEndian){var M=K>>16&255;var D=K>>8&255;var k=K&255}else k=K>>24&255,D=K>>16&255,M=K>>8&255;for(c=0;c<this.Tk;c+=1){var q=this.x[c]+b;var h=this.y[c]+f;if(0!==d){var m=Math.sqrt(q*q+h*h);h=Math.atan2(h,q)*this.B;h+=d;0>h?h+=360:360<=h&&(h-=360);h*=8;h|=0;q=m*this.cos[h];h=m*this.sin[h]}m=this.h[c]/
a*2;q=e/2+q/m|0;h=l/2+h/m|0;if(0<q&&q<e-1&&0<h&&h<l-1){q+=h*e;m=1536/m|0;255<m&&(m=255);m/=255;if(C[q]===K){h=k+(this.red-k)*m;var u=D+(this.green-D)*m;var E=M+(this.blue-M)*m;h=littleEndian?-16777216|E<<16|u<<8|h:h<<24|E<<16|u<<8|255;C[q]=h}m/=2;h=k+(this.red-k)*m;u=D+(this.green-D)*m;E=M+(this.blue-M)*m;h=littleEndian?-16777216|E<<16|u<<8|h:h<<24|E<<16|u<<8|255;--q;C[q]===K&&(C[q]=h);q+=2;C[q]===K&&(C[q]=h);--q;q-=e;C[q]===K&&(C[q]=h);q+=e+e;C[q]===K&&(C[q]=h)}}};window.Stars=b})();(function(){function b(a){this.vc=this.rb=this.Fe=this.He=this.wc=this.Ge=this.De=this.ze=this.Kc=this.Ke=this.Je=this.si=!1;this.Ne=this.Ra=0;this.Cb=null;this.$c=this.Zc=0;this.Un=!1;this.Pg=this.Wd=this.Xd=-1;this.dn=Date.now().toString();this.Pb=this.en=!1;this.Rd=!0;this.ob=k.Ao;this.ke=!1;this.element=a;this.ja=!1;this.Kf=this.af=this.bf=this.Jf=this.ak=this.Yj=this.$j=this.Zj=0;this.ib=this.cd=this.hb=this.xh=!1;this.Gi=!0;this.vk=!1;this.uk=0;this.$f=!1;this.$k=this.Zk=0;this.Se=!1;this.U=
"";this.xd=this.ud=0;this.tm=this.sm=this.Lh=this.Zf=this.Ug=this.mf=this.yn=this.xn=this.Cg=this.th=this.Eg=this.Dg=this.fd=-1;this.Hk=this.pk=!1;this.ml=this.Xc=-1;this.Lg=!1;this.fm=0;this.em=!0;this.Sj=this.Oa=!1;this.Hg=0;this.xq=.01;this.Ve=this.qf=!1;this.jf=this.gd=null;this.ee=k.ee;this.Tf=[80,80,80];this.nl=null;this.ra="";this.sh=this.Aa=this.Qd=!1;this.Ue=null;this.Pc=!1;this.L=1;this.Pe=this.Cf=0;this.lb=this.Lm=!1;this.A=new WaypointManager;this.Gk="";this.Om=-1;this.Cc=this.kb=!1;this.J=
1;this.xm=this.Ym=this.Ti=0;this.Le=k.Qr;this.nm=0;this.ka=this.W=this.S=this.B=-1;this.Xi=this.Wi="";this.Zi=this.Af=this.vg=this.Bf=0;this.Yi=null;this.Oe=this.zf=this.qe="";this.Uf=!1;this.c=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1];this.Ci=this.Bi=-1;this.Ai="";this.mc=[];this.Rj=!1;this.cb=[];this.Mg=[];this.Rb=[];this.za=1;this.C=0;this.Xh=100;this.fb=10;this.Dk=this.Op=1;this.Xe=[64,200,290,530,700];this.Zg=[];this.M=this.Ea=-1;this.Ij=this.Ck=this.Sf=this.Mc=this.yb=this.hh=this.Ok=this.Ta=
this.Mb=this.pb=this.ta=!1;this.Bh=this.mi=this.ti=-1;this.a=null;this.ba=!0;this.elapsedTime=0;this.u=640;this.s=512;this.sd=this.tn=this.pe=this.Hb=!1;this.T=this.Sd=this.Vf=this.Ad=this.Ae=this.ya=this.wg=this.Cd=this.Za=this.Tg=this.Dd=this.Wg=this.ni=this.cg=this.tf=this.Vg=this.Yg=this.gf=this.$g=this.ad=this.ig=this.na=this.zd=this.Tb=this.jc=this.$b=this.Sb=this.jg=this.tg=this.sg=this.eg=this.oi=this.Nb=this.we=this.lc=this.xe=this.kc=this.ve=this.Sh=this.Bd=this.Va=this.Nc=this.nb=this.Qa=
this.Ma=this.Ga=this.Bb=this.Pd=this.Ya=this.fa=null;this.ah=this.Rh=-1;this.wheelDelta=0;this.fc=this.jh=this.Ld=this.h=this.sb=null;this.pc=60;this.w=this.g=null;this.Kh=this.Ub=this.Hh=0;this.Qg=this.Co=1;this.lm=60;this.Jh=this.nk=1;this.km=.1;this.ph=this.Qb=this.ln=0;this.ci=1;this.Hf=this.ea=this.bi=this.ai=this.ii=!1;this.Lb=k.Bo;this.Jj=this.Lj=this.Kn=this.Kj=0;this.Ye=!1;this.kj=0}function c(a,c,d,e,f){var h,m=c.parentNode,u=null,g=null;for(h=0;h<q.Xb.length&&!g;)q.Xb[h][0].tabIndex===
c.tabIndex?g=q.Xb[h][1]:h+=1;g||(g=new b(f),g.Pc=e,D.Qi&&!e&&(g.Le=d&-8,g.Le<k.Sc&&(g.Le=k.Sc)),c.tabIndex=q.Xb.length+1,g.Al(c),"none"===m.style.display&&(u=new PopupWindow(m,g.g)),q.Xb[q.Xb.length]=[c,g,u]);e||g.zn(a,!1)}function f(a){a=a.parentNode;for(var b=!1;!b;)"div"!==a.localName||a.className!==D.qk&&a.className!==D.rk||(b=!0),b||(a=a.parentNode);return a}function a(){var a=q.wn(),b=a[1],c=a[2];a[0].parentNode.style.display="none";c.Sg=!1;b.Hb&&(b.T.current=b.Jc(k.Ka,!0,b))}function d(b){a();
b.stopPropagation&&b.stopPropagation();b.preventDefault();return!1}function e(a){a=a.innerHTML.replace(/&lt;/gi,"<").replace(/&gt;/gi,">").replace(/<br *\/>/gi,"\n").replace(/<br>/gi,"\n").replace(/&nbsp;/gi," ").replace(/<span class="posthilit">/gi,"").replace(/<\/span>/gi,"").trim();a=a.replace(/\n[ ]+/g,"\n");return a=a.replace(/\n\t+/g,"\n")}function l(a){var b=f(a);a=e(b.getElementsByTagName(D.lh)[0]);b=b.getElementsByTagName("form")[0];b.getElementsByTagName("input")[0].value=a;b.submit()}function C(a){a=
f(a);var b=a.getElementsByTagName(D.lh)[0],h=e(b),g=q.wn();if(g)g[1].element=b,g[1].Tn(g[1]);else{g=document.createElement("canvas");g.width=k.Sc;g.height=k.ng+80;g.style.display="block";var l=document.createElement("a");l.setAttribute("href","#");l.innerHTML="&nbsp;X&nbsp;";l.style.textDecoration="none";l.style.fontFamily="Lucida Grande,Verdana,Helvetica,Arial,sans-serif";l.style.color="#FFFFFF";l.style.backgroundColor="#C75050";l.style.cssFloat="right";l.style.height="28px";l.style.fontSize="18px";
var G=document.createElement("a");G.innerHTML="&nbsp;X&nbsp;";G.style.textDecoration="none";G.style.fontFamily="Lucida Grande,Verdana,Helvetica,Arial,sans-serif";G.style.visibility="hidden";G.style.cssFloat="left";G.style.height="28px";G.style.fontSize="18px";var t=document.createElement("div");t.style.textAlign="center";t.style.color="rgb(83,100,130)";t.style.fontFamily="Arial, Verdana, Helvetica, sans-serif";t.style.fontSize="18px";t.style.height="28px";var F=document.createTextNode("LifeViewer");
t.style.cursor="default";t.appendChild(F);registerEvent(l,"click",d,!1);var p=document.createElement("div");p.style.display="none";p.style.position="fixed";p.style.border="1px solid rgb(128,128,128)";p.style.left="2048px";p.style.top="0px";p.style.textAlign="right";p.style.boxShadow="0px 0px 3px 3px rgba(0,0,0,.3), 12px 12px 8px rgba(0,0,0,.5)";p.style.margin="1px";var v=document.createElement("div");v.className=D.rk;v.style.backgroundColor="#FFFFFF";v.style.height="28px";v.style.lineHeight="28px";
v.appendChild(G);v.appendChild(l);v.appendChild(t);p.appendChild(v);p.appendChild(g);a.appendChild(p);c(h,g,k.Sc,!0,b);q.vn=q.Xb.length-1;g=q.wn();g[1].nl=F}a=g[0].parentNode;""!==a.style.display&&(a.style.display="");g[1].u=k.Sc;g[1].s=k.ng+80;g[1].resize();g[1].g.notification.clear(!0,!0);g[1].g.notification.clear(!1,!0);g[1].zn(h,!0);a=g[2];a.Sg=!0;a.Lp(a);g[1].Ld.canvas.focus();g[1].g.hasFocus=!0;return!1}function K(a){l(this);a.stopPropagation&&a.stopPropagation();a.preventDefault();return!1}
function g(a){C(this);a.stopPropagation&&a.stopPropagation();a.preventDefault();return!1}function M(){var a=document.getElementsByTagName("div"),b,d=new Allocator;var f=document.getElementsByTagName("meta");for(b=0;b<f.length;b+=1){var k=f[b];if(k.name===D.tagName){D.Hm=!1;D.Qi=!1;k=k.content;var l=k.match(/\S+/g);if(2<=l.length&&5>=l.length)for(D.qk=l[0],D.lh=l[1],k=2;k<l.length;k+=1)switch(l[k]){case "hide":D.Hm=!0;break;case "limit":D.Qi=!0;break;default:var t=l[k];!Number.isNaN(parseFloat(t))&&
Number.isFinite(Number(t))&&(D.Wk=parseFloat(t)|0)}}}for(f=0;f<a.length;f+=1)if(l=a[f],l.className===D.qk)k=l.getElementsByTagName(D.lh)[0],b=l.getElementsByTagName("canvas")[0],(l=k.getElementsByTagName(D.lh)[0])&&(k=l),typedArrays&&b&&b.getContext?k&&(t=e(k),-1<D.Wk&&k.clientHeight>D.Wk&&(k.style.height=D.Wk+"px"),c(t,b,k.offsetWidth,!1,k)):D.Hm&&b&&(b.style.display="none");else if(typedArrays&&l.className===D.rk&&l.parentNode.className!==D.qk&&(k=l.getElementsByTagName(D.lh)[0])){t=e(k);b=null;
var F=!1,p=null;try{p=PatternManager.create("",t,d),p.Vb&&(F=!0)}catch(v){}if(t=F)b=l.getElementsByTagName("a")[0],t=document.createElement("a"),t.setAttribute("href","#"),t.innerHTML="Show in Viewer",registerEvent(t,"click",g,!1),b?(k=document.createTextNode(" / "),b.parentNode.appendChild(k),b.parentNode.appendChild(t)):k.parentNode.appendChild(t);t=!1}}var D={tagName:"LifeViewer",qk:"rle",lh:"code",Wk:37,Hm:!0,Qi:!0,rk:"codebox"},k={Up:.016,Xs:16,sp:16384,Ao:.7,Tk:1E4,Ns:"Script errors",og:-2,
mg:2,rp:2,op:4,Bo:4,jq:16.7,Dt:0,At:1,Xo:null,pp:1,lp:16,zo:3,Ng:0,Gh:1,bk:2,Og:3,dk:4,jk:5,kk:6,lk:7,mk:8,ck:9,gk:10,fk:11,ek:12,hk:13,ik:14,hm:15,up:0,wp:1,Wo:2,gp:3,kp:4,ip:5,ap:6,Ua:[0,6,2,5,3,4,1],at:"Off On History Mark1 MarkOff Mark2 Kill".split(" "),$s:"OFF ON HISTORY MARK1 MARKOFF MARK2 KILL".split(" "),gs:0,fs:160,Ap:10,$m:100,zp:20,Jo:17,vt:!1,vm:1800,ir:"LifeViewer",mn:"LifeViewer Image",lq:"LifeViewer Plugin",Sn:259,kq:"Chris Rowett",Nk:1,Kk:10,Qm:0,Zr:1,Ka:2,eh:3,tl:1.25,Dr:.99,Mk:0,
mp:10,Xf:10,Ba:.0625,xb:32,Vr:-16,Mr:-1,Rc:1,lg:60,dh:1,Nd:50,Sa:null,fontSize:18,sk:"18px Courier",Ah:"18px Arial",We:"18px Arial",Wc:"14px Arial",jl:"9px Arial",Ph:"rgb(32,255,255)",Ki:"#000000",ee:"rgb(255,96,96)",xk:"rgb(128,128,128)",Xr:64,Wr:64,Sc:480,Qr:2048,xr:80,Wh:240,Lk:2048,ng:480,jr:64,Bn:0,Wp:1,Xp:2,Tr:0,Jr:16},q={l:new Allocator,Xb:[],vn:-1,wn:function(){var a=null;-1!==this.vn&&(a=this.Xb[this.vn]);return a},st:function(){var a=0,b;for(b=0;b<this.Xb.length;b+=1){var c=this.Xb[b][1];
c.Hb&&(a+=1)}return a},ys:function(){var a,b=0;for(a=0;a<this.Xb.length;a+=1){var c=this.Xb[a][1];c.T.current=c.Jc(k.Qm,!0,c);c.g.yg(!0);b+=1}return b},ct:function(){var a,b=0;for(a=0;a<this.Xb.length;a+=1){var c=this.Xb[a][1];c.Hb&&(c.T.current=c.Jc(k.Ka,!0,c),b+=1)}return b},dt:function(a){var b,h=0;for(b=0;b<this.Xb.length;b+=1){var c=this.Xb[b][1];c!==a&&c.Hb&&(c.T.current=c.Jc(k.Ka,!0,c),h+=1)}return h}};b.prototype.vi=function(a){this.vc=this.rb=this.Fe=this.He=this.wc=this.Ge=this.De=this.ze=
this.Kc=this.Ke=this.Je=a};b.prototype.Bl=function(){this.vi(!1)};b.prototype.Sl=function(){this.vi(!0)};b.prototype.Bq=function(a){var b=a.jh.toDataURL("image/png"),h;(h=document.getElementById("screenshot"))?h.src=b:(h=window.open("",k.mn))?(h.width=a.u+20,h.height=a.s+20,h.document.open(),h.document.write('<!DOCTYPE html>\n<html>\n\t<head>\n\t\t<meta charset="UTF-8">\n\t\t<title>'+k.mn+'</title>\n\t</head>\n\t<body>\n\t\t<img width="'+a.u+'" height="'+a.s+'" src="'+b+'" alt="'+k.mn+'"/>\n\t</body>\n</html>\n'),
h.document.close(),a.g.notification.F("Image Captured",300,!0)):a.g.notification.F("Could not open Image window!",k.vm,!0)};b.prototype.El=function(a){var b=this.a.tb,h=this.a.va,c=this.a.Gc;var d=a.width;var e=a.height;var f=this.Zc,g=this.$c,p=this.a.$a,l=this.a.$a>>4,q=this.a.eb,r=d,D=e;var z=Math.round(-this.a.la/2);var x=Math.floor((this.a.la-1)/2);var w=Math.round(-this.a.sa/2);var n=Math.floor((this.a.sa-1)/2);var y=f-(this.a.width>>1),C=g-(this.a.height>>1),I=!0;-1!==this.a.bb&&(0!==this.a.la&&
(y<z||y+d-1>x)&&(I=!1),0!==this.a.sa&&(C<w||C+e-1>n)&&(I=!1),I||(this.Un=!0,0!==this.a.la?(f=Math.round(this.a.width/2)+z,r>x-z+1&&(r=x-z+1)):f=Math.round(this.a.width/2),0!==this.a.sa?(g=Math.round(this.a.height/2)+w,D>n-w+1&&(D=n-w+1)):g=Math.round(this.a.height/2)));for(e=0;e<D;e+=1){x=a.Vb[e];w=b[e+g&q];if(this.yb||-1!==this.a.v)for(z=a.od[e],n=h[e+g&q],d=0;d<r;d+=1)n[d+f&p]=z[d];for(d=0;d<r;d+=1)0!==(x[d>>4]&1<<(~d&15))&&(w[d+f>>4&l]|=1<<(~(d+f)&15))}if(c)for(e=0;e<D;e+=1)for(z=a.od[e],b=c[e+
g&q],d=0;d<r;d+=1)(h=z[d])&&(b[d+f&p]=k.Ua[h]+128)};b.prototype.Ei=function(){var a=!1;-1!==this.a.bb&&0!==this.a.la&&0!==this.a.sa&&(a=!0);return a};b.prototype.dg=function(){var a=!1;-1===this.a.bb||0!==this.a.la&&0!==this.a.sa||(a=!0);return a};b.prototype.mh=function(a,b,c){a=a[0];b&&(c.ob=a);return[a,100*a]};b.prototype.df=function(a,b,c){var h=a[0],d=0;b?(c.Cc=!0,c.a.zoom=k.Ba*Math.pow(k.xb/k.Ba,a[0])/c.a.gc):(h=Math.log(c.a.zoom*c.a.gc/k.Ba)/Math.log(k.xb/k.Ba),0>h?h=0:1<h&&(h=1));this.hb&&
!this.ib?d=c.a.zoom*c.a.gc:d=c.a.zoom;d<k.Ba?d=k.Ba:d>k.xb&&(d=k.xb);1>d&&(d=-1/d);return[h,d]};b.prototype.vq=function(a){var b=a/6E4|0;a=a%6E4/1E3;var h="";0<b&&(h=b+":",10>a&&(h+="0"));return h+=a.toFixed(2)};b.prototype.Ie=function(a,b){var h=this.a.zoom,c=this.a.I,d=this.a.D;if(this.ea){var e=this.a.Ie(this.Ra,this.u*this.Lb,this.s*this.Lb,k.Ba,k.xb,k.tl,this.Bf,this.vg,this.Mb&&this.yb,this.qf,this.hb,this.Jf,this.af,this.bf,this.Kf,this.Ve,this.Oa);e[0]/=this.Lb}else e=k.xr,this.Ta&&(e=0),
e=this.a.Ie(this.Ra,this.u,this.s-e,k.Ba,k.xb,k.tl,this.Bf,this.vg,this.Mb&&this.yb,this.qf,this.hb,this.Jf,this.af,this.bf,this.Kf,this.Ve,this.Oa);this.Oa&&!a?(this.a.zoom=(5*this.a.zoom+e[0])/6,this.a.I=(5*this.a.I+e[1])/6,this.a.D=(5*this.a.D+e[2])/6,a=this.a.zoom>h?this.a.zoom/h-1:h/this.a.zoom-1,c=this.a.I>c?this.a.I-c:c-this.a.I,d=this.a.D>d?this.a.D-d:d-this.a.D,this.Hg=a,c>this.Hg&&(this.Hg=c),d>this.Hg&&(this.Hg=d),.01>=this.Hg&&(this.a.zoom=e[0],this.a.I=e[1],this.a.D=e[2])):(this.Dg=this.a.width/
2-this.a.I,this.Eg=this.a.height/2-this.a.D,this.th=this.a.zoom,this.Cg=this.a.angle,this.mf=this.a.width/2-e[1],this.Ug=this.a.height/2-e[2],this.Zf=e[0],this.Lh=this.Cg,this.ml=WaypointConstants.Yh,b?this.Xc=0:(this.Xc=WaypointConstants.Yh,this.On()));this.Ma&&(this.Ma.current=this.df([this.a.zoom,this.a.zoom],!1,this));this.Ga&&(this.Ga.current=this.Cj([this.a.angle,this.a.angle],!1,this))};b.prototype.Dl=function(a){var b=a.width;a=a.height;-1!==this.Xd&&(b=this.Xd);-1!==this.Wd&&(a=this.Wd);
-1!==this.a.bb&&this.Se?(this.Zc=(this.a.width>>1)+this.ud,this.$c=(this.a.height>>1)+this.xd):(this.Zc=Math.round((this.a.width-b)/2)+this.ud,this.$c=Math.round((this.a.height-a)/2)+this.xd);!this.Mb&&this.a.Qc||!PatternManager.Mh||(this.Mb=this.yb=!0)};b.prototype.mj=function(a){var b=a+String();1E9<=a?b="1B+":1E8<=a?b=(a/1E6|0)+"M":1E7<=a?b=Number(a/1E6).toFixed(1)+"M":1E6<=a?b=Number(a/1E6).toFixed(2)+"M":1E5<=a&&(b=(a/1E3|0)+"K");return b};b.prototype.Dh=function(a,b){var h=this.g.wf,c=this.g.xf;
b=a+b;var d=-this.a.angle,e=Math.sin(d/180*Math.PI);d=Math.cos(d/180*Math.PI);0>b?b=0:1<b&&(b=1);a=k.Ba*Math.pow(k.xb/k.Ba,a);b=k.Ba*Math.pow(k.xb/k.Ba,b);b<k.Ba?b=k.Ba:b>k.xb&&(b=k.xb);h-=this.u/2;c-=this.s/2;h=(h-b/a*h)/b;a=(c-b/a*c)/b;this.a.I-=h*d+a*-e;this.a.D-=h*e+a*d;b=Math.log(b/k.Ba)/Math.log(k.xb/k.Ba);this.Ma.current=this.df([b,b],!0,this)};b.prototype.lt=function(a,b){a.Sd.current=a.a.i/b*100;a.Sd.j=!1;a.Nc.Fd=0};b.prototype.kt=function(a){var b=!1,h=!1,c=0;a.ta||-1===a.M||(b=!0);!a.pb&&
a.kb&&(h=!0);if(b||h){var d=!1;if(h&&b)c=a.elapsedTime/a.A.Ho(a.M);else if(h){if(b=a.A.Hr().gb)c=a.elapsedTime/b,1<c&&(d=!0)}else 0<a.M&&(c=a.a.i/a.M);1<c&&(c=1);a.Sd.current=100*c}else d=!0;(a.Sd.j=d)?a.Nc.Fd=a.w.Fd:a.Nc.Fd=0};b.prototype.er=function(){this.Ue.Jq(this.a.width/2-this.a.Eb,this.a.height/2-this.a.Fb,this.a.R,this.a.Db,this.a.u,this.a.s,this.a.nc,this.a.Qe[0])};b.prototype.Ws=function(){var a=this.w.Me-this.u/2,b=this.$c-this.a.D,c=this.Zc-this.a.I-(this.a.P?this.a.D/2:0);var d=Math.floor((this.w.qg-
this.s/2)/this.a.zoom-b);b=Math.floor(a/this.a.zoom+(this.a.P?b/2:0)-c);-1===this.w.Me||0!==this.a.Db?(this.Za.Xa="",this.Za.j=!this.sd):(a=this.a.getState(b+this.Zc,d+this.$c,this.yb&&this.Mb),b+=this.ud,d+=this.xd,-1===this.a.bb||this.Se||(b-=Math.floor((-1===this.Xd?this.Bf:this.Xd)/2),d-=Math.floor((-1===this.Wd?this.vg:this.Wd)/2)),b=-9999>b||9999<b?Number(b/1E4).toFixed(1)+"K":String(b),d=-9999>d||9999<d?Number(d/1E4).toFixed(1)+"K":String(d),this.Za.Xa=b+","+d+"="+a,this.Za.j=!1);this.Za.enabled=
this.sd||this.T.current===k.Ka&&-1!==this.w.Me?this.C||this.za||0===this.Bf?!1:!0:!1};b.prototype.ss=function(a){if(!this.Ta)if(0<this.C)0<a?this.hl(this,3):this.gl(this,3);else if(0<this.za)0<a?this.fl(this,3):this.el(this,3);else if(!this.lb){var b=this.Ma.current[0];0>a?this.Dh(b,-.05):this.Dh(b,.05)}};b.prototype.rt=function(a,b){var h=b.A.current;var c=!1,d=!1,e=!1,f=!1,m=!1,g;b.lb=!1;b.Lm&&(b.Lm=!1,a=0);b.Mb||b.kt(b);b.J=b.Ya.current[0];b.T.current!==k.Ka?(a>k.Jo&&(a=k.Jo,d=!0),!b.Hb||b.kb&&
!b.pb||(b.Ne+=b.J*b.pc*a/1E3,b.Ra+=b.pc*a/1E3,(b.Ra|0)>b.a.i?(b.Ra+=b.J-1,b.pe=!0):b.elapsedTime+=a)):b.pe&&(m=!0,b.Ra=b.tn?b.a.i+1:b.a.i+b.J,b.Ne=b.Ra);b.Pn();b.kb&&!b.pb&&b.T.current!==k.Ka?(b.Cc&&!b.A.Xl(b.elapsedTime+a)&&(b.Cc=!1,b.elapsedTime=b.A.uo(b.a.width/2-b.a.I,b.a.height/2-b.a.D,b.a.zoom,b.a.angle,b.a.m,b.a.vb*k.Xf,b.a.Id,b.pc,b.J,b.a.i,b.elapsedTime)),h.cc&&(b.Ie(!0,!1),b.Cc=!1,h.x=b.a.width/2-b.a.I,h.y=b.a.height/2-b.a.D,b.ea&&(b.a.zoom*=b.Lb),h.zoom=b.a.zoom),(e=b.A.update(b.elapsedTime+
a,b.a.i))?(h.cc&&(h.cc=!1,b.ea&&(b.a.zoom=h.zoom/b.Lb),b.Ma&&(b.Ma.current=b.df([b.a.zoom,b.a.zoom],!1,b))),b.Ra+=b.pc*a/1E3,(b.Ra|0)>b.a.i&&(b.Ra+=b.J-1,b.pe=!0)):(b.T.current!==k.Ka&&(b.lb=!0),b.a.I=b.a.width/2-h.x,b.a.D=b.a.height/2-h.y,b.a.zoom=h.zoom,b.ea&&(b.a.zoom=b.a.zoom/b.Lb),b.Ma&&(b.Ma.current=b.df([b.a.zoom,b.a.zoom],!1,b)),b.a.angle=h.angle,b.Ga&&(b.Ga.current=[b.a.angle,b.a.angle]),b.a.m=h.m,b.nb&&(b.nb.current=[b.a.m,b.a.m]),b.a.vb=h.depth/k.Xf+k.Mk,b.Qa&&(b.Qa.current=[Math.sqrt(b.a.vb),
b.a.vb*k.Xf]),b.pc=h.Ja,b.fa&&(b.fa.current=[Math.sqrt((h.Ja-k.Rc)/(k.lg-k.Rc)),b.Lo(h.Ja)]),b.J=h.step,b.Ya.current=[b.J,b.J],h.ua>b.a.i?(b.pe=!0,b.Ra=h.ua):b.pe=!1,h.hc!==b.Gk&&(""===h.hc?b.g.notification.clear(!1,!1):b.g.notification.F(h.hc,1E3,!1),b.Gk=h.hc),h.Fa!==b.Om&&(b.a.zg(h.Fa,b.a.oo),b.Bb&&(b.Bb.current=[h.Fa,h.Fa]),b.Om=h.Fa)),b.pe||(b.elapsedTime+=a)):b.Oa&&b.T.current!==k.Ka&&(b.lb=!0);b.lb&&(b.Xc=-1);h=0;if(b.pe){if(b.ba){var l=performance.now();var q=(b.Ra|0)-b.a.i;for(g=0;!f&&b.a.i<
(b.Ra|0);){h=performance.now()-l;if(b.a.i===b.Ea-1||h>k.jq&&!m)f=!0;b.sd&&(b.a.i===(b.Ra|0)-1||f)?b.a.fh(!0,b.Qd,b.ke):b.a.fh(!1,b.Qd,b.ke);g+=1;if(b.a.bq||b.a.i===(b.Ra|0)||f)b.ba=b.a.Fh();b.Ks(a,b.J);-1!==b.M&&b.a.i>=b.M&&!b.ta&&(b.elapsedTime=0,b.reset(b),e&&(b.lb=!0));b.ba||(f=!0)}b.ba||(b.xm=k.jr,b.nm=b.a.i,b.Gi&&(-1===b.M||b.ta)&&b.g.notification.F("Life ended at generation "+b.nm,600,!0));b.Ra-=q-g}else b.xm&&(--b.xm,a=b.a.i,b.a.i=b.nm,b.a.Fh(),b.a.i=a),b.a.i+=b.J,-1!==b.M&&b.a.i>=b.M&&!b.ta&&
(b.elapsedTime=0,b.reset(b),e&&(b.lb=!0));b.a.i===b.Ea&&(b.T.current=b.Jc(k.Ka,!0,b),b.Gi&&b.g.notification.F("STOP reached - Play to continue ",180,!0))}b.gf.locked=b.lb&&b.kb;b.Vg.locked=b.lb||b.Oa;b.fa.locked=b.lb&&b.kb;b.Ya.locked=b.lb&&b.kb;b.Bb.locked=b.lb&&b.kb;b.Ma.locked=b.lb;b.Ga.locked=b.lb;b.nb.locked=b.lb&&b.kb;b.Qa.locked=b.lb&&b.kb;b.wheelDelta&&(b.ss(b.wheelDelta),b.wheelDelta=0);b.Oa&&(b.T.current!==k.Ka||b.kb)&&b.Ie(!1,!1);b.a.ws();b.sh&&b.er();b.a.pm();b.kj&&(2===b.kj&&b.a.Fo(b.Rd,
1,!0,b.ea),b.Bq(b),2===b.kj&&b.a.pm(),b.kj=0);b.a.i&&b.ba&&b.a.Dq(k.Nd)&&(b.Ub+=b.a.width>>2,b.Kh+=b.a.height>>2,b.Qb+=b.a.width>>2,b.ph+=b.a.height>>2,b.a.P&&(b.Ub-=b.a.height>>3,b.Qb-=b.a.height>>3));b.Pb&&b.a.Fo(b.Rd,b.ob,!1,b.ea);b.C?Help.Eo(b):b.Rb.length&&Help.Do(b);b.Nc.lower[0]=b.vk?"+ "+b.mj(b.a.i):"T "+b.mj(b.a.i+b.uk);b.Tg.Xa=b.vq(b.elapsedTime);b.wg.Xa=b.mj(b.a.zb);b.Ei()?b.Ae.Xa=(100*b.a.zb/(b.a.sa*b.a.la)|0)+"%":(b.Ae.Xa=b.mj(b.a.xc),b.Vf.Xa=b.mj(b.a.zc));b.wg.G="alive "+b.a.zb;b.Ei()?
b.Ae.G="density "+(100*b.a.zb/(b.a.sa*b.a.la)|0)+"%":(b.Ae.G="births "+b.a.xc,b.Vf.G="deaths "+b.a.zc);h>k.jq&&!m?(b.Pe+=k.zp,b.Pe>=2*k.$m&&(b.Pe=0)):0<b.Pe&&(b.Pe-=k.zp);d&&!m?b.Cf<k.fs&&(b.Cf+=k.Ap):b.Cf>k.gs&&(b.Cf-=k.Ap);d=b.Pe<k.$m?"rgb("+b.Cf+","+b.Pe+",0)":"rgb("+b.Cf+","+(2*k.$m-b.Pe)+",0)";b.Ya.ce=d;d="rgb("+b.Cf+",0,0)";b.fa.ce=d;b.pe=!1;b.tn=!1;b.Ws();-1!==b.Xc&&b.On();if(b.Hb||b.Oa&&b.Hg>b.xq||-1!==b.Xc)c=!0;b.gt();b.mt();b.ht();b.nt(b.C||b.Rb.length);b.g.yg(c)};b.prototype.Pn=function(){if(this.hb&&
!this.ib){this.a.Uc=this.Ne*(this.af+this.Kf)/2;this.a.Fc=this.Ne*(this.Jf+this.bf)/2;var a=this.a.oq(0,this.Jf,this.af,this.bf,this.Kf,this.u,this.s-80,k.Ba,k.xb,k.tl);var b=this.a.oq(this.Ne,this.Jf,this.af,this.bf,this.Kf,this.u,this.s-80,k.Ba,k.xb,k.tl);this.a.gc=b/a}else this.a.Uc=0,this.a.Fc=0,this.a.gc=1;this.Ma.current=this.df([this.a.zoom,this.a.zoom],!1,this)};b.prototype.nt=function(a){this.gf.j=a;this.Ma.j=a||this.Pb;this.Vg.j=a;this.Yg.j=a;this.zd.j=a||this.Pb;this.ad.j=a||this.Pb;this.na.j=
a||this.Pb;this.ig.j=a||this.Pb;this.Bd.j=a||!this.Pb;this.ni.j=a||!this.Pb;this.Sh.j=a||!this.Pb;this.Dd.j=a;this.Tg.j=a;this.Cd.j=a;this.wg.j=a;this.ya.j=a||this.dg();this.Ae.j=a||this.dg();this.Ad.j=a||this.Ei()||this.dg();this.Vf.j=a||this.Ei()||this.dg();this.sb.j=a;this.Ga.j=a||this.a.P;this.Qa.j=a;this.Bb.j=a;this.nb.j=a;this.Vg.j=a;this.tf.j=a||!this.Hf;this.cg.j=a||!this.Pc;this.Wg.j=a;this.ve.j=a||!this.ja;this.kc.j=a||!this.ja;this.xe.j=a||!this.ja;this.lc.j=a||!this.ja;this.we.j=a||!this.ja;
this.Nb.j=a||!this.ja;this.oi.j=a||!this.ja;this.eg.j=a||!this.ja;this.sg.j=a||!this.ja;this.tg.j=a||!this.ja;this.jg.j=a||!this.ja;this.Sb.j=a||!this.ja;this.$b.j=a||!this.ja;this.jc.j=a||!this.ja;this.Tb.j=a||!this.ja};b.prototype.ht=function(){var a=-(this.a.width/2-this.a.I-this.a.Uc|0),b=-(this.a.height/2-this.a.D-this.a.Fc|0),c=String(a),d=String(b);this.ve.j=!this.ja;this.kc.j=!this.ja;this.xe.j=!this.ja;this.lc.j=!this.ja;this.we.j=!this.ja;this.Nb.j=!this.ja;this.oi.j=!this.ja;this.eg.j=
!this.ja;this.sg.j=!this.ja;this.tg.j=!this.ja;this.jg.j=!this.ja;this.Sb.j=!this.ja;this.$b.j=!this.ja;this.Tb.j=!this.ja;this.jc.j=!this.ja;if(-99999>a||99999<a)c=(a/1E3|0)+"K";if(-99999>b||99999<b)d=(b/1E3|0)+"K";this.kc.Xa=c;this.lc.Xa=d;this.Nb.Xa=this.a.angle.toFixed(0)+"\u00b0";this.Sb.Xa=this.Yj.toFixed(3);this.$b.Xa=this.$j.toFixed(3);this.jc.Xa=this.ak.toFixed(3);this.Tb.Xa=this.Zj.toFixed(3)};b.prototype.mt=function(){0===this.a.i?this.ak=this.Yj=this.$j=this.Zj=0:(this.$j=(this.a.H.Z-
this.a.qc.Z)/this.a.i,this.Zj=(this.a.H.V-this.a.qc.V)/this.a.i,this.Yj=(this.a.H.Y-this.a.qc.Y)/this.a.i,this.ak=(this.a.H.X-this.a.qc.X)/this.a.i)};b.prototype.gt=function(){this.gf.current=[this.Oa];this.zd.current=[!this.Sf&&this.Mc];this.zd.locked=!this.Mc;this.hb?(this.na.lower[0]="TRACK",this.na.current=[!this.ib&&this.hb],this.na.locked=!this.hb,this.na.G=["toggle track mode"]):(this.na.lower[0]="WAYPT",this.na.current=[!this.pb&&this.kb],this.na.locked=!this.kb,this.na.G=["toggle waypoint mode"]);
this.ig.current=[!this.ta&&-1!==this.M];this.ig.locked=-1===this.M;this.ig.G=["loop at "+this.M];this.ad.current=[-1!==this.Ea];this.ad.locked=-1===this.Ea;this.ad.G=["stop at "+this.Ea]};b.prototype.Ks=function(a,b){if(this.a.i>=this.Cb.length){var h=this.a.l.ga(Float32,this.Cb.length+k.sp,"View.elapsedTimes");h.set(this.Cb);this.Cb=h}this.elapsedTime+=a/b;this.Cb[this.a.i]=this.elapsedTime};b.prototype.qt=function(a){for(var b=a.fm,h=performance.now(),c,d=a.a.Ic.Nr*LifeConstants.nj;a.a.i<b-1&&13>
performance.now()-h;)c=b-1-a.a.i<=d?!1:!0,a.a.fh(!1,0,c),a.a.Fh();a.a.i===b-1?(a.a.fh(a.sd,0,!1),a.ba=a.a.Fh(),a.Lg=!1,a.em&&a.g.notification.clear(!0,!1),a.w.locked=!1):a.w.locked=!0;a.lt(a,b);a.a.pm();a.C?Help.Eo(a):a.Rb.length&&Help.Do(a);a.g.yg(!0)};b.prototype.ym=function(a,b){b.Lg?b.qt(b):b.rt(a,b)};b.prototype.Tn=function(a){a.a.i=0;a.Ra=0;a.Ne=0;a.elapsedTime=0;a.a.I=a.a.width>>1;a.a.D=a.a.height>>1;a.a.I&=a.a.width-1;a.a.D&=a.a.height-1;a.ba=!0;a.Lm=!0};b.prototype.Dj=function(a,b,c){b&&
(c.g.rh=a[0]);c.g.yg(!0);return[c.g.rh]};b.prototype.ql=function(a,b,c){b?(b=a[0]+.5|0,c.a.Id!==b&&(c.a.zg(b,c.a.oo),c.Uf&&b===c.a.rc?c.g.notification.F("Custom Theme",40,!0):c.g.notification.F("Theme "+b,40,!0)),a=a[0]):a=c.a.Id;return[a,c.a.Id]};b.prototype.Gg=function(a,b,c){b&&(c.J=a[0]+.5|0);return[c.J,c.J]};b.prototype.Lo=function(a){return(10>a.toFixed(1)?a.toFixed(1):a.toFixed(0))+"/s"};b.prototype.cf=function(a,b,c){b?(c.pc=k.Rc+a[0]*a[0]*(k.lg-k.Rc),a=a[0]):a=Math.sqrt((c.pc-k.Rc)/(k.lg-
k.Rc));return[a,c.Lo(c.pc)]};b.prototype.Np=function(a){a.ci=a.a.zoom;a.ea&&(a.ci=a.ci*a.Lb);a.ln=a.a.angle;a.Qb=a.a.I;a.ph=a.a.D};b.prototype.Es=function(a){a.Dg=a.a.width/2-a.a.I;a.Eg=a.a.height/2-a.a.D;a.th=a.a.zoom;a.Cg=a.a.angle;a.mf=a.a.width/2-a.Qb;a.Ug=a.a.height/2-a.ph;a.Lh=a.ln;a.ea?a.Zf=a.ci/a.Lb:a.Zf=a.ci;a.Xc=0};b.prototype.As=function(a,b){a.a.zoom=a.Co;a.ea&&(a.a.zoom=a.a.zoom/a.Lb);a.Ma&&(a.Ma.current=a.df([a.a.zoom,a.a.zoom],!1,a));a.a.angle=a.Hh;a.Ga&&(a.Ga.current=[a.Hh,a.Hh]);
a.a.I=a.Ub;a.a.D=a.Kh;b&&(a.a.zg(a.Qg,1),a.Bb.current=[a.Qg,a.Qg],a.yb&&(a.a.Jg=0),b=Math.sqrt((a.lm-k.Rc)/(k.lg-k.Rc)),a.fa.current=a.cf([b,b],!0,a),a.J=a.nk,a.Ya.current=[a.J,a.J],a.a.m=a.Jh,a.nb.current=[a.Jh,a.Jh],b=Math.sqrt(a.km),a.Qa.current=a.Lf([b,b],!0,a))};b.prototype.Ul=function(a){a?(this.a.I+=this.a.Uc,this.a.D+=this.a.Fc,this.a.zoom*=this.a.gc):(this.Pn(),this.a.I-=this.a.Uc,this.a.D-=this.a.Fc,this.a.zoom/=this.a.gc,this.Pn());this.a.zoom<k.Ba?this.a.zoom=k.Ba:this.a.zoom>k.xb&&(this.a.zoom=
k.xb)};b.prototype.Ip=function(a){a.elapsedTime=0;a.yb||(a.a.dl(a.Qd),a.ba=!0,a.a.ba=!0,a.a.Oc=!0,a.a.jn())};b.prototype.reset=function(a){var b=!1,c=!1;if(0===a.elapsedTime||a.Ck)b=!0;a.ta||-1===a.M||a.a.i>=a.M&&(c=!0);c||b||(a.kb&&(a.pb=!0),a.hb&&(a.ib=!0),-1!==a.M&&(a.ta=!0),a.Sj&&(a.Oa=!1));a.elapsedTime=0;a.a.Uc=0;a.a.Fc=0;a.a.gc=1;b&&(c||a.As(a,b),a.kb&&(a.pb=!1),a.hb&&(a.ib=!1),a.ta=!1,a.Sj&&(a.Oa=!0));a.yb||(a.a.dl(a.Qd),a.Ra=a.a.i,a.Ne=a.Ra,a.ba=!0,a.a.ba=!0,a.a.Oc=!0);a.a.Jp();a.a.jn();
a.Gk="";a.Om=-1;a.Cc=!1;a.A.Cs();a.g.notification.clear(!1,!1)};b.prototype.Qp=function(a){a?(this.T.icon[2]=k.Sa.icon("pause"),this.T.G[2]="pause"):(this.T.icon[2]=k.Sa.icon("stepforward"),this.T.G[2]="next generation")};b.prototype.Jc=function(a,b,c){var h=a,d=c.ta,e=c.pb,f=c.Sf,u=c.Oa,m=c.ib,g=40,l=0,r=0,q=0,z=0,x=0;if(b){switch(a){case k.Qm:c.Sf=c.Ck||c.Mc&&0===c.a.i&&0===c.elapsedTime?!1:!0;c.Mc&&!c.Sf?(a=k.eh,c.Hb=!0):(a=k.Ka,c.Hb=!1);c.reset(c);b="Reset";!c.ta&&d&&-1!==c.M&&(l=1);c.ta&&!d&&
-1!==c.M&&(l=-1);!u&&c.Oa&&(x=1);u&&!c.Oa&&(x=-1);!c.pb&&e&&(r=1);c.pb&&!e&&(r=-1);!c.ib&&m&&(q=1);c.ib&&!m&&(q=-1);!c.Sf&&f&&c.Mc&&(z=1);c.Sf&&!f&&c.Mc&&(z=-1);if(0!==l||0!==r||0!==q||0!==z||0!==x){b="";0!==l&&(b+="Loop");if(0!==r||0!==q||0!==x)0!==l&&(b=0!==z?b+", ":b+" and "),b=0!==r?b+"Waypoints":0!==q?b+"Track":b+"AutoFit";if(0!==z){if(0!==l||0!==r||0!==q||0!==x)b+=" and ";b+="AutoStart"}b=0<l||0<r||0<q||0<z||0<x?b+" On":b+" Off";g=120}c.g.notification.F(b,g,!0);break;case k.eh:c.T.current!==
k.eh&&(c.Hb=!0,c.g.notification.F("Play",40,!0));break;case k.Zr:c.Hb?(c.Hb=!1,c.g.notification.F("Pause",40,!0)):0<c.a.i&&c.hj(c.a.i-c.J);a=k.Ka;break;case k.Ka:c.Hb?(c.Hb=!1,(c.a.i!==c.Ea||c.Gi)&&c.g.notification.F("Pause",40,!0)):c.pe=!0}h=a;c.Qp(c.Hb)}return h};b.prototype.Cj=function(a,b,c){b&&(c.Cc=!0,c.a.angle=a[0]);return[c.a.angle,c.a.angle]};b.prototype.Ej=function(a,b,c){b?(c.Cc=!0,c.a.m=a[0]+.5|0,a=a[0]):a=c.a.m;return[a,c.a.m]};b.prototype.Lf=function(a,b,c){return b?(c.Cc=!0,c.a.vb=
a[0]*a[0],[a[0],c.a.vb*k.Xf]):[Math.sqrt(c.a.vb),c.a.vb*k.Xf]};b.prototype.Nj=function(a,b,c,d){if(c){if(-1!==d.Rh)if(d.C){var h=d.ah-b;h/=k.fontSize;0<h?d.gl(d,h):0>h&&d.hl(d,-h)}else if(d.za)h=d.ah-b,h/=k.fontSize,0<h?d.el(d,h):0>h&&d.fl(d,-h);else{c=(d.Rh-a)/d.a.R;h=(d.ah-b)/d.a.R;var e=d.a.P?0:-d.a.angle;var f=Math.sin(e/180*Math.PI);e=Math.cos(e/180*Math.PI);d.lb||(d.Cc=!0,d.a.I+=c*e+h*-f,d.a.D+=c*f+h*e)}d.Rh=a;d.ah=b}else d.Rh=-1,d.ah=-1};b.prototype.rg=function(a,b){8>this.a.zoom&&(0>a?a=-8:
0<a&&(a=8),0>b?b=-8:0<b&&(b=8));this.ah=this.Rh=0;this.Nj(a,b,!0,this);this.ah=this.Rh=-1};b.prototype.Fl=function(a){var b=k.Xo;null===b&&(b=new Image,b.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAjAAAAAoCAMAAADXNTCCAAAAb1BMVEUAAAAAADoAAGYAAP8AOpAAZrYAZv8IAAAIAP8IkNsIkP8NAAANADoNAGYNAP8NZrYNtv8TOgATOmYTOv8T2/8XZgAXZmYXZv8XtrYXttsX//8bkDob//8gtmYgtv8g25Ag/7Yg/9sg//9wcHD///8u+qFBAAAAAXRSTlMAQObYZgAABDJJREFUeAHsmYl28jYQhdUU/5Quf02Dm5alRKP7/s9Y5VohwkeZeEC49OB7ghHWMDORPmsR7j/QrFmzgvJ+57npOc4CpdeOt6sPDKqYzMBUBGaEhcGuemeAF72uMjAKh7Pg8KWBxa46MHQLvWo6YGaBf3q9xa4yMHpo1kwKzCzwpVdb7KoDQ8dQKiYFZhZ40WstdrWBoQDD/emBMRgjqfR5YGYPY2hMJCn5Afb/F2a7MEq1tnGpziBDfrAAAuBWwChB5HMpGYwGBvM5jCU/6P1eaOj6wOghROzEwACMgZgZGPMIQ90OGKAKMLABU4mYGRj/WUPjNsAAdYCBFRjc4px4ImAw0H0CA9QGRnFu5sUODP7HwCgfJwbG6zTXBUZ3bREuAQYzMDcHBqgHTMVhFUZglJgr2dUF5ptEHZfvHfC0ff2FhZAKvOfX8W2x552BnR0Yfluo7sltJSUQ1cbSzp6fg4EXh6HqAAPUAwZGYJSgP2zYtpna7kJgArWRXs8haSvf88IkwCRiWpZ2pvwqAANcDwxQERhYgVGiLvZ/+fU5QJ27QiuR9ZtXOWRD/RQjTPr2k2NpsffrPswqfyBClt9wOnr7YigFgM6LQ0nXAZOpwqIXlwFTNlv5P7aH1ODx8uumfzhXfDLVUaXgjSg8u6jmuAyx/LdE99FzxFBeysAwVNdnEF+/ixTAQV4aAQy5jzeH/0NI+YWYn8vyC8yvDAwAKzBUZWAu31bjOmAwmJGOy7ZnJQemZdyDERgycPzpo3NE5PW36PmNF8lIYE26k6aNBEyaTS6dkg5nIwx9d2fApPwIRiG/EjAe3ue8PDYwi/3BNdIlYPq269jc8SKdGZhGYoew/V+/8wGnU/r7VgQm9uCSNv2L5BTinq74Cph8DcNE8hk36PmVgPG8eCswzt0NMFWnpFXfzgNgGg4urewuG2FSh3DioVP6+7E4JTVC+fU7NIx71RomHx0j9fkUFwb5hfP8CsD4/J2XO1n0juGl/qL3NBbXAYZP+kvfUTZgpBsFDMauYXKEsyEmMD+CMwaYHBHvHfjpobfVnBBcKx3ngRXXFGlK4uWyXRJhy4Ghq5+lBMxppzRiSqIMwDTC6S4HJuUXUn5hkN8QGK/+TP14B3fp1K6Rw8eytM0WvVr0r85h/glhK8/peCPdLJ3DtGnFMVj01gAmd2fKLwWA18M+4E8DG3Zc/5CJ/BnfXUNs8m21Coxy0nsaYfRtdUvzwba6CjAMS15s+aUA+LedM7YBEIiB2C6w/46UqQjIEjKFvcAX7y53t/6RcHyE+MfHXRh+S5pv929J+zNevIEn7sR4gyCMHm9YKEDlC8OxhCmiWeJuRw6BE2EKgfvCeDWT457f10yAMEbNhAsTnxTZzldYRTbQS4qqslVlK+MnjD/30dzHEw0KDQ0KRZNlCSPQKCIn4gKh3CRFwGJehgAAAABJRU5ErkJggg==",
k.Xo=b);a=new IconManager(b,a);a.add("play",40,40);a.add("pause",40,40);a.add("tostart",40,40);a.add("menu",40,40);a.add("stepback",40,40);a.add("stepforward",40,40);a.add("autofit",40,40);a.add("fit",40,40);a.add("grid",40,40);a.add("help",40,40);a.add("shrink",40,40);a.add("fps",40,40);a.add("hexgrid",40,40);a.add("lines",40,40);return a};b.prototype.iq=function(){this.Yg.icon=this.a.P?[k.Sa.icon("hexgrid")]:[k.Sa.icon("grid")]};b.prototype.Oj=function(a,b){a.g.hasFocus&&(a.Lg||(b.wheelDelta?a.wheelDelta=
b.wheelDelta/120:b.detail&&(a.wheelDelta=-b.detail/3),a.g.yg(!0)),b.preventDefault())};b.prototype.On=function(){var a=this.A.co(this.Xc/this.ml),b=this.Cg,c=this.Lh;this.a.I=this.a.width/2-(this.Dg+a*(this.mf-this.Dg));this.a.D=this.a.height/2-(this.Eg+a*(this.Ug-this.Eg));this.a.zoom=this.th*Math.pow(this.Zf/this.th,a);180<c-b?b+=360:-180>c-b&&(c+=360);this.a.angle=(b+a*(c-b))%360;this.pk&&(this.a.vb=this.xn+a*(this.sm-this.xn),this.Qa.current=this.Lf([this.a.vb,this.a.vb],!1,this));this.Hk&&(this.a.m=
this.yn+a*(this.tm-this.yn),this.nb.current=this.Ej([this.a.m,this.a.m],!1,this));this.Xc+=1;this.Xc>this.ml&&(this.Xc=-1,this.a.zoom=this.Zf,this.a.angle=c,this.a.I=this.a.width/2-this.mf,this.a.D=this.a.height/2-this.Ug,this.pk&&(this.a.vb=this.sm,this.Qa.current=this.Lf([this.a.vb,this.a.vb],!1,this)),this.Hk&&(this.a.m=this.tm,this.nb.current=this.Ej([this.a.m,this.a.m],!1,this)));this.Ma&&(this.Ma.current=this.df([this.a.zoom,this.a.zoom],!1,this));this.Ga&&(this.Ga.current=this.Cj([this.a.angle,
this.a.angle],!1,this))};b.prototype.Pp=function(a,b){var c=a.A.Da[b];a.Dg=a.a.width/2-a.a.I;a.Eg=a.a.height/2-a.a.D;a.th=a.a.zoom;a.Cg=a.a.angle;c.Zd?a.mf=c.x:a.mf=a.Dg;c.vd?a.Ug=c.y:a.Ug=a.Eg;c.ic?a.Zf=c.zoom:a.Zf=a.th;c.ff?a.Lh=c.angle:a.Lh=a.Cg;a.a.P&&(a.mf+=a.a.D/2);a.pk=c.kf;a.pk&&(a.xn=a.a.vb,a.sm=c.depth/k.Xf);a.Hk=c.uf;a.Hk&&(a.yn=a.a.m,a.tm=c.m);a.Xc=0;a.ml=c.Re;a.On();c.oh&&a.Ip(a);c.Tc===WaypointConstants.play?a.T.current=a.Jc(k.eh,!0,a):c.Tc===WaypointConstants.stop&&a.T.current!==k.Ka&&
(a.T.current=a.Jc(k.Ka,!0,a));c.te&&(a.Bb.current=a.ql([c.Fa,c.Fa],!0,a));a.g.notification.F("POI "+(b+1),60,!0);""!==c.hc?a.g.notification.F(c.hc,180,!1):a.g.notification.clear(!1,!0);c.Fg&&(a.Ea=c.Ea);c.hg&&(a.M=c.M);c.nf&&(a.pc=Math.sqrt((c.Ja-k.Rc)/(k.lg-k.Rc)),a.fa.current=a.cf([a.pc,a.pc],!0,a));c.Ef&&(a.J=c.step,a.Ya.current=a.Gg([a.J,a.J],!0,a));c.qj&&(a.a.i>c.ua&&a.Ip(a),a.a.i<c.ua&&(a.Lg=!0,a.fm=c.ua,a.em=!1));c.zk&&(a.a.Gb=c.Ib);c.kl&&(this.sh=c.Bg)};b.prototype.de=function(a,b,c){var d=
b/a.a.gc;c&&(b=1<=b?Math.round(b):1/Math.round(1/b),d=b/a.a.gc);a.lb||(a.Dg=a.a.width/2-a.a.I,a.Eg=a.a.height/2-a.a.D,a.th=a.a.zoom,a.Cg=a.a.angle,a.mf=a.Dg,a.Ug=a.Eg,a.Zf=d,a.Lh=a.Cg,a.Xc=0)};b.prototype.Ol=function(a){a.Pb=!1};b.prototype.Cl=function(){a()};b.prototype.ul=function(a){a.Fn();a.C&&(a.C=0);a.resize();a.Pd.current[0]=!1;a.g.wh=!0};b.prototype.Hl=function(a){a.Ie(!0,!0);a.T.current===k.Ka&&(a.Cc=!0)};b.prototype.fq=function(a,b,c){b&&(c.a.Gb=a[0],c.g.notification.F("Grid Lines "+(c.a.Gb?
"On":"Off"),40,!0));return[c.a.Gb]};b.prototype.gq=function(a,b,c){b&&(c.Rd=a[0]);return[c.Rd]};b.prototype.eq=function(a,b,c){b&&(c.Oa=a[0],c.g.notification.F("AutoFit "+(c.Oa?"On":"Off"),40,!0),c.Oa&&c.T.current===k.Ka&&c.Ie(!0,!0));return[c.Oa]};b.prototype.Tl=function(a,b,c){b&&-1!==c.M&&(c.ta=!a[0],c.kb?(c.pb=c.ta,c.g.notification.F("Loop and Waypoints "+(c.ta?"Off":"On"),40,!0)):c.hb?(c.ib=c.ta,c.g.notification.F("Loop and Track "+(c.ta?"Off":"On"),40,!0),c.Ul(c.ib)):c.g.notification.F("Loop "+
(c.ta?"Off":"On"),40,!0));return[c.ta]};b.prototype.Yl=function(a,b,c){b&&(c.hb?(c.ib=!a[0],c.Ul(c.ib),-1!==c.M?(c.ta=c.ib,c.g.notification.F("Loop and Track "+(c.ta?"Off":"On"),40,!0)):c.g.notification.F("Track "+(c.ib?"Off":"On"),40,!0)):c.kb&&(c.pb=!a[0],-1!==c.M?(c.ta=c.pb,c.g.notification.F("Loop and Waypoints "+(c.ta?"Off":"On"),40,!0)):c.g.notification.F("Waypoints "+(c.pb?"Off":"On"),40,!0)));return c.hb?[c.ib]:[c.pb]};b.prototype.wj=function(a,b,c){b&&(c.C=a[0]);return[c.C]};b.prototype.pl=
function(a,b,c){b&&(c.sd=a[0],c.sd&&(c.ba?0===c.a.i?(c.a.zb=c.a.cl.zb,c.a.xc=c.a.cl.xc,c.a.zc=c.a.cl.zc):-1===c.a.v&&(--c.a.i,c.a.fh(!0,c.Qd,c.ke)):(c.a.zb=0,c.a.xc=0,c.a.zc=0)));c.g.yg(!0);return[c.sd]};b.prototype.fl=function(a,b){1<a.za&&(a.za-=b,1>a.za&&(a.za=1))};b.prototype.el=function(a,b){a.za<a.Rb.length-a.fb+1&&(a.za+=b,a.za>a.Rb.length-a.fb+1&&(a.za=a.Rb.length-a.fb+1))};b.prototype.hl=function(a,b){1<a.C&&(a.C-=b,1>a.C&&(a.C=1))};b.prototype.gl=function(a,b){a.C<a.Xh-a.fb&&(a.C+=b,a.C>
a.Xh-a.fb&&(a.C=a.Xh-a.fb))};b.prototype.ps=function(a){for(var b=a.Zg.length-1,c=!1;0<=b&&!c;)a.C<=a.Zg[b]?--b:c=!0;c&&(a.C=a.Zg[b])};b.prototype.cs=function(a){for(var b=0,c=!1;b<a.Zg.length&&!c;)a.C>=a.Zg[b]?b+=1:c=!0;c&&(a.C=a.Zg[b])};b.prototype.hj=function(a){this.Qd?this.g.notification.F("Step back disabled",40,!0):(0>a&&(a=0),this.elapsedTime=this.Cb[a],this.Ne=this.Ra=a,this.ba=this.a.hj(a,this.sd,this.ke),this.A.bt(this.elapsedTime),this.Cc=!0,a!==this.a.i&&(this.Lg=!0,this.fm=a,this.a.dl(!1),
this.g.notification.F("Computing previous generations",1E4,!0),this.em=!0))};b.prototype.so=function(a,b){var c=document.createElement("textarea");c.innerHTML=b;document.body.appendChild(c);c.select();try{document.execCommand("copy")}catch(E){}document.body.removeChild(c);a.Ld.canvas.focus()};b.prototype.qo=function(a,b){var c="#C "+Keywords.di+" ",d=String(-(a.a.width/2-a.a.I-a.a.Uc|0)),e=String(-(a.a.height/2-a.a.D-a.a.Fc|0)),h=a.a.zoom,f=a.a.angle|0;0!==a.a.i&&(c+=Keywords.pj+a.a.i+" ");c+=Keywords.Yb+
" "+d+" "+Keywords.Zb+" "+e+" ";c+=Keywords.qb+" "+(h===(h|0)?String(h):String(h.toFixed(2)))+" ";c+=Keywords.Rf+" "+f+" ";c+=Keywords.lj+"\n";b&&(c+="#C "+Keywords.di+" ",c+=Keywords.Gf+" "+a.a.Id+" ",c+=Keywords.pi+" "+a.u+" ",c+=Keywords.Oh+" "+a.s+" ",c+=Keywords.lj+"\n");a.so(a,c)};b.prototype.ro=function(a){a.so(a,e(a.element))};b.prototype.qs=function(b,c,d){var e=!0;if(b.Ta)b.Ok||85!=c||(b.Ta=!b.Ta,b.w.j=b.Ta,b.g.Ta=b.Ta);else{if(d.ctrlKey&&67!==c||d.metaKey)d.ctrlKey&&82===c||(c=-1);if(d.altKey){if(49<=
c&&57>=c)c-=49,0<=c&&c<b.A.Da.length&&(b.fd=c,b.Pp(b,b.fd));else switch(c){case 67:c=b.Qg,b.Bb.current=b.ql([c,c],!0,b)}c=-2}switch(c){case 191:case 111:d.shiftKey?b.a.Vk!==b.a.P&&(b.a.P?(b.a.I+=b.a.D/2,b.Ub+=b.a.D/2,b.Qb+=b.a.D/2,b.a.P=!1):(b.a.I-=b.a.D/2,b.Ub-=b.a.D/2,b.Qb-=b.a.D/2,b.a.P=!0)):b.a.P?(b.a.I+=b.a.D/2,b.Ub+=b.a.D/2,b.Qb+=b.a.D/2,b.a.P=!1):(b.a.I-=b.a.D/2,b.Ub-=b.a.D/2,b.Qb-=b.a.D/2,b.a.P=!0);b.g.notification.F("Hex Display "+(b.a.P?"On":"Off"),40,!0);b.iq();b.Ga.j=b.a.P;break;case 66:b.Mb||
(b.T.current===k.Ka?0<b.a.i&&b.hj(b.a.i-1):b.T.current=b.Jc(k.Ka,!0,b));break;case 13:b.Mb||(b.T.current=b.T.current===k.eh?b.Jc(k.Ka,!0,b):b.Jc(k.eh,!0,b));break;case 9:b.Mb||(b.Hb?b.T.current=b.Jc(k.Ka,!0,b):d.shiftKey?0<b.a.i&&b.hj(b.a.i-b.J):b.pe=!0);break;case 32:b.Mb||(b.Hb?b.T.current=b.Jc(k.Ka,!0,b):(b.pe=!0,b.tn=!0));break;case 87:b.kb?(b.pb=!b.pb,-1!==b.M?(b.ta=b.pb,b.g.notification.F("Loop and Waypoints "+(b.pb?"Off":"On"),40,!0)):b.g.notification.F("Waypoints "+(b.pb?"Off":"On"),40,!0),
b.pb?b.g.notification.clear(!1,!1):b.A.Xl(b.elapsedTime)||(b.A.kr(b.a.i),b.elapsedTime=b.A.Ho(b.a.i),b.elapsedTime=b.A.uo(b.a.width/2-b.a.I,b.a.height/2-b.a.D,b.a.zoom,b.a.angle,b.a.m,b.a.vb*k.Xf,b.a.Id,b.pc,b.J,b.a.i,b.elapsedTime),b.Cc=!1)):b.hb?(b.ib=!b.ib,-1!==b.M?(b.ta=b.ib,b.g.notification.F("Loop and Track "+(b.ib?"Off":"On"),40,!0)):b.g.notification.F("Track "+(b.ib?"Off":"On"),40,!0),b.Ul(b.ib)):-1!==b.M&&(b.ta=!b.ta,b.g.notification.F("Loop "+(b.ta?"Off":"On"),40,!0));break;case 69:!b.Ya.locked&&
b.J<k.Nd&&(d.shiftKey?b.J=k.Nd:b.J+=1,b.Ya.current=b.Gg([b.J,b.J],!0,b));break;case 68:!b.Ya.locked&&b.J>k.dh&&(d.shiftKey?b.J=k.dh:--b.J,b.Ya.current=b.Gg([b.J,b.J],!0,b));break;case 90:d.shiftKey?(c=q.ct(),0===c?b.g.notification.F("No LifeViewers playing",100,!0):1<c&&b.g.notification.F("Paused all LifeViewers",100,!0)):(c=q.dt(b),0===c?b.g.notification.F("No other LifeViewers playing",100,!0):1<c?b.g.notification.F("Paused "+c+" other LifeViewers",100,!0):b.g.notification.F("Paused "+c+" other LifeViewer",
100,!0));break;case 88:d.shiftKey?(b.a.ag=!b.a.ag,0<b.a.kd&&b.g.notification.F("Major Grid Lines "+(b.a.ag?"On":"Off"),40,!0)):(b.a.Gb=!b.a.Gb,b.Yg.current=b.fq([b.a.Gb],!0,b));break;case 89:b.ke?b.g.notification.F("Graph Disabled",40,!0):d.shiftKey?(b.Rd=!b.Rd,b.Sh.current=b.gq([b.Rd],!0,b),b.g.notification.F("Graph "+(b.Rd?"Lines":"Points"),40,!0)):(b.Pb=!b.Pb,b.g.notification.F("Population Graph "+(b.Pb?"On":"Off"),40,!0));break;case 75:d.shiftKey?(b.qo(b,!0),b.g.notification.F("Copied view to clipboard",
180,!0)):(b.qo(b,!1),b.g.notification.F("Copied position to clipboard",180,!0));break;case 80:b.yb||b.Qa.locked||(b.Qa.current=.99>=b.Qa.current[0]?b.Lf([b.Qa.current[0]+.01,b.Qa.current[1]],!0,b):b.Lf([1,b.Qa.current[1]],!0,b));break;case 76:d.shiftKey?-1!==b.yt&&(b.ta=!b.ta,b.ig.current=[b.ta]):b.yb||b.Qa.locked||(b.Qa.current=.01<=b.Qa.current[0]?b.Lf([b.Qa.current[0]-.01,b.Qa.current[1]],!0,b):b.Lf([0,b.Qa.current[1]],!0,b));break;case 81:!b.yb&&!b.nb.locked&&b.nb.current[0]<k.Kk&&(b.nb.current=
b.Ej([b.a.m+1,b.nb.current[1]],!0,b));break;case 65:!b.yb&&!b.nb.locked&&b.nb.current[0]>k.Nk&&(b.nb.current=b.Ej([b.a.m-1,b.nb.current[1]],!0,b));break;case 82:d.shiftKey?q.ys():b.T.current=b.Jc(k.Qm,!0,b);break;case 83:d.shiftKey?b.a.Qc&&(b.Ve=!b.Ve,b.g.notification.F("AutoFit State 1 Mode "+(b.Ve?"On":"Off"),40,!0)):b.sh=!b.sh;break;case 78:b.Hf&&(b.ea?b.En():(b.Fn(),b.C&&(b.C=0)),b.resize());break;case 86:d.shiftKey?(b.Np(b),b.g.notification.F("Saved camera position",100,!0)):b.lb||(b.Es(b),b.g.notification.F("Restored camera position",
100,!0),b.T.current===k.Ka&&(b.Cc=!0));break;case 221:b.lb||(d.shiftKey?b.Dh(b.Ma.current[0],Math.log(b.a.zoom*b.a.gc*2/k.Ba)/Math.log(k.xb/k.Ba)-b.Ma.current[0]):b.Dh(b.Ma.current[0],.01));break;case 219:b.lb||(d.shiftKey?b.Dh(b.Ma.current[0],Math.log(b.a.zoom*b.a.gc/2/k.Ba)/Math.log(k.xb/k.Ba)-b.Ma.current[0]):b.Dh(b.Ma.current[0],-.01));break;case 53:case 101:b.Ga.locked||(b.a.angle=0,b.Ga.current=[b.a.angle,b.a.angle]);break;case 49:case 97:d.shiftKey?(b.de(b,b.a.zoom*b.a.gc,!0),b.g.notification.F("Integer Zoom",
40,!0)):b.de(b,1,!1);break;case 50:case 98:d.shiftKey?b.de(b,.5,!1):b.de(b,2,!1);break;case 51:case 99:b.de(b,32,!1);break;case 52:case 100:d.shiftKey?b.de(b,.25,!1):b.de(b,4,!1);break;case 54:case 102:d.shiftKey?b.de(b,.0625,!1):b.de(b,16,!1);break;case 55:b.ke?b.g.notification.F("Graph Disabled",40,!0):(0<b.ob&&(b.ob-=.05,0>b.ob&&(b.ob=0)),this.Bd.current=this.mh([b.ob,b.ob],!1,b));break;case 56:case 104:d.shiftKey?b.de(b,.125,!1):b.de(b,8,!1);break;case 57:b.ke?b.g.notification.F("Graph Disabled",
40,!0):(1>b.ob&&(b.ob+=.05,1<b.ob&&(b.ob=1)),this.Bd.current=this.mh([b.ob,b.ob],!1,b));break;case 48:case 96:b.J=1;b.Ya.current=b.Gg([b.J,b.J],!0,b);b.fa.current=b.cf([1,b.fa.current[1]],!0,b);break;case 189:case 109:b.Mb||(b.J>k.dh?(d.shiftKey?b.J=k.dh:--b.J,b.Ya.current=b.Gg([b.J,b.J],!0,b)):b.fa&&(b.fa.current=.01<=b.fa.current[0]&&!d.shiftKey?b.cf([b.fa.current[0]-.01,b.fa.current[1]],!0,b):b.cf([0,b.fa.current[1]],!0,b)));break;case 187:case 107:!b.Mb&&b.fa&&(.99>=b.fa.current[0]&&!d.shiftKey?
b.fa.current=b.cf([b.fa.current[0]+.01,b.fa.current[1]],!0,b):.99>=b.fa.current[0]?b.fa.current=b.cf([1,b.fa.current[1]],!0,b):(b.fa.current=b.cf([1,b.fa.current[1]],!0,b),b.J<k.Nd&&(d.shiftKey?b.J=k.Nd:b.J+=1,b.Ya.current=b.Gg([b.J,b.J],!0,b))));break;case 188:b.Ga.locked||(c=b.Ga.current[0],c=d.shiftKey?c-90:c-1,0>c&&(c+=360),b.Ga.current=b.Cj([c,c],!0,b));break;case 190:b.Ga.locked||(c=b.Ga.current[0],c=d.shiftKey?c+90:c+1,360<=c&&(c-=360),b.Ga.current=b.Cj([c,c],!0,b));break;case 74:b.A.Da.length?
b.lb||(d.shiftKey?(--b.fd,0>b.fd&&(b.fd=b.A.Da.length-1)):(b.fd+=1,b.fd>=b.A.Da.length&&(b.fd=0)),b.Pp(b,b.fd)):b.g.notification.F("No POIs defined",80,!0);break;case 84:d.shiftKey?b.g.ei=!b.g.ei:b.Wg.current=b.Dj([!b.g.rh],!0,b);break;case 85:b.Ok||(b.Ta=!b.Ta,b.w.j=b.Ta,b.g.Ta=b.Ta);break;case 71:b.Mb||(d.shiftKey?b.$f&&(b.vk=!b.vk):(b.pl([!b.sd],!0,b),b.Nc&&(b.Nc.current=[b.sd],b.g.wh=!0)));break;case 70:d.shiftKey?b.gf.locked||(b.Oa=!b.Oa,b.gf.current=b.eq([b.Oa],!0,b)):b.Vg.locked||(b.Ie(!0,
!0),b.g.notification.F("Fit Zoom",80,!0),b.T.current===k.Ka&&(b.Cc=!0));break;case 79:b.kj=d.shiftKey?2:1;break;case 37:d.shiftKey?b.rg(b.a.zoom,b.a.zoom):b.rg(b.a.zoom,0);break;case 38:b.C?b.hl(b,1):b.za?b.fl(b,1):d.shiftKey?b.rg(-b.a.zoom,b.a.zoom):b.rg(0,b.a.zoom);break;case 39:d.shiftKey?b.rg(-b.a.zoom,-b.a.zoom):b.rg(-b.a.zoom,0);break;case 40:b.C?b.gl(b,1):b.za?b.el(b,1):d.shiftKey?b.rg(b.a.zoom,-b.a.zoom):b.rg(0,-b.a.zoom);break;case 77:b.Pd&&!b.Pd.j&&(b.Pd.current[0]=!b.Pd.current[0],b.g.wh=
!0);break;case 67:d.ctrlKey?b.hh||(b.ro(b),b.g.notification.F("Copied to Clipboard",180,!0)):b.yb||!b.Bb||b.Bb.locked||(d.shiftKey?(c=b.Bb.current[0],--c,0>c&&(b.Uf?c=b.a.rc:c=b.a.rc-1)):(c=b.Bb.current[0],c+=1,b.Uf?c>=b.a.rc+1&&(c=0):c>=b.a.rc&&(c=0)),b.Bb.current=b.ql([c,c],!0,b));break;case 72:d.shiftKey?(b.qf=!b.qf,b.g.notification.F("AutoFit History Mode "+(b.qf?"On":"Off"),40,!0)):(b.Rb.length?b.C?b.C=0:b.C=b.Op:b.C?b.C=0:b.ea||(b.C=1),b.$g.current=b.wj([b.C],!0,b));break;case 73:d.shiftKey?
b.ja=!b.ja:(b.C?b.C!==b.Dk?b.C=b.Dk:b.C=0:b.ea||(b.C=b.Dk),b.$g.current=b.wj([b.C],!0,b));break;case 27:b.Pc?b.Rb.length?(b.Rb=[],b.za=0):a():b.C?b.C=0:b.Rb.length?(b.Rb=[],b.za=0):b.Hb&&(b.T.current=b.Jc(k.Ka,!0,b));b.C=0;b.$g.current=b.wj([b.C],!0,b);break;case 33:b.C?d.shiftKey?b.ps(b):b.hl(b,b.fb):b.za&&b.fl(b,b.fb);break;case 34:b.C?d.shiftKey?b.cs(b):b.gl(b,b.fb):b.za&&b.el(b,b.fb);break;case 36:b.C?b.C=1:b.za&&(b.za=1);break;case 35:b.C?b.C=b.Xh-b.fb:b.za&&(b.za=b.Rb.length-b.fb);break;default:-1===
c&&(e=!1)}}return e};b.prototype.rs=function(a,b,c){var d=!0;if(c.ctrlKey||c.metaKey||c.altKey)b=-1;switch(b){case 84:a.Dj([!a.g.rh],!0,a);break;default:d=!1}return d};b.prototype.Pl=function(a,b){var c=b.charCode||b.keyCode;if(a.Lg?a.rs(a,c,b):a.qs(a,c,b))a.g.yg(!0),b.preventDefault()};b.prototype.Gl=function(){this.w=this.g.Nq(this.ym,this.Tn,this);this.w.om=this.Nj;this.ve=this.w.Na(Menu.pd,0,40,16,20,"X");this.ve.font=k.Wc;this.ve.orientation=Menu.dc;this.xe=this.w.Na(Menu.pd,70,40,16,20,"Y");
this.xe.font=k.Wc;this.xe.orientation=Menu.dc;this.we=this.w.Na(Menu.pd,140,40,16,20,"A");this.we.font=k.Wc;this.we.orientation=Menu.dc;this.kc=this.w.Na(Menu.pd,16,40,54,20,"");this.kc.font=k.Wc;this.kc.textAlign=Menu.right;this.kc.G="camera X position";this.lc=this.w.Na(Menu.pd,86,40,54,20,"");this.lc.font=k.Wc;this.lc.textAlign=Menu.right;this.lc.G="camera Y position";this.Nb=this.w.Na(Menu.pd,156,40,40,20,"");this.Nb.font=k.Wc;this.Nb.textAlign=Menu.right;this.Nb.G="camera angle";this.oi=this.w.Na(Menu.pd,
196,40,4,20,"");this.eg=this.w.Na(Menu.Ec,-280,40,20,20,"E");this.eg.font=k.Wc;this.sg=this.w.Na(Menu.Ec,-210,40,20,20,"S");this.sg.font=k.Wc;this.tg=this.w.Na(Menu.Ec,-140,40,20,20,"W");this.tg.font=k.Wc;this.jg=this.w.Na(Menu.Ec,-70,40,20,20,"N");this.jg.font=k.Wc;this.Sb=this.w.Na(Menu.Ec,-260,40,50,20,"");this.Sb.font=k.Wc;this.Sb.textAlign=Menu.right;this.Sb.G="bounding box east edge velocity";this.$b=this.w.Na(Menu.Ec,-190,40,50,20,"");this.$b.font=k.Wc;this.$b.textAlign=Menu.right;this.$b.G=
"bounding box south edge velocity";this.jc=this.w.Na(Menu.Ec,-120,40,50,20,"");this.jc.font=k.Wc;this.jc.textAlign=Menu.right;this.jc.G="bounding box west edge velocity";this.Tb=this.w.Na(Menu.Ec,-50,40,50,20,"");this.Tb.font=k.Wc;this.Tb.textAlign=Menu.right;this.Tb.G="bounding box north edge velocity";this.zd=this.w.Ed(null,Menu.pd,90,0,40,20,["START"],[!1],Menu.Od);this.zd.font=k.jl;this.zd.G=["autostart indicator"];this.ad=this.w.Ed(null,Menu.pd,90,20,40,20,["STOP"],[!1],Menu.Od);this.ad.font=
k.jl;this.ad.G=["stop indicator"];this.na=this.w.Ed(this.Yl,Menu.Ec,-130,0,40,20,["WAYPT"],[!1],Menu.Od);this.na.font=k.jl;this.na.G=["toggle waypoint mode"];this.ig=this.w.Ed(this.Tl,Menu.Ec,-130,20,40,20,["LOOP"],[!1],Menu.Od);this.ig.font=k.jl;this.ig.G=["toggle loop mode"];this.$g=this.w.Ed(this.wj,Menu.Ec,-40,0,40,40,[""],[!1],Menu.Od);this.$g.icon=[k.Sa.icon("help")];this.$g.G=["toggle help display"];this.gf=this.w.Ed(this.eq,Menu.pd,0,0,40,40,[""],[!1],Menu.Od);this.gf.icon=[k.Sa.icon("autofit")];
this.gf.G=["toggle autofit"];this.Vg=this.w.Qj(this.Hl,Menu.pd,45,0,"");this.Vg.icon=k.Sa.icon("fit");this.Vg.G="fit pattern to display";this.Yg=this.w.Ed(this.fq,Menu.Ec,-85,0,40,40,[""],[!1],Menu.Od);this.Yg.icon=[k.Sa.icon("grid")];this.Yg.G=["toggle grid lines"];this.Sd=this.w.sq();this.Sd.locked=!0;this.Dd=this.w.Na(Menu.Ag,0,-100,70,30,"Time");this.Dd.textAlign=Menu.left;this.Dd.font=k.We;this.Dd.G="elapsed time";this.Tg=this.w.Na(Menu.Ag,70,-100,70,30,"");this.Tg.textAlign=Menu.right;this.Tg.font=
k.We;this.Tg.G="elapsed time";this.Za=this.w.Na(Menu.Ag,0,-70,140,30,"");this.Za.textAlign=Menu.left;this.Za.font=k.We;this.Za.G="cell state at cursor position";this.Nc=this.w.Ed(this.pl,Menu.Ag,0,-40,100,40,[""],[this.sd],Menu.Od);this.Nc.G=["toggle generation statistics"];this.Va=this.w.Na(Menu.Ag,0,-40,this.u-40,40,"");this.Va.textAlign=Menu.left;this.Va.j=!0;this.Cd=this.w.Na(Menu.Vd,-140,-130,70,30,"Alive");this.Cd.textAlign=Menu.left;this.Cd.font=k.We;this.Cd.G="current population";this.wg=
this.w.Na(Menu.Vd,-70,-130,70,30,"");this.wg.textAlign=Menu.right;this.wg.font=k.We;this.wg.G="alive";this.ya=this.w.Na(Menu.Vd,-140,-100,70,30,"Births");this.ya.textAlign=Menu.left;this.ya.font=k.We;this.ya.G="cells born this generation";this.Ae=this.w.Na(Menu.Vd,-70,-100,70,30,"");this.Ae.textAlign=Menu.right;this.Ae.font=k.We;this.Ae.G="births";this.Ad=this.w.Na(Menu.Vd,-140,-70,70,30,"Deaths");this.Ad.textAlign=Menu.left;this.Ad.font=k.We;this.Ad.G="cells died this generation";this.Vf=this.w.Na(Menu.Vd,
-70,-70,70,30,"");this.Vf.textAlign=Menu.right;this.Vf.font=k.We;this.Vf.G="deaths";this.sb=this.w.Na(Menu.Ag,0,-130,140,30,this.zf);this.sb.font=k.We;this.Ma=this.w.Qf(this.df,Menu.Qk,0,0,212,40,0,1,.1,"Zoom ","x",1);this.Ma.G="camera zoom";this.nb=this.w.Qf(this.Ej,Menu.nq,30,0,40,292,k.Kk,k.Nk,1,"Layers ","",0);this.nb.G="number of layers";this.Qa=this.w.Qf(this.Lf,Menu.Go,-70,0,40,292,1,0,.1,"Depth ","",2);this.Qa.G="depth between layers";this.Ga=this.w.Qf(this.Cj,Menu.Qk,0,50,390,40,0,359,0,
"Angle ","\u00b0",0);this.Ga.G="camera angle";this.tf=this.w.Qj(this.ul,Menu.pd,0,50,"");this.tf.icon=k.Sa.icon("shrink");this.tf.G="shrink to thumbnail";this.cg=this.w.Qj(this.Cl,Menu.Vd,-40,-90,"X");this.cg.G="close window";this.Wg=this.w.Ed(this.Dj,Menu.Ec,-40,50,40,40,[""],[this.g.rh],Menu.Od);this.Wg.icon=[k.Sa.icon("fps")];this.Wg.G=["toggle timing display"];this.Bd=this.w.Qf(this.mh,Menu.Qk,0,0,212,40,0,1,this.ob,"Opacity ","%",0);this.Bd.G="graph opacity";this.Sh=this.w.Ed(this.gq,Menu.pd,
90,0,40,40,[""],[!1],Menu.Od);this.Sh.icon=[k.Sa.icon("lines")];this.Sh.G=["toggle graph lines/points"];this.ni=this.w.Qj(this.Ol,Menu.Ec,-130,0,"X");this.ni.G="close graph";this.Pd=this.w.Ed(null,Menu.Vd,-40,-40,40,40,[""],[!1],Menu.Od);this.Pd.icon=[k.Sa.icon("menu")];this.Pd.G=["toggle navigation menu"];this.Bb=this.w.Qf(this.ql,Menu.Vp,0,-90,390,40,0,this.a.rc-1,1,"Theme ","",0);this.Bb.G="colour theme";this.fa=this.w.Qf(this.cf,Menu.Vd,-375,-40,80,40,0,1,0,"","",-1);this.fa.G="steps per second";
this.Ya=this.w.Qf(this.Gg,Menu.Vd,-290,-40,80,40,k.dh,k.Nd,1,"x","",0);this.Ya.G="generations per step";this.T=this.w.Ed(this.Jc,Menu.Vd,-205,-40,160,40,["","","",""],k.Ka,Menu.sn);this.T.icon=[k.Sa.icon("tostart"),k.Sa.icon("stepback"),k.Sa.icon("pause"),k.Sa.icon("play")];this.T.G=["reset","previous generation","pause","play"];this.Pd.Xn([this.nb,this.Qa,this.Ga,this.Bb,this.tf,this.cg,this.Wg]);this.Nc.Xn([this.Cd,this.wg,this.ya,this.Ae,this.Ad,this.Vf,this.Dd,this.Tg,this.sb])};b.prototype.Al=
function(a){var b=this,c=0,d=0;this.h=a;this.h.getContext&&(c=this.h.width,d=this.h.height,c!==this.Le&&D.Qi&&(c=this.Le),c<k.Sc&&(c=k.Sc),d<k.Wh&&(d=k.Wh),c&=-8,this.h.width!==c&&(this.h.width=c),this.h.height!==d&&(this.h.height=d),this.Ld=this.h.getContext("2d",{alpha:!1}),this.Ld.globalAlpha=1,this.Ld.fillStyle="black",this.Ld.fillRect(0,0,this.h.width,this.h.height),this.jh=document.createElement("canvas"),this.jh.width=this.h.width,this.jh.height=this.h.height,this.fc=this.jh.getContext("2d",
{alpha:!1}),this.u=this.h.width,this.s=this.h.height,this.a=new Life(this.fc,this.u,this.s,1024,1024),this.a.Cr(this.fc,this.u,this.s),this.Cb=this.a.l.ga(Float32,k.sp,"View.elapsedTimes"),this.Ue=new Stars(k.Tk,this.a.l),this.Ue.ne(8192,8192,1024),this.fc.textAlign="left",this.fc.textBaseline="middle",k.Sa=this.Fl(this.fc),this.g=new MenuManager(this.Ld,this.fc,"24px Arial",k.Sa,this,this.Jl),this.g.rh=!1,this.Gl(),this.ti=this.T.x,this.mi=this.fa.x,this.Bh=this.Ya.x,registerEvent(this.h,"DOMMouseScroll",
function(a){b.Oj(b,a)},!1),registerEvent(this.h,"mousewheel",function(a){b.Oj(b,a)},!1),this.g.notification.enabled=!0,this.g.pq(this.w),registerEvent(this.h,"keydown",function(a){b.Pl(b,a)},!1))};b.prototype.ri=function(a){switch(a){case Keywords.Gn:case Keywords.um:case Keywords.pn:case Keywords.rn:case Keywords.wm:case Keywords.qn:case Keywords.Wm:case Keywords.nd:case Keywords.be:case Keywords.Gm:case Keywords.un:case Keywords.fn:case Keywords.mm:case Keywords.Yk:case Keywords.ji:case Keywords.Um:case Keywords.Vm:case Keywords.zj:case Keywords.Em:case Keywords.$i:case Keywords.$h:case Keywords.Zh:case Keywords.Xk:case Keywords.aj:case Keywords.qa:case Keywords.ye:case Keywords.xa:case Keywords.An:case Keywords.yh:case Keywords.yj:case Keywords.wk:case Keywords.Pk:case Keywords.Am:case Keywords.Bm:case Keywords.oj:case Keywords.Tj:case Keywords.Im:case Keywords.pj:case Keywords.uh:case Keywords.Zm:case Keywords.Ji:case Keywords.Ii:case Keywords.Cn:case Keywords.Dn:case Keywords.Ha:case Keywords.cm:case Keywords.Yb:case Keywords.Zb:case Keywords.rl:case Keywords.sl:case Keywords.qb:case Keywords.Vl:case Keywords.Zo:case Keywords.oe:case Keywords.Fj:case Keywords.Tm:case Keywords.Sm:case Keywords.Mn:case Keywords.Ln:case Keywords.Ye:case Keywords.Uj:case Keywords.di:case Keywords.lj:case Keywords.Rf:case Keywords.Gf:case Keywords.Xg:case Keywords.se:case Keywords.bh:case Keywords.Rg:case Keywords.pi:case Keywords.Oh:case Keywords.cj:case Keywords.bj:a=
!0;break;default:a=!1}return a};b.prototype.Lc=function(a,b,c,d,e){var f=a.La();""===f||this.ri(f)?b[b.length]=[c,d+" missing"]:(b[b.length]=[c+" "+f,d+" must be "+e],a.K())};b.prototype.o=function(a,b,c,d){var e=!0,f=0,h=0,g=0,m=a.K();if(a.da()){f=a.ca()|0;if(0>f||255<f)b[b.length]=[d+" "+m+" "+f,"RED out of range"];if(a.da()){h=a.ca();if(0>h||255<h)b[b.length]=[d+" "+m+" "+f+" "+h,"GREEN out of range"];a.da()?(g=a.ca(),0>g||255<g?b[b.length]=[d+" "+m+" "+f+" "+h+" "+g,"BLUE out of range"]:e=!1):
this.Lc(a,b,d+" "+m+" "+f+" "+h,"BLUE","numeric")}else this.Lc(a,b,d+" "+m+" "+f,"GREEN","numeric")}else{var u=a.La();var l=ColourManager.mc[u.toLowerCase()];void 0!==l?(a.K(),f=l[1],h=l[2],g=l[3],e=!1):""===u||this.ri(u)?b[b.length]=[d+" "+m,"name missing"]:(b[b.length]=[d+" "+m+" "+u,"name not known"],a.K())}if(!e)switch(-1!==this.c[c]&&(b[b.length]=[d+" "+m+" "+f+" "+h+" "+g,"overwrites "+(this.c[c]>>16)+" "+(this.c[c]>>8&255)+" "+(this.c[c]&255)]),this.c[c]=f<<16|h<<8|g,c){case k.jk:this.Bi=this.c[c];
break;case k.kk:this.Ci=this.c[c];break;case k.lk:this.Ue.red=f;this.Ue.green=h;this.Ue.blue=g;break;case k.mk:this.gd=[f,h,g];break;case k.hm:this.jf=[f,h,g];this.ee="rgb("+f+","+h+","+g+")";break;case k.ck:this.Tf=[f,h,g];this.a.Eh=this.a.fg?-16777216|g<<16|h<<8|f:f<<24|h<<16|g<<8|255;break;case k.gk:this.a.he=[f,h,g];break;case k.fk:this.a.ge=[f,h,g];break;case k.ek:this.a.fe=[f,h,g];break;case k.hk:this.a.ie=[f,h,g];break;case k.ik:this.a.je=[f,h,g];break;default:this.Uf=!0}};b.prototype.$l=function(a,
b){var c=!0,d=this.a.tc[this.a.rc];-1===this.c[k.Gh]&&(a[a.length]=[b+" "+Keywords.In,"missing"],c=!1);-1===this.c[k.Ng]&&-1===this.c[k.Og]&&(a[a.length]=[b+" "+Keywords.Jn,"missing"],c=!1);c&&(a=this.c[k.Ng],-1===a&&(a=this.c[k.Og]),d.uc.red=a>>16,d.uc.green=a>>8&255,d.uc.blue=a&255,a=this.c[k.Gh],d.ab.O.red=a>>16,d.ab.O.green=a>>8&255,d.ab.O.blue=a&255,a=this.c[k.bk],-1===a&&(a=this.c[k.Gh]),d.ab.ha.red=a>>16,d.ab.ha.green=a>>8&255,d.ab.ha.blue=a&255,a=this.c[k.Og],-1===a&&(a=this.c[k.Ng]),d.Wa.O.red=
a>>16,d.Wa.O.green=a>>8&255,d.Wa.O.blue=a&255,a=this.c[k.dk],-1===a&&(a=this.c[k.Og],-1===a&&(a=this.c[k.Ng])),d.Wa.ha.red=a>>16,d.Wa.ha.green=a>>8&255,d.Wa.ha.blue=a&255,this.a.zg(this.a.rc,1))};b.prototype.rm=function(a){var b=this.A.Fi();b.Zd||(b.x=this.a.width/2-this.a.I);b.vd||(b.y=this.a.height/2-this.a.D);b.ic||(b.zoom=this.a.zoom);b.ff||(b.angle=this.a.angle);b.uf||(b.m=this.a.m);b.kf||(b.depth=this.a.vb);b.nf||(b.Ja=this.pc);b.Ef||(b.step=this.J);b.te||(b.Fa=this.a.Id);this.A.os(a)};b.prototype.Il=
function(a){var b=a,c=this.fc,d=a.length;c.font=k.Ah;var e=c.measureText(a).width;if(420<e){--d;for(e=c.measureText(a.substr(0,d)+"...").width;420<e;)--d,e=c.measureText(a.substr(0,d)+"...").width;b=b.substr(0,d)+"..."}return b};b.prototype.ug=function(a,b){var c=a;a.length>b&&(c=a.substr(0,b-1)+"...");return c};b.prototype.Mj=function(a,b,c){var d=a.indexOf("\\n");-1!==d&&(c?b[b.length]=[Keywords.ji+" "+Keywords.Ab+this.ug(a,23)+Keywords.Ab,"only one line allowed"]:(d=a.substr(d+2).indexOf("\\n"),
-1!==d&&(b[b.length]=[Keywords.Ab+this.ug(a,23),"only two lines allowed"])))};b.prototype.ui=function(a,b,c){var d=Keywords.Gf+" ",e="overwrites ";d=b>=this.a.rc?d+Keywords.rj:d+b;e=c>=this.a.rc?e+Keywords.rj:e+c;a[a.length]=[d,e]};b.prototype.jb=function(a,b,c,d,e,f){var h=0,g=0,k=0;if(a.da())if(h=a.ca()|0,0>h||255<h)b[b.length]=[d+" "+f+" "+h,"RED out of range"],e=!0;else if(a.da())if(g=a.ca()|0,0>g||255<g)b[b.length]=[d+" "+f+" "+h+" "+g,"GREEN out of range"],e=!0;else if(a.da()){if(k=a.ca()|0,
0>k||255<k)b[b.length]=[d+" "+f+" "+h+" "+g+" "+k,"BLUE out of range"],e=!0}else this.Lc(a,b,d+" "+f+" "+h+" "+g,"BLUE","numeric"),e=!0;else this.Lc(a,b,d+" "+f+" "+h,"GREEN","numeric"),e=!0;else{var m=a.La();var u=ColourManager.mc[m.toLowerCase()];void 0!==u?(a.K(),h=u[1],g=u[2],k=u[3]):(e=!0,""===m||this.ri(m)?b[b.length]=[d+" "+f,"name missing"]:(b[b.length]=[d+" "+f+" "+m,"name not known"],a.K()))}e||(-1!==this.cb[c]&&(b[b.length]=[d+" "+f+" "+h+" "+g+" "+k,"overwrites "+(this.cb[c]>>16)+" "+
(this.cb[c]>>8&255)+" "+(this.cb[c]&255)]),this.cb[c]=h<<16|g<<8|k)};b.prototype.Ch=function(a){var b="",c=a.indexOf(Keywords.Yc);if(-1===c)b=a;else{for(;-1!==c;)if(b+=a.substr(0,c),c+1<a.length){var d=a[c+1];a=a.substr(c+2);switch(d){case "B":b+=k.Sn;break;case "N":b+=this.Wi;break;case "R":b+=this.zf;break;case "A":b=""===this.Oe?b+this.zf:b+this.Oe;break;case "O":b+=this.Xi;break;case "T":b+=k.ir;break;case Keywords.Yc:b+=Keywords.Yc;break;default:b+=Keywords.Yc+d}c=a.indexOf(Keywords.Yc)}else c=
-1;b+=a}return b};b.prototype.ia=function(a,b,c,d){d[d.length]=a?b===Keywords.nd?[b+" "+c,"already defined"]:[b+" "+c,"overwrites "+Keywords.nd]:b===Keywords.nd?[b+" "+c,"overwrites "+Keywords.be]:[b+" "+c,"already defined"]};b.prototype.ma=function(a){var b="";a===(a|0)?b=String(a):b=a.toFixed(2);return b};b.prototype.Ql=function(a,b){var c=new Script(a),d=!1,e,f=!1,g="",h=0,l;a=this.Rb;var m=0,q="",r=this.A.Xj(),C=!1,z=!1,x=-1,w=-1,n=-1,y=!1,J=!1,I=!1,K=!1,M=!1,ba=!1,V=!1,aa=!1,X=!1,Q=!1,W=!1,T=
!1,Z=!1,R=!1,H=!1;this.Ym=this.Ti=0;this.Uf=!1;this.c[k.Ng]=-1;this.c[k.Gh]=-1;this.c[k.bk]=-1;this.c[k.Og]=-1;this.c[k.dk]=-1;this.c[k.jk]=-1;this.c[k.kk]=-1;this.c[k.lk]=-1;this.c[k.mk]=-1;this.c[k.ck]=-1;this.c[k.gk]=-1;this.c[k.fk]=-1;this.c[k.ek]=-1;this.c[k.hk]=-1;this.c[k.ik]=-1;this.c[k.hm]=-1;this.cb=[];if(c.Io()){for(e=0;256>e;e+=1)this.cb[e]=-1;for(e=c.K();""!==e;){if(f)e[e.length-1]===Keywords.Ab?(g=g+" "+e.substr(0,e.length-1),f=!1,this.Mj(g,a,d),d?(""!==this.ra&&(a[a.length]=[Keywords.ji+
" "+Keywords.Ab+this.ug(g,20)+Keywords.Ab,"overwrites "+Keywords.Ab+this.ra+Keywords.Ab]),this.ra=g,d=!1):(r.hc=this.Ch(g),r.Hn=!0)):g=g+" "+e;else if(e[0]===Keywords.Ab)g=e.substr(1),f=!0,e[e.length-1]===Keywords.Ab&&(f=!1,g=g.substr(0,g.length-1),this.Mj(g,a,d),d?(""!==this.ra&&(a[a.length]=[Keywords.ji+" "+Keywords.Ab+this.ug(g,20)+Keywords.Ab,"overwrites "+Keywords.Ab+this.ra+Keywords.Ab]),this.ra=g,d=!1):(r.hc=this.Ch(g),r.Hn=!0));else{var P=l=!1;this.Ti+=1;switch(e){case Keywords.ji:P=d=!0;
break;case Keywords.Um:P=this.Qd=!0;break;case Keywords.Vm:this.Gi=!1;P=!0;break;case Keywords.oj:var O=c.La();O===Keywords.xa?(c.K(),r.Bg=!1):r.Bg=!0;P=r.kl=!0;break;case Keywords.Tj:O=c.La();O===Keywords.xa?(c.K(),r.cc=!1):r.cc=!0;P=!0;break;case Keywords.Im:O=c.La();O===Keywords.xa?(c.K(),this.qf=!1):this.qf=!0;P=!0;break;case Keywords.Ji:O=c.La();O===Keywords.xa?(c.K(),r.Ib=!1):r.Ib=!0;P=r.zk=!0;break;case Keywords.Ii:c.da()&&(l=!0,h=c.ca()|0,h>=k.Tr&&h<=k.Jr&&(this.a.kd=h,P=!0));break;case Keywords.Ha:case Keywords.cm:q=
e;O=!1;if(c.da()){P=c.ca()|0;if(0>P||255<=P)a[a.length]=[e+" "+P,"STATE out of range"],O=!0;this.jb(c,a,P,e,O,P)}else switch(O=c.La(),O){case Keywords.tp:O=c.K();this.jb(c,a,k.up,e,!1,O);break;case Keywords.vp:O=c.K();this.jb(c,a,k.wp,e,!1,O);break;case Keywords.Uo:O=c.K();this.jb(c,a,k.Wo,e,!1,O);break;case Keywords.fp:O=c.K();this.jb(c,a,k.gp,e,!1,O);break;case Keywords.jp:O=c.K();this.jb(c,a,k.kp,e,!1,O);break;case Keywords.hp:O=c.K();this.jb(c,a,k.ip,e,!1,O);break;case Keywords.$o:O=c.K();this.jb(c,
a,k.ap,e,!1,O);break;case Keywords.$p:this.o(c,a,k.Ng,q);break;case Keywords.In:this.o(c,a,k.Gh,q);break;case Keywords.Zp:this.o(c,a,k.bk,q);break;case Keywords.Jn:this.o(c,a,k.Og,q);break;case Keywords.aq:this.o(c,a,k.dk,q);break;case Keywords.Ji:this.o(c,a,k.jk,q);break;case Keywords.Ii:this.o(c,a,k.kk,q);break;case Keywords.oj:this.o(c,a,k.lk,q);break;case Keywords.Gn:this.o(c,a,k.mk,q);break;case Keywords.um:this.o(c,a,k.hm,q);break;case Keywords.fo:this.o(c,a,k.ck,q);break;case Keywords.Oo:this.o(c,
a,k.gk,q);break;case Keywords.No:this.o(c,a,k.fk,q);break;case Keywords.Mo:this.o(c,a,k.ek,q);break;case Keywords.Po:this.o(c,a,k.hk,q);break;case Keywords.Qo:this.o(c,a,k.ik,q);break;default:a[a.length]=[e+" "+O,"illegal element"],c.K()}P=!0;break;case Keywords.lj:c.Io();P=!0;--this.Ti;break;case Keywords.Fj:P=this.Mb=!0;break;case Keywords.Wm:P=this.si=!0;break;case Keywords.Tm:P=this.Ok=this.Ta=!0;break;case Keywords.Sm:P=this.hh=!0;break;case Keywords.Cn:P=this.Ij=!0;break;case Keywords.Dn:P=
H=R=Z=T=W=Q=X=aa=V=ba=M=K=I=J=y=!0;break;case Keywords.xa:a[a.length]=[Keywords.xa,"must follow LOOP or STOP"];P=!0;break;case Keywords.ye:O=c.La();O===Keywords.qa?(c.K(),r.Jd?(this.A.Hq(r,a),this.Sl()):a[a.length]=[Keywords.ye+" "+Keywords.qa,"only valid at a POI"]):a[a.length]=[Keywords.ye,"must be followed by INITIAL"];P=!0;break;case Keywords.qa:a[a.length]=[Keywords.qa,"must follow POI, ALL or a POI setting"];P=!0;break;case Keywords.Uj:O=c.La();O===Keywords.xa?(c.K(),this.Mc=!1):this.Aa&&(this.Mc=
!0);P=!0;break;case Keywords.Xk:c.da()&&(l=!0,h=c.ca()|0,0<=h&&(r.Jd?(r.ua=h,r.qj=!0):a[a.length]=[Keywords.Xk+" "+h,"only valid at a POI"],P=!0));break;case Keywords.Zh:r.Qs(a);P=!0;break;case Keywords.$h:r.Ss(a);P=!0;break;case Keywords.$i:r.Rs(a);P=!0;break;case Keywords.aj:c.da()&&(l=!0,h=c.ca(),h>=WaypointConstants.Dp&&h<=WaypointConstants.Cp&&(r.Vs(h,a),P=!0));break;case Keywords.Em:P=this.Ck=!0;break;case Keywords.An:O=c.La();O===Keywords.xa?(c.K(),this.Ve=!1):this.Ve=!0;P=!0;break;case Keywords.zj:if(c.da()&&
(l=!0,h=c.ca(),h>=k.og&&h<=k.mg)){var Y=h;l=!1;e+=" "+h;if(c.da()&&(l=!0,h=c.ca(),h>=k.og&&h<=k.mg)){var U=h;P=!0;this.hb&&(a[a.length]=[Keywords.zj+" "+Y+" "+U,"overwrites "+w+" "+n]);w=Y;n=U;this.hb=!0}}break;case Keywords.yj:c.da()&&(l=!0,h=c.ca()|0,0<h&&(O=h,l=!1,e+=" "+h,c.da()&&(l=!0,h=c.ca(),h>=k.og&&h<=k.mg&&(Y=h,l=!1,e+=" "+h,c.da()&&(l=!0,h=c.ca(),h>=k.og&&h<=k.mg&&(U=h,P=!0,this.cd&&(a[a.length]=[Keywords.yj+" "+O+" "+Y+" "+U,"overwrites "+x+" "+w+" "+n]),x=O,w=Y,n=U,this.hb=this.cd=!0))))));
break;case Keywords.yh:if(c.da()&&(l=!0,h=c.ca(),h>=k.og&&h<=k.mg&&(U=h,l=!1,e+=" "+h,c.da()&&(l=!0,h=c.ca(),h>=k.og&&h<=k.mg&&(Y=h,l=!1,e+=" "+h,c.da()&&(l=!0,h=c.ca(),h>=k.og&&h<=k.mg)))))){var N=h;l=!1;e+=" "+h;c.da()&&(l=!0,h=c.ca(),h>=k.og&&h<=k.mg&&(O=h,P=!0,N>U?a[a.length]=[Keywords.yh+" W "+this.ma(N)+" E "+this.ma(U),"W is greater than E"]:O>Y?a[a.length]=[Keywords.yh+" N "+this.ma(O)+" S "+this.ma(Y),"N is greater than S"]:(this.xh&&(a[a.length]=[Keywords.yh+" "+this.ma(U)+" "+this.ma(Y)+
" "+this.ma(N)+" "+this.ma(O),"overwrites "+this.ma(this.af)+" "+this.ma(this.bf)+" "+this.ma(this.Kf)+" "+this.ma(this.Jf)]),this.hb=this.xh=!0,this.Jf=O,this.af=U,this.bf=Y,this.Kf=N)))}break;case Keywords.se:Y=r;!r.Jd&&0<this.A.ds&&(r=this.A.Fi());c.da()?(l=!0,h=c.ca()|0,0<h&&(!r.Fg||this.rb||W||(a[a.length]=-1===r.Ea?[Keywords.se+" "+h,"overwrites "+Keywords.xa]:[Keywords.se+" "+h,"overwrites "+r.Ea]),r.Ea=h,r.Fg=!0,W=this.rb=!1,P=!0)):(O=c.La(),O===Keywords.xa?(c.K(),!r.Fg||this.rb||W||(a[a.length]=
-1!==r.Ea||this.rb?[Keywords.se+" "+Keywords.xa,"overwrites "+r.Ea]:[Keywords.se+" "+Keywords.xa,"overwrites "+Keywords.xa]),r.Ea=-1,r.Fg=!0,W=this.rb=!1,P=!0):O===Keywords.qa&&(c.K(),this.A.mb(Keywords.se,r,a,this.rb),P=this.rb=!0));r=Y;break;case Keywords.oe:Y=r;!r.Jd&&0<this.A.N.length&&(r=this.A.Fi());c.da()?(l=!0,h=c.ca()|0,0<h&&(!r.hg||this.vc||Q||(a[a.length]=-1===r.M?[Keywords.oe+" "+h,"overwrites "+Keywords.xa]:[Keywords.oe+" "+h,"overwrites "+r.M]),r.M=h,r.hg=!0,Q=this.vc=!1,P=!0)):(O=c.La(),
O===Keywords.xa?(c.K(),!r.hg||this.vc||Q||(a[a.length]=-1===r.M?[Keywords.oe+" "+Keywords.xa,"overwrites "+Keywords.xa]:[Keywords.oe+" "+Keywords.xa,"overwrites "+r.M]),r.M=-1,r.hg=!0,Q=this.vc=!1,P=!0):O===Keywords.qa&&(c.K(),this.A.mb(Keywords.oe,r,a,this.vc),P=this.vc=!0));r=Y;break;case Keywords.Rf:c.da()?(l=!0,h=c.ca()|0,0<=h&&359>=h&&(!r.ff||this.ze||K||(a[a.length]=[Keywords.Rf+" "+h,"overwrites "+r.angle]),r.angle=h,r.ff=!0,K=this.ze=!1,P=!0)):(O=c.La(),O===Keywords.qa&&(c.K(),this.A.mb(Keywords.Rf,
r,a,this.ze),P=this.ze=!0));break;case Keywords.bh:c.da()?(l=!0,h=c.ca()|0,h>=k.Nk&&h<=k.Kk&&(!r.uf||this.Ge||M||(a[a.length]=[Keywords.bh+" "+h,"overwrites "+r.m]),r.m=h,r.uf=!0,M=this.Ge=!1,P=!0)):(O=c.La(),O===Keywords.qa&&(c.K(),this.A.mb(Keywords.bh,r,a,this.Ge),P=this.Ge=!0));break;case Keywords.Rg:c.da()?(l=!0,h=c.ca(),h>=k.Mk&&h<=k.mp&&(!r.kf||this.De||ba||(a[a.length]=[Keywords.Rg+" "+h,"overwrites "+r.depth]),r.depth=h,r.kf=!0,ba=this.De=!1,P=!0)):(O=c.La(),O===Keywords.qa&&(c.K(),this.A.mb(Keywords.Rg,
r,a,this.De),P=this.De=!0));break;case Keywords.rl:c.da()&&(l=!0,h=c.ca(),h>=-this.a.wb/2&&h<=this.a.wb/2&&(this.ud=h,P=!0));break;case Keywords.sl:c.da()&&(l=!0,h=c.ca(),h>=-this.a.wb/2&&h<=this.a.wb/2&&(this.xd=h,P=!0));break;case Keywords.Yb:c.da()?(l=!0,h=c.ca(),h>=-this.a.wb/2&&h<=this.a.wb/2&&(!r.Zd||this.Je||y||(a[a.length]=[Keywords.Yb+" "+h,"overwrites "+-r.x]),r.x=-h,r.Zd=!0,y=this.Je=!1,P=!0)):(O=c.La(),O===Keywords.qa&&(c.K(),this.A.mb(Keywords.Yb,r,a,this.Je),P=this.Je=!0));break;case Keywords.Zb:c.da()?
(l=!0,h=c.ca(),h>=-this.a.wb/2&&h<=this.a.wb/2&&(!r.vd||this.Ke||J||(a[a.length]=[Keywords.Zb+" "+h,"overwrites "+-r.y]),r.y=-h,r.vd=!0,J=this.Ke=!1,P=!0)):(O=c.La(),O===Keywords.qa&&(c.K(),this.A.mb(Keywords.Zb,r,a,this.Ke),P=this.Ke=!0));break;case Keywords.Zo:P=!0;break;case Keywords.Vl:case Keywords.qb:c.da()?(l=!0,h=c.ca(),h>=k.Ba&&h<=k.xb?(!r.ic||this.Kc||I||(a[a.length]=1>r.zoom?[Keywords.qb+" "+h,"overwrites "+-(1/r.zoom)]:[Keywords.qb+" "+h,"overwrites "+r.zoom]),r.zoom=h,r.ic=!0,I=this.Kc=
!1,P=!0):h>=k.Vr&&h<=k.Mr&&(r.ic&&!this.Kc&&(a[a.length]=1>r.zoom?[Keywords.qb+" "+h,"overwrites "+-(1/r.zoom)]:[Keywords.qb+" "+h,"overwrites "+r.zoom]),r.zoom=-(1/h),r.ic=!0,this.Kc=!1,P=!0)):(O=c.La(),O===Keywords.qa&&(c.K(),this.A.mb(Keywords.qb,r,a,this.Kc),P=this.Kc=!0));break;case Keywords.Xg:c.da()?(l=!0,h=c.ca()|0,h>=k.Rc&&h<=k.lg&&(!r.nf||this.Fe||aa||(a[a.length]=[Keywords.Xg+" "+h,"overwrites "+r.Ja]),r.Ja=h,r.nf=!0,aa=this.Fe=!1,P=!0)):(O=c.La(),O===Keywords.qa&&(c.K(),this.A.mb(Keywords.Xg,
r,a,this.Fe),P=this.Fe=!0));break;case Keywords.Mn:O=c.La();O===Keywords.xa?(c.K(),this.Pc||(this.Hf=this.ea=!1)):this.Pc||(this.Hf=this.ea=!0);P=!0;break;case Keywords.cq:O=c.La();O===Keywords.xa?(c.K(),this.Pc||(this.Ye=this.Hf=this.ea=!1,this.g.Ye=!1)):this.Pc||(this.Ye=this.Hf=this.ea=!0,this.g.Ye=!0);P=!0;break;case Keywords.Ln:c.da()&&(l=!0,h=c.ca()|0,h>=k.rp&&h<=k.op&&(this.Lb=h,P=!0));break;case Keywords.Gf:c.da()?(l=!0,h=c.ca()|0,0<=h&&h<this.a.rc&&(!r.te||this.wc||V||this.ui(a,h,r.Fa),r.Fa=
h,r.te=!0,V=this.wc=!1,P=!0)):(O=c.La(),O===Keywords.rj?(c.K(),this.Uf?(r.te&&!this.wc&&this.ui(a,this.a.rc,r.Fa),r.Fa=this.a.rc,r.te=!0,this.wc=!1):a[a.length]=[Keywords.Gf+" "+Keywords.rj,"no custom THEME defined"],P=!0):O===Keywords.qa&&(c.K(),this.A.mb(Keywords.Gf,r,a,this.wc),P=this.wc=!0));break;case Keywords.di:a[a.length]=[e,"already in a script block"];P=!0;break;case Keywords.qn:this.ja=!this.ja;P=!0;break;case Keywords.rn:this.Wg.current=this.Dj([!0],!0,this);P=!0;break;case Keywords.wm:P=
this.g.ei=!0;break;case Keywords.pn:this.pl([!0],!0,this);this.Nc&&(this.Nc.current=[this.sd],this.g.wh=!0);P=!0;break;case Keywords.mm:c.da()&&(l=!0,h=c.ca()|0,h>=k.pp&&h<=k.lp&&(P=!0,this.a.al=h));break;case Keywords.Pk:P=this.ke=!0;break;case Keywords.wk:P=this.Pb=!0;break;case Keywords.Am:c.da()&&(l=!0,h=c.ca(),0<=h&&1>=h&&(P=!0,this.ob=h));break;case Keywords.Bm:this.Rd=!1;P=!0;break;case Keywords.un:this.a.P=!1;this.Ga.j=this.a.P;P=!0;break;case Keywords.Gm:this.a.P=!0;this.Ga.j=this.a.P;P=
!0;break;case Keywords.fn:this.dn=c.K();P=this.en=!0;break;case Keywords.nd:O=c.La();switch(O){case Keywords.Yb:r.Nf&&this.ia(r.td,Keywords.nd,Keywords.Yb,a);r.td=!0;r.Nf=!0;c.K();break;case Keywords.Zb:r.Of&&this.ia(r.wd,Keywords.nd,Keywords.Zb,a);r.wd=!0;r.Of=!0;c.K();break;case Keywords.qb:r.Wn&&this.ia(r.yd,Keywords.nd,Keywords.qb,a);r.yd=!0;r.Hj=!0;c.K();break;case Keywords.ye:r.Nf&&this.ia(r.td,Keywords.nd,Keywords.Yb,a);r.Of&&this.ia(r.wd,Keywords.nd,Keywords.Zb,a);r.Wn&&this.ia(r.yd,Keywords.nd,
Keywords.qb,a);r.td=!0;r.Nf=!0;r.wd=!0;r.Of=!0;r.yd=!0;r.Hj=!0;c.K();break;default:this.Lc(c,a,Keywords.nd,"argument",Keywords.ye+", "+Keywords.Yb+", "+Keywords.Zb+" or "+Keywords.qb)}P=!0;break;case Keywords.be:O=c.La();switch(O){case Keywords.Yb:r.Nf&&this.ia(r.td,Keywords.be,Keywords.Yb,a);r.td=!1;r.Nf=!0;c.K();break;case Keywords.Zb:r.Of&&this.ia(r.wd,Keywords.be,Keywords.Zb,a);r.wd=!1;r.Of=!0;c.K();break;case Keywords.qb:r.Wn&&this.ia(r.yd,Keywords.be,Keywords.qb,a);r.yd=!1;r.Hj=!0;c.K();break;
case Keywords.ye:r.Nf&&this.ia(r.td,Keywords.be,Keywords.Yb,a);r.Of&&this.ia(r.wd,Keywords.be,Keywords.Zb,a);r.Wn&&this.ia(r.yd,Keywords.be,Keywords.qb,a);r.td=!1;r.Nf=!0;r.wd=!1;r.Of=!0;r.yd=!1;r.Hj=!0;c.K();break;default:this.Lc(c,a,Keywords.be,"argument",Keywords.ye+", "+Keywords.Yb+", "+Keywords.Zb+" or "+Keywords.qb)}P=!0;break;case Keywords.Yk:z=!0;this.A.add(r);r=this.A.Xj();r.Jd=!0;O=c.La();O===Keywords.qa&&(c.K(),-1!==this.Pg&&(a[a.length]=[Keywords.Yk+" "+Keywords.qa,"overrides previous initial POI"]),
this.Pg=this.A.Da.length);this.Bl();P=!0;break;case Keywords.pj:c.da()&&(l=!0,h=c.ca()|0,0<=h&&(C||(C=!0),0<h&&(this.A.add(r),r=this.A.Xj()),r.ua=h,P=r.qj=!0));break;case Keywords.uh:c.da()?(l=!0,h=c.ca()|0,h>=k.dh&&h<=k.Nd&&(!r.Ef||this.He||X||(a[a.length]=[Keywords.uh+" "+h,"overwrites "+r.step]),r.step=h,r.Ef=!0,X=this.He=!1,P=!0)):(O=c.La(),O===Keywords.qa&&(c.K(),this.A.mb(Keywords.uh,r,a,this.He),P=this.He=!0));break;case Keywords.Zm:c.da()&&(l=!0,h=c.ca(),0<=h&&(C||(C=!0),this.A.add(r),r=this.A.Xj(),
h<k.Up&&(h=k.Up),r.gb=h,P=r.Yp=!0));break;case Keywords.pi:c.da()&&(l=!0,h=c.ca()|0,this.Pc||(-1===this.B||T||(a[a.length]=[Keywords.pi+" "+h,"overwrites "+this.B]),this.B=h),T=!1,P=!0);break;case Keywords.Oh:c.da()&&(l=!0,h=c.ca()|0,this.Pc||(-1===this.S||Z||(a[a.length]=[Keywords.Oh+" "+h,"overwrites "+this.S]),this.S=h),Z=!1,P=!0);break;case Keywords.cj:c.da()&&(l=!0,h=c.ca()|0,-1===this.W||R||(a[a.length]=[Keywords.cj+" "+h,"overwrites "+this.W]),this.W=h,R=!1,P=!0);break;case Keywords.bj:c.da()&&
(l=!0,h=c.ca()|0,-1===this.ka||H||(a[a.length]=[Keywords.bj+" "+h,"overwrites "+this.ka]),this.ka=h,H=!1,P=!0);break;default:a[a.length]=[e,"unknown or misspelt command"],P=!0}P||(l?a[a.length]=[e+" "+h,"argument out of range"]:this.Lc(c,a,e,"argument","numeric"))}""!==e&&(e=c.K())}f&&(a[a.length]=[Keywords.Ab+g,"unterminated string"]);C&&this.hb&&(c=this.xh?Keywords.yh:this.cd?Keywords.yj:Keywords.zj,a[a.length]=[c,"can not be used with Waypoints"],this.cd=this.xh=this.hb=!1);this.xh||!this.hb&&
!this.cd||(this.cd&&(0<this.a.kd&&(x*=this.a.kd),r.M=x),this.Jf=n,this.af=w,this.bf=n,this.Kf=w);if(C||z){this.A.add(r);C?(r=this.A.Fi(),this.kb=!0):-1!==this.Pg&&(r=this.A.Da[this.Pg],this.fd=this.Pg);if(C){for(e=0;e<this.A.N.length;e+=1)r=this.A.N[e],r.cc&&(r.Zd||r.vd||r.ic)&&(g="",r.Zd?(g="X "+r.x,r.vd?g=r.ic?g+(", Y "+r.y+" and ZOOM "+r.zoom):g+(" and Y "+r.y):r.ic&&(g+=" and ZOOM "+r.zoom)):r.vd?(g="Y "+r.y,r.ic&&(g+=" and ZOOM "+r.zoom)):r.ic&&(g="ZOOM "+r.zoom),a[a.length]=[Keywords.Tj,"overwrites "+
g]);r=this.A.Fi()}z&&r.Tc===WaypointConstants.play&&this.Aa&&(this.Mc=!0)}r.cc&&(this.Oa=!0);r.Zd&&(this.a.I=this.a.width/2-r.x);r.vd&&(this.a.D=this.a.height/2-r.y);r.ic&&(this.a.zoom=r.zoom);r.ff&&(this.a.angle=r.angle);r.te&&this.a.zg(r.Fa,1);r.kf&&(this.a.vb=r.depth/k.Xf+k.Mk);r.uf&&(this.a.m=r.m);r.nf&&(this.pc=r.Ja);r.Ef&&(this.J=r.step);r.Hn&&this.g.notification.F(r.hc,1E3,!1);this.Ea=r.Ea;this.M=r.M;r.ic&&(this.ii=!0);r.Zd&&(this.ai=!0);r.vd&&(this.bi=!0);r.zk&&(this.a.Gb=r.Ib);r.kl&&(this.sh=
r.Bg);for(e=0;e<b;e+=1)-1!==this.cb[e]&&(m+=1);if(0<m){this.Rj=!0;for(e=0;e<b;e+=1)PatternManager.rd[e]?-1===this.cb[e]?(m=this.mc[e],this.Ij&&(a[a.length]=this.a.Qc?[q+" "+k.$s[e],"definition missing (used "+(m>>16)+" "+(m>>8&255)+" "+(m&255)+")"]:[q+" "+e,"definition missing (used "+(m>>16)+" "+(m>>8&255)+" "+(m&255)+")"]),this.cb[e]=m,this.Rj=!1,this.Mg[e]=k.Xp):this.Mg[e]=k.Wp:this.Mg[e]=k.Bn;this.Ai=this.Rj?"(custom)":this.Ai+" (custom*)"}else this.cb=[];this.Uf&&this.$l(a,q);-1!==this.Bi&&(this.a.ld=
this.Bi);-1!==this.Ci&&(this.a.le=this.Ci);2<b&&!this.a.Qc&&-1===this.a.It&&(this.Mb=!0);this.Mb&&(c="not possible due to "+Keywords.Fj,this.Mc&&(a[a.length]=[Keywords.Uj,c],this.Mc=!1),-1!==this.Ea&&(a[a.length]=[Keywords.se+" "+this.Ea,c]),-1!==this.M&&(a[a.length]=[Keywords.oe+" "+this.M,c]));0!==this.ud&&this.Bf+k.Nd+2*Math.abs(this.ud)>=this.a.wb&&(a[a.length]=[Keywords.rl+" "+this.ud,"pattern does not fit on grid at this offset"],this.ud=0);0!==this.xd&&this.vg+k.Nd+2*Math.abs(this.xd)>=this.a.wb&&
(a[a.length]=[Keywords.sl+" "+this.xd,"pattern does not fit on grid at this offset"],this.xd=0);this.Ym=a.length}this.Uf&&this.Bb&&(this.Bb.upper=this.a.rc);""!==this.ra&&(this.ra=this.Ch(this.ra));this.Oa&&(this.Sj=!0);this.Pb&&this.ke&&(a[a.length]=[Keywords.wk,"not valid with "+Keywords.Pk],this.Pb=!1);q=!1;-1!==this.B&&(b=k.Sc,this.Ta&&(b=k.Xr),this.B<b||this.B>this.Le)&&(a[a.length]=[Keywords.pi+" "+this.B,"argument out of range"],q=!0);-1!==this.S&&(b=k.Wh,this.Ta&&(b=k.Wr),this.S<b||this.S>
k.Lk)&&(a[a.length]=[Keywords.Oh+" "+this.S,"argument out of range"],q=!0);this.Pc&&(-1!==this.W&&(this.W<k.Sc||this.W>this.Le)&&(a[a.length]=[Keywords.cj+" "+this.W,"argument out of range"],this.W=-1,q=!0),-1!==this.ka&&(this.ka<k.Wh||this.ka>k.Lk)&&(a[a.length]=[Keywords.bj+" "+this.ka,"argument out of range"],this.ka=-1,q=!0));if(q||a.length)-1!==this.B&&this.B<k.Sc&&(this.B=k.Sc),-1!==this.S&&this.S<k.ng&&(this.S=k.ng),this.Ta=!1;this.w.j=this.Ta;this.g.Ta=this.Ta;this.g.hh=this.hh;this.Ta&&(this.Pb=
this.Ye=this.ea=this.Mc=!1,this.Dj([!1],!0,this),this.pl([!1],!0,this),this.ja=!1);this.si&&(this.element.style="display:none",this.element.parentNode&&this.element.parentNode.parentNode&&this.element.parentNode.parentNode.className===D.rk&&(this.element.parentNode.parentNode.style="display:none;"))};b.prototype.Rl=function(){this.Pg=-1;this.en=this.hh=this.si=this.Ok=this.Ta=!1;this.a.Uc=0;this.a.Fc=0;this.a.gc=1;this.ja=this.Sj=this.Oa=!1;this.cb=[];this.jf=this.gd=null;this.ee=k.ee;this.a.he=this.a.ur;
this.a.ge=this.a.tr;this.a.fe=this.a.sr;this.a.ie=this.a.vr;this.a.je=this.a.wr;this.Sf=this.Mc=this.Ck=!1;this.M=this.Ea=-1;this.sd=this.ib=this.cd=this.hb=this.xh=this.kb=this.pb=this.ta=!1};b.prototype.En=function(){this.Ye?C(this.element):(this.u=this.Kj,this.s=this.Kn,this.Oa?(this.ea=!1,this.Ie(!0,!1)):this.a.zoom=this.Lj,this.Ma&&(this.Ma.current=this.df([this.a.zoom,this.a.zoom],!1,this)),this.C=this.Jj,this.ea=!1,this.g.ea=!1,this.w.j=!1,this.g.notification.F("Shrink with hotkey N",100,!0))};
b.prototype.Jl=function(a){a.ea?(a.En(),a.resize()):a.Ta&&a.ro(a)};b.prototype.resize=function(){this.h.width=this.u;this.h.height=this.s;this.jh.width=this.u;this.jh.height=this.s;this.fc.textBaseline="middle";this.a.Kp(this.u,this.s)};b.prototype.Fn=function(){this.Kj=this.u;this.Kn=this.s;this.Lj=this.a.zoom;this.Jj=this.C;this.u=this.u/this.Lb|0;this.s=this.s/this.Lb|0;this.a.zoom=this.a.zoom/this.Lb;this.u&=-8;this.w.j=!0;this.g.ea=!0;this.g.Lb=this.Lb;this.ea=!0};b.prototype.zn=function(a,b){var c,
d=!1;this.Rb=[];if(a=PatternManager.create("",a,this.a.l)){this.$f=PatternManager.$f;this.uk=PatternManager.zm;this.Se=PatternManager.Se;this.Zk=PatternManager.an;this.$k=PatternManager.bn;this.Xd=PatternManager.Xd;this.Wd=PatternManager.Wd;this.Bf=a.width;this.vg=a.height;this.Wi=a.name;this.Xi=a.xp;this.qe=a.qe;""===this.qe&&(this.qe="(none)");this.Af=a.yf;this.Zi=a.Ui;this.zf=a.oa;this.Oe=a.ao;this.Aa=PatternManager.Aa;this.a.Qc=a.ub;this.a.v=a.v;if(this.a.ec=a.ec)this.a.Pf.nh=a.Df,this.a.Pf.Nt=
a.Vh,this.a.Pf.Et=a.ae,this.a.Pf.Bt=a.bd,this.a.Pf.Ct=a.ef,this.a.Pf.zt=a.$d,this.a.Pf.Lt=a.v,this.a.Pf.type=a.Bc?"N":"M";this.a.P=a.P;this.a.Vk=a.P;this.a.Bc=a.Bc;this.a.Mf=a.Mf;this.a.bb=a.md;this.a.la=a.me;this.a.sa=a.pf;this.a.yi=a.Hi;this.a.zi=a.Nh;this.a.Zl=a.Cm;this.a.ko=a.Bk;this.Yi=new Uint32Array(this.Af);for(c=0;c<this.Af;c+=1)this.Yi[c]=PatternManager.rd[c]}else this.$f=!1,this.uk=0,this.Se=!1,this.$k=this.Zk=0,this.Xi=this.Wi=this.Oe=this.zf="",this.Zi=this.Af=this.vg=this.Bf=0,this.qe=
"(none)",this.a.Qc=!1,this.a.P=!1,this.a.Bc=!1,this.a.Mf=-1,this.a.Vk=!1,this.a.v=-1,this.a.bb=-1,this.a.ec=!1,this.a.Jt=!1;this.Pb=!1;this.Rd=!0;this.ob=k.Ao;this.ke=!1;this.Gi=!0;this.vk=!1;this.Ga.j=this.a.P;this.U=PatternManager.U;this.a.ba=!0;this.a.Oc=-1===this.a.v?!1:!0;this.a.ll=-1;this.a.al=k.zo;this.xd=this.ud=0;this.Xc=this.fd=-1;this.Lg=!1;this.Ve=this.qf=this.w.locked=!1;this.a.mr();this.a.nr();this.a.Qc&&((PatternManager.rd[2]||PatternManager.rd[3]||PatternManager.rd[4]||PatternManager.rd[5]||
PatternManager.rd[6])&&this.a.Pq(),PatternManager.rd[6]&&this.a.Rq());this.ra="";this.sh=!1;ColourManager.ne();this.a.Lq();this.a.Kq();this.a.Eq();this.a.Qc?this.a.zg(10,1):-1!==this.a.v?this.a.zg(11,1):this.a.zg(1,1);this.pc=60;this.J=1;this.a.m=1;this.a.vb=.1;this.a.angle=0;this.a.zoom=6;this.a.I=this.a.width/2;this.a.D=this.a.height/2;this.bi=this.ai=this.ii=!1;this.ka=this.W=this.S=this.B=-1;this.c[k.Ng]=-1;this.c[k.Gh]=-1;this.c[k.bk]=-1;this.c[k.Og]=-1;this.c[k.dk]=-1;this.c[k.jk]=-1;this.c[k.kk]=
-1;this.c[k.lk]=-1;this.c[k.mk]=-1;this.c[k.ck]=-1;this.c[k.gk]=-1;this.c[k.fk]=-1;this.c[k.ek]=-1;this.c[k.hk]=-1;this.c[k.ik]=-1;this.ea&&(this.En(),this.resize());this.Hf=!1;this.g.ea=!1;this.Lb=k.Bo;this.Ye=!1;this.Mb=this.yb=this.g.Mt=!1;this.a.Gb=!1;this.T.j=!1;this.Nc.j=!1;this.fa.j=!1;this.Ya.j=!1;this.Pd.j=!1;this.nb.j=!1;this.Qa.j=!1;this.Bb.j=!1;this.w.j=!1;this.Sd.j=!1;this.Pd.current=[!1];this.Nc.current=[!1];this.za=this.C=0;this.$g.current=this.wj([this.C],!0,this);this.a.ld=this.a.Ak;
this.a.le=this.a.Dm;this.a.kd=10;this.a.ag=!0;this.Bi=this.Ci=-1;this.Tf=[96,96,96];this.a.Eh=this.a.fg?4284506208:1616929023;this.A.reset();this.Qd=this.kb=!1;if(a){if(PatternManager.Mh||a.ub)a.ub?(this.mc=ColourManager.po("LifeHistory"),this.mc[2]=96):this.mc=ColourManager.po(a.oa),this.mc.length?this.Ai=a.oa:(this.mc=ColourManager.im,this.Ai="(default)");this.Rl();a.title&&(this.Ql(a.title,a.yf),myRand.ne(this.dn),this.Rb.length&&(this.za=1),this.ea&&b&&(this.ea=!1),-1<this.B&&(this.B&=-8,this.B!==
this.u&&(this.u=this.B,d=!0)),-1<this.S&&this.S!==this.s&&(this.s=this.S,d=!0),this.Pc&&(-1<this.W?(this.W&=-8,this.W!==this.u&&(this.u=this.W,d=!0)):this.u=k.Sc,-1<this.ka?this.ka!==this.s&&(this.s=this.ka,d=!0):this.s=k.ng+80));this.Un=!1;-1!==this.a.bb?(b=this.a.la,c=this.a.sa,0===b&&(b=a.width),0===c&&(c=a.height)):(b=a.width,c=a.height);this.Se&&(this.ud+=this.Zk,this.xd+=this.$k);for(;this.a.width<this.a.wb&&(b+k.Nd+2*Math.abs(this.ud)>=this.a.width||c+k.Nd+2*Math.abs(this.xd)>=this.a.height);)this.a.Ro(),
this.Ub+=this.a.width>>2,this.Kh+=this.a.height>>2,this.Qb+=this.a.width>>2,this.ph+=this.a.height>>2,this.a.P&&(this.Ub-=this.a.height>>3,this.Qb-=this.a.height>>3);this.Dl(a);this.a.Qc&&PatternManager.rd[6]&&this.a.ns(a,this.Zc,this.$c);this.gd?this.g.notification.bm="rgb("+this.gd[0]+","+this.gd[1]+","+this.gd[2]+")":this.g.notification.bm=this.g.notification.Fp;if(0===this.cb.length)for(c=0;c<this.mc.length;c+=1)this.Mg[c]=PatternManager.rd[c]?k.Xp:k.Bn;this.a.Gc?(this.a.Mq(this.mc,this.cb),this.a.lf=
!0):this.a.lf=!1;this.El(a);this.a.it();this.sb.Xa=""!==this.Oe?this.Oe:this.zf;this.sb.G="rule "+this.zf;""!==this.Oe&&(this.sb.G+=" alias "+this.Oe)}this.a.cb=this.cb;this.a.to();this.a.ac(1);this.Bd.current=this.mh([this.ob,this.ob],!1,this);this.Sh.current=[this.Rd];this.gf.current=[this.Oa];this.Yg.current=[this.a.Gb];this.a.zs(this.Ve);this.a.jn();this.elapsedTime=this.Ne=this.Ra=this.a.i=0;this.yb?(a&&0<this.cb.length&&(this.mc=this.cb),this.a.Oq(this.mc),this.a.Ic.reset()):(-1===this.a.v&&
this.a.Bs(this.a.tb),this.a.Qc&&PatternManager.rd[2]&&this.a.Iq(a,this.Zc,this.$c),this.a.Ds(this.a.tb),-1!==this.a.bb&&this.a.nn(),this.a.Ls(this.Qd),this.a.dl(this.Qd));this.a.Jp();a&&(a.od=null);b=this.a.zoom;c=this.a.I;var e=this.a.D;var f=this.ea;this.ea=!1;this.Ie(!0,!1);this.ea=f;this.ii&&(this.a.zoom=b);this.ai&&(this.a.I=c);this.bi&&(this.a.D=e);this.kb&&this.rm(this.Rb);this.Co=this.a.zoom;this.Ma&&(this.Ma.current=this.df([this.a.zoom,this.a.zoom],!1,this));this.Ub=this.a.I;this.Kh=this.a.D;
this.Hh=this.a.angle;this.Ga&&(this.Ga.current=[this.Hh,this.Hh]);this.Qg=this.a.Id;this.Bb&&(this.Bb.current=[this.Qg,this.Qg]);this.lm=this.pc;b=Math.sqrt((this.lm-k.Rc)/(k.lg-k.Rc));this.fa&&(this.fa.current=this.cf([b,b],!0,this));this.nk=this.J;this.Ya&&(this.Ya.current=this.Gg([this.nk,this.nk],!0,this));this.Jh=this.a.m;this.nb&&(this.nb.current=[this.Jh,this.Jh]);this.km=this.a.vb;b=Math.sqrt(this.km);this.Qa&&(this.Qa.current=this.Lf([b,b],!0,this));this.ba=!0;this.Mc&&!this.Sf?(this.Hb=
!0,this.T.current=k.eh):(this.Hb=!1,this.T.current=k.Ka);this.Qp(this.Hb);this.s<k.ng?(this.Pd.j=!0,this.T.x=this.ti+45,this.T.Td=this.T.x,this.fa.x=this.mi+45,this.fa.Td=this.fa.x,this.Ya.x=this.Bh+45):(this.T.x=this.ti,this.T.Td=this.T.x,this.fa.x=this.mi,this.fa.Td=this.fa.x,this.Ya.x=this.Bh);this.Ya.Td=this.Ya.x;if(d||this.ea)this.ea&&this.Fn(),this.resize();a||(PatternManager.If?this.g.notification.F("Pattern too big!",k.vm,!1):this.g.notification.F("Invalid pattern!",k.vm,!1));this.Rb.length?
this.C=0:this.za=0;this.Aa||(this.Mb=!0);this.Mb?(this.T.j=!0,this.Nc.j=!0,this.Sd.j=!0,this.fa.j=!0,this.Ya.j=!0,this.yb&&(this.nb.j=!0,this.Qa.j=!0,this.Bb.j=!0,this.a.m=1),this.Va.j=!1,""===this.U?(this.Va.Xa=Keywords.Fj,this.Va.jd=k.Ph):(this.Va.Xa=this.U,this.Va.jd=this.ee)):this.Va.j=!0;this.iq();Help.hn(this,null,6,14,19,0);this.Cc=!1;this.Gk="";this.Np(this);this.Ei()?(this.ya.Xa="Density",this.ya.G="cell density"):(this.ya.Xa="Births",this.ya.G="cells born this generation");this.g.wh=!0;
this.g.yg(!0);this.Pc&&this.nl&&(""===this.ra?this.nl.nodeValue="LifeViewer":this.nl.nodeValue=this.Il(this.ra))};registerEvent(window,"load",M,!1);window.DocConfig=D;window.Controller=q;window.ViewConstants=k;window.startAllViewers=M;window.updateViewer=C;window.updateMe=function(a){var b=f(a).getElementsByTagName(D.lh)[0];a=q.Xb[0];b.innerHTML=b.value;b=e(b);a[1].Tn(a[1]);a[1].g.notification.clear(!0,!0);a[1].g.notification.clear(!1,!0);a[1].zn(b,!1)};window.hideViewer=a;window.launchInMolly=l})();window.Help={xs:function(b,c,f,a,d,e,l,C,K,g){var M=C,D=!1,k=b.L;e&&(e.fillStyle===ViewConstants.Ki&&(D=!0),k>=g&&k<=g+b.fb&&(e.font=ViewConstants.sk,D||(e.fillStyle=1<(b.C|0)?ViewConstants.Ph:ViewConstants.xk),e.fillText(c,l,C),D||(e.fillStyle=ViewConstants.Ph),e.fillText(f,l+e.measureText(c).width,C),D||(e.fillStyle=(b.C|0)<b.Xh-b.fb?ViewConstants.Ph:ViewConstants.xk),e.fillText(a,l+e.measureText(c+f).width,C),D||(e.fillStyle=ViewConstants.Ph),e.font=ViewConstants.Ah,e.fillText(d,l+b.Xe[0],C),M+=
K));b.L+=1;return M},Kb:function(b,c,f,a,d,e,l,C,K){var g=b.L;d&&(C-=6,g>=K&&g<=K+b.fb&&(b=d.fillStyle,b!==ViewConstants.Ki&&(d.fillStyle="rgb("+c+","+f+","+a+")"),d.fillRect(e,l-(C>>1)-1,C,C),d.fillStyle=b))},b:function(b,c,f,a,d,e,l,C){var K=e,g=String(f).indexOf("\t"),M=b.L,D=0;if(a&&M>=C&&M<=C+b.fb){if(c.length){a.font=ViewConstants.sk;a.fillText(c,d,e);for(a.font=ViewConstants.Ah;-1!==g;)a.fillText(f.substr(0,g),d+b.Xe[D],e),D+=1,f=f.substr(g+1),g=f.indexOf("\t");a.fillText(f,d+b.Xe[D],e)}else a.font=
ViewConstants.Ah,a.fillText(f,d,e);K+=l}b.L+=1;return K},sc:function(b,c,f){for(var a=ColourManager.mc,d=Object.keys(a),e="    "+b+"\t"+c+"\t"+f,l=!1,C,K=0;K<d.length&&!l;)C=a[d[K]],C[1]===b&&C[2]===c&&C[3]===f?(e+="\t"+C[0],l=!0,K=d.length):K+=1;return e},ej:function(b){return this.sc(b.red,b.green,b.blue)},uq:function(b){var c=0,f=0;b.a.i?b.ba&&(c=b.a.H.Y-b.a.H.X+1,f=b.a.H.Z-b.a.H.V+1):(c=b.Bf,f=b.vg);-1!==b.a.bb&&(0!==b.a.la&&(c=b.a.la),0!==b.a.sa&&(f=b.a.sa));return c+" x "+f},wq:function(b){var c=
"AutoFit";b.qf&&(c+=" History");b.Ve&&(c+=" State 1");return c},yp:function(b,c){c-=b.length;for(var f="";0<c;)f+=" ",--c;return f+b},hn:function(b,c,f,a,d,e){var l=a,C="Player",K;var g=b.a.tc[b.a.Id];var M=b.mc;var D=ColourManager.mc,k=Object.keys(D),q=b.Xe;var h=b.Zg;var m=0;b.L=1;q[0]=108;h[m]=b.L;m+=1;a=this.b(b,"",ViewConstants.lq+" build "+ViewConstants.Sn+" by "+ViewConstants.kq,c,f,a,d,e);a=this.b(b,"","",c,f,a,d,e);a=this.b(b,"","",c,f,a,d,e);q[0]=124;h[m]=b.L;m+=1;a=this.b(b,"","Keyboard commands",
c,f,a,d,e);a=this.b(b,"","",c,f,a,d,e);h[m]=b.L;m+=1;a=this.b(b,"","Playback controls:",c,f,a,d,e);b.yb?a=this.b(b,"R","reset",c,f,a,d,e):(a=this.b(b,"Enter","toggle play / pause",c,f,a,d,e),a=this.b(b,"Space","pause / next generation",c,f,a,d,e),a=this.b(b,"B","pause / previous generation",c,f,a,d,e),a=this.b(b,"Tab","pause / next step",c,f,a,d,e),a=this.b(b,"Shift Tab","pause / previous step",c,f,a,d,e),a=b.Pc?this.b(b,"Esc","close LifeViewer",c,f,a,d,e):this.b(b,"Esc","pause if playing",c,f,a,
d,e),a=this.b(b,"R","reset to generation 0",c,f,a,d,e),a=this.b(b,"Shift R","reset all LifeViewers to generation 0",c,f,a,d,e),a=this.b(b,"-","decrease generation speed",c,f,a,d,e),a=this.b(b,"+","increase generation speed",c,f,a,d,e),a=this.b(b,"Shift -","minimum generation speed",c,f,a,d,e),a=this.b(b,"Shift +","maximum generation speed",c,f,a,d,e),a=this.b(b,"D","decrease step size",c,f,a,d,e),a=this.b(b,"E","increase step size",c,f,a,d,e),a=this.b(b,"Shift D","minimum step size",c,f,a,d,e),a=
this.b(b,"Shift E","maximum step size",c,f,a,d,e),a=this.b(b,"0","reset step and speed",c,f,a,d,e),b.kb?(a=-1!==b.M?this.b(b,"W","toggle waypoint playback and loop",c,f,a,d,e):this.b(b,"W","toggle waypoint playback",c,f,a,d,e),a=this.b(b,"Y","move back in time",c,f,a,d,e),a=this.b(b,"U","move forward in time",c,f,a,d,e)):-1!==b.M&&(a=this.b(b,"W","toggle loop",c,f,a,d,e)));a=this.b(b,"Z","stop playback in all other LifeViewers",c,f,a,d,e);a=this.b(b,"Shift Z","stop playback in all LifeViewers",c,
f,a,d,e);a=this.b(b,"","",c,f,a,d,e);h[m]=b.L;m+=1;a=this.b(b,"","Camera controls:",c,f,a,d,e);if(b.s>=ViewConstants.ng||(b.ea&&b.Kn)>=ViewConstants.ng)a=this.b(b,"M","toggle navigation menu",c,f,a,d,e);a=this.b(b,"V","restore saved camera position",c,f,a,d,e);a=this.b(b,"Shift V","save current camera position",c,f,a,d,e);var u=b.A.Da.length;if(0<u)for(a=this.b(b,"J","jump to next point of interest",c,f,a,d,e),a=this.b(b,"Shift J","jump to previous point of interest",c,f,a,d,e),9<u&&(u=9),K=1;K<=
u;K+=1)a=this.b(b,"Alt "+String(K),"jump to POI #"+String(K),c,f,a,d,e);a=this.b(b,"F","fit pattern to display",c,f,a,d,e);a=this.b(b,"Shift F","toggle autofit",c,f,a,d,e);a=this.b(b,"Shift H","toggle autofit history mode",c,f,a,d,e);b.a.Qc&&(a=this.b(b,"Shift S","toggle autofit state 1 mode",c,f,a,d,e));a=this.b(b,"[","zoom out",c,f,a,d,e);a=this.b(b,"]","zoom in",c,f,a,d,e);a=this.b(b,"Shift [","halve zoom",c,f,a,d,e);a=this.b(b,"Shift ]","double zoom",c,f,a,d,e);a=this.b(b,"1","1x zoom",c,f,a,
d,e);a=this.b(b,"2","2x zoom",c,f,a,d,e);a=this.b(b,"4","4x zoom",c,f,a,d,e);a=this.b(b,"8","8x zoom",c,f,a,d,e);a=this.b(b,"6","16x zoom",c,f,a,d,e);a=this.b(b,"3","32x zoom",c,f,a,d,e);a=this.b(b,"Shift 1","integer zoom",c,f,a,d,e);a=this.b(b,"Shift 2","-2x zoom",c,f,a,d,e);a=this.b(b,"Shift 4","-4x zoom",c,f,a,d,e);a=this.b(b,"Shift 8","-8x zoom",c,f,a,d,e);a=this.b(b,"Shift 6","-16x zoom",c,f,a,d,e);a=this.b(b,"Left","pan left",c,f,a,d,e);a=this.b(b,"Right","pan right",c,f,a,d,e);a=this.b(b,"Up",
"pan up",c,f,a,d,e);a=this.b(b,"Down","pan down",c,f,a,d,e);a=this.b(b,"Shift Left","pan north west",c,f,a,d,e);a=this.b(b,"Shift Right","pan south east",c,f,a,d,e);a=this.b(b,"Shift Up","pan north east",c,f,a,d,e);a=this.b(b,"Shift Down","pan south west",c,f,a,d,e);a=this.b(b,"<","rotate left",c,f,a,d,e);a=this.b(b,">","rotate right",c,f,a,d,e);a=this.b(b,"Shift <","rotate left 90 degrees",c,f,a,d,e);a=this.b(b,"Shift >","rotate right 90 degrees",c,f,a,d,e);a=this.b(b,"5","reset angle",c,f,a,d,e);
a=this.b(b,"","",c,f,a,d,e);b.yb||(h[m]=b.L,m+=1,a=this.b(b,"","View controls:",c,f,a,d,e),a=this.b(b,"Q","increase number of layers",c,f,a,d,e),a=this.b(b,"A","decrease number of layers",c,f,a,d,e),a=this.b(b,"P","increase layer depth",c,f,a,d,e),a=this.b(b,"L","decrease layer depth",c,f,a,d,e),a=this.b(b,"C","next colour theme",c,f,a,d,e),a=this.b(b,"Shift C","previous colour theme",c,f,a,d,e),a=this.b(b,"Alt C","default theme",c,f,a,d,e),a=this.b(b,"","",c,f,a,d,e));h[m]=b.L;m+=1;a=this.b(b,"",
"Display controls:",c,f,a,d,e);b.yb||(a=this.b(b,"G","toggle generation statistics",c,f,a,d,e),a=this.b(b,"Shift G","toggle generation display mode",c,f,a,d,e),a=this.b(b,"Y","toggle population graph",c,f,a,d,e),a=this.b(b,"Shift Y","toggle graph lines",c,f,a,d,e),a=this.b(b,"7","decrease graph opacity",c,f,a,d,e),a=this.b(b,"9","increase graph opacity",c,f,a,d,e));a=this.b(b,"/","toggle hex view",c,f,a,d,e);a=this.b(b,"Shift /","pattern default view",c,f,a,d,e);a=this.b(b,"T","toggle timing information",
c,f,a,d,e);a=this.b(b,"Shift T","toggle extended timing information",c,f,a,d,e);a=this.b(b,"I","toggle pattern and engine information",c,f,a,d,e);a=this.b(b,"Shift I","toggle information bar",c,f,a,d,e);a=this.b(b,"X","toggle grid lines",c,f,a,d,e);0<b.a.kd&&(a=this.b(b,"Shift X","toggle major grid lines",c,f,a,d,e));b.Hf&&(a=this.b(b,"N","toggle thumbnail view",c,f,a,d,e));a=this.b(b,"S","toggle stars",c,f,a,d,e);a=this.b(b,"O","open screenshot in separate window",c,f,a,d,e);a=this.b(b,"Shift O",
"open population graph in separate window",c,f,a,d,e);a=this.b(b,"Control C","copy pattern to clipboard",c,f,a,d,e);a=this.b(b,"","",c,f,a,d,e);h[m]=b.L;m+=1;a=this.b(b,"","Help controls:",c,f,a,d,e);a=this.b(b,"Up","scroll up one line",c,f,a,d,e);a=this.b(b,"Down","scroll down one line",c,f,a,d,e);a=this.b(b,"PgUp","scroll up one page",c,f,a,d,e);a=this.b(b,"PgDn","scroll down one page",c,f,a,d,e);a=this.b(b,"Shift PgUp","scroll up one section",c,f,a,d,e);a=this.b(b,"Shift PgDn","scroll down one section",
c,f,a,d,e);a=this.b(b,"Home","go to first help page",c,f,a,d,e);a=this.b(b,"End","go to last help page",c,f,a,d,e);a=this.b(b,"","",c,f,a,d,e);q[0]=252;a=this.b(b,"","",c,f,a,d,e);b.Op=b.L;h[m]=b.L;m+=1;a=this.b(b,"","Scripts",c,f,a,d,e);a=this.b(b,"","",c,f,a,d,e);a=this.b(b,"","Scripts must be embedded in pattern comments",c,f,a,d,e);a=this.b(b,"","Commands must be surrounded by whitespace",c,f,a,d,e);a=this.b(b,"","",c,f,a,d,e);a=this.b(b,"","Parameter conventions:",c,f,a,d,e);a=this.b(b,"A|B",
"either A or B",c,f,a,d,e);a=this.b(b,"(A)","A is optional",c,f,a,d,e);a=this.b(b,"<1..3>","integer range",c,f,a,d,e);a=this.b(b,"<1.0..3.0>","decimal range",c,f,a,d,e);a=this.b(b,"","",c,f,a,d,e);h[m]=b.L;m+=1;a=this.b(b,"","Commands:",c,f,a,d,e);a=this.b(b,Keywords.di,"start script section",c,f,a,d,e);a=this.b(b,Keywords.lj,"end script section",c,f,a,d,e);a=this.b(b,Keywords.Cn,"enable strict validation",c,f,a,d,e);a=this.b(b,Keywords.Dn,"suppress overwrite warning",c,f,a,d,e);a=this.b(b,Keywords.Uj+
" ("+Keywords.xa+")","start play automatically",c,f,a,d,e);a=this.b(b,Keywords.Em,"always use hard reset",c,f,a,d,e);a=this.b(b,Keywords.oe+" <1..>|"+Keywords.xa,"loop at generation",c,f,a,d,e);a=this.b(b,Keywords.se+" <1..>|"+Keywords.xa,"stop at generation",c,f,a,d,e);a=this.b(b,Keywords.pj+" <0..>","waypoint at generation",c,f,a,d,e);a=this.b(b,Keywords.Zm+" <0.0..>","pause for time",c,f,a,d,e);a=this.b(b,Keywords.nd+" "+Keywords.ye+"|"+Keywords.Yb+"|"+Keywords.Zb+"|"+Keywords.qb,"linear motion",
c,f,a,d,e);a=this.b(b,Keywords.be+" "+Keywords.ye+"|"+Keywords.Yb+"|"+Keywords.Zb+"|"+Keywords.qb,"bezier motion (default)",c,f,a,d,e);a=this.b(b,Keywords.Tj+" ("+Keywords.xa+")","fit pattern to display",c,f,a,d,e);a=this.b(b,Keywords.Im+" ("+Keywords.xa+")","autofit uses pattern history",c,f,a,d,e);a=this.b(b,Keywords.An+" ("+Keywords.xa+")","autofit only uses state 1",c,f,a,d,e);a=this.b(b,Keywords.zj+" X Y","camera tracking",c,f,a,d,e);a=this.b(b," X ","horizontal speed cells/gen",c,f,a,d,e);a=
this.b(b," Y ","vertical speed cells/gen",c,f,a,d,e);a=this.b(b,Keywords.yh+" E S W N","camera box tracking",c,f,a,d,e);a=this.b(b," E ","east edge speed cells/gen",c,f,a,d,e);a=this.b(b," S ","south edge speed cells/gen",c,f,a,d,e);a=this.b(b," W ","west edge speed cells/gen",c,f,a,d,e);a=this.b(b," N ","north edge speed cells/gen",c,f,a,d,e);a=this.b(b,Keywords.yj+" P X Y","camera tracking with loop",c,f,a,d,e);a=this.b(b," P ","period",c,f,a,d,e);a=this.b(b," X ","horizontal speed cells/gen",c,
f,a,d,e);a=this.b(b," Y ","vertical speed cells/gen",c,f,a,d,e);a=this.b(b,Keywords.Yk,"define point of interest",c,f,a,d,e);a=this.b(b,Keywords.Xk+" <0..>","start POI at generation",c,f,a,d,e);a=this.b(b,Keywords.$i,"reset generation at POI",c,f,a,d,e);a=this.b(b,Keywords.Zh,"start playback at POI",c,f,a,d,e);a=this.b(b,Keywords.$h,"stop playback at POI",c,f,a,d,e);a=this.b(b,Keywords.aj+" <"+WaypointConstants.Dp+".."+WaypointConstants.Cp+">","set POI transition speed",c,f,a,d,e);a=this.b(b,"<command>|ALL "+
Keywords.qa,"use initial value for POI",c,f,a,d,e);a=this.b(b,Keywords.Ab+"<string>"+Keywords.Ab,"define message",c,f,a,d,e);a=this.b(b,Keywords.ji+" "+Keywords.Ab+"<string>"+Keywords.Ab,"set window title",c,f,a,d,e);a=this.b(b," "+Keywords.Yc+"B","program build number",c,f,a,d,e);a=this.b(b," "+Keywords.Yc+"N","pattern name",c,f,a,d,e);a=this.b(b," "+Keywords.Yc+"O","pattern originator",c,f,a,d,e);a=this.b(b," "+Keywords.Yc+"R","rule name",c,f,a,d,e);a=this.b(b," "+Keywords.Yc+"A","rule alias",c,
f,a,d,e);a=this.b(b," "+Keywords.Yc+"T","program title",c,f,a,d,e);a=this.b(b," "+Keywords.Yc+Keywords.Yc,Keywords.Yc+" symbol",c,f,a,d,e);a=this.b(b,Keywords.Tm,"disable menus and hotkeys",c,f,a,d,e);a=this.b(b,Keywords.Sm,"disable pattern source copy",c,f,a,d,e);a=this.b(b,Keywords.Wm,"hide pattern source",c,f,a,d,e);a=this.b(b,Keywords.Fj,"disable playback",c,f,a,d,e);a=this.b(b,Keywords.Um,"disable step back",c,f,a,d,e);a=this.b(b,Keywords.Vm,"disable stop messages",c,f,a,d,e);a=this.b(b,Keywords.Mn+
" ("+Keywords.xa+")","start at 1/"+b.Lb+" size",c,f,a,d,e);a=this.b(b,Keywords.Ln+" <"+ViewConstants.rp+".."+ViewConstants.op+">","set thumbnail divisor",c,f,a,d,e);a=this.b(b,Keywords.cq+" ("+Keywords.xa+")","thumbnail launches viewer",c,f,a,d,e);a=this.b(b,Keywords.Ji+" ("+Keywords.xa+")","display grid lines",c,f,a,d,e);a=this.b(b,Keywords.Ii+" <0..16>","set major grid line interval",c,f,a,d,e);a=this.b(b,Keywords.wk,"display population graph",c,f,a,d,e);a=this.b(b,Keywords.Am+" <0.0..1.0>","population graph opacity",
c,f,a,d,e);a=this.b(b,Keywords.Bm,"population graph use points",c,f,a,d,e);a=this.b(b,Keywords.Pk,"disable population graph",c,f,a,d,e);a=this.b(b,Keywords.oj+" ("+Keywords.xa+")","display stars",c,f,a,d,e);a=this.b(b,Keywords.Gm,"force hex display",c,f,a,d,e);a=this.b(b,Keywords.un,"force square display",c,f,a,d,e);a=this.b(b,Keywords.Gf+" <0.."+(b.a.rc-1)+">|"+Keywords.rj,"set theme",c,f,a,d,e);a=this.b(b,Keywords.Ha+" "+Keywords.$p+" R G B","set theme background",c,f,a,d,e);a=this.b(b,Keywords.Ha+
" "+Keywords.In+" R G B","set theme alive color",c,f,a,d,e);a=this.b(b,Keywords.Ha+" "+Keywords.Zp+" R G B","set theme alive ramp",c,f,a,d,e);a=this.b(b,Keywords.Ha+" "+Keywords.Jn+" R G B","set theme dead color",c,f,a,d,e);a=this.b(b,Keywords.Ha+" "+Keywords.aq+" R G B","set theme dead ramp",c,f,a,d,e);a=this.b(b,Keywords.Ha+" "+Keywords.fo+" R G B","set boundary color",c,f,a,d,e);a=this.b(b,Keywords.Ha+" <0.."+String(b.Af-1)+"> R G B","set state color",c,f,a,d,e);a=this.b(b,Keywords.Ha+" "+Keywords.tp+
" R G B","set [R]History state color "+ViewConstants.up,c,f,a,d,e);a=this.b(b,Keywords.Ha+" "+Keywords.vp+" R G B","set [R]History state color "+ViewConstants.wp,c,f,a,d,e);a=this.b(b,Keywords.Ha+" "+Keywords.Uo+" R G B","set [R]History state color "+ViewConstants.Wo,c,f,a,d,e);a=this.b(b,Keywords.Ha+" "+Keywords.fp+" R G B","set [R]History state color "+ViewConstants.gp,c,f,a,d,e);a=this.b(b,Keywords.Ha+" "+Keywords.jp+" R G B","set [R]History state color "+ViewConstants.kp,c,f,a,d,e);a=this.b(b,
Keywords.Ha+" "+Keywords.hp+" R G B","set [R]History state color "+ViewConstants.ip,c,f,a,d,e);a=this.b(b,Keywords.Ha+" "+Keywords.$o+" R G B","set [R]History state color "+ViewConstants.ap,c,f,a,d,e);a=this.b(b,Keywords.Ha+" "+Keywords.Ji+" R G B","set grid color",c,f,a,d,e);a=this.b(b,Keywords.Ha+" "+Keywords.Ii+" R G B","set grid major color",c,f,a,d,e);a=this.b(b,Keywords.Ha+" "+Keywords.oj+" R G B","set star color",c,f,a,d,e);a=this.b(b,Keywords.Ha+" "+Keywords.Gn+" R G B","set waypoint message color",
c,f,a,d,e);a=this.b(b,Keywords.Ha+" "+Keywords.um+" R G B","set error message color",c,f,a,d,e);a=this.b(b,Keywords.Ha+" "+Keywords.Oo+" R G B","set graph background color",c,f,a,d,e);a=this.b(b,Keywords.Ha+" "+Keywords.No+" R G B","set graph axis color",c,f,a,d,e);a=this.b(b,Keywords.Ha+" "+Keywords.Mo+" R G B","set graph alive color",c,f,a,d,e);a=this.b(b,Keywords.Ha+" "+Keywords.Po+" R G B","set graph birth color",c,f,a,d,e);a=this.b(b,Keywords.Ha+" "+Keywords.Qo+" R G B","set graph death color",
c,f,a,d,e);a=this.b(b,Keywords.cm,"same as "+Keywords.Ha,c,f,a,d,e);a=this.b(b,Keywords.Xg+" <"+ViewConstants.Rc+".."+ViewConstants.lg+">","set steps per second",c,f,a,d,e);a=this.b(b,Keywords.uh+" <"+ViewConstants.dh+".."+ViewConstants.Nd+">","set generations per step",c,f,a,d,e);a=this.b(b,Keywords.Rf+" <0..359>","set camera angle",c,f,a,d,e);a=this.b(b,Keywords.Yb+" <-"+(b.a.wb>>1)+".."+(b.a.wb>>1)+">","set camera x position",c,f,a,d,e);a=this.b(b,Keywords.Zb+" <-"+(b.a.wb>>1)+".."+(b.a.wb>>1)+
">","set camera y position",c,f,a,d,e);a=this.b(b,Keywords.qb+" <"+Number(-1/ViewConstants.Ba).toFixed(1)+".."+ViewConstants.xb.toFixed(1)+">","set camera zoom",c,f,a,d,e);a=this.b(b,Keywords.Vl,"same as "+Keywords.qb,c,f,a,d,e);a=this.b(b,Keywords.bh+" <"+ViewConstants.Nk+".."+ViewConstants.Kk+">","set number of layers",c,f,a,d,e);a=this.b(b,Keywords.Rg+" <"+ViewConstants.Mk.toFixed(1)+".."+ViewConstants.mp.toFixed(1)+">","set layer depth",c,f,a,d,e);a=this.b(b,Keywords.rl+" <-"+(b.a.wb>>1)+".."+
(b.a.wb>>1)+">","set pattern x offset",c,f,a,d,e);a=this.b(b,Keywords.sl+" <-"+(b.a.wb>>1)+".."+(b.a.wb>>1)+">","set pattern y offset",c,f,a,d,e);a=this.b(b,Keywords.pi+" <"+ViewConstants.Sc+".."+b.Le+">","set LifeViewer width",c,f,a,d,e);a=this.b(b,Keywords.Oh+" <"+ViewConstants.Wh+".."+ViewConstants.Lk+">","set LifeViewer height",c,f,a,d,e);a=this.b(b,Keywords.cj+" <"+ViewConstants.Sc+".."+b.Le+">","set popup width",c,f,a,d,e);a=this.b(b,Keywords.bj+" <"+ViewConstants.Wh+".."+ViewConstants.Lk+">",
"set popup height",c,f,a,d,e);a=this.b(b,Keywords.rn,"show timing information",c,f,a,d,e);a=this.b(b,Keywords.wm,"extended timing information",c,f,a,d,e);a=this.b(b,Keywords.pn,"show generation statistics",c,f,a,d,e);a=this.b(b,Keywords.qn,"show information bar",c,f,a,d,e);a=this.b(b,Keywords.mm+" <"+ViewConstants.pp+".."+ViewConstants.lp+">","set boundary delete range",c,f,a,d,e);a=this.b(b,Keywords.fn+" <string>","set random seed",c,f,a,d,e);a=this.b(b,"","",c,f,a,d,e);q[0]=128;a=this.b(b,"","",
c,f,a,d,e);b.Dk=b.L;h[m]=b.L;m+=1;a=this.b(b,"","Information",c,f,a,d,e);a=this.b(b,"","",c,f,a,d,e);h[m]=b.L;m+=1;a=this.b(b,"","Display:",c,f,a,d,e);a=this.b(b,"Size",b.u+" x "+b.s,c,f,a,d,e);DocConfig.Qi&&(a=this.b(b,"Limit Width",b.Le,c,f,a,d,e));u=b.a.R;1>u&&(u=-1/u);a=this.b(b,"View","X "+-(b.a.width/2-(b.a.I+b.a.Uc)|0)+"  Y "+-(b.a.height/2-(b.a.D+b.a.Fc)|0)+"  Z "+u.toFixed(2)+"  ANGLE "+b.a.angle.toFixed(0),c,f,a,d,e);u=b.ci;1>u&&(u=1/u);a=this.b(b,"Saved View","X "+-(b.a.width/2-b.Qb|0)+
"  Y "+-(b.a.height/2-b.ph|0)+"  Z "+u.toFixed(2)+"  ANGLE "+b.ln.toFixed(0),c,f,a,d,e);a=this.b(b,"Origin","X "+b.a.Uc.toFixed(2)+"  Y "+b.a.Fc.toFixed(2)+"  Z "+b.a.gc.toFixed(3),c,f,a,d,e);b.Mb?C=b.yb?"Multi-State Viewer":"Viewer":b.a.Qc&&(C="History Player");a=this.b(b,"Type",C,c,f,a,d,e);C=b.a.P?"Hex":"Square";a=this.b(b,"Mode",C,c,f,a,d,e);b.Hf&&(a=this.b(b,"Thumbnail","1/"+b.Lb,c,f,a,d,e));a=this.b(b,"","",c,f,a,d,e);h[m]=b.L;m+=1;a=this.b(b,"","Pattern:",c,f,a,d,e);""!==b.Wi&&(a=this.b(b,
"Name",b.Wi,c,f,a,d,e));""!==b.Xi&&(a=this.b(b,"Originator",b.Xi,c,f,a,d,e));a=this.b(b,"Actual Size",b.Bf+" x "+b.vg,c,f,a,d,e);-1!==b.Xd&&-1!==b.Wd&&(a=this.b(b,"Specified",b.Xd+" x "+b.Wd,c,f,a,d,e));a=this.b(b,"Offset","X "+b.ud+"  Y "+b.xd,c,f,a,d,e);b.$f&&(a=this.b(b,"CXRLE Gen",b.uk,c,f,a,d,e));b.Se&&(a=this.b(b,"CXRLE Pos","X "+b.Zk+"  Y "+b.$k,c,f,a,d,e));b.Un&&(a=this.b(b,"Clipped",(0===b.a.la?"Inf":b.a.la)+" x "+(0===b.a.sa?"Inf":b.a.sa)+" "+PatternManager.io(b.a.bb),c,f,a,d,e));b.Aa?K=
b.zf:(K=b.zf,""===K&&(K="(none)"));if("MAP"===K.substr(0,3)&&K.length===PatternManager.Th+3)for(a=this.b(b,"Rule","MAP",c,f,a,d,e),u=3;u<PatternManager.Th+3;)a=this.b(b,"  "+(u-3),K.substr(u,16),c,f,a,d,e),u+=16;else a=this.b(b,"Rule",K,c,f,a,d,e);""!==b.Oe&&(a=this.b(b,"Alias",b.Oe,c,f,a,d,e));K=-1!==b.a.Mf?"1D":b.a.Vk?"Hex":b.a.Bc?"Von Neumann":"Moore";a=this.b(b,"N'hood",K,c,f,a,d,e);K=b.Af;2<b.Af&&b.Zi!==b.Af&&(K=b.Zi+" of "+K);a=this.b(b,"States",K,c,f,a,d,e);if(b.Yi)for(K=1;K<b.Af;K+=1)b.Yi[K]&&
(a=this.b(b,"State "+K,b.Yi[K],c,f,a,d,e));a=this.b(b,"Decoder",b.qe,c,f,a,d,e);a=this.b(b,"","",c,f,a,d,e);h[m]=b.L;m+=1;a=this.b(b,"","Grid:",c,f,a,d,e);a=this.b(b,"Size",b.a.width+" x "+b.a.height,c,f,a,d,e);a=this.b(b,"Maximum",b.a.wb+" x "+b.a.wb,c,f,a,d,e);a=this.b(b,"Area",this.uq(b),c,f,a,d,e);a=0!==(b.a.i&1)?this.b(b,"Tiles",b.a.sj(b.a.wa)+" / "+b.a.sj(b.a.Pa),c,f,a,d,e):this.b(b,"Tiles",b.a.sj(b.a.aa)+" / "+b.a.sj(b.a.Pa),c,f,a,d,e);b.a.re&&(a=this.b(b,"State6",b.a.sj(b.a.re),c,f,a,d,e));
a=this.b(b,"Tile Size",(b.a.tj<<3)+" x "+b.a.uj,c,f,a,d,e);a=this.b(b,"Generation",b.a.i,c,f,a,d,e);a=this.b(b,"DeleteRange",b.a.al,c,f,a,d,e);a=this.b(b,"","",c,f,a,d,e);-1!==b.a.bb&&(h[m]=b.L,m+=1,a=this.b(b,"","Bounded grid:",c,f,a,d,e),a=this.b(b,"Type",PatternManager.io(b.a.bb),c,f,a,d,e),a=0===b.a.la?this.b(b,"Width","Infinite",c,f,a,d,e):this.b(b,"Width",b.a.la,c,f,a,d,e),4!==b.a.bb&&(a=0===b.a.sa?this.b(b,"Height","Infinite",c,f,a,d,e):this.b(b,"Height",b.a.sa,c,f,a,d,e),2===b.a.bb&&(a=b.a.Zl?
this.b(b,"Twist","Horizontal",c,f,a,d,e):this.b(b,"Twist","Vertical",c,f,a,d,e)),0!==b.a.yi&&(a=this.b(b,"H'Shift",b.a.yi,c,f,a,d,e)),0!==b.a.zi&&(a=this.b(b,"V'Shift",b.a.zi,c,f,a,d,e))),a=this.b(b,"","",c,f,a,d,e));h[m]=b.L;m+=1;a=this.b(b,"","AutoFit:",c,f,a,d,e);a=this.b(b,"Enabled",b.Oa?"On":"Off",c,f,a,d,e);a=this.b(b,"Mode",this.wq(b),c,f,a,d,e);a=this.b(b,"","",c,f,a,d,e);h[m]=b.L;m+=1;a=this.b(b,"","Track:",c,f,a,d,e);a=this.b(b,"Enabled",b.hb&&!b.ib?"On":"Off",c,f,a,d,e);b.hb&&(b.xh?(a=
this.b(b,"Mode","Track Box",c,f,a,d,e),a=this.b(b,"Definition","E "+b.af.toFixed(3)+"  S "+b.bf.toFixed(3)+"  W "+b.Kf.toFixed(3)+"  N "+b.Jf.toFixed(3),c,f,a,d,e)):(a=this.b(b,"Mode","Track",c,f,a,d,e),a=this.b(b,"Definition","X "+b.af.toFixed(3)+"  Y "+b.bf.toFixed(3),c,f,a,d,e)));a=this.b(b,"Current","E "+b.Yj.toFixed(3)+"  S "+b.$j.toFixed(3)+"  W "+b.ak.toFixed(3)+"  N "+b.Zj.toFixed(3),c,f,a,d,e);a=this.b(b,"","",c,f,a,d,e);h[m]=b.L;m+=1;a=this.b(b,"","Step back:",c,f,a,d,e);a=this.b(b,"Enabled",
b.Qd?"Off":"On",c,f,a,d,e);if(!b.Qd){a=this.b(b,"Snapshots",b.a.Ic.ot()+"/"+b.a.Ic.Hd.length,c,f,a,d,e);K=0;u=b.a.Ic.Vc.length;if(0<u)for(a=this.b(b,"Reset Gens",u,c,f,a,d,e);K<u;)a=this.b(b,String(K),b.a.Ic.Vc[K].i,c,f,a,d,e),K+=1;a=this.b(b,"Buffer",(b.a.Ic.bufferSize()>>10)+"K",c,f,a,d,e);a=this.b(b,"Next Gen",b.a.gh,c,f,a,d,e)}a=this.b(b,"","",c,f,a,d,e);h[m]=b.L;m+=1;a=this.b(b,"","Engine:",c,f,a,d,e);a=this.b(b,"Name",ViewConstants.lq,c,f,a,d,e);a=this.b(b,"Build",ViewConstants.Sn,c,f,a,d,e);
a=this.b(b,"Author",ViewConstants.kq,c,f,a,d,e);a=this.b(b,"Decoders","RLE, Life 1.06, Life 1.05, Cells",c,f,a,d,e);a=this.b(b,"N'hoods","Moore, Hex, Von Neumann, 1D",c,f,a,d,e);a=this.b(b,"Rules","Wolfram, Totalistic, Generations,",c,f,a,d,e);a=this.b(b," ","Isotropic Non-Totalistic (Hensel),",c,f,a,d,e);a=this.b(b," ","Larger Than Life, MAP",c,f,a,d,e);a=this.b(b,"BoundedGrid","Plane, Torus, Klein, Cross-surface, Sphere",c,f,a,d,e);a=this.b(b,"States","2 state, [R]History, Niemiec,",c,f,a,d,e);
a=this.b(b," ","Generations, Larger Than Life",c,f,a,d,e);a=this.b(b,"Viewers",Controller.Xb.length,c,f,a,d,e);a=this.b(b,"Playing",Controller.st(),c,f,a,d,e);a=this.b(b,"","",c,f,a,d,e);q[1]=210;q[2]=270;q[3]=330;if(b.yb)for(h[m]=b.L,m+=1,a=this.b(b,"","Set:",c,f,a,d,e),a=this.b(b,"Name",b.Ai,c,f,a,d,e),a=this.b(b,"Used",b.Zi,c,f,a,d,e),K=0;K<b.Mg.length;K+=1)b.Mg[K]!==ViewConstants.Bn&&(C=this.sc(M[K]>>16&255,M[K]>>8&255,M[K]&255),g=String(K),b.Mg[K]!==ViewConstants.Wp||b.Rj||(g+="*"),this.Kb(b,
M[K]>>16,M[K]>>8&255,M[K]&255,c,f+q[0],a,d,e),a=this.b(b,g,C,c,f,a,d,e));else{h[m]=b.L;m+=1;a=this.b(b,"","Theme:",c,f,a,d,e);M=b.a.Id===b.a.rc?"(custom)":String(b.a.Id);a=this.b(b,"Name",M,c,f,a,d,e);this.Kb(b,b.a.Hc[0],b.a.Ac[0],b.a.yc[0],c,f+q[0],a,d,e);a=this.b(b,"Background",this.sc(b.a.Hc[0],b.a.Ac[0],b.a.yc[0]),c,f,a,d,e);if(-1!==b.a.v)for(K=1;K<b.a.v;K+=1)this.Kb(b,b.a.Hc[K],b.a.Ac[K],b.a.yc[K],c,f+q[0],a,d,e),a=this.b(b,"State "+K,this.sc(b.a.Hc[K],b.a.Ac[K],b.a.yc[K]),c,f,a,d,e);else this.Kb(b,
g.ab.O.red,g.ab.O.green,g.ab.O.blue,c,f+q[0],a,d,e),a=this.b(b,"Alive",this.ej(g.ab.O),c,f,a,d,e),g.ab.O.red!==g.ab.ha.red||g.ab.O.green!==g.ab.ha.green||g.ab.O.blue!==g.ab.ha.blue?(this.Kb(b,g.ab.ha.red,g.ab.ha.green,g.ab.ha.blue,c,f+q[0],a,d,e),a=this.b(b,"AliveRamp",this.ej(g.ab.ha),c,f,a,d,e)):a=this.b(b,"AliveRamp","    (none)",c,f,a,d,e),this.Kb(b,g.Wa.O.red,g.Wa.O.green,g.Wa.O.blue,c,f+q[0],a,d,e),a=this.b(b,"Dead",this.ej(g.Wa.O),c,f,a,d,e),g.Wa.O.red!==g.Wa.ha.red||g.Wa.O.green!==g.Wa.ha.green||
g.Wa.O.blue!==g.Wa.ha.blue?(this.Kb(b,g.Wa.ha.red,g.Wa.ha.green,g.Wa.ha.blue,c,f+q[0],a,d,e),a=this.b(b,"DeadRamp",this.ej(g.Wa.ha),c,f,a,d,e)):a=this.b(b,"DeadRamp","    (none)",c,f,a,d,e);if(b.a.Qc)for(K=3;6>=K;K+=1)u=128+ViewConstants.Ua[K],C=this.sc(b.a.Hc[u],b.a.Ac[u],b.a.yc[u]),g=ViewConstants.at[K],this.Kb(b,b.a.Hc[u],b.a.Ac[u],b.a.yc[u],c,f+q[0],a,d,e),a=this.b(b,g,C,c,f,a,d,e)}this.Kb(b,b.Tf[0],b.Tf[1],b.Tf[2],c,f+q[0],a,d,e);a=this.b(b,"Boundary",this.sc(b.Tf[0],b.Tf[1],b.Tf[2]),c,f,a,d,
e);b.gd&&(this.Kb(b,b.gd[0],b.gd[1],b.gd[2],c,f+q[0],a,d,e),a=this.b(b,"Text",this.sc(b.gd[0],b.gd[1],b.gd[2]),c,f,a,d,e));b.jf&&(this.Kb(b,b.jf[0],b.jf[1],b.jf[2],c,f+q[0],a,d,e),a=this.b(b,"Error",this.sc(b.jf[0],b.jf[1],b.jf[2]),c,f,a,d,e));a=this.b(b,"","",c,f,a,d,e);h[m]=b.L;m+=1;a=this.b(b,"","Grid Lines:",c,f,a,d,e);M=b.a.Gb?"On":"Off";b.a.Gb&&!b.a.hf()&&(M+=" (Hidden)");a=this.b(b,"Enabled",M,c,f,a,d,e);M="Line Color";-1!==b.Bi&&(M+="*");this.Kb(b,b.a.ld>>16,b.a.ld>>8&255,b.a.ld&255,c,f+q[0],
a,d,e);a=this.b(b,M,this.sc(b.a.ld>>16,b.a.ld>>8&255,b.a.ld&255),c,f,a,d,e);M="Major Color";-1!==b.Ci&&(M+="*");this.Kb(b,b.a.le>>16,b.a.le>>8&255,b.a.le&255,c,f+q[0],a,d,e);a=this.b(b,M,this.sc(b.a.le>>16,b.a.le>>8&255,b.a.le&255),c,f,a,d,e);M=0<b.a.kd&&b.a.ag?String(b.a.kd):"Off";a=this.b(b,"Interval",M,c,f,a,d,e);a=this.b(b,"","",c,f,a,d,e);h[m]=b.L;m+=1;a=this.b(b,"","Population Graph:",c,f,a,d,e);a=this.b(b,"Enabled",b.Pb?"On":"Off",c,f,a,d,e);a=this.b(b,"Disabled",b.ke?"On":"Off",c,f,a,d,e);
a=this.b(b,"Mode",b.Rd?"Lines":"Points",c,f,a,d,e);a=this.b(b,"Opacity",b.ob.toFixed(2),c,f,a,d,e);this.Kb(b,b.a.he[0],b.a.he[1],b.a.he[2],c,f+q[0],a,d,e);a=this.b(b,"Bg Color",this.sc(b.a.he[0],b.a.he[1],b.a.he[2]),c,f,a,d,e);this.Kb(b,b.a.ge[0],b.a.ge[1],b.a.ge[2],c,f+q[0],a,d,e);a=this.b(b,"Axis Color",this.sc(b.a.ge[0],b.a.ge[1],b.a.ge[2]),c,f,a,d,e);this.Kb(b,b.a.fe[0],b.a.fe[1],b.a.fe[2],c,f+q[0],a,d,e);a=this.b(b,"Alive Color",this.sc(b.a.fe[0],b.a.fe[1],b.a.fe[2]),c,f,a,d,e);this.Kb(b,b.a.ie[0],
b.a.ie[1],b.a.ie[2],c,f+q[0],a,d,e);a=this.b(b,"Birth Color",this.sc(b.a.ie[0],b.a.ie[1],b.a.ie[2]),c,f,a,d,e);this.Kb(b,b.a.je[0],b.a.je[1],b.a.je[2],c,f+q[0],a,d,e);a=this.b(b,"Death Color",this.sc(b.a.je[0],b.a.je[1],b.a.je[2]),c,f,a,d,e);a=this.b(b,"","",c,f,a,d,e);h[m]=b.L;m+=1;a=this.b(b,"","Random Seed:",c,f,a,d,e);a=this.b(b,"Custom",b.en?"On":"Off",c,f,a,d,e);a=this.b(b,"Seed",b.dn,c,f,a,d,e);a=this.b(b,"","",c,f,a,d,e);h[m]=b.L;m+=1;a=this.b(b,"","Stars:",c,f,a,d,e);a=this.b(b,"Enabled",
b.sh?"On":"Off",c,f,a,d,e);this.Kb(b,b.Ue.red,b.Ue.green,b.Ue.blue,c,f+q[0],a,d,e);a=this.b(b,"Color",this.ej(b.Ue),c,f,a,d,e);a=this.b(b,"","",c,f,a,d,e);h[m]=b.L;m+=1;a=this.b(b,"","Script:",c,f,a,d,e);a=this.b(b,"Commands",b.Ti,c,f,a,d,e);a=this.b(b,"Errors",b.Ym,c,f,a,d,e);if(b.kb)for(a=this.b(b,"","",c,f,a,d,e),h[m]=b.L,m+=1,a=this.b(b,"","Waypoints:",c,f,a,d,e),a=this.b(b,"Enabled",b.pb?"Off":"On",c,f,a,d,e),a=this.b(b,"Number",b.A.N.length,c,f,a,d,e),K=0;K<b.A.N.length;K+=1)M=String(K),K===
b.A.Ff&&(M=b.A.Xl(b.elapsedTime)?M+">":M+"*"),a=this.b(b,M,b.A.ut(K),c,f,a,d,e);if(b.A.Da.length)for(a=this.b(b,"","",c,f,a,d,e),h[m]=b.L,m+=1,a=this.b(b,"","Points of interest:",c,f,a,d,e),a=this.b(b,"Number",b.A.Da.length,c,f,a,d,e),K=0;K<b.A.Da.length;K+=1)M=String(K+1),K===b.fd&&(M+="*"),K===b.Pg&&(M+=" INITIAL"),u=!1,g=b.A.hs(K),""!==g&&(a=this.b(b,u?" ":M,(u?"  ":"")+g,c,f,a,d,e),u=!0),g=b.A.ms(K),""!==g&&(a=this.b(b,u?" ":M,(u?"  ":"")+g,c,f,a,d,e),u=!0),g=b.A.js(K),""!==g&&(a=this.b(b,u?" ":
M,(u?"  ":"")+g,c,f,a,d,e),u=!0),g=b.A.Bp(K),""!==g&&(a=this.b(b,u?" ":M,(u?"  ":"")+g,c,f,a,d,e),u=!0),g=b.A.ls(K),""!==g&&(a=this.b(b,u?" ":M,(u?"  ":"")+g,c,f,a,d,e),u=!0),g=b.A.ks(K),""!==g&&(a=this.b(b,u?" ":M,(u?"  ":"")+g,c,f,a,d,e));-1!==b.M&&(a=this.b(b,"","",c,f,a,d,e),h[m]=b.L,m+=1,a=this.b(b,"","Loop:",c,f,a,d,e),a=this.b(b,"Enabled",b.ta?"Off":"On",c,f,a,d,e),a=this.b(b,"Generation",b.M,c,f,a,d,e));a=this.b(b,"","",c,f,a,d,e);q[1]=200;q[2]=290;q[3]=530;h[m]=b.L;m+=1;a=this.b(b,"","Memory:",
c,f,a,d,e);a=this.b(b,"Allocations",b.a.l.Rk+"\t"+(b.a.l.ki>>20)+"M\t"+b.a.l.ki,c,f,a,d,e);a=this.b(b,"Frees",b.a.l.Sk+"\t"+(b.a.l.li>>20)+"M\t"+b.a.l.li,c,f,a,d,e);a=this.b(b,"In Use",b.a.l.Rk-b.a.l.Sk+"\t"+(b.a.l.ki-b.a.l.li>>20)+"M\t"+(b.a.l.ki-b.a.l.li),c,f,a,d,e);a=this.b(b,this.yp("Bytes",10),"Type\tElements\tName\tCount",c,f,a,d,e);for(K=0;K<b.a.l.dd.length;K+=1)a=this.b(b,this.yp(String(b.a.l.dd[K].size),10),b.a.l.tq(K),c,f,a,d,e);a=this.b(b,"","",c,f,a,d,e);a=this.b(b,"","",c,f,a,d,e);h[m]=
b.L;m+=1;a=this.b(b,"","Aliases",c,f,a,d,e);q[0]=260;for(K=0;K<AliasManager.f.length;K+=1)""===AliasManager.f[K][1]?(a=this.b(b,"","",c,f,a,d,e),h[m]=b.L,m+=1,a=this.b(b,"",AliasManager.f[K][0]+" Aliases:",c,f,a,d,e)):""!==AliasManager.f[K][0]&&(a=this.b(b,AliasManager.f[K][0],AliasManager.f[K][1],c,f,a,d,e));q[1]=330;q[2]=380;a=this.b(b,"","",c,f,a,d,e);a=this.b(b,"","",c,f,a,d,e);h[m]=b.L;a=this.b(b,"","Colours",c,f,a,d,e);a=this.b(b,"","",c,f,a,d,e);a=this.b(b,"","The following names can be used in place of R G B:",
c,f,a,d,e);for(K=0;K<k.length;K+=1)h=D[k[K]],this.Kb(b,h[1],h[2],h[3],c,f+q[0],a,d,e),a=this.b(b,h[0],this.sc(h[1],h[2],h[3]),c,f,a,d,e);b.Xh=b.L-1;b.L=1;q[0]=120;a=l+d*(b.fb+2);a=this.xs(b,"Up"," / ","Down","scroll help",c,f,a,d,0);b.Pc?this.b(b,"H","close help",c,f,a,d,0):this.b(b,"H / Esc","close help",c,f,a,d,0)},Eo:function(b){var c=b.fc;b.fb=(b.s/19|0)-6;c.fillStyle="black";c.globalAlpha=.5;c.fillRect(0,0,c.canvas.width,c.canvas.height);c.globalAlpha=1;c.fillStyle=ViewConstants.Ki;this.hn(b,
c,6,14,19,b.C|0);c.fillStyle=ViewConstants.Ph;this.hn(b,c,4,12,19,b.C|0)},vs:function(b,c,f,a,d,e,l,C,K,g){var M=C,D=0,k=!1,q=b.L;e.fillStyle===ViewConstants.Ki&&(k=!0);q>=g&&q<=g+b.fb&&(e.font=ViewConstants.sk,k||(e.fillStyle=1<(b.za|0)?b.ee:ViewConstants.xk),e.fillText(c,l,C),k||(e.fillStyle=b.ee),e.fillText(f,l+e.measureText(c).width,C),k||(e.fillStyle=(b.za|0)<b.Rb.length-b.fb+1?b.ee:ViewConstants.xk),e.fillText(a,l+e.measureText(c+f).width,C),b.Xe[0]&&(D=b.Xe[0]),k||(e.fillStyle=b.ee),e.font=
ViewConstants.Ah,e.fillText(d,l+D,C),M+=K);return M},bl:function(b,c,f,a,d,e,l,C){var K=e,g=0,M=b.L;M>=C&&M<=C+b.fb&&(c.length&&(a.font=ViewConstants.sk,a.fillText(c,d,e),g=a.measureText(c+" ").width),b.Xe[0]&&(g=b.Xe[0]),a.font=ViewConstants.Ah,a.fillText(f,d+g,e),K+=l);b.L+=1;return K},Hp:function(b,c,f,a,d,e){var l,C=b.Rb,K=a;b.L=1;b.Xe[0]=0;c.font=ViewConstants.Ah;a=this.bl(b,"",ViewConstants.Ns,c,f,a,d,e);for(l=0;l<C.length;l+=1)a=this.bl(b,C[l][0],C[l][1],c,f,a,d,e);b.ea||(b.Xe[0]=120,b.L=1,
a=K+d*(b.fb+2),a=this.vs(b,"Up"," / ","Down","scroll errors",c,f,a,d,0),a=this.bl(b,"Esc","clear messages",c,f,a,d,0),this.bl(b,"H  ","help on script commands",c,f,a,d,0))},Do:function(b){var c=b.fc,f=7;b.ea&&(f=1);b.fb=(b.s/19|0)-f;c.fillStyle="black";c.globalAlpha=.5;c.fillRect(0,0,c.canvas.width,c.canvas.height);c.globalAlpha=1;c.fillStyle=ViewConstants.Ki;this.Hp(b,c,6,14,19,b.za|0);c.fillStyle=b.ee;this.Hp(b,c,4,12,19,b.za|0)}};window.Keywords={Ab:'"',di:"[[",lj:"]]",Dn:"SUPPRESS",Xk:"POIT",qa:"INITIAL",xa:"OFF",An:"STATE1FIT",$i:"POIRESET",Zh:"POIPLAY",$h:"POISTOP",aj:"POITRANS",Em:"HARDRESET",zj:"TRACK",yh:"TRACKBOX",yj:"TRACKLOOP",Vm:"NOREPORT",wk:"GRAPH",Pk:"NOGRAPH",Am:"GRAPHOPACITY",Bm:"GRAPHPOINTS",ye:"ALL",nd:"LINEAR",be:"BEZIER",Gm:"HEXDISPLAY",un:"SQUAREDISPLAY",Zo:"INTEGERZOOM",fn:"RANDOMSEED",mm:"DELETERANGE",rn:"SHOWTIMING",wm:"EXTENDEDTIMING",pn:"SHOWGENSTATS",qn:"SHOWINFOBAR",Wm:"NOSOURCE",Yk:"POI",ji:"TITLE",
oj:"STARS",rj:"CUSTOM",rl:"XOFFSET",sl:"YOFFSET",$p:"BACKGROUND",In:"ALIVE",Zp:"ALIVERAMP",Jn:"DEAD",aq:"DEADRAMP",fo:"BOUNDARY",Tj:"AUTOFIT",Im:"HISTORYFIT",uh:"STEP",Um:"NOSTEPBACK",pj:"T",Zm:"PAUSE",Ji:"GRID",Ii:"GRIDMAJOR",Gn:"TEXT",um:"ERROR",tp:"OFF",vp:"ON",Uo:"HISTORY",fp:"MARK1",jp:"MARKOFF",hp:"MARK2",$o:"KILL",Oo:"GRAPHBG",No:"GRAPHAXIS",Mo:"GRAPHALIVE",Po:"GRAPHBIRTH",Qo:"GRAPHDEATH",Ha:"COLOR",cm:"COLOUR",Cn:"STRICT",Fj:"VIEWONLY",Tm:"NOGUI",Sm:"NOCOPY",Mn:"THUMBNAIL",Ln:"THUMBSIZE",
cq:"THUMBLAUNCH",Gf:"THEME",Uj:"AUTOSTART",oe:"LOOP",se:"STOP",Rf:"ANGLE",bh:"LAYERS",Rg:"DEPTH",Xg:"GPS",qb:"ZOOM",Vl:"Z",Yb:"X",Zb:"Y",pi:"WIDTH",Oh:"HEIGHT",cj:"POPUPWIDTH",bj:"POPUPHEIGHT",Yc:"#"};
//]]>
    </script>  </head>

  <body>
  <b:section class='navbar' id='navbar' maxwidgets='1' showaddelement='no'>
    <b:widget id='Navbar1' locked='true' title='Navbar' type='Navbar' version='1'>
      <b:includable id='main'>&lt;script type=&quot;text/javascript&quot;&gt;
    function setAttributeOnload(object, attribute, val) {
      if(window.addEventListener) {
        window.addEventListener(&#39;load&#39;,
          function(){ object[attribute] = val; }, false);
      } else {
        window.attachEvent(&#39;onload&#39;, function(){ object[attribute] = val; });
      }
    }
  &lt;/script&gt;
&lt;div id=&quot;navbar-iframe-container&quot;&gt;&lt;/div&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;https://apis.google.com/js/plusone.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
      gapi.load(&quot;gapi.iframes:gapi.iframes.style.bubble&quot;, function() {
        if (gapi.iframes &amp;&amp; gapi.iframes.getContext) {
          gapi.iframes.getContext().openChild({
              url: &#39;https://www.blogger.com/navbar.g?targetBlogID\x3d8285929\x26blogName\x3dConway\x27s+Life:++Work+in+Progress\x26publishMode\x3dPUBLISH_MODE_BLOGSPOT\x26navbarType\x3dLIGHT\x26layoutType\x3dLAYOUTS\x26searchRoot\x3dhttps://b3s23life.blogspot.com/search\x26blogLocale\x3den\x26v\x3d2\x26homepageUrl\x3dhttps://b3s23life.blogspot.com/\x26vt\x3d-3783162014902743953&#39;,
              where: document.getElementById(&quot;navbar-iframe-container&quot;),
              id: &quot;navbar-iframe&quot;
          });
        }
      });
    &lt;/script&gt;&lt;script type=&quot;text/javascript&quot;&gt;
(function() {
var script = document.createElement(&#39;script&#39;);
script.type = &#39;text/javascript&#39;;
script.src = &#39;//pagead2.googlesyndication.com/pagead/js/google_top_exp.js&#39;;
var head = document.getElementsByTagName(&#39;head&#39;)[0];
if (head) {
head.appendChild(script);
}})();
&lt;/script&gt;
</b:includable>
    </b:widget>
  </b:section>


  <div id='outer-wrapper'>
    <b:section class='main' id='main' showaddelement='yes'>
      <b:widget id='Header1' locked='false' title='Conway&apos;s Life:  Work in Progress (Header)' type='Header'>
        <b:widget-settings>
          <b:widget-setting name='displayUrl'/>
          <b:widget-setting name='displayHeight'>0</b:widget-setting>
          <b:widget-setting name='sectionWidth'>-1</b:widget-setting>
          <b:widget-setting name='useImage'>false</b:widget-setting>
          <b:widget-setting name='shrinkToFit'>false</b:widget-setting>
          <b:widget-setting name='imagePlacement'>BEHIND</b:widget-setting>
          <b:widget-setting name='displayWidth'>0</b:widget-setting>
        </b:widget-settings>
        <b:includable id='main'>

  <b:if cond='data:useImage'>
    <b:if cond='data:imagePlacement == &quot;BEHIND&quot;'>
      <!--
      Show image as background to text. You can't really calculate the width
      reliably in JS because margins are not taken into account by any of
      clientWidth, offsetWidth or scrollWidth, so we don't force a minimum
      width if the user is using shrink to fit.
      This results in a margin-width's worth of pixels being cropped. If the
      user is not using shrink to fit then we expand the header.
      -->
      <b:if cond='data:mobile'>
        <div id='header-inner'>
          <div class='titlewrapper' style='background: transparent'>
            <h1 class='title' style='background: transparent; border-width: 0px'>
              <b:include name='title'/>
            </h1>
          </div>
          <b:include name='description'/>
        </div>
      <b:else/>
        <div expr:style='&quot;background-image: url(\&quot;&quot; + data:sourceUrl + &quot;\&quot;); &quot;                      + &quot;background-position: &quot;                      + data:backgroundPositionStyleStr + &quot;; &quot;                      + data:widthStyleStr                      + &quot;min-height: &quot; + data:height                      + &quot;_height: &quot; + data:height                      + &quot;background-repeat: no-repeat; &quot;' id='header-inner'>
          <div class='titlewrapper' style='background: transparent'>
            <h1 class='title' style='background: transparent; border-width: 0px'>
              <b:include name='title'/>
            </h1>
          </div>
          <b:include name='description'/>
        </div>
      </b:if>
    <b:else/>
      <!--Show the image only-->
      <div id='header-inner'>
        <a expr:href='data:blog.homepageUrl' style='display: block'>
          <img expr:alt='data:title' expr:height='data:height' expr:id='data:widget.instanceId + &quot;_headerimg&quot;' expr:src='data:sourceUrl' expr:width='data:width' style='display: block'/>
        </a>
        <!--Show the description-->
        <b:if cond='data:imagePlacement == &quot;BEFORE_DESCRIPTION&quot;'>
          <b:include name='description'/>
        </b:if>
      </div>
    </b:if>
  <b:else/>
    <!--No header image -->
    <div id='header-inner'>
      <div class='titlewrapper'>
        <h1 class='title'>
          <b:include name='title'/>
        </h1>
      </div>
      <b:include name='description'/>
    </div>
  </b:if>
</b:includable>
        <b:includable id='description'>
  <div class='descriptionwrapper'>
    <p class='description'><span><data:description/></span></p>
  </div>
</b:includable>
        <b:includable id='title'>
  <b:tag cond='data:blog.url != data:blog.homepageUrl' expr:href='data:blog.homepageUrl' name='a'>
    <data:title/>
  </b:tag>
</b:includable>
      </b:widget>
      <b:widget id='Blog1' locked='true' title='Blog Posts' type='Blog'>
        <b:widget-settings>
          <b:widget-setting name='showDateHeader'>true</b:widget-setting>
          <b:widget-setting name='style.textcolor'>#000000</b:widget-setting>
          <b:widget-setting name='showShareButtons'>false</b:widget-setting>
          <b:widget-setting name='showCommentLink'>true</b:widget-setting>
          <b:widget-setting name='style.urlcolor'>#000000</b:widget-setting>
          <b:widget-setting name='showAuthor'>true</b:widget-setting>
          <b:widget-setting name='disableGooglePlusShare'>true</b:widget-setting>
          <b:widget-setting name='style.linkcolor'>#000000</b:widget-setting>
          <b:widget-setting name='style.unittype'>TextAndImage</b:widget-setting>
          <b:widget-setting name='style.bgcolor'>#ffffff</b:widget-setting>
          <b:widget-setting name='showAuthorProfile'>false</b:widget-setting>
          <b:widget-setting name='style.layout'>1x1</b:widget-setting>
          <b:widget-setting name='showLabels'>true</b:widget-setting>
          <b:widget-setting name='showLocation'>true</b:widget-setting>
          <b:widget-setting name='showTimestamp'>true</b:widget-setting>
          <b:widget-setting name='postsPerAd'>1</b:widget-setting>
          <b:widget-setting name='showBacklinks'>false</b:widget-setting>
          <b:widget-setting name='style.bordercolor'>#ffffff</b:widget-setting>
          <b:widget-setting name='showInlineAds'>false</b:widget-setting>
          <b:widget-setting name='showReactions'>false</b:widget-setting>
        </b:widget-settings>
        <b:includable id='main' var='top'>
  <b:if cond='!data:mobile'>
    <!-- posts -->
    <div class='blog-posts hfeed'>

      <b:include data='top' name='status-message'/>

      <b:loop values='data:posts' var='post'>
        <b:if cond='data:post.isDateStart and not data:post.isFirstPost'>
          &lt;/div&gt;&lt;/div&gt;
        </b:if>
        <b:if cond='data:post.isDateStart'>
          &lt;div class=&quot;date-outer&quot;&gt;
        </b:if>
        <b:if cond='data:post.dateHeader'>
          <h2 class='date-header'><span><data:post.dateHeader/></span></h2>
        </b:if>
        <b:if cond='data:post.isDateStart'>
          &lt;div class=&quot;date-posts&quot;&gt;
        </b:if>
        <div class='post-outer'>
          <b:include data='post' name='post'/>
          <b:include cond='data:blog.pageType in {&quot;static_page&quot;,&quot;item&quot;}' data='post' name='comment_picker'/>
        </div>

        <!-- Ad -->
        <b:if cond='data:post.includeAd'>
          <div class='inline-ad'>
            <data:adCode/>
          </div>
        </b:if>
      </b:loop>
      <b:if cond='data:numPosts != 0'>
        &lt;/div&gt;&lt;/div&gt;
      </b:if>
    </div>

    <!-- navigation -->
    <b:include name='nextprev'/>

    <!-- feed links -->
    <b:include name='feedLinks'/>

  <b:else/>
    <b:include name='mobile-main'/>
  </b:if>

  <b:include cond='data:top.showPlusOne' name='googlePlusBootstrap'/>
</b:includable>
        <b:includable id='backlinkDeleteIcon' var='backlink'>
  <span expr:class='&quot;item-control &quot; + data:backlink.adminClass'>
    <a expr:href='data:backlink.deleteUrl' expr:title='data:top.deleteBacklinkMsg'>
      <img src='https://resources.blogblog.com/img/icon_delete13.gif'/>
    </a>
  </span>
</b:includable>
        <b:includable id='backlinks' var='post'>
  <a name='links'/><h4><data:post.backlinksLabel/></h4>
  <b:if cond='data:post.numBacklinks != 0'>
    <dl class='comments-block' id='comments-block'>
      <b:loop values='data:post.backlinks' var='backlink'>
        <div class='collapsed-backlink backlink-control'>
          <dt class='comment-title'>
            <span class='backlink-toggle-zippy'>&#160;</span>
            <a expr:href='data:backlink.url' rel='nofollow'><data:backlink.title/></a>
            <b:include data='backlink' name='backlinkDeleteIcon'/>
          </dt>
          <dd class='comment-body collapseable'>
            <data:backlink.snippet/>
          </dd>
          <dd class='comment-footer collapseable'>
            <span class='comment-author'><data:post.authorLabel/> <data:backlink.author/></span>
            <span class='comment-timestamp'><data:post.timestampLabel/> <data:backlink.timestamp/></span>
          </dd>
        </div>
      </b:loop>
    </dl>
  </b:if>
  <p class='comment-footer'>
    <a class='comment-link' expr:href='data:post.createLinkUrl' expr:id='data:widget.instanceId + &quot;_backlinks-create-link&quot;' target='_blank'><data:post.createLinkLabel/></a>
  </p>
</b:includable>
        <b:includable id='comment-form' var='post'>
  <div class='comment-form'>
    <a name='comment-form'/>
    <b:if cond='data:mobile'>
      <h4 id='comment-post-message'>
        <a expr:id='data:widget.instanceId + &quot;_comment-editor-toggle-link&quot;' href='javascript:void(0)'><data:postCommentMsg/></a></h4>
      <p><data:blogCommentMessage/></p>
      <data:blogTeamBlogMessage/>
      <a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/>
      <iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' expr:height='data:cmtIframeInitialHeight' frameborder='0' id='comment-editor' name='comment-editor' src='' style='display: none' width='100%'/>
    <b:else/>
      <h4 id='comment-post-message'><data:postCommentMsg/></h4>
      <p><data:blogCommentMessage/></p>
      <data:blogTeamBlogMessage/>
      <a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/>
      <iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' expr:height='data:cmtIframeInitialHeight' frameborder='0' id='comment-editor' name='comment-editor' src='' width='100%'/>
    </b:if>
    <data:post.cmtfpIframe/>
    <script type='text/javascript'>
      BLOG_CMT_createIframe(&#39;<data:post.appRpcRelayPath/>&#39;);
    </script>
  </div>
</b:includable>
        <b:includable id='commentDeleteIcon' var='comment'>
  <span expr:class='&quot;item-control &quot; + data:comment.adminClass'>
    <b:if cond='data:showCmtPopup'>
      <div class='goog-toggle-button'>
        <div class='goog-inline-block comment-action-icon'/>
      </div>
    <b:else/>
      <a class='comment-delete' expr:href='data:comment.deleteUrl' expr:title='data:top.deleteCommentMsg'>
        <img src='https://resources.blogblog.com/img/icon_delete13.gif'/>
      </a>
    </b:if>
  </span>
</b:includable>
        <b:includable id='comment_count_picker' var='post'>
  <b:if cond='data:post.commentSource == 1'>
    <span class='cmt_count_iframe_holder' expr:data-count='data:post.numComments' expr:data-onclick='data:post.addCommentOnclick' expr:data-post-url='data:post.url' expr:data-url='data:post.url.canonical.http'>
    </span>
  <b:else/>
    <a class='comment-link' expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'>
      <data:post.commentLabelFull/>:
    </a>
  </b:if>
</b:includable>
        <b:includable id='comment_picker' var='post'>
  <b:if cond='data:post.commentSource == 1'>
    <b:include data='post' name='iframe_comments'/>
  <b:elseif cond='data:post.showThreadedComments'/>
    <b:include data='post' name='threaded_comments'/>
  <b:else/>
    <b:include data='post' name='comments'/>
  </b:if>
</b:includable>
        <b:includable id='comments' var='post'>
  <div class='comments' id='comments'>
    <a name='comments'/>
    <b:if cond='data:post.allowComments'>
      <h4><data:post.commentLabelFull/>:</h4>

      <b:if cond='data:post.commentPagingRequired'>
        <span class='paging-control-container'>
          <b:if cond='data:post.hasOlderLinks'>
            <a expr:class='data:post.oldLinkClass' expr:href='data:post.oldestLinkUrl'><data:post.oldestLinkText/></a>
              &#160;
            <a expr:class='data:post.oldLinkClass' expr:href='data:post.olderLinkUrl'><data:post.olderLinkText/></a>
              &#160;
          </b:if>

          <data:post.commentRangeText/>

          <b:if cond='data:post.hasNewerLinks'>
            &#160;
            <a expr:class='data:post.newLinkClass' expr:href='data:post.newerLinkUrl'><data:post.newerLinkText/></a>
            &#160;
            <a expr:class='data:post.newLinkClass' expr:href='data:post.newestLinkUrl'><data:post.newestLinkText/></a>
          </b:if>
        </span>
      </b:if>

      <div expr:id='data:widget.instanceId + &quot;_comments-block-wrapper&quot;'>
        <dl expr:class='data:post.avatarIndentClass' id='comments-block'>
          <b:loop values='data:post.comments' var='comment'>
            <dt expr:class='&quot;comment-author &quot; + data:comment.authorClass' expr:id='data:comment.anchorName'>
              <b:if cond='data:comment.favicon'>
                <img expr:src='data:comment.favicon' height='16px' style='margin-bottom:-2px;' width='16px'/>
              </b:if>
              <a expr:name='data:comment.anchorName'/>
              <b:if cond='data:blog.enabledCommentProfileImages'>
                <data:comment.authorAvatarImage/>
              </b:if>
              <b:if cond='data:comment.authorUrl'>
                <a expr:href='data:comment.authorUrl' rel='nofollow'><data:comment.author/></a>
              <b:else/>
                <data:comment.author/>
              </b:if>
              <data:commentPostedByMsg/>
            </dt>
            <dd class='comment-body' expr:id='data:widget.instanceId + data:comment.cmtBodyIdPostfix'>
              <b:if cond='data:comment.isDeleted'>
                <span class='deleted-comment'><data:comment.body/></span>
              <b:else/>
                <p>
                  <data:comment.body/>
                </p>
              </b:if>
            </dd>
            <dd class='comment-footer'>
              <span class='comment-timestamp'>
                <a expr:href='data:comment.url' title='comment permalink'>
                  <data:comment.timestamp/>
                </a>
                <b:include data='comment' name='commentDeleteIcon'/>
              </span>
            </dd>
          </b:loop>
        </dl>
      </div>

      <b:if cond='data:post.commentPagingRequired'>
        <span class='paging-control-container'>
          <a expr:class='data:post.oldLinkClass' expr:href='data:post.oldestLinkUrl'>
            <data:post.oldestLinkText/>
          </a>
          <a expr:class='data:post.oldLinkClass' expr:href='data:post.olderLinkUrl'>
            <data:post.olderLinkText/>
          </a>
          &#160;
          <data:post.commentRangeText/>
          &#160;
          <a expr:class='data:post.newLinkClass' expr:href='data:post.newerLinkUrl'>
            <data:post.newerLinkText/>
          </a>
          <a expr:class='data:post.newLinkClass' expr:href='data:post.newestLinkUrl'>
            <data:post.newestLinkText/>
          </a>
        </span>
      </b:if>

      <p class='comment-footer'>
        <b:if cond='data:post.embedCommentForm'>
          <b:if cond='data:post.allowNewComments'>
            <b:include data='post' name='comment-form'/>
          <b:else/>
            <data:post.noNewCommentsText/>
          </b:if>
        <b:elseif cond='data:post.allowComments'/>
          <a expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><data:postCommentMsg/></a>
        </b:if>
      </p>
    </b:if>
    <b:if cond='data:showCmtPopup'>
      <div id='comment-popup'>
        <iframe allowtransparency='true' frameborder='0' id='comment-actions' name='comment-actions' scrolling='no'>
        </iframe>
      </div>
    </b:if>

    <div id='backlinks-container'>
    <div expr:id='data:widget.instanceId + &quot;_backlinks-container&quot;'>
       <b:include cond='data:post.showBacklinks' data='post' name='backlinks'/>
    </div>
    </div>
  </div>
</b:includable>
        <b:includable id='feedLinks'>
  <b:if cond='data:blog.pageType != &quot;item&quot;'> <!-- Blog feed links -->
    <b:if cond='data:feedLinks'>
      <div class='blog-feeds'>
        <b:include data='feedLinks' name='feedLinksBody'/>
      </div>
    </b:if>

  <b:else/> <!--Post feed links -->
    <div class='post-feeds'>
      <b:loop values='data:posts' var='post'>
        <b:include cond='data:post.allowComments and data:post.feedLinks' data='post.feedLinks' name='feedLinksBody'/>
      </b:loop>
    </div>
  </b:if>
</b:includable>
        <b:includable id='feedLinksBody' var='links'>
  <div class='feed-links'>
  <data:feedLinksMsg/>
  <b:loop values='data:links' var='f'>
     <a class='feed-link' expr:href='data:f.url' expr:type='data:f.mimeType' target='_blank'><data:f.name/> (<data:f.feedType/>)</a>
  </b:loop>
  </div>
</b:includable>
        <b:includable id='iframe_comments' var='post'>

  <b:if cond='data:post.allowIframeComments'>
    <script expr:src='data:post.iframeCommentSrc' type='text/javascript'/>
    <div class='cmt_iframe_holder' expr:data-href='data:post.url.canonical' expr:data-viewtype='data:post.viewType'/>

    <b:if cond='data:post.embedCommentForm == &quot;false&quot;'>
      <a expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><data:postCommentMsg/></a>
    </b:if>
  </b:if>
</b:includable>
        <b:includable id='mobile-index-post' var='post'>
  <div class='mobile-date-outer date-outer'>
    <b:if cond='data:post.dateHeader'>
      <div class='date-header'>
        <span><data:post.dateHeader/></span>
      </div>
    </b:if>

    <div class='mobile-post-outer'>
      <a expr:href='data:post.url'>
        <h3 class='mobile-index-title entry-title' itemprop='name'>
          <data:post.title/>
        </h3>

        <div class='mobile-index-arrow'>&amp;rsaquo;</div>

        <div class='mobile-index-contents'>
          <b:if cond='data:post.thumbnailUrl'>
            <div class='mobile-index-thumbnail'>
              <div class='Image'>
                <img expr:src='data:post.thumbnailUrl'/>
              </div>
            </div>
          </b:if>

          <div class='post-body'>
            <b:if cond='data:post.snippet'><data:post.snippet/></b:if>
          </div>
        </div>

        <div style='clear: both;'/>
      </a>

      <div class='mobile-index-comment'>
        <b:include cond='data:blog.pageType != &quot;static_page&quot;                          and data:post.allowComments                          and data:post.numComments != 0' data='post' name='comment_count_picker'/>
      </div>
    </div>
  </div>
</b:includable>
        <b:includable id='mobile-main' var='top'>
    <!-- posts -->
    <div class='blog-posts hfeed'>

      <b:include data='top' name='status-message'/>

      <b:if cond='data:blog.pageType == &quot;index&quot;'>
        <b:loop values='data:posts' var='post'>
          <b:include data='post' name='mobile-index-post'/>
        </b:loop>
      <b:else/>
        <b:loop values='data:posts' var='post'>
          <b:include data='post' name='mobile-post'/>
        </b:loop>
      </b:if>
    </div>

   <b:include name='mobile-nextprev'/>
</b:includable>
        <b:includable id='mobile-nextprev'>
  <div class='blog-pager' id='blog-pager'>
    <b:if cond='data:newerPageUrl'>
      <div class='mobile-link-button' id='blog-pager-newer-link'>
      <a class='blog-pager-newer-link' expr:href='data:newerPageUrl' expr:id='data:widget.instanceId + &quot;_blog-pager-newer-link&quot;' expr:title='data:newerPageTitle'>&amp;lsaquo;</a>
      </div>
    </b:if>

    <b:if cond='data:olderPageUrl'>
      <div class='mobile-link-button' id='blog-pager-older-link'>
      <a class='blog-pager-older-link' expr:href='data:olderPageUrl' expr:id='data:widget.instanceId + &quot;_blog-pager-older-link&quot;' expr:title='data:olderPageTitle'>&amp;rsaquo;</a>
      </div>
    </b:if>

    <div class='mobile-link-button' id='blog-pager-home-link'>
    <a class='home-link' expr:href='data:blog.homepageUrl'><data:homeMsg/></a>
    </div>

    <div class='mobile-desktop-link'>
      <a class='home-link' expr:href='data:desktopLinkUrl'><data:desktopLinkMsg/></a>
    </div>

  </div>
  <div class='clear'/>
</b:includable>
        <b:includable id='mobile-post' var='post'>
  <div class='date-outer'>
    <b:if cond='data:post.dateHeader'>
      <h2 class='date-header'><span><data:post.dateHeader/></span></h2>
    </b:if>
    <div class='date-posts'>
      <div class='post-outer'>

        <div class='post hentry uncustomized-post-template' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>
          <b:if cond='data:post.thumbnailUrl'>
            <meta expr:content='data:post.thumbnailUrl' itemprop='image_url'/>
          </b:if>
          <meta expr:content='data:blog.blogId' itemprop='blogId'/>
          <meta expr:content='data:post.id' itemprop='postId'/>

          <a expr:name='data:post.id'/>
          <b:if cond='data:post.title'>
            <h3 class='post-title entry-title' itemprop='name'>
              <b:if cond='data:post.link'>
                <a expr:href='data:post.link'><data:post.title/></a>
              <b:elseif cond='data:post.url and data:blog.url != data:post.url'/>
                <a expr:href='data:post.url'><data:post.title/></a>
              <b:else/>
                <data:post.title/>
              </b:if>
            </h3>
          </b:if>

          <div class='post-header'>
            <div class='post-header-line-1'/>
          </div>

          <div class='post-body entry-content' expr:id='&quot;post-body-&quot; + data:post.id' itemprop='articleBody'>
            <data:post.body/>
            <div style='clear: both;'/> <!-- clear for photos floats -->
          </div>

          <div class='post-footer'>
            <div class='post-footer-line post-footer-line-1'>
              <span class='post-author vcard'>
                <b:if cond='data:top.showAuthor'>
                  <b:if cond='data:post.authorProfileUrl'>
                    <span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'>
                      <meta expr:content='data:post.authorProfileUrl' itemprop='url'/>
                      <a expr:href='data:post.authorProfileUrl' rel='author' title='author profile'>
                        <span itemprop='name'><data:post.author/></span>
                      </a>
                    </span>
                  <b:else/>
                    <span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'>
                      <span itemprop='name'><data:post.author/></span>
                    </span>
                  </b:if>
                </b:if>
              </span>

              <span class='post-timestamp'>
                <b:if cond='data:top.showTimestamp'>
                  <data:top.timestampLabel/>
                  <b:if cond='data:post.url'>
                    <meta expr:content='data:post.url.canonical' itemprop='url'/>
                    <a class='timestamp-link' expr:href='data:post.url' rel='bookmark' title='permanent link'><abbr class='published' expr:title='data:post.timestampISO8601' itemprop='datePublished'><data:post.timestamp/></abbr></a>
                  </b:if>
                </b:if>
              </span>

              <span class='post-comment-link'>
                <b:include cond='data:blog.pageType not in {&quot;item&quot;,&quot;static_page&quot;}                                  and data:post.allowComments' data='post' name='comment_count_picker'/>
              </span>
            </div>

            <div class='post-footer-line post-footer-line-2'>
              <b:if cond='data:top.showMobileShare'>
                <div class='mobile-link-button goog-inline-block' id='mobile-share-button'>
                  <a href='javascript:void(0);'><data:shareMsg/></a>
                </div>
              </b:if>
              <b:if cond='data:top.showDummy'>
                <div class='goog-inline-block dummy-container'><data:post.dummyTag/></div>
              </b:if>
            </div>

          </div>
        </div>

        <b:include cond='data:blog.pageType in {&quot;static_page&quot;,&quot;item&quot;}' data='post' name='comment_picker'/>
      </div>
    </div>
  </div>
</b:includable>
        <b:includable id='nextprev'>
  <div class='blog-pager' id='blog-pager'>
    <b:if cond='data:newerPageUrl'>
      <span id='blog-pager-newer-link'>
      <a class='blog-pager-newer-link' expr:href='data:newerPageUrl' expr:id='data:widget.instanceId + &quot;_blog-pager-newer-link&quot;' expr:title='data:newerPageTitle'><data:newerPageTitle/></a>
      </span>
    </b:if>

    <b:if cond='data:olderPageUrl'>
      <span id='blog-pager-older-link'>
      <a class='blog-pager-older-link' expr:href='data:olderPageUrl' expr:id='data:widget.instanceId + &quot;_blog-pager-older-link&quot;' expr:title='data:olderPageTitle'><data:olderPageTitle/></a>
      </span>
    </b:if>

    <a class='home-link' expr:href='data:blog.homepageUrl'><data:homeMsg/></a>

    <b:if cond='data:mobileLinkUrl'>
      <div class='blog-mobile-link'>
        <a expr:href='data:mobileLinkUrl'><data:mobileLinkMsg/></a>
      </div>
    </b:if>

  </div>
  <div class='clear'/>
</b:includable>
        <b:includable id='post' var='post'>
  <div class='post hentry uncustomized-post-template' itemprop='blogPost' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>
    <b:if cond='data:post.firstImageUrl'>
      <meta expr:content='data:post.firstImageUrl' itemprop='image_url'/>
    </b:if>
    <meta expr:content='data:blog.blogId' itemprop='blogId'/>
    <meta expr:content='data:post.id' itemprop='postId'/>

    <a expr:name='data:post.id'/>
    <b:if cond='data:post.title'>
      <h3 class='post-title entry-title' itemprop='name'>
      <b:if cond='data:post.link or (data:post.url and data:blog.url != data:post.url)'>
        <a expr:href='data:post.link ? data:post.link : data:post.url'><data:post.title/></a>
      <b:else/>
        <data:post.title/>
      </b:if>
      </h3>
    </b:if>

    <div class='post-header'>
    <div class='post-header-line-1'/>
    </div>

    <!-- Then use the post body as the schema.org description, for good G+/FB snippeting. -->
    <div class='post-body entry-content' expr:id='&quot;post-body-&quot; + data:post.id' expr:itemprop='(data:blog.metaDescription ? &quot;&quot; : &quot;description &quot;) + &quot;articleBody&quot;'>
      <data:post.body/>
      <div style='clear: both;'/> <!-- clear for photos floats -->
    </div>

    <b:if cond='data:post.hasJumpLink'>
      <div class='jump-link'>
        <a expr:href='data:post.url + &quot;#more&quot;' expr:title='data:post.title'><data:post.jumpText/></a>
      </div>
    </b:if>

    <div class='post-footer'>
    <div class='post-footer-line post-footer-line-1'>
      <span class='post-author vcard'>
        <b:if cond='data:top.showAuthor'>
          <data:top.authorLabel/>
            <b:if cond='data:post.authorProfileUrl'>
              <span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'>
                <meta expr:content='data:post.authorProfileUrl' itemprop='url'/>
                <a class='g-profile' expr:href='data:post.authorProfileUrl' rel='author' title='author profile'>
                  <span itemprop='name'><data:post.author/></span>
                </a>
              </span>
            <b:else/>
              <span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'>
                <span itemprop='name'><data:post.author/></span>
              </span>
            </b:if>
        </b:if>
      </span>

      <span class='post-timestamp'>
        <b:if cond='data:top.showTimestamp'>
          <data:top.timestampLabel/>
          <b:if cond='data:post.url'>
            <meta expr:content='data:post.url.canonical' itemprop='url'/>
            <a class='timestamp-link' expr:href='data:post.url' rel='bookmark' title='permanent link'><abbr class='published' expr:title='data:post.timestampISO8601' itemprop='datePublished'><data:post.timestamp/></abbr></a>
          </b:if>
        </b:if>
      </span>

      <span class='reaction-buttons'>
        <b:if cond='data:top.showReactions'>
          <table border='0' cellpadding='0' cellspacing='0' width='100%'><tr>
            <td class='reactions-label-cell' nowrap='nowrap' valign='top' width='1%'>
              <span class='reactions-label'>
              <data:top.reactionsLabel/></span>&#160;</td>
            <td><iframe allowtransparency='true' class='reactions-iframe' expr:src='data:post.reactionsUrl' frameborder='0' name='reactions' scrolling='no'/></td>
           </tr></table>
        </b:if>
      </span>

      <span class='post-comment-link'>
        <b:include cond='data:blog.pageType not in {&quot;item&quot;,&quot;static_page&quot;}                          and data:post.allowComments' data='post' name='comment_count_picker'/>
      </span>

       <!-- backlinks -->
       <span class='post-backlinks post-comment-link'>
         <b:if cond='data:blog.pageType not in {&quot;item&quot;,&quot;static_page&quot;}                      and data:post.showBacklinks'>
           <a class='comment-link' expr:href='data:post.url + &quot;#links&quot;'><data:top.backlinkLabel/></a>
         </b:if>
       </span>

      <span class='post-icons'>
        <!-- email post links -->
        <b:if cond='data:post.emailPostUrl'>
          <span class='item-action'>
          <a expr:href='data:post.emailPostUrl' expr:title='data:top.emailPostMsg'>
            <img alt='' class='icon-action' height='13' src='https://resources.blogblog.com/img/icon18_email.gif' width='18'/>
          </a>
          </span>
        </b:if>

        <!-- quickedit pencil -->
        <b:include data='post' name='postQuickEdit'/>
      </span>

      <!-- share buttons -->
      <div class='post-share-buttons goog-inline-block'>
        <b:include cond='data:post.sharePostUrl' data='post' name='shareButtons'/>
      </div>

      </div>

      <div class='post-footer-line post-footer-line-2'>
      <span class='post-labels'>
        <b:if cond='data:top.showPostLabels and data:post.labels'>
          <data:postLabelsLabel/>
          <b:loop values='data:post.labels' var='label'>
            <a expr:href='data:label.url' rel='tag'><data:label.name/></a><b:if cond='not data:label.isLast'>,</b:if>
          </b:loop>
        </b:if>
      </span>
      </div>

      <div class='post-footer-line post-footer-line-3'>
      <span class='post-location'>
        <b:if cond='data:top.showLocation and data:post.location'>
          <data:postLocationLabel/>
          <a expr:href='data:post.location.mapsUrl' target='_blank'><data:post.location.name/></a>
        </b:if>
      </span>
      </div>
      <b:if cond='data:post.authorAboutMe'>
        <div class='author-profile' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'>
          <b:if cond='data:post.authorPhoto.url'>
            <img expr:src='data:post.authorPhoto.url' itemprop='image' width='50px'/>
          </b:if>
          <div>
            <a class='g-profile' expr:href='data:post.authorProfileUrl' itemprop='url' rel='author' title='author profile'>
              <span itemprop='name'><data:post.author/></span>
            </a>
          </div>
          <span itemprop='description'><data:post.authorAboutMe/></span>
        </div>
      </b:if>
    </div>
  </div>
</b:includable>
        <b:includable id='postQuickEdit' var='post'>
  <b:if cond='data:post.editUrl'>
    <span expr:class='&quot;item-control &quot; + data:post.adminClass'>
      <a expr:href='data:post.editUrl' expr:title='data:top.editPostMsg'>
        <img alt='' class='icon-action' height='18' src='https://resources.blogblog.com/img/icon18_edit_allbkg.gif' width='18'/>
      </a>
    </span>
  </b:if>
</b:includable>
        <b:includable id='shareButtons' var='post'>
  <b:if cond='data:top.showEmailButton'><a class='goog-inline-block share-button sb-email' expr:href='data:post.sharePostUrl + &quot;&amp;target=email&quot;' expr:title='data:top.emailThisMsg' target='_blank'><span class='share-button-link-text'><data:top.emailThisMsg/></span></a></b:if><b:if cond='data:top.showBlogThisButton'><a class='goog-inline-block share-button sb-blog' expr:href='data:post.sharePostUrl + &quot;&amp;target=blog&quot;' expr:onclick='&quot;window.open(this.href, \&quot;_blank\&quot;, \&quot;height=270,width=475\&quot;); return false;&quot;' expr:title='data:top.blogThisMsg' target='_blank'><span class='share-button-link-text'><data:top.blogThisMsg/></span></a></b:if><b:if cond='data:top.showTwitterButton'><a class='goog-inline-block share-button sb-twitter' expr:href='data:post.sharePostUrl + &quot;&amp;target=twitter&quot;' expr:title='data:top.shareToTwitterMsg' target='_blank'><span class='share-button-link-text'><data:top.shareToTwitterMsg/></span></a></b:if><b:if cond='data:top.showFacebookButton'><a class='goog-inline-block share-button sb-facebook' expr:href='data:post.sharePostUrl + &quot;&amp;target=facebook&quot;' expr:onclick='&quot;window.open(this.href, \&quot;_blank\&quot;, \&quot;height=430,width=640\&quot;); return false;&quot;' expr:title='data:top.shareToFacebookMsg' target='_blank'><span class='share-button-link-text'><data:top.shareToFacebookMsg/></span></a></b:if><b:if cond='data:top.showPinterestButton'><a class='goog-inline-block share-button sb-pinterest' expr:href='data:post.sharePostUrl + &quot;&amp;target=pinterest&quot;' expr:title='data:top.shareToPinterestMsg' target='_blank'><span class='share-button-link-text'><data:top.shareToPinterestMsg/></span></a></b:if><b:if cond='data:top.showPlusOne'><div class='goog-inline-block google-plus-share-container'><data:post.googlePlusShareTag/></div></b:if>
</b:includable>
        <b:includable id='status-message'>
  <b:if cond='data:navMessage'>
  <div class='status-msg-wrap'>
    <div class='status-msg-body'>
      <data:navMessage/>
    </div>
    <div class='status-msg-border'>
      <div class='status-msg-bg'>
        <div class='status-msg-hidden'><data:navMessage/></div>
      </div>
    </div>
  </div>
  <div style='clear: both;'/>
  </b:if>
</b:includable>
        <b:includable id='threaded-comment-form' var='post'>
  <div class='comment-form'>
    <a name='comment-form'/>
    <b:if cond='data:mobile'>
      <p><data:blogCommentMessage/></p>
      <data:blogTeamBlogMessage/>
      <a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/>
      <iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' expr:height='data:cmtIframeInitialHeight' frameborder='0' id='comment-editor' name='comment-editor' src='' style='display: none' width='100%'/>
    <b:else/>
      <p><data:blogCommentMessage/></p>
      <data:blogTeamBlogMessage/>
      <a expr:href='data:post.commentFormIframeSrc' id='comment-editor-src'/>
      <iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' expr:height='data:cmtIframeInitialHeight' frameborder='0' id='comment-editor' name='comment-editor' src='' width='100%'/>
    </b:if>
    <data:post.cmtfpIframe/>
    <script type='text/javascript'>
      BLOG_CMT_createIframe(&#39;<data:post.appRpcRelayPath/>&#39;);
    </script>
  </div>
</b:includable>
        <b:includable id='threaded_comment_js' var='post'>
  <script async='async' expr:src='data:post.commentSrc' type='text/javascript'/>

  <script type='text/javascript'>
    (function() {
      var items = <data:post.commentJso/>;
      var msgs = <data:post.commentMsgs/>;
      var config = <data:post.commentConfig/>;

// <![CDATA[
      var cursor = null;
      if (items && items.length > 0) {
        cursor = parseInt(items[items.length - 1].timestamp) + 1;
      }

      var bodyFromEntry = function(entry) {
        var text = (entry &&
                    ((entry.content && entry.content.$t) ||
                     (entry.summary && entry.summary.$t))) ||
            '';
        if (entry && entry.gd$extendedProperty) {
          for (var k in entry.gd$extendedProperty) {
            if (entry.gd$extendedProperty[k].name == 'blogger.contentRemoved') {
              return '<span class="deleted-comment">' + text + '</span>';
            }
          }
        }
        return text;
      }

      var parse = function(data) {
        cursor = null;
        var comments = [];
        if (data && data.feed && data.feed.entry) {
          for (var i = 0, entry; entry = data.feed.entry[i]; i++) {
            var comment = {};
            // comment ID, parsed out of the original id format
            var id = /blog-(\d+).post-(\d+)/.exec(entry.id.$t);
            comment.id = id ? id[2] : null;
            comment.body = bodyFromEntry(entry);
            comment.timestamp = Date.parse(entry.published.$t) + '';
            if (entry.author && entry.author.constructor === Array) {
              var auth = entry.author[0];
              if (auth) {
                comment.author = {
                  name: (auth.name ? auth.name.$t : undefined),
                  profileUrl: (auth.uri ? auth.uri.$t : undefined),
                  avatarUrl: (auth.gd$image ? auth.gd$image.src : undefined)
                };
              }
            }
            if (entry.link) {
              if (entry.link[2]) {
                comment.link = comment.permalink = entry.link[2].href;
              }
              if (entry.link[3]) {
                var pid = /.*comments\/default\/(\d+)\?.*/.exec(entry.link[3].href);
                if (pid && pid[1]) {
                  comment.parentId = pid[1];
                }
              }
            }
            comment.deleteclass = 'item-control blog-admin';
            if (entry.gd$extendedProperty) {
              for (var k in entry.gd$extendedProperty) {
                if (entry.gd$extendedProperty[k].name == 'blogger.itemClass') {
                  comment.deleteclass += ' ' + entry.gd$extendedProperty[k].value;
                } else if (entry.gd$extendedProperty[k].name == 'blogger.displayTime') {
                  comment.displayTime = entry.gd$extendedProperty[k].value;
                }
              }
            }
            comments.push(comment);
          }
        }
        return comments;
      };

      var paginator = function(callback) {
        if (hasMore()) {
          var url = config.feed + '?alt=json&v=2&orderby=published&reverse=false&max-results=50';
          if (cursor) {
            url += '&published-min=' + new Date(cursor).toISOString();
          }
          window.bloggercomments = function(data) {
            var parsed = parse(data);
            cursor = parsed.length < 50 ? null
                : parseInt(parsed[parsed.length - 1].timestamp) + 1
            callback(parsed);
            window.bloggercomments = null;
          }
          url += '&callback=bloggercomments';
          var script = document.createElement('script');
          script.type = 'text/javascript';
          script.src = url;
          document.getElementsByTagName('head')[0].appendChild(script);
        }
      };
      var hasMore = function() {
        return !!cursor;
      };
      var getMeta = function(key, comment) {
        if ('iswriter' == key) {
          var matches = !!comment.author
              && comment.author.name == config.authorName
              && comment.author.profileUrl == config.authorUrl;
          return matches ? 'true' : '';
        } else if ('deletelink' == key) {
          return config.baseUri + '/delete-comment.g?blogID='
               + config.blogId + '&postID=' + comment.id;
        } else if ('deleteclass' == key) {
          return comment.deleteclass;
        }
        return '';
      };

      var replybox = null;
      var replyUrlParts = null;
      var replyParent = undefined;

      var onReply = function(commentId, domId) {
        if (replybox == null) {
          // lazily cache replybox, and adjust to suit this style:
          replybox = document.getElementById('comment-editor');
          if (replybox != null) {
            replybox.height = '250px';
            replybox.style.display = 'block';
            replyUrlParts = replybox.src.split('#');
          }
        }
        if (replybox && (commentId !== replyParent)) {
          replybox.src = '';
          document.getElementById(domId).insertBefore(replybox, null);
          replybox.src = replyUrlParts[0]
              + (commentId ? '&parentID=' + commentId : '')
              + '#' + replyUrlParts[1];
          replyParent = commentId;
        }
      };

      var hash = (window.location.hash || '#').substring(1);
      var startThread, targetComment;
      if (/^comment-form_/.test(hash)) {
        startThread = hash.substring('comment-form_'.length);
      } else if (/^c[0-9]+$/.test(hash)) {
        targetComment = hash.substring(1);
      }

      // Configure commenting API:
      var configJso = {
        'maxDepth': config.maxThreadDepth
      };
      var provider = {
        'id': config.postId,
        'data': items,
        'loadNext': paginator,
        'hasMore': hasMore,
        'getMeta': getMeta,
        'onReply': onReply,
        'rendered': true,
        'initComment': targetComment,
        'initReplyThread': startThread,
        'config': configJso,
        'messages': msgs
      };

      var render = function() {
        if (window.goog && window.goog.comments) {
          var holder = document.getElementById('comment-holder');
          window.goog.comments.render(holder, provider);
        }
      };

      // render now, or queue to render when library loads:
      if (window.goog && window.goog.comments) {
        render();
      } else {
        window.goog = window.goog || {};
        window.goog.comments = window.goog.comments || {};
        window.goog.comments.loadQueue = window.goog.comments.loadQueue || [];
        window.goog.comments.loadQueue.push(render);
      }
    })();
// ]]>
  </script>
</b:includable>
        <b:includable id='threaded_comments' var='post'>
  <div class='comments' id='comments'>
    <a name='comments'/>
    <h4><data:post.commentLabelFull/>:</h4>

    <div class='comments-content'>
      <b:include cond='data:post.embedCommentForm' data='post' name='threaded_comment_js'/>
      <div id='comment-holder'>
         <data:post.commentHtml/>
      </div>
    </div>

    <p class='comment-footer'>
      <b:if cond='data:post.allowNewComments'>
        <b:include data='post' name='threaded-comment-form'/>
      <b:else/>
        <data:post.noNewCommentsText/>
      </b:if>
    </p>

    <b:if cond='data:showCmtPopup'>
      <div id='comment-popup'>
        <iframe allowtransparency='true' frameborder='0' id='comment-actions' name='comment-actions' scrolling='no'>
        </iframe>
      </div>
    </b:if>

    <div id='backlinks-container'>
    <div expr:id='data:widget.instanceId + &quot;_backlinks-container&quot;'>
      <b:include cond='data:post.showBacklinks' data='post' name='backlinks'/>
    </div>
    </div>
  </div>
</b:includable>
      </b:widget>
      <b:widget id='BlogArchive1' locked='false' title='Blog Archive' type='BlogArchive'>
        <b:widget-settings>
          <b:widget-setting name='showStyle'>HIERARCHY</b:widget-setting>
          <b:widget-setting name='yearPattern'>yyyy</b:widget-setting>
          <b:widget-setting name='showWeekEnd'>true</b:widget-setting>
          <b:widget-setting name='monthPattern'>MMMM</b:widget-setting>
          <b:widget-setting name='dayPattern'>MMM dd</b:widget-setting>
          <b:widget-setting name='weekPattern'>MM/dd</b:widget-setting>
          <b:widget-setting name='chronological'>false</b:widget-setting>
          <b:widget-setting name='showPosts'>true</b:widget-setting>
          <b:widget-setting name='frequency'>MONTHLY</b:widget-setting>
        </b:widget-settings>
        <b:includable id='main'>
  <b:if cond='data:title != &quot;&quot;'>
    <h2><data:title/></h2>
  </b:if>
  <div class='widget-content'>
  <div id='ArchiveList'>
  <div expr:id='data:widget.instanceId + &quot;_ArchiveList&quot;'>
    <b:include cond='data:style == &quot;HIERARCHY&quot;' data='data' name='interval'/>
    <b:include cond='data:style == &quot;FLAT&quot;' data='data' name='flat'/>
    <b:include cond='data:style == &quot;MENU&quot;' data='data' name='menu'/>
  </div>
  </div>
  <b:include name='quickedit'/>
  </div>
</b:includable>
        <b:includable id='flat' var='data'>
  <ul class='flat'>
    <b:loop values='data:data' var='i'>
      <li class='archivedate'>
        <a expr:href='data:i.url'><data:i.name/></a> (<data:i.post-count/>)
      </li>
    </b:loop>
  </ul>
</b:includable>
        <b:includable id='interval' var='intervalData'>
  <b:loop values='data:intervalData' var='interval'>
    <ul class='hierarchy'>
      <li expr:class='&quot;archivedate &quot; + data:interval.expclass'>
        <b:include cond='data:interval.toggleId' data='interval' name='toggle'/>
        <a class='post-count-link' expr:href='data:interval.url'>
          <data:interval.name/>
        </a>
        <span class='post-count' dir='ltr'>(<data:interval.post-count/>)</span>
        <b:include cond='data:interval.data' data='interval.data' name='interval'/>
        <b:include cond='data:interval.posts' data='interval.posts' name='posts'/>
      </li>
    </ul>
  </b:loop>
</b:includable>
        <b:includable id='menu' var='data'>
  <select expr:id='data:widget.instanceId + &quot;_ArchiveMenu&quot;'>
    <option value=''><data:title/></option>
    <b:loop values='data:data' var='i'>
      <option expr:value='data:i.url'><data:i.name/> (<data:i.post-count/>)</option>
    </b:loop>
  </select>
</b:includable>
        <b:includable id='posts' var='posts'>
  <ul class='posts'>
    <b:loop values='data:posts' var='post'>
      <li><a expr:href='data:post.url'><data:post.title/></a></li>
    </b:loop>
  </ul>
</b:includable>
        <b:includable id='toggle' var='interval'>
  <a class='toggle' href='javascript:void(0)'>
    <span expr:class='&quot;zippy&quot; + (data:interval.expclass == &quot;expanded&quot; ? &quot; toggle-open&quot; : &quot;&quot;)'>
      <b:if cond='data:interval.expclass == &quot;expanded&quot;'>
        &#9660;&#160;
      <b:elseif cond='data:blog.languageDirection == &quot;rtl&quot;'/>
        &#9668;&#160;
      <b:else/>
        &#9658;&#160;
      </b:if>
    </span>
  </a>
</b:includable>
      </b:widget>
      <b:widget id='LinkList1' locked='false' title='Conway&apos;s Life Links' type='LinkList'>
        <b:widget-settings>
          <b:widget-setting name='text-8'><![CDATA[Paul Callahan's Life Pattern Catalog]]></b:widget-setting>
          <b:widget-setting name='link-7'>http://pentadecathlon.com/objects/objects.php</b:widget-setting>
          <b:widget-setting name='link-8'>http://conwaylife.com/ref/lifepage/patterns/contents.html</b:widget-setting>
          <b:widget-setting name='link-5'>http://conwaylife.com/wiki</b:widget-setting>
          <b:widget-setting name='link-6'>http://conwaylife.com/forums</b:widget-setting>
          <b:widget-setting name='link-3'>http://golly.sourceforge.net/</b:widget-setting>
          <b:widget-setting name='link-4'>http://sf.net/projects/golly</b:widget-setting>
          <b:widget-setting name='text-1'><![CDATA[Mark Niemiec's object search page]]></b:widget-setting>
          <b:widget-setting name='text-0'>Life Lexicon Release 29</b:widget-setting>
          <b:widget-setting name='text-3'>Golly 3.2 [CA editor/simulator]</b:widget-setting>
          <b:widget-setting name='text-2'><![CDATA[Dean Hickerson's Life pages]]></b:widget-setting>
          <b:widget-setting name='text-5'>ConwayLife wiki</b:widget-setting>
          <b:widget-setting name='text-4'>LifeNews weblog</b:widget-setting>
          <b:widget-setting name='text-7'><![CDATA[Koenig's Game of Life Object Catalogs]]></b:widget-setting>
          <b:widget-setting name='text-6'>ConwayLife forums</b:widget-setting>
          <b:widget-setting name='sorting'>NONE</b:widget-setting>
          <b:widget-setting name='link-1'>http://conwaylife.com/ref/mniemiec/lifesrch.htm</b:widget-setting>
          <b:widget-setting name='link-2'>http://conwaylife.com/ref/DRH/life.html</b:widget-setting>
          <b:widget-setting name='link-0'>http://conwaylife.com/ref/lexicon/zip/lex_htm1/lexicon.htm</b:widget-setting>
        </b:widget-settings>
        <b:includable id='main'>

<b:if cond='data:title != &quot;&quot;'><h2><data:title/></h2></b:if>
 <div class='widget-content'>
   <ul>
     <b:loop values='data:links' var='link'>
       <li><a expr:href='data:link.target'><data:link.name/></a></li>
     </b:loop>
   </ul>
   <b:include name='quickedit'/>
 </div>
</b:includable>
      </b:widget>
      <b:widget id='Profile1' locked='false' title='Contributors' type='Profile'>
        <b:widget-settings>
          <b:widget-setting name='showaboutme'>true</b:widget-setting>
          <b:widget-setting name='showlocation'>false</b:widget-setting>
        </b:widget-settings>
        <b:includable id='main'>
    <b:if cond='data:title != &quot;&quot;'>
      <h2><data:title/></h2>
    </b:if>
    <div class='widget-content'>
    <b:if cond='data:team'> <!-- team blog profile -->
      <ul>
        <b:loop values='data:authors' var='i'>
          <li><a class='profile-name-link g-profile' expr:href='data:i.userUrl' expr:style='&quot;background-image: url(&quot; + data:i.profileLogo + &quot;);&quot;'><data:i.display-name/></a></li>
        </b:loop>
      </ul>

    <b:else/> <!-- normal blog profile -->

      <b:if cond='data:photo.url != &quot;&quot;'>
        <a expr:href='data:userUrl'><img class='profile-img' expr:alt='data:messages.myPhoto' expr:height='data:photo.height' expr:src='data:photo.url' expr:width='data:photo.width'/></a>
      </b:if>

      <dl class='profile-datablock'>
        <dt class='profile-data'>
          <a class='profile-name-link g-profile' expr:href='data:userUrl' expr:style='&quot;background-image: url(&quot; + data:profileLogo + &quot;);&quot;' rel='author'>
            <data:displayname/>
          </a>
          <b:if cond='data:hasgoogleprofile'>
            <br/>
            <div class='g-follow' data-annotation='bubble' data-height='20' expr:data-href='data:userUrl'/>
          </b:if>
        </dt>

        <b:if cond='data:showlocation'>
          <dd class='profile-data'><data:location/></dd>
        </b:if>

        <b:if cond='data:aboutme != &quot;&quot;'><dd class='profile-textblock'><data:aboutme/></dd></b:if>
      </dl>
      <a class='profile-link' expr:href='data:userUrl' rel='author'><data:viewProfileMsg/></a>
    </b:if>

     <b:include name='quickedit'/>
    </div>
  </b:includable>
      </b:widget>
    </b:section>
  </div>
</body>
</html>