Elm 0.5.0 → 0.5.0.1
raw patch · 4 files changed
+126/−126 lines, 4 files
Files
- Elm.cabal +2/−2
- elm-runtime-0.5.0.1.js +123/−0
- elm-runtime-0.5.0.js +0/−123
- src/Types/Hints.hs +1/−1
Elm.cabal view
@@ -1,6 +1,6 @@ Name: Elm-Version: 0.5.0+Version: 0.5.0.1 Synopsis: The Elm language module. Description: Elm aims to make client-side web-development more pleasant. It is a statically/strongly typed, functional reactive@@ -22,7 +22,7 @@ Build-type: Simple Extra-source-files: changelog.txt-Data-files: elm-runtime-0.5.0.js+Data-files: elm-runtime-0.5.0.1.js Cabal-version: >=1.8 source-repository head
+ elm-runtime-0.5.0.1.js view
@@ -0,0 +1,123 @@+var Guid=function(){var d=0;return{guid:function(){return d+=1}}}(),Elm=Elm||{};+Elm.JavaScript=function(){function d(a){for(var b=["Nil"],l=a.length;l--;)b=["Cons",a[l],b];return b}function a(a){for(var b=[];"Cons"===a[0];)b.push(a[1]),a=a[2];return b}function g(a){return a.slice(1)}function i(a){return["Tuple"+a.length].concat(a)}return{castJSBoolToBool:function(a){return a},castBoolToJSBool:function(a){return a},castJSNumberToFloat:function(a){return a},castFloatToJSNumber:function(a){return a},castJSNumberToInt:function(a){return~~a},castIntToJSNumber:function(a){return a},+Experimental:{castJSElementToElement:function(a){return function(b){return function(l){return["Element",Guid.guid(),["EExternalHtml",l],a,b,1,Nothing,Nothing]}}},castElementToJSElement:function(a){return Render.render(a)}},castJSArrayToList:d,castListToJSArray:a,castJSStringToString:d,castStringToJSString:function(g){return"string"===typeof g?g:a(g).join("")},castTupleToJSTuple2:g,castTupleToJSTuple3:g,castTupleToJSTuple4:g,castTupleToJSTuple5:g,castJSTupleToTuple2:i,castJSTupleToTuple3:i,castJSTupleToTuple4:i,+castJSTupleToTuple5:i}}();var Elm=Elm||{},JSjson=JSON;+Elm.JSON=function(){function d(b,a){return function(h){return function(f){var c=i.castStringToJSString(h);return f[1].hasOwnProperty(c)&&(f=f[1][c],f[0]===b)?f[1]:a}}}function a(b){return function(a){function h(b){switch(b[0]){case "JsonNull":return null;case "JsonString":return i.castStringToJSString(b[1]);case "JsonObject":var c={},b=b[1][1],e;for(e in b)c[e]=h(b[e]);return c;case "JsonArray":c=i.castListToJSArray(b[1]);for(e=c.length;e--;)c[e]=h(c[e]);return c;default:return b[1]}}return JSjson.stringify(h(["JsonObject",+a]),null,i.castStringToJSString(b))}}function g(b){function a(b){switch(typeof b){case "string":return["JsonString",i.castJSStringToString(b)];case "number":return["JsonNumber",i.castJSNumberToFloat(b)];case "boolean":return["JsonBool",i.castJSBoolToBool(b)];case "object":if(null===b)return["JsonNull"];for(var c in b)b[c]=a(b[c]);return b instanceof Array?["JsonArray",i.castJSArrayToList(b)]:["JsonObject",["JSON",b]]}}var b=JSjson.parse(b),h;for(h in b)b[h]=a(b[h]);return["JSON",b]}var i=Elm.JavaScript,+j=["JSON",{}];return{empty:j,singleton:function(b){return function(a){var h={};h[i.castStringToJSString(b)]=a;return["JSON",h]}},insert:function(b){return function(a){return function(h){var h=h[1],f={},c;for(c in h)f[c]=h[c];f[i.castStringToJSString(b)]=a;return["JSON",f]}}},lookup:function(b){return function(a){var h=i.castStringToJSString(b);return a[1].hasOwnProperty(h)?Just(a[1][h]):Nothing}},findString:d("JsonString",["Nil"]),findObject:d("JsonObject",j),findArray:d("JsonArray",["Nil"]),findWithDefault:function(b){return function(a){return function(h){var f=+i.castStringToJSString(a);return h[1].hasOwnProperty(f)?h[1][f]:b}}},remove:function(b){return function(a){var a=a[1],h={},f;for(f in a)h[f]=a[f];delete h[i.castStringToJSString(b)];return["JSON",h]}},toPrettyJSString:a,toJSString:a(""),fromJSString:g,toPrettyString:function(b){return function(g){return i.castJSStringToString(a(b)(g))}},toString:function(b){return i.castJSStringToString(a("")(b))},fromString:function(b){return g(i.castStringToJSString(b))},toList:function(b){var b=b[1],a=[],h;for(h in b)a.push(Value.Tuple(i.castJSStringToString(h),+b[h]));return i.castJSArrayToList(a)},fromList:function(b){for(var b=i.castListToJSArray(b),a={},h=b.length;h--;)a[i.castStringToJSString(b[h][1])]=b[h][2];return["JSON",a]},JsonString:function(b){return["JsonString",b]},JsonNumber:function(b){return["JsonNumber",b]},JsonBool:function(b){return["JsonBool",b]},JsonNull:["JsonNull"],JsonArray:function(b){return["JsonArray",b]},JsonObject:function(b){return["JsonObject",b]}}}();+var Value=function(){function d(b){if(0==b.length)return b;for(var b=b.replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">").replace(/\n/g,"<br/>"),b=b.split("<br/>"),a=b.length;a--;){var h=b,f=a,c;c=b[a];if(0!=c.length){c=c.split("");" "==c[0]&&(c[0]=" ");for(var e=c.length;--e;)" "==c[e][0]&&" "==c[e-1]&&(c[e-1]+=c[e],c[e]="");for(e=c.length;e--;)if(1<c[e].length&&" "==c[e][0]){for(var n=c[e].split(""),g=n.length-2;0<=g;g-=2)n[g]=" ";c[e]=n.join("")}c=+c.join("");c=" "===c[c.length-1]?c.slice(0,-1)+" ":c}h[f]=c}return b.join("<br/>")}var a=function(b,g){if("object"===typeof b){if(b===g)return!0;if(b.length!==g.length)return!1;for(var h=b.length;h--;)if(!a(b[h],g[h]))return!1;return!0}return b===g},g=function(b){if("boolean"===typeof b)return b?"True":"False";if("number"!==typeof b){if("string"===typeof b&&2>b.length)return"'"+b+"'";if(b[0]){if("Tuple"===b[0].substring(0,5)){for(var a="",h=b.length;--h;)a=","+g(b[h])+a;","===a[0]&&(a=a.substring(1));+return"("+a+")"}if("Cons"===b[0])for(var h="string"===typeof b[1]?'"':"]",f="string"===typeof b[1]?"":",",c="string"===typeof b[1]?function(c){return c}:g,a=("string"===typeof b[1]?'"':"[")+c(b[1]),b=b[2];;)if("Cons"===b[0])a+=f+c(b[1]),b=b[2];else return a+h;else{if("Nil"===b[0])return"[]";if("JSON"===b[0])return"(JSON.fromList "+g(Elm.JSON.toList(b))+")";if("RBNode"===b[0]||"RBEmpty"===b[0])return"(Map.fromList "+g(Elm.Dict.fold(function(c){return function(b){return function(a){return["Cons",["Tuple2",+c,b],a]}}})(["Nil"])(b))+")";a="";for(h=b.length;--h;)a=" "+g(b[h])+a;a=b[0]+a;return 1<b.length?"("+a+")":a}}}return b+""},i=function(b){for(var a=["Nil"],h=b.length;h--;)a=["Cons",b[h],a];return a},j;j=document.addEventListener?function(b,a,h){b.addEventListener(a,h,!1)}:function(b,a,h){b.attachEvent("on"+a,h)};return{eq:a,str:i,show:function(b){return i(g(b))},Tuple:function(){var b=arguments.length,a=Array(b+1);for(a[0]="Tuple"+arguments.length;b--;)a[b+1]=arguments[b];return a},append:function(b,+a){if("string"===typeof b&&"string"===typeof a)return b.concat(a);if("Nil"===b[0])return a;for(var h=["Cons",b[1],["Nil"]],f=h,b=b[2];"Cons"===b[0];)f[2]=["Cons",b[1],["Nil"]],b=b[2],f=f[2];f[2]=a;return h},listToArray:function(b){for(var a=[];"Cons"===b[0];)a.push(b[1]),b=b[2];return a},toText:function(b){if("string"===typeof b)return d(b);for(var a=[];"Cons"===b[0];)a.push(b[1]),b=b[2];return d(a.join(""))},properEscape:d,getTextSize:function(b,a,h){var f=document.createElement("div");f.innerHTML=+h;f.style.textAlign="left";0<b&&(f.style.width=b+"px");f.style.visibility="hidden";f.style.styleFloat="left";f.style.cssFloat="left";document.body.appendChild(f);h=window.getComputedStyle(f);b=h.getPropertyValue("width").slice(0,-2)-0;h=h.getPropertyValue("height").slice(0,-2)-0;document.body.removeChild(f);delete f;return[Math.ceil(b),Math.ceil(Math.max(a,h))]},getSize:function(b){b=b.cloneNode(!0);b.style.visibility="hidden";b.style.styleFloat="left";b.style.cssFloat="left";document.body.appendChild(b);+var a=b.offsetWidth,h=b.offsetHeight;document.body.removeChild(b);delete b;return[a,h]},getExcess:function(b){b=b.cloneNode(!0);b.style.visibility="hidden";b.style.styleFloat="left";b.style.cssFloat="left";document.body.appendChild(b);var a=b.offsetWidth,h=b.offsetHeight,f=window.getComputedStyle(b),c=f.getPropertyValue("width").slice(0,-2)-0,f=f.getPropertyValue("height").slice(0,-2)-0;document.body.removeChild(b);delete b;return[a-c,h-f]},groupForms:function(b){for(var b=Elm.JavaScript.castListToJSArray(b),+a=[],h=[],f=b.length;f--;){var c=b[f];switch(c[4][0]){case "FElement":0<h.length&&(a.push(h),h=[]);a.push(c);break;default:h.push(c)}}0<h.length&&a.push(h);return a},wrap:function(a){var g=Value.getSize(a);return["Element",Guid.guid(),["EHtml",a],g[0],g[1],1,Nothing,Nothing]},addListener:j}}(),Elm=Elm||{};+Elm.List=function(){function d(a){return function(b){if("Nil"===b[0])return b;"Cons"!==b[0]&&c("map");for(var e=["Cons",a(b[1]),["Nil"]],f=e,b=b[2];"Cons"===b[0];)f[2]=["Cons",a(b[1]),["Nil"]],b=b[2],f=f[2];return e}}function a(a){return function(b){return function(e){var f=b;if("Nil"===e[0])return f;for("Cons"!==e[0]&&c("foldl");"Cons"===e[0];)f=a(e[1])(f),e=e[2];return f}}}function g(a){return function(b){return function(e){var f=b;if("Nil"===e[0])return f;"Cons"!==e[0]&&c("foldr");for(var n=[];"Cons"===+e[0];)n.push(e[1]),e=e[2];for(e=n.length;e--;)f=a(n[e])(f);return f}}}function i(c){return function(b){var e;"Cons"!==b[0]?e=void 0:(e=b[1],b=b[2],e=a(c)(e)(b));return e}}function j(b){return function(a){return function(e){if("Nil"===e[0])return["Cons",a,["Nil"]];"Cons"!==e[0]&&c("scanl");for(var f=[a];"Cons"===e[0];)a=b(e[1])(a),f.push(a),e=e[2];for(var e=["Nil"],n=f.length;n--;)e=["Cons",f[n],e];return e}}}function b(c){return function(a){a:{for(var e=[function(c){return"Nil"!==c[0]?void 0:["Tuple2",+["Nil"],["Nil"]]},function(a){if("Cons"===a[0]){var e=a[1],a=a[2];var f=b(c)(a);"Tuple2"!==f[0]?e=void 0:(a=f[1],f=f[2],e=c(e)?["Tuple2",["Cons",e,a],f]:["Tuple2",a,["Cons",e,f]]);return e}}],f=e.length;f--;){var n=e[f](a);if(void 0!==n){a=n;break a}}a=void 0}return a}}function l(c){a:{for(var a=[function(c){return"Nil"!==c[0]?void 0:["Tuple2",["Nil"],["Nil"]]},function(c){if("Cons"!==c[0])c=void 0;else if(c=["Tuple2",c[1],l(c[2])],"Tuple2"!==c[0]||"Tuple2"!==c[1][0])c=void 0;else var a=c[1][1],b=+c[1][2],c="Tuple2"!==c[2][0]?void 0:["Tuple2",["Cons",a,c[2][1]],["Cons",b,c[2][2]]];return c}],b=a.length;b--;){var e=a[b](c);if(void 0!==e){c=e;break a}}c=void 0}return c}function h(c){return function(a){a:{for(var b=[function(c){return"Nil"!==c[0]?void 0:["Nil"]},function(c){if("Cons"===c[0]){var a=c[1];return"Nil"!==c[2][0]?void 0:["Cons",a,["Nil"]]}},function(a){if("Cons"===a[0]){var b=a[1];if("Cons"===a[2][0]){var e=a[2][1],a=a[2][2];return["Cons",b,["Cons",c,h(c)(["Cons",e,a])]]}}}],e=b.length;e--;){var f=+b[e](a);if(void 0!==f){a=f;break a}}a=void 0}return a}}function f(c){return function(a){a:{for(var b=[function(c){return"Nil"!==c[0]?void 0:["Nil"]},function(c){if("Cons"===c[0]){var a=c[1];return"Nil"!==c[2][0]?void 0:a}},function(a){if("Cons"===a[0]){var b=a[1];if("Cons"===a[2][0]){var e=a[2][1],a=a[2][2];return Value.append(b,Value.append(c,f(c)(["Cons",e,a])))}}}],e=b.length;e--;){var n=b[e](a);if(void 0!==n){a=n;break a}}a=void 0}return a}}var c=function(c){throw"Function '"+c+"' expecting a list!";+},e=a(function(c){return function(a){return["Cons",c,a]}})(["Nil"]),n=g(function(c){return function(a){return Value.append(c,a)}})(["Nil"]),m=a(function(c){return function(a){return c&&a}})(!0),s=a(function(c){return function(a){return c||a}})(!1),p=a(function(c){return function(a){return c+a}})(0),k=a(function(c){return function(a){return c*a}})(1),u=i(function(c){return function(a){return Math.max(c,a)}}),x=i(function(c){return function(a){return Math.min(c,a)}});return{head:function(c){if("Cons"!==+c[0])throw"Error: 'head' only accepts lists of length greater than one.";return c[1]},tail:function(c){if("Cons"!==c[0])throw"Error: 'tail' only accepts lists of length greater than one.";return c[2]},last:function(c){if("Cons"!==c[0])throw"Error: 'last' only accepts lists of length greater than one.";for(var a=c[1];"Cons"===c[0];)a=c[1],c=c[2];return a},map:d,foldl:a,foldr:g,foldl1:i,foldr1:function(a){return function(b){if("Nil"===b[0])throw"'foldr1' requires an non-empty list.";"Cons"!==b[0]&&+c("foldr1");for(var e=[];"Cons"===b[0];)e.push(b[1]),b=b[2];for(var b=e.pop(),f=e.length;f--;)b=a(e[f])(b);return b}},scanl:j,scanl1:function(c){return function(a){if("Cons"!==a[0])throw"Error: 'scanl1' requires a list of at least length 1.";return j(c)(a[1])(a[2])}},filter:function(a){return function(b){if("Nil"===b[0])return b;"Cons"!==b[0]&&c("filter");for(var e=[];"Cons"===b[0];)a(b[1])&&e.push(b[1]),b=b[2];for(var b=["Nil"],f=e.length;f--;)b=["Cons",e[f],b];return b}},length:function(c){for(var a=+0;"Cons"===c[0];)a+=1,c=c[2];return a},reverse:e,concat:n,concatMap:function(c){return function(a){return n(d(c)(a))}},and:m,or:s,all:function(c){return a(function(a){return function(b){return b&&c(a)}})(!0)},any:function(c){return a(function(a){return function(b){return b||c(a)}})(!1)},sum:p,product:k,maximum:u,minimum:x,partition:b,zipWith:function(a){return function(b){return function(e){if("Nil"===b[0]||"Nil"===e[0])return["Nil"];("Cons"!==b[0]||"Cons"!==e[0])&&c("zipWith");for(var f=[];"Cons"===+b[0]&&"Cons"===e[0];)f.push(a(b[1])(e[1])),b=b[2],e=e[2];for(var e=["Nil"],n=f.length;n--;)e=["Cons",f[n],e];return e}}},zip:function(a){return function(b){if("Nil"===a[0]||"Nil"===b[0])return["Nil"];("Cons"!==a[0]||"Cons"!==b[0])&&c("zip");for(var e=[];"Cons"===a[0]&&"Cons"===b[0];)e.push(["Tuple2",a[1],b[1]]),a=a[2],b=b[2];for(var b=["Nil"],f=e.length;f--;)b=["Cons",e[f],b];return b}},unzip:l,intersperse:h,intercalate:f,sort:function(a){if("Nil"===a[0])return a;"Cons"!==a[0]&&c("sort");for(var b=+[];"Cons"===a[0];)b.push(a[1]),a=a[2];b.sort(function(c,a){return c-a});for(var a=["Nil"],e=b.length;e--;)a=["Cons",b[e],a];return a},take:function(a){return function(b){if(0>=a)return["Nil"];if("Nil"===b[0])return b;"Cons"!==b[0]&&c("take");var e=["Cons",b[1],["Nil"]],f=e,b=b[2];for(--a;"Cons"===b[0]&&0<a;)f[2]=["Cons",b[1],["Nil"]],f=f[2],b=b[2],--a;return e}},drop:function(a){return function(b){if("Nil"===b[0])return b;for("Cons"!==b[0]&&c("drop");"Cons"===b[0]&&0<a;)b=b[2],--a;return b}}}}();+Elm=Elm||{};+Elm.Maybe=function(){function d(a){return function(d){return"Just"===a[0]?["Cons",a[1],d]:d}}function a(a){return function(d){return function(j){var b=a(d);return"Just"===b[0]?["Cons",b[1],j]:j}}}return{Just:function(a){return["Just",a]},Nothing:["Nothing"],catMaybes:Elm.List.foldr(d)(["Nil"]),isJust:function(a){return"Just"===a[0]},isNothing:function(a){return"Nothing"===a[0]},fromMaybe:function(a){return function(d){return"Just"===d[0]?d[1]:a}},consMaybe:d,mapMaybe:function(g){return Elm.List.foldr(a(g))(["Nil"])},maybe:function(a){return function(d){return function(j){return"Just"===+j[0]?d(j[1]):a}}}}}();+(function(){for(var d in Elm)this[d]=Elm[d];if(Elm.Dict)throw"Module name collision, 'Dict' is already defined.";Elm.Dict=function(){function a(a){return function(c){return function(b){return function(e){return function(f){return["RBNode",a,c,b,e,f]}}}}}function g(a){return function(){switch(a[0]){case "RBEmpty":return z(Value.str("(min RBEmpty) is not defined"));case "RBNode":switch(a[4][0]){case "RBEmpty":return["Tuple2",a[2],a[3]]}return g(a[4])}throw"Non-exhaustive pattern match in case";}()}+function d(a){return function(c){var b;a:{switch(c[0]){case "RBEmpty":b=Nothing;break a;case "RBNode":b=function(){switch(compare(a)(c[2])[0]){case "EQ":return Just(c[3]);case "GT":return d(a)(c[5]);case "LT":return d(a)(c[4])}throw"Non-exhaustive pattern match in case";}();break a}throw"Non-exhaustive pattern match in case";}return b}}function j(a){return function(c){return function(b){var e;a:{switch(b[0]){case "RBEmpty":e=a;break a;case "RBNode":e=function(){switch(compare(c)(b[2])[0]){case "EQ":return b[3];+case "GT":return j(a)(c)(b[5]);case "LT":return j(a)(c)(b[4])}throw"Non-exhaustive pattern match in case";}();break a}throw"Non-exhaustive pattern match in case";}return e}}}function b(a){return function(c){return A(d(a)(c))}}function l(c){a:{switch(c[0]){case "RBNode":switch(c[5][0]){case "RBNode":c=a(c[1])(c[5][2])(c[5][3])(a(w)(c[2])(c[3])(c[4])(c[5][4]))(c[5][5]);break a}}c=z(Value.str("rotateLeft of a node without enough children"))}return c}function h(c){a:{switch(c[0]){case "RBNode":switch(c[4][0]){case "RBNode":c=+a(c[1])(c[4][2])(c[4][3])(c[4][4])(a(w)(c[2])(c[3])(c[4][5])(c[5]));break a}}c=z(Value.str("rotateRight of a node without enough children"))}return c}function f(c){a:{switch(c[0]){case "Black":c=w;break a;case "Red":c=C;break a}throw"Non-exhaustive pattern match in case";}return c}function c(c){a:{switch(c[0]){case "RBNode":switch(c[4][0]){case "RBNode":switch(c[5][0]){case "RBNode":c=a(f(c[1]))(c[2])(c[3])(a(f(c[4][1]))(c[4][2])(c[4][3])(c[4][4])(c[4][5]))(a(f(c[5][1]))(c[5][2])(c[5][3])(c[5][4])(c[5][5]));+break a}}}c=z(Value.str("color_flip called on a RBEmpty or RBNode with a RBEmpty child"))}return c}function e(a){a:switch(a[0]){case "RBNode":switch(a[5][0]){case "RBNode":switch(a[5][1][0]){case "Red":a=l(a);break a}}}a:switch(a[0]){case "RBNode":switch(a[4][0]){case "RBNode":switch(a[4][1][0]){case "Red":switch(a[4][4][0]){case "RBNode":switch(a[4][4][1][0]){case "Red":a=h(a);break a}}}}}a:switch(a[0]){case "RBNode":switch(a[4][0]){case "RBNode":switch(a[4][1][0]){case "Red":switch(a[5][0]){case "RBNode":switch(a[5][1][0]){case "Red":a=+c(a);break a}}}}}return a}function n(c){a:switch(c[0]){case "RBNode":switch(c[1][0]){case "Red":c=a(C)(c[2])(c[3])(c[4])(c[5]);break a}}return c}function m(c){return function(b){return function(f){var h=function(f){var n;a:{switch(f[0]){case "RBEmpty":n=a(w)(c)(b)(y)(y);break a;case "RBNode":n=function(){switch(compare(c)(f[2])[0]){case "EQ":return a(f[1])(f[2])(b)(f[4])(f[5]);case "GT":return a(f[1])(f[2])(f[3])(f[4])(h(f[5]));case "LT":return a(f[1])(f[2])(f[3])(h(f[4]))(f[5])}throw"Non-exhaustive pattern match in case";+}();n=e(n);break a}throw"Non-exhaustive pattern match in case";}return n};return n(h(f))}}}function s(c){a:{switch(c[0]){case "RBNode":switch(c[4][0]){case "RBNode":switch(c[4][1][0]){case "Red":c=!0;break a}}}c=!1}return c}function p(c){a:{switch(c[0]){case "RBNode":switch(c[4][0]){case "RBNode":switch(c[4][4][0]){case "RBNode":switch(c[4][4][1][0]){case "Red":c=!0;break a}}}}c=!1}return c}function k(b){if(not(s(b))&¬(p(b))){b=c(b);a:switch(b[0]){case "RBNode":b:switch(b[5][0]){case "RBNode":switch(b[5][4][0]){case "RBNode":switch(b[5][4][1][0]){case "Red":b=+c(l(a(b[1])(b[2])(b[3])(b[4])(h(b[5]))));break b}}}break a}}return b}function u(b){return function(f){var d;a:{switch(f[0]){case "RBEmpty":d=y;break a;case "RBNode":if("LT"===compare(b)(f[2])[0]){d=k(f);b:{switch(d[0]){case "RBEmpty":d=z(Value.str("delLT on RBEmpty"));break b;case "RBNode":d=e(a(d[1])(d[2])(d[3])(del(d[4]))(d[5]));break b}break}}else{f=s(f)?h(f):f;b:{switch(f[0]){case "RBNode":switch(f[5][0]){case "RBEmpty":f=eq(b,f[2]);break b}}f=!1}if(f)d=y;else{var f=not,i;b:{switch(d[0]){case "RBNode":switch(d[5][0]){case "RBNode":switch(d[5][1][0]){case "Red":i=+!0;break b}}}i=!1}if(f=f(i)){f=not;b:{switch(d[0]){case "RBNode":switch(d[5][0]){case "RBNode":switch(d[5][4][0]){case "RBNode":switch(d[5][4][1][0]){case "Red":i=!0;break b}}}}i=!1}f=f(i)}f&&(d=c(d),d=p(d)?c(h(d)):d);b:{switch(d[0]){case "RBNode":f=eq(b,d[2]);break b}f=!1}if(f)b:{switch(d[0]){case "RBEmpty":d=z(Value.str("delEQ called on a RBEmpty"));break b;case "RBNode":i=g(d[5]);c:{switch(i[0]){case "Tuple2":f=i[1];break c}break}c:{switch(i[0]){case "Tuple2":i=i[2];break c}break}var f=a(d[1])(f)(i)(d[4]),+j=function(c){a:{switch(c[0]){case "RBNode":switch(c[4][0]){case "RBEmpty":c=y;break a}}c=k(c);b:{switch(c[0]){case "RBEmpty":c=y;break b;case "RBNode":c=e(a(c[1])(c[2])(c[3])(j(c[4]))(c[5]));break b}throw"Non-exhaustive pattern match in case";}}return c};d=n(j(d[5]));d=e(f(d));break b}break}else b:{switch(d[0]){case "RBEmpty":d=z(Value.str("delGT called on a RBEmpty"));break b;case "RBNode":d=e(a(d[1])(d[2])(d[3])(d[4])(del(d[5])));break b}break}}}break a}throw"Non-exhaustive pattern match in case";+}return n(d)}}function x(c){return function(b){a:{switch(b[0]){case "RBEmpty":b=y;break a;case "RBNode":b=a(b[1])(b[2])(c(b[3]))(x(c)(b[4]))(x(c)(b[5]));break a}throw"Non-exhaustive pattern match in case";}return b}}function q(c){return function(a){return function(b){a:{switch(b[0]){case "RBEmpty":b=a;break a;case "RBNode":b=q(c)(c(b[2])(b[3])(q(c)(a)(b[4])))(b[5]);break a}throw"Non-exhaustive pattern match in case";}return b}}}function r(c){return function(a){return function(b){a:{switch(b[0]){case "RBEmpty":b=+a;break a;case "RBNode":b=r(c)(c(b[2])(b[3])(r(c)(a)(b[5])))(b[4]);break a}throw"Non-exhaustive pattern match in case";}return b}}}var t=[],v;for(v in Elm.Prelude)0<=t.indexOf(v)||(this[v]=Elm.Prelude[v]);var A=Elm.Maybe.isJust,w=["Red"],C=["Black"],y=["RBEmpty"],B=y,z=console.log;return{empty:B,lookup:d,findWithDefault:j,member:b,insert:m,singleton:function(c){return function(a){return m(c)(a)(y)}},remove:u,map:x,foldl:q,foldr:r,union:function(c){return function(a){return q(m)(a)(c)}},intersect:function(c){return function(a){return q(function(c){return function(e){return function(f){return b(c)(a)?+m(c)(e)(f):f}}})(B)(c)}},diff:function(c){return function(a){return q(function(c){return function(){return function(a){return u(c)(a)}}})(c)(a)}},keys:function(c){return q(function(c){return function(){return function(a){return["Cons",c,a]}}})(["Nil"])(c)},values:function(c){return q(function(){return function(c){return function(a){return["Cons",c,a]}}})(["Nil"])(c)},toList:function(c){return q(function(c){return function(a){return function(b){return["Cons",["Tuple2",c,a],b]}}})(["Nil"])(c)},fromList:function(c){return List.foldl(uncurry(m))(B)(c)}}}()})();+(function(){for(var d in Elm)this[d]=Elm[d];Elm.Set=function(){var a=[],d;for(d in Elm.Prelude)0<=a.indexOf(d)||(this[d]=Elm.Prelude[d]);a=Dict.empty;d=Dict.remove;var i=Dict.member,j=Dict.union,b=Dict.intersect,l=Dict.diff,h=Dict.keys,f=List.foldl(function(c){return function(a){return Dict.insert(c)(["Tuple0"])(a)}})(a);return{empty:a,singleton:function(c){return Dict.singleton(c)(["Tuple0"])},insert:function(c){return Dict.insert(c)(["Tuple0"])},remove:d,member:i,union:j,intersect:b,diff:l,toList:h,+fromList:f,foldl:function(c){return Dict.foldl(function(a){return function(){return function(b){return c(a)(b)}}})},foldr:function(c){return Dict.foldr(function(a){return function(){return function(b){return c(a)(b)}}})},map:function(c){return function(a){a=h(a);return f(List.map(c)(a))}}}}()})();Elm=Elm||{};+Elm.Char=function(){function d(a,b){return function(d){d=d.charCodeAt(0);return a<=d&&d<=b}}var a=d(48,57),g=d(97,102),i=d(65,70);return{fromCode:function(a){return String.fromCharCode(a)},toCode:function(a){return a.charCodeAt(0)},toUpper:function(a){return a.toUpperCase()},toLower:function(a){return a.toLowerCase()},toLocaleUpper:function(a){return a.toLocaleUpperCase()},toLocaleLower:function(a){return a.toLocaleLowerCase()},isLower:d(97,122),isUpper:d(65,90),isDigit:a,isOctDigit:d(48,55),isHexDigit:function(d){return a(d)||+g(d)||i(d)}}}();Elm=Elm||{};+Elm.Color=function(){return{rgba:function(d){return function(a){return function(g){return function(i){return["Color",d,a,g,i]}}}},rgb:function(d){return function(a){return function(g){return["Color",d,a,g,1]}}},red:["Color",255,0,0,1],green:["Color",0,255,0,1],blue:["Color",0,0,255,1],yellow:["Color",255,255,0,1],cyan:["Color",0,255,255,1],magenta:["Color",255,0,255,1],black:["Color",0,0,0,1],white:["Color",255,255,255,1],gray:["Color",128,128,128,1],grey:["Color",128,128,128,1],complement:function(d){var a,+g=d[1]/255;a=d[2]/255;var i=d[3]/255,d=Math.max(g,a,i),j=Math.min(g,a,i),j=d-j,b=0;0===j?b=0:d===g?b=(a-i)/j%6:d===a?b=(i-g)/j+2:d===i&&(b=(g-a)/j+4);a=60*b;var g=d*(0===d?0:j/d),b=(a+180)%360/60,l=g*(1-Math.abs(b%2-1)),j=i=a=0;0<=b&&1>b?(a=g,i=l,j=0):1<=b&&2>b?(a=l,i=g,j=0):2<=b&&3>b?(a=0,i=g,j=l):3<=b&&4>b?(a=0,i=l,j=g):4<=b&&5>b?(a=l,i=0,j=g):5<=b&&6>b&&(a=g,i=0,j=l);d-=g;return["Color",Math.round(255*(a+d)),Math.round(255*(i+d)),Math.round(255*(j+d)),1]},extract:function(d){return 1===d[4]?"rgb("++d[1]+","+d[2]+","+d[3]+")":"rgba("+d[1]+","+d[2]+","+d[3]+","+d[4]+")"}}}();+var Collage=function(){function d(a,c){var b=c.length-1;if(!(0>=b))for(a.moveTo(c[b][1],c[b][2]);b--;)a.lineTo(c[b][1],c[b][2])}function a(a,c,b,d){0===a.length&&(a=[8,4]);var h=d.length-1;if(!(0>=h)){var g=d[h][1],i=d[h][2],k=0,j=0,l=0,q=0,r=0,t=0,v=a.length,A=!0,w=a[0];for(c.moveTo(g,i);h--;){k=d[h][1];j=d[h][2];l=k-g;q=j-i;for(r=Math.sqrt(l*l+q*q);w<=r;)g+=l*w/r,i+=q*w/r,c[A?"lineTo":"moveTo"](g,i),l=k-g,q=j-i,r=Math.sqrt(l*l+q*q),A=!A,t=(t+1)%v,w=a[t];0<r&&(c[A?"lineTo":"moveTo"](k,j),w-=r);g=+k;i=j}}c.strokeStyle=Elm.Color.extract(b);c.stroke()}function g(b,c,e,n,g){c.clearRect(0,0,e,n);for(e=g.length;e--;){var i=g[e],p=b,n=c,k=i[1],j=i[2],l=i[3][1],q=i[3][2],i=i[4];n.save();(0!==l||0!==q)&&n.translate(l,q);k!==~~k&&n.rotate(2*Math.PI*k);1!==j&&n.scale(j,j);n.beginPath();switch(i[0]){case "FLine":a:switch(p=n,k=i,i=k[3][1],k[1][0]){case "Solid":k=k[2];d(p,i);p.strokeStyle=Elm.Color.extract(k);p.stroke();break;case "Dotted":a([3,3],p,k[2],i);break a;case "Dashed":a([8,4],p,k[2],i);break a;+case "Custom":a(k[1][1],p,k[2],i)}break;case "FShape":a:switch(l=p,j=n,p=i[1],k=i[2],i=i[3][1],p[0]){case "Filled":p=j;d(p,i);p.fillStyle=Elm.Color.extract(k);p.fill();break a;case "Outlined":p=j;d(p,i);p.strokeStyle=Elm.Color.extract(k);p.stroke();break a;case "Textured":k=l;p=p[1];l=new Image;l.src=h.castStringToJSString(p);l.onload=k;d(j,i);j.fillStyle=j.createPattern(l,"repeat");j.fill();break a;case "CustomOutline":a(p[1],j,k,i)}break;case "FImage":k=n,j=i[1],l=i[2],i=i[3],q=new Image,q.onload=+p,q.src=h.castStringToJSString(i),k.drawImage(q,-j/2,-l/2,j,l)}n.restore()}}function i(a,c,b){var d=Render.newElement("canvas");d.style.width=~~a+"px";d.style.height=~~c+"px";d.style.display="block";d.width=~~a;d.height=~~c;if(d.getContext){var h=d.getContext("2d"),a=d.width,c=d.height;g(function(){g(this,h,a,c,b)},h,a,c,b);return d}d.innerHTML="Your browser does not support the canvas element.";return d}function j(a,c,b,d,h,i,g){var k=Render.render(g),b="translate("+(h-g[3]/2)+"px,"+(i-g[4]/2)+"px) "++(1===d?"":"scale("+d+","+d+")")+" "+(b===~~b?"":"rotate("+360*b+"deg)");k.style.transform=b;k.style.msTransform=b;k.style.MozTransform=b;k.style.webkitTransform=b;k.style.OTransform=b;b=Render.newElement("div");Render.addTo(b,k);b.style.width=~~a+"px";b.style.height=~~c+"px";b.style.overflow="hidden";return b}function b(a,c,b){if(!Value.eq(b,c)){var d=a.style.width.slice(0,-2)-0,h=a.style.height.slice(0,-2)-0;if("object"===typeof b[0]){if("object"===typeof c[0]&&a.getContext){var l=a.getContext("2d");+return g(function(){g(this,l,d,h,b)},l,d,h,b)}c=i(d,h,b);c.style.position="absolute";return a.parentNode.replaceChild(c,a)}c=j(d,h,b[1],b[2],b[3][1],b[3][2],b[4][1]);c.style.position="absolute";return a.parentNode.replaceChild(c,a)}}function l(a,c,b,d,h){var i=0,g,k=(a[1]-d[1])/b,a=(a[2]-d[2])/b;0!==c&&(c*=-2*Math.PI,b=k*Math.cos(c)-a*Math.sin(c),a=k*Math.sin(c)+a*Math.cos(c),k=b);if(0===h.length)return!1;g=h[0];for(b=h.length-1;b--;){c=h[b];d=g[1];g=g[2];var j=c[1],l=c[2];if(g<l)var q=g,r=l;else q=+l,r=g;if(d<j)var t=d,v=j;else t=j,v=d;q<a&&a<=r&&k<=v&&(k<=t||k<=(a-g)*(j-d)/(l-g)+d)&&++i;g=c}return 1===i%2}var h=Elm.JavaScript;return{collage:function(a,c,b){if(0===b.length)return i(a,c,[]);for(var d=Array(b.length),h=b.length;h--;){var g=b[h];d[h]="string"===typeof g[0]?j(a,c,g[1],g[2],g[3][1],g[3][2],g[4][1]):i(a,c,g)}return 1===b.length?d[0]:Render.flowWith(Render.goIn,function(c){return c},d)},updateCollage:function(a,c,e){if(1===e.length)return b(a,c[0],e[0]);for(var a=a.childNodes,d=a.length,+h=d;h--;)b(a[d-h-1],c[h],e[h])},insideForm:function(a){return function(c){var b=a[1],d=a[2];if(6>c.length){var h=c[3][1],g=c[3][2],i=0,j=c[2];switch(c[4][0]){case "FShape":for(var u=c[4][3][1],x=u.length;--x;)var q=u[x],i=Math.max(i,q[1]*q[1]+q[2]*q[2]);i*=j*j;break;case "FImage":u=j*c[4][1]/2;j=j*c[4][2]/2;i=u*u+j*j;break;case "FElement":u=j*c[4][1][3]/2,j=j*c[4][1][4]/2,i=u*u+j*j}c.push(function(c,a){var b=c-h,e=a-g;return b*b+e*e<i+1})}if(!c[5](b,d))return!1;var r,t;switch(c[4][0]){case "FShape":return l(a,+c[1],c[2],c[3],c[4][3][1]);case "FLine":return!1;case "FImage":r=c[4][1]/2;t=c[4][2]/2;break;case "FElement":r=c[4][1][3]/2,t=c[4][1][4]/2}return l(a,c[1],c[2],c[3],[[null,r,t],[null,-r,t],[null,-r,-t],[null,r,-t],[null,r,t]])}}}}(),Elm=Elm||{};+Elm.Graphics=function(){function d(c){return function(a){return["Position",c,a]}}function a(c){return function(a){return["EText",c,a]}}function g(c){return function(a){return["EFlow",c,k.castListToJSArray(a)]}}function i(c){return["Line",k.castListToJSArray(c)]}function j(c){return function(a){var b=k.castListToJSArray(c);0<b.length&&b.push(b[0]);return["Shape",b,a]}}function b(c){return function(a){return function(b){return function(e){return["Form",c,a,b,e]}}}}function l(c){return function(a){return function(b){return["FLine",+c,a,b]}}}function h(c){return function(a){return function(b){return["FShape",c,a,b]}}}function f(c,a,b,e,d,f){return["Element",Guid.guid(),c,a,b,e,d,f]}function c(c,a,b){return["Element",Guid.guid(),c,a,b,1,Nothing,Nothing]}function e(c){return~~c[3]}function n(c){return~~c[4]}function m(a){return function(b){return function(e){return c(["EImage",k.castStringToJSString(e)],a,b)}}}function s(a){return function(b){return c(A,a,b)}}function p(c){return function(a){return function(b){var e=map(function(b){return["Tuple2",+c/2*cos(2*(pi/50)*b),a/2*sin(2*(pi/50)*b)]}),d=49,f=["Nil"];if(0<=d){do f=["Cons",d,f];while(0<d--)}return j(e(f))(b)}}}var k=Elm.JavaScript,u=["DRight"],x=["DDown"],q=["DOut"],r=["Near"],t=["Mid"],v=["Far"],A=["EEmpty"],w=["Solid"],C=["Dotted"],y=["Dashed"],B=["Filled"],z=["Outlined"],D=d(r)(r),E=d(v)(r),F=d(r)(v),G=d(v)(v),H=d(r)(t),I=d(v)(t),r=d(t)(r),v=d(t)(v),t=d(t)(t);return{left:["DLeft"],right:u,down:x,up:["DUp"],inward:["DIn"],outward:q,topLeft:D,topRight:E,bottomLeft:F,bottomRight:G,midLeft:H,+midRight:I,midTop:r,midBottom:v,middle:t,middleAt:function(c){return function(a){return["PositionAt",c,a]}},topLeftAt:function(c){return function(a){return["PositionTL",c,a]}},topRightAt:function(c){return function(a){return["PositionTR",c,a]}},bottomLeftAt:function(c){return function(a){return["PositionBL",c,a]}},bottomRightAt:function(c){return function(a){return["PositionBR",c,a]}},absolute:function(c){return["Absolute",c]},relative:function(c){return["Relative",c]},width:function(c){return function(a){var b=+a[2];switch(b[0]){case "EImage":case "EVideo":return f(a[2],c,a[4]*c/a[3],a[5],a[6],a[7]);case "EText":return b=Value.getTextSize(c,a[4],b[2]),f(a[2],c,b[1],a[5],a[6],a[7])}return f(a[2],c,a[4],a[5],a[6],a[7])}},height:function(a){return function(c){switch(c[2][0]){case "EImage":case "EVideo":return f(c[2],c[3]*a/c[4],a,c[5],c[6],c[7])}return f(c[2],c[3],a,c[5],c[6],c[7])}},size:function(c){return function(a){return function(b){return f(b[2],c,a,b[5],b[6],b[7])}}},opacity:function(c){return function(a){return f(a[2],+a[3],a[4],c,a[6],a[7])}},color:function(c){return function(a){return f(a[2],a[3],a[4],a[5],Just(c),a[7])}},link:function(a){return function(c){return f(c[2],c[3],c[4],c[5],c[6],Just(k.castStringToJSString(a)))}},widthOf:e,heightOf:n,sizeOf:function(c){return["Tuple2",~~c[3],~~c[4]]},text:function(b){var e=Value.getTextSize(0,0,b);return c(a("left")(b),e[0],e[1])},asText:function(b){var b=monospace(Value.toText(Value.show(b))),e=Value.getTextSize(0,0,b);return c(a("left")(b),e[0],e[1])},plainText:function(b){var b=+Value.toText(b),e=Value.getTextSize(0,0,b);return c(a("left")(b),e[0],e[1])},centeredText:function(b){var e=Value.getTextSize(0,0,b);return c(a("center")(b),e[0],e[1])},justifiedText:function(b){var e=Value.getTextSize(0,0,b);return c(a("justify")(b),e[0],e[1])},rightedText:function(b){var e=Value.getTextSize(0,0,b);return c(a("right")(b),e[0],e[1])},image:m,images:function(c){var a=Elm.Signal.constant(s(0)(0)),c=Elm.Signal.lift(function(c){var c=k.castStringToJSString(c),b=new Image;b.onload=function(){Dispatcher.notify(a.id,+m(this.width)(this.height)(c))};b.src=c})(c);return Elm.Signal.lift2(function(c){return function(){return c}})(a)(c)},video:function(a){return function(b){return function(e){return c(["EVideo",k.castStringToJSString(e)],a,b)}}},fittedImage:function(a){return function(b){return function(e){return c(["EFittedImage",k.castStringToJSString(e)],a,b)}}},flow:function(a){return function(b){var d;d=map(e)(b);a:{switch(a[0]){case "DLeft":d=sum(d);break a;case "DRight":d=sum(d);break a}d=maximum(d)}var f;f=+map(n)(b);a:{switch(a[0]){case "DDown":f=sum(f);break a;case "DUp":f=sum(f);break a}f=maximum(f)}return c(g(a)(b),d,f)}},above:function(a){return function(b){return c(g(x)(["Cons",a,["Cons",b,["Nil"]]]),max(~~a[3])(~~b[3]),~~a[4]+~~b[4])}},below:function(a){return function(b){return c(g(x)(["Cons",b,["Cons",a,["Nil"]]]),max(~~a[3])(~~b[3]),~~a[4]+~~b[4])}},beside:function(a){return function(b){return c(g(u)(["Cons",a,["Cons",b,["Nil"]]]),~~a[3]+~~b[3],max(~~a[4])(~~b[4]))}},layers:function(a){return c(g(q)(a),+maximum(map(e)(a)),maximum(map(n)(a)))},collage:function(a){return function(b){return function(e){return c(["ECollage",a,b,Value.groupForms(e)],a,b)}}},spacer:s,container:function(a){return function(b){return function(e){return function(d){return c(["EContainer",e,d],a,b)}}}},line:i,segment:function(a){return function(c){return i(["Cons",a,["Cons",c,["Nil"]]])}},polygon:j,rect:function(a){return function(c){return function(b){return j(["Cons",["Tuple2",0-a/2,0-c/2],["Cons",["Tuple2",0-a/2,c/2],["Cons",+["Tuple2",a/2,c/2],["Cons",["Tuple2",a/2,0-c/2],["Nil"]]]]])(b)}}},oval:p,circle:function(a){return p(2*a)(2*a)},ngon:function(a){return function(c){return function(b){var e=toFloat(a),d=map(function(a){return["Tuple2",c*cos(2*(pi/e)*a),c*sin(2*(pi/e)*a)]}),f=a-1,h=["Nil"];if(0<=f){do h=["Cons",f,h];while(0<f--)}return j(d(h))(b)}}},solid:function(a){return function(c){return b(0)(1)(["Tuple2",0,0])(l(w)(a)(c))}},dotted:function(a){return function(c){return b(0)(1)(["Tuple2",0,0])(l(C)(a)(c))}},dashed:function(a){return function(c){return b(0)(1)(["Tuple2",+0,0])(l(y)(a)(c))}},customLine:function(a){return function(c){return function(e){return b(0)(1)(["Tuple2",0,0])(l(["Custom",k.castListToJSArray(a)])(c)(e))}}},filled:function(a){return function(c){return b(0)(1)(c[2])(h(B)(a)(c))}},outlined:function(a){return function(c){return b(0)(1)(c[2])(h(z)(a)(c))}},customOutline:function(a){return function(c){return function(e){return b(0)(1)(e[2])(h(["CustomOutline",k.castListToJSArray(a)])(c)(e))}}},textured:function(a){return function(c){return b(0)(1)(c[2])(h(["Textured",+a])(null)(c))}},sprite:function(a){return function(c){return function(e){return function(d){return b(0)(1)(d)(["FImage",c,e,k.castStringToJSString(a)])}}}},toForm:function(a){return function(c){return b(0)(1)(a)(["FElement",c])}},rotate:function(a){return function(c){a:{switch(c[0]){case "Form":var e=c[2],d=c[3],f=c[4],c=b(a+c[1])(e)(d)(f);break a}throw"Non-exhaustive pattern match in case";}return c}},scale:function(a){return function(c){return b(c[1])(a*c[2])(c[3])(c[4])}},move:function(a){return function(c){return function(e){var d;+a:{switch(e[0]){case "Form":d=e[1];var f=e[2],h=e[3],e=e[4];switch(h[0]){case "Tuple2":var g=h[1],h=h[2];d=b(d)(f)(["Tuple2",a+g,c+h])(e);break a}}throw"Non-exhaustive pattern match in case";}return d}}},isWithin:Collage.insideForm}}();Elm=Elm||{};+Elm.Text=function(){function d(a){return Value.toText(a)}var a=function(a){return function(b){return"<"+a+' style="padding:0;margin:0">'+b+"</"+a+">"}},g=function(a,b){return function(d){return"<span style='"+a+":"+b+"'>"+d+"</span>"}},i=function(a){a=Elm.JavaScript.castStringToJSString(a);return g("font-family",a)},j=a("h1"),b=g("font-style","italic"),a=a("b"),l=g("text-decoration","underline"),h=g("text-decoration","overline"),f=g("text-decoration","line-through");return{fromString:d,toText:d,header:j,+height:function(a){return g("font-size",a+"em")},italic:b,bold:a,underline:l,overline:h,strikeThrough:f,monospace:i("monospace"),typeface:i,color:function(a){return g("color",Elm.Color.extract(a))},link:function(a){return function(b){return"<a href='"+d(a)+"'>"+b+"</a>"}}}}();+var Render=function(){function d(a){a=document.createElement(a);a.style.padding="0";a.style.margin="0";return a}function a(a){return a}function g(a){a.style.styleFloat="left";a.style.cssFloat="left";return a}function i(a){a.style.position="absolute";return a}function j(a,b,f){for(var h=d("div"),g=f.length;g--;){var i=a(b(f[g]));h.appendChild(i)}return h}function b(a){switch(a[0]){case "Absolute":return a[1]+"px";case "Relative":return 100*a[1]+"%"}}function l(a,e){e.style.position="absolute";e.style.margin=+"auto";switch(a[0]){case "Position":"Far"!==a[1][0]&&(e.style.left=0);"Near"!==a[1][0]&&(e.style.right=0);"Far"!==a[2][0]&&(e.style.top=0);"Near"!==a[2][0]&&(e.style.bottom=0);break;case "PositionAt":e.style.top=b(a[2]);e.style.left=b(a[1]);var d="translate("+-elem[3]/2+"px,"+-elem[4]/2+"px)";e.style.transform=d;e.style.msTransform=d;e.style.MozTransform=d;e.style.webkitTransform=d;e.style.OTransform=d;break;default:d=a[0].slice(-2),e.style["T"===d[0]?"top":"bottom"]=b(a[2]),e.style["L"===d[1]?"left":+"right"]=b(a[1])}}function h(c){var b={};switch(c[2][0]){case "EText":var b=c[2][1],f=c[2][2],m=d("div");m.innerHTML=f;m.style.textAlign=b;b=m;break;case "EImage":b=c[2][1];f=d("img");f.src=b;f.name=b;f.style.display="block";b=f;break;case "EVideo":m=c[2][1];b=d("video");b.controls="controls";f=d("source");f.src=m;m=m.split(".");f.type="video/"+m[m.length-1];b.appendChild(f);b.style.display="block";break;case "EFittedImage":var s=c[3],p=c[4],b=c[2][1],k=d("canvas");k.style.display="block";k.style.width=+s+"px";k.style.height=p+"px";k.width=s;k.height=p;k.innerHTML="Your browser does not support the canvas element.";var u=d("img");u.onload=function(){if(k.getContext){var a=k.getContext("2d"),b=0,c=0,d=this.width,f=this.height;s/p>this.width/this.height?(f=this.width*p/s,c=(this.height-f)/2):(d=this.height*s/p,b=(this.width-d)/2);a.drawImage(u,b,c,d,f,0,0,k.width,k.height)}};u.src=b;b=k;break;case "EFlow":a:{b=c[2][2];switch(c[2][1][0]){case "DDown":b=b.slice(0).reverse();case "DUp":b=j(a,h,b);break a;+case "DRight":b=b.slice(0).reverse();case "DLeft":b=j(g,h,b);break a;case "DOut":b=b.slice(0).reverse();case "DIn":b=j(i,h,b);break a}b=void 0}break;case "ECollage":b=Collage.collage(c[2][1],c[2][2],c[2][3]);break;case "EEmpty":b=d("div");break;case "EContainer":f=c[2][1];b=h(c[2][2]);l(f,b);f=d("div");f.style.position="relative";f.style.overflow="hidden";f.appendChild(b);b=f;break;case "EHtml":b=c[2][1];"button"!==b.type&&(f=Value.getExcess(b),c[3]-=f[0],c[4]-=f[1]);break;case "EExternalHtml":b=+d("div"),b.appendChild(c[2][1])}b.id=c[1];b.style.width=~~c[3]+"px";b.style.height=~~c[4]+"px";1!==c[5]&&(b.style.opacity=c[5]);"Just"===c[6][0]&&(b.style.backgroundColor=Elm.Color.extract(c[6][1]));return"Just"===c[7][0]?(f=d("a"),f.href=c[7][1],f.appendChild(b),f):b}function f(b,d,j){"A"===b.tagName&&(b=b.firstChild);if(d[1]!==j[1]){if(d[2][0]!==j[2][0])return b.parentNode.replaceChild(h(j),b);var m=j[2],s=d[2];switch(m[0]){case "EText":m[1]!==s[1]&&(b.style.textAlign=m[1]);m[2]!==s[2]&&(b.innerHTML=+m[2]);break;case "EImage":m[1]!==s[1]&&(b.src=m[1]);break;case "EVideo":case "EFittedImage":if(!Value.eq(m,s)||j[3]!==d[3]||j[4]!==d[4])return b.parentNode.replaceChild(h(j),b);break;case "ECollage":if(m[1]!==s[1]||m[2]!==s[2]||m[3].length!==s[3].length)return b.parentNode.replaceChild(h(j),b);Collage.updateCollage(b,s[3],m[3]);break;case "EFlow":if(m[1]!==s[1])return b.parentNode.replaceChild(h(j),b);var p=m[2],k=b.childNodes;if(p.length!==k.length)return b.parentNode.replaceChild(h(j),b);var s=+s[2],u={};switch(m[1][0]){case "DDown":case "DUp":u=a;break;case "DRight":case "DLeft":u=g;break;case "DOut":case "DIn":u=i}for(m=k.length;m--;)f(k[m],s[m],p[m]),u(k[m]);break;case "EContainer":f(b.childNodes[0],s[2],m[2]);l(m[1],b.childNodes[0]);break;case "EHtml":j[1]!==d[1]&&(p=h(j),b.parentNode.replaceChild(p,b),b=p);"button"!==p.type&&(m=Value.getExcess(b),j[3]-=m[0],j[4]-=m[1]);break;case "EExternalHtml":j[1]!==d[1]&&b.parentNode.replaceChild(h(j),b)}j[3]!==d[3]&&(b.style.width=~~j[3]+"px");+j[4]!==d[4]&&(b.style.height=~~j[4]+"px");j[5]!==d[5]&&(b.style.opacity=j[5]);2===j[6].length&&(m=Elm.Color.extract(j[6][1]),m!==b.style.backgroundColor&&(b.style.backgroundColor=m));if(2===j[7].length&&(1===d[7].length||j[7][1]!==d[7][1]))b.parentNode.href=j[7][1];j[1]=d[1]}}return{render:h,update:f,addTo:function(a,b){a.appendChild(b)},newElement:d,flowWith:j,goIn:i}}(),Elm=Elm||{};+Elm.Signal=function(){var d=function(a,b,d){for(var h=a.kids,g=h.length;g--;)h[g].recv(b,d,a.id)},a=function(a){this.id=Guid.guid();this.value=a;this.kids=[];this.defaultNumberOfKids=0;this.recv=function(a,b,f){if(b=b===this.id)this.value=f;d(this,a,b);return b};Dispatcher.inputs.push(this)},g=function(a,b){this.id=Guid.guid();this.value=null;this.kids=[];this.count=0;this.changed=!1;b.reverse();this.recalc=function(){for(var d=a,e=b.length;e--;)d=d(b[e].value);this.value=d};this.recalc();this.recv=+function(a,f){this.count+=1;f&&(this.changed=!0);this.count==b.length&&(this.changed&&this.recalc(),d(this,a,this.changed),this.changed=!1,this.count=0)};for(var e=b.length;e--;)b[e].kids.push(this)},i=function(a,b,e,h){this.id=Guid.guid();this.value=e?b(h.value):b;this.kids=[];this.recv=function(b,c){c&&(this.value=a(h.value)(this.value));d(this,b,c)};h.kids.push(this)},j=function(a,b,e){this.id=Guid.guid();this.value=a(e.value)?b:e.value;this.kids=[];this.recv=function(b,c){var h=c&&!a(e.value);+h&&(this.value=e.value);d(this,b,h)};e.kids.push(this)},b=function(a){this.id=Guid.guid();this.value=a.value;this.kids=[];this.recv=function(b,e){var h=e&&!eq(this.value,a.value);h&&(this.value=a.value);d(this,b,h)};a.kids.push(this)},l=function(a){return function(b){return function(d){d=new g(function(a){return function(b){return[a,b]}},[a,d]);d=new j(function(a){return a[0]},[!0,b],d);return new g(function(a){return a[1]},[d])}}},h=function(a,b){this.id=Guid.guid();this.value=b.value;this.kids=+[];this.count=0;this.changed=!1;this.recv=function(e,h,g){g===a.id&&(this.changed=h);this.count+=1;2==this.count&&(this.changed&&(this.value=b.value),d(this,e,this.changed),this.count=0,this.changed=!1)};a.kids.push(this);b.kids.push(this)};return{constant:function(b){return new a(b)},lift:function(a){return function(b){return new g(a,[b])}},lift2:function(a){return function(b){return function(d){return new g(a,[b,d])}}},lift3:function(a){return function(b){return function(d){return function(h){return new g(a,+[b,d,h])}}}},lift4:function(a){return function(b){return function(d){return function(h){return function(i){return new g(a,[b,d,h,i])}}}}},foldp:function(a){return function(b){return function(d){return new i(a,b,!1,d)}}},foldp_:function(a){return function(b){return function(d){return new i(a,b,!0,d)}}},foldp1:function(a){return function(b){return new i(a,function(a){return a},!0,b)}},count:function(a){return new i(function(){return function(a){return a+1}},0,!1,a)},keepIf:function(a){return function(b){return function(d){return new j(function(b){return!a(b)},+b,d)}}},dropIf:function(a){return function(b){return function(d){return new j(a,b,d)}}},keepWhen:function(a){return l(new g(function(a){return!a},[a]))},dropWhen:l,dropRepeats:function(a){return new b(a)},sampleOn:function(a){return function(b){return new h(a,b)}}}}();+var Dispatcher=function(){function d(a){if(!a.hasOwnProperty("defaultNumberOfKids"))return!0;var g=a.kids.length;if(0==g)return!1;if(g>a.defaultNumberOfKids)return!0;for(var h=!1;g--;)h=h||d(a.kids[g]);return h}var a=null,g=0,i=[],j=null;return{initialize:function(){a=Elm.main();a.hasOwnProperty("recv")||(a=Elm.Signal.constant(a));j=a.value;for(var b=[],g=i.length;g--;)d(i[g])&&b.push(i[g]);i=b;document.getElementById("content").appendChild(Render.render(j));b=document.getElementById("widthChecker").offsetWidth;+b!==window.innerWidth&&Dispatcher.notify(Window.dimensions.id,Value.Tuple(b,window.innerHeight));a=Elm.Signal.lift(function(a){var b=document.getElementById("content");Render.update(b.firstChild,j,a);return j=a})(a)},notify:function(a,d){g+=1;for(var h=!1,f=i.length;f--;)h=i[f].recv(g,a,d)||h;return h},inputs:i}}();+Elm.HTTP=function(){function d(a){return function(d){return function(c){return function(e){return{"0":"Request",length:1,verb:b.castStringToJSString(a),url:b.castStringToJSString(d),data:null===c?null:b.castStringToJSString(c),headers:e}}}}}function a(a){return d("GET")(a)(null)(["Nil"])}function g(a,d){return function(c){if(""!==c.url){var e={value:["Waiting"]};a.push(e);var g=null;window.ActiveXObject&&(g=new ActiveXObject("Microsoft.XMLHTTP"));window.XMLHttpRequest&&(g=new XMLHttpRequest);g.onreadystatechange=+function(){4===g.readyState&&(e.value=200===g.status?["Success",l(g.responseText)]:["Failure",g.status,l(g.statusText)],setTimeout(function(){i(a,d)},0))};g.open(c.verb,c.url,!0);Elm.List.map(function(a){g.setRequestHeader(b.castStringToJSString(a[1]),b.castStringToJSString(a[2]))})(c.headers);g.send(c.data)}}}function i(a,b){0<a.length&&(Dispatcher.notify(b.id,a[0].value),"Waiting"!==a[0].value[0]&&(a.shift(),setTimeout(function(){i(a,b)},0)))}function j(a){var b=Elm.Signal.constant(["Waiting"]),+a=Elm.Signal.lift(g([],b))(a);return Elm.Signal.lift2(function(a){return function(){return a}})(b)(a)}var b=Elm.JavaScript,l=Elm.JavaScript.castJSStringToString;return{get:a,post:function(a){return function(b){return d("POST")(a)(b)(["Nil"])}},request:d,send:j,sendGet:function(b){return j(Elm.Signal.lift(a)(b))}}}();+Elm.Input=function(){var d=Elm.JavaScript,a=Elm.JavaScript.castJSStringToString,g=function(b,g){b.placeholder=d.castStringToJSString(g);var h=Elm.Signal.constant(["Nil"]);Value.addListener(b,"keyup",function(){Dispatcher.notify(h.id,a(b.value));b.focus()});b.style.padding="1px";return Value.Tuple(Value.wrap(b),h)},i=function(a){a=document.createElement(a);a.style.padding="0";a.style.margin="0";return a},j=function(a){for(var d=i("select"),g=[];"Cons"===a[0];){var f=i("option"),c=Value.toText(a[1][1]);+f.value=c;f.innerHTML=c;d.appendChild(f);g.push(a[1][2]);a=a[2]}var e=Elm.Signal.constant(g[0]);Value.addListener(d,"change",function(){Dispatcher.notify(e.id,g[d.selectedIndex])});return Value.Tuple(Value.wrap(d),e)};return{textArea:function(a){return function(d){var h=i("textarea");h.rows=d;h.cols=a;return g(h,"")}},textField:function(a){var d=i("input");d.type="text";return g(d,a)},password:function(a){var d=i("input");d.type="password";return g(d,a)},checkbox:function(a){var d=i("input");d.type=+"checkbox";d.checked=a;var g=Elm.Signal.constant(a);Value.addListener(d,"change",function(){Dispatcher.notify(g.id,d.checked)});return Value.Tuple(Value.wrap(d),g)},dropDown:j,stringDropDown:function(a){return j(Elm.List.map(function(a){return Value.Tuple(a,a)})(a))},button:function(a){var g=i("input");g.type="button";g.value=d.castStringToJSString(a);var h=Elm.Signal.constant(!1);Value.addListener(g,"click",function(){Dispatcher.notify(h.id,!0);Dispatcher.notify(h.id,!1)});return Value.Tuple(Value.wrap(g),+h)}}}();+Elm.Keyboard={Raw:function(){function d(a,g){return"Nil"===g[0]?g:g[1]===a?g[2]:["Cons",g[1],d(a,g[2])]}var a=Elm.Signal.constant(["Nil"]),g=Elm.Signal.constant(["Nothing"]);Value.addListener(document,"keydown",function(d){var g;a:{for(g=a.value;"Nil"!==g[0];){if(g[1]===d.keyCode){g=!0;break a}g=g[2]}g=!1}g||Dispatcher.notify(a.id,["Cons",d.keyCode,a.value])||this.removeEventListener("keydown",arguments.callee,!1)});Value.addListener(document,"keyup",function(g){var j=d(g.keyCode,a.value);Dispatcher.notify(a.id,+j)||this.removeEventListener("keyup",arguments.callee,!1)});Value.addListener(window,"blur",function(d){Dispatcher.notify(a.id,["Nil"])||this.removeEventListener("blur",arguments.callee,!1)});Value.addListener(document,"keypress",function(a){var d=Dispatcher.notify(g.id,["Just",a.charCode||a.keyCode]);Dispatcher.notify(g.id,["Nothing"]);d||this.removeEventListener("keypress",arguments.callee,!1)});return{keysDown:a,charPressed:g}}()};+Elm.Mouse=function(){function d(a){var b=0,c=0;a||(a=window.event);if(a.pageX||a.pageY)b=a.pageX,c=a.pageY;else if(a.clientX||a.clientY)b=a.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,c=a.clientY+document.body.scrollTop+document.documentElement.scrollTop;return Value.Tuple(b,c)}var a=Elm.Signal.constant(Value.Tuple(0,0));a.defaultNumberOfKids=2;var g=Elm.Signal.lift(function(a){return a[1]})(a);g.defaultNumberOfKids=0;var i=Elm.Signal.lift(function(a){return a[2]})(a);i.defaultNumberOfKids=+0;var j=Elm.Signal.constant(!1),b=Elm.Signal.constant(!1),l=Elm.Signal.constant(Value.Tuple());Value.addListener(document,"click",function(a){var d=Dispatcher.notify(b.id,!0),c=Dispatcher.notify(l.id,Value.Tuple());Dispatcher.notify(b.id,!1);!d&&!c&&this.removeEventListener("click",arguments.callee,!1)});Value.addListener(document,"mousedown",function(a){Dispatcher.notify(j.id,!0)||this.removeEventListener("mousedown",arguments.callee,!1)});Value.addListener(document,"mouseup",function(a){Dispatcher.notify(j.id,+!1)||this.removeEventListener("mouseup",arguments.callee,!1)});Value.addListener(document,"mousemove",function(b){Dispatcher.notify(a.id,d(b))||this.removeEventListener("mousemove",arguments.callee,!1)});return{position:a,x:g,y:i,isClicked:b,isDown:j,clicks:l,isClickedOn:function(a){var a=Render.render(a),b=Elm.Signal.constant(!1);Value.addListener(a,"click",function(){Dispatcher.notify(b.id,!0);Dispatcher.notify(b.id,!1)});return Value.Tuple(Value.wrap(a),b)}}}();+Elm.Random=function(){return{inRange:function(d){return function(a){return Elm.Signal.constant(Math.floor(Math.random()*(a-d+1))+d)}},randomize:function(d){return function(a){return function(g){return Elm.Signal.lift(function(){return Math.floor(Math.random()*(a-d+1))+d})(g)}}}}}();+Elm.Time=function(){return{every:function(d){var d=1E3*d,a=Elm.Signal.constant(0),g=0;setInterval(function(){g+=d;Dispatcher.notify(a.id,g/1E3)},d);return a},after:function(d){var d=1E3*d,a=Elm.Signal.constant(!1);setTimeout(function(){Dispatcher.notify(a.id,!0)},d);return a},before:function(d){var d=1E3*d,a=Elm.Signal.constant(!0);setTimeout(function(){Dispatcher.notify(a.id,!1)},d);return a}}}();+Elm.Window=function(){var d=Elm.Signal.constant(Value.Tuple(window.innerWidth,window.innerHeight));d.defaultNumberOfKids=2;var a=Elm.Signal.lift(function(a){return a[1]})(d);a.defaultNumberOfKids=0;var g=Elm.Signal.lift(function(a){return a[2]})(d);g.defaultNumberOfKids=0;Value.addListener(window,"resize",function(a){var g=document.getElementById("widthChecker").offsetWidth;Dispatcher.notify(d.id,Value.Tuple(g,window.innerHeight))||this.removeEventListener("resize",arguments.callee,!1)});return{dimensions:d,+width:a,height:g}}();Value.addListener(document,"elm_log",function(d){console.log(d.value)});Value.addListener(document,"elm_title",function(d){document.title=d.value});Value.addListener(document,"elm_redirect",function(d){0<d.value.length&&(window.location=d.value)});Elm=Elm||{};+Elm.Prelude=function(){var d=function(a){return function(g){var i=a%g,i=0==a?0:0<g?0<=a?i:i+g:-d(-a)(-g);return i==g?0:i}};return{eq:Value.eq,id:function(a){return a},not:function(a){return!a},fst:function(a){return a[1]},snd:function(a){return a[2]},rem:function(a){return function(d){return a%d}},div:function(a){return function(d){return~~(a/d)}},compare:function(a){return function(d){a="object"===typeof a?toText(a):a;d="object"===typeof d?toText(d):d;return[a===d?"EQ":a<d?"LT":"GT"]}},toFloat:function(a){return a},+round:function(a){return Math.round(a)},floor:function(a){return Math.floor(a)},ceiling:function(a){return Math.ceil(a)},truncate:function(a){return~~a},readInt:function(a){var a=JavaScript.castStringToJSString(a),d=a.length;if(0===d)return Nothing;var i=0;if("-"==a[0]){if(1===d)return Nothing;i=1}for(;i<d;++i)if(!Char.isDigit(a[i]))return Nothing;return Just(parseInt(a))},readFloat:function(a){var a=JavaScript.castStringToJSString(a),d=a.length;if(0===d)return Nothing;var i=0;if("-"==a[0]){if(1===+d)return Nothing;i=1}for(var j=0;i<d;++i)if(!Char.isDigit(a[i])){if("."===a[i]&&(j+=1,1>=j))continue;return Nothing}return Just(parseFloat(a))},sqrt:Math.sqrt,abs:Math.abs,pi:Math.PI,e:Math.E,sin:Math.sin,cos:Math.cos,tan:Math.tan,asin:Math.asin,acos:Math.acos,atan:Math.atan,atan2:function(a){return function(d){return Math.atan2(a,d)}},mod:d,min:function(a){return function(d){return Math.min(a,d)}},max:function(a){return function(d){return Math.max(a,d)}},flip:function(a){return function(d){return function(i){return a(i)(d)}}},+clamp:function(a){return function(d){return function(i){return Math.min(d,Math.max(a,i))}}},curry:function(a){return function(d){return function(i){return a(["Tuple2",d,i])}}},uncurry:function(a){return function(d){if("Tuple2"!==d[0])throw"Function was uncurry'd but was not given a pair.";return a(d[1])(d[2])}},logBase:function(a){return function(d){return Math.log(d)/Math.log(a)}},Just:Elm.Maybe.Just,Nothing:Elm.Maybe.Nothing,maybe:Elm.Maybe.maybe,map:Elm.List.map,filter:Elm.List.filter,head:Elm.List.head,+tail:Elm.List.tail,last:Elm.List.last,length:Elm.List.length,reverse:Elm.List.reverse,foldr:Elm.List.foldr,foldr1:Elm.List.foldr1,foldl:Elm.List.foldl,foldl1:Elm.List.foldl1,and:Elm.List.and,or:Elm.List.or,all:Elm.List.all,any:Elm.List.any,sum:Elm.List.sum,product:Elm.List.product,concat:Elm.List.concat,concatMap:Elm.List.concatMap,maximum:Elm.List.maximum,minimum:Elm.List.minimum,scanl:Elm.List.scanl,scanl1:Elm.List.scanl1,take:Elm.List.take,drop:Elm.List.drop,zip:Elm.List.zip,unzip:Elm.List.unzip,+lift:Elm.Signal.lift,lift2:Elm.Signal.lift2,lift3:Elm.Signal.lift3,lift4:Elm.Signal.lift4,foldp:Elm.Signal.foldp,foldp1:Elm.Signal.foldp1,foldp_:Elm.Signal.foldp_,constant:Elm.Signal.constant,count:Elm.Signal.count,keepIf:Elm.Signal.keepIf,dropIf:Elm.Signal.dropIf,keepWhen:Elm.Signal.keepWhen,dropWhen:Elm.Signal.dropWhen,dropRepeats:Elm.Signal.dropRepeats,sampleOn:Elm.Signal.sampleOn}}();+(function(){var d=function(a){for(var d in a)Elm.Prelude[d]=a[d]};d(Elm.Color);d(Elm.Text);d(Elm.Graphics);show=Value.show})();+(function(){for(var d in Elm)this[d]=Elm[d];Elm.Automaton=function(){function a(a){return["Automaton",a]}function d(a){return["DragFrom",a]}function i(b){return function(c){var d;a:{switch(b[0]){case "Automaton":d=b[1];break a}throw"Non-exhaustive pattern match in case";}var e;a:{switch(c[0]){case "Automaton":e=c[1];break a}throw"Non-exhaustive pattern match in case";}return a(function(a){var a=d(a),b;a:{switch(a[0]){case "Tuple2":b=a[1];break a}throw"Non-exhaustive pattern match in case";}a:{switch(a[0]){case "Tuple2":a=+a[2];break a}throw"Non-exhaustive pattern match in case";}var c=e(b);a:{switch(c[0]){case "Tuple2":b=c[1];break a}throw"Non-exhaustive pattern match in case";}a:{switch(c[0]){case "Tuple2":c=c[2];break a}throw"Non-exhaustive pattern match in case";}return["Tuple2",b,i(a)(c)]})}}function j(b){return a(function(a){var c=unzip(map(function(b){a:{switch(b[0]){case "Automaton":b=b[1](a);break a}throw"Non-exhaustive pattern match in case";}return b})(b)),d;a:{switch(c[0]){case "Tuple2":d=c[1];break a}throw"Non-exhaustive pattern match in case";+}a:{switch(c[0]){case "Tuple2":c=c[2];break a}throw"Non-exhaustive pattern match in case";}return["Tuple2",d,j(c)]})}function b(c){return a(function(a){return["Tuple2",c(a),b(c)]})}function l(b){return function(c){return a(function(a){a=c(a)(b);return["Tuple2",a,l(a)(c)]})}}function h(b){return function(c){return a(function(a){var d=c(a)(b);a:{switch(d[0]){case "Tuple2":a=d[1];break a}throw"Non-exhaustive pattern match in case";}a:{switch(d[0]){case "Tuple2":d=d[2];break a}throw"Non-exhaustive pattern match in case";+}return["Tuple2",a,h(d)(c)]})}}function f(a){return function(b){a:{switch(a[0]){case "Tuple2":b:{switch(b[0]){case "Tuple2":b=["Tuple2",a[1]-b[1],a[2]-b[2]];break b}break}break a}throw"Non-exhaustive pattern match in case";}return b}}function c(a){return function(b){var c;a:{switch(a[0]){case "Tuple2":b:{switch(b[0]){case "Tuple2":var e=function(a){return["Tuple2",b[2],["Tuple2",a,b[2]]]};c=function(){switch(b[1][0]){case "DragFrom":var c;a[1]?c=["Tuple2",uncurry(move)(f(a[2])(b[1][1]))(b[2]),["Tuple2",+d(b[1][1]),b[2]]]:(c=uncurry(move)(f(a[2])(b[1][1]))(b[2]),c=["Tuple2",c,["Tuple2",m,c]]);return c;case "Ignore":return e(a[1]?s:m);case "Listen":return e(not(a[1])?m:isWithin(a[2])(b[2])?d(a[2]):s)}throw"Non-exhaustive pattern match in case";}();break b}break}break a}throw"Non-exhaustive pattern match in case";}return c}}var e=[],n;for(n in Elm.Prelude)0<=e.indexOf(n)||(this[n]=Elm.Prelude[n]);var m=["Listen"],s=["Ignore"],e=l(0)(function(){return function(a){return 1+a}});return{Automaton:a,run:function(a){return function(b){a:{switch(a[0]){case "Automaton":b=+lift(fst)(foldp_(function(a){return function(b){a:{switch(b[0]){case "Tuple2":switch(b[2][0]){case "Automaton":b=b[2][1](a);break a}}throw"Non-exhaustive pattern match in case";}return b}})(a[1])(b));break a}throw"Non-exhaustive pattern match in case";}return b}},step:function(a){return function(b){a:{switch(a[0]){case "Automaton":b=a[1](b);break a}throw"Non-exhaustive pattern match in case";}return b}},composeAuto:i,combine:j,pure:b,init:l,init_:h,count:e,Listen:m,Ignore:s,DragFrom:d,vecSub:f,stepDrag:c,+draggable:function(a){return h(["Tuple2",m,a])(c)}}}()})();
− elm-runtime-0.5.0.js
@@ -1,123 +0,0 @@-var Guid=function(){var e=0;return{guid:function(){return e+=1}}}(),Elm=Elm||{};-Elm.JavaScript=function(){function e(a){for(var b=["Nil"],k=a.length;k--;)b=["Cons",a[k],b];return b}function a(a){for(var b=[];"Cons"===a[0];)b.push(a[1]),a=a[2];return b}function d(a){return a.slice(1)}function j(a){return["Tuple"+a.length].concat(a)}return{castJSBoolToBool:function(a){return a},castBoolToJSBool:function(a){return a},castJSNumberToFloat:function(a){return a},castFloatToJSNumber:function(a){return a},castJSNumberToInt:function(a){return~~a},castIntToJSNumber:function(a){return a},-Experimental:{castJSElementToElement:function(a){return function(b){return function(k){return["Element",Guid.guid(),["EExternalHtml",k],a,b,1,Nothing,Nothing]}}},castElementToJSElement:function(a){return Render.render(a)}},castJSArrayToList:e,castListToJSArray:a,castJSStringToString:e,castStringToJSString:function(d){return"string"===typeof d?d:a(d).join("")},castTupleToJSTuple2:d,castTupleToJSTuple3:d,castTupleToJSTuple4:d,castTupleToJSTuple5:d,castJSTupleToTuple2:j,castJSTupleToTuple3:j,castJSTupleToTuple4:j,-castJSTupleToTuple5:j}}();var Elm=Elm||{},JSjson=JSON;-Elm.JSON=function(){function e(b,a){return function(g){return function(h){var c=j.castStringToJSString(g);return h[1].hasOwnProperty(c)&&(h=h[1][c],h[0]===b)?h[1]:a}}}function a(b){return function(a){function g(b){switch(b[0]){case "JsonNull":return null;case "JsonString":return j.castStringToJSString(b[1]);case "JsonObject":var c={},b=b[1][1],i;for(i in b)c[i]=g(b[i]);return c;case "JsonArray":c=j.castListToJSArray(b[1]);for(i=c.length;i--;)c[i]=g(c[i]);return c;default:return b[1]}}return JSjson.stringify(g(["JsonObject",-a]),null,j.castStringToJSString(b))}}function d(b){function a(b){switch(typeof b){case "string":return["JsonString",j.castJSStringToString(b)];case "number":return["JsonNumber",j.castJSNumberToFloat(b)];case "boolean":return["JsonBool",j.castJSBoolToBool(b)];case "object":if(null===b)return["JsonNull"];for(var c in b)b[c]=a(b[c]);return b instanceof Array?["JsonArray",j.castJSArrayToList(b)]:["JsonObject",["JSON",b]]}}var b=JSjson.parse(b),g;for(g in b)b[g]=a(b[g]);return["JSON",b]}var j=Elm.JavaScript,-f=["JSON",{}];return{empty:f,singleton:function(b){return function(a){var g={};g[j.castStringToJSString(b)]=a;return["JSON",g]}},insert:function(b){return function(a){return function(g){var g=g[1],h={},c;for(c in g)h[c]=g[c];h[j.castStringToJSString(b)]=a;return["JSON",h]}}},lookup:function(b){return function(a){var g=j.castStringToJSString(b);return a[1].hasOwnProperty(g)?Just(a[1][g]):Nothing}},findString:e("JsonString",["Nil"]),findObject:e("JsonObject",f),findArray:e("JsonArray",["Nil"]),findWithDefault:function(b){return function(a){return function(g){var h=-j.castStringToJSString(a);return g[1].hasOwnProperty(h)?g[1][h]:b}}},remove:function(b){return function(a){var a=a[1],g={},h;for(h in a)g[h]=a[h];delete g[j.castStringToJSString(b)];return["JSON",g]}},toPrettyJSString:a,toJSString:a(""),fromJSString:d,toPrettyString:function(b){return function(d){return j.castJSStringToString(a(b)(d))}},toString:function(b){return j.castJSStringToString(a("")(b))},fromString:function(b){return d(j.castStringToJSString(b))},toList:function(b){var b=b[1],a=[],g;for(g in b)a.push(Value.Tuple(j.castJSStringToString(g),-b[g]));return j.castJSArrayToList(a)},fromList:function(b){for(var b=j.castListToJSArray(b),a={},g=b.length;g--;)a[j.castStringToJSString(b[g][1])]=b[g][2];return["JSON",a]},JsonString:function(b){return["JsonString",b]},JsonNumber:function(b){return["JsonNumber",b]},JsonBool:function(b){return["JsonBool",b]},JsonNull:["JsonNull"],JsonArray:function(b){return["JsonArray",b]},JsonObject:function(b){return["JsonObject",b]}}}();-var Value=function(){function e(b){if(0==b.length)return b;for(var b=b.replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">").replace(/\n/g,"<br/>"),b=b.split("<br/>"),a=b.length;a--;){var g=b,h=a,c;c=b[a];if(0!=c.length){c=c.split("");" "==c[0]&&(c[0]=" ");for(var i=c.length;--i;)" "==c[i][0]&&" "==c[i-1]&&(c[i-1]+=c[i],c[i]="");for(i=c.length;i--;)if(1<c[i].length&&" "==c[i][0]){for(var t=c[i].split(""),d=t.length-2;0<=d;d-=2)t[d]=" ";c[i]=t.join("")}c=-c.join("");c=" "===c[c.length-1]?c.slice(0,-1)+" ":c}g[h]=c}return b.join("<br/>")}var a=function(b,d){if("object"===typeof b){if(b===d)return!0;if(b.length!==d.length)return!1;for(var g=b.length;g--;)if(!a(b[g],d[g]))return!1;return!0}return b===d},d=function(b){if("boolean"===typeof b)return b?"True":"False";if("number"!==typeof b){if("string"===typeof b&&2>b.length)return"'"+b+"'";if(b[0]){if("Tuple"===b[0].substring(0,5)){for(var a="",g=b.length;--g;)a=","+d(b[g])+a;","===a[0]&&(a=a.substring(1));-return"("+a+")"}if("Cons"===b[0])for(var g="string"===typeof b[1]?'"':"]",h="string"===typeof b[1]?"":",",c="string"===typeof b[1]?function(c){return c}:d,a=("string"===typeof b[1]?'"':"[")+c(b[1]),b=b[2];;)if("Cons"===b[0])a+=h+c(b[1]),b=b[2];else return a+g;else{if("Nil"===b[0])return"[]";if("JSON"===b[0])return"(JSON.fromList "+d(Elm.JSON.toList(b))+")";if("RBNode"===b[0]||"RBEmpty"===b[0])return"(Map.fromList "+d(Elm.Dict.fold(function(c){return function(b){return function(a){return["Cons",["Tuple2",-c,b],a]}}})(["Nil"])(b))+")";a="";for(g=b.length;--g;)a=" "+d(b[g])+a;a=b[0]+a;return 1<b.length?"("+a+")":a}}}return b+""},j=function(b){for(var a=["Nil"],d=b.length;d--;)a=["Cons",b[d],a];return a},f;f=document.addEventListener?function(b,a,d){b.addEventListener(a,d,!1)}:function(b,a,d){b.attachEvent("on"+a,d)};return{eq:a,str:j,show:function(b){return j(d(b))},Tuple:function(){var b=arguments.length,a=Array(b+1);for(a[0]="Tuple"+arguments.length;b--;)a[b+1]=arguments[b];return a},append:function(b,-a){if("string"===typeof b&&"string"===typeof a)return b.concat(a);if("Nil"===b[0])return a;for(var d=["Cons",b[1],["Nil"]],h=d,b=b[2];"Cons"===b[0];)h[2]=["Cons",b[1],["Nil"]],b=b[2],h=h[2];h[2]=a;return d},listToArray:function(b){for(var a=[];"Cons"===b[0];)a.push(b[1]),b=b[2];return a},toText:function(b){if("string"===typeof b)return e(b);for(var a=[];"Cons"===b[0];)a.push(b[1]),b=b[2];return e(a.join(""))},properEscape:e,getTextSize:function(b,a,d){var h=document.createElement("div");h.innerHTML=-d;h.style.textAlign="left";0<b&&(h.style.width=b+"px");h.style.visibility="hidden";h.style.styleFloat="left";h.style.cssFloat="left";document.body.appendChild(h);d=window.getComputedStyle(h);b=d.getPropertyValue("width").slice(0,-2)-0;d=d.getPropertyValue("height").slice(0,-2)-0;document.body.removeChild(h);delete h;return[Math.ceil(b),Math.ceil(Math.max(a,d))]},getSize:function(b){b=b.cloneNode(!0);b.style.visibility="hidden";b.style.styleFloat="left";b.style.cssFloat="left";document.body.appendChild(b);-var a=b.offsetWidth,d=b.offsetHeight;document.body.removeChild(b);delete b;return[a,d]},getExcess:function(b){b=b.cloneNode(!0);b.style.visibility="hidden";b.style.styleFloat="left";b.style.cssFloat="left";document.body.appendChild(b);var a=b.offsetWidth,d=b.offsetHeight,h=window.getComputedStyle(b),c=h.getPropertyValue("width").slice(0,-2)-0,h=h.getPropertyValue("height").slice(0,-2)-0;document.body.removeChild(b);delete b;return[a-c,d-h]},groupForms:function(a){for(var a=Elm.JavaScript.castListToJSArray(a),-d=[],g=[],h=a.length;h--;){var c=a[h];switch(c[4][0]){case "FElement":0<g.length&&(d.push(g),g=[]);d.push(c);break;default:g.push(c)}}0<g.length&&d.push(g);return d},wrap:function(a){var d=Value.getSize(a);return["Element",Guid.guid(),["EHtml",a],d[0],d[1],1,Nothing,Nothing]},addListener:f}}(),Elm=Elm||{};-Elm.List=function(){function e(a){return function(b){if("Nil"===b[0])return b;"Cons"!==b[0]&&c("map");for(var i=["Cons",a(b[1]),["Nil"]],d=i,b=b[2];"Cons"===b[0];)d[2]=["Cons",a(b[1]),["Nil"]],b=b[2],d=d[2];return i}}function a(a){return function(b){return function(i){var d=b;if("Nil"===i[0])return d;for("Cons"!==i[0]&&c("foldl");"Cons"===i[0];)d=a(i[1])(d),i=i[2];return d}}}function d(a){return function(b){return function(i){var d=b;if("Nil"===i[0])return d;"Cons"!==i[0]&&c("foldr");for(var h=[];"Cons"===-i[0];)h.push(i[1]),i=i[2];for(i=h.length;i--;)d=a(h[i])(d);return d}}}function j(c){return function(b){var i;"Cons"!==b[0]?i=void 0:(i=b[1],b=b[2],i=a(c)(i)(b));return i}}function f(a){return function(b){return function(i){if("Nil"===i[0])return["Cons",b,["Nil"]];"Cons"!==i[0]&&c("scanl");for(var d=[b];"Cons"===i[0];)b=a(i[1])(b),d.push(b),i=i[2];for(var i=["Nil"],h=d.length;h--;)i=["Cons",d[h],i];return i}}}function b(c){return function(a){a:{for(var i=[function(c){return"Nil"!==c[0]?void 0:["Tuple2",-["Nil"],["Nil"]]},function(a){if("Cons"===a[0]){var i=a[1],a=a[2];var d=b(c)(a);"Tuple2"!==d[0]?i=void 0:(a=d[1],d=d[2],i=c(i)?["Tuple2",["Cons",i,a],d]:["Tuple2",a,["Cons",i,d]]);return i}}],d=i.length;d--;){var h=i[d](a);if(void 0!==h){a=h;break a}}a=void 0}return a}}function k(c){a:{for(var a=[function(c){return"Nil"!==c[0]?void 0:["Tuple2",["Nil"],["Nil"]]},function(c){if("Cons"!==c[0])c=void 0;else if(c=["Tuple2",c[1],k(c[2])],"Tuple2"!==c[0]||"Tuple2"!==c[1][0])c=void 0;else var a=c[1][1],b=-c[1][2],c="Tuple2"!==c[2][0]?void 0:["Tuple2",["Cons",a,c[2][1]],["Cons",b,c[2][2]]];return c}],b=a.length;b--;){var i=a[b](c);if(void 0!==i){c=i;break a}}c=void 0}return c}function g(c){return function(a){a:{for(var b=[function(c){return"Nil"!==c[0]?void 0:["Nil"]},function(c){if("Cons"===c[0]){var a=c[1];return"Nil"!==c[2][0]?void 0:["Cons",a,["Nil"]]}},function(a){if("Cons"===a[0]){var b=a[1];if("Cons"===a[2][0]){var i=a[2][1],a=a[2][2];return["Cons",b,["Cons",c,g(c)(["Cons",i,a])]]}}}],i=b.length;i--;){var d=-b[i](a);if(void 0!==d){a=d;break a}}a=void 0}return a}}function h(c){return function(a){a:{for(var b=[function(c){return"Nil"!==c[0]?void 0:["Nil"]},function(c){if("Cons"===c[0]){var a=c[1];return"Nil"!==c[2][0]?void 0:a}},function(a){if("Cons"===a[0]){var b=a[1];if("Cons"===a[2][0]){var i=a[2][1],a=a[2][2];return Value.append(b,Value.append(c,h(c)(["Cons",i,a])))}}}],i=b.length;i--;){var d=b[i](a);if(void 0!==d){a=d;break a}}a=void 0}return a}}var c=function(c){throw"Function '"+c+"' expecting a list!";-},i=a(function(c){return function(a){return["Cons",c,a]}})(["Nil"]),t=d(function(c){return function(a){return Value.append(c,a)}})(["Nil"]),m=a(function(c){return function(a){return c&&a}})(!0),r=a(function(c){return function(a){return c||a}})(!1),n=a(function(c){return function(a){return c+a}})(0),l=a(function(c){return function(a){return c*a}})(1),v=j(function(c){return function(a){return Math.max(c,a)}}),s=j(function(c){return function(a){return Math.min(c,a)}});return{head:function(c){if("Cons"!==-c[0])throw"Error: 'head' only accepts lists of length greater than one.";return c[1]},tail:function(c){if("Cons"!==c[0])throw"Error: 'tail' only accepts lists of length greater than one.";return c[2]},last:function(c){if("Cons"!==c[0])throw"Error: 'last' only accepts lists of length greater than one.";for(var a=c[1];"Cons"===c[0];)a=c[1],c=c[2];return a},map:e,foldl:a,foldr:d,foldl1:j,foldr1:function(a){return function(b){if("Nil"===b[0])throw"'foldr1' requires an non-empty list.";"Cons"!==b[0]&&-c("foldr1");for(var i=[];"Cons"===b[0];)i.push(b[1]),b=b[2];for(var b=i.pop(),d=i.length;d--;)b=a(i[d])(b);return b}},scanl:f,scanl1:function(c){return function(a){if("Cons"!==a[0])throw"Error: 'scanl1' requires a list of at least length 1.";return f(c)(a[1])(a[2])}},filter:function(a){return function(b){if("Nil"===b[0])return b;"Cons"!==b[0]&&c("filter");for(var i=[];"Cons"===b[0];)a(b[1])&&i.push(b[1]),b=b[2];for(var b=["Nil"],d=i.length;d--;)b=["Cons",i[d],b];return b}},length:function(c){for(var a=-0;"Cons"===c[0];)a+=1,c=c[2];return a},reverse:i,concat:t,concatMap:function(c){return function(a){return t(e(c)(a))}},and:m,or:r,all:function(c){return a(function(a){return function(b){return b&&c(a)}})(!0)},any:function(c){return a(function(a){return function(b){return b||c(a)}})(!1)},sum:n,product:l,maximum:v,minimum:s,partition:b,zipWith:function(a){return function(b){return function(i){if("Nil"===b[0]||"Nil"===i[0])return["Nil"];("Cons"!==b[0]||"Cons"!==i[0])&&c("zipWith");for(var d=[];"Cons"===-b[0]&&"Cons"===i[0];)d.push(a(b[1])(i[1])),b=b[2],i=i[2];for(var i=["Nil"],h=d.length;h--;)i=["Cons",d[h],i];return i}}},zip:function(a){return function(b){if("Nil"===a[0]||"Nil"===b[0])return["Nil"];("Cons"!==a[0]||"Cons"!==b[0])&&c("zip");for(var i=[];"Cons"===a[0]&&"Cons"===b[0];)i.push(["Tuple2",a[1],b[1]]),a=a[2],b=b[2];for(var b=["Nil"],d=i.length;d--;)b=["Cons",i[d],b];return b}},unzip:k,intersperse:g,intercalate:h,sort:function(a){if("Nil"===a[0])return a;"Cons"!==a[0]&&c("sort");for(var b=-[];"Cons"===a[0];)b.push(a[1]),a=a[2];b.sort(function(c,a){return c-a});for(var a=["Nil"],i=b.length;i--;)a=["Cons",b[i],a];return a},take:function(a){return function(b){if(0>=a)return["Nil"];if("Nil"===b[0])return b;"Cons"!==b[0]&&c("take");var i=["Cons",b[1],["Nil"]],d=i,b=b[2];for(--a;"Cons"===b[0]&&0<a;)d[2]=["Cons",b[1],["Nil"]],d=d[2],b=b[2],--a;return i}},drop:function(a){return function(b){if("Nil"===b[0])return b;for("Cons"!==b[0]&&c("drop");"Cons"===b[0]&&0<a;)b=b[2],--a;return b}}}}();-Elm=Elm||{};-Elm.Maybe=function(){function e(a){return function(e){return"Just"===a[0]?["Cons",a[1],e]:e}}function a(a){return function(e){return function(f){var b=a(e);return"Just"===b[0]?["Cons",b[1],f]:f}}}return{Just:function(a){return["Just",a]},Nothing:["Nothing"],catMaybes:Elm.List.foldr(e)(["Nil"]),isJust:function(a){return"Just"===a[0]},isNothing:function(a){return"Nothing"===a[0]},fromMaybe:function(a){return function(e){return"Just"===e[0]?e[1]:a}},consMaybe:e,mapMaybe:function(d){return Elm.List.foldr(a(d))(["Nil"])},maybe:function(a){return function(e){return function(f){return"Just"===-f[0]?e(f[1]):a}}}}}();-(function(){for(var e in Elm)this[e]=Elm[e];if(Elm.Dict)throw"Module name collision, 'Dict' is already defined.";Elm.Dict=function(){function a(a){return function(c){return function(b){return function(i){return function(d){return["RBNode",a,c,b,i,d]}}}}}function d(a){return function(){switch(a[0]){case "RBEmpty":return z(Value.str("(min RBEmpty) is not defined"));case "RBNode":switch(a[4][0]){case "RBEmpty":return["Tuple2",a[2],a[3]]}return d(a[4])}throw"Non-exhaustive pattern match in case";}()}-function e(a){return function(c){var b;a:{switch(c[0]){case "RBEmpty":b=Nothing;break a;case "RBNode":b=function(){switch(compare(a)(c[2])[0]){case "EQ":return Just(c[3]);case "GT":return e(a)(c[5]);case "LT":return e(a)(c[4])}throw"Non-exhaustive pattern match in case";}();break a}throw"Non-exhaustive pattern match in case";}return b}}function f(a){return function(c){return function(b){var i;a:{switch(b[0]){case "RBEmpty":i=a;break a;case "RBNode":i=function(){switch(compare(c)(b[2])[0]){case "EQ":return b[3];-case "GT":return f(a)(c)(b[5]);case "LT":return f(a)(c)(b[4])}throw"Non-exhaustive pattern match in case";}();break a}throw"Non-exhaustive pattern match in case";}return i}}}function b(a){return function(c){return A(e(a)(c))}}function k(c){a:{switch(c[0]){case "RBNode":switch(c[5][0]){case "RBNode":c=a(c[1])(c[5][2])(c[5][3])(a(x)(c[2])(c[3])(c[4])(c[5][4]))(c[5][5]);break a}}c=z(Value.str("rotateLeft of a node without enough children"))}return c}function g(c){a:{switch(c[0]){case "RBNode":switch(c[4][0]){case "RBNode":c=-a(c[1])(c[4][2])(c[4][3])(c[4][4])(a(x)(c[2])(c[3])(c[4][5])(c[5]));break a}}c=z(Value.str("rotateRight of a node without enough children"))}return c}function h(c){a:{switch(c[0]){case "Black":c=x;break a;case "Red":c=C;break a}throw"Non-exhaustive pattern match in case";}return c}function c(c){a:{switch(c[0]){case "RBNode":switch(c[4][0]){case "RBNode":switch(c[5][0]){case "RBNode":c=a(h(c[1]))(c[2])(c[3])(a(h(c[4][1]))(c[4][2])(c[4][3])(c[4][4])(c[4][5]))(a(h(c[5][1]))(c[5][2])(c[5][3])(c[5][4])(c[5][5]));-break a}}}c=z(Value.str("color_flip called on a RBEmpty or RBNode with a RBEmpty child"))}return c}function i(a){a:switch(a[0]){case "RBNode":switch(a[5][0]){case "RBNode":switch(a[5][1][0]){case "Red":a=k(a);break a}}}a:switch(a[0]){case "RBNode":switch(a[4][0]){case "RBNode":switch(a[4][1][0]){case "Red":switch(a[4][4][0]){case "RBNode":switch(a[4][4][1][0]){case "Red":a=g(a);break a}}}}}a:switch(a[0]){case "RBNode":switch(a[4][0]){case "RBNode":switch(a[4][1][0]){case "Red":switch(a[5][0]){case "RBNode":switch(a[5][1][0]){case "Red":a=-c(a);break a}}}}}return a}function t(c){a:switch(c[0]){case "RBNode":switch(c[1][0]){case "Red":c=a(C)(c[2])(c[3])(c[4])(c[5]);break a}}return c}function m(c){return function(b){return function(d){var h=function(d){var t;a:{switch(d[0]){case "RBEmpty":t=a(x)(c)(b)(y)(y);break a;case "RBNode":t=function(){switch(compare(c)(d[2])[0]){case "EQ":return a(d[1])(d[2])(b)(d[4])(d[5]);case "GT":return a(d[1])(d[2])(d[3])(d[4])(h(d[5]));case "LT":return a(d[1])(d[2])(d[3])(h(d[4]))(d[5])}throw"Non-exhaustive pattern match in case";-}();t=i(t);break a}throw"Non-exhaustive pattern match in case";}return t};return t(h(d))}}}function r(c){a:{switch(c[0]){case "RBNode":switch(c[4][0]){case "RBNode":switch(c[4][1][0]){case "Red":c=!0;break a}}}c=!1}return c}function n(c){a:{switch(c[0]){case "RBNode":switch(c[4][0]){case "RBNode":switch(c[4][4][0]){case "RBNode":switch(c[4][4][1][0]){case "Red":c=!0;break a}}}}c=!1}return c}function l(b){if(not(r(b))&¬(n(b))){b=c(b);a:switch(b[0]){case "RBNode":b:switch(b[5][0]){case "RBNode":switch(b[5][4][0]){case "RBNode":switch(b[5][4][1][0]){case "Red":b=-c(k(a(b[1])(b[2])(b[3])(b[4])(g(b[5]))));break b}}}break a}}return b}function v(b){return function(h){var e;a:{switch(h[0]){case "RBEmpty":e=y;break a;case "RBNode":if("LT"===compare(b)(h[2])[0]){e=l(h);b:{switch(e[0]){case "RBEmpty":e=z(Value.str("delLT on RBEmpty"));break b;case "RBNode":e=i(a(e[1])(e[2])(e[3])(del(e[4]))(e[5]));break b}break}}else{h=r(h)?g(h):h;b:{switch(h[0]){case "RBNode":switch(h[5][0]){case "RBEmpty":h=eq(b,h[2]);break b}}h=!1}if(h)e=y;else{var h=not,j;b:{switch(e[0]){case "RBNode":switch(e[5][0]){case "RBNode":switch(e[5][1][0]){case "Red":j=-!0;break b}}}j=!1}if(h=h(j)){h=not;b:{switch(e[0]){case "RBNode":switch(e[5][0]){case "RBNode":switch(e[5][4][0]){case "RBNode":switch(e[5][4][1][0]){case "Red":j=!0;break b}}}}j=!1}h=h(j)}h&&(e=c(e),e=n(e)?c(g(e)):e);b:{switch(e[0]){case "RBNode":h=eq(b,e[2]);break b}h=!1}if(h)b:{switch(e[0]){case "RBEmpty":e=z(Value.str("delEQ called on a RBEmpty"));break b;case "RBNode":j=d(e[5]);c:{switch(j[0]){case "Tuple2":h=j[1];break c}break}c:{switch(j[0]){case "Tuple2":j=j[2];break c}break}var h=a(e[1])(h)(j)(e[4]),-f=function(c){a:{switch(c[0]){case "RBNode":switch(c[4][0]){case "RBEmpty":c=y;break a}}c=l(c);b:{switch(c[0]){case "RBEmpty":c=y;break b;case "RBNode":c=i(a(c[1])(c[2])(c[3])(f(c[4]))(c[5]));break b}throw"Non-exhaustive pattern match in case";}}return c};e=t(f(e[5]));e=i(h(e));break b}break}else b:{switch(e[0]){case "RBEmpty":e=z(Value.str("delGT called on a RBEmpty"));break b;case "RBNode":e=i(a(e[1])(e[2])(e[3])(e[4])(del(e[5])));break b}break}}}break a}throw"Non-exhaustive pattern match in case";-}return t(e)}}function s(c){return function(b){a:{switch(b[0]){case "RBEmpty":b=y;break a;case "RBNode":b=a(b[1])(b[2])(c(b[3]))(s(c)(b[4]))(s(c)(b[5]));break a}throw"Non-exhaustive pattern match in case";}return b}}function p(c){return function(a){return function(b){a:{switch(b[0]){case "RBEmpty":b=a;break a;case "RBNode":b=p(c)(c(b[2])(b[3])(p(c)(a)(b[4])))(b[5]);break a}throw"Non-exhaustive pattern match in case";}return b}}}function q(c){return function(a){return function(b){a:{switch(b[0]){case "RBEmpty":b=-a;break a;case "RBNode":b=q(c)(c(b[2])(b[3])(q(c)(a)(b[5])))(b[4]);break a}throw"Non-exhaustive pattern match in case";}return b}}}var u=[],w;for(w in Elm.Prelude)0<=u.indexOf(w)||(this[w]=Elm.Prelude[w]);var A=Elm.Maybe.isJust,x=["Red"],C=["Black"],y=["RBEmpty"],B=y,z=console.log;return{empty:B,lookup:e,findWithDefault:f,member:b,insert:m,singleton:function(c){return function(a){return m(c)(a)(y)}},remove:v,map:s,foldl:p,foldr:q,union:function(c){return function(a){return p(m)(a)(c)}},intersect:function(c){return function(a){return p(function(c){return function(i){return function(d){return b(c)(a)?-m(c)(i)(d):d}}})(B)(c)}},diff:function(c){return function(a){return p(function(c){return function(){return function(a){return v(c)(a)}}})(c)(a)}},keys:function(c){return p(function(c){return function(){return function(a){return["Cons",c,a]}}})(["Nil"])(c)},values:function(c){return p(function(){return function(c){return function(a){return["Cons",c,a]}}})(["Nil"])(c)},toList:function(c){return p(function(c){return function(a){return function(b){return["Cons",["Tuple2",c,a],b]}}})(["Nil"])(c)},fromList:function(c){return List.foldl(uncurry(m))(B)(c)}}}()})();-(function(){for(var e in Elm)this[e]=Elm[e];Elm.Set=function(){var a=[],d;for(d in Elm.Prelude)0<=a.indexOf(d)||(this[d]=Elm.Prelude[d]);a=Dict.empty;d=Dict.remove;var e=Dict.member,f=Dict.union,b=Dict.intersect,k=Dict.diff,g=Dict.keys,h=List.foldl(function(c){return function(a){return Dict.insert(c)(["Tuple0"])(a)}})(a);return{empty:a,singleton:function(c){return Dict.singleton(c)(["Tuple0"])},insert:function(c){return Dict.insert(c)(["Tuple0"])},remove:d,member:e,union:f,intersect:b,diff:k,toList:g,-fromList:h,foldl:function(c){return Dict.foldl(function(a){return function(){return function(b){return c(a)(b)}}})},foldr:function(c){return Dict.foldr(function(a){return function(){return function(b){return c(a)(b)}}})},map:function(c){return function(a){a=g(a);return h(List.map(c)(a))}}}}()})();Elm=Elm||{};-Elm.Char=function(){function e(a,b){return function(d){d=d.charCodeAt(0);return a<=d&&d<=b}}var a=e(48,57),d=e(97,102),j=e(65,70);return{fromCode:function(a){return String.fromCharCode(a)},toCode:function(a){return a.charCodeAt(0)},toUpper:function(a){return a.toUpperCase()},toLower:function(a){return a.toLowerCase()},toLocaleUpper:function(a){return a.toLocaleUpperCase()},toLocaleLower:function(a){return a.toLocaleLowerCase()},isLower:e(97,122),isUpper:e(65,90),isDigit:a,isOctDigit:e(48,55),isHexDigit:function(e){return a(e)||-d(e)||j(e)}}}();var String={toText:Value.toText,properEscape:Value.properEscape},Elm=Elm||{};-Elm.Color=function(){return{rgba:function(e){return function(a){return function(d){return function(j){return["Color",e,a,d,j]}}}},rgb:function(e){return function(a){return function(d){return["Color",e,a,d,1]}}},red:["Color",255,0,0,1],green:["Color",0,255,0,1],blue:["Color",0,0,255,1],yellow:["Color",255,255,0,1],cyan:["Color",0,255,255,1],magenta:["Color",255,0,255,1],black:["Color",0,0,0,1],white:["Color",255,255,255,1],gray:["Color",128,128,128,1],grey:["Color",128,128,128,1],complement:function(e){var a,-d=e[1]/255;a=e[2]/255;var j=e[3]/255,e=Math.max(d,a,j),f=Math.min(d,a,j),f=e-f,b=0;0===f?b=0:e===d?b=(a-j)/f%6:e===a?b=(j-d)/f+2:e===j&&(b=(d-a)/f+4);a=60*b;var d=e*(0===e?0:f/e),b=(a+180)%360/60,k=d*(1-Math.abs(b%2-1)),f=j=a=0;0<=b&&1>b?(a=d,j=k,f=0):1<=b&&2>b?(a=k,j=d,f=0):2<=b&&3>b?(a=0,j=d,f=k):3<=b&&4>b?(a=0,j=k,f=d):4<=b&&5>b?(a=k,j=0,f=d):5<=b&&6>b&&(a=d,j=0,f=k);e-=d;return["Color",Math.round(255*(a+e)),Math.round(255*(j+e)),Math.round(255*(f+e)),1]},extract:function(e){return 1===e[4]?"rgb("+-e[1]+","+e[2]+","+e[3]+")":"rgba("+e[1]+","+e[2]+","+e[3]+","+e[4]+")"}}}();-var Collage=function(){function e(a,c){var b=c.length-1;if(!(0>=b))for(a.moveTo(c[b][1],c[b][2]);b--;)a.lineTo(c[b][1],c[b][2])}function a(a,c,b,d){0===a.length&&(a=[8,4]);var e=d.length-1;if(!(0>=e)){var g=d[e][1],j=d[e][2],l=0,f=0,k=0,p=0,q=0,u=0,w=a.length,A=!0,x=a[0];for(c.moveTo(g,j);e--;){l=d[e][1];f=d[e][2];k=l-g;p=f-j;for(q=Math.sqrt(k*k+p*p);x<=q;)g+=k*x/q,j+=p*x/q,c[A?"lineTo":"moveTo"](g,j),k=l-g,p=f-j,q=Math.sqrt(k*k+p*p),A=!A,u=(u+1)%w,x=a[u];0<q&&(c[A?"lineTo":"moveTo"](l,f),x-=q);g=-l;j=f}}c.strokeStyle=Elm.Color.extract(b);c.stroke()}function d(b,c,i,d,j){c.clearRect(0,0,i,d);for(i=j.length;i--;){var f=j[i],n=b,d=c,l=f[1],k=f[2],s=f[3][1],p=f[3][2],f=f[4];d.save();(0!==s||0!==p)&&d.translate(s,p);l!==~~l&&d.rotate(2*Math.PI*l);1!==k&&d.scale(k,k);d.beginPath();switch(f[0]){case "FLine":a:switch(n=d,l=f,f=l[3][1],l[1][0]){case "Solid":l=l[2];e(n,f);n.strokeStyle=Elm.Color.extract(l);n.stroke();break;case "Dotted":a([3,3],n,l[2],f);break a;case "Dashed":a([8,4],n,l[2],f);break a;-case "Custom":a(l[1][1],n,l[2],f)}break;case "FShape":a:switch(s=n,k=d,n=f[1],l=f[2],f=f[3][1],n[0]){case "Filled":n=k;e(n,f);n.fillStyle=Elm.Color.extract(l);n.fill();break a;case "Outlined":n=k;e(n,f);n.strokeStyle=Elm.Color.extract(l);n.stroke();break a;case "Textured":l=s;n=n[1];s=new Image;s.src=g.castStringToJSString(n);s.onload=l;e(k,f);k.fillStyle=k.createPattern(s,"repeat");k.fill();break a;case "CustomOutline":a(n[1],k,l,f)}break;case "FImage":l=d,k=f[1],s=f[2],f=f[3],p=new Image,p.onload=-n,p.src=g.castStringToJSString(f),l.drawImage(p,-k/2,-s/2,k,s)}d.restore()}}function j(a,c,b){var e=Render.newElement("canvas");e.style.width=~~a+"px";e.style.height=~~c+"px";e.style.display="block";e.width=~~a;e.height=~~c;if(e.getContext){var g=e.getContext("2d"),a=e.width,c=e.height;d(function(){d(this,g,a,c,b)},g,a,c,b);return e}e.innerHTML="Your browser does not support the canvas element.";return e}function f(a,c,b,d,e,g,j){var f=Render.render(j),b="translate("+(e-j[3]/2)+"px,"+(g-j[4]/2)+"px) "+-(1===d?"":"scale("+d+","+d+")")+" "+(b===~~b?"":"rotate("+360*b+"deg)");f.style.transform=b;f.style.msTransform=b;f.style.MozTransform=b;f.style.webkitTransform=b;f.style.OTransform=b;b=Render.newElement("div");Render.addTo(b,f);b.style.width=~~a+"px";b.style.height=~~c+"px";b.style.overflow="hidden";return b}function b(a,c,b){if(!Value.eq(b,c)){var e=a.style.width.slice(0,-2)-0,g=a.style.height.slice(0,-2)-0;if("object"===typeof b[0]){if("object"===typeof c[0]&&a.getContext){var k=a.getContext("2d");-return d(function(){d(this,k,e,g,b)},k,e,g,b)}c=j(e,g,b);c.style.position="absolute";return a.parentNode.replaceChild(c,a)}c=f(e,g,b[1],b[2],b[3][1],b[3][2],b[4][1]);c.style.position="absolute";return a.parentNode.replaceChild(c,a)}}function k(a,c,b,d,e){var g=0,j,f=(a[1]-d[1])/b,a=(a[2]-d[2])/b;0!==c&&(c*=-2*Math.PI,b=f*Math.cos(c)-a*Math.sin(c),a=f*Math.sin(c)+a*Math.cos(c),f=b);if(0===e.length)return!1;j=e[0];for(b=e.length-1;b--;){c=e[b];d=j[1];j=j[2];var k=c[1],s=c[2];if(j<s)var p=j,q=s;else p=-s,q=j;if(d<k)var u=d,w=k;else u=k,w=d;p<a&&a<=q&&f<=w&&(f<=u||f<=(a-j)*(k-d)/(s-j)+d)&&++g;j=c}return 1===g%2}var g=Elm.JavaScript;return{collage:function(a,c,b){if(0===b.length)return j(a,c,[]);for(var d=Array(b.length),e=b.length;e--;){var g=b[e];d[e]="string"===typeof g[0]?f(a,c,g[1],g[2],g[3][1],g[3][2],g[4][1]):j(a,c,g)}return 1===b.length?d[0]:Render.flowWith(Render.goIn,function(c){return c},d)},updateCollage:function(a,c,d){if(1===d.length)return b(a,c[0],d[0]);for(var a=a.childNodes,e=a.length,-g=e;g--;)b(a[e-g-1],c[g],d[g])},insideForm:function(a){return function(c){var b=a[1],d=a[2];if(6>c.length){var e=c[3][1],g=c[3][2],j=0,f=c[2];switch(c[4][0]){case "FShape":for(var v=c[4][3][1],s=v.length;--s;)var p=v[s],j=Math.max(j,p[1]*p[1]+p[2]*p[2]);j*=f*f;break;case "FImage":v=f*c[4][1]/2;f=f*c[4][2]/2;j=v*v+f*f;break;case "FElement":v=f*c[4][1][3]/2,f=f*c[4][1][4]/2,j=v*v+f*f}c.push(function(a,c){var b=a-e,d=c-g;return b*b+d*d<j+1})}if(!c[5](b,d))return!1;var q,u;switch(c[4][0]){case "FShape":return k(a,-c[1],c[2],c[3],c[4][3][1]);case "FLine":return!1;case "FImage":q=c[4][1]/2;u=c[4][2]/2;break;case "FElement":q=c[4][1][3]/2,u=c[4][1][4]/2}return k(a,c[1],c[2],c[3],[[null,q,u],[null,-q,u],[null,-q,-u],[null,q,-u],[null,q,u]])}}}}(),Elm=Elm||{};-Elm.Graphics=function(){function e(a){return function(c){return["Position",a,c]}}function a(a){return function(c){return["EText",a,c]}}function d(a){return function(c){return["EFlow",a,l.castListToJSArray(c)]}}function j(a){return["Line",l.castListToJSArray(a)]}function f(a){return function(c){var b=l.castListToJSArray(a);0<b.length&&b.push(b[0]);return["Shape",b,c]}}function b(a){return function(c){return function(b){return function(d){return["Form",a,c,b,d]}}}}function k(a){return function(c){return function(b){return["FLine",-a,c,b]}}}function g(a){return function(c){return function(b){return["FShape",a,c,b]}}}function h(a,c,b,d,i,e){return["Element",Guid.guid(),a,c,b,d,i,e]}function c(a,c,b){return["Element",Guid.guid(),a,c,b,1,Nothing,Nothing]}function i(a){return~~a[3]}function t(a){return~~a[4]}function m(a){return function(b){return function(d){return c(["EImage",l.castStringToJSString(d)],a,b)}}}function r(a){return function(b){return c(A,a,b)}}function n(a){return function(c){return function(b){var d=map(function(b){return["Tuple2",-a/2*cos(2*(pi/50)*b),c/2*sin(2*(pi/50)*b)]}),i=49,e=["Nil"];if(0<=i){do e=["Cons",i,e];while(0<i--)}return f(d(e))(b)}}}var l=Elm.JavaScript,v=["DRight"],s=["DDown"],p=["DOut"],q=["Near"],u=["Mid"],w=["Far"],A=["EEmpty"],x=["Solid"],C=["Dotted"],y=["Dashed"],B=["Filled"],z=["Outlined"],D=e(q)(q),E=e(w)(q),F=e(q)(w),G=e(w)(w),H=e(q)(u),I=e(w)(u),q=e(u)(q),w=e(u)(w),u=e(u)(u);return{left:["DLeft"],right:v,down:s,up:["DUp"],inward:["DIn"],outward:p,topLeft:D,topRight:E,bottomLeft:F,bottomRight:G,midLeft:H,-midRight:I,midTop:q,midBottom:w,middle:u,middleAt:function(a){return function(c){return["PositionAt",a,c]}},topLeftAt:function(a){return function(c){return["PositionTL",a,c]}},topRightAt:function(a){return function(c){return["PositionTR",a,c]}},bottomLeftAt:function(a){return function(c){return["PositionBL",a,c]}},bottomRightAt:function(a){return function(c){return["PositionBR",a,c]}},absolute:function(a){return["Absolute",a]},relative:function(a){return["Relative",a]},width:function(a){return function(c){var b=-c[2];switch(b[0]){case "EImage":case "EVideo":return h(c[2],a,c[4]*a/c[3],c[5],c[6],c[7]);case "EText":return b=Value.getTextSize(a,c[4],b[2]),h(c[2],a,b[1],c[5],c[6],c[7])}return h(c[2],a,c[4],c[5],c[6],c[7])}},height:function(a){return function(c){switch(c[2][0]){case "EImage":case "EVideo":return h(c[2],c[3]*a/c[4],a,c[5],c[6],c[7])}return h(c[2],c[3],a,c[5],c[6],c[7])}},size:function(c){return function(a){return function(b){return h(b[2],c,a,b[5],b[6],b[7])}}},opacity:function(c){return function(a){return h(a[2],-a[3],a[4],c,a[6],a[7])}},color:function(c){return function(a){return h(a[2],a[3],a[4],a[5],Just(c),a[7])}},link:function(a){return function(c){return h(c[2],c[3],c[4],c[5],c[6],Just(l.castStringToJSString(a)))}},widthOf:i,heightOf:t,sizeOf:function(c){return["Tuple2",~~c[3],~~c[4]]},text:function(b){var d=Value.getTextSize(0,0,b);return c(a("left")(b),d[0],d[1])},asText:function(b){var b=monospace(Value.toText(Value.show(b))),d=Value.getTextSize(0,0,b);return c(a("left")(b),d[0],d[1])},plainText:function(b){var b=-Value.toText(b),d=Value.getTextSize(0,0,b);return c(a("left")(b),d[0],d[1])},centeredText:function(b){var d=Value.getTextSize(0,0,b);return c(a("center")(b),d[0],d[1])},justifiedText:function(b){var d=Value.getTextSize(0,0,b);return c(a("justify")(b),d[0],d[1])},rightedText:function(b){var d=Value.getTextSize(0,0,b);return c(a("right")(b),d[0],d[1])},image:m,images:function(c){var a=Elm.Signal.constant(r(0)(0)),c=Elm.Signal.lift(function(c){var c=l.castStringToJSString(c),b=new Image;b.onload=function(){Dispatcher.notify(a.id,-m(this.width)(this.height)(c))};b.src=c})(c);return Elm.Signal.lift2(function(c){return function(){return c}})(a)(c)},video:function(a){return function(b){return function(d){return c(["EVideo",l.castStringToJSString(d)],a,b)}}},fittedImage:function(a){return function(b){return function(d){return c(["EFittedImage",l.castStringToJSString(d)],a,b)}}},flow:function(a){return function(b){var e;e=map(i)(b);a:{switch(a[0]){case "DLeft":e=sum(e);break a;case "DRight":e=sum(e);break a}e=maximum(e)}var h;h=-map(t)(b);a:{switch(a[0]){case "DDown":h=sum(h);break a;case "DUp":h=sum(h);break a}h=maximum(h)}return c(d(a)(b),e,h)}},above:function(a){return function(b){return c(d(s)(["Cons",a,["Cons",b,["Nil"]]]),max(~~a[3])(~~b[3]),~~a[4]+~~b[4])}},below:function(a){return function(b){return c(d(s)(["Cons",b,["Cons",a,["Nil"]]]),max(~~a[3])(~~b[3]),~~a[4]+~~b[4])}},beside:function(a){return function(b){return c(d(v)(["Cons",a,["Cons",b,["Nil"]]]),~~a[3]+~~b[3],max(~~a[4])(~~b[4]))}},layers:function(a){return c(d(p)(a),-maximum(map(i)(a)),maximum(map(t)(a)))},collage:function(a){return function(b){return function(d){return c(["ECollage",a,b,Value.groupForms(d)],a,b)}}},spacer:r,container:function(a){return function(b){return function(d){return function(e){return c(["EContainer",d,e],a,b)}}}},line:j,segment:function(a){return function(c){return j(["Cons",a,["Cons",c,["Nil"]]])}},polygon:f,rect:function(a){return function(c){return function(b){return f(["Cons",["Tuple2",0-a/2,0-c/2],["Cons",["Tuple2",0-a/2,c/2],["Cons",-["Tuple2",a/2,c/2],["Cons",["Tuple2",a/2,0-c/2],["Nil"]]]]])(b)}}},oval:n,circle:function(a){return n(2*a)(2*a)},ngon:function(a){return function(c){return function(b){var d=toFloat(a),e=map(function(a){return["Tuple2",c*cos(2*(pi/d)*a),c*sin(2*(pi/d)*a)]}),i=a-1,h=["Nil"];if(0<=i){do h=["Cons",i,h];while(0<i--)}return f(e(h))(b)}}},solid:function(a){return function(c){return b(0)(1)(["Tuple2",0,0])(k(x)(a)(c))}},dotted:function(a){return function(c){return b(0)(1)(["Tuple2",0,0])(k(C)(a)(c))}},dashed:function(a){return function(c){return b(0)(1)(["Tuple2",-0,0])(k(y)(a)(c))}},customLine:function(a){return function(c){return function(d){return b(0)(1)(["Tuple2",0,0])(k(["Custom",l.castListToJSArray(a)])(c)(d))}}},filled:function(a){return function(c){return b(0)(1)(c[2])(g(B)(a)(c))}},outlined:function(a){return function(c){return b(0)(1)(c[2])(g(z)(a)(c))}},customOutline:function(a){return function(c){return function(d){return b(0)(1)(d[2])(g(["CustomOutline",l.castListToJSArray(a)])(c)(d))}}},textured:function(a){return function(c){return b(0)(1)(c[2])(g(["Textured",-a])(null)(c))}},sprite:function(a){return function(c){return function(d){return function(e){return b(0)(1)(e)(["FImage",c,d,l.castStringToJSString(a)])}}}},toForm:function(a){return function(c){return b(0)(1)(a)(["FElement",c])}},rotate:function(a){return function(c){a:{switch(c[0]){case "Form":var d=c[2],e=c[3],i=c[4],c=b(a+c[1])(d)(e)(i);break a}throw"Non-exhaustive pattern match in case";}return c}},scale:function(a){return function(c){return b(c[1])(a*c[2])(c[3])(c[4])}},move:function(a){return function(c){return function(d){var e;-a:{switch(d[0]){case "Form":e=d[1];var i=d[2],h=d[3],d=d[4];switch(h[0]){case "Tuple2":var g=h[1],h=h[2];e=b(e)(i)(["Tuple2",a+g,c+h])(d);break a}}throw"Non-exhaustive pattern match in case";}return e}}},isWithin:Collage.insideForm}}();Elm=Elm||{};-Elm.Text=function(){function e(a){return Value.toText(a)}var a=function(a){return function(b){return"<"+a+' style="padding:0;margin:0">'+b+"</"+a+">"}},d=function(a,b){return function(d){return"<span style='"+a+":"+b+"'>"+d+"</span>"}},j=function(a){a=Elm.JavaScript.castStringToJSString(a);return d("font-family",a)},f=a("h1"),b=d("font-style","italic"),a=a("b"),k=d("text-decoration","underline"),g=d("text-decoration","overline"),h=d("text-decoration","line-through");return{fromString:e,toText:e,header:f,-height:function(a){return d("font-size",a+"em")},italic:b,bold:a,underline:k,overline:g,strikeThrough:h,monospace:j("monospace"),typeface:j,color:function(a){return d("color",Elm.Color.extract(a))},link:function(a){return function(b){return"<a href='"+e(a)+"'>"+b+"</a>"}}}}();-var Render=function(){function e(a){a=document.createElement(a);a.style.padding="0";a.style.margin="0";return a}function a(a){return a}function d(a){a.style.styleFloat="left";a.style.cssFloat="left";return a}function j(a){a.style.position="absolute";return a}function f(a,b,d){for(var h=e("div"),g=d.length;g--;){var j=a(b(d[g]));h.appendChild(j)}return h}function b(a){switch(a[0]){case "Absolute":return a[1]+"px";case "Relative":return 100*a[1]+"%"}}function k(a,d){d.style.position="absolute";d.style.margin=-"auto";switch(a[0]){case "Position":"Far"!==a[1][0]&&(d.style.left=0);"Near"!==a[1][0]&&(d.style.right=0);"Far"!==a[2][0]&&(d.style.top=0);"Near"!==a[2][0]&&(d.style.bottom=0);break;case "PositionAt":d.style.top=b(a[2]);d.style.left=b(a[1]);var e="translate("+-elem[3]/2+"px,"+-elem[4]/2+"px)";d.style.transform=e;d.style.msTransform=e;d.style.MozTransform=e;d.style.webkitTransform=e;d.style.OTransform=e;break;default:e=a[0].slice(-2),d.style["T"===e[0]?"top":"bottom"]=b(a[2]),d.style["L"===e[1]?"left":-"right"]=b(a[1])}}function g(c){var b={};switch(c[2][0]){case "EText":var b=c[2][1],h=c[2][2],m=e("div");m.innerHTML=h;m.style.textAlign=b;b=m;break;case "EImage":b=c[2][1];h=e("img");h.src=b;h.name=b;h.style.display="block";b=h;break;case "EVideo":m=c[2][1];b=e("video");b.controls="controls";h=e("source");h.src=m;m=m.split(".");h.type="video/"+m[m.length-1];b.appendChild(h);b.style.display="block";break;case "EFittedImage":var r=c[3],n=c[4],b=c[2][1],l=e("canvas");l.style.display="block";l.style.width=-r+"px";l.style.height=n+"px";l.width=r;l.height=n;l.innerHTML="Your browser does not support the canvas element.";var v=e("img");v.onload=function(){if(l.getContext){var a=l.getContext("2d"),b=0,c=0,d=this.width,e=this.height;r/n>this.width/this.height?(e=this.width*n/r,c=(this.height-e)/2):(d=this.height*r/n,b=(this.width-d)/2);a.drawImage(v,b,c,d,e,0,0,l.width,l.height)}};v.src=b;b=l;break;case "EFlow":a:{b=c[2][2];switch(c[2][1][0]){case "DDown":b=b.slice(0).reverse();case "DUp":b=f(a,g,b);break a;-case "DRight":b=b.slice(0).reverse();case "DLeft":b=f(d,g,b);break a;case "DOut":b=b.slice(0).reverse();case "DIn":b=f(j,g,b);break a}b=void 0}break;case "ECollage":b=Collage.collage(c[2][1],c[2][2],c[2][3]);break;case "EEmpty":b=e("div");break;case "EContainer":h=c[2][1];b=g(c[2][2]);k(h,b);h=e("div");h.style.position="relative";h.style.overflow="hidden";h.appendChild(b);b=h;break;case "EHtml":b=c[2][1];"button"!==b.type&&(h=Value.getExcess(b),c[3]-=h[0],c[4]-=h[1]);break;case "EExternalHtml":b=-e("div"),b.appendChild(c[2][1])}b.id=c[1];b.style.width=~~c[3]+"px";b.style.height=~~c[4]+"px";1!==c[5]&&(b.style.opacity=c[5]);"Just"===c[6][0]&&(b.style.backgroundColor=Elm.Color.extract(c[6][1]));return"Just"===c[7][0]?(h=e("a"),h.href=c[7][1],h.appendChild(b),h):b}function h(b,e,f){"A"===b.tagName&&(b=b.firstChild);if(e[1]!==f[1]){if(e[2][0]!==f[2][0])return b.parentNode.replaceChild(g(f),b);var m=f[2],r=e[2];switch(m[0]){case "EText":m[1]!==r[1]&&(b.style.textAlign=m[1]);m[2]!==r[2]&&(b.innerHTML=-m[2]);break;case "EImage":m[1]!==r[1]&&(b.src=m[1]);break;case "EVideo":case "EFittedImage":if(!Value.eq(m,r)||f[3]!==e[3]||f[4]!==e[4])return b.parentNode.replaceChild(g(f),b);break;case "ECollage":if(m[1]!==r[1]||m[2]!==r[2]||m[3].length!==r[3].length)return b.parentNode.replaceChild(g(f),b);Collage.updateCollage(b,r[3],m[3]);break;case "EFlow":if(m[1]!==r[1])return b.parentNode.replaceChild(g(f),b);var n=m[2],l=b.childNodes;if(n.length!==l.length)return b.parentNode.replaceChild(g(f),b);var r=-r[2],v={};switch(m[1][0]){case "DDown":case "DUp":v=a;break;case "DRight":case "DLeft":v=d;break;case "DOut":case "DIn":v=j}for(m=l.length;m--;)h(l[m],r[m],n[m]),v(l[m]);break;case "EContainer":h(b.childNodes[0],r[2],m[2]);k(m[1],b.childNodes[0]);break;case "EHtml":f[1]!==e[1]&&(n=g(f),b.parentNode.replaceChild(n,b),b=n);"button"!==n.type&&(m=Value.getExcess(b),f[3]-=m[0],f[4]-=m[1]);break;case "EExternalHtml":f[1]!==e[1]&&b.parentNode.replaceChild(g(f),b)}f[3]!==e[3]&&(b.style.width=~~f[3]+"px");-f[4]!==e[4]&&(b.style.height=~~f[4]+"px");f[5]!==e[5]&&(b.style.opacity=f[5]);2===f[6].length&&(m=Elm.Color.extract(f[6][1]),m!==b.style.backgroundColor&&(b.style.backgroundColor=m));if(2===f[7].length&&(1===e[7].length||f[7][1]!==e[7][1]))b.parentNode.href=f[7][1];f[1]=e[1]}}return{render:g,update:h,addTo:function(a,b){a.appendChild(b)},newElement:e,flowWith:f,goIn:j}}(),Elm=Elm||{};-Elm.Signal=function(){var e=function(a,b,d){for(var e=a.kids,g=e.length;g--;)e[g].recv(b,d,a.id)},a=function(a){this.id=Guid.guid();this.value=a;this.kids=[];this.defaultNumberOfKids=0;this.recv=function(a,b,d){if(b=b===this.id)this.value=d;e(this,a,b);return b};Dispatcher.inputs.push(this)},d=function(a,b){this.id=Guid.guid();this.value=null;this.kids=[];this.count=0;this.changed=!1;b.reverse();this.recalc=function(){for(var d=a,e=b.length;e--;)d=d(b[e].value);this.value=d};this.recalc();this.recv=-function(a,d){this.count+=1;d&&(this.changed=!0);this.count==b.length&&(this.changed&&this.recalc(),e(this,a,this.changed),this.changed=!1,this.count=0)};for(var d=b.length;d--;)b[d].kids.push(this)},j=function(a,b,d,g){this.id=Guid.guid();this.value=d?b(g.value):b;this.kids=[];this.recv=function(b,c){c&&(this.value=a(g.value)(this.value));e(this,b,c)};g.kids.push(this)},f=function(a,b,d){this.id=Guid.guid();this.value=a(d.value)?b:d.value;this.kids=[];this.recv=function(b,c){var g=c&&!a(d.value);-g&&(this.value=d.value);e(this,b,g)};d.kids.push(this)},b=function(a){this.id=Guid.guid();this.value=a.value;this.kids=[];this.recv=function(b,d){var g=d&&!eq(this.value,a.value);g&&(this.value=a.value);e(this,b,g)};a.kids.push(this)},k=function(a){return function(b){return function(e){e=new d(function(a){return function(b){return[a,b]}},[a,e]);e=new f(function(a){return a[0]},[!0,b],e);return new d(function(a){return a[1]},[e])}}},g=function(a,b){this.id=Guid.guid();this.value=b.value;this.kids=-[];this.count=0;this.changed=!1;this.recv=function(d,g,f){f===a.id&&(this.changed=g);this.count+=1;2==this.count&&(this.changed&&(this.value=b.value),e(this,d,this.changed),this.count=0,this.changed=!1)};a.kids.push(this);b.kids.push(this)};return{constant:function(b){return new a(b)},lift:function(a){return function(b){return new d(a,[b])}},lift2:function(a){return function(b){return function(e){return new d(a,[b,e])}}},lift3:function(a){return function(b){return function(e){return function(g){return new d(a,-[b,e,g])}}}},lift4:function(a){return function(b){return function(e){return function(g){return function(f){return new d(a,[b,e,g,f])}}}}},foldp:function(a){return function(b){return function(d){return new j(a,b,!1,d)}}},foldp_:function(a){return function(b){return function(d){return new j(a,b,!0,d)}}},foldp1:function(a){return function(b){return new j(a,function(a){return a},!0,b)}},count:function(a){return new j(function(){return function(a){return a+1}},0,!1,a)},keepIf:function(a){return function(b){return function(d){return new f(function(b){return!a(b)},-b,d)}}},dropIf:function(a){return function(b){return function(d){return new f(a,b,d)}}},keepWhen:function(a){return k(new d(function(a){return!a},[a]))},dropWhen:k,dropRepeats:function(a){return new b(a)},sampleOn:function(a){return function(b){return new g(a,b)}}}}();-var Dispatcher=function(){function e(a){if(!a.hasOwnProperty("defaultNumberOfKids"))return!0;var d=a.kids.length;if(0==d)return!1;if(d>a.defaultNumberOfKids)return!0;for(var g=!1;d--;)g=g||e(a.kids[d]);return g}var a=null,d=0,j=[],f=null;return{initialize:function(){a=Elm.main();a.hasOwnProperty("recv")||(a=Elm.Signal.constant(a));f=a.value;for(var b=[],d=j.length;d--;)e(j[d])&&b.push(j[d]);j=b;document.getElementById("content").appendChild(Render.render(f));b=document.getElementById("widthChecker").offsetWidth;-b!==window.innerWidth&&Dispatcher.notify(Window.dimensions.id,Value.Tuple(b,window.innerHeight));a=Elm.Signal.lift(function(a){var b=document.getElementById("content");Render.update(b.firstChild,f,a);return f=a})(a)},notify:function(a,e){d+=1;for(var g=!1,f=j.length;f--;)g=j[f].recv(d,a,e)||g;return g},inputs:j}}();-Elm.HTTP=function(){function e(a){return function(b){return function(d){return function(c){return{"0":"Request",length:1,verb:f.castStringToJSString(a),url:f.castStringToJSString(b),data:null===d?null:f.castStringToJSString(d),headers:c}}}}}function a(a){return e("GET")(a)(null)(["Nil"])}function d(a){return function(d){Dispatcher.notify(a.id,["Waiting"]);var e=null;window.XMLHttpRequest?e=new XMLHttpRequest:window.ActiveXObject&&(e=new ActiveXObject("Microsoft.XMLHTTP"));e.onreadystatechange=function(){4===-e.readyState&&Dispatcher.notify(a.id,200===e.status?["Success",b(e.responseText)]:["Failure",e.status,b(e.statusText)])};e.open(d.verb,d.url,!0);Elm.List.map(function(a){e.setRequestHeader(f.castStringToJSString(a[1]),f.castStringToJSString(a[2]))})(d.headers);e.send(d.data);return null}}function j(a){var b=Elm.Signal.constant(["Waiting"]),a=Elm.Signal.lift(d(b))(a);return Elm.Signal.lift2(function(a){return function(){return a}})(b)(a)}var f=Elm.JavaScript,b=Elm.JavaScript.castJSStringToString;return{get:a,-post:function(a){return function(b){return e("POST")(a)(b)(["Nil"])}},request:e,send:j,sendGet:function(b){return j(Elm.Signal.lift(a)(b))}}}();-Elm.Input=function(){var e=Elm.JavaScript,a=Elm.JavaScript.castJSStringToString,d=function(b,d){b.placeholder=e.castStringToJSString(d);var g=Elm.Signal.constant(["Nil"]);Value.addListener(b,"keyup",function(){Dispatcher.notify(g.id,a(b.value));b.focus()});b.style.padding="1px";return Value.Tuple(Value.wrap(b),g)},j=function(a){a=document.createElement(a);a.style.padding="0";a.style.margin="0";return a},f=function(a){for(var d=j("select"),e=[];"Cons"===a[0];){var f=j("option"),c=Value.toText(a[1][1]);-f.value=c;f.innerHTML=c;d.appendChild(f);e.push(a[1][2]);a=a[2]}var i=Elm.Signal.constant(e[0]);Value.addListener(d,"change",function(){Dispatcher.notify(i.id,e[d.selectedIndex])});return Value.Tuple(Value.wrap(d),i)};return{textArea:function(a){return function(e){var f=j("textarea");f.rows=e;f.cols=a;return d(f,"")}},textField:function(a){var e=j("input");e.type="text";return d(e,a)},password:function(a){var e=j("input");e.type="password";return d(e,a)},checkbox:function(a){var d=j("input");d.type=-"checkbox";d.checked=a;var e=Elm.Signal.constant(a);Value.addListener(d,"change",function(){Dispatcher.notify(e.id,d.checked)});return Value.Tuple(Value.wrap(d),e)},dropDown:f,stringDropDown:function(a){return f(Elm.List.map(function(a){return Value.Tuple(a,a)})(a))},button:function(a){var d=j("input");d.type="button";d.value=e.castStringToJSString(a);var f=Elm.Signal.constant(!1);Value.addListener(d,"click",function(){Dispatcher.notify(f.id,!0);Dispatcher.notify(f.id,!1)});return Value.Tuple(Value.wrap(d),-f)}}}();-Elm.Keyboard={Raw:function(){function e(a,d){return"Nil"===d[0]?d:d[1]===a?d[2]:["Cons",d[1],e(a,d[2])]}var a=Elm.Signal.constant(["Nil"]),d=Elm.Signal.constant(["Nothing"]);Value.addListener(document,"keydown",function(d){var e;a:{for(e=a.value;"Nil"!==e[0];){if(e[1]===d.keyCode){e=!0;break a}e=e[2]}e=!1}e||Dispatcher.notify(a.id,["Cons",d.keyCode,a.value])||this.removeEventListener("keydown",arguments.callee,!1)});Value.addListener(document,"keyup",function(d){var f=e(d.keyCode,a.value);Dispatcher.notify(a.id,-f)||this.removeEventListener("keyup",arguments.callee,!1)});Value.addListener(window,"blur",function(d){Dispatcher.notify(a.id,["Nil"])||this.removeEventListener("blur",arguments.callee,!1)});Value.addListener(document,"keypress",function(a){var e=Dispatcher.notify(d.id,["Just",a.charCode||a.keyCode]);Dispatcher.notify(d.id,["Nothing"]);e||this.removeEventListener("keypress",arguments.callee,!1)});return{keysDown:a,charPressed:d}}()};-Elm.Mouse=function(){function e(a){var b=0,c=0;a||(a=window.event);if(a.pageX||a.pageY)b=a.pageX,c=a.pageY;else if(a.clientX||a.clientY)b=a.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,c=a.clientY+document.body.scrollTop+document.documentElement.scrollTop;return Value.Tuple(b,c)}var a=Elm.Signal.constant(Value.Tuple(0,0));a.defaultNumberOfKids=2;var d=Elm.Signal.lift(function(a){return a[1]})(a);d.defaultNumberOfKids=0;var j=Elm.Signal.lift(function(a){return a[2]})(a);j.defaultNumberOfKids=-0;var f=Elm.Signal.constant(!1),b=Elm.Signal.constant(!1),k=Elm.Signal.constant(Value.Tuple());Value.addListener(document,"click",function(a){var d=Dispatcher.notify(b.id,!0),c=Dispatcher.notify(k.id,Value.Tuple());Dispatcher.notify(b.id,!1);!d&&!c&&this.removeEventListener("click",arguments.callee,!1)});Value.addListener(document,"mousedown",function(a){Dispatcher.notify(f.id,!0)||this.removeEventListener("mousedown",arguments.callee,!1)});Value.addListener(document,"mouseup",function(a){Dispatcher.notify(f.id,-!1)||this.removeEventListener("mouseup",arguments.callee,!1)});Value.addListener(document,"mousemove",function(b){Dispatcher.notify(a.id,e(b))||this.removeEventListener("mousemove",arguments.callee,!1)});return{position:a,x:d,y:j,isClicked:b,isDown:f,clicks:k,isClickedOn:function(a){var a=Render.render(a),b=Elm.Signal.constant(!1);Value.addListener(a,"click",function(){Dispatcher.notify(b.id,!0);Dispatcher.notify(b.id,!1)});return Value.Tuple(Value.wrap(a),b)}}}();-Elm.Random=function(){return{inRange:function(e){return function(a){return Elm.Signal.constant(Math.floor(Math.random()*(a-e+1))+e)}},randomize:function(e){return function(a){return function(d){return Elm.Signal.lift(function(){return Math.floor(Math.random()*(a-e+1))+e})(d)}}}}}();-Elm.Time=function(){return{every:function(e){var e=1E3*e,a=Elm.Signal.constant(0),d=0;setInterval(function(){d+=e;Dispatcher.notify(a.id,d/1E3)},e);return a},after:function(e){var e=1E3*e,a=Elm.Signal.constant(!1);setTimeout(function(){Dispatcher.notify(a.id,!0)},e);return a},before:function(e){var e=1E3*e,a=Elm.Signal.constant(!0);setTimeout(function(){Dispatcher.notify(a.id,!1)},e);return a}}}();-Elm.Window=function(){var e=Elm.Signal.constant(Value.Tuple(window.innerWidth,window.innerHeight));e.defaultNumberOfKids=2;var a=Elm.Signal.lift(function(a){return a[1]})(e);a.defaultNumberOfKids=0;var d=Elm.Signal.lift(function(a){return a[2]})(e);d.defaultNumberOfKids=0;Value.addListener(window,"resize",function(a){var d=document.getElementById("widthChecker").offsetWidth;Dispatcher.notify(e.id,Value.Tuple(d,window.innerHeight))||this.removeEventListener("resize",arguments.callee,!1)});return{dimensions:e,-width:a,height:d}}();Value.addListener(document,"elm_log",function(e){console.log(e.value)});Value.addListener(document,"elm_title",function(e){document.title=e.value});Value.addListener(document,"elm_redirect",function(e){0<e.value.length&&(window.location=e.value)});Elm=Elm||{};-Elm.Prelude=function(){var e=function(a){return function(d){var j=a%d,j=0==a?0:0<d?0<=a?j:j+d:-e(-a)(-d);return j==d?0:j}};return{eq:Value.eq,id:function(a){return a},not:function(a){return!a},fst:function(a){return a[1]},snd:function(a){return a[2]},rem:function(a){return function(d){return a%d}},div:function(a){return function(d){return~~(a/d)}},compare:function(a){return function(d){a="object"===typeof a?toText(a):a;d="object"===typeof d?toText(d):d;return[a===d?"EQ":a<d?"LT":"GT"]}},toFloat:function(a){return a},-round:function(a){return Math.round(a)},floor:function(a){return Math.floor(a)},ceiling:function(a){return Math.ceil(a)},truncate:function(a){return~~a},readInt:function(a){var a=JavaScript.castStringToJSString(a),d=a.length;if(0===d)return Nothing;var e=0;if("-"==a[0]){if(1===d)return Nothing;e=1}for(;e<d;++e)if(!Char.isDigit(a[e]))return Nothing;return Just(parseInt(a))},readFloat:function(a){var a=JavaScript.castStringToJSString(a),d=a.length;if(0===d)return Nothing;var e=0;if("-"==a[0]){if(1===-d)return Nothing;e=1}for(var f=0;e<d;++e)if(!Char.isDigit(a[e])){if("."===a[e]&&(f+=1,1>=f))continue;return Nothing}return Just(parseFloat(a))},sqrt:Math.sqrt,abs:Math.abs,pi:Math.PI,e:Math.E,sin:Math.sin,cos:Math.cos,tan:Math.tan,asin:Math.asin,acos:Math.acos,atan:Math.atan,atan2:function(a){return function(d){return Math.atan2(a,d)}},mod:e,min:function(a){return function(d){return Math.min(a,d)}},max:function(a){return function(d){return Math.max(a,d)}},flip:function(a){return function(d){return function(e){return a(e)(d)}}},-clamp:function(a){return function(d){return function(e){return Math.min(d,Math.max(a,e))}}},curry:function(a){return function(d){return function(e){return a(["Tuple2",d,e])}}},uncurry:function(a){return function(d){if("Tuple2"!==d[0])throw"Function was uncurry'd but was not given a pair.";return a(d[1])(d[2])}},logBase:function(a){return function(d){return Math.log(d)/Math.log(a)}},Just:Elm.Maybe.Just,Nothing:Elm.Maybe.Nothing,maybe:Elm.Maybe.maybe,map:Elm.List.map,filter:Elm.List.filter,head:Elm.List.head,-tail:Elm.List.tail,last:Elm.List.last,length:Elm.List.length,reverse:Elm.List.reverse,foldr:Elm.List.foldr,foldr1:Elm.List.foldr1,foldl:Elm.List.foldl,foldl1:Elm.List.foldl1,and:Elm.List.and,or:Elm.List.or,all:Elm.List.all,any:Elm.List.any,sum:Elm.List.sum,product:Elm.List.product,concat:Elm.List.concat,concatMap:Elm.List.concatMap,maximum:Elm.List.maximum,minimum:Elm.List.minimum,scanl:Elm.List.scanl,scanl1:Elm.List.scanl1,take:Elm.List.take,drop:Elm.List.drop,zip:Elm.List.zip,unzip:Elm.List.unzip,-lift:Elm.Signal.lift,lift2:Elm.Signal.lift2,lift3:Elm.Signal.lift3,lift4:Elm.Signal.lift4,foldp:Elm.Signal.foldp,foldp1:Elm.Signal.foldp1,foldp_:Elm.Signal.foldp_,constant:Elm.Signal.constant,count:Elm.Signal.count,keepIf:Elm.Signal.keepIf,dropIf:Elm.Signal.dropIf,keepWhen:Elm.Signal.keepWhen,dropWhen:Elm.Signal.dropWhen,dropRepeats:Elm.Signal.dropRepeats,sampleOn:Elm.Signal.sampleOn}}();-(function(){var e=function(a){for(var d in a)Elm.Prelude[d]=a[d]};e(Elm.Color);e(Elm.Text);e(Elm.Graphics);show=Value.show})();-(function(){for(var e in Elm)this[e]=Elm[e];Elm.Automaton=function(){function a(a){return["Automaton",a]}function d(a){return["DragFrom",a]}function e(b){return function(c){var d;a:{switch(b[0]){case "Automaton":d=b[1];break a}throw"Non-exhaustive pattern match in case";}var f;a:{switch(c[0]){case "Automaton":f=c[1];break a}throw"Non-exhaustive pattern match in case";}return a(function(a){var a=d(a),b;a:{switch(a[0]){case "Tuple2":b=a[1];break a}throw"Non-exhaustive pattern match in case";}a:{switch(a[0]){case "Tuple2":a=-a[2];break a}throw"Non-exhaustive pattern match in case";}var c=f(b);a:{switch(c[0]){case "Tuple2":b=c[1];break a}throw"Non-exhaustive pattern match in case";}a:{switch(c[0]){case "Tuple2":c=c[2];break a}throw"Non-exhaustive pattern match in case";}return["Tuple2",b,e(a)(c)]})}}function f(b){return a(function(a){var c=unzip(map(function(b){a:{switch(b[0]){case "Automaton":b=b[1](a);break a}throw"Non-exhaustive pattern match in case";}return b})(b)),d;a:{switch(c[0]){case "Tuple2":d=c[1];break a}throw"Non-exhaustive pattern match in case";-}a:{switch(c[0]){case "Tuple2":c=c[2];break a}throw"Non-exhaustive pattern match in case";}return["Tuple2",d,f(c)]})}function b(c){return a(function(a){return["Tuple2",c(a),b(c)]})}function k(b){return function(c){return a(function(a){a=c(a)(b);return["Tuple2",a,k(a)(c)]})}}function g(b){return function(c){return a(function(a){var d=c(a)(b);a:{switch(d[0]){case "Tuple2":a=d[1];break a}throw"Non-exhaustive pattern match in case";}a:{switch(d[0]){case "Tuple2":d=d[2];break a}throw"Non-exhaustive pattern match in case";-}return["Tuple2",a,g(d)(c)]})}}function h(a){return function(b){a:{switch(a[0]){case "Tuple2":b:{switch(b[0]){case "Tuple2":b=["Tuple2",a[1]-b[1],a[2]-b[2]];break b}break}break a}throw"Non-exhaustive pattern match in case";}return b}}function c(a){return function(b){var c;a:{switch(a[0]){case "Tuple2":b:{switch(b[0]){case "Tuple2":var e=function(a){return["Tuple2",b[2],["Tuple2",a,b[2]]]};c=function(){switch(b[1][0]){case "DragFrom":var c;a[1]?c=["Tuple2",uncurry(move)(h(a[2])(b[1][1]))(b[2]),["Tuple2",-d(b[1][1]),b[2]]]:(c=uncurry(move)(h(a[2])(b[1][1]))(b[2]),c=["Tuple2",c,["Tuple2",m,c]]);return c;case "Ignore":return e(a[1]?r:m);case "Listen":return e(not(a[1])?m:isWithin(a[2])(b[2])?d(a[2]):r)}throw"Non-exhaustive pattern match in case";}();break b}break}break a}throw"Non-exhaustive pattern match in case";}return c}}var i=[],t;for(t in Elm.Prelude)0<=i.indexOf(t)||(this[t]=Elm.Prelude[t]);var m=["Listen"],r=["Ignore"],i=k(0)(function(){return function(a){return 1+a}});return{Automaton:a,run:function(a){return function(b){a:{switch(a[0]){case "Automaton":b=-lift(fst)(foldp_(function(a){return function(b){a:{switch(b[0]){case "Tuple2":switch(b[2][0]){case "Automaton":b=b[2][1](a);break a}}throw"Non-exhaustive pattern match in case";}return b}})(a[1])(b));break a}throw"Non-exhaustive pattern match in case";}return b}},step:function(a){return function(b){a:{switch(a[0]){case "Automaton":b=a[1](b);break a}throw"Non-exhaustive pattern match in case";}return b}},composeAuto:e,combine:f,pure:b,init:k,init_:g,count:i,Listen:m,Ignore:r,DragFrom:d,vecSub:h,stepDrag:c,-draggable:function(a){return g(["Tuple2",m,a])(c)}}}()})();
src/Types/Hints.hs view
@@ -128,7 +128,7 @@ , "fromString" -: string ==> jsonObject , "lookup" -: string ==> jsonObject ==> maybeOf jsonValue , "findObject" -: string ==> jsonObject ==> jsonObject- , "findArray" -: string ==> jsonObject ==> listOf jsonObject+ , "findArray" -: string ==> jsonObject ==> listOf jsonValue , "findString" -: string ==> jsonObject ==> string , "findWithDefault" -:: jsonValue ==> string ==> jsonObject ==> jsonValue , "toPrettyString" -: string ==> jsonObject ==> string