-
Notifications
You must be signed in to change notification settings - Fork 0
/
rice-box.go
115 lines (94 loc) · 717 KB
/
rice-box.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
package controllers
import (
"time"
"github.com/GeertJohan/go.rice/embedded"
)
func init() {
// define files
file2 := &embedded.EmbeddedFile{
Filename: "elm.compiled.js",
FileModTime: time.Unix(1603087855, 0),
Content: string("(function(scope){\n'use strict';\n\nfunction F(arity, fun, wrapper) {\n wrapper.a = arity;\n wrapper.f = fun;\n return wrapper;\n}\n\nfunction F2(fun) {\n return F(2, fun, function(a) { return function(b) { return fun(a,b); }; })\n}\nfunction F3(fun) {\n return F(3, fun, function(a) {\n return function(b) { return function(c) { return fun(a, b, c); }; };\n });\n}\nfunction F4(fun) {\n return F(4, fun, function(a) { return function(b) { return function(c) {\n return function(d) { return fun(a, b, c, d); }; }; };\n });\n}\nfunction F5(fun) {\n return F(5, fun, function(a) { return function(b) { return function(c) {\n return function(d) { return function(e) { return fun(a, b, c, d, e); }; }; }; };\n });\n}\nfunction F6(fun) {\n return F(6, fun, function(a) { return function(b) { return function(c) {\n return function(d) { return function(e) { return function(f) {\n return fun(a, b, c, d, e, f); }; }; }; }; };\n });\n}\nfunction F7(fun) {\n return F(7, fun, function(a) { return function(b) { return function(c) {\n return function(d) { return function(e) { return function(f) {\n return function(g) { return fun(a, b, c, d, e, f, g); }; }; }; }; }; };\n });\n}\nfunction F8(fun) {\n return F(8, fun, function(a) { return function(b) { return function(c) {\n return function(d) { return function(e) { return function(f) {\n return function(g) { return function(h) {\n return fun(a, b, c, d, e, f, g, h); }; }; }; }; }; }; };\n });\n}\nfunction F9(fun) {\n return F(9, fun, function(a) { return function(b) { return function(c) {\n return function(d) { return function(e) { return function(f) {\n return function(g) { return function(h) { return function(i) {\n return fun(a, b, c, d, e, f, g, h, i); }; }; }; }; }; }; }; };\n });\n}\n\nfunction A2(fun, a, b) {\n return fun.a === 2 ? fun.f(a, b) : fun(a)(b);\n}\nfunction A3(fun, a, b, c) {\n return fun.a === 3 ? fun.f(a, b, c) : fun(a)(b)(c);\n}\nfunction A4(fun, a, b, c, d) {\n return fun.a === 4 ? fun.f(a, b, c, d) : fun(a)(b)(c)(d);\n}\nfunction A5(fun, a, b, c, d, e) {\n return fun.a === 5 ? fun.f(a, b, c, d, e) : fun(a)(b)(c)(d)(e);\n}\nfunction A6(fun, a, b, c, d, e, f) {\n return fun.a === 6 ? fun.f(a, b, c, d, e, f) : fun(a)(b)(c)(d)(e)(f);\n}\nfunction A7(fun, a, b, c, d, e, f, g) {\n return fun.a === 7 ? fun.f(a, b, c, d, e, f, g) : fun(a)(b)(c)(d)(e)(f)(g);\n}\nfunction A8(fun, a, b, c, d, e, f, g, h) {\n return fun.a === 8 ? fun.f(a, b, c, d, e, f, g, h) : fun(a)(b)(c)(d)(e)(f)(g)(h);\n}\nfunction A9(fun, a, b, c, d, e, f, g, h, i) {\n return fun.a === 9 ? fun.f(a, b, c, d, e, f, g, h, i) : fun(a)(b)(c)(d)(e)(f)(g)(h)(i);\n}\n\nconsole.warn('Compiled in DEBUG mode. Follow the advice at https://elm-lang.org/0.19.1/optimize for better performance and smaller assets.');\n\n\n// EQUALITY\n\nfunction _Utils_eq(x, y)\n{\n\tfor (\n\t\tvar pair, stack = [], isEqual = _Utils_eqHelp(x, y, 0, stack);\n\t\tisEqual && (pair = stack.pop());\n\t\tisEqual = _Utils_eqHelp(pair.a, pair.b, 0, stack)\n\t\t)\n\t{}\n\n\treturn isEqual;\n}\n\nfunction _Utils_eqHelp(x, y, depth, stack)\n{\n\tif (x === y)\n\t{\n\t\treturn true;\n\t}\n\n\tif (typeof x !== 'object' || x === null || y === null)\n\t{\n\t\ttypeof x === 'function' && _Debug_crash(5);\n\t\treturn false;\n\t}\n\n\tif (depth > 100)\n\t{\n\t\tstack.push(_Utils_Tuple2(x,y));\n\t\treturn true;\n\t}\n\n\t/**/\n\tif (x.$ === 'Set_elm_builtin')\n\t{\n\t\tx = $elm$core$Set$toList(x);\n\t\ty = $elm$core$Set$toList(y);\n\t}\n\tif (x.$ === 'RBNode_elm_builtin' || x.$ === 'RBEmpty_elm_builtin')\n\t{\n\t\tx = $elm$core$Dict$toList(x);\n\t\ty = $elm$core$Dict$toList(y);\n\t}\n\t//*/\n\n\t/**_UNUSED/\n\tif (x.$ < 0)\n\t{\n\t\tx = $elm$core$Dict$toList(x);\n\t\ty = $elm$core$Dict$toList(y);\n\t}\n\t//*/\n\n\tfor (var key in x)\n\t{\n\t\tif (!_Utils_eqHelp(x[key], y[key], depth + 1, stack))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\nvar _Utils_equal = F2(_Utils_eq);\nvar _Utils_notEqual = F2(function(a, b) { return !_Utils_eq(a,b); });\n\n\n\n// COMPARISONS\n\n// Code in Generate/JavaScript.hs, Basics.js, and List.js depends on\n// the particular integer values assigned to LT, EQ, and GT.\n\nfunction _Utils_cmp(x, y, ord)\n{\n\tif (typeof x !== 'object')\n\t{\n\t\treturn x === y ? /*EQ*/ 0 : x < y ? /*LT*/ -1 : /*GT*/ 1;\n\t}\n\n\t/**/\n\tif (x instanceof String)\n\t{\n\t\tvar a = x.valueOf();\n\t\tvar b = y.valueOf();\n\t\treturn a === b ? 0 : a < b ? -1 : 1;\n\t}\n\t//*/\n\n\t/**_UNUSED/\n\tif (typeof x.$ === 'undefined')\n\t//*/\n\t/**/\n\tif (x.$[0] === '#')\n\t//*/\n\t{\n\t\treturn (ord = _Utils_cmp(x.a, y.a))\n\t\t\t? ord\n\t\t\t: (ord = _Utils_cmp(x.b, y.b))\n\t\t\t\t? ord\n\t\t\t\t: _Utils_cmp(x.c, y.c);\n\t}\n\n\t// traverse conses until end of a list or a mismatch\n\tfor (; x.b && y.b && !(ord = _Utils_cmp(x.a, y.a)); x = x.b, y = y.b) {} // WHILE_CONSES\n\treturn ord || (x.b ? /*GT*/ 1 : y.b ? /*LT*/ -1 : /*EQ*/ 0);\n}\n\nvar _Utils_lt = F2(function(a, b) { return _Utils_cmp(a, b) < 0; });\nvar _Utils_le = F2(function(a, b) { return _Utils_cmp(a, b) < 1; });\nvar _Utils_gt = F2(function(a, b) { return _Utils_cmp(a, b) > 0; });\nvar _Utils_ge = F2(function(a, b) { return _Utils_cmp(a, b) >= 0; });\n\nvar _Utils_compare = F2(function(x, y)\n{\n\tvar n = _Utils_cmp(x, y);\n\treturn n < 0 ? $elm$core$Basics$LT : n ? $elm$core$Basics$GT : $elm$core$Basics$EQ;\n});\n\n\n// COMMON VALUES\n\nvar _Utils_Tuple0_UNUSED = 0;\nvar _Utils_Tuple0 = { $: '#0' };\n\nfunction _Utils_Tuple2_UNUSED(a, b) { return { a: a, b: b }; }\nfunction _Utils_Tuple2(a, b) { return { $: '#2', a: a, b: b }; }\n\nfunction _Utils_Tuple3_UNUSED(a, b, c) { return { a: a, b: b, c: c }; }\nfunction _Utils_Tuple3(a, b, c) { return { $: '#3', a: a, b: b, c: c }; }\n\nfunction _Utils_chr_UNUSED(c) { return c; }\nfunction _Utils_chr(c) { return new String(c); }\n\n\n// RECORDS\n\nfunction _Utils_update(oldRecord, updatedFields)\n{\n\tvar newRecord = {};\n\n\tfor (var key in oldRecord)\n\t{\n\t\tnewRecord[key] = oldRecord[key];\n\t}\n\n\tfor (var key in updatedFields)\n\t{\n\t\tnewRecord[key] = updatedFields[key];\n\t}\n\n\treturn newRecord;\n}\n\n\n// APPEND\n\nvar _Utils_append = F2(_Utils_ap);\n\nfunction _Utils_ap(xs, ys)\n{\n\t// append Strings\n\tif (typeof xs === 'string')\n\t{\n\t\treturn xs + ys;\n\t}\n\n\t// append Lists\n\tif (!xs.b)\n\t{\n\t\treturn ys;\n\t}\n\tvar root = _List_Cons(xs.a, ys);\n\txs = xs.b\n\tfor (var curr = root; xs.b; xs = xs.b) // WHILE_CONS\n\t{\n\t\tcurr = curr.b = _List_Cons(xs.a, ys);\n\t}\n\treturn root;\n}\n\n\n\nvar _List_Nil_UNUSED = { $: 0 };\nvar _List_Nil = { $: '[]' };\n\nfunction _List_Cons_UNUSED(hd, tl) { return { $: 1, a: hd, b: tl }; }\nfunction _List_Cons(hd, tl) { return { $: '::', a: hd, b: tl }; }\n\n\nvar _List_cons = F2(_List_Cons);\n\nfunction _List_fromArray(arr)\n{\n\tvar out = _List_Nil;\n\tfor (var i = arr.length; i--; )\n\t{\n\t\tout = _List_Cons(arr[i], out);\n\t}\n\treturn out;\n}\n\nfunction _List_toArray(xs)\n{\n\tfor (var out = []; xs.b; xs = xs.b) // WHILE_CONS\n\t{\n\t\tout.push(xs.a);\n\t}\n\treturn out;\n}\n\nvar _List_map2 = F3(function(f, xs, ys)\n{\n\tfor (var arr = []; xs.b && ys.b; xs = xs.b, ys = ys.b) // WHILE_CONSES\n\t{\n\t\tarr.push(A2(f, xs.a, ys.a));\n\t}\n\treturn _List_fromArray(arr);\n});\n\nvar _List_map3 = F4(function(f, xs, ys, zs)\n{\n\tfor (var arr = []; xs.b && ys.b && zs.b; xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES\n\t{\n\t\tarr.push(A3(f, xs.a, ys.a, zs.a));\n\t}\n\treturn _List_fromArray(arr);\n});\n\nvar _List_map4 = F5(function(f, ws, xs, ys, zs)\n{\n\tfor (var arr = []; ws.b && xs.b && ys.b && zs.b; ws = ws.b, xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES\n\t{\n\t\tarr.push(A4(f, ws.a, xs.a, ys.a, zs.a));\n\t}\n\treturn _List_fromArray(arr);\n});\n\nvar _List_map5 = F6(function(f, vs, ws, xs, ys, zs)\n{\n\tfor (var arr = []; vs.b && ws.b && xs.b && ys.b && zs.b; vs = vs.b, ws = ws.b, xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES\n\t{\n\t\tarr.push(A5(f, vs.a, ws.a, xs.a, ys.a, zs.a));\n\t}\n\treturn _List_fromArray(arr);\n});\n\nvar _List_sortBy = F2(function(f, xs)\n{\n\treturn _List_fromArray(_List_toArray(xs).sort(function(a, b) {\n\t\treturn _Utils_cmp(f(a), f(b));\n\t}));\n});\n\nvar _List_sortWith = F2(function(f, xs)\n{\n\treturn _List_fromArray(_List_toArray(xs).sort(function(a, b) {\n\t\tvar ord = A2(f, a, b);\n\t\treturn ord === $elm$core$Basics$EQ ? 0 : ord === $elm$core$Basics$LT ? -1 : 1;\n\t}));\n});\n\n\n\nvar _JsArray_empty = [];\n\nfunction _JsArray_singleton(value)\n{\n return [value];\n}\n\nfunction _JsArray_length(array)\n{\n return array.length;\n}\n\nvar _JsArray_initialize = F3(function(size, offset, func)\n{\n var result = new Array(size);\n\n for (var i = 0; i < size; i++)\n {\n result[i] = func(offset + i);\n }\n\n return result;\n});\n\nvar _JsArray_initializeFromList = F2(function (max, ls)\n{\n var result = new Array(max);\n\n for (var i = 0; i < max && ls.b; i++)\n {\n result[i] = ls.a;\n ls = ls.b;\n }\n\n result.length = i;\n return _Utils_Tuple2(result, ls);\n});\n\nvar _JsArray_unsafeGet = F2(function(index, array)\n{\n return array[index];\n});\n\nvar _JsArray_unsafeSet = F3(function(index, value, array)\n{\n var length = array.length;\n var result = new Array(length);\n\n for (var i = 0; i < length; i++)\n {\n result[i] = array[i];\n }\n\n result[index] = value;\n return result;\n});\n\nvar _JsArray_push = F2(function(value, array)\n{\n var length = array.length;\n var result = new Array(length + 1);\n\n for (var i = 0; i < length; i++)\n {\n result[i] = array[i];\n }\n\n result[length] = value;\n return result;\n});\n\nvar _JsArray_foldl = F3(function(func, acc, array)\n{\n var length = array.length;\n\n for (var i = 0; i < length; i++)\n {\n acc = A2(func, array[i], acc);\n }\n\n return acc;\n});\n\nvar _JsArray_foldr = F3(function(func, acc, array)\n{\n for (var i = array.length - 1; i >= 0; i--)\n {\n acc = A2(func, array[i], acc);\n }\n\n return acc;\n});\n\nvar _JsArray_map = F2(function(func, array)\n{\n var length = array.length;\n var result = new Array(length);\n\n for (var i = 0; i < length; i++)\n {\n result[i] = func(array[i]);\n }\n\n return result;\n});\n\nvar _JsArray_indexedMap = F3(function(func, offset, array)\n{\n var length = array.length;\n var result = new Array(length);\n\n for (var i = 0; i < length; i++)\n {\n result[i] = A2(func, offset + i, array[i]);\n }\n\n return result;\n});\n\nvar _JsArray_slice = F3(function(from, to, array)\n{\n return array.slice(from, to);\n});\n\nvar _JsArray_appendN = F3(function(n, dest, source)\n{\n var destLen = dest.length;\n var itemsToCopy = n - destLen;\n\n if (itemsToCopy > source.length)\n {\n itemsToCopy = source.length;\n }\n\n var size = destLen + itemsToCopy;\n var result = new Array(size);\n\n for (var i = 0; i < destLen; i++)\n {\n result[i] = dest[i];\n }\n\n for (var i = 0; i < itemsToCopy; i++)\n {\n result[i + destLen] = source[i];\n }\n\n return result;\n});\n\n\n\n// LOG\n\nvar _Debug_log_UNUSED = F2(function(tag, value)\n{\n\treturn value;\n});\n\nvar _Debug_log = F2(function(tag, value)\n{\n\tconsole.log(tag + ': ' + _Debug_toString(value));\n\treturn value;\n});\n\n\n// TODOS\n\nfunction _Debug_todo(moduleName, region)\n{\n\treturn function(message) {\n\t\t_Debug_crash(8, moduleName, region, message);\n\t};\n}\n\nfunction _Debug_todoCase(moduleName, region, value)\n{\n\treturn function(message) {\n\t\t_Debug_crash(9, moduleName, region, value, message);\n\t};\n}\n\n\n// TO STRING\n\nfunction _Debug_toString_UNUSED(value)\n{\n\treturn '<internals>';\n}\n\nfunction _Debug_toString(value)\n{\n\treturn _Debug_toAnsiString(false, value);\n}\n\nfunction _Debug_toAnsiString(ansi, value)\n{\n\tif (typeof value === 'function')\n\t{\n\t\treturn _Debug_internalColor(ansi, '<function>');\n\t}\n\n\tif (typeof value === 'boolean')\n\t{\n\t\treturn _Debug_ctorColor(ansi, value ? 'True' : 'False');\n\t}\n\n\tif (typeof value === 'number')\n\t{\n\t\treturn _Debug_numberColor(ansi, value + '');\n\t}\n\n\tif (value instanceof String)\n\t{\n\t\treturn _Debug_charColor(ansi, \"'\" + _Debug_addSlashes(value, true) + \"'\");\n\t}\n\n\tif (typeof value === 'string')\n\t{\n\t\treturn _Debug_stringColor(ansi, '\"' + _Debug_addSlashes(value, false) + '\"');\n\t}\n\n\tif (typeof value === 'object' && '$' in value)\n\t{\n\t\tvar tag = value.$;\n\n\t\tif (typeof tag === 'number')\n\t\t{\n\t\t\treturn _Debug_internalColor(ansi, '<internals>');\n\t\t}\n\n\t\tif (tag[0] === '#')\n\t\t{\n\t\t\tvar output = [];\n\t\t\tfor (var k in value)\n\t\t\t{\n\t\t\t\tif (k === '$') continue;\n\t\t\t\toutput.push(_Debug_toAnsiString(ansi, value[k]));\n\t\t\t}\n\t\t\treturn '(' + output.join(',') + ')';\n\t\t}\n\n\t\tif (tag === 'Set_elm_builtin')\n\t\t{\n\t\t\treturn _Debug_ctorColor(ansi, 'Set')\n\t\t\t\t+ _Debug_fadeColor(ansi, '.fromList') + ' '\n\t\t\t\t+ _Debug_toAnsiString(ansi, $elm$core$Set$toList(value));\n\t\t}\n\n\t\tif (tag === 'RBNode_elm_builtin' || tag === 'RBEmpty_elm_builtin')\n\t\t{\n\t\t\treturn _Debug_ctorColor(ansi, 'Dict')\n\t\t\t\t+ _Debug_fadeColor(ansi, '.fromList') + ' '\n\t\t\t\t+ _Debug_toAnsiString(ansi, $elm$core$Dict$toList(value));\n\t\t}\n\n\t\tif (tag === 'Array_elm_builtin')\n\t\t{\n\t\t\treturn _Debug_ctorColor(ansi, 'Array')\n\t\t\t\t+ _Debug_fadeColor(ansi, '.fromList') + ' '\n\t\t\t\t+ _Debug_toAnsiString(ansi, $elm$core$Array$toList(value));\n\t\t}\n\n\t\tif (tag === '::' || tag === '[]')\n\t\t{\n\t\t\tvar output = '[';\n\n\t\t\tvalue.b && (output += _Debug_toAnsiString(ansi, value.a), value = value.b)\n\n\t\t\tfor (; value.b; value = value.b) // WHILE_CONS\n\t\t\t{\n\t\t\t\toutput += ',' + _Debug_toAnsiString(ansi, value.a);\n\t\t\t}\n\t\t\treturn output + ']';\n\t\t}\n\n\t\tvar output = '';\n\t\tfor (var i in value)\n\t\t{\n\t\t\tif (i === '$') continue;\n\t\t\tvar str = _Debug_toAnsiString(ansi, value[i]);\n\t\t\tvar c0 = str[0];\n\t\t\tvar parenless = c0 === '{' || c0 === '(' || c0 === '[' || c0 === '<' || c0 === '\"' || str.indexOf(' ') < 0;\n\t\t\toutput += ' ' + (parenless ? str : '(' + str + ')');\n\t\t}\n\t\treturn _Debug_ctorColor(ansi, tag) + output;\n\t}\n\n\tif (typeof DataView === 'function' && value instanceof DataView)\n\t{\n\t\treturn _Debug_stringColor(ansi, '<' + value.byteLength + ' bytes>');\n\t}\n\n\tif (typeof File !== 'undefined' && value instanceof File)\n\t{\n\t\treturn _Debug_internalColor(ansi, '<' + value.name + '>');\n\t}\n\n\tif (typeof value === 'object')\n\t{\n\t\tvar output = [];\n\t\tfor (var key in value)\n\t\t{\n\t\t\tvar field = key[0] === '_' ? key.slice(1) : key;\n\t\t\toutput.push(_Debug_fadeColor(ansi, field) + ' = ' + _Debug_toAnsiString(ansi, value[key]));\n\t\t}\n\t\tif (output.length === 0)\n\t\t{\n\t\t\treturn '{}';\n\t\t}\n\t\treturn '{ ' + output.join(', ') + ' }';\n\t}\n\n\treturn _Debug_internalColor(ansi, '<internals>');\n}\n\nfunction _Debug_addSlashes(str, isChar)\n{\n\tvar s = str\n\t\t.replace(/\\\\/g, '\\\\\\\\')\n\t\t.replace(/\\n/g, '\\\\n')\n\t\t.replace(/\\t/g, '\\\\t')\n\t\t.replace(/\\r/g, '\\\\r')\n\t\t.replace(/\\v/g, '\\\\v')\n\t\t.replace(/\\0/g, '\\\\0');\n\n\tif (isChar)\n\t{\n\t\treturn s.replace(/\\'/g, '\\\\\\'');\n\t}\n\telse\n\t{\n\t\treturn s.replace(/\\\"/g, '\\\\\"');\n\t}\n}\n\nfunction _Debug_ctorColor(ansi, string)\n{\n\treturn ansi ? '\\x1b[96m' + string + '\\x1b[0m' : string;\n}\n\nfunction _Debug_numberColor(ansi, string)\n{\n\treturn ansi ? '\\x1b[95m' + string + '\\x1b[0m' : string;\n}\n\nfunction _Debug_stringColor(ansi, string)\n{\n\treturn ansi ? '\\x1b[93m' + string + '\\x1b[0m' : string;\n}\n\nfunction _Debug_charColor(ansi, string)\n{\n\treturn ansi ? '\\x1b[92m' + string + '\\x1b[0m' : string;\n}\n\nfunction _Debug_fadeColor(ansi, string)\n{\n\treturn ansi ? '\\x1b[37m' + string + '\\x1b[0m' : string;\n}\n\nfunction _Debug_internalColor(ansi, string)\n{\n\treturn ansi ? '\\x1b[36m' + string + '\\x1b[0m' : string;\n}\n\nfunction _Debug_toHexDigit(n)\n{\n\treturn String.fromCharCode(n < 10 ? 48 + n : 55 + n);\n}\n\n\n// CRASH\n\n\nfunction _Debug_crash_UNUSED(identifier)\n{\n\tthrow new Error('https://github.com/elm/core/blob/1.0.0/hints/' + identifier + '.md');\n}\n\n\nfunction _Debug_crash(identifier, fact1, fact2, fact3, fact4)\n{\n\tswitch(identifier)\n\t{\n\t\tcase 0:\n\t\t\tthrow new Error('What node should I take over? In JavaScript I need something like:\\n\\n Elm.Main.init({\\n node: document.getElementById(\"elm-node\")\\n })\\n\\nYou need to do this with any Browser.sandbox or Browser.element program.');\n\n\t\tcase 1:\n\t\t\tthrow new Error('Browser.application programs cannot handle URLs like this:\\n\\n ' + document.location.href + '\\n\\nWhat is the root? The root of your file system? Try looking at this program with `elm reactor` or some other server.');\n\n\t\tcase 2:\n\t\t\tvar jsonErrorString = fact1;\n\t\t\tthrow new Error('Problem with the flags given to your Elm program on initialization.\\n\\n' + jsonErrorString);\n\n\t\tcase 3:\n\t\t\tvar portName = fact1;\n\t\t\tthrow new Error('There can only be one port named `' + portName + '`, but your program has multiple.');\n\n\t\tcase 4:\n\t\t\tvar portName = fact1;\n\t\t\tvar problem = fact2;\n\t\t\tthrow new Error('Trying to send an unexpected type of value through port `' + portName + '`:\\n' + problem);\n\n\t\tcase 5:\n\t\t\tthrow new Error('Trying to use `(==)` on functions.\\nThere is no way to know if functions are \"the same\" in the Elm sense.\\nRead more about this at https://package.elm-lang.org/packages/elm/core/latest/Basics#== which describes why it is this way and what the better version will look like.');\n\n\t\tcase 6:\n\t\t\tvar moduleName = fact1;\n\t\t\tthrow new Error('Your page is loading multiple Elm scripts with a module named ' + moduleName + '. Maybe a duplicate script is getting loaded accidentally? If not, rename one of them so I know which is which!');\n\n\t\tcase 8:\n\t\t\tvar moduleName = fact1;\n\t\t\tvar region = fact2;\n\t\t\tvar message = fact3;\n\t\t\tthrow new Error('TODO in module `' + moduleName + '` ' + _Debug_regionToString(region) + '\\n\\n' + message);\n\n\t\tcase 9:\n\t\t\tvar moduleName = fact1;\n\t\t\tvar region = fact2;\n\t\t\tvar value = fact3;\n\t\t\tvar message = fact4;\n\t\t\tthrow new Error(\n\t\t\t\t'TODO in module `' + moduleName + '` from the `case` expression '\n\t\t\t\t+ _Debug_regionToString(region) + '\\n\\nIt received the following value:\\n\\n '\n\t\t\t\t+ _Debug_toString(value).replace('\\n', '\\n ')\n\t\t\t\t+ '\\n\\nBut the branch that handles it says:\\n\\n ' + message.replace('\\n', '\\n ')\n\t\t\t);\n\n\t\tcase 10:\n\t\t\tthrow new Error('Bug in https://github.com/elm/virtual-dom/issues');\n\n\t\tcase 11:\n\t\t\tthrow new Error('Cannot perform mod 0. Division by zero error.');\n\t}\n}\n\nfunction _Debug_regionToString(region)\n{\n\tif (region.start.line === region.end.line)\n\t{\n\t\treturn 'on line ' + region.start.line;\n\t}\n\treturn 'on lines ' + region.start.line + ' through ' + region.end.line;\n}\n\n\n\n// MATH\n\nvar _Basics_add = F2(function(a, b) { return a + b; });\nvar _Basics_sub = F2(function(a, b) { return a - b; });\nvar _Basics_mul = F2(function(a, b) { return a * b; });\nvar _Basics_fdiv = F2(function(a, b) { return a / b; });\nvar _Basics_idiv = F2(function(a, b) { return (a / b) | 0; });\nvar _Basics_pow = F2(Math.pow);\n\nvar _Basics_remainderBy = F2(function(b, a) { return a % b; });\n\n// https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/divmodnote-letter.pdf\nvar _Basics_modBy = F2(function(modulus, x)\n{\n\tvar answer = x % modulus;\n\treturn modulus === 0\n\t\t? _Debug_crash(11)\n\t\t:\n\t((answer > 0 && modulus < 0) || (answer < 0 && modulus > 0))\n\t\t? answer + modulus\n\t\t: answer;\n});\n\n\n// TRIGONOMETRY\n\nvar _Basics_pi = Math.PI;\nvar _Basics_e = Math.E;\nvar _Basics_cos = Math.cos;\nvar _Basics_sin = Math.sin;\nvar _Basics_tan = Math.tan;\nvar _Basics_acos = Math.acos;\nvar _Basics_asin = Math.asin;\nvar _Basics_atan = Math.atan;\nvar _Basics_atan2 = F2(Math.atan2);\n\n\n// MORE MATH\n\nfunction _Basics_toFloat(x) { return x; }\nfunction _Basics_truncate(n) { return n | 0; }\nfunction _Basics_isInfinite(n) { return n === Infinity || n === -Infinity; }\n\nvar _Basics_ceiling = Math.ceil;\nvar _Basics_floor = Math.floor;\nvar _Basics_round = Math.round;\nvar _Basics_sqrt = Math.sqrt;\nvar _Basics_log = Math.log;\nvar _Basics_isNaN = isNaN;\n\n\n// BOOLEANS\n\nfunction _Basics_not(bool) { return !bool; }\nvar _Basics_and = F2(function(a, b) { return a && b; });\nvar _Basics_or = F2(function(a, b) { return a || b; });\nvar _Basics_xor = F2(function(a, b) { return a !== b; });\n\n\n\nvar _String_cons = F2(function(chr, str)\n{\n\treturn chr + str;\n});\n\nfunction _String_uncons(string)\n{\n\tvar word = string.charCodeAt(0);\n\treturn !isNaN(word)\n\t\t? $elm$core$Maybe$Just(\n\t\t\t0xD800 <= word && word <= 0xDBFF\n\t\t\t\t? _Utils_Tuple2(_Utils_chr(string[0] + string[1]), string.slice(2))\n\t\t\t\t: _Utils_Tuple2(_Utils_chr(string[0]), string.slice(1))\n\t\t)\n\t\t: $elm$core$Maybe$Nothing;\n}\n\nvar _String_append = F2(function(a, b)\n{\n\treturn a + b;\n});\n\nfunction _String_length(str)\n{\n\treturn str.length;\n}\n\nvar _String_map = F2(function(func, string)\n{\n\tvar len = string.length;\n\tvar array = new Array(len);\n\tvar i = 0;\n\twhile (i < len)\n\t{\n\t\tvar word = string.charCodeAt(i);\n\t\tif (0xD800 <= word && word <= 0xDBFF)\n\t\t{\n\t\t\tarray[i] = func(_Utils_chr(string[i] + string[i+1]));\n\t\t\ti += 2;\n\t\t\tcontinue;\n\t\t}\n\t\tarray[i] = func(_Utils_chr(string[i]));\n\t\ti++;\n\t}\n\treturn array.join('');\n});\n\nvar _String_filter = F2(function(isGood, str)\n{\n\tvar arr = [];\n\tvar len = str.length;\n\tvar i = 0;\n\twhile (i < len)\n\t{\n\t\tvar char = str[i];\n\t\tvar word = str.charCodeAt(i);\n\t\ti++;\n\t\tif (0xD800 <= word && word <= 0xDBFF)\n\t\t{\n\t\t\tchar += str[i];\n\t\t\ti++;\n\t\t}\n\n\t\tif (isGood(_Utils_chr(char)))\n\t\t{\n\t\t\tarr.push(char);\n\t\t}\n\t}\n\treturn arr.join('');\n});\n\nfunction _String_reverse(str)\n{\n\tvar len = str.length;\n\tvar arr = new Array(len);\n\tvar i = 0;\n\twhile (i < len)\n\t{\n\t\tvar word = str.charCodeAt(i);\n\t\tif (0xD800 <= word && word <= 0xDBFF)\n\t\t{\n\t\t\tarr[len - i] = str[i + 1];\n\t\t\ti++;\n\t\t\tarr[len - i] = str[i - 1];\n\t\t\ti++;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tarr[len - i] = str[i];\n\t\t\ti++;\n\t\t}\n\t}\n\treturn arr.join('');\n}\n\nvar _String_foldl = F3(function(func, state, string)\n{\n\tvar len = string.length;\n\tvar i = 0;\n\twhile (i < len)\n\t{\n\t\tvar char = string[i];\n\t\tvar word = string.charCodeAt(i);\n\t\ti++;\n\t\tif (0xD800 <= word && word <= 0xDBFF)\n\t\t{\n\t\t\tchar += string[i];\n\t\t\ti++;\n\t\t}\n\t\tstate = A2(func, _Utils_chr(char), state);\n\t}\n\treturn state;\n});\n\nvar _String_foldr = F3(function(func, state, string)\n{\n\tvar i = string.length;\n\twhile (i--)\n\t{\n\t\tvar char = string[i];\n\t\tvar word = string.charCodeAt(i);\n\t\tif (0xDC00 <= word && word <= 0xDFFF)\n\t\t{\n\t\t\ti--;\n\t\t\tchar = string[i] + char;\n\t\t}\n\t\tstate = A2(func, _Utils_chr(char), state);\n\t}\n\treturn state;\n});\n\nvar _String_split = F2(function(sep, str)\n{\n\treturn str.split(sep);\n});\n\nvar _String_join = F2(function(sep, strs)\n{\n\treturn strs.join(sep);\n});\n\nvar _String_slice = F3(function(start, end, str) {\n\treturn str.slice(start, end);\n});\n\nfunction _String_trim(str)\n{\n\treturn str.trim();\n}\n\nfunction _String_trimLeft(str)\n{\n\treturn str.replace(/^\\s+/, '');\n}\n\nfunction _String_trimRight(str)\n{\n\treturn str.replace(/\\s+$/, '');\n}\n\nfunction _String_words(str)\n{\n\treturn _List_fromArray(str.trim().split(/\\s+/g));\n}\n\nfunction _String_lines(str)\n{\n\treturn _List_fromArray(str.split(/\\r\\n|\\r|\\n/g));\n}\n\nfunction _String_toUpper(str)\n{\n\treturn str.toUpperCase();\n}\n\nfunction _String_toLower(str)\n{\n\treturn str.toLowerCase();\n}\n\nvar _String_any = F2(function(isGood, string)\n{\n\tvar i = string.length;\n\twhile (i--)\n\t{\n\t\tvar char = string[i];\n\t\tvar word = string.charCodeAt(i);\n\t\tif (0xDC00 <= word && word <= 0xDFFF)\n\t\t{\n\t\t\ti--;\n\t\t\tchar = string[i] + char;\n\t\t}\n\t\tif (isGood(_Utils_chr(char)))\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n});\n\nvar _String_all = F2(function(isGood, string)\n{\n\tvar i = string.length;\n\twhile (i--)\n\t{\n\t\tvar char = string[i];\n\t\tvar word = string.charCodeAt(i);\n\t\tif (0xDC00 <= word && word <= 0xDFFF)\n\t\t{\n\t\t\ti--;\n\t\t\tchar = string[i] + char;\n\t\t}\n\t\tif (!isGood(_Utils_chr(char)))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n});\n\nvar _String_contains = F2(function(sub, str)\n{\n\treturn str.indexOf(sub) > -1;\n});\n\nvar _String_startsWith = F2(function(sub, str)\n{\n\treturn str.indexOf(sub) === 0;\n});\n\nvar _String_endsWith = F2(function(sub, str)\n{\n\treturn str.length >= sub.length &&\n\t\tstr.lastIndexOf(sub) === str.length - sub.length;\n});\n\nvar _String_indexes = F2(function(sub, str)\n{\n\tvar subLen = sub.length;\n\n\tif (subLen < 1)\n\t{\n\t\treturn _List_Nil;\n\t}\n\n\tvar i = 0;\n\tvar is = [];\n\n\twhile ((i = str.indexOf(sub, i)) > -1)\n\t{\n\t\tis.push(i);\n\t\ti = i + subLen;\n\t}\n\n\treturn _List_fromArray(is);\n});\n\n\n// TO STRING\n\nfunction _String_fromNumber(number)\n{\n\treturn number + '';\n}\n\n\n// INT CONVERSIONS\n\nfunction _String_toInt(str)\n{\n\tvar total = 0;\n\tvar code0 = str.charCodeAt(0);\n\tvar start = code0 == 0x2B /* + */ || code0 == 0x2D /* - */ ? 1 : 0;\n\n\tfor (var i = start; i < str.length; ++i)\n\t{\n\t\tvar code = str.charCodeAt(i);\n\t\tif (code < 0x30 || 0x39 < code)\n\t\t{\n\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t}\n\t\ttotal = 10 * total + code - 0x30;\n\t}\n\n\treturn i == start\n\t\t? $elm$core$Maybe$Nothing\n\t\t: $elm$core$Maybe$Just(code0 == 0x2D ? -total : total);\n}\n\n\n// FLOAT CONVERSIONS\n\nfunction _String_toFloat(s)\n{\n\t// check if it is a hex, octal, or binary number\n\tif (s.length === 0 || /[\\sxbo]/.test(s))\n\t{\n\t\treturn $elm$core$Maybe$Nothing;\n\t}\n\tvar n = +s;\n\t// faster isNaN check\n\treturn n === n ? $elm$core$Maybe$Just(n) : $elm$core$Maybe$Nothing;\n}\n\nfunction _String_fromList(chars)\n{\n\treturn _List_toArray(chars).join('');\n}\n\n\n\n\nfunction _Char_toCode(char)\n{\n\tvar code = char.charCodeAt(0);\n\tif (0xD800 <= code && code <= 0xDBFF)\n\t{\n\t\treturn (code - 0xD800) * 0x400 + char.charCodeAt(1) - 0xDC00 + 0x10000\n\t}\n\treturn code;\n}\n\nfunction _Char_fromCode(code)\n{\n\treturn _Utils_chr(\n\t\t(code < 0 || 0x10FFFF < code)\n\t\t\t? '\\uFFFD'\n\t\t\t:\n\t\t(code <= 0xFFFF)\n\t\t\t? String.fromCharCode(code)\n\t\t\t:\n\t\t(code -= 0x10000,\n\t\t\tString.fromCharCode(Math.floor(code / 0x400) + 0xD800, code % 0x400 + 0xDC00)\n\t\t)\n\t);\n}\n\nfunction _Char_toUpper(char)\n{\n\treturn _Utils_chr(char.toUpperCase());\n}\n\nfunction _Char_toLower(char)\n{\n\treturn _Utils_chr(char.toLowerCase());\n}\n\nfunction _Char_toLocaleUpper(char)\n{\n\treturn _Utils_chr(char.toLocaleUpperCase());\n}\n\nfunction _Char_toLocaleLower(char)\n{\n\treturn _Utils_chr(char.toLocaleLowerCase());\n}\n\n\n\n/**/\nfunction _Json_errorToString(error)\n{\n\treturn $elm$json$Json$Decode$errorToString(error);\n}\n//*/\n\n\n// CORE DECODERS\n\nfunction _Json_succeed(msg)\n{\n\treturn {\n\t\t$: 0,\n\t\ta: msg\n\t};\n}\n\nfunction _Json_fail(msg)\n{\n\treturn {\n\t\t$: 1,\n\t\ta: msg\n\t};\n}\n\nfunction _Json_decodePrim(decoder)\n{\n\treturn { $: 2, b: decoder };\n}\n\nvar _Json_decodeInt = _Json_decodePrim(function(value) {\n\treturn (typeof value !== 'number')\n\t\t? _Json_expecting('an INT', value)\n\t\t:\n\t(-2147483647 < value && value < 2147483647 && (value | 0) === value)\n\t\t? $elm$core$Result$Ok(value)\n\t\t:\n\t(isFinite(value) && !(value % 1))\n\t\t? $elm$core$Result$Ok(value)\n\t\t: _Json_expecting('an INT', value);\n});\n\nvar _Json_decodeBool = _Json_decodePrim(function(value) {\n\treturn (typeof value === 'boolean')\n\t\t? $elm$core$Result$Ok(value)\n\t\t: _Json_expecting('a BOOL', value);\n});\n\nvar _Json_decodeFloat = _Json_decodePrim(function(value) {\n\treturn (typeof value === 'number')\n\t\t? $elm$core$Result$Ok(value)\n\t\t: _Json_expecting('a FLOAT', value);\n});\n\nvar _Json_decodeValue = _Json_decodePrim(function(value) {\n\treturn $elm$core$Result$Ok(_Json_wrap(value));\n});\n\nvar _Json_decodeString = _Json_decodePrim(function(value) {\n\treturn (typeof value === 'string')\n\t\t? $elm$core$Result$Ok(value)\n\t\t: (value instanceof String)\n\t\t\t? $elm$core$Result$Ok(value + '')\n\t\t\t: _Json_expecting('a STRING', value);\n});\n\nfunction _Json_decodeList(decoder) { return { $: 3, b: decoder }; }\nfunction _Json_decodeArray(decoder) { return { $: 4, b: decoder }; }\n\nfunction _Json_decodeNull(value) { return { $: 5, c: value }; }\n\nvar _Json_decodeField = F2(function(field, decoder)\n{\n\treturn {\n\t\t$: 6,\n\t\td: field,\n\t\tb: decoder\n\t};\n});\n\nvar _Json_decodeIndex = F2(function(index, decoder)\n{\n\treturn {\n\t\t$: 7,\n\t\te: index,\n\t\tb: decoder\n\t};\n});\n\nfunction _Json_decodeKeyValuePairs(decoder)\n{\n\treturn {\n\t\t$: 8,\n\t\tb: decoder\n\t};\n}\n\nfunction _Json_mapMany(f, decoders)\n{\n\treturn {\n\t\t$: 9,\n\t\tf: f,\n\t\tg: decoders\n\t};\n}\n\nvar _Json_andThen = F2(function(callback, decoder)\n{\n\treturn {\n\t\t$: 10,\n\t\tb: decoder,\n\t\th: callback\n\t};\n});\n\nfunction _Json_oneOf(decoders)\n{\n\treturn {\n\t\t$: 11,\n\t\tg: decoders\n\t};\n}\n\n\n// DECODING OBJECTS\n\nvar _Json_map1 = F2(function(f, d1)\n{\n\treturn _Json_mapMany(f, [d1]);\n});\n\nvar _Json_map2 = F3(function(f, d1, d2)\n{\n\treturn _Json_mapMany(f, [d1, d2]);\n});\n\nvar _Json_map3 = F4(function(f, d1, d2, d3)\n{\n\treturn _Json_mapMany(f, [d1, d2, d3]);\n});\n\nvar _Json_map4 = F5(function(f, d1, d2, d3, d4)\n{\n\treturn _Json_mapMany(f, [d1, d2, d3, d4]);\n});\n\nvar _Json_map5 = F6(function(f, d1, d2, d3, d4, d5)\n{\n\treturn _Json_mapMany(f, [d1, d2, d3, d4, d5]);\n});\n\nvar _Json_map6 = F7(function(f, d1, d2, d3, d4, d5, d6)\n{\n\treturn _Json_mapMany(f, [d1, d2, d3, d4, d5, d6]);\n});\n\nvar _Json_map7 = F8(function(f, d1, d2, d3, d4, d5, d6, d7)\n{\n\treturn _Json_mapMany(f, [d1, d2, d3, d4, d5, d6, d7]);\n});\n\nvar _Json_map8 = F9(function(f, d1, d2, d3, d4, d5, d6, d7, d8)\n{\n\treturn _Json_mapMany(f, [d1, d2, d3, d4, d5, d6, d7, d8]);\n});\n\n\n// DECODE\n\nvar _Json_runOnString = F2(function(decoder, string)\n{\n\ttry\n\t{\n\t\tvar value = JSON.parse(string);\n\t\treturn _Json_runHelp(decoder, value);\n\t}\n\tcatch (e)\n\t{\n\t\treturn $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, 'This is not valid JSON! ' + e.message, _Json_wrap(string)));\n\t}\n});\n\nvar _Json_run = F2(function(decoder, value)\n{\n\treturn _Json_runHelp(decoder, _Json_unwrap(value));\n});\n\nfunction _Json_runHelp(decoder, value)\n{\n\tswitch (decoder.$)\n\t{\n\t\tcase 2:\n\t\t\treturn decoder.b(value);\n\n\t\tcase 5:\n\t\t\treturn (value === null)\n\t\t\t\t? $elm$core$Result$Ok(decoder.c)\n\t\t\t\t: _Json_expecting('null', value);\n\n\t\tcase 3:\n\t\t\tif (!_Json_isArray(value))\n\t\t\t{\n\t\t\t\treturn _Json_expecting('a LIST', value);\n\t\t\t}\n\t\t\treturn _Json_runArrayDecoder(decoder.b, value, _List_fromArray);\n\n\t\tcase 4:\n\t\t\tif (!_Json_isArray(value))\n\t\t\t{\n\t\t\t\treturn _Json_expecting('an ARRAY', value);\n\t\t\t}\n\t\t\treturn _Json_runArrayDecoder(decoder.b, value, _Json_toElmArray);\n\n\t\tcase 6:\n\t\t\tvar field = decoder.d;\n\t\t\tif (typeof value !== 'object' || value === null || !(field in value))\n\t\t\t{\n\t\t\t\treturn _Json_expecting('an OBJECT with a field named `' + field + '`', value);\n\t\t\t}\n\t\t\tvar result = _Json_runHelp(decoder.b, value[field]);\n\t\t\treturn ($elm$core$Result$isOk(result)) ? result : $elm$core$Result$Err(A2($elm$json$Json$Decode$Field, field, result.a));\n\n\t\tcase 7:\n\t\t\tvar index = decoder.e;\n\t\t\tif (!_Json_isArray(value))\n\t\t\t{\n\t\t\t\treturn _Json_expecting('an ARRAY', value);\n\t\t\t}\n\t\t\tif (index >= value.length)\n\t\t\t{\n\t\t\t\treturn _Json_expecting('a LONGER array. Need index ' + index + ' but only see ' + value.length + ' entries', value);\n\t\t\t}\n\t\t\tvar result = _Json_runHelp(decoder.b, value[index]);\n\t\t\treturn ($elm$core$Result$isOk(result)) ? result : $elm$core$Result$Err(A2($elm$json$Json$Decode$Index, index, result.a));\n\n\t\tcase 8:\n\t\t\tif (typeof value !== 'object' || value === null || _Json_isArray(value))\n\t\t\t{\n\t\t\t\treturn _Json_expecting('an OBJECT', value);\n\t\t\t}\n\n\t\t\tvar keyValuePairs = _List_Nil;\n\t\t\t// TODO test perf of Object.keys and switch when support is good enough\n\t\t\tfor (var key in value)\n\t\t\t{\n\t\t\t\tif (value.hasOwnProperty(key))\n\t\t\t\t{\n\t\t\t\t\tvar result = _Json_runHelp(decoder.b, value[key]);\n\t\t\t\t\tif (!$elm$core$Result$isOk(result))\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $elm$core$Result$Err(A2($elm$json$Json$Decode$Field, key, result.a));\n\t\t\t\t\t}\n\t\t\t\t\tkeyValuePairs = _List_Cons(_Utils_Tuple2(key, result.a), keyValuePairs);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn $elm$core$Result$Ok($elm$core$List$reverse(keyValuePairs));\n\n\t\tcase 9:\n\t\t\tvar answer = decoder.f;\n\t\t\tvar decoders = decoder.g;\n\t\t\tfor (var i = 0; i < decoders.length; i++)\n\t\t\t{\n\t\t\t\tvar result = _Json_runHelp(decoders[i], value);\n\t\t\t\tif (!$elm$core$Result$isOk(result))\n\t\t\t\t{\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t\tanswer = answer(result.a);\n\t\t\t}\n\t\t\treturn $elm$core$Result$Ok(answer);\n\n\t\tcase 10:\n\t\t\tvar result = _Json_runHelp(decoder.b, value);\n\t\t\treturn (!$elm$core$Result$isOk(result))\n\t\t\t\t? result\n\t\t\t\t: _Json_runHelp(decoder.h(result.a), value);\n\n\t\tcase 11:\n\t\t\tvar errors = _List_Nil;\n\t\t\tfor (var temp = decoder.g; temp.b; temp = temp.b) // WHILE_CONS\n\t\t\t{\n\t\t\t\tvar result = _Json_runHelp(temp.a, value);\n\t\t\t\tif ($elm$core$Result$isOk(result))\n\t\t\t\t{\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t\terrors = _List_Cons(result.a, errors);\n\t\t\t}\n\t\t\treturn $elm$core$Result$Err($elm$json$Json$Decode$OneOf($elm$core$List$reverse(errors)));\n\n\t\tcase 1:\n\t\t\treturn $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, decoder.a, _Json_wrap(value)));\n\n\t\tcase 0:\n\t\t\treturn $elm$core$Result$Ok(decoder.a);\n\t}\n}\n\nfunction _Json_runArrayDecoder(decoder, value, toElmValue)\n{\n\tvar len = value.length;\n\tvar array = new Array(len);\n\tfor (var i = 0; i < len; i++)\n\t{\n\t\tvar result = _Json_runHelp(decoder, value[i]);\n\t\tif (!$elm$core$Result$isOk(result))\n\t\t{\n\t\t\treturn $elm$core$Result$Err(A2($elm$json$Json$Decode$Index, i, result.a));\n\t\t}\n\t\tarray[i] = result.a;\n\t}\n\treturn $elm$core$Result$Ok(toElmValue(array));\n}\n\nfunction _Json_isArray(value)\n{\n\treturn Array.isArray(value) || (typeof FileList !== 'undefined' && value instanceof FileList);\n}\n\nfunction _Json_toElmArray(array)\n{\n\treturn A2($elm$core$Array$initialize, array.length, function(i) { return array[i]; });\n}\n\nfunction _Json_expecting(type, value)\n{\n\treturn $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, 'Expecting ' + type, _Json_wrap(value)));\n}\n\n\n// EQUALITY\n\nfunction _Json_equality(x, y)\n{\n\tif (x === y)\n\t{\n\t\treturn true;\n\t}\n\n\tif (x.$ !== y.$)\n\t{\n\t\treturn false;\n\t}\n\n\tswitch (x.$)\n\t{\n\t\tcase 0:\n\t\tcase 1:\n\t\t\treturn x.a === y.a;\n\n\t\tcase 2:\n\t\t\treturn x.b === y.b;\n\n\t\tcase 5:\n\t\t\treturn x.c === y.c;\n\n\t\tcase 3:\n\t\tcase 4:\n\t\tcase 8:\n\t\t\treturn _Json_equality(x.b, y.b);\n\n\t\tcase 6:\n\t\t\treturn x.d === y.d && _Json_equality(x.b, y.b);\n\n\t\tcase 7:\n\t\t\treturn x.e === y.e && _Json_equality(x.b, y.b);\n\n\t\tcase 9:\n\t\t\treturn x.f === y.f && _Json_listEquality(x.g, y.g);\n\n\t\tcase 10:\n\t\t\treturn x.h === y.h && _Json_equality(x.b, y.b);\n\n\t\tcase 11:\n\t\t\treturn _Json_listEquality(x.g, y.g);\n\t}\n}\n\nfunction _Json_listEquality(aDecoders, bDecoders)\n{\n\tvar len = aDecoders.length;\n\tif (len !== bDecoders.length)\n\t{\n\t\treturn false;\n\t}\n\tfor (var i = 0; i < len; i++)\n\t{\n\t\tif (!_Json_equality(aDecoders[i], bDecoders[i]))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// ENCODE\n\nvar _Json_encode = F2(function(indentLevel, value)\n{\n\treturn JSON.stringify(_Json_unwrap(value), null, indentLevel) + '';\n});\n\nfunction _Json_wrap(value) { return { $: 0, a: value }; }\nfunction _Json_unwrap(value) { return value.a; }\n\nfunction _Json_wrap_UNUSED(value) { return value; }\nfunction _Json_unwrap_UNUSED(value) { return value; }\n\nfunction _Json_emptyArray() { return []; }\nfunction _Json_emptyObject() { return {}; }\n\nvar _Json_addField = F3(function(key, value, object)\n{\n\tobject[key] = _Json_unwrap(value);\n\treturn object;\n});\n\nfunction _Json_addEntry(func)\n{\n\treturn F2(function(entry, array)\n\t{\n\t\tarray.push(_Json_unwrap(func(entry)));\n\t\treturn array;\n\t});\n}\n\nvar _Json_encodeNull = _Json_wrap(null);\n\n\n\n// TASKS\n\nfunction _Scheduler_succeed(value)\n{\n\treturn {\n\t\t$: 0,\n\t\ta: value\n\t};\n}\n\nfunction _Scheduler_fail(error)\n{\n\treturn {\n\t\t$: 1,\n\t\ta: error\n\t};\n}\n\nfunction _Scheduler_binding(callback)\n{\n\treturn {\n\t\t$: 2,\n\t\tb: callback,\n\t\tc: null\n\t};\n}\n\nvar _Scheduler_andThen = F2(function(callback, task)\n{\n\treturn {\n\t\t$: 3,\n\t\tb: callback,\n\t\td: task\n\t};\n});\n\nvar _Scheduler_onError = F2(function(callback, task)\n{\n\treturn {\n\t\t$: 4,\n\t\tb: callback,\n\t\td: task\n\t};\n});\n\nfunction _Scheduler_receive(callback)\n{\n\treturn {\n\t\t$: 5,\n\t\tb: callback\n\t};\n}\n\n\n// PROCESSES\n\nvar _Scheduler_guid = 0;\n\nfunction _Scheduler_rawSpawn(task)\n{\n\tvar proc = {\n\t\t$: 0,\n\t\te: _Scheduler_guid++,\n\t\tf: task,\n\t\tg: null,\n\t\th: []\n\t};\n\n\t_Scheduler_enqueue(proc);\n\n\treturn proc;\n}\n\nfunction _Scheduler_spawn(task)\n{\n\treturn _Scheduler_binding(function(callback) {\n\t\tcallback(_Scheduler_succeed(_Scheduler_rawSpawn(task)));\n\t});\n}\n\nfunction _Scheduler_rawSend(proc, msg)\n{\n\tproc.h.push(msg);\n\t_Scheduler_enqueue(proc);\n}\n\nvar _Scheduler_send = F2(function(proc, msg)\n{\n\treturn _Scheduler_binding(function(callback) {\n\t\t_Scheduler_rawSend(proc, msg);\n\t\tcallback(_Scheduler_succeed(_Utils_Tuple0));\n\t});\n});\n\nfunction _Scheduler_kill(proc)\n{\n\treturn _Scheduler_binding(function(callback) {\n\t\tvar task = proc.f;\n\t\tif (task.$ === 2 && task.c)\n\t\t{\n\t\t\ttask.c();\n\t\t}\n\n\t\tproc.f = null;\n\n\t\tcallback(_Scheduler_succeed(_Utils_Tuple0));\n\t});\n}\n\n\n/* STEP PROCESSES\n\ntype alias Process =\n { $ : tag\n , id : unique_id\n , root : Task\n , stack : null | { $: SUCCEED | FAIL, a: callback, b: stack }\n , mailbox : [msg]\n }\n\n*/\n\n\nvar _Scheduler_working = false;\nvar _Scheduler_queue = [];\n\n\nfunction _Scheduler_enqueue(proc)\n{\n\t_Scheduler_queue.push(proc);\n\tif (_Scheduler_working)\n\t{\n\t\treturn;\n\t}\n\t_Scheduler_working = true;\n\twhile (proc = _Scheduler_queue.shift())\n\t{\n\t\t_Scheduler_step(proc);\n\t}\n\t_Scheduler_working = false;\n}\n\n\nfunction _Scheduler_step(proc)\n{\n\twhile (proc.f)\n\t{\n\t\tvar rootTag = proc.f.$;\n\t\tif (rootTag === 0 || rootTag === 1)\n\t\t{\n\t\t\twhile (proc.g && proc.g.$ !== rootTag)\n\t\t\t{\n\t\t\t\tproc.g = proc.g.i;\n\t\t\t}\n\t\t\tif (!proc.g)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tproc.f = proc.g.b(proc.f.a);\n\t\t\tproc.g = proc.g.i;\n\t\t}\n\t\telse if (rootTag === 2)\n\t\t{\n\t\t\tproc.f.c = proc.f.b(function(newRoot) {\n\t\t\t\tproc.f = newRoot;\n\t\t\t\t_Scheduler_enqueue(proc);\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\telse if (rootTag === 5)\n\t\t{\n\t\t\tif (proc.h.length === 0)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tproc.f = proc.f.b(proc.h.shift());\n\t\t}\n\t\telse // if (rootTag === 3 || rootTag === 4)\n\t\t{\n\t\t\tproc.g = {\n\t\t\t\t$: rootTag === 3 ? 0 : 1,\n\t\t\t\tb: proc.f.b,\n\t\t\t\ti: proc.g\n\t\t\t};\n\t\t\tproc.f = proc.f.d;\n\t\t}\n\t}\n}\n\n\n\nfunction _Process_sleep(time)\n{\n\treturn _Scheduler_binding(function(callback) {\n\t\tvar id = setTimeout(function() {\n\t\t\tcallback(_Scheduler_succeed(_Utils_Tuple0));\n\t\t}, time);\n\n\t\treturn function() { clearTimeout(id); };\n\t});\n}\n\n\n\n\n// PROGRAMS\n\n\nvar _Platform_worker = F4(function(impl, flagDecoder, debugMetadata, args)\n{\n\treturn _Platform_initialize(\n\t\tflagDecoder,\n\t\targs,\n\t\timpl.init,\n\t\timpl.update,\n\t\timpl.subscriptions,\n\t\tfunction() { return function() {} }\n\t);\n});\n\n\n\n// INITIALIZE A PROGRAM\n\n\nfunction _Platform_initialize(flagDecoder, args, init, update, subscriptions, stepperBuilder)\n{\n\tvar result = A2(_Json_run, flagDecoder, _Json_wrap(args ? args['flags'] : undefined));\n\t$elm$core$Result$isOk(result) || _Debug_crash(2 /**/, _Json_errorToString(result.a) /**/);\n\tvar managers = {};\n\tvar initPair = init(result.a);\n\tvar model = initPair.a;\n\tvar stepper = stepperBuilder(sendToApp, model);\n\tvar ports = _Platform_setupEffects(managers, sendToApp);\n\n\tfunction sendToApp(msg, viewMetadata)\n\t{\n\t\tvar pair = A2(update, msg, model);\n\t\tstepper(model = pair.a, viewMetadata);\n\t\t_Platform_enqueueEffects(managers, pair.b, subscriptions(model));\n\t}\n\n\t_Platform_enqueueEffects(managers, initPair.b, subscriptions(model));\n\n\treturn ports ? { ports: ports } : {};\n}\n\n\n\n// TRACK PRELOADS\n//\n// This is used by code in elm/browser and elm/http\n// to register any HTTP requests that are triggered by init.\n//\n\n\nvar _Platform_preload;\n\n\nfunction _Platform_registerPreload(url)\n{\n\t_Platform_preload.add(url);\n}\n\n\n\n// EFFECT MANAGERS\n\n\nvar _Platform_effectManagers = {};\n\n\nfunction _Platform_setupEffects(managers, sendToApp)\n{\n\tvar ports;\n\n\t// setup all necessary effect managers\n\tfor (var key in _Platform_effectManagers)\n\t{\n\t\tvar manager = _Platform_effectManagers[key];\n\n\t\tif (manager.a)\n\t\t{\n\t\t\tports = ports || {};\n\t\t\tports[key] = manager.a(key, sendToApp);\n\t\t}\n\n\t\tmanagers[key] = _Platform_instantiateManager(manager, sendToApp);\n\t}\n\n\treturn ports;\n}\n\n\nfunction _Platform_createManager(init, onEffects, onSelfMsg, cmdMap, subMap)\n{\n\treturn {\n\t\tb: init,\n\t\tc: onEffects,\n\t\td: onSelfMsg,\n\t\te: cmdMap,\n\t\tf: subMap\n\t};\n}\n\n\nfunction _Platform_instantiateManager(info, sendToApp)\n{\n\tvar router = {\n\t\tg: sendToApp,\n\t\th: undefined\n\t};\n\n\tvar onEffects = info.c;\n\tvar onSelfMsg = info.d;\n\tvar cmdMap = info.e;\n\tvar subMap = info.f;\n\n\tfunction loop(state)\n\t{\n\t\treturn A2(_Scheduler_andThen, loop, _Scheduler_receive(function(msg)\n\t\t{\n\t\t\tvar value = msg.a;\n\n\t\t\tif (msg.$ === 0)\n\t\t\t{\n\t\t\t\treturn A3(onSelfMsg, router, value, state);\n\t\t\t}\n\n\t\t\treturn cmdMap && subMap\n\t\t\t\t? A4(onEffects, router, value.i, value.j, state)\n\t\t\t\t: A3(onEffects, router, cmdMap ? value.i : value.j, state);\n\t\t}));\n\t}\n\n\treturn router.h = _Scheduler_rawSpawn(A2(_Scheduler_andThen, loop, info.b));\n}\n\n\n\n// ROUTING\n\n\nvar _Platform_sendToApp = F2(function(router, msg)\n{\n\treturn _Scheduler_binding(function(callback)\n\t{\n\t\trouter.g(msg);\n\t\tcallback(_Scheduler_succeed(_Utils_Tuple0));\n\t});\n});\n\n\nvar _Platform_sendToSelf = F2(function(router, msg)\n{\n\treturn A2(_Scheduler_send, router.h, {\n\t\t$: 0,\n\t\ta: msg\n\t});\n});\n\n\n\n// BAGS\n\n\nfunction _Platform_leaf(home)\n{\n\treturn function(value)\n\t{\n\t\treturn {\n\t\t\t$: 1,\n\t\t\tk: home,\n\t\t\tl: value\n\t\t};\n\t};\n}\n\n\nfunction _Platform_batch(list)\n{\n\treturn {\n\t\t$: 2,\n\t\tm: list\n\t};\n}\n\n\nvar _Platform_map = F2(function(tagger, bag)\n{\n\treturn {\n\t\t$: 3,\n\t\tn: tagger,\n\t\to: bag\n\t}\n});\n\n\n\n// PIPE BAGS INTO EFFECT MANAGERS\n//\n// Effects must be queued!\n//\n// Say your init contains a synchronous command, like Time.now or Time.here\n//\n// - This will produce a batch of effects (FX_1)\n// - The synchronous task triggers the subsequent `update` call\n// - This will produce a batch of effects (FX_2)\n//\n// If we just start dispatching FX_2, subscriptions from FX_2 can be processed\n// before subscriptions from FX_1. No good! Earlier versions of this code had\n// this problem, leading to these reports:\n//\n// https://github.com/elm/core/issues/980\n// https://github.com/elm/core/pull/981\n// https://github.com/elm/compiler/issues/1776\n//\n// The queue is necessary to avoid ordering issues for synchronous commands.\n\n\n// Why use true/false here? Why not just check the length of the queue?\n// The goal is to detect \"are we currently dispatching effects?\" If we\n// are, we need to bail and let the ongoing while loop handle things.\n//\n// Now say the queue has 1 element. When we dequeue the final element,\n// the queue will be empty, but we are still actively dispatching effects.\n// So you could get queue jumping in a really tricky category of cases.\n//\nvar _Platform_effectsQueue = [];\nvar _Platform_effectsActive = false;\n\n\nfunction _Platform_enqueueEffects(managers, cmdBag, subBag)\n{\n\t_Platform_effectsQueue.push({ p: managers, q: cmdBag, r: subBag });\n\n\tif (_Platform_effectsActive) return;\n\n\t_Platform_effectsActive = true;\n\tfor (var fx; fx = _Platform_effectsQueue.shift(); )\n\t{\n\t\t_Platform_dispatchEffects(fx.p, fx.q, fx.r);\n\t}\n\t_Platform_effectsActive = false;\n}\n\n\nfunction _Platform_dispatchEffects(managers, cmdBag, subBag)\n{\n\tvar effectsDict = {};\n\t_Platform_gatherEffects(true, cmdBag, effectsDict, null);\n\t_Platform_gatherEffects(false, subBag, effectsDict, null);\n\n\tfor (var home in managers)\n\t{\n\t\t_Scheduler_rawSend(managers[home], {\n\t\t\t$: 'fx',\n\t\t\ta: effectsDict[home] || { i: _List_Nil, j: _List_Nil }\n\t\t});\n\t}\n}\n\n\nfunction _Platform_gatherEffects(isCmd, bag, effectsDict, taggers)\n{\n\tswitch (bag.$)\n\t{\n\t\tcase 1:\n\t\t\tvar home = bag.k;\n\t\t\tvar effect = _Platform_toEffect(isCmd, home, taggers, bag.l);\n\t\t\teffectsDict[home] = _Platform_insert(isCmd, effect, effectsDict[home]);\n\t\t\treturn;\n\n\t\tcase 2:\n\t\t\tfor (var list = bag.m; list.b; list = list.b) // WHILE_CONS\n\t\t\t{\n\t\t\t\t_Platform_gatherEffects(isCmd, list.a, effectsDict, taggers);\n\t\t\t}\n\t\t\treturn;\n\n\t\tcase 3:\n\t\t\t_Platform_gatherEffects(isCmd, bag.o, effectsDict, {\n\t\t\t\ts: bag.n,\n\t\t\t\tt: taggers\n\t\t\t});\n\t\t\treturn;\n\t}\n}\n\n\nfunction _Platform_toEffect(isCmd, home, taggers, value)\n{\n\tfunction applyTaggers(x)\n\t{\n\t\tfor (var temp = taggers; temp; temp = temp.t)\n\t\t{\n\t\t\tx = temp.s(x);\n\t\t}\n\t\treturn x;\n\t}\n\n\tvar map = isCmd\n\t\t? _Platform_effectManagers[home].e\n\t\t: _Platform_effectManagers[home].f;\n\n\treturn A2(map, applyTaggers, value)\n}\n\n\nfunction _Platform_insert(isCmd, newEffect, effects)\n{\n\teffects = effects || { i: _List_Nil, j: _List_Nil };\n\n\tisCmd\n\t\t? (effects.i = _List_Cons(newEffect, effects.i))\n\t\t: (effects.j = _List_Cons(newEffect, effects.j));\n\n\treturn effects;\n}\n\n\n\n// PORTS\n\n\nfunction _Platform_checkPortName(name)\n{\n\tif (_Platform_effectManagers[name])\n\t{\n\t\t_Debug_crash(3, name)\n\t}\n}\n\n\n\n// OUTGOING PORTS\n\n\nfunction _Platform_outgoingPort(name, converter)\n{\n\t_Platform_checkPortName(name);\n\t_Platform_effectManagers[name] = {\n\t\te: _Platform_outgoingPortMap,\n\t\tu: converter,\n\t\ta: _Platform_setupOutgoingPort\n\t};\n\treturn _Platform_leaf(name);\n}\n\n\nvar _Platform_outgoingPortMap = F2(function(tagger, value) { return value; });\n\n\nfunction _Platform_setupOutgoingPort(name)\n{\n\tvar subs = [];\n\tvar converter = _Platform_effectManagers[name].u;\n\n\t// CREATE MANAGER\n\n\tvar init = _Process_sleep(0);\n\n\t_Platform_effectManagers[name].b = init;\n\t_Platform_effectManagers[name].c = F3(function(router, cmdList, state)\n\t{\n\t\tfor ( ; cmdList.b; cmdList = cmdList.b) // WHILE_CONS\n\t\t{\n\t\t\t// grab a separate reference to subs in case unsubscribe is called\n\t\t\tvar currentSubs = subs;\n\t\t\tvar value = _Json_unwrap(converter(cmdList.a));\n\t\t\tfor (var i = 0; i < currentSubs.length; i++)\n\t\t\t{\n\t\t\t\tcurrentSubs[i](value);\n\t\t\t}\n\t\t}\n\t\treturn init;\n\t});\n\n\t// PUBLIC API\n\n\tfunction subscribe(callback)\n\t{\n\t\tsubs.push(callback);\n\t}\n\n\tfunction unsubscribe(callback)\n\t{\n\t\t// copy subs into a new array in case unsubscribe is called within a\n\t\t// subscribed callback\n\t\tsubs = subs.slice();\n\t\tvar index = subs.indexOf(callback);\n\t\tif (index >= 0)\n\t\t{\n\t\t\tsubs.splice(index, 1);\n\t\t}\n\t}\n\n\treturn {\n\t\tsubscribe: subscribe,\n\t\tunsubscribe: unsubscribe\n\t};\n}\n\n\n\n// INCOMING PORTS\n\n\nfunction _Platform_incomingPort(name, converter)\n{\n\t_Platform_checkPortName(name);\n\t_Platform_effectManagers[name] = {\n\t\tf: _Platform_incomingPortMap,\n\t\tu: converter,\n\t\ta: _Platform_setupIncomingPort\n\t};\n\treturn _Platform_leaf(name);\n}\n\n\nvar _Platform_incomingPortMap = F2(function(tagger, finalTagger)\n{\n\treturn function(value)\n\t{\n\t\treturn tagger(finalTagger(value));\n\t};\n});\n\n\nfunction _Platform_setupIncomingPort(name, sendToApp)\n{\n\tvar subs = _List_Nil;\n\tvar converter = _Platform_effectManagers[name].u;\n\n\t// CREATE MANAGER\n\n\tvar init = _Scheduler_succeed(null);\n\n\t_Platform_effectManagers[name].b = init;\n\t_Platform_effectManagers[name].c = F3(function(router, subList, state)\n\t{\n\t\tsubs = subList;\n\t\treturn init;\n\t});\n\n\t// PUBLIC API\n\n\tfunction send(incomingValue)\n\t{\n\t\tvar result = A2(_Json_run, converter, _Json_wrap(incomingValue));\n\n\t\t$elm$core$Result$isOk(result) || _Debug_crash(4, name, result.a);\n\n\t\tvar value = result.a;\n\t\tfor (var temp = subs; temp.b; temp = temp.b) // WHILE_CONS\n\t\t{\n\t\t\tsendToApp(temp.a(value));\n\t\t}\n\t}\n\n\treturn { send: send };\n}\n\n\n\n// EXPORT ELM MODULES\n//\n// Have DEBUG and PROD versions so that we can (1) give nicer errors in\n// debug mode and (2) not pay for the bits needed for that in prod mode.\n//\n\n\nfunction _Platform_export_UNUSED(exports)\n{\n\tscope['Elm']\n\t\t? _Platform_mergeExportsProd(scope['Elm'], exports)\n\t\t: scope['Elm'] = exports;\n}\n\n\nfunction _Platform_mergeExportsProd(obj, exports)\n{\n\tfor (var name in exports)\n\t{\n\t\t(name in obj)\n\t\t\t? (name == 'init')\n\t\t\t\t? _Debug_crash(6)\n\t\t\t\t: _Platform_mergeExportsProd(obj[name], exports[name])\n\t\t\t: (obj[name] = exports[name]);\n\t}\n}\n\n\nfunction _Platform_export(exports)\n{\n\tscope['Elm']\n\t\t? _Platform_mergeExportsDebug('Elm', scope['Elm'], exports)\n\t\t: scope['Elm'] = exports;\n}\n\n\nfunction _Platform_mergeExportsDebug(moduleName, obj, exports)\n{\n\tfor (var name in exports)\n\t{\n\t\t(name in obj)\n\t\t\t? (name == 'init')\n\t\t\t\t? _Debug_crash(6, moduleName)\n\t\t\t\t: _Platform_mergeExportsDebug(moduleName + '.' + name, obj[name], exports[name])\n\t\t\t: (obj[name] = exports[name]);\n\t}\n}\n\n\n\n\n// HELPERS\n\n\nvar _VirtualDom_divertHrefToApp;\n\nvar _VirtualDom_doc = typeof document !== 'undefined' ? document : {};\n\n\nfunction _VirtualDom_appendChild(parent, child)\n{\n\tparent.appendChild(child);\n}\n\nvar _VirtualDom_init = F4(function(virtualNode, flagDecoder, debugMetadata, args)\n{\n\t// NOTE: this function needs _Platform_export available to work\n\n\t/**_UNUSED/\n\tvar node = args['node'];\n\t//*/\n\t/**/\n\tvar node = args && args['node'] ? args['node'] : _Debug_crash(0);\n\t//*/\n\n\tnode.parentNode.replaceChild(\n\t\t_VirtualDom_render(virtualNode, function() {}),\n\t\tnode\n\t);\n\n\treturn {};\n});\n\n\n\n// TEXT\n\n\nfunction _VirtualDom_text(string)\n{\n\treturn {\n\t\t$: 0,\n\t\ta: string\n\t};\n}\n\n\n\n// NODE\n\n\nvar _VirtualDom_nodeNS = F2(function(namespace, tag)\n{\n\treturn F2(function(factList, kidList)\n\t{\n\t\tfor (var kids = [], descendantsCount = 0; kidList.b; kidList = kidList.b) // WHILE_CONS\n\t\t{\n\t\t\tvar kid = kidList.a;\n\t\t\tdescendantsCount += (kid.b || 0);\n\t\t\tkids.push(kid);\n\t\t}\n\t\tdescendantsCount += kids.length;\n\n\t\treturn {\n\t\t\t$: 1,\n\t\t\tc: tag,\n\t\t\td: _VirtualDom_organizeFacts(factList),\n\t\t\te: kids,\n\t\t\tf: namespace,\n\t\t\tb: descendantsCount\n\t\t};\n\t});\n});\n\n\nvar _VirtualDom_node = _VirtualDom_nodeNS(undefined);\n\n\n\n// KEYED NODE\n\n\nvar _VirtualDom_keyedNodeNS = F2(function(namespace, tag)\n{\n\treturn F2(function(factList, kidList)\n\t{\n\t\tfor (var kids = [], descendantsCount = 0; kidList.b; kidList = kidList.b) // WHILE_CONS\n\t\t{\n\t\t\tvar kid = kidList.a;\n\t\t\tdescendantsCount += (kid.b.b || 0);\n\t\t\tkids.push(kid);\n\t\t}\n\t\tdescendantsCount += kids.length;\n\n\t\treturn {\n\t\t\t$: 2,\n\t\t\tc: tag,\n\t\t\td: _VirtualDom_organizeFacts(factList),\n\t\t\te: kids,\n\t\t\tf: namespace,\n\t\t\tb: descendantsCount\n\t\t};\n\t});\n});\n\n\nvar _VirtualDom_keyedNode = _VirtualDom_keyedNodeNS(undefined);\n\n\n\n// CUSTOM\n\n\nfunction _VirtualDom_custom(factList, model, render, diff)\n{\n\treturn {\n\t\t$: 3,\n\t\td: _VirtualDom_organizeFacts(factList),\n\t\tg: model,\n\t\th: render,\n\t\ti: diff\n\t};\n}\n\n\n\n// MAP\n\n\nvar _VirtualDom_map = F2(function(tagger, node)\n{\n\treturn {\n\t\t$: 4,\n\t\tj: tagger,\n\t\tk: node,\n\t\tb: 1 + (node.b || 0)\n\t};\n});\n\n\n\n// LAZY\n\n\nfunction _VirtualDom_thunk(refs, thunk)\n{\n\treturn {\n\t\t$: 5,\n\t\tl: refs,\n\t\tm: thunk,\n\t\tk: undefined\n\t};\n}\n\nvar _VirtualDom_lazy = F2(function(func, a)\n{\n\treturn _VirtualDom_thunk([func, a], function() {\n\t\treturn func(a);\n\t});\n});\n\nvar _VirtualDom_lazy2 = F3(function(func, a, b)\n{\n\treturn _VirtualDom_thunk([func, a, b], function() {\n\t\treturn A2(func, a, b);\n\t});\n});\n\nvar _VirtualDom_lazy3 = F4(function(func, a, b, c)\n{\n\treturn _VirtualDom_thunk([func, a, b, c], function() {\n\t\treturn A3(func, a, b, c);\n\t});\n});\n\nvar _VirtualDom_lazy4 = F5(function(func, a, b, c, d)\n{\n\treturn _VirtualDom_thunk([func, a, b, c, d], function() {\n\t\treturn A4(func, a, b, c, d);\n\t});\n});\n\nvar _VirtualDom_lazy5 = F6(function(func, a, b, c, d, e)\n{\n\treturn _VirtualDom_thunk([func, a, b, c, d, e], function() {\n\t\treturn A5(func, a, b, c, d, e);\n\t});\n});\n\nvar _VirtualDom_lazy6 = F7(function(func, a, b, c, d, e, f)\n{\n\treturn _VirtualDom_thunk([func, a, b, c, d, e, f], function() {\n\t\treturn A6(func, a, b, c, d, e, f);\n\t});\n});\n\nvar _VirtualDom_lazy7 = F8(function(func, a, b, c, d, e, f, g)\n{\n\treturn _VirtualDom_thunk([func, a, b, c, d, e, f, g], function() {\n\t\treturn A7(func, a, b, c, d, e, f, g);\n\t});\n});\n\nvar _VirtualDom_lazy8 = F9(function(func, a, b, c, d, e, f, g, h)\n{\n\treturn _VirtualDom_thunk([func, a, b, c, d, e, f, g, h], function() {\n\t\treturn A8(func, a, b, c, d, e, f, g, h);\n\t});\n});\n\n\n\n// FACTS\n\n\nvar _VirtualDom_on = F2(function(key, handler)\n{\n\treturn {\n\t\t$: 'a0',\n\t\tn: key,\n\t\to: handler\n\t};\n});\nvar _VirtualDom_style = F2(function(key, value)\n{\n\treturn {\n\t\t$: 'a1',\n\t\tn: key,\n\t\to: value\n\t};\n});\nvar _VirtualDom_property = F2(function(key, value)\n{\n\treturn {\n\t\t$: 'a2',\n\t\tn: key,\n\t\to: value\n\t};\n});\nvar _VirtualDom_attribute = F2(function(key, value)\n{\n\treturn {\n\t\t$: 'a3',\n\t\tn: key,\n\t\to: value\n\t};\n});\nvar _VirtualDom_attributeNS = F3(function(namespace, key, value)\n{\n\treturn {\n\t\t$: 'a4',\n\t\tn: key,\n\t\to: { f: namespace, o: value }\n\t};\n});\n\n\n\n// XSS ATTACK VECTOR CHECKS\n\n\nfunction _VirtualDom_noScript(tag)\n{\n\treturn tag == 'script' ? 'p' : tag;\n}\n\nfunction _VirtualDom_noOnOrFormAction(key)\n{\n\treturn /^(on|formAction$)/i.test(key) ? 'data-' + key : key;\n}\n\nfunction _VirtualDom_noInnerHtmlOrFormAction(key)\n{\n\treturn key == 'innerHTML' || key == 'formAction' ? 'data-' + key : key;\n}\n\nfunction _VirtualDom_noJavaScriptUri_UNUSED(value)\n{\n\treturn /^javascript:/i.test(value.replace(/\\s/g,'')) ? '' : value;\n}\n\nfunction _VirtualDom_noJavaScriptUri(value)\n{\n\treturn /^javascript:/i.test(value.replace(/\\s/g,''))\n\t\t? 'javascript:alert(\"This is an XSS vector. Please use ports or web components instead.\")'\n\t\t: value;\n}\n\nfunction _VirtualDom_noJavaScriptOrHtmlUri_UNUSED(value)\n{\n\treturn /^\\s*(javascript:|data:text\\/html)/i.test(value) ? '' : value;\n}\n\nfunction _VirtualDom_noJavaScriptOrHtmlUri(value)\n{\n\treturn /^\\s*(javascript:|data:text\\/html)/i.test(value)\n\t\t? 'javascript:alert(\"This is an XSS vector. Please use ports or web components instead.\")'\n\t\t: value;\n}\n\n\n\n// MAP FACTS\n\n\nvar _VirtualDom_mapAttribute = F2(function(func, attr)\n{\n\treturn (attr.$ === 'a0')\n\t\t? A2(_VirtualDom_on, attr.n, _VirtualDom_mapHandler(func, attr.o))\n\t\t: attr;\n});\n\nfunction _VirtualDom_mapHandler(func, handler)\n{\n\tvar tag = $elm$virtual_dom$VirtualDom$toHandlerInt(handler);\n\n\t// 0 = Normal\n\t// 1 = MayStopPropagation\n\t// 2 = MayPreventDefault\n\t// 3 = Custom\n\n\treturn {\n\t\t$: handler.$,\n\t\ta:\n\t\t\t!tag\n\t\t\t\t? A2($elm$json$Json$Decode$map, func, handler.a)\n\t\t\t\t:\n\t\t\tA3($elm$json$Json$Decode$map2,\n\t\t\t\ttag < 3\n\t\t\t\t\t? _VirtualDom_mapEventTuple\n\t\t\t\t\t: _VirtualDom_mapEventRecord,\n\t\t\t\t$elm$json$Json$Decode$succeed(func),\n\t\t\t\thandler.a\n\t\t\t)\n\t};\n}\n\nvar _VirtualDom_mapEventTuple = F2(function(func, tuple)\n{\n\treturn _Utils_Tuple2(func(tuple.a), tuple.b);\n});\n\nvar _VirtualDom_mapEventRecord = F2(function(func, record)\n{\n\treturn {\n\t\tmessage: func(record.message),\n\t\tstopPropagation: record.stopPropagation,\n\t\tpreventDefault: record.preventDefault\n\t}\n});\n\n\n\n// ORGANIZE FACTS\n\n\nfunction _VirtualDom_organizeFacts(factList)\n{\n\tfor (var facts = {}; factList.b; factList = factList.b) // WHILE_CONS\n\t{\n\t\tvar entry = factList.a;\n\n\t\tvar tag = entry.$;\n\t\tvar key = entry.n;\n\t\tvar value = entry.o;\n\n\t\tif (tag === 'a2')\n\t\t{\n\t\t\t(key === 'className')\n\t\t\t\t? _VirtualDom_addClass(facts, key, _Json_unwrap(value))\n\t\t\t\t: facts[key] = _Json_unwrap(value);\n\n\t\t\tcontinue;\n\t\t}\n\n\t\tvar subFacts = facts[tag] || (facts[tag] = {});\n\t\t(tag === 'a3' && key === 'class')\n\t\t\t? _VirtualDom_addClass(subFacts, key, value)\n\t\t\t: subFacts[key] = value;\n\t}\n\n\treturn facts;\n}\n\nfunction _VirtualDom_addClass(object, key, newClass)\n{\n\tvar classes = object[key];\n\tobject[key] = classes ? classes + ' ' + newClass : newClass;\n}\n\n\n\n// RENDER\n\n\nfunction _VirtualDom_render(vNode, eventNode)\n{\n\tvar tag = vNode.$;\n\n\tif (tag === 5)\n\t{\n\t\treturn _VirtualDom_render(vNode.k || (vNode.k = vNode.m()), eventNode);\n\t}\n\n\tif (tag === 0)\n\t{\n\t\treturn _VirtualDom_doc.createTextNode(vNode.a);\n\t}\n\n\tif (tag === 4)\n\t{\n\t\tvar subNode = vNode.k;\n\t\tvar tagger = vNode.j;\n\n\t\twhile (subNode.$ === 4)\n\t\t{\n\t\t\ttypeof tagger !== 'object'\n\t\t\t\t? tagger = [tagger, subNode.j]\n\t\t\t\t: tagger.push(subNode.j);\n\n\t\t\tsubNode = subNode.k;\n\t\t}\n\n\t\tvar subEventRoot = { j: tagger, p: eventNode };\n\t\tvar domNode = _VirtualDom_render(subNode, subEventRoot);\n\t\tdomNode.elm_event_node_ref = subEventRoot;\n\t\treturn domNode;\n\t}\n\n\tif (tag === 3)\n\t{\n\t\tvar domNode = vNode.h(vNode.g);\n\t\t_VirtualDom_applyFacts(domNode, eventNode, vNode.d);\n\t\treturn domNode;\n\t}\n\n\t// at this point `tag` must be 1 or 2\n\n\tvar domNode = vNode.f\n\t\t? _VirtualDom_doc.createElementNS(vNode.f, vNode.c)\n\t\t: _VirtualDom_doc.createElement(vNode.c);\n\n\tif (_VirtualDom_divertHrefToApp && vNode.c == 'a')\n\t{\n\t\tdomNode.addEventListener('click', _VirtualDom_divertHrefToApp(domNode));\n\t}\n\n\t_VirtualDom_applyFacts(domNode, eventNode, vNode.d);\n\n\tfor (var kids = vNode.e, i = 0; i < kids.length; i++)\n\t{\n\t\t_VirtualDom_appendChild(domNode, _VirtualDom_render(tag === 1 ? kids[i] : kids[i].b, eventNode));\n\t}\n\n\treturn domNode;\n}\n\n\n\n// APPLY FACTS\n\n\nfunction _VirtualDom_applyFacts(domNode, eventNode, facts)\n{\n\tfor (var key in facts)\n\t{\n\t\tvar value = facts[key];\n\n\t\tkey === 'a1'\n\t\t\t? _VirtualDom_applyStyles(domNode, value)\n\t\t\t:\n\t\tkey === 'a0'\n\t\t\t? _VirtualDom_applyEvents(domNode, eventNode, value)\n\t\t\t:\n\t\tkey === 'a3'\n\t\t\t? _VirtualDom_applyAttrs(domNode, value)\n\t\t\t:\n\t\tkey === 'a4'\n\t\t\t? _VirtualDom_applyAttrsNS(domNode, value)\n\t\t\t:\n\t\t((key !== 'value' && key !== 'checked') || domNode[key] !== value) && (domNode[key] = value);\n\t}\n}\n\n\n\n// APPLY STYLES\n\n\nfunction _VirtualDom_applyStyles(domNode, styles)\n{\n\tvar domNodeStyle = domNode.style;\n\n\tfor (var key in styles)\n\t{\n\t\tdomNodeStyle[key] = styles[key];\n\t}\n}\n\n\n\n// APPLY ATTRS\n\n\nfunction _VirtualDom_applyAttrs(domNode, attrs)\n{\n\tfor (var key in attrs)\n\t{\n\t\tvar value = attrs[key];\n\t\ttypeof value !== 'undefined'\n\t\t\t? domNode.setAttribute(key, value)\n\t\t\t: domNode.removeAttribute(key);\n\t}\n}\n\n\n\n// APPLY NAMESPACED ATTRS\n\n\nfunction _VirtualDom_applyAttrsNS(domNode, nsAttrs)\n{\n\tfor (var key in nsAttrs)\n\t{\n\t\tvar pair = nsAttrs[key];\n\t\tvar namespace = pair.f;\n\t\tvar value = pair.o;\n\n\t\ttypeof value !== 'undefined'\n\t\t\t? domNode.setAttributeNS(namespace, key, value)\n\t\t\t: domNode.removeAttributeNS(namespace, key);\n\t}\n}\n\n\n\n// APPLY EVENTS\n\n\nfunction _VirtualDom_applyEvents(domNode, eventNode, events)\n{\n\tvar allCallbacks = domNode.elmFs || (domNode.elmFs = {});\n\n\tfor (var key in events)\n\t{\n\t\tvar newHandler = events[key];\n\t\tvar oldCallback = allCallbacks[key];\n\n\t\tif (!newHandler)\n\t\t{\n\t\t\tdomNode.removeEventListener(key, oldCallback);\n\t\t\tallCallbacks[key] = undefined;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (oldCallback)\n\t\t{\n\t\t\tvar oldHandler = oldCallback.q;\n\t\t\tif (oldHandler.$ === newHandler.$)\n\t\t\t{\n\t\t\t\toldCallback.q = newHandler;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tdomNode.removeEventListener(key, oldCallback);\n\t\t}\n\n\t\toldCallback = _VirtualDom_makeCallback(eventNode, newHandler);\n\t\tdomNode.addEventListener(key, oldCallback,\n\t\t\t_VirtualDom_passiveSupported\n\t\t\t&& { passive: $elm$virtual_dom$VirtualDom$toHandlerInt(newHandler) < 2 }\n\t\t);\n\t\tallCallbacks[key] = oldCallback;\n\t}\n}\n\n\n\n// PASSIVE EVENTS\n\n\nvar _VirtualDom_passiveSupported;\n\ntry\n{\n\twindow.addEventListener('t', null, Object.defineProperty({}, 'passive', {\n\t\tget: function() { _VirtualDom_passiveSupported = true; }\n\t}));\n}\ncatch(e) {}\n\n\n\n// EVENT HANDLERS\n\n\nfunction _VirtualDom_makeCallback(eventNode, initialHandler)\n{\n\tfunction callback(event)\n\t{\n\t\tvar handler = callback.q;\n\t\tvar result = _Json_runHelp(handler.a, event);\n\n\t\tif (!$elm$core$Result$isOk(result))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tvar tag = $elm$virtual_dom$VirtualDom$toHandlerInt(handler);\n\n\t\t// 0 = Normal\n\t\t// 1 = MayStopPropagation\n\t\t// 2 = MayPreventDefault\n\t\t// 3 = Custom\n\n\t\tvar value = result.a;\n\t\tvar message = !tag ? value : tag < 3 ? value.a : value.message;\n\t\tvar stopPropagation = tag == 1 ? value.b : tag == 3 && value.stopPropagation;\n\t\tvar currentEventNode = (\n\t\t\tstopPropagation && event.stopPropagation(),\n\t\t\t(tag == 2 ? value.b : tag == 3 && value.preventDefault) && event.preventDefault(),\n\t\t\teventNode\n\t\t);\n\t\tvar tagger;\n\t\tvar i;\n\t\twhile (tagger = currentEventNode.j)\n\t\t{\n\t\t\tif (typeof tagger == 'function')\n\t\t\t{\n\t\t\t\tmessage = tagger(message);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tfor (var i = tagger.length; i--; )\n\t\t\t\t{\n\t\t\t\t\tmessage = tagger[i](message);\n\t\t\t\t}\n\t\t\t}\n\t\t\tcurrentEventNode = currentEventNode.p;\n\t\t}\n\t\tcurrentEventNode(message, stopPropagation); // stopPropagation implies isSync\n\t}\n\n\tcallback.q = initialHandler;\n\n\treturn callback;\n}\n\nfunction _VirtualDom_equalEvents(x, y)\n{\n\treturn x.$ == y.$ && _Json_equality(x.a, y.a);\n}\n\n\n\n// DIFF\n\n\n// TODO: Should we do patches like in iOS?\n//\n// type Patch\n// = At Int Patch\n// | Batch (List Patch)\n// | Change ...\n//\n// How could it not be better?\n//\nfunction _VirtualDom_diff(x, y)\n{\n\tvar patches = [];\n\t_VirtualDom_diffHelp(x, y, patches, 0);\n\treturn patches;\n}\n\n\nfunction _VirtualDom_pushPatch(patches, type, index, data)\n{\n\tvar patch = {\n\t\t$: type,\n\t\tr: index,\n\t\ts: data,\n\t\tt: undefined,\n\t\tu: undefined\n\t};\n\tpatches.push(patch);\n\treturn patch;\n}\n\n\nfunction _VirtualDom_diffHelp(x, y, patches, index)\n{\n\tif (x === y)\n\t{\n\t\treturn;\n\t}\n\n\tvar xType = x.$;\n\tvar yType = y.$;\n\n\t// Bail if you run into different types of nodes. Implies that the\n\t// structure has changed significantly and it's not worth a diff.\n\tif (xType !== yType)\n\t{\n\t\tif (xType === 1 && yType === 2)\n\t\t{\n\t\t\ty = _VirtualDom_dekey(y);\n\t\t\tyType = 1;\n\t\t}\n\t\telse\n\t\t{\n\t\t\t_VirtualDom_pushPatch(patches, 0, index, y);\n\t\t\treturn;\n\t\t}\n\t}\n\n\t// Now we know that both nodes are the same $.\n\tswitch (yType)\n\t{\n\t\tcase 5:\n\t\t\tvar xRefs = x.l;\n\t\t\tvar yRefs = y.l;\n\t\t\tvar i = xRefs.length;\n\t\t\tvar same = i === yRefs.length;\n\t\t\twhile (same && i--)\n\t\t\t{\n\t\t\t\tsame = xRefs[i] === yRefs[i];\n\t\t\t}\n\t\t\tif (same)\n\t\t\t{\n\t\t\t\ty.k = x.k;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\ty.k = y.m();\n\t\t\tvar subPatches = [];\n\t\t\t_VirtualDom_diffHelp(x.k, y.k, subPatches, 0);\n\t\t\tsubPatches.length > 0 && _VirtualDom_pushPatch(patches, 1, index, subPatches);\n\t\t\treturn;\n\n\t\tcase 4:\n\t\t\t// gather nested taggers\n\t\t\tvar xTaggers = x.j;\n\t\t\tvar yTaggers = y.j;\n\t\t\tvar nesting = false;\n\n\t\t\tvar xSubNode = x.k;\n\t\t\twhile (xSubNode.$ === 4)\n\t\t\t{\n\t\t\t\tnesting = true;\n\n\t\t\t\ttypeof xTaggers !== 'object'\n\t\t\t\t\t? xTaggers = [xTaggers, xSubNode.j]\n\t\t\t\t\t: xTaggers.push(xSubNode.j);\n\n\t\t\t\txSubNode = xSubNode.k;\n\t\t\t}\n\n\t\t\tvar ySubNode = y.k;\n\t\t\twhile (ySubNode.$ === 4)\n\t\t\t{\n\t\t\t\tnesting = true;\n\n\t\t\t\ttypeof yTaggers !== 'object'\n\t\t\t\t\t? yTaggers = [yTaggers, ySubNode.j]\n\t\t\t\t\t: yTaggers.push(ySubNode.j);\n\n\t\t\t\tySubNode = ySubNode.k;\n\t\t\t}\n\n\t\t\t// Just bail if different numbers of taggers. This implies the\n\t\t\t// structure of the virtual DOM has changed.\n\t\t\tif (nesting && xTaggers.length !== yTaggers.length)\n\t\t\t{\n\t\t\t\t_VirtualDom_pushPatch(patches, 0, index, y);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// check if taggers are \"the same\"\n\t\t\tif (nesting ? !_VirtualDom_pairwiseRefEqual(xTaggers, yTaggers) : xTaggers !== yTaggers)\n\t\t\t{\n\t\t\t\t_VirtualDom_pushPatch(patches, 2, index, yTaggers);\n\t\t\t}\n\n\t\t\t// diff everything below the taggers\n\t\t\t_VirtualDom_diffHelp(xSubNode, ySubNode, patches, index + 1);\n\t\t\treturn;\n\n\t\tcase 0:\n\t\t\tif (x.a !== y.a)\n\t\t\t{\n\t\t\t\t_VirtualDom_pushPatch(patches, 3, index, y.a);\n\t\t\t}\n\t\t\treturn;\n\n\t\tcase 1:\n\t\t\t_VirtualDom_diffNodes(x, y, patches, index, _VirtualDom_diffKids);\n\t\t\treturn;\n\n\t\tcase 2:\n\t\t\t_VirtualDom_diffNodes(x, y, patches, index, _VirtualDom_diffKeyedKids);\n\t\t\treturn;\n\n\t\tcase 3:\n\t\t\tif (x.h !== y.h)\n\t\t\t{\n\t\t\t\t_VirtualDom_pushPatch(patches, 0, index, y);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar factsDiff = _VirtualDom_diffFacts(x.d, y.d);\n\t\t\tfactsDiff && _VirtualDom_pushPatch(patches, 4, index, factsDiff);\n\n\t\t\tvar patch = y.i(x.g, y.g);\n\t\t\tpatch && _VirtualDom_pushPatch(patches, 5, index, patch);\n\n\t\t\treturn;\n\t}\n}\n\n// assumes the incoming arrays are the same length\nfunction _VirtualDom_pairwiseRefEqual(as, bs)\n{\n\tfor (var i = 0; i < as.length; i++)\n\t{\n\t\tif (as[i] !== bs[i])\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\nfunction _VirtualDom_diffNodes(x, y, patches, index, diffKids)\n{\n\t// Bail if obvious indicators have changed. Implies more serious\n\t// structural changes such that it's not worth it to diff.\n\tif (x.c !== y.c || x.f !== y.f)\n\t{\n\t\t_VirtualDom_pushPatch(patches, 0, index, y);\n\t\treturn;\n\t}\n\n\tvar factsDiff = _VirtualDom_diffFacts(x.d, y.d);\n\tfactsDiff && _VirtualDom_pushPatch(patches, 4, index, factsDiff);\n\n\tdiffKids(x, y, patches, index);\n}\n\n\n\n// DIFF FACTS\n\n\n// TODO Instead of creating a new diff object, it's possible to just test if\n// there *is* a diff. During the actual patch, do the diff again and make the\n// modifications directly. This way, there's no new allocations. Worth it?\nfunction _VirtualDom_diffFacts(x, y, category)\n{\n\tvar diff;\n\n\t// look for changes and removals\n\tfor (var xKey in x)\n\t{\n\t\tif (xKey === 'a1' || xKey === 'a0' || xKey === 'a3' || xKey === 'a4')\n\t\t{\n\t\t\tvar subDiff = _VirtualDom_diffFacts(x[xKey], y[xKey] || {}, xKey);\n\t\t\tif (subDiff)\n\t\t\t{\n\t\t\t\tdiff = diff || {};\n\t\t\t\tdiff[xKey] = subDiff;\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\t// remove if not in the new facts\n\t\tif (!(xKey in y))\n\t\t{\n\t\t\tdiff = diff || {};\n\t\t\tdiff[xKey] =\n\t\t\t\t!category\n\t\t\t\t\t? (typeof x[xKey] === 'string' ? '' : null)\n\t\t\t\t\t:\n\t\t\t\t(category === 'a1')\n\t\t\t\t\t? ''\n\t\t\t\t\t:\n\t\t\t\t(category === 'a0' || category === 'a3')\n\t\t\t\t\t? undefined\n\t\t\t\t\t:\n\t\t\t\t{ f: x[xKey].f, o: undefined };\n\n\t\t\tcontinue;\n\t\t}\n\n\t\tvar xValue = x[xKey];\n\t\tvar yValue = y[xKey];\n\n\t\t// reference equal, so don't worry about it\n\t\tif (xValue === yValue && xKey !== 'value' && xKey !== 'checked'\n\t\t\t|| category === 'a0' && _VirtualDom_equalEvents(xValue, yValue))\n\t\t{\n\t\t\tcontinue;\n\t\t}\n\n\t\tdiff = diff || {};\n\t\tdiff[xKey] = yValue;\n\t}\n\n\t// add new stuff\n\tfor (var yKey in y)\n\t{\n\t\tif (!(yKey in x))\n\t\t{\n\t\t\tdiff = diff || {};\n\t\t\tdiff[yKey] = y[yKey];\n\t\t}\n\t}\n\n\treturn diff;\n}\n\n\n\n// DIFF KIDS\n\n\nfunction _VirtualDom_diffKids(xParent, yParent, patches, index)\n{\n\tvar xKids = xParent.e;\n\tvar yKids = yParent.e;\n\n\tvar xLen = xKids.length;\n\tvar yLen = yKids.length;\n\n\t// FIGURE OUT IF THERE ARE INSERTS OR REMOVALS\n\n\tif (xLen > yLen)\n\t{\n\t\t_VirtualDom_pushPatch(patches, 6, index, {\n\t\t\tv: yLen,\n\t\t\ti: xLen - yLen\n\t\t});\n\t}\n\telse if (xLen < yLen)\n\t{\n\t\t_VirtualDom_pushPatch(patches, 7, index, {\n\t\t\tv: xLen,\n\t\t\te: yKids\n\t\t});\n\t}\n\n\t// PAIRWISE DIFF EVERYTHING ELSE\n\n\tfor (var minLen = xLen < yLen ? xLen : yLen, i = 0; i < minLen; i++)\n\t{\n\t\tvar xKid = xKids[i];\n\t\t_VirtualDom_diffHelp(xKid, yKids[i], patches, ++index);\n\t\tindex += xKid.b || 0;\n\t}\n}\n\n\n\n// KEYED DIFF\n\n\nfunction _VirtualDom_diffKeyedKids(xParent, yParent, patches, rootIndex)\n{\n\tvar localPatches = [];\n\n\tvar changes = {}; // Dict String Entry\n\tvar inserts = []; // Array { index : Int, entry : Entry }\n\t// type Entry = { tag : String, vnode : VNode, index : Int, data : _ }\n\n\tvar xKids = xParent.e;\n\tvar yKids = yParent.e;\n\tvar xLen = xKids.length;\n\tvar yLen = yKids.length;\n\tvar xIndex = 0;\n\tvar yIndex = 0;\n\n\tvar index = rootIndex;\n\n\twhile (xIndex < xLen && yIndex < yLen)\n\t{\n\t\tvar x = xKids[xIndex];\n\t\tvar y = yKids[yIndex];\n\n\t\tvar xKey = x.a;\n\t\tvar yKey = y.a;\n\t\tvar xNode = x.b;\n\t\tvar yNode = y.b;\n\n\t\tvar newMatch = undefined;\n\t\tvar oldMatch = undefined;\n\n\t\t// check if keys match\n\n\t\tif (xKey === yKey)\n\t\t{\n\t\t\tindex++;\n\t\t\t_VirtualDom_diffHelp(xNode, yNode, localPatches, index);\n\t\t\tindex += xNode.b || 0;\n\n\t\t\txIndex++;\n\t\t\tyIndex++;\n\t\t\tcontinue;\n\t\t}\n\n\t\t// look ahead 1 to detect insertions and removals.\n\n\t\tvar xNext = xKids[xIndex + 1];\n\t\tvar yNext = yKids[yIndex + 1];\n\n\t\tif (xNext)\n\t\t{\n\t\t\tvar xNextKey = xNext.a;\n\t\t\tvar xNextNode = xNext.b;\n\t\t\toldMatch = yKey === xNextKey;\n\t\t}\n\n\t\tif (yNext)\n\t\t{\n\t\t\tvar yNextKey = yNext.a;\n\t\t\tvar yNextNode = yNext.b;\n\t\t\tnewMatch = xKey === yNextKey;\n\t\t}\n\n\n\t\t// swap x and y\n\t\tif (newMatch && oldMatch)\n\t\t{\n\t\t\tindex++;\n\t\t\t_VirtualDom_diffHelp(xNode, yNextNode, localPatches, index);\n\t\t\t_VirtualDom_insertNode(changes, localPatches, xKey, yNode, yIndex, inserts);\n\t\t\tindex += xNode.b || 0;\n\n\t\t\tindex++;\n\t\t\t_VirtualDom_removeNode(changes, localPatches, xKey, xNextNode, index);\n\t\t\tindex += xNextNode.b || 0;\n\n\t\t\txIndex += 2;\n\t\t\tyIndex += 2;\n\t\t\tcontinue;\n\t\t}\n\n\t\t// insert y\n\t\tif (newMatch)\n\t\t{\n\t\t\tindex++;\n\t\t\t_VirtualDom_insertNode(changes, localPatches, yKey, yNode, yIndex, inserts);\n\t\t\t_VirtualDom_diffHelp(xNode, yNextNode, localPatches, index);\n\t\t\tindex += xNode.b || 0;\n\n\t\t\txIndex += 1;\n\t\t\tyIndex += 2;\n\t\t\tcontinue;\n\t\t}\n\n\t\t// remove x\n\t\tif (oldMatch)\n\t\t{\n\t\t\tindex++;\n\t\t\t_VirtualDom_removeNode(changes, localPatches, xKey, xNode, index);\n\t\t\tindex += xNode.b || 0;\n\n\t\t\tindex++;\n\t\t\t_VirtualDom_diffHelp(xNextNode, yNode, localPatches, index);\n\t\t\tindex += xNextNode.b || 0;\n\n\t\t\txIndex += 2;\n\t\t\tyIndex += 1;\n\t\t\tcontinue;\n\t\t}\n\n\t\t// remove x, insert y\n\t\tif (xNext && xNextKey === yNextKey)\n\t\t{\n\t\t\tindex++;\n\t\t\t_VirtualDom_removeNode(changes, localPatches, xKey, xNode, index);\n\t\t\t_VirtualDom_insertNode(changes, localPatches, yKey, yNode, yIndex, inserts);\n\t\t\tindex += xNode.b || 0;\n\n\t\t\tindex++;\n\t\t\t_VirtualDom_diffHelp(xNextNode, yNextNode, localPatches, index);\n\t\t\tindex += xNextNode.b || 0;\n\n\t\t\txIndex += 2;\n\t\t\tyIndex += 2;\n\t\t\tcontinue;\n\t\t}\n\n\t\tbreak;\n\t}\n\n\t// eat up any remaining nodes with removeNode and insertNode\n\n\twhile (xIndex < xLen)\n\t{\n\t\tindex++;\n\t\tvar x = xKids[xIndex];\n\t\tvar xNode = x.b;\n\t\t_VirtualDom_removeNode(changes, localPatches, x.a, xNode, index);\n\t\tindex += xNode.b || 0;\n\t\txIndex++;\n\t}\n\n\twhile (yIndex < yLen)\n\t{\n\t\tvar endInserts = endInserts || [];\n\t\tvar y = yKids[yIndex];\n\t\t_VirtualDom_insertNode(changes, localPatches, y.a, y.b, undefined, endInserts);\n\t\tyIndex++;\n\t}\n\n\tif (localPatches.length > 0 || inserts.length > 0 || endInserts)\n\t{\n\t\t_VirtualDom_pushPatch(patches, 8, rootIndex, {\n\t\t\tw: localPatches,\n\t\t\tx: inserts,\n\t\t\ty: endInserts\n\t\t});\n\t}\n}\n\n\n\n// CHANGES FROM KEYED DIFF\n\n\nvar _VirtualDom_POSTFIX = '_elmW6BL';\n\n\nfunction _VirtualDom_insertNode(changes, localPatches, key, vnode, yIndex, inserts)\n{\n\tvar entry = changes[key];\n\n\t// never seen this key before\n\tif (!entry)\n\t{\n\t\tentry = {\n\t\t\tc: 0,\n\t\t\tz: vnode,\n\t\t\tr: yIndex,\n\t\t\ts: undefined\n\t\t};\n\n\t\tinserts.push({ r: yIndex, A: entry });\n\t\tchanges[key] = entry;\n\n\t\treturn;\n\t}\n\n\t// this key was removed earlier, a match!\n\tif (entry.c === 1)\n\t{\n\t\tinserts.push({ r: yIndex, A: entry });\n\n\t\tentry.c = 2;\n\t\tvar subPatches = [];\n\t\t_VirtualDom_diffHelp(entry.z, vnode, subPatches, entry.r);\n\t\tentry.r = yIndex;\n\t\tentry.s.s = {\n\t\t\tw: subPatches,\n\t\t\tA: entry\n\t\t};\n\n\t\treturn;\n\t}\n\n\t// this key has already been inserted or moved, a duplicate!\n\t_VirtualDom_insertNode(changes, localPatches, key + _VirtualDom_POSTFIX, vnode, yIndex, inserts);\n}\n\n\nfunction _VirtualDom_removeNode(changes, localPatches, key, vnode, index)\n{\n\tvar entry = changes[key];\n\n\t// never seen this key before\n\tif (!entry)\n\t{\n\t\tvar patch = _VirtualDom_pushPatch(localPatches, 9, index, undefined);\n\n\t\tchanges[key] = {\n\t\t\tc: 1,\n\t\t\tz: vnode,\n\t\t\tr: index,\n\t\t\ts: patch\n\t\t};\n\n\t\treturn;\n\t}\n\n\t// this key was inserted earlier, a match!\n\tif (entry.c === 0)\n\t{\n\t\tentry.c = 2;\n\t\tvar subPatches = [];\n\t\t_VirtualDom_diffHelp(vnode, entry.z, subPatches, index);\n\n\t\t_VirtualDom_pushPatch(localPatches, 9, index, {\n\t\t\tw: subPatches,\n\t\t\tA: entry\n\t\t});\n\n\t\treturn;\n\t}\n\n\t// this key has already been removed or moved, a duplicate!\n\t_VirtualDom_removeNode(changes, localPatches, key + _VirtualDom_POSTFIX, vnode, index);\n}\n\n\n\n// ADD DOM NODES\n//\n// Each DOM node has an \"index\" assigned in order of traversal. It is important\n// to minimize our crawl over the actual DOM, so these indexes (along with the\n// descendantsCount of virtual nodes) let us skip touching entire subtrees of\n// the DOM if we know there are no patches there.\n\n\nfunction _VirtualDom_addDomNodes(domNode, vNode, patches, eventNode)\n{\n\t_VirtualDom_addDomNodesHelp(domNode, vNode, patches, 0, 0, vNode.b, eventNode);\n}\n\n\n// assumes `patches` is non-empty and indexes increase monotonically.\nfunction _VirtualDom_addDomNodesHelp(domNode, vNode, patches, i, low, high, eventNode)\n{\n\tvar patch = patches[i];\n\tvar index = patch.r;\n\n\twhile (index === low)\n\t{\n\t\tvar patchType = patch.$;\n\n\t\tif (patchType === 1)\n\t\t{\n\t\t\t_VirtualDom_addDomNodes(domNode, vNode.k, patch.s, eventNode);\n\t\t}\n\t\telse if (patchType === 8)\n\t\t{\n\t\t\tpatch.t = domNode;\n\t\t\tpatch.u = eventNode;\n\n\t\t\tvar subPatches = patch.s.w;\n\t\t\tif (subPatches.length > 0)\n\t\t\t{\n\t\t\t\t_VirtualDom_addDomNodesHelp(domNode, vNode, subPatches, 0, low, high, eventNode);\n\t\t\t}\n\t\t}\n\t\telse if (patchType === 9)\n\t\t{\n\t\t\tpatch.t = domNode;\n\t\t\tpatch.u = eventNode;\n\n\t\t\tvar data = patch.s;\n\t\t\tif (data)\n\t\t\t{\n\t\t\t\tdata.A.s = domNode;\n\t\t\t\tvar subPatches = data.w;\n\t\t\t\tif (subPatches.length > 0)\n\t\t\t\t{\n\t\t\t\t\t_VirtualDom_addDomNodesHelp(domNode, vNode, subPatches, 0, low, high, eventNode);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tpatch.t = domNode;\n\t\t\tpatch.u = eventNode;\n\t\t}\n\n\t\ti++;\n\n\t\tif (!(patch = patches[i]) || (index = patch.r) > high)\n\t\t{\n\t\t\treturn i;\n\t\t}\n\t}\n\n\tvar tag = vNode.$;\n\n\tif (tag === 4)\n\t{\n\t\tvar subNode = vNode.k;\n\n\t\twhile (subNode.$ === 4)\n\t\t{\n\t\t\tsubNode = subNode.k;\n\t\t}\n\n\t\treturn _VirtualDom_addDomNodesHelp(domNode, subNode, patches, i, low + 1, high, domNode.elm_event_node_ref);\n\t}\n\n\t// tag must be 1 or 2 at this point\n\n\tvar vKids = vNode.e;\n\tvar childNodes = domNode.childNodes;\n\tfor (var j = 0; j < vKids.length; j++)\n\t{\n\t\tlow++;\n\t\tvar vKid = tag === 1 ? vKids[j] : vKids[j].b;\n\t\tvar nextLow = low + (vKid.b || 0);\n\t\tif (low <= index && index <= nextLow)\n\t\t{\n\t\t\ti = _VirtualDom_addDomNodesHelp(childNodes[j], vKid, patches, i, low, nextLow, eventNode);\n\t\t\tif (!(patch = patches[i]) || (index = patch.r) > high)\n\t\t\t{\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t\tlow = nextLow;\n\t}\n\treturn i;\n}\n\n\n\n// APPLY PATCHES\n\n\nfunction _VirtualDom_applyPatches(rootDomNode, oldVirtualNode, patches, eventNode)\n{\n\tif (patches.length === 0)\n\t{\n\t\treturn rootDomNode;\n\t}\n\n\t_VirtualDom_addDomNodes(rootDomNode, oldVirtualNode, patches, eventNode);\n\treturn _VirtualDom_applyPatchesHelp(rootDomNode, patches);\n}\n\nfunction _VirtualDom_applyPatchesHelp(rootDomNode, patches)\n{\n\tfor (var i = 0; i < patches.length; i++)\n\t{\n\t\tvar patch = patches[i];\n\t\tvar localDomNode = patch.t\n\t\tvar newNode = _VirtualDom_applyPatch(localDomNode, patch);\n\t\tif (localDomNode === rootDomNode)\n\t\t{\n\t\t\trootDomNode = newNode;\n\t\t}\n\t}\n\treturn rootDomNode;\n}\n\nfunction _VirtualDom_applyPatch(domNode, patch)\n{\n\tswitch (patch.$)\n\t{\n\t\tcase 0:\n\t\t\treturn _VirtualDom_applyPatchRedraw(domNode, patch.s, patch.u);\n\n\t\tcase 4:\n\t\t\t_VirtualDom_applyFacts(domNode, patch.u, patch.s);\n\t\t\treturn domNode;\n\n\t\tcase 3:\n\t\t\tdomNode.replaceData(0, domNode.length, patch.s);\n\t\t\treturn domNode;\n\n\t\tcase 1:\n\t\t\treturn _VirtualDom_applyPatchesHelp(domNode, patch.s);\n\n\t\tcase 2:\n\t\t\tif (domNode.elm_event_node_ref)\n\t\t\t{\n\t\t\t\tdomNode.elm_event_node_ref.j = patch.s;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tdomNode.elm_event_node_ref = { j: patch.s, p: patch.u };\n\t\t\t}\n\t\t\treturn domNode;\n\n\t\tcase 6:\n\t\t\tvar data = patch.s;\n\t\t\tfor (var i = 0; i < data.i; i++)\n\t\t\t{\n\t\t\t\tdomNode.removeChild(domNode.childNodes[data.v]);\n\t\t\t}\n\t\t\treturn domNode;\n\n\t\tcase 7:\n\t\t\tvar data = patch.s;\n\t\t\tvar kids = data.e;\n\t\t\tvar i = data.v;\n\t\t\tvar theEnd = domNode.childNodes[i];\n\t\t\tfor (; i < kids.length; i++)\n\t\t\t{\n\t\t\t\tdomNode.insertBefore(_VirtualDom_render(kids[i], patch.u), theEnd);\n\t\t\t}\n\t\t\treturn domNode;\n\n\t\tcase 9:\n\t\t\tvar data = patch.s;\n\t\t\tif (!data)\n\t\t\t{\n\t\t\t\tdomNode.parentNode.removeChild(domNode);\n\t\t\t\treturn domNode;\n\t\t\t}\n\t\t\tvar entry = data.A;\n\t\t\tif (typeof entry.r !== 'undefined')\n\t\t\t{\n\t\t\t\tdomNode.parentNode.removeChild(domNode);\n\t\t\t}\n\t\t\tentry.s = _VirtualDom_applyPatchesHelp(domNode, data.w);\n\t\t\treturn domNode;\n\n\t\tcase 8:\n\t\t\treturn _VirtualDom_applyPatchReorder(domNode, patch);\n\n\t\tcase 5:\n\t\t\treturn patch.s(domNode);\n\n\t\tdefault:\n\t\t\t_Debug_crash(10); // 'Ran into an unknown patch!'\n\t}\n}\n\n\nfunction _VirtualDom_applyPatchRedraw(domNode, vNode, eventNode)\n{\n\tvar parentNode = domNode.parentNode;\n\tvar newNode = _VirtualDom_render(vNode, eventNode);\n\n\tif (!newNode.elm_event_node_ref)\n\t{\n\t\tnewNode.elm_event_node_ref = domNode.elm_event_node_ref;\n\t}\n\n\tif (parentNode && newNode !== domNode)\n\t{\n\t\tparentNode.replaceChild(newNode, domNode);\n\t}\n\treturn newNode;\n}\n\n\nfunction _VirtualDom_applyPatchReorder(domNode, patch)\n{\n\tvar data = patch.s;\n\n\t// remove end inserts\n\tvar frag = _VirtualDom_applyPatchReorderEndInsertsHelp(data.y, patch);\n\n\t// removals\n\tdomNode = _VirtualDom_applyPatchesHelp(domNode, data.w);\n\n\t// inserts\n\tvar inserts = data.x;\n\tfor (var i = 0; i < inserts.length; i++)\n\t{\n\t\tvar insert = inserts[i];\n\t\tvar entry = insert.A;\n\t\tvar node = entry.c === 2\n\t\t\t? entry.s\n\t\t\t: _VirtualDom_render(entry.z, patch.u);\n\t\tdomNode.insertBefore(node, domNode.childNodes[insert.r]);\n\t}\n\n\t// add end inserts\n\tif (frag)\n\t{\n\t\t_VirtualDom_appendChild(domNode, frag);\n\t}\n\n\treturn domNode;\n}\n\n\nfunction _VirtualDom_applyPatchReorderEndInsertsHelp(endInserts, patch)\n{\n\tif (!endInserts)\n\t{\n\t\treturn;\n\t}\n\n\tvar frag = _VirtualDom_doc.createDocumentFragment();\n\tfor (var i = 0; i < endInserts.length; i++)\n\t{\n\t\tvar insert = endInserts[i];\n\t\tvar entry = insert.A;\n\t\t_VirtualDom_appendChild(frag, entry.c === 2\n\t\t\t? entry.s\n\t\t\t: _VirtualDom_render(entry.z, patch.u)\n\t\t);\n\t}\n\treturn frag;\n}\n\n\nfunction _VirtualDom_virtualize(node)\n{\n\t// TEXT NODES\n\n\tif (node.nodeType === 3)\n\t{\n\t\treturn _VirtualDom_text(node.textContent);\n\t}\n\n\n\t// WEIRD NODES\n\n\tif (node.nodeType !== 1)\n\t{\n\t\treturn _VirtualDom_text('');\n\t}\n\n\n\t// ELEMENT NODES\n\n\tvar attrList = _List_Nil;\n\tvar attrs = node.attributes;\n\tfor (var i = attrs.length; i--; )\n\t{\n\t\tvar attr = attrs[i];\n\t\tvar name = attr.name;\n\t\tvar value = attr.value;\n\t\tattrList = _List_Cons( A2(_VirtualDom_attribute, name, value), attrList );\n\t}\n\n\tvar tag = node.tagName.toLowerCase();\n\tvar kidList = _List_Nil;\n\tvar kids = node.childNodes;\n\n\tfor (var i = kids.length; i--; )\n\t{\n\t\tkidList = _List_Cons(_VirtualDom_virtualize(kids[i]), kidList);\n\t}\n\treturn A3(_VirtualDom_node, tag, attrList, kidList);\n}\n\nfunction _VirtualDom_dekey(keyedNode)\n{\n\tvar keyedKids = keyedNode.e;\n\tvar len = keyedKids.length;\n\tvar kids = new Array(len);\n\tfor (var i = 0; i < len; i++)\n\t{\n\t\tkids[i] = keyedKids[i].b;\n\t}\n\n\treturn {\n\t\t$: 1,\n\t\tc: keyedNode.c,\n\t\td: keyedNode.d,\n\t\te: kids,\n\t\tf: keyedNode.f,\n\t\tb: keyedNode.b\n\t};\n}\n\n\n\nvar _Bitwise_and = F2(function(a, b)\n{\n\treturn a & b;\n});\n\nvar _Bitwise_or = F2(function(a, b)\n{\n\treturn a | b;\n});\n\nvar _Bitwise_xor = F2(function(a, b)\n{\n\treturn a ^ b;\n});\n\nfunction _Bitwise_complement(a)\n{\n\treturn ~a;\n};\n\nvar _Bitwise_shiftLeftBy = F2(function(offset, a)\n{\n\treturn a << offset;\n});\n\nvar _Bitwise_shiftRightBy = F2(function(offset, a)\n{\n\treturn a >> offset;\n});\n\nvar _Bitwise_shiftRightZfBy = F2(function(offset, a)\n{\n\treturn a >>> offset;\n});\n\n\n\n\n// HELPERS\n\n\nfunction _Debugger_unsafeCoerce(value)\n{\n\treturn value;\n}\n\n\n\n// PROGRAMS\n\n\nvar _Debugger_element = F4(function(impl, flagDecoder, debugMetadata, args)\n{\n\treturn _Platform_initialize(\n\t\tflagDecoder,\n\t\targs,\n\t\tA3($elm$browser$Debugger$Main$wrapInit, _Json_wrap(debugMetadata), _Debugger_popout(), impl.init),\n\t\t$elm$browser$Debugger$Main$wrapUpdate(impl.update),\n\t\t$elm$browser$Debugger$Main$wrapSubs(impl.subscriptions),\n\t\tfunction(sendToApp, initialModel)\n\t\t{\n\t\t\tvar view = impl.view;\n\t\t\tvar title = _VirtualDom_doc.title;\n\t\t\tvar domNode = args && args['node'] ? args['node'] : _Debug_crash(0);\n\t\t\tvar currNode = _VirtualDom_virtualize(domNode);\n\t\t\tvar currBlocker = $elm$browser$Debugger$Main$toBlockerType(initialModel);\n\t\t\tvar currPopout;\n\n\t\t\tvar cornerNode = _VirtualDom_doc.createElement('div');\n\t\t\tdomNode.parentNode.insertBefore(cornerNode, domNode.nextSibling);\n\t\t\tvar cornerCurr = _VirtualDom_virtualize(cornerNode);\n\n\t\t\tinitialModel.popout.a = sendToApp;\n\n\t\t\treturn _Browser_makeAnimator(initialModel, function(model)\n\t\t\t{\n\t\t\t\tvar nextNode = A2(_VirtualDom_map, $elm$browser$Debugger$Main$UserMsg, view($elm$browser$Debugger$Main$getUserModel(model)));\n\t\t\t\tvar patches = _VirtualDom_diff(currNode, nextNode);\n\t\t\t\tdomNode = _VirtualDom_applyPatches(domNode, currNode, patches, sendToApp);\n\t\t\t\tcurrNode = nextNode;\n\n\t\t\t\t// update blocker\n\n\t\t\t\tvar nextBlocker = $elm$browser$Debugger$Main$toBlockerType(model);\n\t\t\t\t_Debugger_updateBlocker(currBlocker, nextBlocker);\n\t\t\t\tcurrBlocker = nextBlocker;\n\n\t\t\t\t// view corner\n\n\t\t\t\tvar cornerNext = $elm$browser$Debugger$Main$cornerView(model);\n\t\t\t\tvar cornerPatches = _VirtualDom_diff(cornerCurr, cornerNext);\n\t\t\t\tcornerNode = _VirtualDom_applyPatches(cornerNode, cornerCurr, cornerPatches, sendToApp);\n\t\t\t\tcornerCurr = cornerNext;\n\n\t\t\t\tif (!model.popout.b)\n\t\t\t\t{\n\t\t\t\t\tcurrPopout = undefined;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// view popout\n\n\t\t\t\t_VirtualDom_doc = model.popout.b; // SWITCH TO POPOUT DOC\n\t\t\t\tcurrPopout || (currPopout = _VirtualDom_virtualize(model.popout.b));\n\t\t\t\tvar nextPopout = $elm$browser$Debugger$Main$popoutView(model);\n\t\t\t\tvar popoutPatches = _VirtualDom_diff(currPopout, nextPopout);\n\t\t\t\t_VirtualDom_applyPatches(model.popout.b.body, currPopout, popoutPatches, sendToApp);\n\t\t\t\tcurrPopout = nextPopout;\n\t\t\t\t_VirtualDom_doc = document; // SWITCH BACK TO NORMAL DOC\n\t\t\t});\n\t\t}\n\t);\n});\n\n\nvar _Debugger_document = F4(function(impl, flagDecoder, debugMetadata, args)\n{\n\treturn _Platform_initialize(\n\t\tflagDecoder,\n\t\targs,\n\t\tA3($elm$browser$Debugger$Main$wrapInit, _Json_wrap(debugMetadata), _Debugger_popout(), impl.init),\n\t\t$elm$browser$Debugger$Main$wrapUpdate(impl.update),\n\t\t$elm$browser$Debugger$Main$wrapSubs(impl.subscriptions),\n\t\tfunction(sendToApp, initialModel)\n\t\t{\n\t\t\tvar divertHrefToApp = impl.setup && impl.setup(function(x) { return sendToApp($elm$browser$Debugger$Main$UserMsg(x)); });\n\t\t\tvar view = impl.view;\n\t\t\tvar title = _VirtualDom_doc.title;\n\t\t\tvar bodyNode = _VirtualDom_doc.body;\n\t\t\tvar currNode = _VirtualDom_virtualize(bodyNode);\n\t\t\tvar currBlocker = $elm$browser$Debugger$Main$toBlockerType(initialModel);\n\t\t\tvar currPopout;\n\n\t\t\tinitialModel.popout.a = sendToApp;\n\n\t\t\treturn _Browser_makeAnimator(initialModel, function(model)\n\t\t\t{\n\t\t\t\t_VirtualDom_divertHrefToApp = divertHrefToApp;\n\t\t\t\tvar doc = view($elm$browser$Debugger$Main$getUserModel(model));\n\t\t\t\tvar nextNode = _VirtualDom_node('body')(_List_Nil)(\n\t\t\t\t\t_Utils_ap(\n\t\t\t\t\t\tA2($elm$core$List$map, _VirtualDom_map($elm$browser$Debugger$Main$UserMsg), doc.body),\n\t\t\t\t\t\t_List_Cons($elm$browser$Debugger$Main$cornerView(model), _List_Nil)\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tvar patches = _VirtualDom_diff(currNode, nextNode);\n\t\t\t\tbodyNode = _VirtualDom_applyPatches(bodyNode, currNode, patches, sendToApp);\n\t\t\t\tcurrNode = nextNode;\n\t\t\t\t_VirtualDom_divertHrefToApp = 0;\n\t\t\t\t(title !== doc.title) && (_VirtualDom_doc.title = title = doc.title);\n\n\t\t\t\t// update blocker\n\n\t\t\t\tvar nextBlocker = $elm$browser$Debugger$Main$toBlockerType(model);\n\t\t\t\t_Debugger_updateBlocker(currBlocker, nextBlocker);\n\t\t\t\tcurrBlocker = nextBlocker;\n\n\t\t\t\t// view popout\n\n\t\t\t\tif (!model.popout.b) { currPopout = undefined; return; }\n\n\t\t\t\t_VirtualDom_doc = model.popout.b; // SWITCH TO POPOUT DOC\n\t\t\t\tcurrPopout || (currPopout = _VirtualDom_virtualize(model.popout.b));\n\t\t\t\tvar nextPopout = $elm$browser$Debugger$Main$popoutView(model);\n\t\t\t\tvar popoutPatches = _VirtualDom_diff(currPopout, nextPopout);\n\t\t\t\t_VirtualDom_applyPatches(model.popout.b.body, currPopout, popoutPatches, sendToApp);\n\t\t\t\tcurrPopout = nextPopout;\n\t\t\t\t_VirtualDom_doc = document; // SWITCH BACK TO NORMAL DOC\n\t\t\t});\n\t\t}\n\t);\n});\n\n\nfunction _Debugger_popout()\n{\n\treturn {\n\t\tb: undefined,\n\t\ta: undefined\n\t};\n}\n\nfunction _Debugger_isOpen(popout)\n{\n\treturn !!popout.b;\n}\n\nfunction _Debugger_open(popout)\n{\n\treturn _Scheduler_binding(function(callback)\n\t{\n\t\t_Debugger_openWindow(popout);\n\t\tcallback(_Scheduler_succeed(_Utils_Tuple0));\n\t});\n}\n\nfunction _Debugger_openWindow(popout)\n{\n\tvar w = $elm$browser$Debugger$Main$initialWindowWidth,\n\t\th = $elm$browser$Debugger$Main$initialWindowHeight,\n\t \tx = screen.width - w,\n\t\ty = screen.height - h;\n\n\tvar debuggerWindow = window.open('', '', 'width=' + w + ',height=' + h + ',left=' + x + ',top=' + y);\n\tvar doc = debuggerWindow.document;\n\tdoc.title = 'Elm Debugger';\n\n\t// handle arrow keys\n\tdoc.addEventListener('keydown', function(event) {\n\t\tevent.metaKey && event.which === 82 && window.location.reload();\n\t\tevent.key === 'ArrowUp' && (popout.a($elm$browser$Debugger$Main$Up ), event.preventDefault());\n\t\tevent.key === 'ArrowDown' && (popout.a($elm$browser$Debugger$Main$Down), event.preventDefault());\n\t});\n\n\t// handle window close\n\twindow.addEventListener('unload', close);\n\tdebuggerWindow.addEventListener('unload', function() {\n\t\tpopout.b = undefined;\n\t\tpopout.a($elm$browser$Debugger$Main$NoOp);\n\t\twindow.removeEventListener('unload', close);\n\t});\n\n\tfunction close() {\n\t\tpopout.b = undefined;\n\t\tpopout.a($elm$browser$Debugger$Main$NoOp);\n\t\tdebuggerWindow.close();\n\t}\n\n\t// register new window\n\tpopout.b = doc;\n}\n\n\n\n// SCROLL\n\n\nfunction _Debugger_scroll(popout)\n{\n\treturn _Scheduler_binding(function(callback)\n\t{\n\t\tif (popout.b)\n\t\t{\n\t\t\tvar msgs = popout.b.getElementById('elm-debugger-sidebar');\n\t\t\tif (msgs && msgs.scrollTop !== 0)\n\t\t\t{\n\t\t\t\tmsgs.scrollTop = 0;\n\t\t\t}\n\t\t}\n\t\tcallback(_Scheduler_succeed(_Utils_Tuple0));\n\t});\n}\n\n\nvar _Debugger_scrollTo = F2(function(id, popout)\n{\n\treturn _Scheduler_binding(function(callback)\n\t{\n\t\tif (popout.b)\n\t\t{\n\t\t\tvar msg = popout.b.getElementById(id);\n\t\t\tif (msg)\n\t\t\t{\n\t\t\t\tmsg.scrollIntoView(false);\n\t\t\t}\n\t\t}\n\t\tcallback(_Scheduler_succeed(_Utils_Tuple0));\n\t});\n});\n\n\n\n// UPLOAD\n\n\nfunction _Debugger_upload(popout)\n{\n\treturn _Scheduler_binding(function(callback)\n\t{\n\t\tvar doc = popout.b || document;\n\t\tvar element = doc.createElement('input');\n\t\telement.setAttribute('type', 'file');\n\t\telement.setAttribute('accept', 'text/json');\n\t\telement.style.display = 'none';\n\t\telement.addEventListener('change', function(event)\n\t\t{\n\t\t\tvar fileReader = new FileReader();\n\t\t\tfileReader.onload = function(e)\n\t\t\t{\n\t\t\t\tcallback(_Scheduler_succeed(e.target.result));\n\t\t\t};\n\t\t\tfileReader.readAsText(event.target.files[0]);\n\t\t\tdoc.body.removeChild(element);\n\t\t});\n\t\tdoc.body.appendChild(element);\n\t\telement.click();\n\t});\n}\n\n\n\n// DOWNLOAD\n\n\nvar _Debugger_download = F2(function(historyLength, json)\n{\n\treturn _Scheduler_binding(function(callback)\n\t{\n\t\tvar fileName = 'history-' + historyLength + '.txt';\n\t\tvar jsonString = JSON.stringify(json);\n\t\tvar mime = 'text/plain;charset=utf-8';\n\t\tvar done = _Scheduler_succeed(_Utils_Tuple0);\n\n\t\t// for IE10+\n\t\tif (navigator.msSaveBlob)\n\t\t{\n\t\t\tnavigator.msSaveBlob(new Blob([jsonString], {type: mime}), fileName);\n\t\t\treturn callback(done);\n\t\t}\n\n\t\t// for HTML5\n\t\tvar element = document.createElement('a');\n\t\telement.setAttribute('href', 'data:' + mime + ',' + encodeURIComponent(jsonString));\n\t\telement.setAttribute('download', fileName);\n\t\telement.style.display = 'none';\n\t\tdocument.body.appendChild(element);\n\t\telement.click();\n\t\tdocument.body.removeChild(element);\n\t\tcallback(done);\n\t});\n});\n\n\n\n// POPOUT CONTENT\n\n\nfunction _Debugger_messageToString(value)\n{\n\tif (typeof value === 'boolean')\n\t{\n\t\treturn value ? 'True' : 'False';\n\t}\n\n\tif (typeof value === 'number')\n\t{\n\t\treturn value + '';\n\t}\n\n\tif (typeof value === 'string')\n\t{\n\t\treturn '\"' + _Debugger_addSlashes(value, false) + '\"';\n\t}\n\n\tif (value instanceof String)\n\t{\n\t\treturn \"'\" + _Debugger_addSlashes(value, true) + \"'\";\n\t}\n\n\tif (typeof value !== 'object' || value === null || !('$' in value))\n\t{\n\t\treturn '…';\n\t}\n\n\tif (typeof value.$ === 'number')\n\t{\n\t\treturn '…';\n\t}\n\n\tvar code = value.$.charCodeAt(0);\n\tif (code === 0x23 /* # */ || /* a */ 0x61 <= code && code <= 0x7A /* z */)\n\t{\n\t\treturn '…';\n\t}\n\n\tif (['Array_elm_builtin', 'Set_elm_builtin', 'RBNode_elm_builtin', 'RBEmpty_elm_builtin'].indexOf(value.$) >= 0)\n\t{\n\t\treturn '…';\n\t}\n\n\tvar keys = Object.keys(value);\n\tswitch (keys.length)\n\t{\n\t\tcase 1:\n\t\t\treturn value.$;\n\t\tcase 2:\n\t\t\treturn value.$ + ' ' + _Debugger_messageToString(value.a);\n\t\tdefault:\n\t\t\treturn value.$ + ' … ' + _Debugger_messageToString(value[keys[keys.length - 1]]);\n\t}\n}\n\n\nfunction _Debugger_init(value)\n{\n\tif (typeof value === 'boolean')\n\t{\n\t\treturn A3($elm$browser$Debugger$Expando$Constructor, $elm$core$Maybe$Just(value ? 'True' : 'False'), true, _List_Nil);\n\t}\n\n\tif (typeof value === 'number')\n\t{\n\t\treturn $elm$browser$Debugger$Expando$Primitive(value + '');\n\t}\n\n\tif (typeof value === 'string')\n\t{\n\t\treturn $elm$browser$Debugger$Expando$S('\"' + _Debugger_addSlashes(value, false) + '\"');\n\t}\n\n\tif (value instanceof String)\n\t{\n\t\treturn $elm$browser$Debugger$Expando$S(\"'\" + _Debugger_addSlashes(value, true) + \"'\");\n\t}\n\n\tif (typeof value === 'object' && '$' in value)\n\t{\n\t\tvar tag = value.$;\n\n\t\tif (tag === '::' || tag === '[]')\n\t\t{\n\t\t\treturn A3($elm$browser$Debugger$Expando$Sequence, $elm$browser$Debugger$Expando$ListSeq, true,\n\t\t\t\tA2($elm$core$List$map, _Debugger_init, value)\n\t\t\t);\n\t\t}\n\n\t\tif (tag === 'Set_elm_builtin')\n\t\t{\n\t\t\treturn A3($elm$browser$Debugger$Expando$Sequence, $elm$browser$Debugger$Expando$SetSeq, true,\n\t\t\t\tA3($elm$core$Set$foldr, _Debugger_initCons, _List_Nil, value)\n\t\t\t);\n\t\t}\n\n\t\tif (tag === 'RBNode_elm_builtin' || tag == 'RBEmpty_elm_builtin')\n\t\t{\n\t\t\treturn A2($elm$browser$Debugger$Expando$Dictionary, true,\n\t\t\t\tA3($elm$core$Dict$foldr, _Debugger_initKeyValueCons, _List_Nil, value)\n\t\t\t);\n\t\t}\n\n\t\tif (tag === 'Array_elm_builtin')\n\t\t{\n\t\t\treturn A3($elm$browser$Debugger$Expando$Sequence, $elm$browser$Debugger$Expando$ArraySeq, true,\n\t\t\t\tA3($elm$core$Array$foldr, _Debugger_initCons, _List_Nil, value)\n\t\t\t);\n\t\t}\n\n\t\tif (typeof tag === 'number')\n\t\t{\n\t\t\treturn $elm$browser$Debugger$Expando$Primitive('<internals>');\n\t\t}\n\n\t\tvar char = tag.charCodeAt(0);\n\t\tif (char === 35 || 65 <= char && char <= 90)\n\t\t{\n\t\t\tvar list = _List_Nil;\n\t\t\tfor (var i in value)\n\t\t\t{\n\t\t\t\tif (i === '$') continue;\n\t\t\t\tlist = _List_Cons(_Debugger_init(value[i]), list);\n\t\t\t}\n\t\t\treturn A3($elm$browser$Debugger$Expando$Constructor, char === 35 ? $elm$core$Maybe$Nothing : $elm$core$Maybe$Just(tag), true, $elm$core$List$reverse(list));\n\t\t}\n\n\t\treturn $elm$browser$Debugger$Expando$Primitive('<internals>');\n\t}\n\n\tif (typeof value === 'object')\n\t{\n\t\tvar dict = $elm$core$Dict$empty;\n\t\tfor (var i in value)\n\t\t{\n\t\t\tdict = A3($elm$core$Dict$insert, i, _Debugger_init(value[i]), dict);\n\t\t}\n\t\treturn A2($elm$browser$Debugger$Expando$Record, true, dict);\n\t}\n\n\treturn $elm$browser$Debugger$Expando$Primitive('<internals>');\n}\n\nvar _Debugger_initCons = F2(function initConsHelp(value, list)\n{\n\treturn _List_Cons(_Debugger_init(value), list);\n});\n\nvar _Debugger_initKeyValueCons = F3(function(key, value, list)\n{\n\treturn _List_Cons(\n\t\t_Utils_Tuple2(_Debugger_init(key), _Debugger_init(value)),\n\t\tlist\n\t);\n});\n\nfunction _Debugger_addSlashes(str, isChar)\n{\n\tvar s = str\n\t\t.replace(/\\\\/g, '\\\\\\\\')\n\t\t.replace(/\\n/g, '\\\\n')\n\t\t.replace(/\\t/g, '\\\\t')\n\t\t.replace(/\\r/g, '\\\\r')\n\t\t.replace(/\\v/g, '\\\\v')\n\t\t.replace(/\\0/g, '\\\\0');\n\tif (isChar)\n\t{\n\t\treturn s.replace(/\\'/g, '\\\\\\'');\n\t}\n\telse\n\t{\n\t\treturn s.replace(/\\\"/g, '\\\\\"');\n\t}\n}\n\n\n\n// BLOCK EVENTS\n\n\nfunction _Debugger_updateBlocker(oldBlocker, newBlocker)\n{\n\tif (oldBlocker === newBlocker) return;\n\n\tvar oldEvents = _Debugger_blockerToEvents(oldBlocker);\n\tvar newEvents = _Debugger_blockerToEvents(newBlocker);\n\n\t// remove old blockers\n\tfor (var i = 0; i < oldEvents.length; i++)\n\t{\n\t\tdocument.removeEventListener(oldEvents[i], _Debugger_blocker, true);\n\t}\n\n\t// add new blockers\n\tfor (var i = 0; i < newEvents.length; i++)\n\t{\n\t\tdocument.addEventListener(newEvents[i], _Debugger_blocker, true);\n\t}\n}\n\n\nfunction _Debugger_blocker(event)\n{\n\tif (event.type === 'keydown' && event.metaKey && event.which === 82)\n\t{\n\t\treturn;\n\t}\n\n\tvar isScroll = event.type === 'scroll' || event.type === 'wheel';\n\tfor (var node = event.target; node; node = node.parentNode)\n\t{\n\t\tif (isScroll ? node.id === 'elm-debugger-details' : node.id === 'elm-debugger-overlay')\n\t\t{\n\t\t\treturn;\n\t\t}\n\t}\n\n\tevent.stopPropagation();\n\tevent.preventDefault();\n}\n\nfunction _Debugger_blockerToEvents(blocker)\n{\n\treturn blocker === $elm$browser$Debugger$Overlay$BlockNone\n\t\t? []\n\t\t: blocker === $elm$browser$Debugger$Overlay$BlockMost\n\t\t\t? _Debugger_mostEvents\n\t\t\t: _Debugger_allEvents;\n}\n\nvar _Debugger_mostEvents = [\n\t'click', 'dblclick', 'mousemove',\n\t'mouseup', 'mousedown', 'mouseenter', 'mouseleave',\n\t'touchstart', 'touchend', 'touchcancel', 'touchmove',\n\t'pointerdown', 'pointerup', 'pointerover', 'pointerout',\n\t'pointerenter', 'pointerleave', 'pointermove', 'pointercancel',\n\t'dragstart', 'drag', 'dragend', 'dragenter', 'dragover', 'dragleave', 'drop',\n\t'keyup', 'keydown', 'keypress',\n\t'input', 'change',\n\t'focus', 'blur'\n];\n\nvar _Debugger_allEvents = _Debugger_mostEvents.concat('wheel', 'scroll');\n\n\n\n\n// ELEMENT\n\n\nvar _Debugger_element;\n\nvar _Browser_element = _Debugger_element || F4(function(impl, flagDecoder, debugMetadata, args)\n{\n\treturn _Platform_initialize(\n\t\tflagDecoder,\n\t\targs,\n\t\timpl.init,\n\t\timpl.update,\n\t\timpl.subscriptions,\n\t\tfunction(sendToApp, initialModel) {\n\t\t\tvar view = impl.view;\n\t\t\t/**_UNUSED/\n\t\t\tvar domNode = args['node'];\n\t\t\t//*/\n\t\t\t/**/\n\t\t\tvar domNode = args && args['node'] ? args['node'] : _Debug_crash(0);\n\t\t\t//*/\n\t\t\tvar currNode = _VirtualDom_virtualize(domNode);\n\n\t\t\treturn _Browser_makeAnimator(initialModel, function(model)\n\t\t\t{\n\t\t\t\tvar nextNode = view(model);\n\t\t\t\tvar patches = _VirtualDom_diff(currNode, nextNode);\n\t\t\t\tdomNode = _VirtualDom_applyPatches(domNode, currNode, patches, sendToApp);\n\t\t\t\tcurrNode = nextNode;\n\t\t\t});\n\t\t}\n\t);\n});\n\n\n\n// DOCUMENT\n\n\nvar _Debugger_document;\n\nvar _Browser_document = _Debugger_document || F4(function(impl, flagDecoder, debugMetadata, args)\n{\n\treturn _Platform_initialize(\n\t\tflagDecoder,\n\t\targs,\n\t\timpl.init,\n\t\timpl.update,\n\t\timpl.subscriptions,\n\t\tfunction(sendToApp, initialModel) {\n\t\t\tvar divertHrefToApp = impl.setup && impl.setup(sendToApp)\n\t\t\tvar view = impl.view;\n\t\t\tvar title = _VirtualDom_doc.title;\n\t\t\tvar bodyNode = _VirtualDom_doc.body;\n\t\t\tvar currNode = _VirtualDom_virtualize(bodyNode);\n\t\t\treturn _Browser_makeAnimator(initialModel, function(model)\n\t\t\t{\n\t\t\t\t_VirtualDom_divertHrefToApp = divertHrefToApp;\n\t\t\t\tvar doc = view(model);\n\t\t\t\tvar nextNode = _VirtualDom_node('body')(_List_Nil)(doc.body);\n\t\t\t\tvar patches = _VirtualDom_diff(currNode, nextNode);\n\t\t\t\tbodyNode = _VirtualDom_applyPatches(bodyNode, currNode, patches, sendToApp);\n\t\t\t\tcurrNode = nextNode;\n\t\t\t\t_VirtualDom_divertHrefToApp = 0;\n\t\t\t\t(title !== doc.title) && (_VirtualDom_doc.title = title = doc.title);\n\t\t\t});\n\t\t}\n\t);\n});\n\n\n\n// ANIMATION\n\n\nvar _Browser_cancelAnimationFrame =\n\ttypeof cancelAnimationFrame !== 'undefined'\n\t\t? cancelAnimationFrame\n\t\t: function(id) { clearTimeout(id); };\n\nvar _Browser_requestAnimationFrame =\n\ttypeof requestAnimationFrame !== 'undefined'\n\t\t? requestAnimationFrame\n\t\t: function(callback) { return setTimeout(callback, 1000 / 60); };\n\n\nfunction _Browser_makeAnimator(model, draw)\n{\n\tdraw(model);\n\n\tvar state = 0;\n\n\tfunction updateIfNeeded()\n\t{\n\t\tstate = state === 1\n\t\t\t? 0\n\t\t\t: ( _Browser_requestAnimationFrame(updateIfNeeded), draw(model), 1 );\n\t}\n\n\treturn function(nextModel, isSync)\n\t{\n\t\tmodel = nextModel;\n\n\t\tisSync\n\t\t\t? ( draw(model),\n\t\t\t\tstate === 2 && (state = 1)\n\t\t\t\t)\n\t\t\t: ( state === 0 && _Browser_requestAnimationFrame(updateIfNeeded),\n\t\t\t\tstate = 2\n\t\t\t\t);\n\t};\n}\n\n\n\n// APPLICATION\n\n\nfunction _Browser_application(impl)\n{\n\tvar onUrlChange = impl.onUrlChange;\n\tvar onUrlRequest = impl.onUrlRequest;\n\tvar key = function() { key.a(onUrlChange(_Browser_getUrl())); };\n\n\treturn _Browser_document({\n\t\tsetup: function(sendToApp)\n\t\t{\n\t\t\tkey.a = sendToApp;\n\t\t\t_Browser_window.addEventListener('popstate', key);\n\t\t\t_Browser_window.navigator.userAgent.indexOf('Trident') < 0 || _Browser_window.addEventListener('hashchange', key);\n\n\t\t\treturn F2(function(domNode, event)\n\t\t\t{\n\t\t\t\tif (!event.ctrlKey && !event.metaKey && !event.shiftKey && event.button < 1 && !domNode.target && !domNode.hasAttribute('download'))\n\t\t\t\t{\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tvar href = domNode.href;\n\t\t\t\t\tvar curr = _Browser_getUrl();\n\t\t\t\t\tvar next = $elm$url$Url$fromString(href).a;\n\t\t\t\t\tsendToApp(onUrlRequest(\n\t\t\t\t\t\t(next\n\t\t\t\t\t\t\t&& curr.protocol === next.protocol\n\t\t\t\t\t\t\t&& curr.host === next.host\n\t\t\t\t\t\t\t&& curr.port_.a === next.port_.a\n\t\t\t\t\t\t)\n\t\t\t\t\t\t\t? $elm$browser$Browser$Internal(next)\n\t\t\t\t\t\t\t: $elm$browser$Browser$External(href)\n\t\t\t\t\t));\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tinit: function(flags)\n\t\t{\n\t\t\treturn A3(impl.init, flags, _Browser_getUrl(), key);\n\t\t},\n\t\tview: impl.view,\n\t\tupdate: impl.update,\n\t\tsubscriptions: impl.subscriptions\n\t});\n}\n\nfunction _Browser_getUrl()\n{\n\treturn $elm$url$Url$fromString(_VirtualDom_doc.location.href).a || _Debug_crash(1);\n}\n\nvar _Browser_go = F2(function(key, n)\n{\n\treturn A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() {\n\t\tn && history.go(n);\n\t\tkey();\n\t}));\n});\n\nvar _Browser_pushUrl = F2(function(key, url)\n{\n\treturn A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() {\n\t\thistory.pushState({}, '', url);\n\t\tkey();\n\t}));\n});\n\nvar _Browser_replaceUrl = F2(function(key, url)\n{\n\treturn A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() {\n\t\thistory.replaceState({}, '', url);\n\t\tkey();\n\t}));\n});\n\n\n\n// GLOBAL EVENTS\n\n\nvar _Browser_fakeNode = { addEventListener: function() {}, removeEventListener: function() {} };\nvar _Browser_doc = typeof document !== 'undefined' ? document : _Browser_fakeNode;\nvar _Browser_window = typeof window !== 'undefined' ? window : _Browser_fakeNode;\n\nvar _Browser_on = F3(function(node, eventName, sendToSelf)\n{\n\treturn _Scheduler_spawn(_Scheduler_binding(function(callback)\n\t{\n\t\tfunction handler(event)\t{ _Scheduler_rawSpawn(sendToSelf(event)); }\n\t\tnode.addEventListener(eventName, handler, _VirtualDom_passiveSupported && { passive: true });\n\t\treturn function() { node.removeEventListener(eventName, handler); };\n\t}));\n});\n\nvar _Browser_decodeEvent = F2(function(decoder, event)\n{\n\tvar result = _Json_runHelp(decoder, event);\n\treturn $elm$core$Result$isOk(result) ? $elm$core$Maybe$Just(result.a) : $elm$core$Maybe$Nothing;\n});\n\n\n\n// PAGE VISIBILITY\n\n\nfunction _Browser_visibilityInfo()\n{\n\treturn (typeof _VirtualDom_doc.hidden !== 'undefined')\n\t\t? { hidden: 'hidden', change: 'visibilitychange' }\n\t\t:\n\t(typeof _VirtualDom_doc.mozHidden !== 'undefined')\n\t\t? { hidden: 'mozHidden', change: 'mozvisibilitychange' }\n\t\t:\n\t(typeof _VirtualDom_doc.msHidden !== 'undefined')\n\t\t? { hidden: 'msHidden', change: 'msvisibilitychange' }\n\t\t:\n\t(typeof _VirtualDom_doc.webkitHidden !== 'undefined')\n\t\t? { hidden: 'webkitHidden', change: 'webkitvisibilitychange' }\n\t\t: { hidden: 'hidden', change: 'visibilitychange' };\n}\n\n\n\n// ANIMATION FRAMES\n\n\nfunction _Browser_rAF()\n{\n\treturn _Scheduler_binding(function(callback)\n\t{\n\t\tvar id = _Browser_requestAnimationFrame(function() {\n\t\t\tcallback(_Scheduler_succeed(Date.now()));\n\t\t});\n\n\t\treturn function() {\n\t\t\t_Browser_cancelAnimationFrame(id);\n\t\t};\n\t});\n}\n\n\nfunction _Browser_now()\n{\n\treturn _Scheduler_binding(function(callback)\n\t{\n\t\tcallback(_Scheduler_succeed(Date.now()));\n\t});\n}\n\n\n\n// DOM STUFF\n\n\nfunction _Browser_withNode(id, doStuff)\n{\n\treturn _Scheduler_binding(function(callback)\n\t{\n\t\t_Browser_requestAnimationFrame(function() {\n\t\t\tvar node = document.getElementById(id);\n\t\t\tcallback(node\n\t\t\t\t? _Scheduler_succeed(doStuff(node))\n\t\t\t\t: _Scheduler_fail($elm$browser$Browser$Dom$NotFound(id))\n\t\t\t);\n\t\t});\n\t});\n}\n\n\nfunction _Browser_withWindow(doStuff)\n{\n\treturn _Scheduler_binding(function(callback)\n\t{\n\t\t_Browser_requestAnimationFrame(function() {\n\t\t\tcallback(_Scheduler_succeed(doStuff()));\n\t\t});\n\t});\n}\n\n\n// FOCUS and BLUR\n\n\nvar _Browser_call = F2(function(functionName, id)\n{\n\treturn _Browser_withNode(id, function(node) {\n\t\tnode[functionName]();\n\t\treturn _Utils_Tuple0;\n\t});\n});\n\n\n\n// WINDOW VIEWPORT\n\n\nfunction _Browser_getViewport()\n{\n\treturn {\n\t\tscene: _Browser_getScene(),\n\t\tviewport: {\n\t\t\tx: _Browser_window.pageXOffset,\n\t\t\ty: _Browser_window.pageYOffset,\n\t\t\twidth: _Browser_doc.documentElement.clientWidth,\n\t\t\theight: _Browser_doc.documentElement.clientHeight\n\t\t}\n\t};\n}\n\nfunction _Browser_getScene()\n{\n\tvar body = _Browser_doc.body;\n\tvar elem = _Browser_doc.documentElement;\n\treturn {\n\t\twidth: Math.max(body.scrollWidth, body.offsetWidth, elem.scrollWidth, elem.offsetWidth, elem.clientWidth),\n\t\theight: Math.max(body.scrollHeight, body.offsetHeight, elem.scrollHeight, elem.offsetHeight, elem.clientHeight)\n\t};\n}\n\nvar _Browser_setViewport = F2(function(x, y)\n{\n\treturn _Browser_withWindow(function()\n\t{\n\t\t_Browser_window.scroll(x, y);\n\t\treturn _Utils_Tuple0;\n\t});\n});\n\n\n\n// ELEMENT VIEWPORT\n\n\nfunction _Browser_getViewportOf(id)\n{\n\treturn _Browser_withNode(id, function(node)\n\t{\n\t\treturn {\n\t\t\tscene: {\n\t\t\t\twidth: node.scrollWidth,\n\t\t\t\theight: node.scrollHeight\n\t\t\t},\n\t\t\tviewport: {\n\t\t\t\tx: node.scrollLeft,\n\t\t\t\ty: node.scrollTop,\n\t\t\t\twidth: node.clientWidth,\n\t\t\t\theight: node.clientHeight\n\t\t\t}\n\t\t};\n\t});\n}\n\n\nvar _Browser_setViewportOf = F3(function(id, x, y)\n{\n\treturn _Browser_withNode(id, function(node)\n\t{\n\t\tnode.scrollLeft = x;\n\t\tnode.scrollTop = y;\n\t\treturn _Utils_Tuple0;\n\t});\n});\n\n\n\n// ELEMENT\n\n\nfunction _Browser_getElement(id)\n{\n\treturn _Browser_withNode(id, function(node)\n\t{\n\t\tvar rect = node.getBoundingClientRect();\n\t\tvar x = _Browser_window.pageXOffset;\n\t\tvar y = _Browser_window.pageYOffset;\n\t\treturn {\n\t\t\tscene: _Browser_getScene(),\n\t\t\tviewport: {\n\t\t\t\tx: x,\n\t\t\t\ty: y,\n\t\t\t\twidth: _Browser_doc.documentElement.clientWidth,\n\t\t\t\theight: _Browser_doc.documentElement.clientHeight\n\t\t\t},\n\t\t\telement: {\n\t\t\t\tx: x + rect.left,\n\t\t\t\ty: y + rect.top,\n\t\t\t\twidth: rect.width,\n\t\t\t\theight: rect.height\n\t\t\t}\n\t\t};\n\t});\n}\n\n\n\n// LOAD and RELOAD\n\n\nfunction _Browser_reload(skipCache)\n{\n\treturn A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function(callback)\n\t{\n\t\t_VirtualDom_doc.location.reload(skipCache);\n\t}));\n}\n\nfunction _Browser_load(url)\n{\n\treturn A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function(callback)\n\t{\n\t\ttry\n\t\t{\n\t\t\t_Browser_window.location = url;\n\t\t}\n\t\tcatch(err)\n\t\t{\n\t\t\t// Only Firefox can throw a NS_ERROR_MALFORMED_URI exception here.\n\t\t\t// Other browsers reload the page, so let's be consistent about that.\n\t\t\t_VirtualDom_doc.location.reload(false);\n\t\t}\n\t}));\n}\n\n\nfunction _Url_percentEncode(string)\n{\n\treturn encodeURIComponent(string);\n}\n\nfunction _Url_percentDecode(string)\n{\n\ttry\n\t{\n\t\treturn $elm$core$Maybe$Just(decodeURIComponent(string));\n\t}\n\tcatch (e)\n\t{\n\t\treturn $elm$core$Maybe$Nothing;\n\t}\n}var $author$project$Main$LinkClicked = function (a) {\n\treturn {$: 'LinkClicked', a: a};\n};\nvar $author$project$Main$UrlChanged = function (a) {\n\treturn {$: 'UrlChanged', a: a};\n};\nvar $elm$core$Basics$EQ = {$: 'EQ'};\nvar $elm$core$Basics$GT = {$: 'GT'};\nvar $elm$core$Basics$LT = {$: 'LT'};\nvar $elm$core$List$cons = _List_cons;\nvar $elm$core$Dict$foldr = F3(\n\tfunction (func, acc, t) {\n\t\tfoldr:\n\t\twhile (true) {\n\t\t\tif (t.$ === 'RBEmpty_elm_builtin') {\n\t\t\t\treturn acc;\n\t\t\t} else {\n\t\t\t\tvar key = t.b;\n\t\t\t\tvar value = t.c;\n\t\t\t\tvar left = t.d;\n\t\t\t\tvar right = t.e;\n\t\t\t\tvar $temp$func = func,\n\t\t\t\t\t$temp$acc = A3(\n\t\t\t\t\tfunc,\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue,\n\t\t\t\t\tA3($elm$core$Dict$foldr, func, acc, right)),\n\t\t\t\t\t$temp$t = left;\n\t\t\t\tfunc = $temp$func;\n\t\t\t\tacc = $temp$acc;\n\t\t\t\tt = $temp$t;\n\t\t\t\tcontinue foldr;\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Dict$toList = function (dict) {\n\treturn A3(\n\t\t$elm$core$Dict$foldr,\n\t\tF3(\n\t\t\tfunction (key, value, list) {\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t_Utils_Tuple2(key, value),\n\t\t\t\t\tlist);\n\t\t\t}),\n\t\t_List_Nil,\n\t\tdict);\n};\nvar $elm$core$Dict$keys = function (dict) {\n\treturn A3(\n\t\t$elm$core$Dict$foldr,\n\t\tF3(\n\t\t\tfunction (key, value, keyList) {\n\t\t\t\treturn A2($elm$core$List$cons, key, keyList);\n\t\t\t}),\n\t\t_List_Nil,\n\t\tdict);\n};\nvar $elm$core$Set$toList = function (_v0) {\n\tvar dict = _v0.a;\n\treturn $elm$core$Dict$keys(dict);\n};\nvar $elm$core$Elm$JsArray$foldr = _JsArray_foldr;\nvar $elm$core$Array$foldr = F3(\n\tfunction (func, baseCase, _v0) {\n\t\tvar tree = _v0.c;\n\t\tvar tail = _v0.d;\n\t\tvar helper = F2(\n\t\t\tfunction (node, acc) {\n\t\t\t\tif (node.$ === 'SubTree') {\n\t\t\t\t\tvar subTree = node.a;\n\t\t\t\t\treturn A3($elm$core$Elm$JsArray$foldr, helper, acc, subTree);\n\t\t\t\t} else {\n\t\t\t\t\tvar values = node.a;\n\t\t\t\t\treturn A3($elm$core$Elm$JsArray$foldr, func, acc, values);\n\t\t\t\t}\n\t\t\t});\n\t\treturn A3(\n\t\t\t$elm$core$Elm$JsArray$foldr,\n\t\t\thelper,\n\t\t\tA3($elm$core$Elm$JsArray$foldr, func, baseCase, tail),\n\t\t\ttree);\n\t});\nvar $elm$core$Array$toList = function (array) {\n\treturn A3($elm$core$Array$foldr, $elm$core$List$cons, _List_Nil, array);\n};\nvar $elm$core$Result$Err = function (a) {\n\treturn {$: 'Err', a: a};\n};\nvar $elm$json$Json$Decode$Failure = F2(\n\tfunction (a, b) {\n\t\treturn {$: 'Failure', a: a, b: b};\n\t});\nvar $elm$json$Json$Decode$Field = F2(\n\tfunction (a, b) {\n\t\treturn {$: 'Field', a: a, b: b};\n\t});\nvar $elm$json$Json$Decode$Index = F2(\n\tfunction (a, b) {\n\t\treturn {$: 'Index', a: a, b: b};\n\t});\nvar $elm$core$Result$Ok = function (a) {\n\treturn {$: 'Ok', a: a};\n};\nvar $elm$json$Json$Decode$OneOf = function (a) {\n\treturn {$: 'OneOf', a: a};\n};\nvar $elm$core$Basics$False = {$: 'False'};\nvar $elm$core$Basics$add = _Basics_add;\nvar $elm$core$Maybe$Just = function (a) {\n\treturn {$: 'Just', a: a};\n};\nvar $elm$core$Maybe$Nothing = {$: 'Nothing'};\nvar $elm$core$String$all = _String_all;\nvar $elm$core$Basics$and = _Basics_and;\nvar $elm$core$Basics$append = _Utils_append;\nvar $elm$json$Json$Encode$encode = _Json_encode;\nvar $elm$core$String$fromInt = _String_fromNumber;\nvar $elm$core$String$join = F2(\n\tfunction (sep, chunks) {\n\t\treturn A2(\n\t\t\t_String_join,\n\t\t\tsep,\n\t\t\t_List_toArray(chunks));\n\t});\nvar $elm$core$String$split = F2(\n\tfunction (sep, string) {\n\t\treturn _List_fromArray(\n\t\t\tA2(_String_split, sep, string));\n\t});\nvar $elm$json$Json$Decode$indent = function (str) {\n\treturn A2(\n\t\t$elm$core$String$join,\n\t\t'\\n ',\n\t\tA2($elm$core$String$split, '\\n', str));\n};\nvar $elm$core$List$foldl = F3(\n\tfunction (func, acc, list) {\n\t\tfoldl:\n\t\twhile (true) {\n\t\t\tif (!list.b) {\n\t\t\t\treturn acc;\n\t\t\t} else {\n\t\t\t\tvar x = list.a;\n\t\t\t\tvar xs = list.b;\n\t\t\t\tvar $temp$func = func,\n\t\t\t\t\t$temp$acc = A2(func, x, acc),\n\t\t\t\t\t$temp$list = xs;\n\t\t\t\tfunc = $temp$func;\n\t\t\t\tacc = $temp$acc;\n\t\t\t\tlist = $temp$list;\n\t\t\t\tcontinue foldl;\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$List$length = function (xs) {\n\treturn A3(\n\t\t$elm$core$List$foldl,\n\t\tF2(\n\t\t\tfunction (_v0, i) {\n\t\t\t\treturn i + 1;\n\t\t\t}),\n\t\t0,\n\t\txs);\n};\nvar $elm$core$List$map2 = _List_map2;\nvar $elm$core$Basics$le = _Utils_le;\nvar $elm$core$Basics$sub = _Basics_sub;\nvar $elm$core$List$rangeHelp = F3(\n\tfunction (lo, hi, list) {\n\t\trangeHelp:\n\t\twhile (true) {\n\t\t\tif (_Utils_cmp(lo, hi) < 1) {\n\t\t\t\tvar $temp$lo = lo,\n\t\t\t\t\t$temp$hi = hi - 1,\n\t\t\t\t\t$temp$list = A2($elm$core$List$cons, hi, list);\n\t\t\t\tlo = $temp$lo;\n\t\t\t\thi = $temp$hi;\n\t\t\t\tlist = $temp$list;\n\t\t\t\tcontinue rangeHelp;\n\t\t\t} else {\n\t\t\t\treturn list;\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$List$range = F2(\n\tfunction (lo, hi) {\n\t\treturn A3($elm$core$List$rangeHelp, lo, hi, _List_Nil);\n\t});\nvar $elm$core$List$indexedMap = F2(\n\tfunction (f, xs) {\n\t\treturn A3(\n\t\t\t$elm$core$List$map2,\n\t\t\tf,\n\t\t\tA2(\n\t\t\t\t$elm$core$List$range,\n\t\t\t\t0,\n\t\t\t\t$elm$core$List$length(xs) - 1),\n\t\t\txs);\n\t});\nvar $elm$core$Char$toCode = _Char_toCode;\nvar $elm$core$Char$isLower = function (_char) {\n\tvar code = $elm$core$Char$toCode(_char);\n\treturn (97 <= code) && (code <= 122);\n};\nvar $elm$core$Char$isUpper = function (_char) {\n\tvar code = $elm$core$Char$toCode(_char);\n\treturn (code <= 90) && (65 <= code);\n};\nvar $elm$core$Basics$or = _Basics_or;\nvar $elm$core$Char$isAlpha = function (_char) {\n\treturn $elm$core$Char$isLower(_char) || $elm$core$Char$isUpper(_char);\n};\nvar $elm$core$Char$isDigit = function (_char) {\n\tvar code = $elm$core$Char$toCode(_char);\n\treturn (code <= 57) && (48 <= code);\n};\nvar $elm$core$Char$isAlphaNum = function (_char) {\n\treturn $elm$core$Char$isLower(_char) || ($elm$core$Char$isUpper(_char) || $elm$core$Char$isDigit(_char));\n};\nvar $elm$core$List$reverse = function (list) {\n\treturn A3($elm$core$List$foldl, $elm$core$List$cons, _List_Nil, list);\n};\nvar $elm$core$String$uncons = _String_uncons;\nvar $elm$json$Json$Decode$errorOneOf = F2(\n\tfunction (i, error) {\n\t\treturn '\\n\\n(' + ($elm$core$String$fromInt(i + 1) + (') ' + $elm$json$Json$Decode$indent(\n\t\t\t$elm$json$Json$Decode$errorToString(error))));\n\t});\nvar $elm$json$Json$Decode$errorToString = function (error) {\n\treturn A2($elm$json$Json$Decode$errorToStringHelp, error, _List_Nil);\n};\nvar $elm$json$Json$Decode$errorToStringHelp = F2(\n\tfunction (error, context) {\n\t\terrorToStringHelp:\n\t\twhile (true) {\n\t\t\tswitch (error.$) {\n\t\t\t\tcase 'Field':\n\t\t\t\t\tvar f = error.a;\n\t\t\t\t\tvar err = error.b;\n\t\t\t\t\tvar isSimple = function () {\n\t\t\t\t\t\tvar _v1 = $elm$core$String$uncons(f);\n\t\t\t\t\t\tif (_v1.$ === 'Nothing') {\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar _v2 = _v1.a;\n\t\t\t\t\t\t\tvar _char = _v2.a;\n\t\t\t\t\t\t\tvar rest = _v2.b;\n\t\t\t\t\t\t\treturn $elm$core$Char$isAlpha(_char) && A2($elm$core$String$all, $elm$core$Char$isAlphaNum, rest);\n\t\t\t\t\t\t}\n\t\t\t\t\t}();\n\t\t\t\t\tvar fieldName = isSimple ? ('.' + f) : ('[\\'' + (f + '\\']'));\n\t\t\t\t\tvar $temp$error = err,\n\t\t\t\t\t\t$temp$context = A2($elm$core$List$cons, fieldName, context);\n\t\t\t\t\terror = $temp$error;\n\t\t\t\t\tcontext = $temp$context;\n\t\t\t\t\tcontinue errorToStringHelp;\n\t\t\t\tcase 'Index':\n\t\t\t\t\tvar i = error.a;\n\t\t\t\t\tvar err = error.b;\n\t\t\t\t\tvar indexName = '[' + ($elm$core$String$fromInt(i) + ']');\n\t\t\t\t\tvar $temp$error = err,\n\t\t\t\t\t\t$temp$context = A2($elm$core$List$cons, indexName, context);\n\t\t\t\t\terror = $temp$error;\n\t\t\t\t\tcontext = $temp$context;\n\t\t\t\t\tcontinue errorToStringHelp;\n\t\t\t\tcase 'OneOf':\n\t\t\t\t\tvar errors = error.a;\n\t\t\t\t\tif (!errors.b) {\n\t\t\t\t\t\treturn 'Ran into a Json.Decode.oneOf with no possibilities' + function () {\n\t\t\t\t\t\t\tif (!context.b) {\n\t\t\t\t\t\t\t\treturn '!';\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\treturn ' at json' + A2(\n\t\t\t\t\t\t\t\t\t$elm$core$String$join,\n\t\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t\t\t$elm$core$List$reverse(context));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (!errors.b.b) {\n\t\t\t\t\t\t\tvar err = errors.a;\n\t\t\t\t\t\t\tvar $temp$error = err,\n\t\t\t\t\t\t\t\t$temp$context = context;\n\t\t\t\t\t\t\terror = $temp$error;\n\t\t\t\t\t\t\tcontext = $temp$context;\n\t\t\t\t\t\t\tcontinue errorToStringHelp;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar starter = function () {\n\t\t\t\t\t\t\t\tif (!context.b) {\n\t\t\t\t\t\t\t\t\treturn 'Json.Decode.oneOf';\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\treturn 'The Json.Decode.oneOf at json' + A2(\n\t\t\t\t\t\t\t\t\t\t$elm$core$String$join,\n\t\t\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t\t\t\t$elm$core$List$reverse(context));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}();\n\t\t\t\t\t\t\tvar introduction = starter + (' failed in the following ' + ($elm$core$String$fromInt(\n\t\t\t\t\t\t\t\t$elm$core$List$length(errors)) + ' ways:'));\n\t\t\t\t\t\t\treturn A2(\n\t\t\t\t\t\t\t\t$elm$core$String$join,\n\t\t\t\t\t\t\t\t'\\n\\n',\n\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t\t\t\tintroduction,\n\t\t\t\t\t\t\t\t\tA2($elm$core$List$indexedMap, $elm$json$Json$Decode$errorOneOf, errors)));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\tvar msg = error.a;\n\t\t\t\t\tvar json = error.b;\n\t\t\t\t\tvar introduction = function () {\n\t\t\t\t\t\tif (!context.b) {\n\t\t\t\t\t\t\treturn 'Problem with the given value:\\n\\n';\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn 'Problem with the value at json' + (A2(\n\t\t\t\t\t\t\t\t$elm$core$String$join,\n\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t\t$elm$core$List$reverse(context)) + ':\\n\\n ');\n\t\t\t\t\t\t}\n\t\t\t\t\t}();\n\t\t\t\t\treturn introduction + ($elm$json$Json$Decode$indent(\n\t\t\t\t\t\tA2($elm$json$Json$Encode$encode, 4, json)) + ('\\n\\n' + msg));\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Array$branchFactor = 32;\nvar $elm$core$Array$Array_elm_builtin = F4(\n\tfunction (a, b, c, d) {\n\t\treturn {$: 'Array_elm_builtin', a: a, b: b, c: c, d: d};\n\t});\nvar $elm$core$Elm$JsArray$empty = _JsArray_empty;\nvar $elm$core$Basics$ceiling = _Basics_ceiling;\nvar $elm$core$Basics$fdiv = _Basics_fdiv;\nvar $elm$core$Basics$logBase = F2(\n\tfunction (base, number) {\n\t\treturn _Basics_log(number) / _Basics_log(base);\n\t});\nvar $elm$core$Basics$toFloat = _Basics_toFloat;\nvar $elm$core$Array$shiftStep = $elm$core$Basics$ceiling(\n\tA2($elm$core$Basics$logBase, 2, $elm$core$Array$branchFactor));\nvar $elm$core$Array$empty = A4($elm$core$Array$Array_elm_builtin, 0, $elm$core$Array$shiftStep, $elm$core$Elm$JsArray$empty, $elm$core$Elm$JsArray$empty);\nvar $elm$core$Elm$JsArray$initialize = _JsArray_initialize;\nvar $elm$core$Array$Leaf = function (a) {\n\treturn {$: 'Leaf', a: a};\n};\nvar $elm$core$Basics$apL = F2(\n\tfunction (f, x) {\n\t\treturn f(x);\n\t});\nvar $elm$core$Basics$apR = F2(\n\tfunction (x, f) {\n\t\treturn f(x);\n\t});\nvar $elm$core$Basics$eq = _Utils_equal;\nvar $elm$core$Basics$floor = _Basics_floor;\nvar $elm$core$Elm$JsArray$length = _JsArray_length;\nvar $elm$core$Basics$gt = _Utils_gt;\nvar $elm$core$Basics$max = F2(\n\tfunction (x, y) {\n\t\treturn (_Utils_cmp(x, y) > 0) ? x : y;\n\t});\nvar $elm$core$Basics$mul = _Basics_mul;\nvar $elm$core$Array$SubTree = function (a) {\n\treturn {$: 'SubTree', a: a};\n};\nvar $elm$core$Elm$JsArray$initializeFromList = _JsArray_initializeFromList;\nvar $elm$core$Array$compressNodes = F2(\n\tfunction (nodes, acc) {\n\t\tcompressNodes:\n\t\twhile (true) {\n\t\t\tvar _v0 = A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, nodes);\n\t\t\tvar node = _v0.a;\n\t\t\tvar remainingNodes = _v0.b;\n\t\t\tvar newAcc = A2(\n\t\t\t\t$elm$core$List$cons,\n\t\t\t\t$elm$core$Array$SubTree(node),\n\t\t\t\tacc);\n\t\t\tif (!remainingNodes.b) {\n\t\t\t\treturn $elm$core$List$reverse(newAcc);\n\t\t\t} else {\n\t\t\t\tvar $temp$nodes = remainingNodes,\n\t\t\t\t\t$temp$acc = newAcc;\n\t\t\t\tnodes = $temp$nodes;\n\t\t\t\tacc = $temp$acc;\n\t\t\t\tcontinue compressNodes;\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Tuple$first = function (_v0) {\n\tvar x = _v0.a;\n\treturn x;\n};\nvar $elm$core$Array$treeFromBuilder = F2(\n\tfunction (nodeList, nodeListSize) {\n\t\ttreeFromBuilder:\n\t\twhile (true) {\n\t\t\tvar newNodeSize = $elm$core$Basics$ceiling(nodeListSize / $elm$core$Array$branchFactor);\n\t\t\tif (newNodeSize === 1) {\n\t\t\t\treturn A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, nodeList).a;\n\t\t\t} else {\n\t\t\t\tvar $temp$nodeList = A2($elm$core$Array$compressNodes, nodeList, _List_Nil),\n\t\t\t\t\t$temp$nodeListSize = newNodeSize;\n\t\t\t\tnodeList = $temp$nodeList;\n\t\t\t\tnodeListSize = $temp$nodeListSize;\n\t\t\t\tcontinue treeFromBuilder;\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Array$builderToArray = F2(\n\tfunction (reverseNodeList, builder) {\n\t\tif (!builder.nodeListSize) {\n\t\t\treturn A4(\n\t\t\t\t$elm$core$Array$Array_elm_builtin,\n\t\t\t\t$elm$core$Elm$JsArray$length(builder.tail),\n\t\t\t\t$elm$core$Array$shiftStep,\n\t\t\t\t$elm$core$Elm$JsArray$empty,\n\t\t\t\tbuilder.tail);\n\t\t} else {\n\t\t\tvar treeLen = builder.nodeListSize * $elm$core$Array$branchFactor;\n\t\t\tvar depth = $elm$core$Basics$floor(\n\t\t\t\tA2($elm$core$Basics$logBase, $elm$core$Array$branchFactor, treeLen - 1));\n\t\t\tvar correctNodeList = reverseNodeList ? $elm$core$List$reverse(builder.nodeList) : builder.nodeList;\n\t\t\tvar tree = A2($elm$core$Array$treeFromBuilder, correctNodeList, builder.nodeListSize);\n\t\t\treturn A4(\n\t\t\t\t$elm$core$Array$Array_elm_builtin,\n\t\t\t\t$elm$core$Elm$JsArray$length(builder.tail) + treeLen,\n\t\t\t\tA2($elm$core$Basics$max, 5, depth * $elm$core$Array$shiftStep),\n\t\t\t\ttree,\n\t\t\t\tbuilder.tail);\n\t\t}\n\t});\nvar $elm$core$Basics$idiv = _Basics_idiv;\nvar $elm$core$Basics$lt = _Utils_lt;\nvar $elm$core$Array$initializeHelp = F5(\n\tfunction (fn, fromIndex, len, nodeList, tail) {\n\t\tinitializeHelp:\n\t\twhile (true) {\n\t\t\tif (fromIndex < 0) {\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$core$Array$builderToArray,\n\t\t\t\t\tfalse,\n\t\t\t\t\t{nodeList: nodeList, nodeListSize: (len / $elm$core$Array$branchFactor) | 0, tail: tail});\n\t\t\t} else {\n\t\t\t\tvar leaf = $elm$core$Array$Leaf(\n\t\t\t\t\tA3($elm$core$Elm$JsArray$initialize, $elm$core$Array$branchFactor, fromIndex, fn));\n\t\t\t\tvar $temp$fn = fn,\n\t\t\t\t\t$temp$fromIndex = fromIndex - $elm$core$Array$branchFactor,\n\t\t\t\t\t$temp$len = len,\n\t\t\t\t\t$temp$nodeList = A2($elm$core$List$cons, leaf, nodeList),\n\t\t\t\t\t$temp$tail = tail;\n\t\t\t\tfn = $temp$fn;\n\t\t\t\tfromIndex = $temp$fromIndex;\n\t\t\t\tlen = $temp$len;\n\t\t\t\tnodeList = $temp$nodeList;\n\t\t\t\ttail = $temp$tail;\n\t\t\t\tcontinue initializeHelp;\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Basics$remainderBy = _Basics_remainderBy;\nvar $elm$core$Array$initialize = F2(\n\tfunction (len, fn) {\n\t\tif (len <= 0) {\n\t\t\treturn $elm$core$Array$empty;\n\t\t} else {\n\t\t\tvar tailLen = len % $elm$core$Array$branchFactor;\n\t\t\tvar tail = A3($elm$core$Elm$JsArray$initialize, tailLen, len - tailLen, fn);\n\t\t\tvar initialFromIndex = (len - tailLen) - $elm$core$Array$branchFactor;\n\t\t\treturn A5($elm$core$Array$initializeHelp, fn, initialFromIndex, len, _List_Nil, tail);\n\t\t}\n\t});\nvar $elm$core$Basics$True = {$: 'True'};\nvar $elm$core$Result$isOk = function (result) {\n\tif (result.$ === 'Ok') {\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\nvar $elm$json$Json$Decode$map = _Json_map1;\nvar $elm$json$Json$Decode$map2 = _Json_map2;\nvar $elm$json$Json$Decode$succeed = _Json_succeed;\nvar $elm$virtual_dom$VirtualDom$toHandlerInt = function (handler) {\n\tswitch (handler.$) {\n\t\tcase 'Normal':\n\t\t\treturn 0;\n\t\tcase 'MayStopPropagation':\n\t\t\treturn 1;\n\t\tcase 'MayPreventDefault':\n\t\t\treturn 2;\n\t\tdefault:\n\t\t\treturn 3;\n\t}\n};\nvar $elm$browser$Debugger$Expando$ArraySeq = {$: 'ArraySeq'};\nvar $elm$browser$Debugger$Overlay$BlockMost = {$: 'BlockMost'};\nvar $elm$browser$Debugger$Overlay$BlockNone = {$: 'BlockNone'};\nvar $elm$browser$Debugger$Expando$Constructor = F3(\n\tfunction (a, b, c) {\n\t\treturn {$: 'Constructor', a: a, b: b, c: c};\n\t});\nvar $elm$browser$Debugger$Expando$Dictionary = F2(\n\tfunction (a, b) {\n\t\treturn {$: 'Dictionary', a: a, b: b};\n\t});\nvar $elm$browser$Debugger$Main$Down = {$: 'Down'};\nvar $elm$browser$Debugger$Expando$ListSeq = {$: 'ListSeq'};\nvar $elm$browser$Debugger$Main$NoOp = {$: 'NoOp'};\nvar $elm$browser$Debugger$Expando$Primitive = function (a) {\n\treturn {$: 'Primitive', a: a};\n};\nvar $elm$browser$Debugger$Expando$Record = F2(\n\tfunction (a, b) {\n\t\treturn {$: 'Record', a: a, b: b};\n\t});\nvar $elm$browser$Debugger$Expando$S = function (a) {\n\treturn {$: 'S', a: a};\n};\nvar $elm$browser$Debugger$Expando$Sequence = F3(\n\tfunction (a, b, c) {\n\t\treturn {$: 'Sequence', a: a, b: b, c: c};\n\t});\nvar $elm$browser$Debugger$Expando$SetSeq = {$: 'SetSeq'};\nvar $elm$browser$Debugger$Main$Up = {$: 'Up'};\nvar $elm$browser$Debugger$Main$UserMsg = function (a) {\n\treturn {$: 'UserMsg', a: a};\n};\nvar $elm$browser$Debugger$Main$Export = {$: 'Export'};\nvar $elm$browser$Debugger$Main$Import = {$: 'Import'};\nvar $elm$browser$Debugger$Main$Open = {$: 'Open'};\nvar $elm$browser$Debugger$Main$OverlayMsg = function (a) {\n\treturn {$: 'OverlayMsg', a: a};\n};\nvar $elm$browser$Debugger$Main$Resume = {$: 'Resume'};\nvar $elm$browser$Debugger$Main$isPaused = function (state) {\n\tif (state.$ === 'Running') {\n\t\treturn false;\n\t} else {\n\t\treturn true;\n\t}\n};\nvar $elm$browser$Debugger$History$size = function (history) {\n\treturn history.numMessages;\n};\nvar $elm$browser$Debugger$Overlay$Accept = function (a) {\n\treturn {$: 'Accept', a: a};\n};\nvar $elm$browser$Debugger$Overlay$Choose = F2(\n\tfunction (a, b) {\n\t\treturn {$: 'Choose', a: a, b: b};\n\t});\nvar $elm$html$Html$div = _VirtualDom_node('div');\nvar $elm$json$Json$Encode$string = _Json_wrap;\nvar $elm$html$Html$Attributes$stringProperty = F2(\n\tfunction (key, string) {\n\t\treturn A2(\n\t\t\t_VirtualDom_property,\n\t\t\tkey,\n\t\t\t$elm$json$Json$Encode$string(string));\n\t});\nvar $elm$html$Html$Attributes$id = $elm$html$Html$Attributes$stringProperty('id');\nvar $elm$virtual_dom$VirtualDom$Normal = function (a) {\n\treturn {$: 'Normal', a: a};\n};\nvar $elm$virtual_dom$VirtualDom$on = _VirtualDom_on;\nvar $elm$html$Html$Events$on = F2(\n\tfunction (event, decoder) {\n\t\treturn A2(\n\t\t\t$elm$virtual_dom$VirtualDom$on,\n\t\t\tevent,\n\t\t\t$elm$virtual_dom$VirtualDom$Normal(decoder));\n\t});\nvar $elm$html$Html$Events$onClick = function (msg) {\n\treturn A2(\n\t\t$elm$html$Html$Events$on,\n\t\t'click',\n\t\t$elm$json$Json$Decode$succeed(msg));\n};\nvar $elm$html$Html$span = _VirtualDom_node('span');\nvar $elm$virtual_dom$VirtualDom$style = _VirtualDom_style;\nvar $elm$html$Html$Attributes$style = $elm$virtual_dom$VirtualDom$style;\nvar $elm$virtual_dom$VirtualDom$text = _VirtualDom_text;\nvar $elm$html$Html$text = $elm$virtual_dom$VirtualDom$text;\nvar $elm$html$Html$a = _VirtualDom_node('a');\nvar $elm$browser$Debugger$Overlay$goodNews1 = '\\nThe good news is that having values like this in your message type is not\\nso great in the long run. You are better off using simpler data, like\\n';\nvar $elm$browser$Debugger$Overlay$goodNews2 = '\\nfunction can pattern match on that data and call whatever functions, JSON\\ndecoders, etc. you need. This makes the code much more explicit and easy to\\nfollow for other readers (or you in a few months!)\\n';\nvar $elm$html$Html$Attributes$href = function (url) {\n\treturn A2(\n\t\t$elm$html$Html$Attributes$stringProperty,\n\t\t'href',\n\t\t_VirtualDom_noJavaScriptUri(url));\n};\nvar $elm$core$List$foldrHelper = F4(\n\tfunction (fn, acc, ctr, ls) {\n\t\tif (!ls.b) {\n\t\t\treturn acc;\n\t\t} else {\n\t\t\tvar a = ls.a;\n\t\t\tvar r1 = ls.b;\n\t\t\tif (!r1.b) {\n\t\t\t\treturn A2(fn, a, acc);\n\t\t\t} else {\n\t\t\t\tvar b = r1.a;\n\t\t\t\tvar r2 = r1.b;\n\t\t\t\tif (!r2.b) {\n\t\t\t\t\treturn A2(\n\t\t\t\t\t\tfn,\n\t\t\t\t\t\ta,\n\t\t\t\t\t\tA2(fn, b, acc));\n\t\t\t\t} else {\n\t\t\t\t\tvar c = r2.a;\n\t\t\t\t\tvar r3 = r2.b;\n\t\t\t\t\tif (!r3.b) {\n\t\t\t\t\t\treturn A2(\n\t\t\t\t\t\t\tfn,\n\t\t\t\t\t\t\ta,\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\tfn,\n\t\t\t\t\t\t\t\tb,\n\t\t\t\t\t\t\t\tA2(fn, c, acc)));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar d = r3.a;\n\t\t\t\t\t\tvar r4 = r3.b;\n\t\t\t\t\t\tvar res = (ctr > 500) ? A3(\n\t\t\t\t\t\t\t$elm$core$List$foldl,\n\t\t\t\t\t\t\tfn,\n\t\t\t\t\t\t\tacc,\n\t\t\t\t\t\t\t$elm$core$List$reverse(r4)) : A4($elm$core$List$foldrHelper, fn, acc, ctr + 1, r4);\n\t\t\t\t\t\treturn A2(\n\t\t\t\t\t\t\tfn,\n\t\t\t\t\t\t\ta,\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\tfn,\n\t\t\t\t\t\t\t\tb,\n\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\tfn,\n\t\t\t\t\t\t\t\t\tc,\n\t\t\t\t\t\t\t\t\tA2(fn, d, res))));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$List$foldr = F3(\n\tfunction (fn, acc, ls) {\n\t\treturn A4($elm$core$List$foldrHelper, fn, acc, 0, ls);\n\t});\nvar $elm$core$List$map = F2(\n\tfunction (f, xs) {\n\t\treturn A3(\n\t\t\t$elm$core$List$foldr,\n\t\t\tF2(\n\t\t\t\tfunction (x, acc) {\n\t\t\t\t\treturn A2(\n\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\tf(x),\n\t\t\t\t\t\tacc);\n\t\t\t\t}),\n\t\t\t_List_Nil,\n\t\t\txs);\n\t});\nvar $elm$html$Html$p = _VirtualDom_node('p');\nvar $elm$html$Html$ul = _VirtualDom_node('ul');\nvar $elm$html$Html$code = _VirtualDom_node('code');\nvar $elm$browser$Debugger$Overlay$viewCode = function (name) {\n\treturn A2(\n\t\t$elm$html$Html$code,\n\t\t_List_Nil,\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\t$elm$html$Html$text(name)\n\t\t\t]));\n};\nvar $elm$browser$Debugger$Overlay$addCommas = function (items) {\n\tif (!items.b) {\n\t\treturn '';\n\t} else {\n\t\tif (!items.b.b) {\n\t\t\tvar item = items.a;\n\t\t\treturn item;\n\t\t} else {\n\t\t\tif (!items.b.b.b) {\n\t\t\t\tvar item1 = items.a;\n\t\t\t\tvar _v1 = items.b;\n\t\t\t\tvar item2 = _v1.a;\n\t\t\t\treturn item1 + (' and ' + item2);\n\t\t\t} else {\n\t\t\t\tvar lastItem = items.a;\n\t\t\t\tvar otherItems = items.b;\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$core$String$join,\n\t\t\t\t\t', ',\n\t\t\t\t\t_Utils_ap(\n\t\t\t\t\t\totherItems,\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[' and ' + lastItem])));\n\t\t\t}\n\t\t}\n\t}\n};\nvar $elm$html$Html$li = _VirtualDom_node('li');\nvar $elm$browser$Debugger$Overlay$problemToString = function (problem) {\n\tswitch (problem.$) {\n\t\tcase 'Function':\n\t\t\treturn 'functions';\n\t\tcase 'Decoder':\n\t\t\treturn 'JSON decoders';\n\t\tcase 'Task':\n\t\t\treturn 'tasks';\n\t\tcase 'Process':\n\t\t\treturn 'processes';\n\t\tcase 'Socket':\n\t\t\treturn 'web sockets';\n\t\tcase 'Request':\n\t\t\treturn 'HTTP requests';\n\t\tcase 'Program':\n\t\t\treturn 'programs';\n\t\tdefault:\n\t\t\treturn 'virtual DOM values';\n\t}\n};\nvar $elm$browser$Debugger$Overlay$viewProblemType = function (_v0) {\n\tvar name = _v0.name;\n\tvar problems = _v0.problems;\n\treturn A2(\n\t\t$elm$html$Html$li,\n\t\t_List_Nil,\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\t$elm$browser$Debugger$Overlay$viewCode(name),\n\t\t\t\t$elm$html$Html$text(\n\t\t\t\t' can contain ' + ($elm$browser$Debugger$Overlay$addCommas(\n\t\t\t\t\tA2($elm$core$List$map, $elm$browser$Debugger$Overlay$problemToString, problems)) + '.'))\n\t\t\t]));\n};\nvar $elm$browser$Debugger$Overlay$viewBadMetadata = function (_v0) {\n\tvar message = _v0.message;\n\tvar problems = _v0.problems;\n\treturn _List_fromArray(\n\t\t[\n\t\t\tA2(\n\t\t\t$elm$html$Html$p,\n\t\t\t_List_Nil,\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\t$elm$html$Html$text('The '),\n\t\t\t\t\t$elm$browser$Debugger$Overlay$viewCode(message),\n\t\t\t\t\t$elm$html$Html$text(' type of your program cannot be reliably serialized for history files.')\n\t\t\t\t])),\n\t\t\tA2(\n\t\t\t$elm$html$Html$p,\n\t\t\t_List_Nil,\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\t$elm$html$Html$text('Functions cannot be serialized, nor can values that contain functions. This is a problem in these places:')\n\t\t\t\t])),\n\t\t\tA2(\n\t\t\t$elm$html$Html$ul,\n\t\t\t_List_Nil,\n\t\t\tA2($elm$core$List$map, $elm$browser$Debugger$Overlay$viewProblemType, problems)),\n\t\t\tA2(\n\t\t\t$elm$html$Html$p,\n\t\t\t_List_Nil,\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\t$elm$html$Html$text($elm$browser$Debugger$Overlay$goodNews1),\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$a,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$Attributes$href('https://guide.elm-lang.org/types/custom_types.html')\n\t\t\t\t\t\t]),\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$text('custom types')\n\t\t\t\t\t\t])),\n\t\t\t\t\t$elm$html$Html$text(', in your messages. From there, your '),\n\t\t\t\t\t$elm$browser$Debugger$Overlay$viewCode('update'),\n\t\t\t\t\t$elm$html$Html$text($elm$browser$Debugger$Overlay$goodNews2)\n\t\t\t\t]))\n\t\t]);\n};\nvar $elm$virtual_dom$VirtualDom$map = _VirtualDom_map;\nvar $elm$html$Html$map = $elm$virtual_dom$VirtualDom$map;\nvar $elm$browser$Debugger$Overlay$Cancel = {$: 'Cancel'};\nvar $elm$browser$Debugger$Overlay$Proceed = {$: 'Proceed'};\nvar $elm$html$Html$button = _VirtualDom_node('button');\nvar $elm$browser$Debugger$Overlay$viewButtons = function (buttons) {\n\tvar btn = F2(\n\t\tfunction (msg, string) {\n\t\t\treturn A2(\n\t\t\t\t$elm$html$Html$button,\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'margin-right', '20px'),\n\t\t\t\t\t\t$elm$html$Html$Events$onClick(msg)\n\t\t\t\t\t]),\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\t$elm$html$Html$text(string)\n\t\t\t\t\t]));\n\t\t});\n\tvar buttonNodes = function () {\n\t\tif (buttons.$ === 'Accept') {\n\t\t\tvar proceed = buttons.a;\n\t\t\treturn _List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2(btn, $elm$browser$Debugger$Overlay$Proceed, proceed)\n\t\t\t\t]);\n\t\t} else {\n\t\t\tvar cancel = buttons.a;\n\t\t\tvar proceed = buttons.b;\n\t\t\treturn _List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2(btn, $elm$browser$Debugger$Overlay$Cancel, cancel),\n\t\t\t\t\tA2(btn, $elm$browser$Debugger$Overlay$Proceed, proceed)\n\t\t\t\t]);\n\t\t}\n\t}();\n\treturn A2(\n\t\t$elm$html$Html$div,\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'height', '60px'),\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'line-height', '60px'),\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'text-align', 'right'),\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'background-color', 'rgb(50, 50, 50)')\n\t\t\t]),\n\t\tbuttonNodes);\n};\nvar $elm$browser$Debugger$Overlay$viewMessage = F4(\n\tfunction (config, title, details, buttons) {\n\t\treturn A2(\n\t\t\t$elm$html$Html$div,\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\t$elm$html$Html$Attributes$id('elm-debugger-overlay'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'position', 'fixed'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'top', '0'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'left', '0'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'width', '100vw'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'height', '100vh'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'color', 'white'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'pointer-events', 'none'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'font-family', '\\'Trebuchet MS\\', \\'Lucida Grande\\', \\'Bitstream Vera Sans\\', \\'Helvetica Neue\\', sans-serif'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'z-index', '2147483647')\n\t\t\t\t]),\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'position', 'absolute'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'width', '600px'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'height', '100vh'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'padding-left', 'calc(50% - 300px)'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'padding-right', 'calc(50% - 300px)'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'background-color', 'rgba(200, 200, 200, 0.7)'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'pointer-events', 'auto')\n\t\t\t\t\t\t]),\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'font-size', '36px'),\n\t\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'height', '80px'),\n\t\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'background-color', 'rgb(50, 50, 50)'),\n\t\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'padding-left', '22px'),\n\t\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'vertical-align', 'middle'),\n\t\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'line-height', '80px')\n\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t$elm$html$Html$text(title)\n\t\t\t\t\t\t\t\t])),\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$id('elm-debugger-details'),\n\t\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'padding', ' 8px 20px'),\n\t\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'overflow-y', 'auto'),\n\t\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'max-height', 'calc(100vh - 156px)'),\n\t\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'background-color', 'rgb(61, 61, 61)')\n\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\tdetails),\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$html$Html$map,\n\t\t\t\t\t\t\tconfig.wrap,\n\t\t\t\t\t\t\t$elm$browser$Debugger$Overlay$viewButtons(buttons))\n\t\t\t\t\t\t]))\n\t\t\t\t]));\n\t});\nvar $elm$virtual_dom$VirtualDom$attribute = F2(\n\tfunction (key, value) {\n\t\treturn A2(\n\t\t\t_VirtualDom_attribute,\n\t\t\t_VirtualDom_noOnOrFormAction(key),\n\t\t\t_VirtualDom_noJavaScriptOrHtmlUri(value));\n\t});\nvar $elm$core$Basics$negate = function (n) {\n\treturn -n;\n};\nvar $elm$virtual_dom$VirtualDom$nodeNS = function (tag) {\n\treturn _VirtualDom_nodeNS(\n\t\t_VirtualDom_noScript(tag));\n};\nvar $elm$core$String$fromFloat = _String_fromNumber;\nvar $elm$browser$Debugger$Overlay$viewShape = F4(\n\tfunction (x, y, angle, coordinates) {\n\t\treturn A4(\n\t\t\t$elm$virtual_dom$VirtualDom$nodeNS,\n\t\t\t'http://www.w3.org/2000/svg',\n\t\t\t'polygon',\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2($elm$virtual_dom$VirtualDom$attribute, 'points', coordinates),\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$virtual_dom$VirtualDom$attribute,\n\t\t\t\t\t'transform',\n\t\t\t\t\t'translate(' + ($elm$core$String$fromFloat(x) + (' ' + ($elm$core$String$fromFloat(y) + (') rotate(' + ($elm$core$String$fromFloat(-angle) + ')'))))))\n\t\t\t\t]),\n\t\t\t_List_Nil);\n\t});\nvar $elm$browser$Debugger$Overlay$elmLogo = A4(\n\t$elm$virtual_dom$VirtualDom$nodeNS,\n\t'http://www.w3.org/2000/svg',\n\t'svg',\n\t_List_fromArray(\n\t\t[\n\t\t\tA2($elm$virtual_dom$VirtualDom$attribute, 'viewBox', '-300 -300 600 600'),\n\t\t\tA2($elm$virtual_dom$VirtualDom$attribute, 'xmlns', 'http://www.w3.org/2000/svg'),\n\t\t\tA2($elm$virtual_dom$VirtualDom$attribute, 'fill', 'currentColor'),\n\t\t\tA2($elm$virtual_dom$VirtualDom$attribute, 'width', '24px'),\n\t\t\tA2($elm$virtual_dom$VirtualDom$attribute, 'height', '24px')\n\t\t]),\n\t_List_fromArray(\n\t\t[\n\t\t\tA4(\n\t\t\t$elm$virtual_dom$VirtualDom$nodeNS,\n\t\t\t'http://www.w3.org/2000/svg',\n\t\t\t'g',\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2($elm$virtual_dom$VirtualDom$attribute, 'transform', 'scale(1 -1)')\n\t\t\t\t]),\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA4($elm$browser$Debugger$Overlay$viewShape, 0, -210, 0, '-280,-90 0,190 280,-90'),\n\t\t\t\t\tA4($elm$browser$Debugger$Overlay$viewShape, -210, 0, 90, '-280,-90 0,190 280,-90'),\n\t\t\t\t\tA4($elm$browser$Debugger$Overlay$viewShape, 207, 207, 45, '-198,-66 0,132 198,-66'),\n\t\t\t\t\tA4($elm$browser$Debugger$Overlay$viewShape, 150, 0, 0, '-130,0 0,-130 130,0 0,130'),\n\t\t\t\t\tA4($elm$browser$Debugger$Overlay$viewShape, -89, 239, 0, '-191,61 69,61 191,-61 -69,-61'),\n\t\t\t\t\tA4($elm$browser$Debugger$Overlay$viewShape, 0, 106, 180, '-130,-44 0,86 130,-44'),\n\t\t\t\t\tA4($elm$browser$Debugger$Overlay$viewShape, 256, -150, 270, '-130,-44 0,86 130,-44')\n\t\t\t\t]))\n\t\t]));\nvar $elm$core$String$length = _String_length;\nvar $elm$browser$Debugger$Overlay$viewMiniControls = F2(\n\tfunction (config, numMsgs) {\n\t\tvar string = $elm$core$String$fromInt(numMsgs);\n\t\tvar width = $elm$core$String$fromInt(\n\t\t\t2 + $elm$core$String$length(string));\n\t\treturn A2(\n\t\t\t$elm$html$Html$div,\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'position', 'fixed'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'bottom', '2em'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'right', '2em'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'width', 'calc(42px + ' + (width + 'ch)')),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'height', '36px'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'background-color', '#1293D8'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'color', 'white'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'font-family', 'monospace'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'pointer-events', 'auto'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'z-index', '2147483647'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'display', 'flex'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'justify-content', 'center'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'align-items', 'center'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'cursor', 'pointer'),\n\t\t\t\t\t$elm$html$Html$Events$onClick(config.open)\n\t\t\t\t]),\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\t$elm$browser$Debugger$Overlay$elmLogo,\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$span,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'padding-left', 'calc(1ch + 6px)'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'padding-right', '1ch')\n\t\t\t\t\t\t]),\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$text(string)\n\t\t\t\t\t\t]))\n\t\t\t\t]));\n\t});\nvar $elm$browser$Debugger$Overlay$explanationBad = '\\nThe messages in this history do not match the messages handled by your\\nprogram. I noticed changes in the following types:\\n';\nvar $elm$browser$Debugger$Overlay$explanationRisky = '\\nThis history seems old. It will work with this program, but some\\nmessages have been added since the history was created:\\n';\nvar $elm$core$List$intersperse = F2(\n\tfunction (sep, xs) {\n\t\tif (!xs.b) {\n\t\t\treturn _List_Nil;\n\t\t} else {\n\t\t\tvar hd = xs.a;\n\t\t\tvar tl = xs.b;\n\t\t\tvar step = F2(\n\t\t\t\tfunction (x, rest) {\n\t\t\t\t\treturn A2(\n\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\tsep,\n\t\t\t\t\t\tA2($elm$core$List$cons, x, rest));\n\t\t\t\t});\n\t\t\tvar spersed = A3($elm$core$List$foldr, step, _List_Nil, tl);\n\t\t\treturn A2($elm$core$List$cons, hd, spersed);\n\t\t}\n\t});\nvar $elm$browser$Debugger$Overlay$viewMention = F2(\n\tfunction (tags, verbed) {\n\t\tvar _v0 = A2(\n\t\t\t$elm$core$List$map,\n\t\t\t$elm$browser$Debugger$Overlay$viewCode,\n\t\t\t$elm$core$List$reverse(tags));\n\t\tif (!_v0.b) {\n\t\t\treturn $elm$html$Html$text('');\n\t\t} else {\n\t\t\tif (!_v0.b.b) {\n\t\t\t\tvar tag = _v0.a;\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$html$Html$li,\n\t\t\t\t\t_List_Nil,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$text(verbed),\n\t\t\t\t\t\t\ttag,\n\t\t\t\t\t\t\t$elm$html$Html$text('.')\n\t\t\t\t\t\t]));\n\t\t\t} else {\n\t\t\t\tif (!_v0.b.b.b) {\n\t\t\t\t\tvar tag2 = _v0.a;\n\t\t\t\t\tvar _v1 = _v0.b;\n\t\t\t\t\tvar tag1 = _v1.a;\n\t\t\t\t\treturn A2(\n\t\t\t\t\t\t$elm$html$Html$li,\n\t\t\t\t\t\t_List_Nil,\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t$elm$html$Html$text(verbed),\n\t\t\t\t\t\t\t\ttag1,\n\t\t\t\t\t\t\t\t$elm$html$Html$text(' and '),\n\t\t\t\t\t\t\t\ttag2,\n\t\t\t\t\t\t\t\t$elm$html$Html$text('.')\n\t\t\t\t\t\t\t]));\n\t\t\t\t} else {\n\t\t\t\t\tvar lastTag = _v0.a;\n\t\t\t\t\tvar otherTags = _v0.b;\n\t\t\t\t\treturn A2(\n\t\t\t\t\t\t$elm$html$Html$li,\n\t\t\t\t\t\t_List_Nil,\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t\t$elm$html$Html$text(verbed),\n\t\t\t\t\t\t\t_Utils_ap(\n\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t$elm$core$List$intersperse,\n\t\t\t\t\t\t\t\t\t$elm$html$Html$text(', '),\n\t\t\t\t\t\t\t\t\t$elm$core$List$reverse(otherTags)),\n\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t$elm$html$Html$text(', and '),\n\t\t\t\t\t\t\t\t\t\tlastTag,\n\t\t\t\t\t\t\t\t\t\t$elm$html$Html$text('.')\n\t\t\t\t\t\t\t\t\t]))));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\nvar $elm$browser$Debugger$Overlay$viewChange = function (change) {\n\treturn A2(\n\t\t$elm$html$Html$li,\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'margin', '8px 0')\n\t\t\t]),\n\t\tfunction () {\n\t\t\tif (change.$ === 'AliasChange') {\n\t\t\t\tvar name = change.a;\n\t\t\t\treturn _List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$html$Html$span,\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'font-size', '1.5em')\n\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t$elm$browser$Debugger$Overlay$viewCode(name)\n\t\t\t\t\t\t\t]))\n\t\t\t\t\t]);\n\t\t\t} else {\n\t\t\t\tvar name = change.a;\n\t\t\t\tvar removed = change.b.removed;\n\t\t\t\tvar changed = change.b.changed;\n\t\t\t\tvar added = change.b.added;\n\t\t\t\tvar argsMatch = change.b.argsMatch;\n\t\t\t\treturn _List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$html$Html$span,\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'font-size', '1.5em')\n\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t$elm$browser$Debugger$Overlay$viewCode(name)\n\t\t\t\t\t\t\t])),\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$html$Html$ul,\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'list-style-type', 'disc'),\n\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'padding-left', '2em')\n\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\tA2($elm$browser$Debugger$Overlay$viewMention, removed, 'Removed '),\n\t\t\t\t\t\t\t\tA2($elm$browser$Debugger$Overlay$viewMention, changed, 'Changed '),\n\t\t\t\t\t\t\t\tA2($elm$browser$Debugger$Overlay$viewMention, added, 'Added ')\n\t\t\t\t\t\t\t])),\n\t\t\t\t\t\targsMatch ? $elm$html$Html$text('') : $elm$html$Html$text('This may be due to the fact that the type variable names changed.')\n\t\t\t\t\t]);\n\t\t\t}\n\t\t}());\n};\nvar $elm$browser$Debugger$Overlay$viewReport = F2(\n\tfunction (isBad, report) {\n\t\tswitch (report.$) {\n\t\t\tcase 'CorruptHistory':\n\t\t\t\treturn _List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\t$elm$html$Html$text('Looks like this history file is corrupt. I cannot understand it.')\n\t\t\t\t\t]);\n\t\t\tcase 'VersionChanged':\n\t\t\t\tvar old = report.a;\n\t\t\t\tvar _new = report.b;\n\t\t\t\treturn _List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\t$elm$html$Html$text('This history was created with Elm ' + (old + (', but you are using Elm ' + (_new + ' right now.'))))\n\t\t\t\t\t]);\n\t\t\tcase 'MessageChanged':\n\t\t\t\tvar old = report.a;\n\t\t\t\tvar _new = report.b;\n\t\t\t\treturn _List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\t$elm$html$Html$text('To import some other history, the overall message type must' + ' be the same. The old history has '),\n\t\t\t\t\t\t$elm$browser$Debugger$Overlay$viewCode(old),\n\t\t\t\t\t\t$elm$html$Html$text(' messages, but the new program works with '),\n\t\t\t\t\t\t$elm$browser$Debugger$Overlay$viewCode(_new),\n\t\t\t\t\t\t$elm$html$Html$text(' messages.')\n\t\t\t\t\t]);\n\t\t\tdefault:\n\t\t\t\tvar changes = report.a;\n\t\t\t\treturn _List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$html$Html$p,\n\t\t\t\t\t\t_List_Nil,\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t$elm$html$Html$text(\n\t\t\t\t\t\t\t\tisBad ? $elm$browser$Debugger$Overlay$explanationBad : $elm$browser$Debugger$Overlay$explanationRisky)\n\t\t\t\t\t\t\t])),\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$html$Html$ul,\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'list-style-type', 'none'),\n\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'padding-left', '20px')\n\t\t\t\t\t\t\t]),\n\t\t\t\t\t\tA2($elm$core$List$map, $elm$browser$Debugger$Overlay$viewChange, changes))\n\t\t\t\t\t]);\n\t\t}\n\t});\nvar $elm$browser$Debugger$Overlay$view = F5(\n\tfunction (config, isPaused, isOpen, numMsgs, state) {\n\t\tswitch (state.$) {\n\t\t\tcase 'None':\n\t\t\t\treturn isOpen ? $elm$html$Html$text('') : (isPaused ? A2(\n\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$Attributes$id('elm-debugger-overlay'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'position', 'fixed'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'top', '0'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'left', '0'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'width', '100vw'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'height', '100vh'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'cursor', 'pointer'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'display', 'flex'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'align-items', 'center'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'justify-content', 'center'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'pointer-events', 'auto'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'background-color', 'rgba(200, 200, 200, 0.7)'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'color', 'white'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'font-family', '\\'Trebuchet MS\\', \\'Lucida Grande\\', \\'Bitstream Vera Sans\\', \\'Helvetica Neue\\', sans-serif'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'z-index', '2147483646'),\n\t\t\t\t\t\t\t$elm$html$Html$Events$onClick(config.resume)\n\t\t\t\t\t\t]),\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$html$Html$span,\n\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'font-size', '80px')\n\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t$elm$html$Html$text('Click to Resume')\n\t\t\t\t\t\t\t\t])),\n\t\t\t\t\t\t\tA2($elm$browser$Debugger$Overlay$viewMiniControls, config, numMsgs)\n\t\t\t\t\t\t])) : A2($elm$browser$Debugger$Overlay$viewMiniControls, config, numMsgs));\n\t\t\tcase 'BadMetadata':\n\t\t\t\tvar badMetadata_ = state.a;\n\t\t\t\treturn A4(\n\t\t\t\t\t$elm$browser$Debugger$Overlay$viewMessage,\n\t\t\t\t\tconfig,\n\t\t\t\t\t'Cannot use Import or Export',\n\t\t\t\t\t$elm$browser$Debugger$Overlay$viewBadMetadata(badMetadata_),\n\t\t\t\t\t$elm$browser$Debugger$Overlay$Accept('Ok'));\n\t\t\tcase 'BadImport':\n\t\t\t\tvar report = state.a;\n\t\t\t\treturn A4(\n\t\t\t\t\t$elm$browser$Debugger$Overlay$viewMessage,\n\t\t\t\t\tconfig,\n\t\t\t\t\t'Cannot Import History',\n\t\t\t\t\tA2($elm$browser$Debugger$Overlay$viewReport, true, report),\n\t\t\t\t\t$elm$browser$Debugger$Overlay$Accept('Ok'));\n\t\t\tdefault:\n\t\t\t\tvar report = state.a;\n\t\t\t\treturn A4(\n\t\t\t\t\t$elm$browser$Debugger$Overlay$viewMessage,\n\t\t\t\t\tconfig,\n\t\t\t\t\t'Warning',\n\t\t\t\t\tA2($elm$browser$Debugger$Overlay$viewReport, false, report),\n\t\t\t\t\tA2($elm$browser$Debugger$Overlay$Choose, 'Cancel', 'Import Anyway'));\n\t\t}\n\t});\nvar $elm$browser$Debugger$Main$cornerView = function (model) {\n\treturn A5(\n\t\t$elm$browser$Debugger$Overlay$view,\n\t\t{exportHistory: $elm$browser$Debugger$Main$Export, importHistory: $elm$browser$Debugger$Main$Import, open: $elm$browser$Debugger$Main$Open, resume: $elm$browser$Debugger$Main$Resume, wrap: $elm$browser$Debugger$Main$OverlayMsg},\n\t\t$elm$browser$Debugger$Main$isPaused(model.state),\n\t\t_Debugger_isOpen(model.popout),\n\t\t$elm$browser$Debugger$History$size(model.history),\n\t\tmodel.overlay);\n};\nvar $elm$core$Dict$RBEmpty_elm_builtin = {$: 'RBEmpty_elm_builtin'};\nvar $elm$core$Dict$empty = $elm$core$Dict$RBEmpty_elm_builtin;\nvar $elm$core$Set$foldr = F3(\n\tfunction (func, initialState, _v0) {\n\t\tvar dict = _v0.a;\n\t\treturn A3(\n\t\t\t$elm$core$Dict$foldr,\n\t\t\tF3(\n\t\t\t\tfunction (key, _v1, state) {\n\t\t\t\t\treturn A2(func, key, state);\n\t\t\t\t}),\n\t\t\tinitialState,\n\t\t\tdict);\n\t});\nvar $elm$browser$Debugger$Main$getCurrentModel = function (state) {\n\tif (state.$ === 'Running') {\n\t\tvar model = state.a;\n\t\treturn model;\n\t} else {\n\t\tvar model = state.b;\n\t\treturn model;\n\t}\n};\nvar $elm$browser$Debugger$Main$getUserModel = function (model) {\n\treturn $elm$browser$Debugger$Main$getCurrentModel(model.state);\n};\nvar $elm$browser$Debugger$Main$initialWindowHeight = 420;\nvar $elm$browser$Debugger$Main$initialWindowWidth = 900;\nvar $elm$core$Dict$Black = {$: 'Black'};\nvar $elm$core$Dict$RBNode_elm_builtin = F5(\n\tfunction (a, b, c, d, e) {\n\t\treturn {$: 'RBNode_elm_builtin', a: a, b: b, c: c, d: d, e: e};\n\t});\nvar $elm$core$Dict$Red = {$: 'Red'};\nvar $elm$core$Dict$balance = F5(\n\tfunction (color, key, value, left, right) {\n\t\tif ((right.$ === 'RBNode_elm_builtin') && (right.a.$ === 'Red')) {\n\t\t\tvar _v1 = right.a;\n\t\t\tvar rK = right.b;\n\t\t\tvar rV = right.c;\n\t\t\tvar rLeft = right.d;\n\t\t\tvar rRight = right.e;\n\t\t\tif ((left.$ === 'RBNode_elm_builtin') && (left.a.$ === 'Red')) {\n\t\t\t\tvar _v3 = left.a;\n\t\t\t\tvar lK = left.b;\n\t\t\t\tvar lV = left.c;\n\t\t\t\tvar lLeft = left.d;\n\t\t\t\tvar lRight = left.e;\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t$elm$core$Dict$Red,\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue,\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, lK, lV, lLeft, lRight),\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, rK, rV, rLeft, rRight));\n\t\t\t} else {\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\tcolor,\n\t\t\t\t\trK,\n\t\t\t\t\trV,\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, key, value, left, rLeft),\n\t\t\t\t\trRight);\n\t\t\t}\n\t\t} else {\n\t\t\tif ((((left.$ === 'RBNode_elm_builtin') && (left.a.$ === 'Red')) && (left.d.$ === 'RBNode_elm_builtin')) && (left.d.a.$ === 'Red')) {\n\t\t\t\tvar _v5 = left.a;\n\t\t\t\tvar lK = left.b;\n\t\t\t\tvar lV = left.c;\n\t\t\t\tvar _v6 = left.d;\n\t\t\t\tvar _v7 = _v6.a;\n\t\t\t\tvar llK = _v6.b;\n\t\t\t\tvar llV = _v6.c;\n\t\t\t\tvar llLeft = _v6.d;\n\t\t\t\tvar llRight = _v6.e;\n\t\t\t\tvar lRight = left.e;\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t$elm$core$Dict$Red,\n\t\t\t\t\tlK,\n\t\t\t\t\tlV,\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, llK, llV, llLeft, llRight),\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, key, value, lRight, right));\n\t\t\t} else {\n\t\t\t\treturn A5($elm$core$Dict$RBNode_elm_builtin, color, key, value, left, right);\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Basics$compare = _Utils_compare;\nvar $elm$core$Dict$insertHelp = F3(\n\tfunction (key, value, dict) {\n\t\tif (dict.$ === 'RBEmpty_elm_builtin') {\n\t\t\treturn A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, key, value, $elm$core$Dict$RBEmpty_elm_builtin, $elm$core$Dict$RBEmpty_elm_builtin);\n\t\t} else {\n\t\t\tvar nColor = dict.a;\n\t\t\tvar nKey = dict.b;\n\t\t\tvar nValue = dict.c;\n\t\t\tvar nLeft = dict.d;\n\t\t\tvar nRight = dict.e;\n\t\t\tvar _v1 = A2($elm$core$Basics$compare, key, nKey);\n\t\t\tswitch (_v1.$) {\n\t\t\t\tcase 'LT':\n\t\t\t\t\treturn A5(\n\t\t\t\t\t\t$elm$core$Dict$balance,\n\t\t\t\t\t\tnColor,\n\t\t\t\t\t\tnKey,\n\t\t\t\t\t\tnValue,\n\t\t\t\t\t\tA3($elm$core$Dict$insertHelp, key, value, nLeft),\n\t\t\t\t\t\tnRight);\n\t\t\t\tcase 'EQ':\n\t\t\t\t\treturn A5($elm$core$Dict$RBNode_elm_builtin, nColor, nKey, value, nLeft, nRight);\n\t\t\t\tdefault:\n\t\t\t\t\treturn A5(\n\t\t\t\t\t\t$elm$core$Dict$balance,\n\t\t\t\t\t\tnColor,\n\t\t\t\t\t\tnKey,\n\t\t\t\t\t\tnValue,\n\t\t\t\t\t\tnLeft,\n\t\t\t\t\t\tA3($elm$core$Dict$insertHelp, key, value, nRight));\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Dict$insert = F3(\n\tfunction (key, value, dict) {\n\t\tvar _v0 = A3($elm$core$Dict$insertHelp, key, value, dict);\n\t\tif ((_v0.$ === 'RBNode_elm_builtin') && (_v0.a.$ === 'Red')) {\n\t\t\tvar _v1 = _v0.a;\n\t\t\tvar k = _v0.b;\n\t\t\tvar v = _v0.c;\n\t\t\tvar l = _v0.d;\n\t\t\tvar r = _v0.e;\n\t\t\treturn A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, k, v, l, r);\n\t\t} else {\n\t\t\tvar x = _v0;\n\t\t\treturn x;\n\t\t}\n\t});\nvar $elm$browser$Debugger$Main$cachedHistory = function (model) {\n\tvar _v0 = model.state;\n\tif (_v0.$ === 'Running') {\n\t\treturn model.history;\n\t} else {\n\t\tvar history = _v0.e;\n\t\treturn history;\n\t}\n};\nvar $elm$virtual_dom$VirtualDom$node = function (tag) {\n\treturn _VirtualDom_node(\n\t\t_VirtualDom_noScript(tag));\n};\nvar $elm$html$Html$node = $elm$virtual_dom$VirtualDom$node;\nvar $elm$browser$Debugger$Main$DragEnd = {$: 'DragEnd'};\nvar $elm$browser$Debugger$Main$getDragStatus = function (layout) {\n\tif (layout.$ === 'Horizontal') {\n\t\tvar status = layout.a;\n\t\treturn status;\n\t} else {\n\t\tvar status = layout.a;\n\t\treturn status;\n\t}\n};\nvar $elm$browser$Debugger$Main$Drag = function (a) {\n\treturn {$: 'Drag', a: a};\n};\nvar $elm$browser$Debugger$Main$DragInfo = F5(\n\tfunction (x, y, down, width, height) {\n\t\treturn {down: down, height: height, width: width, x: x, y: y};\n\t});\nvar $elm$json$Json$Decode$field = _Json_decodeField;\nvar $elm$json$Json$Decode$at = F2(\n\tfunction (fields, decoder) {\n\t\treturn A3($elm$core$List$foldr, $elm$json$Json$Decode$field, decoder, fields);\n\t});\nvar $elm$json$Json$Decode$float = _Json_decodeFloat;\nvar $elm$browser$Debugger$Main$decodeDimension = function (field) {\n\treturn A2(\n\t\t$elm$json$Json$Decode$at,\n\t\t_List_fromArray(\n\t\t\t['currentTarget', 'ownerDocument', 'defaultView', field]),\n\t\t$elm$json$Json$Decode$float);\n};\nvar $elm$json$Json$Decode$int = _Json_decodeInt;\nvar $elm$json$Json$Decode$map5 = _Json_map5;\nvar $elm$browser$Debugger$Main$onMouseMove = A2(\n\t$elm$html$Html$Events$on,\n\t'mousemove',\n\tA2(\n\t\t$elm$json$Json$Decode$map,\n\t\t$elm$browser$Debugger$Main$Drag,\n\t\tA6(\n\t\t\t$elm$json$Json$Decode$map5,\n\t\t\t$elm$browser$Debugger$Main$DragInfo,\n\t\t\tA2($elm$json$Json$Decode$field, 'pageX', $elm$json$Json$Decode$float),\n\t\t\tA2($elm$json$Json$Decode$field, 'pageY', $elm$json$Json$Decode$float),\n\t\t\tA2(\n\t\t\t\t$elm$json$Json$Decode$field,\n\t\t\t\t'buttons',\n\t\t\t\tA2(\n\t\t\t\t\t$elm$json$Json$Decode$map,\n\t\t\t\t\tfunction (v) {\n\t\t\t\t\t\treturn v === 1;\n\t\t\t\t\t},\n\t\t\t\t\t$elm$json$Json$Decode$int)),\n\t\t\t$elm$browser$Debugger$Main$decodeDimension('innerWidth'),\n\t\t\t$elm$browser$Debugger$Main$decodeDimension('innerHeight'))));\nvar $elm$html$Html$Events$onMouseUp = function (msg) {\n\treturn A2(\n\t\t$elm$html$Html$Events$on,\n\t\t'mouseup',\n\t\t$elm$json$Json$Decode$succeed(msg));\n};\nvar $elm$browser$Debugger$Main$toDragListeners = function (layout) {\n\tvar _v0 = $elm$browser$Debugger$Main$getDragStatus(layout);\n\tif (_v0.$ === 'Static') {\n\t\treturn _List_Nil;\n\t} else {\n\t\treturn _List_fromArray(\n\t\t\t[\n\t\t\t\t$elm$browser$Debugger$Main$onMouseMove,\n\t\t\t\t$elm$html$Html$Events$onMouseUp($elm$browser$Debugger$Main$DragEnd)\n\t\t\t]);\n\t}\n};\nvar $elm$browser$Debugger$Main$toFlexDirection = function (layout) {\n\tif (layout.$ === 'Horizontal') {\n\t\treturn 'row';\n\t} else {\n\t\treturn 'column-reverse';\n\t}\n};\nvar $elm$browser$Debugger$Main$DragStart = {$: 'DragStart'};\nvar $elm$html$Html$Events$onMouseDown = function (msg) {\n\treturn A2(\n\t\t$elm$html$Html$Events$on,\n\t\t'mousedown',\n\t\t$elm$json$Json$Decode$succeed(msg));\n};\nvar $elm$browser$Debugger$Main$toPercent = function (fraction) {\n\treturn $elm$core$String$fromFloat(100 * fraction) + '%';\n};\nvar $elm$browser$Debugger$Main$viewDragZone = function (layout) {\n\tif (layout.$ === 'Horizontal') {\n\t\tvar x = layout.b;\n\t\treturn A2(\n\t\t\t$elm$html$Html$div,\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'position', 'absolute'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'top', '0'),\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$Attributes$style,\n\t\t\t\t\t'left',\n\t\t\t\t\t$elm$browser$Debugger$Main$toPercent(x)),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'margin-left', '-5px'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'width', '10px'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'height', '100%'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'cursor', 'col-resize'),\n\t\t\t\t\t$elm$html$Html$Events$onMouseDown($elm$browser$Debugger$Main$DragStart)\n\t\t\t\t]),\n\t\t\t_List_Nil);\n\t} else {\n\t\tvar y = layout.c;\n\t\treturn A2(\n\t\t\t$elm$html$Html$div,\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'position', 'absolute'),\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$Attributes$style,\n\t\t\t\t\t'top',\n\t\t\t\t\t$elm$browser$Debugger$Main$toPercent(y)),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'left', '0'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'margin-top', '-5px'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'width', '100%'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'height', '10px'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'cursor', 'row-resize'),\n\t\t\t\t\t$elm$html$Html$Events$onMouseDown($elm$browser$Debugger$Main$DragStart)\n\t\t\t\t]),\n\t\t\t_List_Nil);\n\t}\n};\nvar $elm$browser$Debugger$Main$TweakExpandoModel = function (a) {\n\treturn {$: 'TweakExpandoModel', a: a};\n};\nvar $elm$browser$Debugger$Main$TweakExpandoMsg = function (a) {\n\treturn {$: 'TweakExpandoMsg', a: a};\n};\nvar $elm$browser$Debugger$Main$toExpandoPercents = function (layout) {\n\tif (layout.$ === 'Horizontal') {\n\t\tvar x = layout.b;\n\t\treturn _Utils_Tuple2(\n\t\t\t$elm$browser$Debugger$Main$toPercent(1 - x),\n\t\t\t'100%');\n\t} else {\n\t\tvar y = layout.c;\n\t\treturn _Utils_Tuple2(\n\t\t\t'100%',\n\t\t\t$elm$browser$Debugger$Main$toPercent(y));\n\t}\n};\nvar $elm$browser$Debugger$Main$toMouseBlocker = function (layout) {\n\tvar _v0 = $elm$browser$Debugger$Main$getDragStatus(layout);\n\tif (_v0.$ === 'Static') {\n\t\treturn 'auto';\n\t} else {\n\t\treturn 'none';\n\t}\n};\nvar $elm$browser$Debugger$Expando$Field = F2(\n\tfunction (a, b) {\n\t\treturn {$: 'Field', a: a, b: b};\n\t});\nvar $elm$browser$Debugger$Expando$Index = F3(\n\tfunction (a, b, c) {\n\t\treturn {$: 'Index', a: a, b: b, c: c};\n\t});\nvar $elm$browser$Debugger$Expando$Key = {$: 'Key'};\nvar $elm$browser$Debugger$Expando$None = {$: 'None'};\nvar $elm$browser$Debugger$Expando$Toggle = {$: 'Toggle'};\nvar $elm$browser$Debugger$Expando$Value = {$: 'Value'};\nvar $elm$browser$Debugger$Expando$blue = A2($elm$html$Html$Attributes$style, 'color', 'rgb(28, 0, 207)');\nvar $elm$core$Basics$composeL = F3(\n\tfunction (g, f, x) {\n\t\treturn g(\n\t\t\tf(x));\n\t});\nvar $elm$browser$Debugger$Expando$leftPad = function (maybeKey) {\n\tif (maybeKey.$ === 'Nothing') {\n\t\treturn _List_Nil;\n\t} else {\n\t\treturn _List_fromArray(\n\t\t\t[\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'padding-left', '4ch')\n\t\t\t]);\n\t}\n};\nvar $elm$browser$Debugger$Expando$makeArrow = function (arrow) {\n\treturn A2(\n\t\t$elm$html$Html$span,\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'color', '#777'),\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'padding-left', '2ch'),\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'width', '2ch'),\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'display', 'inline-block')\n\t\t\t]),\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\t$elm$html$Html$text(arrow)\n\t\t\t]));\n};\nvar $elm$browser$Debugger$Expando$purple = A2($elm$html$Html$Attributes$style, 'color', 'rgb(136, 19, 145)');\nvar $elm$browser$Debugger$Expando$lineStarter = F3(\n\tfunction (maybeKey, maybeIsClosed, description) {\n\t\tvar arrow = function () {\n\t\t\tif (maybeIsClosed.$ === 'Nothing') {\n\t\t\t\treturn $elm$browser$Debugger$Expando$makeArrow('');\n\t\t\t} else {\n\t\t\t\tif (maybeIsClosed.a) {\n\t\t\t\t\treturn $elm$browser$Debugger$Expando$makeArrow('▸');\n\t\t\t\t} else {\n\t\t\t\t\treturn $elm$browser$Debugger$Expando$makeArrow('▾');\n\t\t\t\t}\n\t\t\t}\n\t\t}();\n\t\tif (maybeKey.$ === 'Nothing') {\n\t\t\treturn A2($elm$core$List$cons, arrow, description);\n\t\t} else {\n\t\t\tvar key = maybeKey.a;\n\t\t\treturn A2(\n\t\t\t\t$elm$core$List$cons,\n\t\t\t\tarrow,\n\t\t\t\tA2(\n\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$html$Html$span,\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[$elm$browser$Debugger$Expando$purple]),\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t$elm$html$Html$text(key)\n\t\t\t\t\t\t\t])),\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t$elm$html$Html$text(' = '),\n\t\t\t\t\t\tdescription)));\n\t\t}\n\t});\nvar $elm$browser$Debugger$Expando$red = A2($elm$html$Html$Attributes$style, 'color', 'rgb(196, 26, 22)');\nvar $elm$core$Tuple$second = function (_v0) {\n\tvar y = _v0.b;\n\treturn y;\n};\nvar $elm$browser$Debugger$Expando$seqTypeToString = F2(\n\tfunction (n, seqType) {\n\t\tswitch (seqType.$) {\n\t\t\tcase 'ListSeq':\n\t\t\t\treturn 'List(' + ($elm$core$String$fromInt(n) + ')');\n\t\t\tcase 'SetSeq':\n\t\t\t\treturn 'Set(' + ($elm$core$String$fromInt(n) + ')');\n\t\t\tdefault:\n\t\t\t\treturn 'Array(' + ($elm$core$String$fromInt(n) + ')');\n\t\t}\n\t});\nvar $elm$core$String$slice = _String_slice;\nvar $elm$core$String$left = F2(\n\tfunction (n, string) {\n\t\treturn (n < 1) ? '' : A3($elm$core$String$slice, 0, n, string);\n\t});\nvar $elm$core$String$right = F2(\n\tfunction (n, string) {\n\t\treturn (n < 1) ? '' : A3(\n\t\t\t$elm$core$String$slice,\n\t\t\t-n,\n\t\t\t$elm$core$String$length(string),\n\t\t\tstring);\n\t});\nvar $elm$browser$Debugger$Expando$elideMiddle = function (str) {\n\treturn ($elm$core$String$length(str) <= 18) ? str : (A2($elm$core$String$left, 8, str) + ('...' + A2($elm$core$String$right, 8, str)));\n};\nvar $elm$core$Dict$isEmpty = function (dict) {\n\tif (dict.$ === 'RBEmpty_elm_builtin') {\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\nvar $elm$browser$Debugger$Expando$viewExtraTinyRecord = F3(\n\tfunction (length, starter, entries) {\n\t\tif (!entries.b) {\n\t\t\treturn _Utils_Tuple2(\n\t\t\t\tlength + 1,\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\t$elm$html$Html$text('}')\n\t\t\t\t\t]));\n\t\t} else {\n\t\t\tvar field = entries.a;\n\t\t\tvar rest = entries.b;\n\t\t\tvar nextLength = (length + $elm$core$String$length(field)) + 1;\n\t\t\tif (nextLength > 18) {\n\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\tlength + 2,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$text('…}')\n\t\t\t\t\t\t]));\n\t\t\t} else {\n\t\t\t\tvar _v1 = A3($elm$browser$Debugger$Expando$viewExtraTinyRecord, nextLength, ',', rest);\n\t\t\t\tvar finalLength = _v1.a;\n\t\t\t\tvar otherHtmls = _v1.b;\n\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\tfinalLength,\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t$elm$html$Html$text(starter),\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t$elm$html$Html$span,\n\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t[$elm$browser$Debugger$Expando$purple]),\n\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t$elm$html$Html$text(field)\n\t\t\t\t\t\t\t\t\t])),\n\t\t\t\t\t\t\totherHtmls)));\n\t\t\t}\n\t\t}\n\t});\nvar $elm$browser$Debugger$Expando$viewTinyHelp = function (str) {\n\treturn _Utils_Tuple2(\n\t\t$elm$core$String$length(str),\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\t$elm$html$Html$text(str)\n\t\t\t]));\n};\nvar $elm$core$Maybe$withDefault = F2(\n\tfunction (_default, maybe) {\n\t\tif (maybe.$ === 'Just') {\n\t\t\tvar value = maybe.a;\n\t\t\treturn value;\n\t\t} else {\n\t\t\treturn _default;\n\t\t}\n\t});\nvar $elm$browser$Debugger$Expando$viewExtraTiny = function (value) {\n\tif (value.$ === 'Record') {\n\t\tvar record = value.b;\n\t\treturn A3(\n\t\t\t$elm$browser$Debugger$Expando$viewExtraTinyRecord,\n\t\t\t0,\n\t\t\t'{',\n\t\t\t$elm$core$Dict$keys(record));\n\t} else {\n\t\treturn $elm$browser$Debugger$Expando$viewTiny(value);\n\t}\n};\nvar $elm$browser$Debugger$Expando$viewTiny = function (value) {\n\tswitch (value.$) {\n\t\tcase 'S':\n\t\t\tvar stringRep = value.a;\n\t\t\tvar str = $elm$browser$Debugger$Expando$elideMiddle(stringRep);\n\t\t\treturn _Utils_Tuple2(\n\t\t\t\t$elm$core$String$length(str),\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$html$Html$span,\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[$elm$browser$Debugger$Expando$red]),\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t$elm$html$Html$text(str)\n\t\t\t\t\t\t\t]))\n\t\t\t\t\t]));\n\t\tcase 'Primitive':\n\t\t\tvar stringRep = value.a;\n\t\t\treturn _Utils_Tuple2(\n\t\t\t\t$elm$core$String$length(stringRep),\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$html$Html$span,\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[$elm$browser$Debugger$Expando$blue]),\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t$elm$html$Html$text(stringRep)\n\t\t\t\t\t\t\t]))\n\t\t\t\t\t]));\n\t\tcase 'Sequence':\n\t\t\tvar seqType = value.a;\n\t\t\tvar valueList = value.c;\n\t\t\treturn $elm$browser$Debugger$Expando$viewTinyHelp(\n\t\t\t\tA2(\n\t\t\t\t\t$elm$browser$Debugger$Expando$seqTypeToString,\n\t\t\t\t\t$elm$core$List$length(valueList),\n\t\t\t\t\tseqType));\n\t\tcase 'Dictionary':\n\t\t\tvar keyValuePairs = value.b;\n\t\t\treturn $elm$browser$Debugger$Expando$viewTinyHelp(\n\t\t\t\t'Dict(' + ($elm$core$String$fromInt(\n\t\t\t\t\t$elm$core$List$length(keyValuePairs)) + ')'));\n\t\tcase 'Record':\n\t\t\tvar record = value.b;\n\t\t\treturn $elm$browser$Debugger$Expando$viewTinyRecord(record);\n\t\tdefault:\n\t\t\tif (!value.c.b) {\n\t\t\t\tvar maybeName = value.a;\n\t\t\t\treturn $elm$browser$Debugger$Expando$viewTinyHelp(\n\t\t\t\t\tA2($elm$core$Maybe$withDefault, 'Unit', maybeName));\n\t\t\t} else {\n\t\t\t\tvar maybeName = value.a;\n\t\t\t\tvar valueList = value.c;\n\t\t\t\treturn $elm$browser$Debugger$Expando$viewTinyHelp(\n\t\t\t\t\tfunction () {\n\t\t\t\t\t\tif (maybeName.$ === 'Nothing') {\n\t\t\t\t\t\t\treturn 'Tuple(' + ($elm$core$String$fromInt(\n\t\t\t\t\t\t\t\t$elm$core$List$length(valueList)) + ')');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar name = maybeName.a;\n\t\t\t\t\t\t\treturn name + ' …';\n\t\t\t\t\t\t}\n\t\t\t\t\t}());\n\t\t\t}\n\t}\n};\nvar $elm$browser$Debugger$Expando$viewTinyRecord = function (record) {\n\treturn $elm$core$Dict$isEmpty(record) ? _Utils_Tuple2(\n\t\t2,\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\t$elm$html$Html$text('{}')\n\t\t\t])) : A3(\n\t\t$elm$browser$Debugger$Expando$viewTinyRecordHelp,\n\t\t0,\n\t\t'{ ',\n\t\t$elm$core$Dict$toList(record));\n};\nvar $elm$browser$Debugger$Expando$viewTinyRecordHelp = F3(\n\tfunction (length, starter, entries) {\n\t\tif (!entries.b) {\n\t\t\treturn _Utils_Tuple2(\n\t\t\t\tlength + 2,\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\t$elm$html$Html$text(' }')\n\t\t\t\t\t]));\n\t\t} else {\n\t\t\tvar _v1 = entries.a;\n\t\t\tvar field = _v1.a;\n\t\t\tvar value = _v1.b;\n\t\t\tvar rest = entries.b;\n\t\t\tvar fieldLen = $elm$core$String$length(field);\n\t\t\tvar _v2 = $elm$browser$Debugger$Expando$viewExtraTiny(value);\n\t\t\tvar valueLen = _v2.a;\n\t\t\tvar valueHtmls = _v2.b;\n\t\t\tvar newLength = ((length + fieldLen) + valueLen) + 5;\n\t\t\tif (newLength > 60) {\n\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\tlength + 4,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$text(', … }')\n\t\t\t\t\t\t]));\n\t\t\t} else {\n\t\t\t\tvar _v3 = A3($elm$browser$Debugger$Expando$viewTinyRecordHelp, newLength, ', ', rest);\n\t\t\t\tvar finalLength = _v3.a;\n\t\t\t\tvar otherHtmls = _v3.b;\n\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\tfinalLength,\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t$elm$html$Html$text(starter),\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t$elm$html$Html$span,\n\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t[$elm$browser$Debugger$Expando$purple]),\n\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t$elm$html$Html$text(field)\n\t\t\t\t\t\t\t\t\t])),\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t\t\t$elm$html$Html$text(' = '),\n\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t\t\t\tA2($elm$html$Html$span, _List_Nil, valueHtmls),\n\t\t\t\t\t\t\t\t\totherHtmls)))));\n\t\t\t}\n\t\t}\n\t});\nvar $elm$browser$Debugger$Expando$view = F2(\n\tfunction (maybeKey, expando) {\n\t\tswitch (expando.$) {\n\t\t\tcase 'S':\n\t\t\t\tvar stringRep = expando.a;\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t$elm$browser$Debugger$Expando$leftPad(maybeKey),\n\t\t\t\t\tA3(\n\t\t\t\t\t\t$elm$browser$Debugger$Expando$lineStarter,\n\t\t\t\t\t\tmaybeKey,\n\t\t\t\t\t\t$elm$core$Maybe$Nothing,\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t$elm$html$Html$span,\n\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t[$elm$browser$Debugger$Expando$red]),\n\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t$elm$html$Html$text(stringRep)\n\t\t\t\t\t\t\t\t\t]))\n\t\t\t\t\t\t\t])));\n\t\t\tcase 'Primitive':\n\t\t\t\tvar stringRep = expando.a;\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t$elm$browser$Debugger$Expando$leftPad(maybeKey),\n\t\t\t\t\tA3(\n\t\t\t\t\t\t$elm$browser$Debugger$Expando$lineStarter,\n\t\t\t\t\t\tmaybeKey,\n\t\t\t\t\t\t$elm$core$Maybe$Nothing,\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t$elm$html$Html$span,\n\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t[$elm$browser$Debugger$Expando$blue]),\n\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t$elm$html$Html$text(stringRep)\n\t\t\t\t\t\t\t\t\t]))\n\t\t\t\t\t\t\t])));\n\t\t\tcase 'Sequence':\n\t\t\t\tvar seqType = expando.a;\n\t\t\t\tvar isClosed = expando.b;\n\t\t\t\tvar valueList = expando.c;\n\t\t\t\treturn A4($elm$browser$Debugger$Expando$viewSequence, maybeKey, seqType, isClosed, valueList);\n\t\t\tcase 'Dictionary':\n\t\t\t\tvar isClosed = expando.a;\n\t\t\t\tvar keyValuePairs = expando.b;\n\t\t\t\treturn A3($elm$browser$Debugger$Expando$viewDictionary, maybeKey, isClosed, keyValuePairs);\n\t\t\tcase 'Record':\n\t\t\t\tvar isClosed = expando.a;\n\t\t\t\tvar valueDict = expando.b;\n\t\t\t\treturn A3($elm$browser$Debugger$Expando$viewRecord, maybeKey, isClosed, valueDict);\n\t\t\tdefault:\n\t\t\t\tvar maybeName = expando.a;\n\t\t\t\tvar isClosed = expando.b;\n\t\t\t\tvar valueList = expando.c;\n\t\t\t\treturn A4($elm$browser$Debugger$Expando$viewConstructor, maybeKey, maybeName, isClosed, valueList);\n\t\t}\n\t});\nvar $elm$browser$Debugger$Expando$viewConstructor = F4(\n\tfunction (maybeKey, maybeName, isClosed, valueList) {\n\t\tvar tinyArgs = A2(\n\t\t\t$elm$core$List$map,\n\t\t\tA2($elm$core$Basics$composeL, $elm$core$Tuple$second, $elm$browser$Debugger$Expando$viewExtraTiny),\n\t\t\tvalueList);\n\t\tvar description = function () {\n\t\t\tvar _v7 = _Utils_Tuple2(maybeName, tinyArgs);\n\t\t\tif (_v7.a.$ === 'Nothing') {\n\t\t\t\tif (!_v7.b.b) {\n\t\t\t\t\tvar _v8 = _v7.a;\n\t\t\t\t\treturn _List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$text('()')\n\t\t\t\t\t\t]);\n\t\t\t\t} else {\n\t\t\t\t\tvar _v9 = _v7.a;\n\t\t\t\t\tvar _v10 = _v7.b;\n\t\t\t\t\tvar x = _v10.a;\n\t\t\t\t\tvar xs = _v10.b;\n\t\t\t\t\treturn A2(\n\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t$elm$html$Html$text('( '),\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t\tA2($elm$html$Html$span, _List_Nil, x),\n\t\t\t\t\t\t\tA3(\n\t\t\t\t\t\t\t\t$elm$core$List$foldr,\n\t\t\t\t\t\t\t\tF2(\n\t\t\t\t\t\t\t\t\tfunction (args, rest) {\n\t\t\t\t\t\t\t\t\t\treturn A2(\n\t\t\t\t\t\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$text(', '),\n\t\t\t\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t\t\t\t\t\t\tA2($elm$html$Html$span, _List_Nil, args),\n\t\t\t\t\t\t\t\t\t\t\t\trest));\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t$elm$html$Html$text(' )')\n\t\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t\txs)));\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (!_v7.b.b) {\n\t\t\t\t\tvar name = _v7.a.a;\n\t\t\t\t\treturn _List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$text(name)\n\t\t\t\t\t\t]);\n\t\t\t\t} else {\n\t\t\t\t\tvar name = _v7.a.a;\n\t\t\t\t\tvar _v11 = _v7.b;\n\t\t\t\t\tvar x = _v11.a;\n\t\t\t\t\tvar xs = _v11.b;\n\t\t\t\t\treturn A2(\n\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t$elm$html$Html$text(name + ' '),\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t\tA2($elm$html$Html$span, _List_Nil, x),\n\t\t\t\t\t\t\tA3(\n\t\t\t\t\t\t\t\t$elm$core$List$foldr,\n\t\t\t\t\t\t\t\tF2(\n\t\t\t\t\t\t\t\t\tfunction (args, rest) {\n\t\t\t\t\t\t\t\t\t\treturn A2(\n\t\t\t\t\t\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$text(' '),\n\t\t\t\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t\t\t\t\t\t\tA2($elm$html$Html$span, _List_Nil, args),\n\t\t\t\t\t\t\t\t\t\t\t\trest));\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t_List_Nil,\n\t\t\t\t\t\t\t\txs)));\n\t\t\t\t}\n\t\t\t}\n\t\t}();\n\t\tvar _v4 = function () {\n\t\t\tif (!valueList.b) {\n\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t$elm$core$Maybe$Nothing,\n\t\t\t\t\tA2($elm$html$Html$div, _List_Nil, _List_Nil));\n\t\t\t} else {\n\t\t\t\tif (!valueList.b.b) {\n\t\t\t\t\tvar entry = valueList.a;\n\t\t\t\t\tswitch (entry.$) {\n\t\t\t\t\t\tcase 'S':\n\t\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t\t$elm$core$Maybe$Nothing,\n\t\t\t\t\t\t\t\tA2($elm$html$Html$div, _List_Nil, _List_Nil));\n\t\t\t\t\t\tcase 'Primitive':\n\t\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t\t$elm$core$Maybe$Nothing,\n\t\t\t\t\t\t\t\tA2($elm$html$Html$div, _List_Nil, _List_Nil));\n\t\t\t\t\t\tcase 'Sequence':\n\t\t\t\t\t\t\tvar subValueList = entry.c;\n\t\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t\t$elm$core$Maybe$Just(isClosed),\n\t\t\t\t\t\t\t\tisClosed ? A2($elm$html$Html$div, _List_Nil, _List_Nil) : A2(\n\t\t\t\t\t\t\t\t\t$elm$html$Html$map,\n\t\t\t\t\t\t\t\t\tA2($elm$browser$Debugger$Expando$Index, $elm$browser$Debugger$Expando$None, 0),\n\t\t\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$viewSequenceOpen(subValueList)));\n\t\t\t\t\t\tcase 'Dictionary':\n\t\t\t\t\t\t\tvar keyValuePairs = entry.b;\n\t\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t\t$elm$core$Maybe$Just(isClosed),\n\t\t\t\t\t\t\t\tisClosed ? A2($elm$html$Html$div, _List_Nil, _List_Nil) : A2(\n\t\t\t\t\t\t\t\t\t$elm$html$Html$map,\n\t\t\t\t\t\t\t\t\tA2($elm$browser$Debugger$Expando$Index, $elm$browser$Debugger$Expando$None, 0),\n\t\t\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$viewDictionaryOpen(keyValuePairs)));\n\t\t\t\t\t\tcase 'Record':\n\t\t\t\t\t\t\tvar record = entry.b;\n\t\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t\t$elm$core$Maybe$Just(isClosed),\n\t\t\t\t\t\t\t\tisClosed ? A2($elm$html$Html$div, _List_Nil, _List_Nil) : A2(\n\t\t\t\t\t\t\t\t\t$elm$html$Html$map,\n\t\t\t\t\t\t\t\t\tA2($elm$browser$Debugger$Expando$Index, $elm$browser$Debugger$Expando$None, 0),\n\t\t\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$viewRecordOpen(record)));\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tvar subValueList = entry.c;\n\t\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t\t$elm$core$Maybe$Just(isClosed),\n\t\t\t\t\t\t\t\tisClosed ? A2($elm$html$Html$div, _List_Nil, _List_Nil) : A2(\n\t\t\t\t\t\t\t\t\t$elm$html$Html$map,\n\t\t\t\t\t\t\t\t\tA2($elm$browser$Debugger$Expando$Index, $elm$browser$Debugger$Expando$None, 0),\n\t\t\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$viewConstructorOpen(subValueList)));\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t$elm$core$Maybe$Just(isClosed),\n\t\t\t\t\t\tisClosed ? A2($elm$html$Html$div, _List_Nil, _List_Nil) : $elm$browser$Debugger$Expando$viewConstructorOpen(valueList));\n\t\t\t\t}\n\t\t\t}\n\t\t}();\n\t\tvar maybeIsClosed = _v4.a;\n\t\tvar openHtml = _v4.b;\n\t\treturn A2(\n\t\t\t$elm$html$Html$div,\n\t\t\t$elm$browser$Debugger$Expando$leftPad(maybeKey),\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$Events$onClick($elm$browser$Debugger$Expando$Toggle)\n\t\t\t\t\t\t]),\n\t\t\t\t\tA3($elm$browser$Debugger$Expando$lineStarter, maybeKey, maybeIsClosed, description)),\n\t\t\t\t\topenHtml\n\t\t\t\t]));\n\t});\nvar $elm$browser$Debugger$Expando$viewConstructorEntry = F2(\n\tfunction (index, value) {\n\t\treturn A2(\n\t\t\t$elm$html$Html$map,\n\t\t\tA2($elm$browser$Debugger$Expando$Index, $elm$browser$Debugger$Expando$None, index),\n\t\t\tA2(\n\t\t\t\t$elm$browser$Debugger$Expando$view,\n\t\t\t\t$elm$core$Maybe$Just(\n\t\t\t\t\t$elm$core$String$fromInt(index)),\n\t\t\t\tvalue));\n\t});\nvar $elm$browser$Debugger$Expando$viewConstructorOpen = function (valueList) {\n\treturn A2(\n\t\t$elm$html$Html$div,\n\t\t_List_Nil,\n\t\tA2($elm$core$List$indexedMap, $elm$browser$Debugger$Expando$viewConstructorEntry, valueList));\n};\nvar $elm$browser$Debugger$Expando$viewDictionary = F3(\n\tfunction (maybeKey, isClosed, keyValuePairs) {\n\t\tvar starter = 'Dict(' + ($elm$core$String$fromInt(\n\t\t\t$elm$core$List$length(keyValuePairs)) + ')');\n\t\treturn A2(\n\t\t\t$elm$html$Html$div,\n\t\t\t$elm$browser$Debugger$Expando$leftPad(maybeKey),\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$Events$onClick($elm$browser$Debugger$Expando$Toggle)\n\t\t\t\t\t\t]),\n\t\t\t\t\tA3(\n\t\t\t\t\t\t$elm$browser$Debugger$Expando$lineStarter,\n\t\t\t\t\t\tmaybeKey,\n\t\t\t\t\t\t$elm$core$Maybe$Just(isClosed),\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t$elm$html$Html$text(starter)\n\t\t\t\t\t\t\t]))),\n\t\t\t\t\tisClosed ? $elm$html$Html$text('') : $elm$browser$Debugger$Expando$viewDictionaryOpen(keyValuePairs)\n\t\t\t\t]));\n\t});\nvar $elm$browser$Debugger$Expando$viewDictionaryEntry = F2(\n\tfunction (index, _v2) {\n\t\tvar key = _v2.a;\n\t\tvar value = _v2.b;\n\t\tswitch (key.$) {\n\t\t\tcase 'S':\n\t\t\t\tvar stringRep = key.a;\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$html$Html$map,\n\t\t\t\t\tA2($elm$browser$Debugger$Expando$Index, $elm$browser$Debugger$Expando$Value, index),\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$browser$Debugger$Expando$view,\n\t\t\t\t\t\t$elm$core$Maybe$Just(stringRep),\n\t\t\t\t\t\tvalue));\n\t\t\tcase 'Primitive':\n\t\t\t\tvar stringRep = key.a;\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$html$Html$map,\n\t\t\t\t\tA2($elm$browser$Debugger$Expando$Index, $elm$browser$Debugger$Expando$Value, index),\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$browser$Debugger$Expando$view,\n\t\t\t\t\t\t$elm$core$Maybe$Just(stringRep),\n\t\t\t\t\t\tvalue));\n\t\t\tdefault:\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t_List_Nil,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$html$Html$map,\n\t\t\t\t\t\t\tA2($elm$browser$Debugger$Expando$Index, $elm$browser$Debugger$Expando$Key, index),\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$view,\n\t\t\t\t\t\t\t\t$elm$core$Maybe$Just('key'),\n\t\t\t\t\t\t\t\tkey)),\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$html$Html$map,\n\t\t\t\t\t\t\tA2($elm$browser$Debugger$Expando$Index, $elm$browser$Debugger$Expando$Value, index),\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$view,\n\t\t\t\t\t\t\t\t$elm$core$Maybe$Just('value'),\n\t\t\t\t\t\t\t\tvalue))\n\t\t\t\t\t\t]));\n\t\t}\n\t});\nvar $elm$browser$Debugger$Expando$viewDictionaryOpen = function (keyValuePairs) {\n\treturn A2(\n\t\t$elm$html$Html$div,\n\t\t_List_Nil,\n\t\tA2($elm$core$List$indexedMap, $elm$browser$Debugger$Expando$viewDictionaryEntry, keyValuePairs));\n};\nvar $elm$browser$Debugger$Expando$viewRecord = F3(\n\tfunction (maybeKey, isClosed, record) {\n\t\tvar _v1 = isClosed ? _Utils_Tuple3(\n\t\t\t$elm$browser$Debugger$Expando$viewTinyRecord(record).b,\n\t\t\t$elm$html$Html$text(''),\n\t\t\t$elm$html$Html$text('')) : _Utils_Tuple3(\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\t$elm$html$Html$text('{')\n\t\t\t\t]),\n\t\t\t$elm$browser$Debugger$Expando$viewRecordOpen(record),\n\t\t\tA2(\n\t\t\t\t$elm$html$Html$div,\n\t\t\t\t$elm$browser$Debugger$Expando$leftPad(\n\t\t\t\t\t$elm$core$Maybe$Just(_Utils_Tuple0)),\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\t$elm$html$Html$text('}')\n\t\t\t\t\t])));\n\t\tvar start = _v1.a;\n\t\tvar middle = _v1.b;\n\t\tvar end = _v1.c;\n\t\treturn A2(\n\t\t\t$elm$html$Html$div,\n\t\t\t$elm$browser$Debugger$Expando$leftPad(maybeKey),\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$Events$onClick($elm$browser$Debugger$Expando$Toggle)\n\t\t\t\t\t\t]),\n\t\t\t\t\tA3(\n\t\t\t\t\t\t$elm$browser$Debugger$Expando$lineStarter,\n\t\t\t\t\t\tmaybeKey,\n\t\t\t\t\t\t$elm$core$Maybe$Just(isClosed),\n\t\t\t\t\t\tstart)),\n\t\t\t\t\tmiddle,\n\t\t\t\t\tend\n\t\t\t\t]));\n\t});\nvar $elm$browser$Debugger$Expando$viewRecordEntry = function (_v0) {\n\tvar field = _v0.a;\n\tvar value = _v0.b;\n\treturn A2(\n\t\t$elm$html$Html$map,\n\t\t$elm$browser$Debugger$Expando$Field(field),\n\t\tA2(\n\t\t\t$elm$browser$Debugger$Expando$view,\n\t\t\t$elm$core$Maybe$Just(field),\n\t\t\tvalue));\n};\nvar $elm$browser$Debugger$Expando$viewRecordOpen = function (record) {\n\treturn A2(\n\t\t$elm$html$Html$div,\n\t\t_List_Nil,\n\t\tA2(\n\t\t\t$elm$core$List$map,\n\t\t\t$elm$browser$Debugger$Expando$viewRecordEntry,\n\t\t\t$elm$core$Dict$toList(record)));\n};\nvar $elm$browser$Debugger$Expando$viewSequence = F4(\n\tfunction (maybeKey, seqType, isClosed, valueList) {\n\t\tvar starter = A2(\n\t\t\t$elm$browser$Debugger$Expando$seqTypeToString,\n\t\t\t$elm$core$List$length(valueList),\n\t\t\tseqType);\n\t\treturn A2(\n\t\t\t$elm$html$Html$div,\n\t\t\t$elm$browser$Debugger$Expando$leftPad(maybeKey),\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$Events$onClick($elm$browser$Debugger$Expando$Toggle)\n\t\t\t\t\t\t]),\n\t\t\t\t\tA3(\n\t\t\t\t\t\t$elm$browser$Debugger$Expando$lineStarter,\n\t\t\t\t\t\tmaybeKey,\n\t\t\t\t\t\t$elm$core$Maybe$Just(isClosed),\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t$elm$html$Html$text(starter)\n\t\t\t\t\t\t\t]))),\n\t\t\t\t\tisClosed ? $elm$html$Html$text('') : $elm$browser$Debugger$Expando$viewSequenceOpen(valueList)\n\t\t\t\t]));\n\t});\nvar $elm$browser$Debugger$Expando$viewSequenceOpen = function (values) {\n\treturn A2(\n\t\t$elm$html$Html$div,\n\t\t_List_Nil,\n\t\tA2($elm$core$List$indexedMap, $elm$browser$Debugger$Expando$viewConstructorEntry, values));\n};\nvar $elm$browser$Debugger$Main$viewExpando = F3(\n\tfunction (expandoMsg, expandoModel, layout) {\n\t\tvar block = $elm$browser$Debugger$Main$toMouseBlocker(layout);\n\t\tvar _v0 = $elm$browser$Debugger$Main$toExpandoPercents(layout);\n\t\tvar w = _v0.a;\n\t\tvar h = _v0.b;\n\t\treturn A2(\n\t\t\t$elm$html$Html$div,\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'display', 'block'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'width', 'calc(' + (w + ' - 4em)')),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'height', 'calc(' + (h + ' - 4em)')),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'padding', '2em'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'margin', '0'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'overflow', 'auto'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'pointer-events', block),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, '-webkit-user-select', block),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, '-moz-user-select', block),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, '-ms-user-select', block),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'user-select', block)\n\t\t\t\t]),\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'color', '#ccc'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'padding', '0 0 1em 0')\n\t\t\t\t\t\t]),\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$text('-- MESSAGE')\n\t\t\t\t\t\t])),\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$map,\n\t\t\t\t\t$elm$browser$Debugger$Main$TweakExpandoMsg,\n\t\t\t\t\tA2($elm$browser$Debugger$Expando$view, $elm$core$Maybe$Nothing, expandoMsg)),\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'color', '#ccc'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'padding', '1em 0')\n\t\t\t\t\t\t]),\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$text('-- MODEL')\n\t\t\t\t\t\t])),\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$map,\n\t\t\t\t\t$elm$browser$Debugger$Main$TweakExpandoModel,\n\t\t\t\t\tA2($elm$browser$Debugger$Expando$view, $elm$core$Maybe$Nothing, expandoModel))\n\t\t\t\t]));\n\t});\nvar $elm$browser$Debugger$Main$Jump = function (a) {\n\treturn {$: 'Jump', a: a};\n};\nvar $elm$virtual_dom$VirtualDom$lazy = _VirtualDom_lazy;\nvar $elm$html$Html$Lazy$lazy = $elm$virtual_dom$VirtualDom$lazy;\nvar $elm$browser$Debugger$Main$toHistoryPercents = function (layout) {\n\tif (layout.$ === 'Horizontal') {\n\t\tvar x = layout.b;\n\t\treturn _Utils_Tuple2(\n\t\t\t$elm$browser$Debugger$Main$toPercent(x),\n\t\t\t'100%');\n\t} else {\n\t\tvar y = layout.c;\n\t\treturn _Utils_Tuple2(\n\t\t\t'100%',\n\t\t\t$elm$browser$Debugger$Main$toPercent(1 - y));\n\t}\n};\nvar $elm$virtual_dom$VirtualDom$lazy3 = _VirtualDom_lazy3;\nvar $elm$html$Html$Lazy$lazy3 = $elm$virtual_dom$VirtualDom$lazy3;\nvar $elm$html$Html$Attributes$class = $elm$html$Html$Attributes$stringProperty('className');\nvar $elm$browser$Debugger$History$idForMessageIndex = function (index) {\n\treturn 'msg-' + $elm$core$String$fromInt(index);\n};\nvar $elm$html$Html$Attributes$title = $elm$html$Html$Attributes$stringProperty('title');\nvar $elm$browser$Debugger$History$viewMessage = F3(\n\tfunction (currentIndex, index, msg) {\n\t\tvar messageName = _Debugger_messageToString(msg);\n\t\tvar className = _Utils_eq(currentIndex, index) ? 'elm-debugger-entry elm-debugger-entry-selected' : 'elm-debugger-entry';\n\t\treturn A2(\n\t\t\t$elm$html$Html$div,\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\t$elm$html$Html$Attributes$id(\n\t\t\t\t\t$elm$browser$Debugger$History$idForMessageIndex(index)),\n\t\t\t\t\t$elm$html$Html$Attributes$class(className),\n\t\t\t\t\t$elm$html$Html$Events$onClick(index)\n\t\t\t\t]),\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$span,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$Attributes$title(messageName),\n\t\t\t\t\t\t\t$elm$html$Html$Attributes$class('elm-debugger-entry-content')\n\t\t\t\t\t\t]),\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$text(messageName)\n\t\t\t\t\t\t])),\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$span,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$Attributes$class('elm-debugger-entry-index')\n\t\t\t\t\t\t]),\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$text(\n\t\t\t\t\t\t\t$elm$core$String$fromInt(index))\n\t\t\t\t\t\t]))\n\t\t\t\t]));\n\t});\nvar $elm$browser$Debugger$History$consMsg = F3(\n\tfunction (currentIndex, msg, _v0) {\n\t\tvar index = _v0.a;\n\t\tvar rest = _v0.b;\n\t\treturn _Utils_Tuple2(\n\t\t\tindex + 1,\n\t\t\tA2(\n\t\t\t\t$elm$core$List$cons,\n\t\t\t\t_Utils_Tuple2(\n\t\t\t\t\t$elm$core$String$fromInt(index),\n\t\t\t\t\tA4($elm$html$Html$Lazy$lazy3, $elm$browser$Debugger$History$viewMessage, currentIndex, index, msg)),\n\t\t\t\trest));\n\t});\nvar $elm$core$Array$length = function (_v0) {\n\tvar len = _v0.a;\n\treturn len;\n};\nvar $elm$core$Basics$neq = _Utils_notEqual;\nvar $elm$virtual_dom$VirtualDom$keyedNode = function (tag) {\n\treturn _VirtualDom_keyedNode(\n\t\t_VirtualDom_noScript(tag));\n};\nvar $elm$html$Html$Keyed$node = $elm$virtual_dom$VirtualDom$keyedNode;\nvar $elm$browser$Debugger$History$maxSnapshotSize = 31;\nvar $elm$browser$Debugger$History$showMoreButton = function (numMessages) {\n\tvar nextIndex = (numMessages - 1) - ($elm$browser$Debugger$History$maxSnapshotSize * 2);\n\tvar labelText = 'View more messages';\n\treturn A2(\n\t\t$elm$html$Html$div,\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\t$elm$html$Html$Attributes$class('elm-debugger-entry'),\n\t\t\t\t$elm$html$Html$Events$onClick(nextIndex)\n\t\t\t]),\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\tA2(\n\t\t\t\t$elm$html$Html$span,\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\t$elm$html$Html$Attributes$title(labelText),\n\t\t\t\t\t\t$elm$html$Html$Attributes$class('elm-debugger-entry-content')\n\t\t\t\t\t]),\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\t$elm$html$Html$text(labelText)\n\t\t\t\t\t])),\n\t\t\t\tA2(\n\t\t\t\t$elm$html$Html$span,\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\t$elm$html$Html$Attributes$class('elm-debugger-entry-index')\n\t\t\t\t\t]),\n\t\t\t\t_List_Nil)\n\t\t\t]));\n};\nvar $elm$browser$Debugger$History$styles = A3(\n\t$elm$html$Html$node,\n\t'style',\n\t_List_Nil,\n\t_List_fromArray(\n\t\t[\n\t\t\t$elm$html$Html$text('\\n\\n.elm-debugger-entry {\\n cursor: pointer;\\n width: 100%;\\n box-sizing: border-box;\\n padding: 8px;\\n}\\n\\n.elm-debugger-entry:hover {\\n background-color: rgb(41, 41, 41);\\n}\\n\\n.elm-debugger-entry-selected, .elm-debugger-entry-selected:hover {\\n background-color: rgb(10, 10, 10);\\n}\\n\\n.elm-debugger-entry-content {\\n width: calc(100% - 40px);\\n padding: 0 5px;\\n box-sizing: border-box;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden;\\n display: inline-block;\\n}\\n\\n.elm-debugger-entry-index {\\n color: #666;\\n width: 40px;\\n text-align: right;\\n display: block;\\n float: right;\\n}\\n\\n')\n\t\t]));\nvar $elm$core$Basics$ge = _Utils_ge;\nvar $elm$browser$Debugger$History$viewSnapshot = F3(\n\tfunction (selectedIndex, index, _v0) {\n\t\tvar messages = _v0.messages;\n\t\treturn A3(\n\t\t\t$elm$html$Html$Keyed$node,\n\t\t\t'div',\n\t\t\t_List_Nil,\n\t\t\tA3(\n\t\t\t\t$elm$core$Array$foldr,\n\t\t\t\t$elm$browser$Debugger$History$consMsg(selectedIndex),\n\t\t\t\t_Utils_Tuple2(index, _List_Nil),\n\t\t\t\tmessages).b);\n\t});\nvar $elm$browser$Debugger$History$consSnapshot = F3(\n\tfunction (selectedIndex, snapshot, _v0) {\n\t\tvar index = _v0.a;\n\t\tvar rest = _v0.b;\n\t\tvar nextIndex = index + $elm$core$Array$length(snapshot.messages);\n\t\tvar selectedIndexHelp = ((_Utils_cmp(nextIndex, selectedIndex) > 0) && (_Utils_cmp(selectedIndex, index) > -1)) ? selectedIndex : (-1);\n\t\treturn _Utils_Tuple2(\n\t\t\tnextIndex,\n\t\t\tA2(\n\t\t\t\t$elm$core$List$cons,\n\t\t\t\tA4($elm$html$Html$Lazy$lazy3, $elm$browser$Debugger$History$viewSnapshot, selectedIndexHelp, index, snapshot),\n\t\t\t\trest));\n\t});\nvar $elm$core$Elm$JsArray$foldl = _JsArray_foldl;\nvar $elm$core$Array$foldl = F3(\n\tfunction (func, baseCase, _v0) {\n\t\tvar tree = _v0.c;\n\t\tvar tail = _v0.d;\n\t\tvar helper = F2(\n\t\t\tfunction (node, acc) {\n\t\t\t\tif (node.$ === 'SubTree') {\n\t\t\t\t\tvar subTree = node.a;\n\t\t\t\t\treturn A3($elm$core$Elm$JsArray$foldl, helper, acc, subTree);\n\t\t\t\t} else {\n\t\t\t\t\tvar values = node.a;\n\t\t\t\t\treturn A3($elm$core$Elm$JsArray$foldl, func, acc, values);\n\t\t\t\t}\n\t\t\t});\n\t\treturn A3(\n\t\t\t$elm$core$Elm$JsArray$foldl,\n\t\t\tfunc,\n\t\t\tA3($elm$core$Elm$JsArray$foldl, helper, baseCase, tree),\n\t\t\ttail);\n\t});\nvar $elm$browser$Debugger$History$viewAllSnapshots = F3(\n\tfunction (selectedIndex, startIndex, snapshots) {\n\t\treturn A2(\n\t\t\t$elm$html$Html$div,\n\t\t\t_List_Nil,\n\t\t\tA3(\n\t\t\t\t$elm$core$Array$foldl,\n\t\t\t\t$elm$browser$Debugger$History$consSnapshot(selectedIndex),\n\t\t\t\t_Utils_Tuple2(startIndex, _List_Nil),\n\t\t\t\tsnapshots).b);\n\t});\nvar $elm$core$Array$fromListHelp = F3(\n\tfunction (list, nodeList, nodeListSize) {\n\t\tfromListHelp:\n\t\twhile (true) {\n\t\t\tvar _v0 = A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, list);\n\t\t\tvar jsArray = _v0.a;\n\t\t\tvar remainingItems = _v0.b;\n\t\t\tif (_Utils_cmp(\n\t\t\t\t$elm$core$Elm$JsArray$length(jsArray),\n\t\t\t\t$elm$core$Array$branchFactor) < 0) {\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$core$Array$builderToArray,\n\t\t\t\t\ttrue,\n\t\t\t\t\t{nodeList: nodeList, nodeListSize: nodeListSize, tail: jsArray});\n\t\t\t} else {\n\t\t\t\tvar $temp$list = remainingItems,\n\t\t\t\t\t$temp$nodeList = A2(\n\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t$elm$core$Array$Leaf(jsArray),\n\t\t\t\t\tnodeList),\n\t\t\t\t\t$temp$nodeListSize = nodeListSize + 1;\n\t\t\t\tlist = $temp$list;\n\t\t\t\tnodeList = $temp$nodeList;\n\t\t\t\tnodeListSize = $temp$nodeListSize;\n\t\t\t\tcontinue fromListHelp;\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Array$fromList = function (list) {\n\tif (!list.b) {\n\t\treturn $elm$core$Array$empty;\n\t} else {\n\t\treturn A3($elm$core$Array$fromListHelp, list, _List_Nil, 0);\n\t}\n};\nvar $elm$core$Bitwise$and = _Bitwise_and;\nvar $elm$core$Bitwise$shiftRightZfBy = _Bitwise_shiftRightZfBy;\nvar $elm$core$Array$bitMask = 4294967295 >>> (32 - $elm$core$Array$shiftStep);\nvar $elm$core$Elm$JsArray$unsafeGet = _JsArray_unsafeGet;\nvar $elm$core$Array$getHelp = F3(\n\tfunction (shift, index, tree) {\n\t\tgetHelp:\n\t\twhile (true) {\n\t\t\tvar pos = $elm$core$Array$bitMask & (index >>> shift);\n\t\t\tvar _v0 = A2($elm$core$Elm$JsArray$unsafeGet, pos, tree);\n\t\t\tif (_v0.$ === 'SubTree') {\n\t\t\t\tvar subTree = _v0.a;\n\t\t\t\tvar $temp$shift = shift - $elm$core$Array$shiftStep,\n\t\t\t\t\t$temp$index = index,\n\t\t\t\t\t$temp$tree = subTree;\n\t\t\t\tshift = $temp$shift;\n\t\t\t\tindex = $temp$index;\n\t\t\t\ttree = $temp$tree;\n\t\t\t\tcontinue getHelp;\n\t\t\t} else {\n\t\t\t\tvar values = _v0.a;\n\t\t\t\treturn A2($elm$core$Elm$JsArray$unsafeGet, $elm$core$Array$bitMask & index, values);\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Bitwise$shiftLeftBy = _Bitwise_shiftLeftBy;\nvar $elm$core$Array$tailIndex = function (len) {\n\treturn (len >>> 5) << 5;\n};\nvar $elm$core$Array$get = F2(\n\tfunction (index, _v0) {\n\t\tvar len = _v0.a;\n\t\tvar startShift = _v0.b;\n\t\tvar tree = _v0.c;\n\t\tvar tail = _v0.d;\n\t\treturn ((index < 0) || (_Utils_cmp(index, len) > -1)) ? $elm$core$Maybe$Nothing : ((_Utils_cmp(\n\t\t\tindex,\n\t\t\t$elm$core$Array$tailIndex(len)) > -1) ? $elm$core$Maybe$Just(\n\t\t\tA2($elm$core$Elm$JsArray$unsafeGet, $elm$core$Array$bitMask & index, tail)) : $elm$core$Maybe$Just(\n\t\t\tA3($elm$core$Array$getHelp, startShift, index, tree)));\n\t});\nvar $elm$core$Elm$JsArray$appendN = _JsArray_appendN;\nvar $elm$core$Elm$JsArray$slice = _JsArray_slice;\nvar $elm$core$Array$appendHelpBuilder = F2(\n\tfunction (tail, builder) {\n\t\tvar tailLen = $elm$core$Elm$JsArray$length(tail);\n\t\tvar notAppended = ($elm$core$Array$branchFactor - $elm$core$Elm$JsArray$length(builder.tail)) - tailLen;\n\t\tvar appended = A3($elm$core$Elm$JsArray$appendN, $elm$core$Array$branchFactor, builder.tail, tail);\n\t\treturn (notAppended < 0) ? {\n\t\t\tnodeList: A2(\n\t\t\t\t$elm$core$List$cons,\n\t\t\t\t$elm$core$Array$Leaf(appended),\n\t\t\t\tbuilder.nodeList),\n\t\t\tnodeListSize: builder.nodeListSize + 1,\n\t\t\ttail: A3($elm$core$Elm$JsArray$slice, notAppended, tailLen, tail)\n\t\t} : ((!notAppended) ? {\n\t\t\tnodeList: A2(\n\t\t\t\t$elm$core$List$cons,\n\t\t\t\t$elm$core$Array$Leaf(appended),\n\t\t\t\tbuilder.nodeList),\n\t\t\tnodeListSize: builder.nodeListSize + 1,\n\t\t\ttail: $elm$core$Elm$JsArray$empty\n\t\t} : {nodeList: builder.nodeList, nodeListSize: builder.nodeListSize, tail: appended});\n\t});\nvar $elm$core$List$drop = F2(\n\tfunction (n, list) {\n\t\tdrop:\n\t\twhile (true) {\n\t\t\tif (n <= 0) {\n\t\t\t\treturn list;\n\t\t\t} else {\n\t\t\t\tif (!list.b) {\n\t\t\t\t\treturn list;\n\t\t\t\t} else {\n\t\t\t\t\tvar x = list.a;\n\t\t\t\t\tvar xs = list.b;\n\t\t\t\t\tvar $temp$n = n - 1,\n\t\t\t\t\t\t$temp$list = xs;\n\t\t\t\t\tn = $temp$n;\n\t\t\t\t\tlist = $temp$list;\n\t\t\t\t\tcontinue drop;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Array$sliceLeft = F2(\n\tfunction (from, array) {\n\t\tvar len = array.a;\n\t\tvar tree = array.c;\n\t\tvar tail = array.d;\n\t\tif (!from) {\n\t\t\treturn array;\n\t\t} else {\n\t\t\tif (_Utils_cmp(\n\t\t\t\tfrom,\n\t\t\t\t$elm$core$Array$tailIndex(len)) > -1) {\n\t\t\t\treturn A4(\n\t\t\t\t\t$elm$core$Array$Array_elm_builtin,\n\t\t\t\t\tlen - from,\n\t\t\t\t\t$elm$core$Array$shiftStep,\n\t\t\t\t\t$elm$core$Elm$JsArray$empty,\n\t\t\t\t\tA3(\n\t\t\t\t\t\t$elm$core$Elm$JsArray$slice,\n\t\t\t\t\t\tfrom - $elm$core$Array$tailIndex(len),\n\t\t\t\t\t\t$elm$core$Elm$JsArray$length(tail),\n\t\t\t\t\t\ttail));\n\t\t\t} else {\n\t\t\t\tvar skipNodes = (from / $elm$core$Array$branchFactor) | 0;\n\t\t\t\tvar helper = F2(\n\t\t\t\t\tfunction (node, acc) {\n\t\t\t\t\t\tif (node.$ === 'SubTree') {\n\t\t\t\t\t\t\tvar subTree = node.a;\n\t\t\t\t\t\t\treturn A3($elm$core$Elm$JsArray$foldr, helper, acc, subTree);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar leaf = node.a;\n\t\t\t\t\t\t\treturn A2($elm$core$List$cons, leaf, acc);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\tvar leafNodes = A3(\n\t\t\t\t\t$elm$core$Elm$JsArray$foldr,\n\t\t\t\t\thelper,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[tail]),\n\t\t\t\t\ttree);\n\t\t\t\tvar nodesToInsert = A2($elm$core$List$drop, skipNodes, leafNodes);\n\t\t\t\tif (!nodesToInsert.b) {\n\t\t\t\t\treturn $elm$core$Array$empty;\n\t\t\t\t} else {\n\t\t\t\t\tvar head = nodesToInsert.a;\n\t\t\t\t\tvar rest = nodesToInsert.b;\n\t\t\t\t\tvar firstSlice = from - (skipNodes * $elm$core$Array$branchFactor);\n\t\t\t\t\tvar initialBuilder = {\n\t\t\t\t\t\tnodeList: _List_Nil,\n\t\t\t\t\t\tnodeListSize: 0,\n\t\t\t\t\t\ttail: A3(\n\t\t\t\t\t\t\t$elm$core$Elm$JsArray$slice,\n\t\t\t\t\t\t\tfirstSlice,\n\t\t\t\t\t\t\t$elm$core$Elm$JsArray$length(head),\n\t\t\t\t\t\t\thead)\n\t\t\t\t\t};\n\t\t\t\t\treturn A2(\n\t\t\t\t\t\t$elm$core$Array$builderToArray,\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t\tA3($elm$core$List$foldl, $elm$core$Array$appendHelpBuilder, initialBuilder, rest));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Array$fetchNewTail = F4(\n\tfunction (shift, end, treeEnd, tree) {\n\t\tfetchNewTail:\n\t\twhile (true) {\n\t\t\tvar pos = $elm$core$Array$bitMask & (treeEnd >>> shift);\n\t\t\tvar _v0 = A2($elm$core$Elm$JsArray$unsafeGet, pos, tree);\n\t\t\tif (_v0.$ === 'SubTree') {\n\t\t\t\tvar sub = _v0.a;\n\t\t\t\tvar $temp$shift = shift - $elm$core$Array$shiftStep,\n\t\t\t\t\t$temp$end = end,\n\t\t\t\t\t$temp$treeEnd = treeEnd,\n\t\t\t\t\t$temp$tree = sub;\n\t\t\t\tshift = $temp$shift;\n\t\t\t\tend = $temp$end;\n\t\t\t\ttreeEnd = $temp$treeEnd;\n\t\t\t\ttree = $temp$tree;\n\t\t\t\tcontinue fetchNewTail;\n\t\t\t} else {\n\t\t\t\tvar values = _v0.a;\n\t\t\t\treturn A3($elm$core$Elm$JsArray$slice, 0, $elm$core$Array$bitMask & end, values);\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Array$hoistTree = F3(\n\tfunction (oldShift, newShift, tree) {\n\t\thoistTree:\n\t\twhile (true) {\n\t\t\tif ((_Utils_cmp(oldShift, newShift) < 1) || (!$elm$core$Elm$JsArray$length(tree))) {\n\t\t\t\treturn tree;\n\t\t\t} else {\n\t\t\t\tvar _v0 = A2($elm$core$Elm$JsArray$unsafeGet, 0, tree);\n\t\t\t\tif (_v0.$ === 'SubTree') {\n\t\t\t\t\tvar sub = _v0.a;\n\t\t\t\t\tvar $temp$oldShift = oldShift - $elm$core$Array$shiftStep,\n\t\t\t\t\t\t$temp$newShift = newShift,\n\t\t\t\t\t\t$temp$tree = sub;\n\t\t\t\t\toldShift = $temp$oldShift;\n\t\t\t\t\tnewShift = $temp$newShift;\n\t\t\t\t\ttree = $temp$tree;\n\t\t\t\t\tcontinue hoistTree;\n\t\t\t\t} else {\n\t\t\t\t\treturn tree;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Elm$JsArray$unsafeSet = _JsArray_unsafeSet;\nvar $elm$core$Array$sliceTree = F3(\n\tfunction (shift, endIdx, tree) {\n\t\tvar lastPos = $elm$core$Array$bitMask & (endIdx >>> shift);\n\t\tvar _v0 = A2($elm$core$Elm$JsArray$unsafeGet, lastPos, tree);\n\t\tif (_v0.$ === 'SubTree') {\n\t\t\tvar sub = _v0.a;\n\t\t\tvar newSub = A3($elm$core$Array$sliceTree, shift - $elm$core$Array$shiftStep, endIdx, sub);\n\t\t\treturn (!$elm$core$Elm$JsArray$length(newSub)) ? A3($elm$core$Elm$JsArray$slice, 0, lastPos, tree) : A3(\n\t\t\t\t$elm$core$Elm$JsArray$unsafeSet,\n\t\t\t\tlastPos,\n\t\t\t\t$elm$core$Array$SubTree(newSub),\n\t\t\t\tA3($elm$core$Elm$JsArray$slice, 0, lastPos + 1, tree));\n\t\t} else {\n\t\t\treturn A3($elm$core$Elm$JsArray$slice, 0, lastPos, tree);\n\t\t}\n\t});\nvar $elm$core$Array$sliceRight = F2(\n\tfunction (end, array) {\n\t\tvar len = array.a;\n\t\tvar startShift = array.b;\n\t\tvar tree = array.c;\n\t\tvar tail = array.d;\n\t\tif (_Utils_eq(end, len)) {\n\t\t\treturn array;\n\t\t} else {\n\t\t\tif (_Utils_cmp(\n\t\t\t\tend,\n\t\t\t\t$elm$core$Array$tailIndex(len)) > -1) {\n\t\t\t\treturn A4(\n\t\t\t\t\t$elm$core$Array$Array_elm_builtin,\n\t\t\t\t\tend,\n\t\t\t\t\tstartShift,\n\t\t\t\t\ttree,\n\t\t\t\t\tA3($elm$core$Elm$JsArray$slice, 0, $elm$core$Array$bitMask & end, tail));\n\t\t\t} else {\n\t\t\t\tvar endIdx = $elm$core$Array$tailIndex(end);\n\t\t\t\tvar depth = $elm$core$Basics$floor(\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$Basics$logBase,\n\t\t\t\t\t\t$elm$core$Array$branchFactor,\n\t\t\t\t\t\tA2($elm$core$Basics$max, 1, endIdx - 1)));\n\t\t\t\tvar newShift = A2($elm$core$Basics$max, 5, depth * $elm$core$Array$shiftStep);\n\t\t\t\treturn A4(\n\t\t\t\t\t$elm$core$Array$Array_elm_builtin,\n\t\t\t\t\tend,\n\t\t\t\t\tnewShift,\n\t\t\t\t\tA3(\n\t\t\t\t\t\t$elm$core$Array$hoistTree,\n\t\t\t\t\t\tstartShift,\n\t\t\t\t\t\tnewShift,\n\t\t\t\t\t\tA3($elm$core$Array$sliceTree, startShift, endIdx, tree)),\n\t\t\t\t\tA4($elm$core$Array$fetchNewTail, startShift, end, endIdx, tree));\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Array$translateIndex = F2(\n\tfunction (index, _v0) {\n\t\tvar len = _v0.a;\n\t\tvar posIndex = (index < 0) ? (len + index) : index;\n\t\treturn (posIndex < 0) ? 0 : ((_Utils_cmp(posIndex, len) > 0) ? len : posIndex);\n\t});\nvar $elm$core$Array$slice = F3(\n\tfunction (from, to, array) {\n\t\tvar correctTo = A2($elm$core$Array$translateIndex, to, array);\n\t\tvar correctFrom = A2($elm$core$Array$translateIndex, from, array);\n\t\treturn (_Utils_cmp(correctFrom, correctTo) > 0) ? $elm$core$Array$empty : A2(\n\t\t\t$elm$core$Array$sliceLeft,\n\t\t\tcorrectFrom,\n\t\t\tA2($elm$core$Array$sliceRight, correctTo, array));\n\t});\nvar $elm$browser$Debugger$History$viewRecentSnapshots = F3(\n\tfunction (selectedIndex, recentMessagesNum, snapshots) {\n\t\tvar messagesToFill = $elm$browser$Debugger$History$maxSnapshotSize - recentMessagesNum;\n\t\tvar arrayLength = $elm$core$Array$length(snapshots);\n\t\tvar snapshotsToRender = function () {\n\t\t\tvar _v0 = _Utils_Tuple2(\n\t\t\t\tA2($elm$core$Array$get, arrayLength - 2, snapshots),\n\t\t\t\tA2($elm$core$Array$get, arrayLength - 1, snapshots));\n\t\t\tif ((_v0.a.$ === 'Just') && (_v0.b.$ === 'Just')) {\n\t\t\t\tvar fillerSnapshot = _v0.a.a;\n\t\t\t\tvar recentSnapshot = _v0.b.a;\n\t\t\t\treturn $elm$core$Array$fromList(\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\tmessages: A3($elm$core$Array$slice, 0, messagesToFill, fillerSnapshot.messages),\n\t\t\t\t\t\t\tmodel: fillerSnapshot.model\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\trecentSnapshot\n\t\t\t\t\t\t]));\n\t\t\t} else {\n\t\t\t\treturn snapshots;\n\t\t\t}\n\t\t}();\n\t\tvar startingIndex = ((arrayLength * $elm$browser$Debugger$History$maxSnapshotSize) - $elm$browser$Debugger$History$maxSnapshotSize) - messagesToFill;\n\t\treturn A3($elm$browser$Debugger$History$viewAllSnapshots, selectedIndex, startingIndex, snapshotsToRender);\n\t});\nvar $elm$browser$Debugger$History$view = F2(\n\tfunction (maybeIndex, _v0) {\n\t\tvar snapshots = _v0.snapshots;\n\t\tvar recent = _v0.recent;\n\t\tvar numMessages = _v0.numMessages;\n\t\tvar recentMessageStartIndex = numMessages - recent.numMessages;\n\t\tvar index = A2($elm$core$Maybe$withDefault, -1, maybeIndex);\n\t\tvar newStuff = A3(\n\t\t\t$elm$html$Html$Keyed$node,\n\t\t\t'div',\n\t\t\t_List_Nil,\n\t\t\tA3(\n\t\t\t\t$elm$core$List$foldr,\n\t\t\t\t$elm$browser$Debugger$History$consMsg(index),\n\t\t\t\t_Utils_Tuple2(recentMessageStartIndex, _List_Nil),\n\t\t\t\trecent.messages).b);\n\t\tvar onlyRenderRecentMessages = (!_Utils_eq(index, -1)) || ($elm$core$Array$length(snapshots) < 2);\n\t\tvar oldStuff = onlyRenderRecentMessages ? A4($elm$html$Html$Lazy$lazy3, $elm$browser$Debugger$History$viewAllSnapshots, index, 0, snapshots) : A4($elm$html$Html$Lazy$lazy3, $elm$browser$Debugger$History$viewRecentSnapshots, index, recent.numMessages, snapshots);\n\t\treturn A2(\n\t\t\t$elm$html$Html$div,\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\t$elm$html$Html$Attributes$id('elm-debugger-sidebar'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'width', '100%'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'overflow-y', 'auto'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'height', 'calc(100% - 72px)')\n\t\t\t\t]),\n\t\t\tA2(\n\t\t\t\t$elm$core$List$cons,\n\t\t\t\t$elm$browser$Debugger$History$styles,\n\t\t\t\tA2(\n\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\tnewStuff,\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\toldStuff,\n\t\t\t\t\t\tonlyRenderRecentMessages ? _List_Nil : _List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t$elm$browser$Debugger$History$showMoreButton(numMessages)\n\t\t\t\t\t\t\t])))));\n\t});\nvar $elm$browser$Debugger$Main$SwapLayout = {$: 'SwapLayout'};\nvar $elm$browser$Debugger$Main$toHistoryIcon = function (layout) {\n\tif (layout.$ === 'Horizontal') {\n\t\treturn 'M13 1a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3h-10a3 3 0 0 1-3-3v-8a3 3 0 0 1 3-3z M13 3h-10a1 1 0 0 0-1 1v5h12v-5a1 1 0 0 0-1-1z M14 10h-12v2a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1z';\n\t} else {\n\t\treturn 'M0 4a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3h-10a3 3 0 0 1-3-3z M2 4v8a1 1 0 0 0 1 1h2v-10h-2a1 1 0 0 0-1 1z M6 3v10h7a1 1 0 0 0 1-1v-8a1 1 0 0 0-1-1z';\n\t}\n};\nvar $elm$browser$Debugger$Main$icon = function (path) {\n\treturn A4(\n\t\t$elm$virtual_dom$VirtualDom$nodeNS,\n\t\t'http://www.w3.org/2000/svg',\n\t\t'svg',\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\tA2($elm$virtual_dom$VirtualDom$attribute, 'viewBox', '0 0 16 16'),\n\t\t\t\tA2($elm$virtual_dom$VirtualDom$attribute, 'xmlns', 'http://www.w3.org/2000/svg'),\n\t\t\t\tA2($elm$virtual_dom$VirtualDom$attribute, 'fill', 'currentColor'),\n\t\t\t\tA2($elm$virtual_dom$VirtualDom$attribute, 'width', '16px'),\n\t\t\t\tA2($elm$virtual_dom$VirtualDom$attribute, 'height', '16px')\n\t\t\t]),\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\tA4(\n\t\t\t\t$elm$virtual_dom$VirtualDom$nodeNS,\n\t\t\t\t'http://www.w3.org/2000/svg',\n\t\t\t\t'path',\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\tA2($elm$virtual_dom$VirtualDom$attribute, 'd', path)\n\t\t\t\t\t]),\n\t\t\t\t_List_Nil)\n\t\t\t]));\n};\nvar $elm$browser$Debugger$Main$viewHistoryButton = F3(\n\tfunction (label, msg, path) {\n\t\treturn A2(\n\t\t\t$elm$html$Html$button,\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'display', 'flex'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'flex-direction', 'row'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'align-items', 'center'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'background', 'none'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'border', 'none'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'color', 'inherit'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'cursor', 'pointer'),\n\t\t\t\t\t$elm$html$Html$Events$onClick(msg)\n\t\t\t\t]),\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\t$elm$browser$Debugger$Main$icon(path),\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$span,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'padding-left', '6px')\n\t\t\t\t\t\t]),\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$text(label)\n\t\t\t\t\t\t]))\n\t\t\t\t]));\n\t});\nvar $elm$browser$Debugger$Main$viewHistoryOptions = function (layout) {\n\treturn A2(\n\t\t$elm$html$Html$div,\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'width', '100%'),\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'height', '36px'),\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'display', 'flex'),\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'flex-direction', 'row'),\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'align-items', 'center'),\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'justify-content', 'space-between'),\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'background-color', 'rgb(50, 50, 50)')\n\t\t\t]),\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\tA3(\n\t\t\t\t$elm$browser$Debugger$Main$viewHistoryButton,\n\t\t\t\t'Swap Layout',\n\t\t\t\t$elm$browser$Debugger$Main$SwapLayout,\n\t\t\t\t$elm$browser$Debugger$Main$toHistoryIcon(layout)),\n\t\t\t\tA2(\n\t\t\t\t$elm$html$Html$div,\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'display', 'flex'),\n\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'flex-direction', 'row'),\n\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'align-items', 'center'),\n\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'justify-content', 'space-between')\n\t\t\t\t\t]),\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\tA3($elm$browser$Debugger$Main$viewHistoryButton, 'Import', $elm$browser$Debugger$Main$Import, 'M5 1a1 1 0 0 1 0 2h-2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1a1 1 0 0 1 2 0a3 3 0 0 1-3 3h-10a3 3 0 0 1-3-3v-8a3 3 0 0 1 3-3z M10 2a1 1 0 0 0 -2 0v6a1 1 0 0 0 1 1h6a1 1 0 0 0 0-2h-3.586l4.293-4.293a1 1 0 0 0-1.414-1.414l-4.293 4.293z'),\n\t\t\t\t\t\tA3($elm$browser$Debugger$Main$viewHistoryButton, 'Export', $elm$browser$Debugger$Main$Export, 'M5 1a1 1 0 0 1 0 2h-2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1 a1 1 0 0 1 2 0a3 3 0 0 1-3 3h-10a3 3 0 0 1-3-3v-8a3 3 0 0 1 3-3z M9 3a1 1 0 1 1 0-2h6a1 1 0 0 1 1 1v6a1 1 0 1 1-2 0v-3.586l-5.293 5.293 a1 1 0 0 1-1.414-1.414l5.293 -5.293z')\n\t\t\t\t\t]))\n\t\t\t]));\n};\nvar $elm$browser$Debugger$Main$SliderJump = function (a) {\n\treturn {$: 'SliderJump', a: a};\n};\nvar $elm$core$Basics$composeR = F3(\n\tfunction (f, g, x) {\n\t\treturn g(\n\t\t\tf(x));\n\t});\nvar $elm$html$Html$input = _VirtualDom_node('input');\nvar $elm$browser$Debugger$Main$isPlaying = function (maybeIndex) {\n\tif (maybeIndex.$ === 'Nothing') {\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\nvar $elm$html$Html$Attributes$max = $elm$html$Html$Attributes$stringProperty('max');\nvar $elm$html$Html$Attributes$min = $elm$html$Html$Attributes$stringProperty('min');\nvar $elm$html$Html$Events$alwaysStop = function (x) {\n\treturn _Utils_Tuple2(x, true);\n};\nvar $elm$virtual_dom$VirtualDom$MayStopPropagation = function (a) {\n\treturn {$: 'MayStopPropagation', a: a};\n};\nvar $elm$html$Html$Events$stopPropagationOn = F2(\n\tfunction (event, decoder) {\n\t\treturn A2(\n\t\t\t$elm$virtual_dom$VirtualDom$on,\n\t\t\tevent,\n\t\t\t$elm$virtual_dom$VirtualDom$MayStopPropagation(decoder));\n\t});\nvar $elm$json$Json$Decode$string = _Json_decodeString;\nvar $elm$html$Html$Events$targetValue = A2(\n\t$elm$json$Json$Decode$at,\n\t_List_fromArray(\n\t\t['target', 'value']),\n\t$elm$json$Json$Decode$string);\nvar $elm$html$Html$Events$onInput = function (tagger) {\n\treturn A2(\n\t\t$elm$html$Html$Events$stopPropagationOn,\n\t\t'input',\n\t\tA2(\n\t\t\t$elm$json$Json$Decode$map,\n\t\t\t$elm$html$Html$Events$alwaysStop,\n\t\t\tA2($elm$json$Json$Decode$map, tagger, $elm$html$Html$Events$targetValue)));\n};\nvar $elm$core$String$toInt = _String_toInt;\nvar $elm$html$Html$Attributes$type_ = $elm$html$Html$Attributes$stringProperty('type');\nvar $elm$html$Html$Attributes$value = $elm$html$Html$Attributes$stringProperty('value');\nvar $elm$browser$Debugger$Main$viewPlayButton = function (playing) {\n\treturn A2(\n\t\t$elm$html$Html$button,\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'background', '#1293D8'),\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'border', 'none'),\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'color', 'white'),\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'cursor', 'pointer'),\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'width', '36px'),\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'height', '36px'),\n\t\t\t\t$elm$html$Html$Events$onClick($elm$browser$Debugger$Main$Resume)\n\t\t\t]),\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\tplaying ? $elm$browser$Debugger$Main$icon('M2 2h4v12h-4v-12z M10 2h4v12h-4v-12z') : $elm$browser$Debugger$Main$icon('M2 2l12 7l-12 7z')\n\t\t\t]));\n};\nvar $elm$browser$Debugger$Main$viewHistorySlider = F2(\n\tfunction (history, maybeIndex) {\n\t\tvar lastIndex = $elm$browser$Debugger$History$size(history) - 1;\n\t\tvar selectedIndex = A2($elm$core$Maybe$withDefault, lastIndex, maybeIndex);\n\t\treturn A2(\n\t\t\t$elm$html$Html$div,\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'display', 'flex'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'flex-direction', 'row'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'align-items', 'center'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'width', '100%'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'height', '36px'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'background-color', 'rgb(50, 50, 50)')\n\t\t\t\t]),\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$Lazy$lazy,\n\t\t\t\t\t$elm$browser$Debugger$Main$viewPlayButton,\n\t\t\t\t\t$elm$browser$Debugger$Main$isPlaying(maybeIndex)),\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$input,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$Attributes$type_('range'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'width', 'calc(100% - 56px)'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'height', '36px'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'margin', '0 10px'),\n\t\t\t\t\t\t\t$elm$html$Html$Attributes$min('0'),\n\t\t\t\t\t\t\t$elm$html$Html$Attributes$max(\n\t\t\t\t\t\t\t$elm$core$String$fromInt(lastIndex)),\n\t\t\t\t\t\t\t$elm$html$Html$Attributes$value(\n\t\t\t\t\t\t\t$elm$core$String$fromInt(selectedIndex)),\n\t\t\t\t\t\t\t$elm$html$Html$Events$onInput(\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t$elm$core$Basics$composeR,\n\t\t\t\t\t\t\t\t$elm$core$String$toInt,\n\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t$elm$core$Basics$composeR,\n\t\t\t\t\t\t\t\t\t$elm$core$Maybe$withDefault(lastIndex),\n\t\t\t\t\t\t\t\t\t$elm$browser$Debugger$Main$SliderJump)))\n\t\t\t\t\t\t]),\n\t\t\t\t\t_List_Nil)\n\t\t\t\t]));\n\t});\nvar $elm$browser$Debugger$Main$viewHistory = F3(\n\tfunction (maybeIndex, history, layout) {\n\t\tvar block = $elm$browser$Debugger$Main$toMouseBlocker(layout);\n\t\tvar _v0 = $elm$browser$Debugger$Main$toHistoryPercents(layout);\n\t\tvar w = _v0.a;\n\t\tvar h = _v0.b;\n\t\treturn A2(\n\t\t\t$elm$html$Html$div,\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'width', w),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'height', h),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'display', 'flex'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'flex-direction', 'column'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'color', '#DDDDDD'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'background-color', 'rgb(61, 61, 61)'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'pointer-events', block),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'user-select', block)\n\t\t\t\t]),\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2($elm$browser$Debugger$Main$viewHistorySlider, history, maybeIndex),\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$map,\n\t\t\t\t\t$elm$browser$Debugger$Main$Jump,\n\t\t\t\t\tA2($elm$browser$Debugger$History$view, maybeIndex, history)),\n\t\t\t\t\tA2($elm$html$Html$Lazy$lazy, $elm$browser$Debugger$Main$viewHistoryOptions, layout)\n\t\t\t\t]));\n\t});\nvar $elm$browser$Debugger$Main$popoutView = function (model) {\n\tvar maybeIndex = function () {\n\t\tvar _v0 = model.state;\n\t\tif (_v0.$ === 'Running') {\n\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t} else {\n\t\t\tvar index = _v0.a;\n\t\t\treturn $elm$core$Maybe$Just(index);\n\t\t}\n\t}();\n\tvar historyToRender = $elm$browser$Debugger$Main$cachedHistory(model);\n\treturn A3(\n\t\t$elm$html$Html$node,\n\t\t'body',\n\t\t_Utils_ap(\n\t\t\t$elm$browser$Debugger$Main$toDragListeners(model.layout),\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'margin', '0'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'padding', '0'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'width', '100%'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'height', '100%'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'font-family', 'monospace'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'display', 'flex'),\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$Attributes$style,\n\t\t\t\t\t'flex-direction',\n\t\t\t\t\t$elm$browser$Debugger$Main$toFlexDirection(model.layout))\n\t\t\t\t])),\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\tA3($elm$browser$Debugger$Main$viewHistory, maybeIndex, historyToRender, model.layout),\n\t\t\t\t$elm$browser$Debugger$Main$viewDragZone(model.layout),\n\t\t\t\tA3($elm$browser$Debugger$Main$viewExpando, model.expandoMsg, model.expandoModel, model.layout)\n\t\t\t]));\n};\nvar $elm$browser$Debugger$Overlay$BlockAll = {$: 'BlockAll'};\nvar $elm$browser$Debugger$Overlay$toBlockerType = F2(\n\tfunction (isPaused, state) {\n\t\tswitch (state.$) {\n\t\t\tcase 'None':\n\t\t\t\treturn isPaused ? $elm$browser$Debugger$Overlay$BlockAll : $elm$browser$Debugger$Overlay$BlockNone;\n\t\t\tcase 'BadMetadata':\n\t\t\t\treturn $elm$browser$Debugger$Overlay$BlockMost;\n\t\t\tcase 'BadImport':\n\t\t\t\treturn $elm$browser$Debugger$Overlay$BlockMost;\n\t\t\tdefault:\n\t\t\t\treturn $elm$browser$Debugger$Overlay$BlockMost;\n\t\t}\n\t});\nvar $elm$browser$Debugger$Main$toBlockerType = function (model) {\n\treturn A2(\n\t\t$elm$browser$Debugger$Overlay$toBlockerType,\n\t\t$elm$browser$Debugger$Main$isPaused(model.state),\n\t\tmodel.overlay);\n};\nvar $elm$browser$Debugger$Main$Horizontal = F3(\n\tfunction (a, b, c) {\n\t\treturn {$: 'Horizontal', a: a, b: b, c: c};\n\t});\nvar $elm$browser$Debugger$Main$Running = function (a) {\n\treturn {$: 'Running', a: a};\n};\nvar $elm$browser$Debugger$Main$Static = {$: 'Static'};\nvar $elm$browser$Debugger$Metadata$Error = F2(\n\tfunction (message, problems) {\n\t\treturn {message: message, problems: problems};\n\t});\nvar $elm$json$Json$Decode$decodeValue = _Json_run;\nvar $elm$browser$Debugger$Metadata$Metadata = F2(\n\tfunction (versions, types) {\n\t\treturn {types: types, versions: versions};\n\t});\nvar $elm$browser$Debugger$Metadata$Types = F3(\n\tfunction (message, aliases, unions) {\n\t\treturn {aliases: aliases, message: message, unions: unions};\n\t});\nvar $elm$browser$Debugger$Metadata$Alias = F2(\n\tfunction (args, tipe) {\n\t\treturn {args: args, tipe: tipe};\n\t});\nvar $elm$json$Json$Decode$list = _Json_decodeList;\nvar $elm$browser$Debugger$Metadata$decodeAlias = A3(\n\t$elm$json$Json$Decode$map2,\n\t$elm$browser$Debugger$Metadata$Alias,\n\tA2(\n\t\t$elm$json$Json$Decode$field,\n\t\t'args',\n\t\t$elm$json$Json$Decode$list($elm$json$Json$Decode$string)),\n\tA2($elm$json$Json$Decode$field, 'type', $elm$json$Json$Decode$string));\nvar $elm$browser$Debugger$Metadata$Union = F2(\n\tfunction (args, tags) {\n\t\treturn {args: args, tags: tags};\n\t});\nvar $elm$core$Dict$fromList = function (assocs) {\n\treturn A3(\n\t\t$elm$core$List$foldl,\n\t\tF2(\n\t\t\tfunction (_v0, dict) {\n\t\t\t\tvar key = _v0.a;\n\t\t\t\tvar value = _v0.b;\n\t\t\t\treturn A3($elm$core$Dict$insert, key, value, dict);\n\t\t\t}),\n\t\t$elm$core$Dict$empty,\n\t\tassocs);\n};\nvar $elm$json$Json$Decode$keyValuePairs = _Json_decodeKeyValuePairs;\nvar $elm$json$Json$Decode$dict = function (decoder) {\n\treturn A2(\n\t\t$elm$json$Json$Decode$map,\n\t\t$elm$core$Dict$fromList,\n\t\t$elm$json$Json$Decode$keyValuePairs(decoder));\n};\nvar $elm$browser$Debugger$Metadata$decodeUnion = A3(\n\t$elm$json$Json$Decode$map2,\n\t$elm$browser$Debugger$Metadata$Union,\n\tA2(\n\t\t$elm$json$Json$Decode$field,\n\t\t'args',\n\t\t$elm$json$Json$Decode$list($elm$json$Json$Decode$string)),\n\tA2(\n\t\t$elm$json$Json$Decode$field,\n\t\t'tags',\n\t\t$elm$json$Json$Decode$dict(\n\t\t\t$elm$json$Json$Decode$list($elm$json$Json$Decode$string))));\nvar $elm$json$Json$Decode$map3 = _Json_map3;\nvar $elm$browser$Debugger$Metadata$decodeTypes = A4(\n\t$elm$json$Json$Decode$map3,\n\t$elm$browser$Debugger$Metadata$Types,\n\tA2($elm$json$Json$Decode$field, 'message', $elm$json$Json$Decode$string),\n\tA2(\n\t\t$elm$json$Json$Decode$field,\n\t\t'aliases',\n\t\t$elm$json$Json$Decode$dict($elm$browser$Debugger$Metadata$decodeAlias)),\n\tA2(\n\t\t$elm$json$Json$Decode$field,\n\t\t'unions',\n\t\t$elm$json$Json$Decode$dict($elm$browser$Debugger$Metadata$decodeUnion)));\nvar $elm$browser$Debugger$Metadata$Versions = function (elm) {\n\treturn {elm: elm};\n};\nvar $elm$browser$Debugger$Metadata$decodeVersions = A2(\n\t$elm$json$Json$Decode$map,\n\t$elm$browser$Debugger$Metadata$Versions,\n\tA2($elm$json$Json$Decode$field, 'elm', $elm$json$Json$Decode$string));\nvar $elm$browser$Debugger$Metadata$decoder = A3(\n\t$elm$json$Json$Decode$map2,\n\t$elm$browser$Debugger$Metadata$Metadata,\n\tA2($elm$json$Json$Decode$field, 'versions', $elm$browser$Debugger$Metadata$decodeVersions),\n\tA2($elm$json$Json$Decode$field, 'types', $elm$browser$Debugger$Metadata$decodeTypes));\nvar $elm$browser$Debugger$Metadata$ProblemType = F2(\n\tfunction (name, problems) {\n\t\treturn {name: name, problems: problems};\n\t});\nvar $elm$core$List$maybeCons = F3(\n\tfunction (f, mx, xs) {\n\t\tvar _v0 = f(mx);\n\t\tif (_v0.$ === 'Just') {\n\t\t\tvar x = _v0.a;\n\t\t\treturn A2($elm$core$List$cons, x, xs);\n\t\t} else {\n\t\t\treturn xs;\n\t\t}\n\t});\nvar $elm$core$List$filterMap = F2(\n\tfunction (f, xs) {\n\t\treturn A3(\n\t\t\t$elm$core$List$foldr,\n\t\t\t$elm$core$List$maybeCons(f),\n\t\t\t_List_Nil,\n\t\t\txs);\n\t});\nvar $elm$core$String$contains = _String_contains;\nvar $elm$browser$Debugger$Metadata$hasProblem = F2(\n\tfunction (tipe, _v0) {\n\t\tvar problem = _v0.a;\n\t\tvar token = _v0.b;\n\t\treturn A2($elm$core$String$contains, token, tipe) ? $elm$core$Maybe$Just(problem) : $elm$core$Maybe$Nothing;\n\t});\nvar $elm$browser$Debugger$Metadata$Decoder = {$: 'Decoder'};\nvar $elm$browser$Debugger$Metadata$Function = {$: 'Function'};\nvar $elm$browser$Debugger$Metadata$Process = {$: 'Process'};\nvar $elm$browser$Debugger$Metadata$Program = {$: 'Program'};\nvar $elm$browser$Debugger$Metadata$Request = {$: 'Request'};\nvar $elm$browser$Debugger$Metadata$Socket = {$: 'Socket'};\nvar $elm$browser$Debugger$Metadata$Task = {$: 'Task'};\nvar $elm$browser$Debugger$Metadata$VirtualDom = {$: 'VirtualDom'};\nvar $elm$browser$Debugger$Metadata$problemTable = _List_fromArray(\n\t[\n\t\t_Utils_Tuple2($elm$browser$Debugger$Metadata$Function, '->'),\n\t\t_Utils_Tuple2($elm$browser$Debugger$Metadata$Decoder, 'Json.Decode.Decoder'),\n\t\t_Utils_Tuple2($elm$browser$Debugger$Metadata$Task, 'Task.Task'),\n\t\t_Utils_Tuple2($elm$browser$Debugger$Metadata$Process, 'Process.Id'),\n\t\t_Utils_Tuple2($elm$browser$Debugger$Metadata$Socket, 'WebSocket.LowLevel.WebSocket'),\n\t\t_Utils_Tuple2($elm$browser$Debugger$Metadata$Request, 'Http.Request'),\n\t\t_Utils_Tuple2($elm$browser$Debugger$Metadata$Program, 'Platform.Program'),\n\t\t_Utils_Tuple2($elm$browser$Debugger$Metadata$VirtualDom, 'VirtualDom.Node'),\n\t\t_Utils_Tuple2($elm$browser$Debugger$Metadata$VirtualDom, 'VirtualDom.Attribute')\n\t]);\nvar $elm$browser$Debugger$Metadata$findProblems = function (tipe) {\n\treturn A2(\n\t\t$elm$core$List$filterMap,\n\t\t$elm$browser$Debugger$Metadata$hasProblem(tipe),\n\t\t$elm$browser$Debugger$Metadata$problemTable);\n};\nvar $elm$browser$Debugger$Metadata$collectBadAliases = F3(\n\tfunction (name, _v0, list) {\n\t\tvar tipe = _v0.tipe;\n\t\tvar _v1 = $elm$browser$Debugger$Metadata$findProblems(tipe);\n\t\tif (!_v1.b) {\n\t\t\treturn list;\n\t\t} else {\n\t\t\tvar problems = _v1;\n\t\t\treturn A2(\n\t\t\t\t$elm$core$List$cons,\n\t\t\t\tA2($elm$browser$Debugger$Metadata$ProblemType, name, problems),\n\t\t\t\tlist);\n\t\t}\n\t});\nvar $elm$core$List$append = F2(\n\tfunction (xs, ys) {\n\t\tif (!ys.b) {\n\t\t\treturn xs;\n\t\t} else {\n\t\t\treturn A3($elm$core$List$foldr, $elm$core$List$cons, ys, xs);\n\t\t}\n\t});\nvar $elm$core$List$concat = function (lists) {\n\treturn A3($elm$core$List$foldr, $elm$core$List$append, _List_Nil, lists);\n};\nvar $elm$core$List$concatMap = F2(\n\tfunction (f, list) {\n\t\treturn $elm$core$List$concat(\n\t\t\tA2($elm$core$List$map, f, list));\n\t});\nvar $elm$core$Dict$values = function (dict) {\n\treturn A3(\n\t\t$elm$core$Dict$foldr,\n\t\tF3(\n\t\t\tfunction (key, value, valueList) {\n\t\t\t\treturn A2($elm$core$List$cons, value, valueList);\n\t\t\t}),\n\t\t_List_Nil,\n\t\tdict);\n};\nvar $elm$browser$Debugger$Metadata$collectBadUnions = F3(\n\tfunction (name, _v0, list) {\n\t\tvar tags = _v0.tags;\n\t\tvar _v1 = A2(\n\t\t\t$elm$core$List$concatMap,\n\t\t\t$elm$browser$Debugger$Metadata$findProblems,\n\t\t\t$elm$core$List$concat(\n\t\t\t\t$elm$core$Dict$values(tags)));\n\t\tif (!_v1.b) {\n\t\t\treturn list;\n\t\t} else {\n\t\t\tvar problems = _v1;\n\t\t\treturn A2(\n\t\t\t\t$elm$core$List$cons,\n\t\t\t\tA2($elm$browser$Debugger$Metadata$ProblemType, name, problems),\n\t\t\t\tlist);\n\t\t}\n\t});\nvar $elm$core$Dict$foldl = F3(\n\tfunction (func, acc, dict) {\n\t\tfoldl:\n\t\twhile (true) {\n\t\t\tif (dict.$ === 'RBEmpty_elm_builtin') {\n\t\t\t\treturn acc;\n\t\t\t} else {\n\t\t\t\tvar key = dict.b;\n\t\t\t\tvar value = dict.c;\n\t\t\t\tvar left = dict.d;\n\t\t\t\tvar right = dict.e;\n\t\t\t\tvar $temp$func = func,\n\t\t\t\t\t$temp$acc = A3(\n\t\t\t\t\tfunc,\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue,\n\t\t\t\t\tA3($elm$core$Dict$foldl, func, acc, left)),\n\t\t\t\t\t$temp$dict = right;\n\t\t\t\tfunc = $temp$func;\n\t\t\t\tacc = $temp$acc;\n\t\t\t\tdict = $temp$dict;\n\t\t\t\tcontinue foldl;\n\t\t\t}\n\t\t}\n\t});\nvar $elm$browser$Debugger$Metadata$isPortable = function (_v0) {\n\tvar types = _v0.types;\n\tvar badAliases = A3($elm$core$Dict$foldl, $elm$browser$Debugger$Metadata$collectBadAliases, _List_Nil, types.aliases);\n\tvar _v1 = A3($elm$core$Dict$foldl, $elm$browser$Debugger$Metadata$collectBadUnions, badAliases, types.unions);\n\tif (!_v1.b) {\n\t\treturn $elm$core$Maybe$Nothing;\n\t} else {\n\t\tvar problems = _v1;\n\t\treturn $elm$core$Maybe$Just(\n\t\t\tA2($elm$browser$Debugger$Metadata$Error, types.message, problems));\n\t}\n};\nvar $elm$browser$Debugger$Metadata$decode = function (value) {\n\tvar _v0 = A2($elm$json$Json$Decode$decodeValue, $elm$browser$Debugger$Metadata$decoder, value);\n\tif (_v0.$ === 'Err') {\n\t\treturn $elm$core$Result$Err(\n\t\t\tA2($elm$browser$Debugger$Metadata$Error, 'The compiler is generating bad metadata. This is a compiler bug!', _List_Nil));\n\t} else {\n\t\tvar metadata = _v0.a;\n\t\tvar _v1 = $elm$browser$Debugger$Metadata$isPortable(metadata);\n\t\tif (_v1.$ === 'Nothing') {\n\t\t\treturn $elm$core$Result$Ok(metadata);\n\t\t} else {\n\t\t\tvar error = _v1.a;\n\t\t\treturn $elm$core$Result$Err(error);\n\t\t}\n\t}\n};\nvar $elm$browser$Debugger$History$History = F3(\n\tfunction (snapshots, recent, numMessages) {\n\t\treturn {numMessages: numMessages, recent: recent, snapshots: snapshots};\n\t});\nvar $elm$browser$Debugger$History$RecentHistory = F3(\n\tfunction (model, messages, numMessages) {\n\t\treturn {messages: messages, model: model, numMessages: numMessages};\n\t});\nvar $elm$browser$Debugger$History$empty = function (model) {\n\treturn A3(\n\t\t$elm$browser$Debugger$History$History,\n\t\t$elm$core$Array$empty,\n\t\tA3($elm$browser$Debugger$History$RecentHistory, model, _List_Nil, 0),\n\t\t0);\n};\nvar $elm$core$Dict$map = F2(\n\tfunction (func, dict) {\n\t\tif (dict.$ === 'RBEmpty_elm_builtin') {\n\t\t\treturn $elm$core$Dict$RBEmpty_elm_builtin;\n\t\t} else {\n\t\t\tvar color = dict.a;\n\t\t\tvar key = dict.b;\n\t\t\tvar value = dict.c;\n\t\t\tvar left = dict.d;\n\t\t\tvar right = dict.e;\n\t\t\treturn A5(\n\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\tcolor,\n\t\t\t\tkey,\n\t\t\t\tA2(func, key, value),\n\t\t\t\tA2($elm$core$Dict$map, func, left),\n\t\t\t\tA2($elm$core$Dict$map, func, right));\n\t\t}\n\t});\nvar $elm$core$Dict$sizeHelp = F2(\n\tfunction (n, dict) {\n\t\tsizeHelp:\n\t\twhile (true) {\n\t\t\tif (dict.$ === 'RBEmpty_elm_builtin') {\n\t\t\t\treturn n;\n\t\t\t} else {\n\t\t\t\tvar left = dict.d;\n\t\t\t\tvar right = dict.e;\n\t\t\t\tvar $temp$n = A2($elm$core$Dict$sizeHelp, n + 1, right),\n\t\t\t\t\t$temp$dict = left;\n\t\t\t\tn = $temp$n;\n\t\t\t\tdict = $temp$dict;\n\t\t\t\tcontinue sizeHelp;\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Dict$size = function (dict) {\n\treturn A2($elm$core$Dict$sizeHelp, 0, dict);\n};\nvar $elm$browser$Debugger$Expando$initHelp = F2(\n\tfunction (isOuter, expando) {\n\t\tswitch (expando.$) {\n\t\t\tcase 'S':\n\t\t\t\treturn expando;\n\t\t\tcase 'Primitive':\n\t\t\t\treturn expando;\n\t\t\tcase 'Sequence':\n\t\t\t\tvar seqType = expando.a;\n\t\t\t\tvar isClosed = expando.b;\n\t\t\t\tvar items = expando.c;\n\t\t\t\treturn isOuter ? A3(\n\t\t\t\t\t$elm$browser$Debugger$Expando$Sequence,\n\t\t\t\t\tseqType,\n\t\t\t\t\tfalse,\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$List$map,\n\t\t\t\t\t\t$elm$browser$Debugger$Expando$initHelp(false),\n\t\t\t\t\t\titems)) : (($elm$core$List$length(items) <= 8) ? A3($elm$browser$Debugger$Expando$Sequence, seqType, false, items) : expando);\n\t\t\tcase 'Dictionary':\n\t\t\t\tvar isClosed = expando.a;\n\t\t\t\tvar keyValuePairs = expando.b;\n\t\t\t\treturn isOuter ? A2(\n\t\t\t\t\t$elm$browser$Debugger$Expando$Dictionary,\n\t\t\t\t\tfalse,\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$List$map,\n\t\t\t\t\t\tfunction (_v1) {\n\t\t\t\t\t\t\tvar k = _v1.a;\n\t\t\t\t\t\t\tvar v = _v1.b;\n\t\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t\tk,\n\t\t\t\t\t\t\t\tA2($elm$browser$Debugger$Expando$initHelp, false, v));\n\t\t\t\t\t\t},\n\t\t\t\t\t\tkeyValuePairs)) : (($elm$core$List$length(keyValuePairs) <= 8) ? A2($elm$browser$Debugger$Expando$Dictionary, false, keyValuePairs) : expando);\n\t\t\tcase 'Record':\n\t\t\t\tvar isClosed = expando.a;\n\t\t\t\tvar entries = expando.b;\n\t\t\t\treturn isOuter ? A2(\n\t\t\t\t\t$elm$browser$Debugger$Expando$Record,\n\t\t\t\t\tfalse,\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$Dict$map,\n\t\t\t\t\t\tF2(\n\t\t\t\t\t\t\tfunction (_v2, v) {\n\t\t\t\t\t\t\t\treturn A2($elm$browser$Debugger$Expando$initHelp, false, v);\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\tentries)) : (($elm$core$Dict$size(entries) <= 4) ? A2($elm$browser$Debugger$Expando$Record, false, entries) : expando);\n\t\t\tdefault:\n\t\t\t\tvar maybeName = expando.a;\n\t\t\t\tvar isClosed = expando.b;\n\t\t\t\tvar args = expando.c;\n\t\t\t\treturn isOuter ? A3(\n\t\t\t\t\t$elm$browser$Debugger$Expando$Constructor,\n\t\t\t\t\tmaybeName,\n\t\t\t\t\tfalse,\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$List$map,\n\t\t\t\t\t\t$elm$browser$Debugger$Expando$initHelp(false),\n\t\t\t\t\t\targs)) : (($elm$core$List$length(args) <= 4) ? A3($elm$browser$Debugger$Expando$Constructor, maybeName, false, args) : expando);\n\t\t}\n\t});\nvar $elm$browser$Debugger$Expando$init = function (value) {\n\treturn A2(\n\t\t$elm$browser$Debugger$Expando$initHelp,\n\t\ttrue,\n\t\t_Debugger_init(value));\n};\nvar $elm$core$Platform$Cmd$map = _Platform_map;\nvar $elm$browser$Debugger$Overlay$None = {$: 'None'};\nvar $elm$browser$Debugger$Overlay$none = $elm$browser$Debugger$Overlay$None;\nvar $elm$browser$Debugger$Main$wrapInit = F4(\n\tfunction (metadata, popout, init, flags) {\n\t\tvar _v0 = init(flags);\n\t\tvar userModel = _v0.a;\n\t\tvar userCommands = _v0.b;\n\t\treturn _Utils_Tuple2(\n\t\t\t{\n\t\t\t\texpandoModel: $elm$browser$Debugger$Expando$init(userModel),\n\t\t\t\texpandoMsg: $elm$browser$Debugger$Expando$init(_Utils_Tuple0),\n\t\t\t\thistory: $elm$browser$Debugger$History$empty(userModel),\n\t\t\t\tlayout: A3($elm$browser$Debugger$Main$Horizontal, $elm$browser$Debugger$Main$Static, 0.3, 0.5),\n\t\t\t\tmetadata: $elm$browser$Debugger$Metadata$decode(metadata),\n\t\t\t\toverlay: $elm$browser$Debugger$Overlay$none,\n\t\t\t\tpopout: popout,\n\t\t\t\tstate: $elm$browser$Debugger$Main$Running(userModel)\n\t\t\t},\n\t\t\tA2($elm$core$Platform$Cmd$map, $elm$browser$Debugger$Main$UserMsg, userCommands));\n\t});\nvar $elm$browser$Debugger$Main$getLatestModel = function (state) {\n\tif (state.$ === 'Running') {\n\t\tvar model = state.a;\n\t\treturn model;\n\t} else {\n\t\tvar model = state.c;\n\t\treturn model;\n\t}\n};\nvar $elm$core$Platform$Sub$map = _Platform_map;\nvar $elm$browser$Debugger$Main$wrapSubs = F2(\n\tfunction (subscriptions, model) {\n\t\treturn A2(\n\t\t\t$elm$core$Platform$Sub$map,\n\t\t\t$elm$browser$Debugger$Main$UserMsg,\n\t\t\tsubscriptions(\n\t\t\t\t$elm$browser$Debugger$Main$getLatestModel(model.state)));\n\t});\nvar $elm$browser$Debugger$Main$Moving = {$: 'Moving'};\nvar $elm$browser$Debugger$Main$Paused = F5(\n\tfunction (a, b, c, d, e) {\n\t\treturn {$: 'Paused', a: a, b: b, c: c, d: d, e: e};\n\t});\nvar $elm$browser$Debugger$History$Snapshot = F2(\n\tfunction (model, messages) {\n\t\treturn {messages: messages, model: model};\n\t});\nvar $elm$browser$Debugger$History$addRecent = F3(\n\tfunction (msg, newModel, _v0) {\n\t\tvar model = _v0.model;\n\t\tvar messages = _v0.messages;\n\t\tvar numMessages = _v0.numMessages;\n\t\treturn _Utils_eq(numMessages, $elm$browser$Debugger$History$maxSnapshotSize) ? _Utils_Tuple2(\n\t\t\t$elm$core$Maybe$Just(\n\t\t\t\tA2(\n\t\t\t\t\t$elm$browser$Debugger$History$Snapshot,\n\t\t\t\t\tmodel,\n\t\t\t\t\t$elm$core$Array$fromList(messages))),\n\t\t\tA3(\n\t\t\t\t$elm$browser$Debugger$History$RecentHistory,\n\t\t\t\tnewModel,\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[msg]),\n\t\t\t\t1)) : _Utils_Tuple2(\n\t\t\t$elm$core$Maybe$Nothing,\n\t\t\tA3(\n\t\t\t\t$elm$browser$Debugger$History$RecentHistory,\n\t\t\t\tmodel,\n\t\t\t\tA2($elm$core$List$cons, msg, messages),\n\t\t\t\tnumMessages + 1));\n\t});\nvar $elm$core$Elm$JsArray$push = _JsArray_push;\nvar $elm$core$Elm$JsArray$singleton = _JsArray_singleton;\nvar $elm$core$Array$insertTailInTree = F4(\n\tfunction (shift, index, tail, tree) {\n\t\tvar pos = $elm$core$Array$bitMask & (index >>> shift);\n\t\tif (_Utils_cmp(\n\t\t\tpos,\n\t\t\t$elm$core$Elm$JsArray$length(tree)) > -1) {\n\t\t\tif (shift === 5) {\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$core$Elm$JsArray$push,\n\t\t\t\t\t$elm$core$Array$Leaf(tail),\n\t\t\t\t\ttree);\n\t\t\t} else {\n\t\t\t\tvar newSub = $elm$core$Array$SubTree(\n\t\t\t\t\tA4($elm$core$Array$insertTailInTree, shift - $elm$core$Array$shiftStep, index, tail, $elm$core$Elm$JsArray$empty));\n\t\t\t\treturn A2($elm$core$Elm$JsArray$push, newSub, tree);\n\t\t\t}\n\t\t} else {\n\t\t\tvar value = A2($elm$core$Elm$JsArray$unsafeGet, pos, tree);\n\t\t\tif (value.$ === 'SubTree') {\n\t\t\t\tvar subTree = value.a;\n\t\t\t\tvar newSub = $elm$core$Array$SubTree(\n\t\t\t\t\tA4($elm$core$Array$insertTailInTree, shift - $elm$core$Array$shiftStep, index, tail, subTree));\n\t\t\t\treturn A3($elm$core$Elm$JsArray$unsafeSet, pos, newSub, tree);\n\t\t\t} else {\n\t\t\t\tvar newSub = $elm$core$Array$SubTree(\n\t\t\t\t\tA4(\n\t\t\t\t\t\t$elm$core$Array$insertTailInTree,\n\t\t\t\t\t\tshift - $elm$core$Array$shiftStep,\n\t\t\t\t\t\tindex,\n\t\t\t\t\t\ttail,\n\t\t\t\t\t\t$elm$core$Elm$JsArray$singleton(value)));\n\t\t\t\treturn A3($elm$core$Elm$JsArray$unsafeSet, pos, newSub, tree);\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Array$unsafeReplaceTail = F2(\n\tfunction (newTail, _v0) {\n\t\tvar len = _v0.a;\n\t\tvar startShift = _v0.b;\n\t\tvar tree = _v0.c;\n\t\tvar tail = _v0.d;\n\t\tvar originalTailLen = $elm$core$Elm$JsArray$length(tail);\n\t\tvar newTailLen = $elm$core$Elm$JsArray$length(newTail);\n\t\tvar newArrayLen = len + (newTailLen - originalTailLen);\n\t\tif (_Utils_eq(newTailLen, $elm$core$Array$branchFactor)) {\n\t\t\tvar overflow = _Utils_cmp(newArrayLen >>> $elm$core$Array$shiftStep, 1 << startShift) > 0;\n\t\t\tif (overflow) {\n\t\t\t\tvar newShift = startShift + $elm$core$Array$shiftStep;\n\t\t\t\tvar newTree = A4(\n\t\t\t\t\t$elm$core$Array$insertTailInTree,\n\t\t\t\t\tnewShift,\n\t\t\t\t\tlen,\n\t\t\t\t\tnewTail,\n\t\t\t\t\t$elm$core$Elm$JsArray$singleton(\n\t\t\t\t\t\t$elm$core$Array$SubTree(tree)));\n\t\t\t\treturn A4($elm$core$Array$Array_elm_builtin, newArrayLen, newShift, newTree, $elm$core$Elm$JsArray$empty);\n\t\t\t} else {\n\t\t\t\treturn A4(\n\t\t\t\t\t$elm$core$Array$Array_elm_builtin,\n\t\t\t\t\tnewArrayLen,\n\t\t\t\t\tstartShift,\n\t\t\t\t\tA4($elm$core$Array$insertTailInTree, startShift, len, newTail, tree),\n\t\t\t\t\t$elm$core$Elm$JsArray$empty);\n\t\t\t}\n\t\t} else {\n\t\t\treturn A4($elm$core$Array$Array_elm_builtin, newArrayLen, startShift, tree, newTail);\n\t\t}\n\t});\nvar $elm$core$Array$push = F2(\n\tfunction (a, array) {\n\t\tvar tail = array.d;\n\t\treturn A2(\n\t\t\t$elm$core$Array$unsafeReplaceTail,\n\t\t\tA2($elm$core$Elm$JsArray$push, a, tail),\n\t\t\tarray);\n\t});\nvar $elm$browser$Debugger$History$add = F3(\n\tfunction (msg, model, _v0) {\n\t\tvar snapshots = _v0.snapshots;\n\t\tvar recent = _v0.recent;\n\t\tvar numMessages = _v0.numMessages;\n\t\tvar _v1 = A3($elm$browser$Debugger$History$addRecent, msg, model, recent);\n\t\tif (_v1.a.$ === 'Just') {\n\t\t\tvar snapshot = _v1.a.a;\n\t\t\tvar newRecent = _v1.b;\n\t\t\treturn A3(\n\t\t\t\t$elm$browser$Debugger$History$History,\n\t\t\t\tA2($elm$core$Array$push, snapshot, snapshots),\n\t\t\t\tnewRecent,\n\t\t\t\tnumMessages + 1);\n\t\t} else {\n\t\t\tvar _v2 = _v1.a;\n\t\t\tvar newRecent = _v1.b;\n\t\t\treturn A3($elm$browser$Debugger$History$History, snapshots, newRecent, numMessages + 1);\n\t\t}\n\t});\nvar $elm$core$Basics$always = F2(\n\tfunction (a, _v0) {\n\t\treturn a;\n\t});\nvar $elm$browser$Debugger$Overlay$BadImport = function (a) {\n\treturn {$: 'BadImport', a: a};\n};\nvar $elm$browser$Debugger$Overlay$RiskyImport = F2(\n\tfunction (a, b) {\n\t\treturn {$: 'RiskyImport', a: a, b: b};\n\t});\nvar $elm$browser$Debugger$Report$VersionChanged = F2(\n\tfunction (a, b) {\n\t\treturn {$: 'VersionChanged', a: a, b: b};\n\t});\nvar $elm$browser$Debugger$Report$MessageChanged = F2(\n\tfunction (a, b) {\n\t\treturn {$: 'MessageChanged', a: a, b: b};\n\t});\nvar $elm$browser$Debugger$Report$SomethingChanged = function (a) {\n\treturn {$: 'SomethingChanged', a: a};\n};\nvar $elm$browser$Debugger$Report$AliasChange = function (a) {\n\treturn {$: 'AliasChange', a: a};\n};\nvar $elm$browser$Debugger$Metadata$checkAlias = F4(\n\tfunction (name, old, _new, changes) {\n\t\treturn (_Utils_eq(old.tipe, _new.tipe) && _Utils_eq(old.args, _new.args)) ? changes : A2(\n\t\t\t$elm$core$List$cons,\n\t\t\t$elm$browser$Debugger$Report$AliasChange(name),\n\t\t\tchanges);\n\t});\nvar $elm$browser$Debugger$Report$UnionChange = F2(\n\tfunction (a, b) {\n\t\treturn {$: 'UnionChange', a: a, b: b};\n\t});\nvar $elm$browser$Debugger$Metadata$addTag = F3(\n\tfunction (tag, _v0, changes) {\n\t\treturn _Utils_update(\n\t\t\tchanges,\n\t\t\t{\n\t\t\t\tadded: A2($elm$core$List$cons, tag, changes.added)\n\t\t\t});\n\t});\nvar $elm$browser$Debugger$Metadata$checkTag = F4(\n\tfunction (tag, old, _new, changes) {\n\t\treturn _Utils_eq(old, _new) ? changes : _Utils_update(\n\t\t\tchanges,\n\t\t\t{\n\t\t\t\tchanged: A2($elm$core$List$cons, tag, changes.changed)\n\t\t\t});\n\t});\nvar $elm$browser$Debugger$Report$TagChanges = F4(\n\tfunction (removed, changed, added, argsMatch) {\n\t\treturn {added: added, argsMatch: argsMatch, changed: changed, removed: removed};\n\t});\nvar $elm$browser$Debugger$Report$emptyTagChanges = function (argsMatch) {\n\treturn A4($elm$browser$Debugger$Report$TagChanges, _List_Nil, _List_Nil, _List_Nil, argsMatch);\n};\nvar $elm$browser$Debugger$Report$hasTagChanges = function (tagChanges) {\n\treturn _Utils_eq(\n\t\ttagChanges,\n\t\tA4($elm$browser$Debugger$Report$TagChanges, _List_Nil, _List_Nil, _List_Nil, true));\n};\nvar $elm$core$Dict$merge = F6(\n\tfunction (leftStep, bothStep, rightStep, leftDict, rightDict, initialResult) {\n\t\tvar stepState = F3(\n\t\t\tfunction (rKey, rValue, _v0) {\n\t\t\t\tstepState:\n\t\t\t\twhile (true) {\n\t\t\t\t\tvar list = _v0.a;\n\t\t\t\t\tvar result = _v0.b;\n\t\t\t\t\tif (!list.b) {\n\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\tlist,\n\t\t\t\t\t\t\tA3(rightStep, rKey, rValue, result));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar _v2 = list.a;\n\t\t\t\t\t\tvar lKey = _v2.a;\n\t\t\t\t\t\tvar lValue = _v2.b;\n\t\t\t\t\t\tvar rest = list.b;\n\t\t\t\t\t\tif (_Utils_cmp(lKey, rKey) < 0) {\n\t\t\t\t\t\t\tvar $temp$rKey = rKey,\n\t\t\t\t\t\t\t\t$temp$rValue = rValue,\n\t\t\t\t\t\t\t\t$temp$_v0 = _Utils_Tuple2(\n\t\t\t\t\t\t\t\trest,\n\t\t\t\t\t\t\t\tA3(leftStep, lKey, lValue, result));\n\t\t\t\t\t\t\trKey = $temp$rKey;\n\t\t\t\t\t\t\trValue = $temp$rValue;\n\t\t\t\t\t\t\t_v0 = $temp$_v0;\n\t\t\t\t\t\t\tcontinue stepState;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (_Utils_cmp(lKey, rKey) > 0) {\n\t\t\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t\t\tlist,\n\t\t\t\t\t\t\t\t\tA3(rightStep, rKey, rValue, result));\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t\t\trest,\n\t\t\t\t\t\t\t\t\tA4(bothStep, lKey, lValue, rValue, result));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\tvar _v3 = A3(\n\t\t\t$elm$core$Dict$foldl,\n\t\t\tstepState,\n\t\t\t_Utils_Tuple2(\n\t\t\t\t$elm$core$Dict$toList(leftDict),\n\t\t\t\tinitialResult),\n\t\t\trightDict);\n\t\tvar leftovers = _v3.a;\n\t\tvar intermediateResult = _v3.b;\n\t\treturn A3(\n\t\t\t$elm$core$List$foldl,\n\t\t\tF2(\n\t\t\t\tfunction (_v4, result) {\n\t\t\t\t\tvar k = _v4.a;\n\t\t\t\t\tvar v = _v4.b;\n\t\t\t\t\treturn A3(leftStep, k, v, result);\n\t\t\t\t}),\n\t\t\tintermediateResult,\n\t\t\tleftovers);\n\t});\nvar $elm$browser$Debugger$Metadata$removeTag = F3(\n\tfunction (tag, _v0, changes) {\n\t\treturn _Utils_update(\n\t\t\tchanges,\n\t\t\t{\n\t\t\t\tremoved: A2($elm$core$List$cons, tag, changes.removed)\n\t\t\t});\n\t});\nvar $elm$browser$Debugger$Metadata$checkUnion = F4(\n\tfunction (name, old, _new, changes) {\n\t\tvar tagChanges = A6(\n\t\t\t$elm$core$Dict$merge,\n\t\t\t$elm$browser$Debugger$Metadata$removeTag,\n\t\t\t$elm$browser$Debugger$Metadata$checkTag,\n\t\t\t$elm$browser$Debugger$Metadata$addTag,\n\t\t\told.tags,\n\t\t\t_new.tags,\n\t\t\t$elm$browser$Debugger$Report$emptyTagChanges(\n\t\t\t\t_Utils_eq(old.args, _new.args)));\n\t\treturn $elm$browser$Debugger$Report$hasTagChanges(tagChanges) ? changes : A2(\n\t\t\t$elm$core$List$cons,\n\t\t\tA2($elm$browser$Debugger$Report$UnionChange, name, tagChanges),\n\t\t\tchanges);\n\t});\nvar $elm$browser$Debugger$Metadata$ignore = F3(\n\tfunction (key, value, report) {\n\t\treturn report;\n\t});\nvar $elm$browser$Debugger$Metadata$checkTypes = F2(\n\tfunction (old, _new) {\n\t\treturn (!_Utils_eq(old.message, _new.message)) ? A2($elm$browser$Debugger$Report$MessageChanged, old.message, _new.message) : $elm$browser$Debugger$Report$SomethingChanged(\n\t\t\tA6(\n\t\t\t\t$elm$core$Dict$merge,\n\t\t\t\t$elm$browser$Debugger$Metadata$ignore,\n\t\t\t\t$elm$browser$Debugger$Metadata$checkUnion,\n\t\t\t\t$elm$browser$Debugger$Metadata$ignore,\n\t\t\t\told.unions,\n\t\t\t\t_new.unions,\n\t\t\t\tA6($elm$core$Dict$merge, $elm$browser$Debugger$Metadata$ignore, $elm$browser$Debugger$Metadata$checkAlias, $elm$browser$Debugger$Metadata$ignore, old.aliases, _new.aliases, _List_Nil)));\n\t});\nvar $elm$browser$Debugger$Metadata$check = F2(\n\tfunction (old, _new) {\n\t\treturn (!_Utils_eq(old.versions.elm, _new.versions.elm)) ? A2($elm$browser$Debugger$Report$VersionChanged, old.versions.elm, _new.versions.elm) : A2($elm$browser$Debugger$Metadata$checkTypes, old.types, _new.types);\n\t});\nvar $elm$browser$Debugger$Report$CorruptHistory = {$: 'CorruptHistory'};\nvar $elm$browser$Debugger$Overlay$corruptImport = $elm$browser$Debugger$Overlay$BadImport($elm$browser$Debugger$Report$CorruptHistory);\nvar $elm$json$Json$Decode$decodeString = _Json_runOnString;\nvar $elm$browser$Debugger$Report$Fine = {$: 'Fine'};\nvar $elm$browser$Debugger$Report$Impossible = {$: 'Impossible'};\nvar $elm$browser$Debugger$Report$Risky = {$: 'Risky'};\nvar $elm$core$Basics$not = _Basics_not;\nvar $elm$core$List$isEmpty = function (xs) {\n\tif (!xs.b) {\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\nvar $elm$browser$Debugger$Report$some = function (list) {\n\treturn !$elm$core$List$isEmpty(list);\n};\nvar $elm$browser$Debugger$Report$evaluateChange = function (change) {\n\tif (change.$ === 'AliasChange') {\n\t\treturn $elm$browser$Debugger$Report$Impossible;\n\t} else {\n\t\tvar removed = change.b.removed;\n\t\tvar changed = change.b.changed;\n\t\tvar added = change.b.added;\n\t\tvar argsMatch = change.b.argsMatch;\n\t\treturn ((!argsMatch) || ($elm$browser$Debugger$Report$some(changed) || $elm$browser$Debugger$Report$some(removed))) ? $elm$browser$Debugger$Report$Impossible : ($elm$browser$Debugger$Report$some(added) ? $elm$browser$Debugger$Report$Risky : $elm$browser$Debugger$Report$Fine);\n\t}\n};\nvar $elm$browser$Debugger$Report$worstCase = F2(\n\tfunction (status, statusList) {\n\t\tworstCase:\n\t\twhile (true) {\n\t\t\tif (!statusList.b) {\n\t\t\t\treturn status;\n\t\t\t} else {\n\t\t\t\tswitch (statusList.a.$) {\n\t\t\t\t\tcase 'Impossible':\n\t\t\t\t\t\tvar _v1 = statusList.a;\n\t\t\t\t\t\treturn $elm$browser$Debugger$Report$Impossible;\n\t\t\t\t\tcase 'Risky':\n\t\t\t\t\t\tvar _v2 = statusList.a;\n\t\t\t\t\t\tvar rest = statusList.b;\n\t\t\t\t\t\tvar $temp$status = $elm$browser$Debugger$Report$Risky,\n\t\t\t\t\t\t\t$temp$statusList = rest;\n\t\t\t\t\t\tstatus = $temp$status;\n\t\t\t\t\t\tstatusList = $temp$statusList;\n\t\t\t\t\t\tcontinue worstCase;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tvar _v3 = statusList.a;\n\t\t\t\t\t\tvar rest = statusList.b;\n\t\t\t\t\t\tvar $temp$status = status,\n\t\t\t\t\t\t\t$temp$statusList = rest;\n\t\t\t\t\t\tstatus = $temp$status;\n\t\t\t\t\t\tstatusList = $temp$statusList;\n\t\t\t\t\t\tcontinue worstCase;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\nvar $elm$browser$Debugger$Report$evaluate = function (report) {\n\tswitch (report.$) {\n\t\tcase 'CorruptHistory':\n\t\t\treturn $elm$browser$Debugger$Report$Impossible;\n\t\tcase 'VersionChanged':\n\t\t\treturn $elm$browser$Debugger$Report$Impossible;\n\t\tcase 'MessageChanged':\n\t\t\treturn $elm$browser$Debugger$Report$Impossible;\n\t\tdefault:\n\t\t\tvar changes = report.a;\n\t\t\treturn A2(\n\t\t\t\t$elm$browser$Debugger$Report$worstCase,\n\t\t\t\t$elm$browser$Debugger$Report$Fine,\n\t\t\t\tA2($elm$core$List$map, $elm$browser$Debugger$Report$evaluateChange, changes));\n\t}\n};\nvar $elm$json$Json$Decode$value = _Json_decodeValue;\nvar $elm$browser$Debugger$Overlay$uploadDecoder = A3(\n\t$elm$json$Json$Decode$map2,\n\tF2(\n\t\tfunction (x, y) {\n\t\t\treturn _Utils_Tuple2(x, y);\n\t\t}),\n\tA2($elm$json$Json$Decode$field, 'metadata', $elm$browser$Debugger$Metadata$decoder),\n\tA2($elm$json$Json$Decode$field, 'history', $elm$json$Json$Decode$value));\nvar $elm$browser$Debugger$Overlay$assessImport = F2(\n\tfunction (metadata, jsonString) {\n\t\tvar _v0 = A2($elm$json$Json$Decode$decodeString, $elm$browser$Debugger$Overlay$uploadDecoder, jsonString);\n\t\tif (_v0.$ === 'Err') {\n\t\t\treturn $elm$core$Result$Err($elm$browser$Debugger$Overlay$corruptImport);\n\t\t} else {\n\t\t\tvar _v1 = _v0.a;\n\t\t\tvar foreignMetadata = _v1.a;\n\t\t\tvar rawHistory = _v1.b;\n\t\t\tvar report = A2($elm$browser$Debugger$Metadata$check, foreignMetadata, metadata);\n\t\t\tvar _v2 = $elm$browser$Debugger$Report$evaluate(report);\n\t\t\tswitch (_v2.$) {\n\t\t\t\tcase 'Impossible':\n\t\t\t\t\treturn $elm$core$Result$Err(\n\t\t\t\t\t\t$elm$browser$Debugger$Overlay$BadImport(report));\n\t\t\t\tcase 'Risky':\n\t\t\t\t\treturn $elm$core$Result$Err(\n\t\t\t\t\t\tA2($elm$browser$Debugger$Overlay$RiskyImport, report, rawHistory));\n\t\t\t\tdefault:\n\t\t\t\t\treturn $elm$core$Result$Ok(rawHistory);\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Platform$Cmd$batch = _Platform_batch;\nvar $elm$browser$Debugger$Overlay$close = F2(\n\tfunction (msg, state) {\n\t\tswitch (state.$) {\n\t\t\tcase 'None':\n\t\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t\tcase 'BadMetadata':\n\t\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t\tcase 'BadImport':\n\t\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t\tdefault:\n\t\t\t\tvar rawHistory = state.b;\n\t\t\t\tif (msg.$ === 'Cancel') {\n\t\t\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t\t\t} else {\n\t\t\t\t\treturn $elm$core$Maybe$Just(rawHistory);\n\t\t\t\t}\n\t\t}\n\t});\nvar $elm$browser$Debugger$History$elmToJs = A2($elm$core$Basics$composeR, _Json_wrap, _Debugger_unsafeCoerce);\nvar $elm$browser$Debugger$History$encodeHelp = F2(\n\tfunction (snapshot, allMessages) {\n\t\treturn A3($elm$core$Array$foldl, $elm$core$List$cons, allMessages, snapshot.messages);\n\t});\nvar $elm$json$Json$Encode$list = F2(\n\tfunction (func, entries) {\n\t\treturn _Json_wrap(\n\t\t\tA3(\n\t\t\t\t$elm$core$List$foldl,\n\t\t\t\t_Json_addEntry(func),\n\t\t\t\t_Json_emptyArray(_Utils_Tuple0),\n\t\t\t\tentries));\n\t});\nvar $elm$browser$Debugger$History$encode = function (_v0) {\n\tvar snapshots = _v0.snapshots;\n\tvar recent = _v0.recent;\n\treturn A2(\n\t\t$elm$json$Json$Encode$list,\n\t\t$elm$browser$Debugger$History$elmToJs,\n\t\tA3(\n\t\t\t$elm$core$Array$foldr,\n\t\t\t$elm$browser$Debugger$History$encodeHelp,\n\t\t\t$elm$core$List$reverse(recent.messages),\n\t\t\tsnapshots));\n};\nvar $elm$json$Json$Encode$object = function (pairs) {\n\treturn _Json_wrap(\n\t\tA3(\n\t\t\t$elm$core$List$foldl,\n\t\t\tF2(\n\t\t\t\tfunction (_v0, obj) {\n\t\t\t\t\tvar k = _v0.a;\n\t\t\t\t\tvar v = _v0.b;\n\t\t\t\t\treturn A3(_Json_addField, k, v, obj);\n\t\t\t\t}),\n\t\t\t_Json_emptyObject(_Utils_Tuple0),\n\t\t\tpairs));\n};\nvar $elm$browser$Debugger$Metadata$encodeAlias = function (_v0) {\n\tvar args = _v0.args;\n\tvar tipe = _v0.tipe;\n\treturn $elm$json$Json$Encode$object(\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\t_Utils_Tuple2(\n\t\t\t\t'args',\n\t\t\t\tA2($elm$json$Json$Encode$list, $elm$json$Json$Encode$string, args)),\n\t\t\t\t_Utils_Tuple2(\n\t\t\t\t'type',\n\t\t\t\t$elm$json$Json$Encode$string(tipe))\n\t\t\t]));\n};\nvar $elm$browser$Debugger$Metadata$encodeDict = F2(\n\tfunction (f, dict) {\n\t\treturn $elm$json$Json$Encode$object(\n\t\t\t$elm$core$Dict$toList(\n\t\t\t\tA2(\n\t\t\t\t\t$elm$core$Dict$map,\n\t\t\t\t\tF2(\n\t\t\t\t\t\tfunction (key, value) {\n\t\t\t\t\t\t\treturn f(value);\n\t\t\t\t\t\t}),\n\t\t\t\t\tdict)));\n\t});\nvar $elm$browser$Debugger$Metadata$encodeUnion = function (_v0) {\n\tvar args = _v0.args;\n\tvar tags = _v0.tags;\n\treturn $elm$json$Json$Encode$object(\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\t_Utils_Tuple2(\n\t\t\t\t'args',\n\t\t\t\tA2($elm$json$Json$Encode$list, $elm$json$Json$Encode$string, args)),\n\t\t\t\t_Utils_Tuple2(\n\t\t\t\t'tags',\n\t\t\t\tA2(\n\t\t\t\t\t$elm$browser$Debugger$Metadata$encodeDict,\n\t\t\t\t\t$elm$json$Json$Encode$list($elm$json$Json$Encode$string),\n\t\t\t\t\ttags))\n\t\t\t]));\n};\nvar $elm$browser$Debugger$Metadata$encodeTypes = function (_v0) {\n\tvar message = _v0.message;\n\tvar unions = _v0.unions;\n\tvar aliases = _v0.aliases;\n\treturn $elm$json$Json$Encode$object(\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\t_Utils_Tuple2(\n\t\t\t\t'message',\n\t\t\t\t$elm$json$Json$Encode$string(message)),\n\t\t\t\t_Utils_Tuple2(\n\t\t\t\t'aliases',\n\t\t\t\tA2($elm$browser$Debugger$Metadata$encodeDict, $elm$browser$Debugger$Metadata$encodeAlias, aliases)),\n\t\t\t\t_Utils_Tuple2(\n\t\t\t\t'unions',\n\t\t\t\tA2($elm$browser$Debugger$Metadata$encodeDict, $elm$browser$Debugger$Metadata$encodeUnion, unions))\n\t\t\t]));\n};\nvar $elm$browser$Debugger$Metadata$encodeVersions = function (_v0) {\n\tvar elm = _v0.elm;\n\treturn $elm$json$Json$Encode$object(\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\t_Utils_Tuple2(\n\t\t\t\t'elm',\n\t\t\t\t$elm$json$Json$Encode$string(elm))\n\t\t\t]));\n};\nvar $elm$browser$Debugger$Metadata$encode = function (_v0) {\n\tvar versions = _v0.versions;\n\tvar types = _v0.types;\n\treturn $elm$json$Json$Encode$object(\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\t_Utils_Tuple2(\n\t\t\t\t'versions',\n\t\t\t\t$elm$browser$Debugger$Metadata$encodeVersions(versions)),\n\t\t\t\t_Utils_Tuple2(\n\t\t\t\t'types',\n\t\t\t\t$elm$browser$Debugger$Metadata$encodeTypes(types))\n\t\t\t]));\n};\nvar $elm$core$Basics$identity = function (x) {\n\treturn x;\n};\nvar $elm$core$Task$Perform = function (a) {\n\treturn {$: 'Perform', a: a};\n};\nvar $elm$core$Task$succeed = _Scheduler_succeed;\nvar $elm$core$Task$init = $elm$core$Task$succeed(_Utils_Tuple0);\nvar $elm$core$Task$andThen = _Scheduler_andThen;\nvar $elm$core$Task$map = F2(\n\tfunction (func, taskA) {\n\t\treturn A2(\n\t\t\t$elm$core$Task$andThen,\n\t\t\tfunction (a) {\n\t\t\t\treturn $elm$core$Task$succeed(\n\t\t\t\t\tfunc(a));\n\t\t\t},\n\t\t\ttaskA);\n\t});\nvar $elm$core$Task$map2 = F3(\n\tfunction (func, taskA, taskB) {\n\t\treturn A2(\n\t\t\t$elm$core$Task$andThen,\n\t\t\tfunction (a) {\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$core$Task$andThen,\n\t\t\t\t\tfunction (b) {\n\t\t\t\t\t\treturn $elm$core$Task$succeed(\n\t\t\t\t\t\t\tA2(func, a, b));\n\t\t\t\t\t},\n\t\t\t\t\ttaskB);\n\t\t\t},\n\t\t\ttaskA);\n\t});\nvar $elm$core$Task$sequence = function (tasks) {\n\treturn A3(\n\t\t$elm$core$List$foldr,\n\t\t$elm$core$Task$map2($elm$core$List$cons),\n\t\t$elm$core$Task$succeed(_List_Nil),\n\t\ttasks);\n};\nvar $elm$core$Platform$sendToApp = _Platform_sendToApp;\nvar $elm$core$Task$spawnCmd = F2(\n\tfunction (router, _v0) {\n\t\tvar task = _v0.a;\n\t\treturn _Scheduler_spawn(\n\t\t\tA2(\n\t\t\t\t$elm$core$Task$andThen,\n\t\t\t\t$elm$core$Platform$sendToApp(router),\n\t\t\t\ttask));\n\t});\nvar $elm$core$Task$onEffects = F3(\n\tfunction (router, commands, state) {\n\t\treturn A2(\n\t\t\t$elm$core$Task$map,\n\t\t\tfunction (_v0) {\n\t\t\t\treturn _Utils_Tuple0;\n\t\t\t},\n\t\t\t$elm$core$Task$sequence(\n\t\t\t\tA2(\n\t\t\t\t\t$elm$core$List$map,\n\t\t\t\t\t$elm$core$Task$spawnCmd(router),\n\t\t\t\t\tcommands)));\n\t});\nvar $elm$core$Task$onSelfMsg = F3(\n\tfunction (_v0, _v1, _v2) {\n\t\treturn $elm$core$Task$succeed(_Utils_Tuple0);\n\t});\nvar $elm$core$Task$cmdMap = F2(\n\tfunction (tagger, _v0) {\n\t\tvar task = _v0.a;\n\t\treturn $elm$core$Task$Perform(\n\t\t\tA2($elm$core$Task$map, tagger, task));\n\t});\n_Platform_effectManagers['Task'] = _Platform_createManager($elm$core$Task$init, $elm$core$Task$onEffects, $elm$core$Task$onSelfMsg, $elm$core$Task$cmdMap);\nvar $elm$core$Task$command = _Platform_leaf('Task');\nvar $elm$core$Task$perform = F2(\n\tfunction (toMessage, task) {\n\t\treturn $elm$core$Task$command(\n\t\t\t$elm$core$Task$Perform(\n\t\t\t\tA2($elm$core$Task$map, toMessage, task)));\n\t});\nvar $elm$browser$Debugger$Main$download = F2(\n\tfunction (metadata, history) {\n\t\tvar historyLength = $elm$browser$Debugger$History$size(history);\n\t\treturn A2(\n\t\t\t$elm$core$Task$perform,\n\t\t\tfunction (_v0) {\n\t\t\t\treturn $elm$browser$Debugger$Main$NoOp;\n\t\t\t},\n\t\t\tA2(\n\t\t\t\t_Debugger_download,\n\t\t\t\thistoryLength,\n\t\t\t\t_Json_unwrap(\n\t\t\t\t\t$elm$json$Json$Encode$object(\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t_Utils_Tuple2(\n\t\t\t\t\t\t\t\t'metadata',\n\t\t\t\t\t\t\t\t$elm$browser$Debugger$Metadata$encode(metadata)),\n\t\t\t\t\t\t\t\t_Utils_Tuple2(\n\t\t\t\t\t\t\t\t'history',\n\t\t\t\t\t\t\t\t$elm$browser$Debugger$History$encode(history))\n\t\t\t\t\t\t\t])))));\n\t});\nvar $elm$browser$Debugger$Main$Vertical = F3(\n\tfunction (a, b, c) {\n\t\treturn {$: 'Vertical', a: a, b: b, c: c};\n\t});\nvar $elm$browser$Debugger$Main$drag = F2(\n\tfunction (info, layout) {\n\t\tif (layout.$ === 'Horizontal') {\n\t\t\tvar status = layout.a;\n\t\t\tvar y = layout.c;\n\t\t\treturn A3($elm$browser$Debugger$Main$Horizontal, status, info.x / info.width, y);\n\t\t} else {\n\t\t\tvar status = layout.a;\n\t\t\tvar x = layout.b;\n\t\t\treturn A3($elm$browser$Debugger$Main$Vertical, status, x, info.y / info.height);\n\t\t}\n\t});\nvar $elm$browser$Debugger$History$Stepping = F2(\n\tfunction (a, b) {\n\t\treturn {$: 'Stepping', a: a, b: b};\n\t});\nvar $elm$browser$Debugger$History$Done = F2(\n\tfunction (a, b) {\n\t\treturn {$: 'Done', a: a, b: b};\n\t});\nvar $elm$browser$Debugger$History$getHelp = F3(\n\tfunction (update, msg, getResult) {\n\t\tif (getResult.$ === 'Done') {\n\t\t\treturn getResult;\n\t\t} else {\n\t\t\tvar n = getResult.a;\n\t\t\tvar model = getResult.b;\n\t\t\treturn (!n) ? A2(\n\t\t\t\t$elm$browser$Debugger$History$Done,\n\t\t\t\tmsg,\n\t\t\t\tA2(update, msg, model).a) : A2(\n\t\t\t\t$elm$browser$Debugger$History$Stepping,\n\t\t\t\tn - 1,\n\t\t\t\tA2(update, msg, model).a);\n\t\t}\n\t});\nvar $elm$browser$Debugger$History$undone = function (getResult) {\n\tundone:\n\twhile (true) {\n\t\tif (getResult.$ === 'Done') {\n\t\t\tvar msg = getResult.a;\n\t\t\tvar model = getResult.b;\n\t\t\treturn _Utils_Tuple2(model, msg);\n\t\t} else {\n\t\t\tvar $temp$getResult = getResult;\n\t\t\tgetResult = $temp$getResult;\n\t\t\tcontinue undone;\n\t\t}\n\t}\n};\nvar $elm$browser$Debugger$History$get = F3(\n\tfunction (update, index, history) {\n\t\tget:\n\t\twhile (true) {\n\t\t\tvar recent = history.recent;\n\t\t\tvar snapshotMax = history.numMessages - recent.numMessages;\n\t\t\tif (_Utils_cmp(index, snapshotMax) > -1) {\n\t\t\t\treturn $elm$browser$Debugger$History$undone(\n\t\t\t\t\tA3(\n\t\t\t\t\t\t$elm$core$List$foldr,\n\t\t\t\t\t\t$elm$browser$Debugger$History$getHelp(update),\n\t\t\t\t\t\tA2($elm$browser$Debugger$History$Stepping, index - snapshotMax, recent.model),\n\t\t\t\t\t\trecent.messages));\n\t\t\t} else {\n\t\t\t\tvar _v0 = A2($elm$core$Array$get, (index / $elm$browser$Debugger$History$maxSnapshotSize) | 0, history.snapshots);\n\t\t\t\tif (_v0.$ === 'Nothing') {\n\t\t\t\t\tvar $temp$update = update,\n\t\t\t\t\t\t$temp$index = index,\n\t\t\t\t\t\t$temp$history = history;\n\t\t\t\t\tupdate = $temp$update;\n\t\t\t\t\tindex = $temp$index;\n\t\t\t\t\thistory = $temp$history;\n\t\t\t\t\tcontinue get;\n\t\t\t\t} else {\n\t\t\t\t\tvar model = _v0.a.model;\n\t\t\t\t\tvar messages = _v0.a.messages;\n\t\t\t\t\treturn $elm$browser$Debugger$History$undone(\n\t\t\t\t\t\tA3(\n\t\t\t\t\t\t\t$elm$core$Array$foldr,\n\t\t\t\t\t\t\t$elm$browser$Debugger$History$getHelp(update),\n\t\t\t\t\t\t\tA2($elm$browser$Debugger$History$Stepping, index % $elm$browser$Debugger$History$maxSnapshotSize, model),\n\t\t\t\t\t\t\tmessages));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\nvar $elm$browser$Debugger$History$getRecentMsg = function (history) {\n\tgetRecentMsg:\n\twhile (true) {\n\t\tvar _v0 = history.recent.messages;\n\t\tif (!_v0.b) {\n\t\t\tvar $temp$history = history;\n\t\t\thistory = $temp$history;\n\t\t\tcontinue getRecentMsg;\n\t\t} else {\n\t\t\tvar first = _v0.a;\n\t\t\treturn first;\n\t\t}\n\t}\n};\nvar $elm$core$Dict$get = F2(\n\tfunction (targetKey, dict) {\n\t\tget:\n\t\twhile (true) {\n\t\t\tif (dict.$ === 'RBEmpty_elm_builtin') {\n\t\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t\t} else {\n\t\t\t\tvar key = dict.b;\n\t\t\t\tvar value = dict.c;\n\t\t\t\tvar left = dict.d;\n\t\t\t\tvar right = dict.e;\n\t\t\t\tvar _v1 = A2($elm$core$Basics$compare, targetKey, key);\n\t\t\t\tswitch (_v1.$) {\n\t\t\t\t\tcase 'LT':\n\t\t\t\t\t\tvar $temp$targetKey = targetKey,\n\t\t\t\t\t\t\t$temp$dict = left;\n\t\t\t\t\t\ttargetKey = $temp$targetKey;\n\t\t\t\t\t\tdict = $temp$dict;\n\t\t\t\t\t\tcontinue get;\n\t\t\t\t\tcase 'EQ':\n\t\t\t\t\t\treturn $elm$core$Maybe$Just(value);\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tvar $temp$targetKey = targetKey,\n\t\t\t\t\t\t\t$temp$dict = right;\n\t\t\t\t\t\ttargetKey = $temp$targetKey;\n\t\t\t\t\t\tdict = $temp$dict;\n\t\t\t\t\t\tcontinue get;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\nvar $elm$browser$Debugger$Expando$mergeDictHelp = F3(\n\tfunction (oldDict, key, value) {\n\t\tvar _v12 = A2($elm$core$Dict$get, key, oldDict);\n\t\tif (_v12.$ === 'Nothing') {\n\t\t\treturn value;\n\t\t} else {\n\t\t\tvar oldValue = _v12.a;\n\t\t\treturn A2($elm$browser$Debugger$Expando$mergeHelp, oldValue, value);\n\t\t}\n\t});\nvar $elm$browser$Debugger$Expando$mergeHelp = F2(\n\tfunction (old, _new) {\n\t\tvar _v3 = _Utils_Tuple2(old, _new);\n\t\t_v3$6:\n\t\twhile (true) {\n\t\t\tswitch (_v3.b.$) {\n\t\t\t\tcase 'S':\n\t\t\t\t\treturn _new;\n\t\t\t\tcase 'Primitive':\n\t\t\t\t\treturn _new;\n\t\t\t\tcase 'Sequence':\n\t\t\t\t\tif (_v3.a.$ === 'Sequence') {\n\t\t\t\t\t\tvar _v4 = _v3.a;\n\t\t\t\t\t\tvar isClosed = _v4.b;\n\t\t\t\t\t\tvar oldValues = _v4.c;\n\t\t\t\t\t\tvar _v5 = _v3.b;\n\t\t\t\t\t\tvar seqType = _v5.a;\n\t\t\t\t\t\tvar newValues = _v5.c;\n\t\t\t\t\t\treturn A3(\n\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$Sequence,\n\t\t\t\t\t\t\tseqType,\n\t\t\t\t\t\t\tisClosed,\n\t\t\t\t\t\t\tA2($elm$browser$Debugger$Expando$mergeListHelp, oldValues, newValues));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbreak _v3$6;\n\t\t\t\t\t}\n\t\t\t\tcase 'Dictionary':\n\t\t\t\t\tif (_v3.a.$ === 'Dictionary') {\n\t\t\t\t\t\tvar _v6 = _v3.a;\n\t\t\t\t\t\tvar isClosed = _v6.a;\n\t\t\t\t\t\tvar _v7 = _v3.b;\n\t\t\t\t\t\tvar keyValuePairs = _v7.b;\n\t\t\t\t\t\treturn A2($elm$browser$Debugger$Expando$Dictionary, isClosed, keyValuePairs);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbreak _v3$6;\n\t\t\t\t\t}\n\t\t\t\tcase 'Record':\n\t\t\t\t\tif (_v3.a.$ === 'Record') {\n\t\t\t\t\t\tvar _v8 = _v3.a;\n\t\t\t\t\t\tvar isClosed = _v8.a;\n\t\t\t\t\t\tvar oldDict = _v8.b;\n\t\t\t\t\t\tvar _v9 = _v3.b;\n\t\t\t\t\t\tvar newDict = _v9.b;\n\t\t\t\t\t\treturn A2(\n\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$Record,\n\t\t\t\t\t\t\tisClosed,\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t$elm$core$Dict$map,\n\t\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$mergeDictHelp(oldDict),\n\t\t\t\t\t\t\t\tnewDict));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbreak _v3$6;\n\t\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\tif (_v3.a.$ === 'Constructor') {\n\t\t\t\t\t\tvar _v10 = _v3.a;\n\t\t\t\t\t\tvar isClosed = _v10.b;\n\t\t\t\t\t\tvar oldValues = _v10.c;\n\t\t\t\t\t\tvar _v11 = _v3.b;\n\t\t\t\t\t\tvar maybeName = _v11.a;\n\t\t\t\t\t\tvar newValues = _v11.c;\n\t\t\t\t\t\treturn A3(\n\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$Constructor,\n\t\t\t\t\t\t\tmaybeName,\n\t\t\t\t\t\t\tisClosed,\n\t\t\t\t\t\t\tA2($elm$browser$Debugger$Expando$mergeListHelp, oldValues, newValues));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbreak _v3$6;\n\t\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn _new;\n\t});\nvar $elm$browser$Debugger$Expando$mergeListHelp = F2(\n\tfunction (olds, news) {\n\t\tvar _v0 = _Utils_Tuple2(olds, news);\n\t\tif (!_v0.a.b) {\n\t\t\treturn news;\n\t\t} else {\n\t\t\tif (!_v0.b.b) {\n\t\t\t\treturn news;\n\t\t\t} else {\n\t\t\t\tvar _v1 = _v0.a;\n\t\t\t\tvar x = _v1.a;\n\t\t\t\tvar xs = _v1.b;\n\t\t\t\tvar _v2 = _v0.b;\n\t\t\t\tvar y = _v2.a;\n\t\t\t\tvar ys = _v2.b;\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\tA2($elm$browser$Debugger$Expando$mergeHelp, x, y),\n\t\t\t\t\tA2($elm$browser$Debugger$Expando$mergeListHelp, xs, ys));\n\t\t\t}\n\t\t}\n\t});\nvar $elm$browser$Debugger$Expando$merge = F2(\n\tfunction (value, expando) {\n\t\treturn A2(\n\t\t\t$elm$browser$Debugger$Expando$mergeHelp,\n\t\t\texpando,\n\t\t\t_Debugger_init(value));\n\t});\nvar $elm$browser$Debugger$Main$jumpUpdate = F3(\n\tfunction (update, index, model) {\n\t\tvar history = $elm$browser$Debugger$Main$cachedHistory(model);\n\t\tvar currentMsg = $elm$browser$Debugger$History$getRecentMsg(history);\n\t\tvar currentModel = $elm$browser$Debugger$Main$getLatestModel(model.state);\n\t\tvar _v0 = A3($elm$browser$Debugger$History$get, update, index, history);\n\t\tvar indexModel = _v0.a;\n\t\tvar indexMsg = _v0.b;\n\t\treturn _Utils_update(\n\t\t\tmodel,\n\t\t\t{\n\t\t\t\texpandoModel: A2($elm$browser$Debugger$Expando$merge, indexModel, model.expandoModel),\n\t\t\t\texpandoMsg: A2($elm$browser$Debugger$Expando$merge, indexMsg, model.expandoMsg),\n\t\t\t\tstate: A5($elm$browser$Debugger$Main$Paused, index, indexModel, currentModel, currentMsg, history)\n\t\t\t});\n\t});\nvar $elm$browser$Debugger$History$jsToElm = A2($elm$core$Basics$composeR, _Json_unwrap, _Debugger_unsafeCoerce);\nvar $elm$browser$Debugger$History$decoder = F2(\n\tfunction (initialModel, update) {\n\t\tvar addMessage = F2(\n\t\t\tfunction (rawMsg, _v0) {\n\t\t\t\tvar model = _v0.a;\n\t\t\t\tvar history = _v0.b;\n\t\t\t\tvar msg = $elm$browser$Debugger$History$jsToElm(rawMsg);\n\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\tA2(update, msg, model),\n\t\t\t\t\tA3($elm$browser$Debugger$History$add, msg, model, history));\n\t\t\t});\n\t\tvar updateModel = function (rawMsgs) {\n\t\t\treturn A3(\n\t\t\t\t$elm$core$List$foldl,\n\t\t\t\taddMessage,\n\t\t\t\t_Utils_Tuple2(\n\t\t\t\t\tinitialModel,\n\t\t\t\t\t$elm$browser$Debugger$History$empty(initialModel)),\n\t\t\t\trawMsgs);\n\t\t};\n\t\treturn A2(\n\t\t\t$elm$json$Json$Decode$map,\n\t\t\tupdateModel,\n\t\t\t$elm$json$Json$Decode$list($elm$json$Json$Decode$value));\n\t});\nvar $elm$browser$Debugger$History$getInitialModel = function (_v0) {\n\tvar snapshots = _v0.snapshots;\n\tvar recent = _v0.recent;\n\tvar _v1 = A2($elm$core$Array$get, 0, snapshots);\n\tif (_v1.$ === 'Just') {\n\t\tvar model = _v1.a.model;\n\t\treturn model;\n\t} else {\n\t\treturn recent.model;\n\t}\n};\nvar $elm$core$Platform$Cmd$none = $elm$core$Platform$Cmd$batch(_List_Nil);\nvar $elm$browser$Debugger$Main$loadNewHistory = F3(\n\tfunction (rawHistory, update, model) {\n\t\tvar pureUserUpdate = F2(\n\t\t\tfunction (msg, userModel) {\n\t\t\t\treturn A2(update, msg, userModel).a;\n\t\t\t});\n\t\tvar initialUserModel = $elm$browser$Debugger$History$getInitialModel(model.history);\n\t\tvar decoder = A2($elm$browser$Debugger$History$decoder, initialUserModel, pureUserUpdate);\n\t\tvar _v0 = A2($elm$json$Json$Decode$decodeValue, decoder, rawHistory);\n\t\tif (_v0.$ === 'Err') {\n\t\t\treturn _Utils_Tuple2(\n\t\t\t\t_Utils_update(\n\t\t\t\t\tmodel,\n\t\t\t\t\t{overlay: $elm$browser$Debugger$Overlay$corruptImport}),\n\t\t\t\t$elm$core$Platform$Cmd$none);\n\t\t} else {\n\t\t\tvar _v1 = _v0.a;\n\t\t\tvar latestUserModel = _v1.a;\n\t\t\tvar newHistory = _v1.b;\n\t\t\treturn _Utils_Tuple2(\n\t\t\t\t_Utils_update(\n\t\t\t\t\tmodel,\n\t\t\t\t\t{\n\t\t\t\t\t\texpandoModel: $elm$browser$Debugger$Expando$init(latestUserModel),\n\t\t\t\t\t\texpandoMsg: $elm$browser$Debugger$Expando$init(\n\t\t\t\t\t\t\t$elm$browser$Debugger$History$getRecentMsg(newHistory)),\n\t\t\t\t\t\thistory: newHistory,\n\t\t\t\t\t\toverlay: $elm$browser$Debugger$Overlay$none,\n\t\t\t\t\t\tstate: $elm$browser$Debugger$Main$Running(latestUserModel)\n\t\t\t\t\t}),\n\t\t\t\t$elm$core$Platform$Cmd$none);\n\t\t}\n\t});\nvar $elm$browser$Debugger$Main$scroll = function (popout) {\n\treturn A2(\n\t\t$elm$core$Task$perform,\n\t\t$elm$core$Basics$always($elm$browser$Debugger$Main$NoOp),\n\t\t_Debugger_scroll(popout));\n};\nvar $elm$browser$Debugger$Main$scrollTo = F2(\n\tfunction (id, popout) {\n\t\treturn A2(\n\t\t\t$elm$core$Task$perform,\n\t\t\t$elm$core$Basics$always($elm$browser$Debugger$Main$NoOp),\n\t\t\tA2(_Debugger_scrollTo, id, popout));\n\t});\nvar $elm$browser$Debugger$Main$setDragStatus = F2(\n\tfunction (status, layout) {\n\t\tif (layout.$ === 'Horizontal') {\n\t\t\tvar x = layout.b;\n\t\t\tvar y = layout.c;\n\t\t\treturn A3($elm$browser$Debugger$Main$Horizontal, status, x, y);\n\t\t} else {\n\t\t\tvar x = layout.b;\n\t\t\tvar y = layout.c;\n\t\t\treturn A3($elm$browser$Debugger$Main$Vertical, status, x, y);\n\t\t}\n\t});\nvar $elm$browser$Debugger$Main$swapLayout = function (layout) {\n\tif (layout.$ === 'Horizontal') {\n\t\tvar s = layout.a;\n\t\tvar x = layout.b;\n\t\tvar y = layout.c;\n\t\treturn A3($elm$browser$Debugger$Main$Vertical, s, x, y);\n\t} else {\n\t\tvar s = layout.a;\n\t\tvar x = layout.b;\n\t\tvar y = layout.c;\n\t\treturn A3($elm$browser$Debugger$Main$Horizontal, s, x, y);\n\t}\n};\nvar $elm$core$Dict$getMin = function (dict) {\n\tgetMin:\n\twhile (true) {\n\t\tif ((dict.$ === 'RBNode_elm_builtin') && (dict.d.$ === 'RBNode_elm_builtin')) {\n\t\t\tvar left = dict.d;\n\t\t\tvar $temp$dict = left;\n\t\t\tdict = $temp$dict;\n\t\t\tcontinue getMin;\n\t\t} else {\n\t\t\treturn dict;\n\t\t}\n\t}\n};\nvar $elm$core$Dict$moveRedLeft = function (dict) {\n\tif (((dict.$ === 'RBNode_elm_builtin') && (dict.d.$ === 'RBNode_elm_builtin')) && (dict.e.$ === 'RBNode_elm_builtin')) {\n\t\tif ((dict.e.d.$ === 'RBNode_elm_builtin') && (dict.e.d.a.$ === 'Red')) {\n\t\t\tvar clr = dict.a;\n\t\t\tvar k = dict.b;\n\t\t\tvar v = dict.c;\n\t\t\tvar _v1 = dict.d;\n\t\t\tvar lClr = _v1.a;\n\t\t\tvar lK = _v1.b;\n\t\t\tvar lV = _v1.c;\n\t\t\tvar lLeft = _v1.d;\n\t\t\tvar lRight = _v1.e;\n\t\t\tvar _v2 = dict.e;\n\t\t\tvar rClr = _v2.a;\n\t\t\tvar rK = _v2.b;\n\t\t\tvar rV = _v2.c;\n\t\t\tvar rLeft = _v2.d;\n\t\t\tvar _v3 = rLeft.a;\n\t\t\tvar rlK = rLeft.b;\n\t\t\tvar rlV = rLeft.c;\n\t\t\tvar rlL = rLeft.d;\n\t\t\tvar rlR = rLeft.e;\n\t\t\tvar rRight = _v2.e;\n\t\t\treturn A5(\n\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t$elm$core$Dict$Red,\n\t\t\t\trlK,\n\t\t\t\trlV,\n\t\t\t\tA5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t$elm$core$Dict$Black,\n\t\t\t\t\tk,\n\t\t\t\t\tv,\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),\n\t\t\t\t\trlL),\n\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, rK, rV, rlR, rRight));\n\t\t} else {\n\t\t\tvar clr = dict.a;\n\t\t\tvar k = dict.b;\n\t\t\tvar v = dict.c;\n\t\t\tvar _v4 = dict.d;\n\t\t\tvar lClr = _v4.a;\n\t\t\tvar lK = _v4.b;\n\t\t\tvar lV = _v4.c;\n\t\t\tvar lLeft = _v4.d;\n\t\t\tvar lRight = _v4.e;\n\t\t\tvar _v5 = dict.e;\n\t\t\tvar rClr = _v5.a;\n\t\t\tvar rK = _v5.b;\n\t\t\tvar rV = _v5.c;\n\t\t\tvar rLeft = _v5.d;\n\t\t\tvar rRight = _v5.e;\n\t\t\tif (clr.$ === 'Black') {\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t$elm$core$Dict$Black,\n\t\t\t\t\tk,\n\t\t\t\t\tv,\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight));\n\t\t\t} else {\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t$elm$core$Dict$Black,\n\t\t\t\t\tk,\n\t\t\t\t\tv,\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight));\n\t\t\t}\n\t\t}\n\t} else {\n\t\treturn dict;\n\t}\n};\nvar $elm$core$Dict$moveRedRight = function (dict) {\n\tif (((dict.$ === 'RBNode_elm_builtin') && (dict.d.$ === 'RBNode_elm_builtin')) && (dict.e.$ === 'RBNode_elm_builtin')) {\n\t\tif ((dict.d.d.$ === 'RBNode_elm_builtin') && (dict.d.d.a.$ === 'Red')) {\n\t\t\tvar clr = dict.a;\n\t\t\tvar k = dict.b;\n\t\t\tvar v = dict.c;\n\t\t\tvar _v1 = dict.d;\n\t\t\tvar lClr = _v1.a;\n\t\t\tvar lK = _v1.b;\n\t\t\tvar lV = _v1.c;\n\t\t\tvar _v2 = _v1.d;\n\t\t\tvar _v3 = _v2.a;\n\t\t\tvar llK = _v2.b;\n\t\t\tvar llV = _v2.c;\n\t\t\tvar llLeft = _v2.d;\n\t\t\tvar llRight = _v2.e;\n\t\t\tvar lRight = _v1.e;\n\t\t\tvar _v4 = dict.e;\n\t\t\tvar rClr = _v4.a;\n\t\t\tvar rK = _v4.b;\n\t\t\tvar rV = _v4.c;\n\t\t\tvar rLeft = _v4.d;\n\t\t\tvar rRight = _v4.e;\n\t\t\treturn A5(\n\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t$elm$core$Dict$Red,\n\t\t\t\tlK,\n\t\t\t\tlV,\n\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, llK, llV, llLeft, llRight),\n\t\t\t\tA5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t$elm$core$Dict$Black,\n\t\t\t\t\tk,\n\t\t\t\t\tv,\n\t\t\t\t\tlRight,\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight)));\n\t\t} else {\n\t\t\tvar clr = dict.a;\n\t\t\tvar k = dict.b;\n\t\t\tvar v = dict.c;\n\t\t\tvar _v5 = dict.d;\n\t\t\tvar lClr = _v5.a;\n\t\t\tvar lK = _v5.b;\n\t\t\tvar lV = _v5.c;\n\t\t\tvar lLeft = _v5.d;\n\t\t\tvar lRight = _v5.e;\n\t\t\tvar _v6 = dict.e;\n\t\t\tvar rClr = _v6.a;\n\t\t\tvar rK = _v6.b;\n\t\t\tvar rV = _v6.c;\n\t\t\tvar rLeft = _v6.d;\n\t\t\tvar rRight = _v6.e;\n\t\t\tif (clr.$ === 'Black') {\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t$elm$core$Dict$Black,\n\t\t\t\t\tk,\n\t\t\t\t\tv,\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight));\n\t\t\t} else {\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t$elm$core$Dict$Black,\n\t\t\t\t\tk,\n\t\t\t\t\tv,\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight));\n\t\t\t}\n\t\t}\n\t} else {\n\t\treturn dict;\n\t}\n};\nvar $elm$core$Dict$removeHelpPrepEQGT = F7(\n\tfunction (targetKey, dict, color, key, value, left, right) {\n\t\tif ((left.$ === 'RBNode_elm_builtin') && (left.a.$ === 'Red')) {\n\t\t\tvar _v1 = left.a;\n\t\t\tvar lK = left.b;\n\t\t\tvar lV = left.c;\n\t\t\tvar lLeft = left.d;\n\t\t\tvar lRight = left.e;\n\t\t\treturn A5(\n\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\tcolor,\n\t\t\t\tlK,\n\t\t\t\tlV,\n\t\t\t\tlLeft,\n\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, key, value, lRight, right));\n\t\t} else {\n\t\t\t_v2$2:\n\t\t\twhile (true) {\n\t\t\t\tif ((right.$ === 'RBNode_elm_builtin') && (right.a.$ === 'Black')) {\n\t\t\t\t\tif (right.d.$ === 'RBNode_elm_builtin') {\n\t\t\t\t\t\tif (right.d.a.$ === 'Black') {\n\t\t\t\t\t\t\tvar _v3 = right.a;\n\t\t\t\t\t\t\tvar _v4 = right.d;\n\t\t\t\t\t\t\tvar _v5 = _v4.a;\n\t\t\t\t\t\t\treturn $elm$core$Dict$moveRedRight(dict);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tbreak _v2$2;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar _v6 = right.a;\n\t\t\t\t\t\tvar _v7 = right.d;\n\t\t\t\t\t\treturn $elm$core$Dict$moveRedRight(dict);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tbreak _v2$2;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn dict;\n\t\t}\n\t});\nvar $elm$core$Dict$removeMin = function (dict) {\n\tif ((dict.$ === 'RBNode_elm_builtin') && (dict.d.$ === 'RBNode_elm_builtin')) {\n\t\tvar color = dict.a;\n\t\tvar key = dict.b;\n\t\tvar value = dict.c;\n\t\tvar left = dict.d;\n\t\tvar lColor = left.a;\n\t\tvar lLeft = left.d;\n\t\tvar right = dict.e;\n\t\tif (lColor.$ === 'Black') {\n\t\t\tif ((lLeft.$ === 'RBNode_elm_builtin') && (lLeft.a.$ === 'Red')) {\n\t\t\t\tvar _v3 = lLeft.a;\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\tcolor,\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue,\n\t\t\t\t\t$elm$core$Dict$removeMin(left),\n\t\t\t\t\tright);\n\t\t\t} else {\n\t\t\t\tvar _v4 = $elm$core$Dict$moveRedLeft(dict);\n\t\t\t\tif (_v4.$ === 'RBNode_elm_builtin') {\n\t\t\t\t\tvar nColor = _v4.a;\n\t\t\t\t\tvar nKey = _v4.b;\n\t\t\t\t\tvar nValue = _v4.c;\n\t\t\t\t\tvar nLeft = _v4.d;\n\t\t\t\t\tvar nRight = _v4.e;\n\t\t\t\t\treturn A5(\n\t\t\t\t\t\t$elm$core$Dict$balance,\n\t\t\t\t\t\tnColor,\n\t\t\t\t\t\tnKey,\n\t\t\t\t\t\tnValue,\n\t\t\t\t\t\t$elm$core$Dict$removeMin(nLeft),\n\t\t\t\t\t\tnRight);\n\t\t\t\t} else {\n\t\t\t\t\treturn $elm$core$Dict$RBEmpty_elm_builtin;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\treturn A5(\n\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\tcolor,\n\t\t\t\tkey,\n\t\t\t\tvalue,\n\t\t\t\t$elm$core$Dict$removeMin(left),\n\t\t\t\tright);\n\t\t}\n\t} else {\n\t\treturn $elm$core$Dict$RBEmpty_elm_builtin;\n\t}\n};\nvar $elm$core$Dict$removeHelp = F2(\n\tfunction (targetKey, dict) {\n\t\tif (dict.$ === 'RBEmpty_elm_builtin') {\n\t\t\treturn $elm$core$Dict$RBEmpty_elm_builtin;\n\t\t} else {\n\t\t\tvar color = dict.a;\n\t\t\tvar key = dict.b;\n\t\t\tvar value = dict.c;\n\t\t\tvar left = dict.d;\n\t\t\tvar right = dict.e;\n\t\t\tif (_Utils_cmp(targetKey, key) < 0) {\n\t\t\t\tif ((left.$ === 'RBNode_elm_builtin') && (left.a.$ === 'Black')) {\n\t\t\t\t\tvar _v4 = left.a;\n\t\t\t\t\tvar lLeft = left.d;\n\t\t\t\t\tif ((lLeft.$ === 'RBNode_elm_builtin') && (lLeft.a.$ === 'Red')) {\n\t\t\t\t\t\tvar _v6 = lLeft.a;\n\t\t\t\t\t\treturn A5(\n\t\t\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t\t\tcolor,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\tA2($elm$core$Dict$removeHelp, targetKey, left),\n\t\t\t\t\t\t\tright);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar _v7 = $elm$core$Dict$moveRedLeft(dict);\n\t\t\t\t\t\tif (_v7.$ === 'RBNode_elm_builtin') {\n\t\t\t\t\t\t\tvar nColor = _v7.a;\n\t\t\t\t\t\t\tvar nKey = _v7.b;\n\t\t\t\t\t\t\tvar nValue = _v7.c;\n\t\t\t\t\t\t\tvar nLeft = _v7.d;\n\t\t\t\t\t\t\tvar nRight = _v7.e;\n\t\t\t\t\t\t\treturn A5(\n\t\t\t\t\t\t\t\t$elm$core$Dict$balance,\n\t\t\t\t\t\t\t\tnColor,\n\t\t\t\t\t\t\t\tnKey,\n\t\t\t\t\t\t\t\tnValue,\n\t\t\t\t\t\t\t\tA2($elm$core$Dict$removeHelp, targetKey, nLeft),\n\t\t\t\t\t\t\t\tnRight);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn $elm$core$Dict$RBEmpty_elm_builtin;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn A5(\n\t\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t\tcolor,\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tA2($elm$core$Dict$removeHelp, targetKey, left),\n\t\t\t\t\t\tright);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$core$Dict$removeHelpEQGT,\n\t\t\t\t\ttargetKey,\n\t\t\t\t\tA7($elm$core$Dict$removeHelpPrepEQGT, targetKey, dict, color, key, value, left, right));\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Dict$removeHelpEQGT = F2(\n\tfunction (targetKey, dict) {\n\t\tif (dict.$ === 'RBNode_elm_builtin') {\n\t\t\tvar color = dict.a;\n\t\t\tvar key = dict.b;\n\t\t\tvar value = dict.c;\n\t\t\tvar left = dict.d;\n\t\t\tvar right = dict.e;\n\t\t\tif (_Utils_eq(targetKey, key)) {\n\t\t\t\tvar _v1 = $elm$core$Dict$getMin(right);\n\t\t\t\tif (_v1.$ === 'RBNode_elm_builtin') {\n\t\t\t\t\tvar minKey = _v1.b;\n\t\t\t\t\tvar minValue = _v1.c;\n\t\t\t\t\treturn A5(\n\t\t\t\t\t\t$elm$core$Dict$balance,\n\t\t\t\t\t\tcolor,\n\t\t\t\t\t\tminKey,\n\t\t\t\t\t\tminValue,\n\t\t\t\t\t\tleft,\n\t\t\t\t\t\t$elm$core$Dict$removeMin(right));\n\t\t\t\t} else {\n\t\t\t\t\treturn $elm$core$Dict$RBEmpty_elm_builtin;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$core$Dict$balance,\n\t\t\t\t\tcolor,\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue,\n\t\t\t\t\tleft,\n\t\t\t\t\tA2($elm$core$Dict$removeHelp, targetKey, right));\n\t\t\t}\n\t\t} else {\n\t\t\treturn $elm$core$Dict$RBEmpty_elm_builtin;\n\t\t}\n\t});\nvar $elm$core$Dict$remove = F2(\n\tfunction (key, dict) {\n\t\tvar _v0 = A2($elm$core$Dict$removeHelp, key, dict);\n\t\tif ((_v0.$ === 'RBNode_elm_builtin') && (_v0.a.$ === 'Red')) {\n\t\t\tvar _v1 = _v0.a;\n\t\t\tvar k = _v0.b;\n\t\t\tvar v = _v0.c;\n\t\t\tvar l = _v0.d;\n\t\t\tvar r = _v0.e;\n\t\t\treturn A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, k, v, l, r);\n\t\t} else {\n\t\t\tvar x = _v0;\n\t\t\treturn x;\n\t\t}\n\t});\nvar $elm$core$Dict$update = F3(\n\tfunction (targetKey, alter, dictionary) {\n\t\tvar _v0 = alter(\n\t\t\tA2($elm$core$Dict$get, targetKey, dictionary));\n\t\tif (_v0.$ === 'Just') {\n\t\t\tvar value = _v0.a;\n\t\t\treturn A3($elm$core$Dict$insert, targetKey, value, dictionary);\n\t\t} else {\n\t\t\treturn A2($elm$core$Dict$remove, targetKey, dictionary);\n\t\t}\n\t});\nvar $elm$browser$Debugger$Expando$updateIndex = F3(\n\tfunction (n, func, list) {\n\t\tif (!list.b) {\n\t\t\treturn _List_Nil;\n\t\t} else {\n\t\t\tvar x = list.a;\n\t\t\tvar xs = list.b;\n\t\t\treturn (n <= 0) ? A2(\n\t\t\t\t$elm$core$List$cons,\n\t\t\t\tfunc(x),\n\t\t\t\txs) : A2(\n\t\t\t\t$elm$core$List$cons,\n\t\t\t\tx,\n\t\t\t\tA3($elm$browser$Debugger$Expando$updateIndex, n - 1, func, xs));\n\t\t}\n\t});\nvar $elm$browser$Debugger$Expando$update = F2(\n\tfunction (msg, value) {\n\t\tswitch (value.$) {\n\t\t\tcase 'S':\n\t\t\t\treturn value;\n\t\t\tcase 'Primitive':\n\t\t\t\treturn value;\n\t\t\tcase 'Sequence':\n\t\t\t\tvar seqType = value.a;\n\t\t\t\tvar isClosed = value.b;\n\t\t\t\tvar valueList = value.c;\n\t\t\t\tswitch (msg.$) {\n\t\t\t\t\tcase 'Toggle':\n\t\t\t\t\t\treturn A3($elm$browser$Debugger$Expando$Sequence, seqType, !isClosed, valueList);\n\t\t\t\t\tcase 'Index':\n\t\t\t\t\t\tif (msg.a.$ === 'None') {\n\t\t\t\t\t\t\tvar _v3 = msg.a;\n\t\t\t\t\t\t\tvar index = msg.b;\n\t\t\t\t\t\t\tvar subMsg = msg.c;\n\t\t\t\t\t\t\treturn A3(\n\t\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$Sequence,\n\t\t\t\t\t\t\t\tseqType,\n\t\t\t\t\t\t\t\tisClosed,\n\t\t\t\t\t\t\t\tA3(\n\t\t\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$updateIndex,\n\t\t\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$update(subMsg),\n\t\t\t\t\t\t\t\t\tvalueList));\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t}\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn value;\n\t\t\t\t}\n\t\t\tcase 'Dictionary':\n\t\t\t\tvar isClosed = value.a;\n\t\t\t\tvar keyValuePairs = value.b;\n\t\t\t\tswitch (msg.$) {\n\t\t\t\t\tcase 'Toggle':\n\t\t\t\t\t\treturn A2($elm$browser$Debugger$Expando$Dictionary, !isClosed, keyValuePairs);\n\t\t\t\t\tcase 'Index':\n\t\t\t\t\t\tvar redirect = msg.a;\n\t\t\t\t\t\tvar index = msg.b;\n\t\t\t\t\t\tvar subMsg = msg.c;\n\t\t\t\t\t\tswitch (redirect.$) {\n\t\t\t\t\t\t\tcase 'None':\n\t\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t\tcase 'Key':\n\t\t\t\t\t\t\t\treturn A2(\n\t\t\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$Dictionary,\n\t\t\t\t\t\t\t\t\tisClosed,\n\t\t\t\t\t\t\t\t\tA3(\n\t\t\t\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$updateIndex,\n\t\t\t\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\t\t\t\tfunction (_v6) {\n\t\t\t\t\t\t\t\t\t\t\tvar k = _v6.a;\n\t\t\t\t\t\t\t\t\t\t\tvar v = _v6.b;\n\t\t\t\t\t\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t\t\t\t\t\tA2($elm$browser$Debugger$Expando$update, subMsg, k),\n\t\t\t\t\t\t\t\t\t\t\t\tv);\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tkeyValuePairs));\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\treturn A2(\n\t\t\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$Dictionary,\n\t\t\t\t\t\t\t\t\tisClosed,\n\t\t\t\t\t\t\t\t\tA3(\n\t\t\t\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$updateIndex,\n\t\t\t\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\t\t\t\tfunction (_v7) {\n\t\t\t\t\t\t\t\t\t\t\tvar k = _v7.a;\n\t\t\t\t\t\t\t\t\t\t\tvar v = _v7.b;\n\t\t\t\t\t\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t\t\t\t\t\tk,\n\t\t\t\t\t\t\t\t\t\t\t\tA2($elm$browser$Debugger$Expando$update, subMsg, v));\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tkeyValuePairs));\n\t\t\t\t\t\t}\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn value;\n\t\t\t\t}\n\t\t\tcase 'Record':\n\t\t\t\tvar isClosed = value.a;\n\t\t\t\tvar valueDict = value.b;\n\t\t\t\tswitch (msg.$) {\n\t\t\t\t\tcase 'Toggle':\n\t\t\t\t\t\treturn A2($elm$browser$Debugger$Expando$Record, !isClosed, valueDict);\n\t\t\t\t\tcase 'Index':\n\t\t\t\t\t\treturn value;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tvar field = msg.a;\n\t\t\t\t\t\tvar subMsg = msg.b;\n\t\t\t\t\t\treturn A2(\n\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$Record,\n\t\t\t\t\t\t\tisClosed,\n\t\t\t\t\t\t\tA3(\n\t\t\t\t\t\t\t\t$elm$core$Dict$update,\n\t\t\t\t\t\t\t\tfield,\n\t\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$updateField(subMsg),\n\t\t\t\t\t\t\t\tvalueDict));\n\t\t\t\t}\n\t\t\tdefault:\n\t\t\t\tvar maybeName = value.a;\n\t\t\t\tvar isClosed = value.b;\n\t\t\t\tvar valueList = value.c;\n\t\t\t\tswitch (msg.$) {\n\t\t\t\t\tcase 'Toggle':\n\t\t\t\t\t\treturn A3($elm$browser$Debugger$Expando$Constructor, maybeName, !isClosed, valueList);\n\t\t\t\t\tcase 'Index':\n\t\t\t\t\t\tif (msg.a.$ === 'None') {\n\t\t\t\t\t\t\tvar _v10 = msg.a;\n\t\t\t\t\t\t\tvar index = msg.b;\n\t\t\t\t\t\t\tvar subMsg = msg.c;\n\t\t\t\t\t\t\treturn A3(\n\t\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$Constructor,\n\t\t\t\t\t\t\t\tmaybeName,\n\t\t\t\t\t\t\t\tisClosed,\n\t\t\t\t\t\t\t\tA3(\n\t\t\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$updateIndex,\n\t\t\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$update(subMsg),\n\t\t\t\t\t\t\t\t\tvalueList));\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t}\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn value;\n\t\t\t\t}\n\t\t}\n\t});\nvar $elm$browser$Debugger$Expando$updateField = F2(\n\tfunction (msg, maybeExpando) {\n\t\tif (maybeExpando.$ === 'Nothing') {\n\t\t\treturn maybeExpando;\n\t\t} else {\n\t\t\tvar expando = maybeExpando.a;\n\t\t\treturn $elm$core$Maybe$Just(\n\t\t\t\tA2($elm$browser$Debugger$Expando$update, msg, expando));\n\t\t}\n\t});\nvar $elm$browser$Debugger$Main$Upload = function (a) {\n\treturn {$: 'Upload', a: a};\n};\nvar $elm$browser$Debugger$Main$upload = function (popout) {\n\treturn A2(\n\t\t$elm$core$Task$perform,\n\t\t$elm$browser$Debugger$Main$Upload,\n\t\t_Debugger_upload(popout));\n};\nvar $elm$browser$Debugger$Overlay$BadMetadata = function (a) {\n\treturn {$: 'BadMetadata', a: a};\n};\nvar $elm$browser$Debugger$Overlay$badMetadata = $elm$browser$Debugger$Overlay$BadMetadata;\nvar $elm$browser$Debugger$Main$withGoodMetadata = F2(\n\tfunction (model, func) {\n\t\tvar _v0 = model.metadata;\n\t\tif (_v0.$ === 'Ok') {\n\t\t\tvar metadata = _v0.a;\n\t\t\treturn func(metadata);\n\t\t} else {\n\t\t\tvar error = _v0.a;\n\t\t\treturn _Utils_Tuple2(\n\t\t\t\t_Utils_update(\n\t\t\t\t\tmodel,\n\t\t\t\t\t{\n\t\t\t\t\t\toverlay: $elm$browser$Debugger$Overlay$badMetadata(error)\n\t\t\t\t\t}),\n\t\t\t\t$elm$core$Platform$Cmd$none);\n\t\t}\n\t});\nvar $elm$browser$Debugger$Main$wrapUpdate = F3(\n\tfunction (update, msg, model) {\n\t\twrapUpdate:\n\t\twhile (true) {\n\t\t\tswitch (msg.$) {\n\t\t\t\tcase 'NoOp':\n\t\t\t\t\treturn _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);\n\t\t\t\tcase 'UserMsg':\n\t\t\t\t\tvar userMsg = msg.a;\n\t\t\t\t\tvar userModel = $elm$browser$Debugger$Main$getLatestModel(model.state);\n\t\t\t\t\tvar newHistory = A3($elm$browser$Debugger$History$add, userMsg, userModel, model.history);\n\t\t\t\t\tvar _v1 = A2(update, userMsg, userModel);\n\t\t\t\t\tvar newUserModel = _v1.a;\n\t\t\t\t\tvar userCmds = _v1.b;\n\t\t\t\t\tvar commands = A2($elm$core$Platform$Cmd$map, $elm$browser$Debugger$Main$UserMsg, userCmds);\n\t\t\t\t\tvar _v2 = model.state;\n\t\t\t\t\tif (_v2.$ === 'Running') {\n\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t_Utils_update(\n\t\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\texpandoModel: A2($elm$browser$Debugger$Expando$merge, newUserModel, model.expandoModel),\n\t\t\t\t\t\t\t\t\texpandoMsg: A2($elm$browser$Debugger$Expando$merge, userMsg, model.expandoMsg),\n\t\t\t\t\t\t\t\t\thistory: newHistory,\n\t\t\t\t\t\t\t\t\tstate: $elm$browser$Debugger$Main$Running(newUserModel)\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t$elm$core$Platform$Cmd$batch(\n\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\tcommands,\n\t\t\t\t\t\t\t\t\t\t$elm$browser$Debugger$Main$scroll(model.popout)\n\t\t\t\t\t\t\t\t\t])));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar index = _v2.a;\n\t\t\t\t\t\tvar indexModel = _v2.b;\n\t\t\t\t\t\tvar history = _v2.e;\n\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t_Utils_update(\n\t\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\thistory: newHistory,\n\t\t\t\t\t\t\t\t\tstate: A5($elm$browser$Debugger$Main$Paused, index, indexModel, newUserModel, userMsg, history)\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tcommands);\n\t\t\t\t\t}\n\t\t\t\tcase 'TweakExpandoMsg':\n\t\t\t\t\tvar eMsg = msg.a;\n\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t_Utils_update(\n\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\texpandoMsg: A2($elm$browser$Debugger$Expando$update, eMsg, model.expandoMsg)\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t$elm$core$Platform$Cmd$none);\n\t\t\t\tcase 'TweakExpandoModel':\n\t\t\t\t\tvar eMsg = msg.a;\n\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t_Utils_update(\n\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\texpandoModel: A2($elm$browser$Debugger$Expando$update, eMsg, model.expandoModel)\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t$elm$core$Platform$Cmd$none);\n\t\t\t\tcase 'Resume':\n\t\t\t\t\tvar _v3 = model.state;\n\t\t\t\t\tif (_v3.$ === 'Running') {\n\t\t\t\t\t\treturn _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar userModel = _v3.c;\n\t\t\t\t\t\tvar userMsg = _v3.d;\n\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t_Utils_update(\n\t\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\texpandoModel: A2($elm$browser$Debugger$Expando$merge, userModel, model.expandoModel),\n\t\t\t\t\t\t\t\t\texpandoMsg: A2($elm$browser$Debugger$Expando$merge, userMsg, model.expandoMsg),\n\t\t\t\t\t\t\t\t\tstate: $elm$browser$Debugger$Main$Running(userModel)\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t$elm$browser$Debugger$Main$scroll(model.popout));\n\t\t\t\t\t}\n\t\t\t\tcase 'Jump':\n\t\t\t\t\tvar index = msg.a;\n\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\tA3($elm$browser$Debugger$Main$jumpUpdate, update, index, model),\n\t\t\t\t\t\t$elm$core$Platform$Cmd$none);\n\t\t\t\tcase 'SliderJump':\n\t\t\t\t\tvar index = msg.a;\n\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\tA3($elm$browser$Debugger$Main$jumpUpdate, update, index, model),\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$browser$Debugger$Main$scrollTo,\n\t\t\t\t\t\t\t$elm$browser$Debugger$History$idForMessageIndex(index),\n\t\t\t\t\t\t\tmodel.popout));\n\t\t\t\tcase 'Open':\n\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$core$Task$perform,\n\t\t\t\t\t\t\t$elm$core$Basics$always($elm$browser$Debugger$Main$NoOp),\n\t\t\t\t\t\t\t_Debugger_open(model.popout)));\n\t\t\t\tcase 'Up':\n\t\t\t\t\tvar _v4 = model.state;\n\t\t\t\t\tif (_v4.$ === 'Running') {\n\t\t\t\t\t\treturn _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar i = _v4.a;\n\t\t\t\t\t\tvar history = _v4.e;\n\t\t\t\t\t\tvar targetIndex = i + 1;\n\t\t\t\t\t\tif (_Utils_cmp(\n\t\t\t\t\t\t\ttargetIndex,\n\t\t\t\t\t\t\t$elm$browser$Debugger$History$size(history)) < 0) {\n\t\t\t\t\t\t\tvar $temp$update = update,\n\t\t\t\t\t\t\t\t$temp$msg = $elm$browser$Debugger$Main$SliderJump(targetIndex),\n\t\t\t\t\t\t\t\t$temp$model = model;\n\t\t\t\t\t\t\tupdate = $temp$update;\n\t\t\t\t\t\t\tmsg = $temp$msg;\n\t\t\t\t\t\t\tmodel = $temp$model;\n\t\t\t\t\t\t\tcontinue wrapUpdate;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar $temp$update = update,\n\t\t\t\t\t\t\t\t$temp$msg = $elm$browser$Debugger$Main$Resume,\n\t\t\t\t\t\t\t\t$temp$model = model;\n\t\t\t\t\t\t\tupdate = $temp$update;\n\t\t\t\t\t\t\tmsg = $temp$msg;\n\t\t\t\t\t\t\tmodel = $temp$model;\n\t\t\t\t\t\t\tcontinue wrapUpdate;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\tcase 'Down':\n\t\t\t\t\tvar _v5 = model.state;\n\t\t\t\t\tif (_v5.$ === 'Running') {\n\t\t\t\t\t\tvar $temp$update = update,\n\t\t\t\t\t\t\t$temp$msg = $elm$browser$Debugger$Main$Jump(\n\t\t\t\t\t\t\t$elm$browser$Debugger$History$size(model.history) - 1),\n\t\t\t\t\t\t\t$temp$model = model;\n\t\t\t\t\t\tupdate = $temp$update;\n\t\t\t\t\t\tmsg = $temp$msg;\n\t\t\t\t\t\tmodel = $temp$model;\n\t\t\t\t\t\tcontinue wrapUpdate;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar index = _v5.a;\n\t\t\t\t\t\tif (index > 0) {\n\t\t\t\t\t\t\tvar $temp$update = update,\n\t\t\t\t\t\t\t\t$temp$msg = $elm$browser$Debugger$Main$SliderJump(index - 1),\n\t\t\t\t\t\t\t\t$temp$model = model;\n\t\t\t\t\t\t\tupdate = $temp$update;\n\t\t\t\t\t\t\tmsg = $temp$msg;\n\t\t\t\t\t\t\tmodel = $temp$model;\n\t\t\t\t\t\t\tcontinue wrapUpdate;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\tcase 'Import':\n\t\t\t\t\treturn A2(\n\t\t\t\t\t\t$elm$browser$Debugger$Main$withGoodMetadata,\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\tfunction (_v6) {\n\t\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\t\t$elm$browser$Debugger$Main$upload(model.popout));\n\t\t\t\t\t\t});\n\t\t\t\tcase 'Export':\n\t\t\t\t\treturn A2(\n\t\t\t\t\t\t$elm$browser$Debugger$Main$withGoodMetadata,\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\tfunction (metadata) {\n\t\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\t\tA2($elm$browser$Debugger$Main$download, metadata, model.history));\n\t\t\t\t\t\t});\n\t\t\t\tcase 'Upload':\n\t\t\t\t\tvar jsonString = msg.a;\n\t\t\t\t\treturn A2(\n\t\t\t\t\t\t$elm$browser$Debugger$Main$withGoodMetadata,\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\tfunction (metadata) {\n\t\t\t\t\t\t\tvar _v7 = A2($elm$browser$Debugger$Overlay$assessImport, metadata, jsonString);\n\t\t\t\t\t\t\tif (_v7.$ === 'Err') {\n\t\t\t\t\t\t\t\tvar newOverlay = _v7.a;\n\t\t\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t\t\t_Utils_update(\n\t\t\t\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\t\t\t\t{overlay: newOverlay}),\n\t\t\t\t\t\t\t\t\t$elm$core$Platform$Cmd$none);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tvar rawHistory = _v7.a;\n\t\t\t\t\t\t\t\treturn A3($elm$browser$Debugger$Main$loadNewHistory, rawHistory, update, model);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\tcase 'OverlayMsg':\n\t\t\t\t\tvar overlayMsg = msg.a;\n\t\t\t\t\tvar _v8 = A2($elm$browser$Debugger$Overlay$close, overlayMsg, model.overlay);\n\t\t\t\t\tif (_v8.$ === 'Nothing') {\n\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t_Utils_update(\n\t\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\t\t{overlay: $elm$browser$Debugger$Overlay$none}),\n\t\t\t\t\t\t\t$elm$core$Platform$Cmd$none);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar rawHistory = _v8.a;\n\t\t\t\t\t\treturn A3($elm$browser$Debugger$Main$loadNewHistory, rawHistory, update, model);\n\t\t\t\t\t}\n\t\t\t\tcase 'SwapLayout':\n\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t_Utils_update(\n\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlayout: $elm$browser$Debugger$Main$swapLayout(model.layout)\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t$elm$core$Platform$Cmd$none);\n\t\t\t\tcase 'DragStart':\n\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t_Utils_update(\n\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlayout: A2($elm$browser$Debugger$Main$setDragStatus, $elm$browser$Debugger$Main$Moving, model.layout)\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t$elm$core$Platform$Cmd$none);\n\t\t\t\tcase 'Drag':\n\t\t\t\t\tvar info = msg.a;\n\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t_Utils_update(\n\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlayout: A2($elm$browser$Debugger$Main$drag, info, model.layout)\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t$elm$core$Platform$Cmd$none);\n\t\t\t\tdefault:\n\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t_Utils_update(\n\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlayout: A2($elm$browser$Debugger$Main$setDragStatus, $elm$browser$Debugger$Main$Static, model.layout)\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t$elm$core$Platform$Cmd$none);\n\t\t\t}\n\t\t}\n\t});\nvar $elm$browser$Browser$External = function (a) {\n\treturn {$: 'External', a: a};\n};\nvar $elm$browser$Browser$Internal = function (a) {\n\treturn {$: 'Internal', a: a};\n};\nvar $elm$browser$Browser$Dom$NotFound = function (a) {\n\treturn {$: 'NotFound', a: a};\n};\nvar $elm$url$Url$Http = {$: 'Http'};\nvar $elm$url$Url$Https = {$: 'Https'};\nvar $elm$url$Url$Url = F6(\n\tfunction (protocol, host, port_, path, query, fragment) {\n\t\treturn {fragment: fragment, host: host, path: path, port_: port_, protocol: protocol, query: query};\n\t});\nvar $elm$core$String$dropLeft = F2(\n\tfunction (n, string) {\n\t\treturn (n < 1) ? string : A3(\n\t\t\t$elm$core$String$slice,\n\t\t\tn,\n\t\t\t$elm$core$String$length(string),\n\t\t\tstring);\n\t});\nvar $elm$core$String$indexes = _String_indexes;\nvar $elm$core$String$isEmpty = function (string) {\n\treturn string === '';\n};\nvar $elm$url$Url$chompBeforePath = F5(\n\tfunction (protocol, path, params, frag, str) {\n\t\tif ($elm$core$String$isEmpty(str) || A2($elm$core$String$contains, '@', str)) {\n\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t} else {\n\t\t\tvar _v0 = A2($elm$core$String$indexes, ':', str);\n\t\t\tif (!_v0.b) {\n\t\t\t\treturn $elm$core$Maybe$Just(\n\t\t\t\t\tA6($elm$url$Url$Url, protocol, str, $elm$core$Maybe$Nothing, path, params, frag));\n\t\t\t} else {\n\t\t\t\tif (!_v0.b.b) {\n\t\t\t\t\tvar i = _v0.a;\n\t\t\t\t\tvar _v1 = $elm$core$String$toInt(\n\t\t\t\t\t\tA2($elm$core$String$dropLeft, i + 1, str));\n\t\t\t\t\tif (_v1.$ === 'Nothing') {\n\t\t\t\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar port_ = _v1;\n\t\t\t\t\t\treturn $elm$core$Maybe$Just(\n\t\t\t\t\t\t\tA6(\n\t\t\t\t\t\t\t\t$elm$url$Url$Url,\n\t\t\t\t\t\t\t\tprotocol,\n\t\t\t\t\t\t\t\tA2($elm$core$String$left, i, str),\n\t\t\t\t\t\t\t\tport_,\n\t\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\t\tparams,\n\t\t\t\t\t\t\t\tfrag));\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\nvar $elm$url$Url$chompBeforeQuery = F4(\n\tfunction (protocol, params, frag, str) {\n\t\tif ($elm$core$String$isEmpty(str)) {\n\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t} else {\n\t\t\tvar _v0 = A2($elm$core$String$indexes, '/', str);\n\t\t\tif (!_v0.b) {\n\t\t\t\treturn A5($elm$url$Url$chompBeforePath, protocol, '/', params, frag, str);\n\t\t\t} else {\n\t\t\t\tvar i = _v0.a;\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$url$Url$chompBeforePath,\n\t\t\t\t\tprotocol,\n\t\t\t\t\tA2($elm$core$String$dropLeft, i, str),\n\t\t\t\t\tparams,\n\t\t\t\t\tfrag,\n\t\t\t\t\tA2($elm$core$String$left, i, str));\n\t\t\t}\n\t\t}\n\t});\nvar $elm$url$Url$chompBeforeFragment = F3(\n\tfunction (protocol, frag, str) {\n\t\tif ($elm$core$String$isEmpty(str)) {\n\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t} else {\n\t\t\tvar _v0 = A2($elm$core$String$indexes, '?', str);\n\t\t\tif (!_v0.b) {\n\t\t\t\treturn A4($elm$url$Url$chompBeforeQuery, protocol, $elm$core$Maybe$Nothing, frag, str);\n\t\t\t} else {\n\t\t\t\tvar i = _v0.a;\n\t\t\t\treturn A4(\n\t\t\t\t\t$elm$url$Url$chompBeforeQuery,\n\t\t\t\t\tprotocol,\n\t\t\t\t\t$elm$core$Maybe$Just(\n\t\t\t\t\t\tA2($elm$core$String$dropLeft, i + 1, str)),\n\t\t\t\t\tfrag,\n\t\t\t\t\tA2($elm$core$String$left, i, str));\n\t\t\t}\n\t\t}\n\t});\nvar $elm$url$Url$chompAfterProtocol = F2(\n\tfunction (protocol, str) {\n\t\tif ($elm$core$String$isEmpty(str)) {\n\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t} else {\n\t\t\tvar _v0 = A2($elm$core$String$indexes, '#', str);\n\t\t\tif (!_v0.b) {\n\t\t\t\treturn A3($elm$url$Url$chompBeforeFragment, protocol, $elm$core$Maybe$Nothing, str);\n\t\t\t} else {\n\t\t\t\tvar i = _v0.a;\n\t\t\t\treturn A3(\n\t\t\t\t\t$elm$url$Url$chompBeforeFragment,\n\t\t\t\t\tprotocol,\n\t\t\t\t\t$elm$core$Maybe$Just(\n\t\t\t\t\t\tA2($elm$core$String$dropLeft, i + 1, str)),\n\t\t\t\t\tA2($elm$core$String$left, i, str));\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$String$startsWith = _String_startsWith;\nvar $elm$url$Url$fromString = function (str) {\n\treturn A2($elm$core$String$startsWith, 'http://', str) ? A2(\n\t\t$elm$url$Url$chompAfterProtocol,\n\t\t$elm$url$Url$Http,\n\t\tA2($elm$core$String$dropLeft, 7, str)) : (A2($elm$core$String$startsWith, 'https://', str) ? A2(\n\t\t$elm$url$Url$chompAfterProtocol,\n\t\t$elm$url$Url$Https,\n\t\tA2($elm$core$String$dropLeft, 8, str)) : $elm$core$Maybe$Nothing);\n};\nvar $elm$core$Basics$never = function (_v0) {\n\tnever:\n\twhile (true) {\n\t\tvar nvr = _v0.a;\n\t\tvar $temp$_v0 = nvr;\n\t\t_v0 = $temp$_v0;\n\t\tcontinue never;\n\t}\n};\nvar $elm$browser$Browser$application = _Browser_application;\nvar $author$project$Main$Model = F2(\n\tfunction (shared, page) {\n\t\treturn {page: page, shared: shared};\n\t});\nvar $author$project$Main$Pages = function (a) {\n\treturn {$: 'Pages', a: a};\n};\nvar $author$project$Main$Shared = function (a) {\n\treturn {$: 'Shared', a: a};\n};\nvar $author$project$Spa$Generated$Route$NotFound = {$: 'NotFound'};\nvar $elm$url$Url$Parser$State = F5(\n\tfunction (visited, unvisited, params, frag, value) {\n\t\treturn {frag: frag, params: params, unvisited: unvisited, value: value, visited: visited};\n\t});\nvar $elm$url$Url$Parser$getFirstMatch = function (states) {\n\tgetFirstMatch:\n\twhile (true) {\n\t\tif (!states.b) {\n\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t} else {\n\t\t\tvar state = states.a;\n\t\t\tvar rest = states.b;\n\t\t\tvar _v1 = state.unvisited;\n\t\t\tif (!_v1.b) {\n\t\t\t\treturn $elm$core$Maybe$Just(state.value);\n\t\t\t} else {\n\t\t\t\tif ((_v1.a === '') && (!_v1.b.b)) {\n\t\t\t\t\treturn $elm$core$Maybe$Just(state.value);\n\t\t\t\t} else {\n\t\t\t\t\tvar $temp$states = rest;\n\t\t\t\t\tstates = $temp$states;\n\t\t\t\t\tcontinue getFirstMatch;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\nvar $elm$url$Url$Parser$removeFinalEmpty = function (segments) {\n\tif (!segments.b) {\n\t\treturn _List_Nil;\n\t} else {\n\t\tif ((segments.a === '') && (!segments.b.b)) {\n\t\t\treturn _List_Nil;\n\t\t} else {\n\t\t\tvar segment = segments.a;\n\t\t\tvar rest = segments.b;\n\t\t\treturn A2(\n\t\t\t\t$elm$core$List$cons,\n\t\t\t\tsegment,\n\t\t\t\t$elm$url$Url$Parser$removeFinalEmpty(rest));\n\t\t}\n\t}\n};\nvar $elm$url$Url$Parser$preparePath = function (path) {\n\tvar _v0 = A2($elm$core$String$split, '/', path);\n\tif (_v0.b && (_v0.a === '')) {\n\t\tvar segments = _v0.b;\n\t\treturn $elm$url$Url$Parser$removeFinalEmpty(segments);\n\t} else {\n\t\tvar segments = _v0;\n\t\treturn $elm$url$Url$Parser$removeFinalEmpty(segments);\n\t}\n};\nvar $elm$url$Url$Parser$addToParametersHelp = F2(\n\tfunction (value, maybeList) {\n\t\tif (maybeList.$ === 'Nothing') {\n\t\t\treturn $elm$core$Maybe$Just(\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[value]));\n\t\t} else {\n\t\t\tvar list = maybeList.a;\n\t\t\treturn $elm$core$Maybe$Just(\n\t\t\t\tA2($elm$core$List$cons, value, list));\n\t\t}\n\t});\nvar $elm$url$Url$percentDecode = _Url_percentDecode;\nvar $elm$url$Url$Parser$addParam = F2(\n\tfunction (segment, dict) {\n\t\tvar _v0 = A2($elm$core$String$split, '=', segment);\n\t\tif ((_v0.b && _v0.b.b) && (!_v0.b.b.b)) {\n\t\t\tvar rawKey = _v0.a;\n\t\t\tvar _v1 = _v0.b;\n\t\t\tvar rawValue = _v1.a;\n\t\t\tvar _v2 = $elm$url$Url$percentDecode(rawKey);\n\t\t\tif (_v2.$ === 'Nothing') {\n\t\t\t\treturn dict;\n\t\t\t} else {\n\t\t\t\tvar key = _v2.a;\n\t\t\t\tvar _v3 = $elm$url$Url$percentDecode(rawValue);\n\t\t\t\tif (_v3.$ === 'Nothing') {\n\t\t\t\t\treturn dict;\n\t\t\t\t} else {\n\t\t\t\t\tvar value = _v3.a;\n\t\t\t\t\treturn A3(\n\t\t\t\t\t\t$elm$core$Dict$update,\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\t$elm$url$Url$Parser$addToParametersHelp(value),\n\t\t\t\t\t\tdict);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\treturn dict;\n\t\t}\n\t});\nvar $elm$url$Url$Parser$prepareQuery = function (maybeQuery) {\n\tif (maybeQuery.$ === 'Nothing') {\n\t\treturn $elm$core$Dict$empty;\n\t} else {\n\t\tvar qry = maybeQuery.a;\n\t\treturn A3(\n\t\t\t$elm$core$List$foldr,\n\t\t\t$elm$url$Url$Parser$addParam,\n\t\t\t$elm$core$Dict$empty,\n\t\t\tA2($elm$core$String$split, '&', qry));\n\t}\n};\nvar $elm$url$Url$Parser$parse = F2(\n\tfunction (_v0, url) {\n\t\tvar parser = _v0.a;\n\t\treturn $elm$url$Url$Parser$getFirstMatch(\n\t\t\tparser(\n\t\t\t\tA5(\n\t\t\t\t\t$elm$url$Url$Parser$State,\n\t\t\t\t\t_List_Nil,\n\t\t\t\t\t$elm$url$Url$Parser$preparePath(url.path),\n\t\t\t\t\t$elm$url$Url$Parser$prepareQuery(url.query),\n\t\t\t\t\turl.fragment,\n\t\t\t\t\t$elm$core$Basics$identity)));\n\t});\nvar $author$project$Spa$Generated$Route$ExamplePage = {$: 'ExamplePage'};\nvar $author$project$Spa$Generated$Route$Top = {$: 'Top'};\nvar $elm$url$Url$Parser$Parser = function (a) {\n\treturn {$: 'Parser', a: a};\n};\nvar $elm$url$Url$Parser$mapState = F2(\n\tfunction (func, _v0) {\n\t\tvar visited = _v0.visited;\n\t\tvar unvisited = _v0.unvisited;\n\t\tvar params = _v0.params;\n\t\tvar frag = _v0.frag;\n\t\tvar value = _v0.value;\n\t\treturn A5(\n\t\t\t$elm$url$Url$Parser$State,\n\t\t\tvisited,\n\t\t\tunvisited,\n\t\t\tparams,\n\t\t\tfrag,\n\t\t\tfunc(value));\n\t});\nvar $elm$url$Url$Parser$map = F2(\n\tfunction (subValue, _v0) {\n\t\tvar parseArg = _v0.a;\n\t\treturn $elm$url$Url$Parser$Parser(\n\t\t\tfunction (_v1) {\n\t\t\t\tvar visited = _v1.visited;\n\t\t\t\tvar unvisited = _v1.unvisited;\n\t\t\t\tvar params = _v1.params;\n\t\t\t\tvar frag = _v1.frag;\n\t\t\t\tvar value = _v1.value;\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$core$List$map,\n\t\t\t\t\t$elm$url$Url$Parser$mapState(value),\n\t\t\t\t\tparseArg(\n\t\t\t\t\t\tA5($elm$url$Url$Parser$State, visited, unvisited, params, frag, subValue)));\n\t\t\t});\n\t});\nvar $elm$url$Url$Parser$oneOf = function (parsers) {\n\treturn $elm$url$Url$Parser$Parser(\n\t\tfunction (state) {\n\t\t\treturn A2(\n\t\t\t\t$elm$core$List$concatMap,\n\t\t\t\tfunction (_v0) {\n\t\t\t\t\tvar parser = _v0.a;\n\t\t\t\t\treturn parser(state);\n\t\t\t\t},\n\t\t\t\tparsers);\n\t\t});\n};\nvar $elm$url$Url$Parser$s = function (str) {\n\treturn $elm$url$Url$Parser$Parser(\n\t\tfunction (_v0) {\n\t\t\tvar visited = _v0.visited;\n\t\t\tvar unvisited = _v0.unvisited;\n\t\t\tvar params = _v0.params;\n\t\t\tvar frag = _v0.frag;\n\t\t\tvar value = _v0.value;\n\t\t\tif (!unvisited.b) {\n\t\t\t\treturn _List_Nil;\n\t\t\t} else {\n\t\t\t\tvar next = unvisited.a;\n\t\t\t\tvar rest = unvisited.b;\n\t\t\t\treturn _Utils_eq(next, str) ? _List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\tA5(\n\t\t\t\t\t\t$elm$url$Url$Parser$State,\n\t\t\t\t\t\tA2($elm$core$List$cons, next, visited),\n\t\t\t\t\t\trest,\n\t\t\t\t\t\tparams,\n\t\t\t\t\t\tfrag,\n\t\t\t\t\t\tvalue)\n\t\t\t\t\t]) : _List_Nil;\n\t\t\t}\n\t\t});\n};\nvar $elm$url$Url$Parser$top = $elm$url$Url$Parser$Parser(\n\tfunction (state) {\n\t\treturn _List_fromArray(\n\t\t\t[state]);\n\t});\nvar $author$project$Spa$Generated$Route$routes = $elm$url$Url$Parser$oneOf(\n\t_List_fromArray(\n\t\t[\n\t\t\tA2($elm$url$Url$Parser$map, $author$project$Spa$Generated$Route$Top, $elm$url$Url$Parser$top),\n\t\t\tA2(\n\t\t\t$elm$url$Url$Parser$map,\n\t\t\t$author$project$Spa$Generated$Route$ExamplePage,\n\t\t\t$elm$url$Url$Parser$s('example-page')),\n\t\t\tA2(\n\t\t\t$elm$url$Url$Parser$map,\n\t\t\t$author$project$Spa$Generated$Route$NotFound,\n\t\t\t$elm$url$Url$Parser$s('not-found'))\n\t\t]));\nvar $author$project$Spa$Generated$Route$fromUrl = $elm$url$Url$Parser$parse($author$project$Spa$Generated$Route$routes);\nvar $author$project$Main$fromUrl = A2(\n\t$elm$core$Basics$composeR,\n\t$author$project$Spa$Generated$Route$fromUrl,\n\t$elm$core$Maybe$withDefault($author$project$Spa$Generated$Route$NotFound));\nvar $author$project$Shared$Model = F2(\n\tfunction (url, key) {\n\t\treturn {key: key, url: url};\n\t});\nvar $author$project$Shared$init = F3(\n\tfunction (flags, url, key) {\n\t\treturn _Utils_Tuple2(\n\t\t\tA2($author$project$Shared$Model, url, key),\n\t\t\t$elm$core$Platform$Cmd$none);\n\t});\nvar $author$project$Spa$Generated$Pages$ExamplePage__Model = function (a) {\n\treturn {$: 'ExamplePage__Model', a: a};\n};\nvar $author$project$Spa$Generated$Pages$ExamplePage__Msg = function (a) {\n\treturn {$: 'ExamplePage__Msg', a: a};\n};\nvar $author$project$Spa$Generated$Pages$NotFound__Model = function (a) {\n\treturn {$: 'NotFound__Model', a: a};\n};\nvar $author$project$Spa$Generated$Pages$NotFound__Msg = function (a) {\n\treturn {$: 'NotFound__Msg', a: a};\n};\nvar $author$project$Spa$Generated$Pages$Top__Model = function (a) {\n\treturn {$: 'Top__Model', a: a};\n};\nvar $author$project$Spa$Generated$Pages$Top__Msg = function (a) {\n\treturn {$: 'Top__Msg', a: a};\n};\nvar $author$project$Spa$Page$ignoreEffect = function (model) {\n\treturn _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);\n};\nvar $elm$core$Platform$Sub$batch = _Platform_batch;\nvar $elm$core$Platform$Sub$none = $elm$core$Platform$Sub$batch(_List_Nil);\nvar $author$project$Spa$Page$static = function (page) {\n\treturn {\n\t\tinit: F2(\n\t\t\tfunction (_v0, url) {\n\t\t\t\treturn _Utils_Tuple2(url, $elm$core$Platform$Cmd$none);\n\t\t\t}),\n\t\tload: $elm$core$Basics$always(\n\t\t\tA2($elm$core$Basics$composeR, $elm$core$Basics$identity, $author$project$Spa$Page$ignoreEffect)),\n\t\tsave: $elm$core$Basics$always($elm$core$Basics$identity),\n\t\tsubscriptions: function (_v1) {\n\t\t\treturn $elm$core$Platform$Sub$none;\n\t\t},\n\t\tupdate: F2(\n\t\t\tfunction (_v2, model) {\n\t\t\t\treturn _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);\n\t\t\t}),\n\t\tview: page.view\n\t};\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Column = function (a) {\n\treturn {$: 'Column', a: a};\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$col = F2(\n\tfunction (options, children) {\n\t\treturn $rundis$elm_bootstrap$Bootstrap$Grid$Column(\n\t\t\t{children: children, options: options});\n\t});\nvar $rundis$elm_bootstrap$Bootstrap$Grid$container = F2(\n\tfunction (attributes, children) {\n\t\treturn A2(\n\t\t\t$elm$html$Html$div,\n\t\t\t_Utils_ap(\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\t$elm$html$Html$Attributes$class('container')\n\t\t\t\t\t]),\n\t\t\t\tattributes),\n\t\t\tchildren);\n\t});\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$Col = {$: 'Col'};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$Width = F2(\n\tfunction (screenSize, columnCount) {\n\t\treturn {columnCount: columnCount, screenSize: screenSize};\n\t});\nvar $rundis$elm_bootstrap$Bootstrap$General$Internal$XS = {$: 'XS'};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyColAlign = F2(\n\tfunction (align_, options) {\n\t\tvar _v0 = align_.screenSize;\n\t\tswitch (_v0.$) {\n\t\t\tcase 'XS':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\talignXs: $elm$core$Maybe$Just(align_)\n\t\t\t\t\t});\n\t\t\tcase 'SM':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\talignSm: $elm$core$Maybe$Just(align_)\n\t\t\t\t\t});\n\t\t\tcase 'MD':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\talignMd: $elm$core$Maybe$Just(align_)\n\t\t\t\t\t});\n\t\t\tcase 'LG':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\talignLg: $elm$core$Maybe$Just(align_)\n\t\t\t\t\t});\n\t\t\tdefault:\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\talignXl: $elm$core$Maybe$Just(align_)\n\t\t\t\t\t});\n\t\t}\n\t});\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyColOffset = F2(\n\tfunction (offset_, options) {\n\t\tvar _v0 = offset_.screenSize;\n\t\tswitch (_v0.$) {\n\t\t\tcase 'XS':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\toffsetXs: $elm$core$Maybe$Just(offset_)\n\t\t\t\t\t});\n\t\t\tcase 'SM':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\toffsetSm: $elm$core$Maybe$Just(offset_)\n\t\t\t\t\t});\n\t\t\tcase 'MD':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\toffsetMd: $elm$core$Maybe$Just(offset_)\n\t\t\t\t\t});\n\t\t\tcase 'LG':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\toffsetLg: $elm$core$Maybe$Just(offset_)\n\t\t\t\t\t});\n\t\t\tdefault:\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\toffsetXl: $elm$core$Maybe$Just(offset_)\n\t\t\t\t\t});\n\t\t}\n\t});\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyColOrder = F2(\n\tfunction (order_, options) {\n\t\tvar _v0 = order_.screenSize;\n\t\tswitch (_v0.$) {\n\t\t\tcase 'XS':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\torderXs: $elm$core$Maybe$Just(order_)\n\t\t\t\t\t});\n\t\t\tcase 'SM':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\torderSm: $elm$core$Maybe$Just(order_)\n\t\t\t\t\t});\n\t\t\tcase 'MD':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\torderMd: $elm$core$Maybe$Just(order_)\n\t\t\t\t\t});\n\t\t\tcase 'LG':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\torderLg: $elm$core$Maybe$Just(order_)\n\t\t\t\t\t});\n\t\t\tdefault:\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\torderXl: $elm$core$Maybe$Just(order_)\n\t\t\t\t\t});\n\t\t}\n\t});\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyColPull = F2(\n\tfunction (pull_, options) {\n\t\tvar _v0 = pull_.screenSize;\n\t\tswitch (_v0.$) {\n\t\t\tcase 'XS':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\tpullXs: $elm$core$Maybe$Just(pull_)\n\t\t\t\t\t});\n\t\t\tcase 'SM':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\tpullSm: $elm$core$Maybe$Just(pull_)\n\t\t\t\t\t});\n\t\t\tcase 'MD':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\tpullMd: $elm$core$Maybe$Just(pull_)\n\t\t\t\t\t});\n\t\t\tcase 'LG':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\tpullLg: $elm$core$Maybe$Just(pull_)\n\t\t\t\t\t});\n\t\t\tdefault:\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\tpullXl: $elm$core$Maybe$Just(pull_)\n\t\t\t\t\t});\n\t\t}\n\t});\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyColPush = F2(\n\tfunction (push_, options) {\n\t\tvar _v0 = push_.screenSize;\n\t\tswitch (_v0.$) {\n\t\t\tcase 'XS':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\tpushXs: $elm$core$Maybe$Just(push_)\n\t\t\t\t\t});\n\t\t\tcase 'SM':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\tpushSm: $elm$core$Maybe$Just(push_)\n\t\t\t\t\t});\n\t\t\tcase 'MD':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\tpushMd: $elm$core$Maybe$Just(push_)\n\t\t\t\t\t});\n\t\t\tcase 'LG':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\tpushLg: $elm$core$Maybe$Just(push_)\n\t\t\t\t\t});\n\t\t\tdefault:\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\tpushXl: $elm$core$Maybe$Just(push_)\n\t\t\t\t\t});\n\t\t}\n\t});\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyColWidth = F2(\n\tfunction (width_, options) {\n\t\tvar _v0 = width_.screenSize;\n\t\tswitch (_v0.$) {\n\t\t\tcase 'XS':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\twidthXs: $elm$core$Maybe$Just(width_)\n\t\t\t\t\t});\n\t\t\tcase 'SM':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\twidthSm: $elm$core$Maybe$Just(width_)\n\t\t\t\t\t});\n\t\t\tcase 'MD':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\twidthMd: $elm$core$Maybe$Just(width_)\n\t\t\t\t\t});\n\t\t\tcase 'LG':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\twidthLg: $elm$core$Maybe$Just(width_)\n\t\t\t\t\t});\n\t\t\tdefault:\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\twidthXl: $elm$core$Maybe$Just(width_)\n\t\t\t\t\t});\n\t\t}\n\t});\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyColOption = F2(\n\tfunction (modifier, options) {\n\t\tswitch (modifier.$) {\n\t\t\tcase 'ColAttrs':\n\t\t\t\tvar attrs = modifier.a;\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\tattributes: _Utils_ap(options.attributes, attrs)\n\t\t\t\t\t});\n\t\t\tcase 'ColWidth':\n\t\t\t\tvar width_ = modifier.a;\n\t\t\t\treturn A2($rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyColWidth, width_, options);\n\t\t\tcase 'ColOffset':\n\t\t\t\tvar offset_ = modifier.a;\n\t\t\t\treturn A2($rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyColOffset, offset_, options);\n\t\t\tcase 'ColPull':\n\t\t\t\tvar pull_ = modifier.a;\n\t\t\t\treturn A2($rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyColPull, pull_, options);\n\t\t\tcase 'ColPush':\n\t\t\t\tvar push_ = modifier.a;\n\t\t\t\treturn A2($rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyColPush, push_, options);\n\t\t\tcase 'ColOrder':\n\t\t\t\tvar order_ = modifier.a;\n\t\t\t\treturn A2($rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyColOrder, order_, options);\n\t\t\tcase 'ColAlign':\n\t\t\t\tvar align = modifier.a;\n\t\t\t\treturn A2($rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyColAlign, align, options);\n\t\t\tdefault:\n\t\t\t\tvar align = modifier.a;\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\ttextAlign: $elm$core$Maybe$Just(align)\n\t\t\t\t\t});\n\t\t}\n\t});\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$columnCountOption = function (size) {\n\tswitch (size.$) {\n\t\tcase 'Col':\n\t\t\treturn $elm$core$Maybe$Nothing;\n\t\tcase 'Col1':\n\t\t\treturn $elm$core$Maybe$Just('1');\n\t\tcase 'Col2':\n\t\t\treturn $elm$core$Maybe$Just('2');\n\t\tcase 'Col3':\n\t\t\treturn $elm$core$Maybe$Just('3');\n\t\tcase 'Col4':\n\t\t\treturn $elm$core$Maybe$Just('4');\n\t\tcase 'Col5':\n\t\t\treturn $elm$core$Maybe$Just('5');\n\t\tcase 'Col6':\n\t\t\treturn $elm$core$Maybe$Just('6');\n\t\tcase 'Col7':\n\t\t\treturn $elm$core$Maybe$Just('7');\n\t\tcase 'Col8':\n\t\t\treturn $elm$core$Maybe$Just('8');\n\t\tcase 'Col9':\n\t\t\treturn $elm$core$Maybe$Just('9');\n\t\tcase 'Col10':\n\t\t\treturn $elm$core$Maybe$Just('10');\n\t\tcase 'Col11':\n\t\t\treturn $elm$core$Maybe$Just('11');\n\t\tcase 'Col12':\n\t\t\treturn $elm$core$Maybe$Just('12');\n\t\tdefault:\n\t\t\treturn $elm$core$Maybe$Just('auto');\n\t}\n};\nvar $elm$core$Maybe$map = F2(\n\tfunction (f, maybe) {\n\t\tif (maybe.$ === 'Just') {\n\t\t\tvar value = maybe.a;\n\t\t\treturn $elm$core$Maybe$Just(\n\t\t\t\tf(value));\n\t\t} else {\n\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t}\n\t});\nvar $rundis$elm_bootstrap$Bootstrap$General$Internal$screenSizeOption = function (size) {\n\tswitch (size.$) {\n\t\tcase 'XS':\n\t\t\treturn $elm$core$Maybe$Nothing;\n\t\tcase 'SM':\n\t\t\treturn $elm$core$Maybe$Just('sm');\n\t\tcase 'MD':\n\t\t\treturn $elm$core$Maybe$Just('md');\n\t\tcase 'LG':\n\t\t\treturn $elm$core$Maybe$Just('lg');\n\t\tdefault:\n\t\t\treturn $elm$core$Maybe$Just('xl');\n\t}\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$colWidthClass = function (_v0) {\n\tvar screenSize = _v0.screenSize;\n\tvar columnCount = _v0.columnCount;\n\treturn $elm$html$Html$Attributes$class(\n\t\t'col' + (A2(\n\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t'',\n\t\t\tA2(\n\t\t\t\t$elm$core$Maybe$map,\n\t\t\t\tfunction (v) {\n\t\t\t\t\treturn '-' + v;\n\t\t\t\t},\n\t\t\t\t$rundis$elm_bootstrap$Bootstrap$General$Internal$screenSizeOption(screenSize))) + A2(\n\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t'',\n\t\t\tA2(\n\t\t\t\t$elm$core$Maybe$map,\n\t\t\t\tfunction (v) {\n\t\t\t\t\treturn '-' + v;\n\t\t\t\t},\n\t\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$Internal$columnCountOption(columnCount)))));\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$colWidthsToAttributes = function (widths) {\n\tvar width_ = function (w) {\n\t\treturn A2($elm$core$Maybe$map, $rundis$elm_bootstrap$Bootstrap$Grid$Internal$colWidthClass, w);\n\t};\n\treturn A2(\n\t\t$elm$core$List$filterMap,\n\t\t$elm$core$Basics$identity,\n\t\tA2($elm$core$List$map, width_, widths));\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$defaultColOptions = {alignLg: $elm$core$Maybe$Nothing, alignMd: $elm$core$Maybe$Nothing, alignSm: $elm$core$Maybe$Nothing, alignXl: $elm$core$Maybe$Nothing, alignXs: $elm$core$Maybe$Nothing, attributes: _List_Nil, offsetLg: $elm$core$Maybe$Nothing, offsetMd: $elm$core$Maybe$Nothing, offsetSm: $elm$core$Maybe$Nothing, offsetXl: $elm$core$Maybe$Nothing, offsetXs: $elm$core$Maybe$Nothing, orderLg: $elm$core$Maybe$Nothing, orderMd: $elm$core$Maybe$Nothing, orderSm: $elm$core$Maybe$Nothing, orderXl: $elm$core$Maybe$Nothing, orderXs: $elm$core$Maybe$Nothing, pullLg: $elm$core$Maybe$Nothing, pullMd: $elm$core$Maybe$Nothing, pullSm: $elm$core$Maybe$Nothing, pullXl: $elm$core$Maybe$Nothing, pullXs: $elm$core$Maybe$Nothing, pushLg: $elm$core$Maybe$Nothing, pushMd: $elm$core$Maybe$Nothing, pushSm: $elm$core$Maybe$Nothing, pushXl: $elm$core$Maybe$Nothing, pushXs: $elm$core$Maybe$Nothing, textAlign: $elm$core$Maybe$Nothing, widthLg: $elm$core$Maybe$Nothing, widthMd: $elm$core$Maybe$Nothing, widthSm: $elm$core$Maybe$Nothing, widthXl: $elm$core$Maybe$Nothing, widthXs: $elm$core$Maybe$Nothing};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$offsetCountOption = function (size) {\n\tswitch (size.$) {\n\t\tcase 'Offset0':\n\t\t\treturn '0';\n\t\tcase 'Offset1':\n\t\t\treturn '1';\n\t\tcase 'Offset2':\n\t\t\treturn '2';\n\t\tcase 'Offset3':\n\t\t\treturn '3';\n\t\tcase 'Offset4':\n\t\t\treturn '4';\n\t\tcase 'Offset5':\n\t\t\treturn '5';\n\t\tcase 'Offset6':\n\t\t\treturn '6';\n\t\tcase 'Offset7':\n\t\t\treturn '7';\n\t\tcase 'Offset8':\n\t\t\treturn '8';\n\t\tcase 'Offset9':\n\t\t\treturn '9';\n\t\tcase 'Offset10':\n\t\t\treturn '10';\n\t\tdefault:\n\t\t\treturn '11';\n\t}\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$screenSizeToPartialString = function (screenSize) {\n\tvar _v0 = $rundis$elm_bootstrap$Bootstrap$General$Internal$screenSizeOption(screenSize);\n\tif (_v0.$ === 'Just') {\n\t\tvar s = _v0.a;\n\t\treturn '-' + (s + '-');\n\t} else {\n\t\treturn '-';\n\t}\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$offsetClass = function (_v0) {\n\tvar screenSize = _v0.screenSize;\n\tvar offsetCount = _v0.offsetCount;\n\treturn $elm$html$Html$Attributes$class(\n\t\t'offset' + ($rundis$elm_bootstrap$Bootstrap$Grid$Internal$screenSizeToPartialString(screenSize) + $rundis$elm_bootstrap$Bootstrap$Grid$Internal$offsetCountOption(offsetCount)));\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$offsetsToAttributes = function (offsets) {\n\tvar offset_ = function (m) {\n\t\treturn A2($elm$core$Maybe$map, $rundis$elm_bootstrap$Bootstrap$Grid$Internal$offsetClass, m);\n\t};\n\treturn A2(\n\t\t$elm$core$List$filterMap,\n\t\t$elm$core$Basics$identity,\n\t\tA2($elm$core$List$map, offset_, offsets));\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$orderColOption = function (size) {\n\tswitch (size.$) {\n\t\tcase 'OrderFirst':\n\t\t\treturn 'first';\n\t\tcase 'Order1':\n\t\t\treturn '1';\n\t\tcase 'Order2':\n\t\t\treturn '2';\n\t\tcase 'Order3':\n\t\t\treturn '3';\n\t\tcase 'Order4':\n\t\t\treturn '4';\n\t\tcase 'Order5':\n\t\t\treturn '5';\n\t\tcase 'Order6':\n\t\t\treturn '6';\n\t\tcase 'Order7':\n\t\t\treturn '7';\n\t\tcase 'Order8':\n\t\t\treturn '8';\n\t\tcase 'Order9':\n\t\t\treturn '9';\n\t\tcase 'Order10':\n\t\t\treturn '10';\n\t\tcase 'Order11':\n\t\t\treturn '11';\n\t\tcase 'Order12':\n\t\t\treturn '12';\n\t\tdefault:\n\t\t\treturn 'last';\n\t}\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$orderToAttributes = function (orders) {\n\tvar order_ = function (m) {\n\t\tif (m.$ === 'Just') {\n\t\t\tvar screenSize = m.a.screenSize;\n\t\t\tvar moveCount = m.a.moveCount;\n\t\t\treturn $elm$core$Maybe$Just(\n\t\t\t\t$elm$html$Html$Attributes$class(\n\t\t\t\t\t'order' + ($rundis$elm_bootstrap$Bootstrap$Grid$Internal$screenSizeToPartialString(screenSize) + $rundis$elm_bootstrap$Bootstrap$Grid$Internal$orderColOption(moveCount))));\n\t\t} else {\n\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t}\n\t};\n\treturn A2(\n\t\t$elm$core$List$filterMap,\n\t\t$elm$core$Basics$identity,\n\t\tA2($elm$core$List$map, order_, orders));\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$moveCountOption = function (size) {\n\tswitch (size.$) {\n\t\tcase 'Move0':\n\t\t\treturn '0';\n\t\tcase 'Move1':\n\t\t\treturn '1';\n\t\tcase 'Move2':\n\t\t\treturn '2';\n\t\tcase 'Move3':\n\t\t\treturn '3';\n\t\tcase 'Move4':\n\t\t\treturn '4';\n\t\tcase 'Move5':\n\t\t\treturn '5';\n\t\tcase 'Move6':\n\t\t\treturn '6';\n\t\tcase 'Move7':\n\t\t\treturn '7';\n\t\tcase 'Move8':\n\t\t\treturn '8';\n\t\tcase 'Move9':\n\t\t\treturn '9';\n\t\tcase 'Move10':\n\t\t\treturn '10';\n\t\tcase 'Move11':\n\t\t\treturn '11';\n\t\tdefault:\n\t\t\treturn '12';\n\t}\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$pullsToAttributes = function (pulls) {\n\tvar pull_ = function (m) {\n\t\tif (m.$ === 'Just') {\n\t\t\tvar screenSize = m.a.screenSize;\n\t\t\tvar moveCount = m.a.moveCount;\n\t\t\treturn $elm$core$Maybe$Just(\n\t\t\t\t$elm$html$Html$Attributes$class(\n\t\t\t\t\t'pull' + ($rundis$elm_bootstrap$Bootstrap$Grid$Internal$screenSizeToPartialString(screenSize) + $rundis$elm_bootstrap$Bootstrap$Grid$Internal$moveCountOption(moveCount))));\n\t\t} else {\n\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t}\n\t};\n\treturn A2(\n\t\t$elm$core$List$filterMap,\n\t\t$elm$core$Basics$identity,\n\t\tA2($elm$core$List$map, pull_, pulls));\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$pushesToAttributes = function (pushes) {\n\tvar push_ = function (m) {\n\t\tif (m.$ === 'Just') {\n\t\t\tvar screenSize = m.a.screenSize;\n\t\t\tvar moveCount = m.a.moveCount;\n\t\t\treturn $elm$core$Maybe$Just(\n\t\t\t\t$elm$html$Html$Attributes$class(\n\t\t\t\t\t'push' + ($rundis$elm_bootstrap$Bootstrap$Grid$Internal$screenSizeToPartialString(screenSize) + $rundis$elm_bootstrap$Bootstrap$Grid$Internal$moveCountOption(moveCount))));\n\t\t} else {\n\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t}\n\t};\n\treturn A2(\n\t\t$elm$core$List$filterMap,\n\t\t$elm$core$Basics$identity,\n\t\tA2($elm$core$List$map, push_, pushes));\n};\nvar $rundis$elm_bootstrap$Bootstrap$Internal$Text$textAlignDirOption = function (dir) {\n\tswitch (dir.$) {\n\t\tcase 'Center':\n\t\t\treturn 'center';\n\t\tcase 'Left':\n\t\t\treturn 'left';\n\t\tdefault:\n\t\t\treturn 'right';\n\t}\n};\nvar $rundis$elm_bootstrap$Bootstrap$Internal$Text$textAlignClass = function (_v0) {\n\tvar dir = _v0.dir;\n\tvar size = _v0.size;\n\treturn $elm$html$Html$Attributes$class(\n\t\t'text' + (A2(\n\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t'-',\n\t\t\tA2(\n\t\t\t\t$elm$core$Maybe$map,\n\t\t\t\tfunction (s) {\n\t\t\t\t\treturn '-' + (s + '-');\n\t\t\t\t},\n\t\t\t\t$rundis$elm_bootstrap$Bootstrap$General$Internal$screenSizeOption(size))) + $rundis$elm_bootstrap$Bootstrap$Internal$Text$textAlignDirOption(dir)));\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$verticalAlignOption = function (align) {\n\tswitch (align.$) {\n\t\tcase 'Top':\n\t\t\treturn 'start';\n\t\tcase 'Middle':\n\t\t\treturn 'center';\n\t\tdefault:\n\t\t\treturn 'end';\n\t}\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$vAlignClass = F2(\n\tfunction (prefix, _v0) {\n\t\tvar align = _v0.align;\n\t\tvar screenSize = _v0.screenSize;\n\t\treturn $elm$html$Html$Attributes$class(\n\t\t\t_Utils_ap(\n\t\t\t\tprefix,\n\t\t\t\t_Utils_ap(\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t\t\t\t'',\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$core$Maybe$map,\n\t\t\t\t\t\t\tfunction (v) {\n\t\t\t\t\t\t\t\treturn v + '-';\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t$rundis$elm_bootstrap$Bootstrap$General$Internal$screenSizeOption(screenSize))),\n\t\t\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$Internal$verticalAlignOption(align))));\n\t});\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$vAlignsToAttributes = F2(\n\tfunction (prefix, aligns) {\n\t\tvar align = function (a) {\n\t\t\treturn A2(\n\t\t\t\t$elm$core$Maybe$map,\n\t\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$Internal$vAlignClass(prefix),\n\t\t\t\ta);\n\t\t};\n\t\treturn A2(\n\t\t\t$elm$core$List$filterMap,\n\t\t\t$elm$core$Basics$identity,\n\t\t\tA2($elm$core$List$map, align, aligns));\n\t});\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$colAttributes = function (modifiers) {\n\tvar options = A3($elm$core$List$foldl, $rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyColOption, $rundis$elm_bootstrap$Bootstrap$Grid$Internal$defaultColOptions, modifiers);\n\tvar shouldAddDefaultXs = !$elm$core$List$length(\n\t\tA2(\n\t\t\t$elm$core$List$filterMap,\n\t\t\t$elm$core$Basics$identity,\n\t\t\t_List_fromArray(\n\t\t\t\t[options.widthXs, options.widthSm, options.widthMd, options.widthLg, options.widthXl])));\n\treturn _Utils_ap(\n\t\t$rundis$elm_bootstrap$Bootstrap$Grid$Internal$colWidthsToAttributes(\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tshouldAddDefaultXs ? $elm$core$Maybe$Just(\n\t\t\t\t\tA2($rundis$elm_bootstrap$Bootstrap$Grid$Internal$Width, $rundis$elm_bootstrap$Bootstrap$General$Internal$XS, $rundis$elm_bootstrap$Bootstrap$Grid$Internal$Col)) : options.widthXs,\n\t\t\t\t\toptions.widthSm,\n\t\t\t\t\toptions.widthMd,\n\t\t\t\t\toptions.widthLg,\n\t\t\t\t\toptions.widthXl\n\t\t\t\t])),\n\t\t_Utils_ap(\n\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$Internal$offsetsToAttributes(\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[options.offsetXs, options.offsetSm, options.offsetMd, options.offsetLg, options.offsetXl])),\n\t\t\t_Utils_ap(\n\t\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$Internal$pullsToAttributes(\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[options.pullXs, options.pullSm, options.pullMd, options.pullLg, options.pullXl])),\n\t\t\t\t_Utils_ap(\n\t\t\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$Internal$pushesToAttributes(\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[options.pushXs, options.pushSm, options.pushMd, options.pushLg, options.pushXl])),\n\t\t\t\t\t_Utils_ap(\n\t\t\t\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$Internal$orderToAttributes(\n\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t[options.orderXs, options.orderSm, options.orderMd, options.orderLg, options.orderXl])),\n\t\t\t\t\t\t_Utils_ap(\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$Internal$vAlignsToAttributes,\n\t\t\t\t\t\t\t\t'align-self-',\n\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t[options.alignXs, options.alignSm, options.alignMd, options.alignLg, options.alignXl])),\n\t\t\t\t\t\t\t_Utils_ap(\n\t\t\t\t\t\t\t\tfunction () {\n\t\t\t\t\t\t\t\t\tvar _v0 = options.textAlign;\n\t\t\t\t\t\t\t\t\tif (_v0.$ === 'Just') {\n\t\t\t\t\t\t\t\t\t\tvar a = _v0.a;\n\t\t\t\t\t\t\t\t\t\treturn _List_fromArray(\n\t\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\t\t$rundis$elm_bootstrap$Bootstrap$Internal$Text$textAlignClass(a)\n\t\t\t\t\t\t\t\t\t\t\t]);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\treturn _List_Nil;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}(),\n\t\t\t\t\t\t\t\toptions.attributes)))))));\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$renderCol = function (column) {\n\tswitch (column.$) {\n\t\tcase 'Column':\n\t\t\tvar options = column.a.options;\n\t\t\tvar children = column.a.children;\n\t\t\treturn A2(\n\t\t\t\t$elm$html$Html$div,\n\t\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$Internal$colAttributes(options),\n\t\t\t\tchildren);\n\t\tcase 'ColBreak':\n\t\t\tvar e = column.a;\n\t\t\treturn e;\n\t\tdefault:\n\t\t\tvar options = column.a.options;\n\t\t\tvar children = column.a.children;\n\t\t\treturn A3(\n\t\t\t\t$elm$html$Html$Keyed$node,\n\t\t\t\t'div',\n\t\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$Internal$colAttributes(options),\n\t\t\t\tchildren);\n\t}\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyRowHAlign = F2(\n\tfunction (align, options) {\n\t\tvar _v0 = align.screenSize;\n\t\tswitch (_v0.$) {\n\t\t\tcase 'XS':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\thAlignXs: $elm$core$Maybe$Just(align)\n\t\t\t\t\t});\n\t\t\tcase 'SM':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\thAlignSm: $elm$core$Maybe$Just(align)\n\t\t\t\t\t});\n\t\t\tcase 'MD':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\thAlignMd: $elm$core$Maybe$Just(align)\n\t\t\t\t\t});\n\t\t\tcase 'LG':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\thAlignLg: $elm$core$Maybe$Just(align)\n\t\t\t\t\t});\n\t\t\tdefault:\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\thAlignXl: $elm$core$Maybe$Just(align)\n\t\t\t\t\t});\n\t\t}\n\t});\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyRowVAlign = F2(\n\tfunction (align_, options) {\n\t\tvar _v0 = align_.screenSize;\n\t\tswitch (_v0.$) {\n\t\t\tcase 'XS':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\tvAlignXs: $elm$core$Maybe$Just(align_)\n\t\t\t\t\t});\n\t\t\tcase 'SM':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\tvAlignSm: $elm$core$Maybe$Just(align_)\n\t\t\t\t\t});\n\t\t\tcase 'MD':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\tvAlignMd: $elm$core$Maybe$Just(align_)\n\t\t\t\t\t});\n\t\t\tcase 'LG':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\tvAlignLg: $elm$core$Maybe$Just(align_)\n\t\t\t\t\t});\n\t\t\tdefault:\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\tvAlignXl: $elm$core$Maybe$Just(align_)\n\t\t\t\t\t});\n\t\t}\n\t});\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyRowOption = F2(\n\tfunction (modifier, options) {\n\t\tswitch (modifier.$) {\n\t\t\tcase 'RowAttrs':\n\t\t\t\tvar attrs = modifier.a;\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\tattributes: _Utils_ap(options.attributes, attrs)\n\t\t\t\t\t});\n\t\t\tcase 'RowVAlign':\n\t\t\t\tvar align = modifier.a;\n\t\t\t\treturn A2($rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyRowVAlign, align, options);\n\t\t\tdefault:\n\t\t\t\tvar align = modifier.a;\n\t\t\t\treturn A2($rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyRowHAlign, align, options);\n\t\t}\n\t});\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$defaultRowOptions = {attributes: _List_Nil, hAlignLg: $elm$core$Maybe$Nothing, hAlignMd: $elm$core$Maybe$Nothing, hAlignSm: $elm$core$Maybe$Nothing, hAlignXl: $elm$core$Maybe$Nothing, hAlignXs: $elm$core$Maybe$Nothing, vAlignLg: $elm$core$Maybe$Nothing, vAlignMd: $elm$core$Maybe$Nothing, vAlignSm: $elm$core$Maybe$Nothing, vAlignXl: $elm$core$Maybe$Nothing, vAlignXs: $elm$core$Maybe$Nothing};\nvar $rundis$elm_bootstrap$Bootstrap$General$Internal$horizontalAlignOption = function (align) {\n\tswitch (align.$) {\n\t\tcase 'Left':\n\t\t\treturn 'start';\n\t\tcase 'Center':\n\t\t\treturn 'center';\n\t\tcase 'Right':\n\t\t\treturn 'end';\n\t\tcase 'Around':\n\t\t\treturn 'around';\n\t\tdefault:\n\t\t\treturn 'between';\n\t}\n};\nvar $rundis$elm_bootstrap$Bootstrap$General$Internal$hAlignClass = function (_v0) {\n\tvar align = _v0.align;\n\tvar screenSize = _v0.screenSize;\n\treturn $elm$html$Html$Attributes$class(\n\t\t'justify-content-' + (A2(\n\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t'',\n\t\t\tA2(\n\t\t\t\t$elm$core$Maybe$map,\n\t\t\t\tfunction (v) {\n\t\t\t\t\treturn v + '-';\n\t\t\t\t},\n\t\t\t\t$rundis$elm_bootstrap$Bootstrap$General$Internal$screenSizeOption(screenSize))) + $rundis$elm_bootstrap$Bootstrap$General$Internal$horizontalAlignOption(align)));\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$hAlignsToAttributes = function (aligns) {\n\tvar align = function (a) {\n\t\treturn A2($elm$core$Maybe$map, $rundis$elm_bootstrap$Bootstrap$General$Internal$hAlignClass, a);\n\t};\n\treturn A2(\n\t\t$elm$core$List$filterMap,\n\t\t$elm$core$Basics$identity,\n\t\tA2($elm$core$List$map, align, aligns));\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$rowAttributes = function (modifiers) {\n\tvar options = A3($elm$core$List$foldl, $rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyRowOption, $rundis$elm_bootstrap$Bootstrap$Grid$Internal$defaultRowOptions, modifiers);\n\treturn _Utils_ap(\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\t$elm$html$Html$Attributes$class('row')\n\t\t\t]),\n\t\t_Utils_ap(\n\t\t\tA2(\n\t\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$Internal$vAlignsToAttributes,\n\t\t\t\t'align-items-',\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[options.vAlignXs, options.vAlignSm, options.vAlignMd, options.vAlignLg, options.vAlignXl])),\n\t\t\t_Utils_ap(\n\t\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$Internal$hAlignsToAttributes(\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[options.hAlignXs, options.hAlignSm, options.hAlignMd, options.hAlignLg, options.hAlignXl])),\n\t\t\t\toptions.attributes)));\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$row = F2(\n\tfunction (options, cols) {\n\t\treturn A2(\n\t\t\t$elm$html$Html$div,\n\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$Internal$rowAttributes(options),\n\t\t\tA2($elm$core$List$map, $rundis$elm_bootstrap$Bootstrap$Grid$renderCol, cols));\n\t});\nvar $author$project$Pages$ExamplePage$view = function (_v0) {\n\tvar params = _v0.params;\n\treturn {\n\t\tbody: _List_fromArray(\n\t\t\t[\n\t\t\t\tA2(\n\t\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$container,\n\t\t\t\t_List_Nil,\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$row,\n\t\t\t\t\t\t_List_Nil,\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$col,\n\t\t\t\t\t\t\t\t_List_Nil,\n\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t$elm$html$Html$text('One of Three columns')\n\t\t\t\t\t\t\t\t\t])),\n\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$col,\n\t\t\t\t\t\t\t\t_List_Nil,\n\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t$elm$html$Html$text('One of Three columns')\n\t\t\t\t\t\t\t\t\t])),\n\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$col,\n\t\t\t\t\t\t\t\t_List_Nil,\n\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t$elm$html$Html$text('One of Three columns')\n\t\t\t\t\t\t\t\t\t]))\n\t\t\t\t\t\t\t]))\n\t\t\t\t\t]))\n\t\t\t]),\n\t\ttitle: 'ExamplePage'\n\t};\n};\nvar $author$project$Pages$ExamplePage$page = $author$project$Spa$Page$static(\n\t{view: $author$project$Pages$ExamplePage$view});\nvar $author$project$Pages$NotFound$view = function (_v0) {\n\tvar params = _v0.params;\n\treturn {\n\t\tbody: _List_fromArray(\n\t\t\t[\n\t\t\t\t$elm$html$Html$text('Not found')\n\t\t\t]),\n\t\ttitle: '404'\n\t};\n};\nvar $author$project$Pages$NotFound$page = $author$project$Spa$Page$static(\n\t{view: $author$project$Pages$NotFound$view});\nvar $author$project$Pages$Top$view = function (_v0) {\n\tvar params = _v0.params;\n\treturn {\n\t\tbody: _List_fromArray(\n\t\t\t[\n\t\t\t\tA2(\n\t\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$container,\n\t\t\t\t_List_Nil,\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\tA2($rundis$elm_bootstrap$Bootstrap$Grid$row, _List_Nil, _List_Nil)\n\t\t\t\t\t]))\n\t\t\t]),\n\t\ttitle: 'Homepage'\n\t};\n};\nvar $author$project$Pages$Top$page = $author$project$Spa$Page$static(\n\t{view: $author$project$Pages$Top$view});\nvar $elm$core$List$head = function (list) {\n\tif (list.b) {\n\t\tvar x = list.a;\n\t\tvar xs = list.b;\n\t\treturn $elm$core$Maybe$Just(x);\n\t} else {\n\t\treturn $elm$core$Maybe$Nothing;\n\t}\n};\nvar $elm$core$Tuple$mapBoth = F3(\n\tfunction (funcA, funcB, _v0) {\n\t\tvar x = _v0.a;\n\t\tvar y = _v0.b;\n\t\treturn _Utils_Tuple2(\n\t\t\tfuncA(x),\n\t\t\tfuncB(y));\n\t});\nvar $author$project$Spa$Url$toQueryDict = function (queryString) {\n\tvar second = A2(\n\t\t$elm$core$Basics$composeR,\n\t\t$elm$core$List$drop(1),\n\t\t$elm$core$List$head);\n\tvar toTuple = function (list) {\n\t\treturn A2(\n\t\t\t$elm$core$Maybe$map,\n\t\t\tfunction (first) {\n\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\tfirst,\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t\t\t\t'',\n\t\t\t\t\t\tsecond(list)));\n\t\t\t},\n\t\t\t$elm$core$List$head(list));\n\t};\n\tvar decode = A2(\n\t\t$elm$core$Basics$composeR,\n\t\t$elm$url$Url$percentDecode,\n\t\t$elm$core$Maybe$withDefault(''));\n\treturn $elm$core$Dict$fromList(\n\t\tA2(\n\t\t\t$elm$core$List$map,\n\t\t\tA2($elm$core$Tuple$mapBoth, decode, decode),\n\t\t\tA2(\n\t\t\t\t$elm$core$List$filterMap,\n\t\t\t\ttoTuple,\n\t\t\t\tA2(\n\t\t\t\t\t$elm$core$List$map,\n\t\t\t\t\t$elm$core$String$split('='),\n\t\t\t\t\tA2($elm$core$String$split, '&', queryString)))));\n};\nvar $author$project$Spa$Url$create = F3(\n\tfunction (params, key, url) {\n\t\treturn {\n\t\t\tkey: key,\n\t\t\tparams: params,\n\t\t\tquery: A2(\n\t\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t\t$elm$core$Dict$empty,\n\t\t\t\tA2($elm$core$Maybe$map, $author$project$Spa$Url$toQueryDict, url.query)),\n\t\t\trawUrl: url\n\t\t};\n\t});\nvar $author$project$Spa$Document$map = F2(\n\tfunction (fn, doc) {\n\t\treturn {\n\t\t\tbody: A2(\n\t\t\t\t$elm$core$List$map,\n\t\t\t\t$elm$html$Html$map(fn),\n\t\t\t\tdoc.body),\n\t\t\ttitle: doc.title\n\t\t};\n\t});\nvar $author$project$Spa$Generated$Pages$upgrade = F3(\n\tfunction (toModel, toMsg, page) {\n\t\tvar update_ = F2(\n\t\t\tfunction (msg, model) {\n\t\t\t\treturn A3(\n\t\t\t\t\t$elm$core$Tuple$mapBoth,\n\t\t\t\t\ttoModel,\n\t\t\t\t\t$elm$core$Platform$Cmd$map(toMsg),\n\t\t\t\t\tA2(page.update, msg, model));\n\t\t\t});\n\t\tvar load_ = F2(\n\t\t\tfunction (model, shared) {\n\t\t\t\treturn A3(\n\t\t\t\t\t$elm$core$Tuple$mapBoth,\n\t\t\t\t\ttoModel,\n\t\t\t\t\t$elm$core$Platform$Cmd$map(toMsg),\n\t\t\t\t\tA2(page.load, shared, model));\n\t\t\t});\n\t\tvar init_ = F2(\n\t\t\tfunction (params, shared) {\n\t\t\t\treturn A3(\n\t\t\t\t\t$elm$core$Tuple$mapBoth,\n\t\t\t\t\ttoModel,\n\t\t\t\t\t$elm$core$Platform$Cmd$map(toMsg),\n\t\t\t\t\tA2(\n\t\t\t\t\t\tpage.init,\n\t\t\t\t\t\tshared,\n\t\t\t\t\t\tA3($author$project$Spa$Url$create, params, shared.key, shared.url)));\n\t\t\t});\n\t\tvar bundle_ = function (model) {\n\t\t\treturn {\n\t\t\t\tload: function (_v0) {\n\t\t\t\t\treturn load_(model);\n\t\t\t\t},\n\t\t\t\tsave: function (_v1) {\n\t\t\t\t\treturn page.save(model);\n\t\t\t\t},\n\t\t\t\tsubscriptions: function (_v2) {\n\t\t\t\t\treturn A2(\n\t\t\t\t\t\t$elm$core$Platform$Sub$map,\n\t\t\t\t\t\ttoMsg,\n\t\t\t\t\t\tpage.subscriptions(model));\n\t\t\t\t},\n\t\t\t\tview: function (_v3) {\n\t\t\t\t\treturn A2(\n\t\t\t\t\t\t$author$project$Spa$Document$map,\n\t\t\t\t\t\ttoMsg,\n\t\t\t\t\t\tpage.view(model));\n\t\t\t\t}\n\t\t\t};\n\t\t};\n\t\treturn {bundle: bundle_, init: init_, update: update_};\n\t});\nvar $author$project$Spa$Generated$Pages$pages = {\n\texamplePage: A3($author$project$Spa$Generated$Pages$upgrade, $author$project$Spa$Generated$Pages$ExamplePage__Model, $author$project$Spa$Generated$Pages$ExamplePage__Msg, $author$project$Pages$ExamplePage$page),\n\tnotFound: A3($author$project$Spa$Generated$Pages$upgrade, $author$project$Spa$Generated$Pages$NotFound__Model, $author$project$Spa$Generated$Pages$NotFound__Msg, $author$project$Pages$NotFound$page),\n\ttop: A3($author$project$Spa$Generated$Pages$upgrade, $author$project$Spa$Generated$Pages$Top__Model, $author$project$Spa$Generated$Pages$Top__Msg, $author$project$Pages$Top$page)\n};\nvar $author$project$Spa$Generated$Pages$init = function (route) {\n\tswitch (route.$) {\n\t\tcase 'Top':\n\t\t\treturn $author$project$Spa$Generated$Pages$pages.top.init(_Utils_Tuple0);\n\t\tcase 'ExamplePage':\n\t\t\treturn $author$project$Spa$Generated$Pages$pages.examplePage.init(_Utils_Tuple0);\n\t\tdefault:\n\t\t\treturn $author$project$Spa$Generated$Pages$pages.notFound.init(_Utils_Tuple0);\n\t}\n};\nvar $author$project$Main$init = F3(\n\tfunction (flags, url, key) {\n\t\tvar _v0 = A3($author$project$Shared$init, flags, url, key);\n\t\tvar shared = _v0.a;\n\t\tvar sharedCmd = _v0.b;\n\t\tvar _v1 = A2(\n\t\t\t$author$project$Spa$Generated$Pages$init,\n\t\t\t$author$project$Main$fromUrl(url),\n\t\t\tshared);\n\t\tvar page = _v1.a;\n\t\tvar pageCmd = _v1.b;\n\t\treturn _Utils_Tuple2(\n\t\t\tA2($author$project$Main$Model, shared, page),\n\t\t\t$elm$core$Platform$Cmd$batch(\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\tA2($elm$core$Platform$Cmd$map, $author$project$Main$Shared, sharedCmd),\n\t\t\t\t\t\tA2($elm$core$Platform$Cmd$map, $author$project$Main$Pages, pageCmd)\n\t\t\t\t\t])));\n\t});\nvar $author$project$Shared$subscriptions = function (model) {\n\treturn $elm$core$Platform$Sub$none;\n};\nvar $author$project$Spa$Generated$Pages$bundle = function (bigModel) {\n\tswitch (bigModel.$) {\n\t\tcase 'Top__Model':\n\t\t\tvar model = bigModel.a;\n\t\t\treturn $author$project$Spa$Generated$Pages$pages.top.bundle(model);\n\t\tcase 'ExamplePage__Model':\n\t\t\tvar model = bigModel.a;\n\t\t\treturn $author$project$Spa$Generated$Pages$pages.examplePage.bundle(model);\n\t\tdefault:\n\t\t\tvar model = bigModel.a;\n\t\t\treturn $author$project$Spa$Generated$Pages$pages.notFound.bundle(model);\n\t}\n};\nvar $author$project$Spa$Generated$Pages$subscriptions = function (model) {\n\treturn $author$project$Spa$Generated$Pages$bundle(model).subscriptions(_Utils_Tuple0);\n};\nvar $author$project$Main$subscriptions = function (model) {\n\treturn $elm$core$Platform$Sub$batch(\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\tA2(\n\t\t\t\t$elm$core$Platform$Sub$map,\n\t\t\t\t$author$project$Main$Shared,\n\t\t\t\t$author$project$Shared$subscriptions(model.shared)),\n\t\t\t\tA2(\n\t\t\t\t$elm$core$Platform$Sub$map,\n\t\t\t\t$author$project$Main$Pages,\n\t\t\t\t$author$project$Spa$Generated$Pages$subscriptions(model.page))\n\t\t\t]));\n};\nvar $author$project$Spa$Document$toBrowserDocument = function (doc) {\n\treturn {body: doc.body, title: doc.title};\n};\nvar $elm$browser$Browser$Navigation$load = _Browser_load;\nvar $author$project$Spa$Generated$Pages$load = function (model) {\n\treturn $author$project$Spa$Generated$Pages$bundle(model).load(_Utils_Tuple0);\n};\nvar $elm$browser$Browser$Navigation$pushUrl = _Browser_pushUrl;\nvar $author$project$Spa$Generated$Pages$save = function (model) {\n\treturn $author$project$Spa$Generated$Pages$bundle(model).save(_Utils_Tuple0);\n};\nvar $elm$url$Url$addPort = F2(\n\tfunction (maybePort, starter) {\n\t\tif (maybePort.$ === 'Nothing') {\n\t\t\treturn starter;\n\t\t} else {\n\t\t\tvar port_ = maybePort.a;\n\t\t\treturn starter + (':' + $elm$core$String$fromInt(port_));\n\t\t}\n\t});\nvar $elm$url$Url$addPrefixed = F3(\n\tfunction (prefix, maybeSegment, starter) {\n\t\tif (maybeSegment.$ === 'Nothing') {\n\t\t\treturn starter;\n\t\t} else {\n\t\t\tvar segment = maybeSegment.a;\n\t\t\treturn _Utils_ap(\n\t\t\t\tstarter,\n\t\t\t\t_Utils_ap(prefix, segment));\n\t\t}\n\t});\nvar $elm$url$Url$toString = function (url) {\n\tvar http = function () {\n\t\tvar _v0 = url.protocol;\n\t\tif (_v0.$ === 'Http') {\n\t\t\treturn 'http://';\n\t\t} else {\n\t\t\treturn 'https://';\n\t\t}\n\t}();\n\treturn A3(\n\t\t$elm$url$Url$addPrefixed,\n\t\t'#',\n\t\turl.fragment,\n\t\tA3(\n\t\t\t$elm$url$Url$addPrefixed,\n\t\t\t'?',\n\t\t\turl.query,\n\t\t\t_Utils_ap(\n\t\t\t\tA2(\n\t\t\t\t\t$elm$url$Url$addPort,\n\t\t\t\t\turl.port_,\n\t\t\t\t\t_Utils_ap(http, url.host)),\n\t\t\t\turl.path)));\n};\nvar $author$project$Shared$update = F2(\n\tfunction (msg, model) {\n\t\treturn _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);\n\t});\nvar $author$project$Spa$Generated$Pages$update = F2(\n\tfunction (bigMsg, bigModel) {\n\t\tvar _v0 = _Utils_Tuple2(bigMsg, bigModel);\n\t\t_v0$3:\n\t\twhile (true) {\n\t\t\tswitch (_v0.a.$) {\n\t\t\t\tcase 'Top__Msg':\n\t\t\t\t\tif (_v0.b.$ === 'Top__Model') {\n\t\t\t\t\t\tvar msg = _v0.a.a;\n\t\t\t\t\t\tvar model = _v0.b.a;\n\t\t\t\t\t\treturn A2($author$project$Spa$Generated$Pages$pages.top.update, msg, model);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbreak _v0$3;\n\t\t\t\t\t}\n\t\t\t\tcase 'ExamplePage__Msg':\n\t\t\t\t\tif (_v0.b.$ === 'ExamplePage__Model') {\n\t\t\t\t\t\tvar msg = _v0.a.a;\n\t\t\t\t\t\tvar model = _v0.b.a;\n\t\t\t\t\t\treturn A2($author$project$Spa$Generated$Pages$pages.examplePage.update, msg, model);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbreak _v0$3;\n\t\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\tif (_v0.b.$ === 'NotFound__Model') {\n\t\t\t\t\t\tvar msg = _v0.a.a;\n\t\t\t\t\t\tvar model = _v0.b.a;\n\t\t\t\t\t\treturn A2($author$project$Spa$Generated$Pages$pages.notFound.update, msg, model);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbreak _v0$3;\n\t\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn _Utils_Tuple2(bigModel, $elm$core$Platform$Cmd$none);\n\t});\nvar $author$project$Main$update = F2(\n\tfunction (msg, model) {\n\t\tswitch (msg.$) {\n\t\t\tcase 'LinkClicked':\n\t\t\t\tif (msg.a.$ === 'Internal') {\n\t\t\t\t\tvar url = msg.a.a;\n\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$browser$Browser$Navigation$pushUrl,\n\t\t\t\t\t\t\tmodel.shared.key,\n\t\t\t\t\t\t\t$elm$url$Url$toString(url)));\n\t\t\t\t} else {\n\t\t\t\t\tvar href = msg.a.a;\n\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t$elm$browser$Browser$Navigation$load(href));\n\t\t\t\t}\n\t\t\tcase 'UrlChanged':\n\t\t\t\tvar url = msg.a;\n\t\t\t\tvar original = model.shared;\n\t\t\t\tvar shared = _Utils_update(\n\t\t\t\t\toriginal,\n\t\t\t\t\t{url: url});\n\t\t\t\tvar _v1 = A2(\n\t\t\t\t\t$author$project$Spa$Generated$Pages$init,\n\t\t\t\t\t$author$project$Main$fromUrl(url),\n\t\t\t\t\tshared);\n\t\t\t\tvar page = _v1.a;\n\t\t\t\tvar pageCmd = _v1.b;\n\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t_Utils_update(\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpage: page,\n\t\t\t\t\t\t\tshared: A2($author$project$Spa$Generated$Pages$save, page, shared)\n\t\t\t\t\t\t}),\n\t\t\t\t\tA2($elm$core$Platform$Cmd$map, $author$project$Main$Pages, pageCmd));\n\t\t\tcase 'Shared':\n\t\t\t\tvar sharedMsg = msg.a;\n\t\t\t\tvar _v2 = A2($author$project$Shared$update, sharedMsg, model.shared);\n\t\t\t\tvar shared = _v2.a;\n\t\t\t\tvar sharedCmd = _v2.b;\n\t\t\t\tvar _v3 = A2($author$project$Spa$Generated$Pages$load, model.page, shared);\n\t\t\t\tvar page = _v3.a;\n\t\t\t\tvar pageCmd = _v3.b;\n\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t_Utils_update(\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t{page: page, shared: shared}),\n\t\t\t\t\t$elm$core$Platform$Cmd$batch(\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\tA2($elm$core$Platform$Cmd$map, $author$project$Main$Shared, sharedCmd),\n\t\t\t\t\t\t\t\tA2($elm$core$Platform$Cmd$map, $author$project$Main$Pages, pageCmd)\n\t\t\t\t\t\t\t])));\n\t\t\tdefault:\n\t\t\t\tvar pageMsg = msg.a;\n\t\t\t\tvar _v4 = A2($author$project$Spa$Generated$Pages$update, pageMsg, model.page);\n\t\t\t\tvar page = _v4.a;\n\t\t\t\tvar pageCmd = _v4.b;\n\t\t\t\tvar shared = A2($author$project$Spa$Generated$Pages$save, page, model.shared);\n\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t_Utils_update(\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t{page: page, shared: shared}),\n\t\t\t\t\tA2($elm$core$Platform$Cmd$map, $author$project$Main$Pages, pageCmd));\n\t\t}\n\t});\nvar $elm$html$Html$footer = _VirtualDom_node('footer');\nvar $elm$html$Html$header = _VirtualDom_node('header');\nvar $elm$html$Html$i = _VirtualDom_node('i');\nvar $elm$html$Html$Attributes$rel = _VirtualDom_attribute('rel');\nvar $author$project$Shared$slogan = 'Highly flexible Application Runtime Platform';\nvar $rundis$elm_bootstrap$Bootstrap$CDN$stylesheet = A3(\n\t$elm$html$Html$node,\n\t'link',\n\t_List_fromArray(\n\t\t[\n\t\t\t$elm$html$Html$Attributes$rel('stylesheet'),\n\t\t\t$elm$html$Html$Attributes$href('https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css')\n\t\t]),\n\t_List_Nil);\nvar $elm$html$Html$Attributes$target = $elm$html$Html$Attributes$stringProperty('target');\nvar $elm$core$String$append = _String_append;\nvar $author$project$Spa$Generated$Route$toString = function (route) {\n\tvar segments = function () {\n\t\tswitch (route.$) {\n\t\t\tcase 'Top':\n\t\t\t\treturn _List_Nil;\n\t\t\tcase 'ExamplePage':\n\t\t\t\treturn _List_fromArray(\n\t\t\t\t\t['example-page']);\n\t\t\tdefault:\n\t\t\t\treturn _List_fromArray(\n\t\t\t\t\t['not-found']);\n\t\t}\n\t}();\n\treturn A2(\n\t\t$elm$core$String$append,\n\t\t'/',\n\t\tA2($elm$core$String$join, '/', segments));\n};\nvar $author$project$Shared$view = F2(\n\tfunction (_v0, model) {\n\t\tvar page = _v0.page;\n\t\tvar toMsg = _v0.toMsg;\n\t\treturn {\n\t\t\tbody: _List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA3(\n\t\t\t\t\t$elm$html$Html$node,\n\t\t\t\t\t'link',\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$Attributes$rel('stylesheet'),\n\t\t\t\t\t\t\t$elm$html$Html$Attributes$href('https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css')\n\t\t\t\t\t\t]),\n\t\t\t\t\t_List_Nil),\n\t\t\t\t\t$rundis$elm_bootstrap$Bootstrap$CDN$stylesheet,\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$Attributes$class('layout')\n\t\t\t\t\t\t]),\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$html$Html$header,\n\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$class('navbar')\n\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t$elm$html$Html$a,\n\t\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$class('navbar-brand'),\n\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$href(\n\t\t\t\t\t\t\t\t\t\t\t$author$project$Spa$Generated$Route$toString($author$project$Spa$Generated$Route$Top)),\n\t\t\t\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'color', '#FF5733')\n\t\t\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$text('Tumbo')\n\t\t\t\t\t\t\t\t\t\t])),\n\t\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t$elm$html$Html$a,\n\t\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$target('blank'),\n\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$href('https://github.com/sahlinet/go-tumbo3')\n\t\t\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$i,\n\t\t\t\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$class('fa fa-github'),\n\t\t\t\t\t\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'color', 'black')\n\t\t\t\t\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t\t\t\t\t_List_Nil)\n\t\t\t\t\t\t\t\t\t\t]))\n\t\t\t\t\t\t\t\t])),\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$class('jumbotron')\n\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t$elm$html$Html$text($author$project$Shared$slogan)\n\t\t\t\t\t\t\t\t])),\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$class('page')\n\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\tpage.body)\n\t\t\t\t\t\t])),\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$footer,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$Attributes$class('footer')\n\t\t\t\t\t\t]),\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$class('container text-center')\n\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t$elm$html$Html$span,\n\t\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$class('text-muted')\n\t\t\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$text('© 2020 Copyright sahli.net')\n\t\t\t\t\t\t\t\t\t\t]))\n\t\t\t\t\t\t\t\t]))\n\t\t\t\t\t\t]))\n\t\t\t\t]),\n\t\t\ttitle: page.title\n\t\t};\n\t});\nvar $author$project$Spa$Generated$Pages$view = function (model) {\n\treturn $author$project$Spa$Generated$Pages$bundle(model).view(_Utils_Tuple0);\n};\nvar $author$project$Main$view = function (model) {\n\treturn A2(\n\t\t$author$project$Shared$view,\n\t\t{\n\t\t\tpage: A2(\n\t\t\t\t$author$project$Spa$Document$map,\n\t\t\t\t$author$project$Main$Pages,\n\t\t\t\t$author$project$Spa$Generated$Pages$view(model.page)),\n\t\t\ttoMsg: $author$project$Main$Shared\n\t\t},\n\t\tmodel.shared);\n};\nvar $author$project$Main$main = $elm$browser$Browser$application(\n\t{\n\t\tinit: $author$project$Main$init,\n\t\tonUrlChange: $author$project$Main$UrlChanged,\n\t\tonUrlRequest: $author$project$Main$LinkClicked,\n\t\tsubscriptions: $author$project$Main$subscriptions,\n\t\tupdate: $author$project$Main$update,\n\t\tview: A2($elm$core$Basics$composeR, $author$project$Main$view, $author$project$Spa$Document$toBrowserDocument)\n\t});\n_Platform_export({'Main':{'init':$author$project$Main$main(\n\t$elm$json$Json$Decode$succeed(_Utils_Tuple0))({\"versions\":{\"elm\":\"0.19.1\"},\"types\":{\"message\":\"Main.Msg\",\"aliases\":{\"Url.Url\":{\"args\":[],\"type\":\"{ protocol : Url.Protocol, host : String.String, port_ : Maybe.Maybe Basics.Int, path : String.String, query : Maybe.Maybe String.String, fragment : Maybe.Maybe String.String }\"},\"Pages.NotFound.Msg\":{\"args\":[],\"type\":\"Basics.Never\"},\"Pages.Top.Msg\":{\"args\":[],\"type\":\"Basics.Never\"}},\"unions\":{\"Main.Msg\":{\"args\":[],\"tags\":{\"LinkClicked\":[\"Browser.UrlRequest\"],\"UrlChanged\":[\"Url.Url\"],\"Shared\":[\"Shared.Msg\"],\"Pages\":[\"Spa.Generated.Pages.Msg\"]}},\"Basics.Int\":{\"args\":[],\"tags\":{\"Int\":[]}},\"Maybe.Maybe\":{\"args\":[\"a\"],\"tags\":{\"Just\":[\"a\"],\"Nothing\":[]}},\"Shared.Msg\":{\"args\":[],\"tags\":{\"ReplaceMe\":[]}},\"Spa.Generated.Pages.Msg\":{\"args\":[],\"tags\":{\"Top__Msg\":[\"Pages.Top.Msg\"],\"ExamplePage__Msg\":[\"Pages.ExamplePage.Msg\"],\"NotFound__Msg\":[\"Pages.NotFound.Msg\"]}},\"Url.Protocol\":{\"args\":[],\"tags\":{\"Http\":[],\"Https\":[]}},\"String.String\":{\"args\":[],\"tags\":{\"String\":[]}},\"Browser.UrlRequest\":{\"args\":[],\"tags\":{\"Internal\":[\"Url.Url\"],\"External\":[\"String.String\"]}},\"Pages.ExamplePage.Msg\":{\"args\":[],\"tags\":{\"Increment\":[],\"Decrement\":[]}},\"Basics.Never\":{\"args\":[],\"tags\":{\"JustOneMore\":[\"Basics.Never\"]}}}}})}});}(this));"),
}
// define dirs
dir1 := &embedded.EmbeddedDir{
Filename: "",
DirModTime: time.Unix(1602964578, 0),
ChildFiles: []*embedded.EmbeddedFile{
file2, // "elm.compiled.js"
},
}
// link ChildDirs
dir1.ChildDirs = []*embedded.EmbeddedDir{}
// register embeddedBox
embedded.RegisterEmbeddedBox(`../../web/elm/public/dist`, &embedded.EmbeddedBox{
Name: `../../web/elm/public/dist`,
Time: time.Unix(1602964578, 0),
Dirs: map[string]*embedded.EmbeddedDir{
"": dir1,
},
Files: map[string]*embedded.EmbeddedFile{
"elm.compiled.js": file2,
},
})
}
func init() {
// define files
file5 := &embedded.EmbeddedFile{
Filename: "dist/elm.compiled.js",
FileModTime: time.Unix(1603087855, 0),
Content: string("(function(scope){\n'use strict';\n\nfunction F(arity, fun, wrapper) {\n wrapper.a = arity;\n wrapper.f = fun;\n return wrapper;\n}\n\nfunction F2(fun) {\n return F(2, fun, function(a) { return function(b) { return fun(a,b); }; })\n}\nfunction F3(fun) {\n return F(3, fun, function(a) {\n return function(b) { return function(c) { return fun(a, b, c); }; };\n });\n}\nfunction F4(fun) {\n return F(4, fun, function(a) { return function(b) { return function(c) {\n return function(d) { return fun(a, b, c, d); }; }; };\n });\n}\nfunction F5(fun) {\n return F(5, fun, function(a) { return function(b) { return function(c) {\n return function(d) { return function(e) { return fun(a, b, c, d, e); }; }; }; };\n });\n}\nfunction F6(fun) {\n return F(6, fun, function(a) { return function(b) { return function(c) {\n return function(d) { return function(e) { return function(f) {\n return fun(a, b, c, d, e, f); }; }; }; }; };\n });\n}\nfunction F7(fun) {\n return F(7, fun, function(a) { return function(b) { return function(c) {\n return function(d) { return function(e) { return function(f) {\n return function(g) { return fun(a, b, c, d, e, f, g); }; }; }; }; }; };\n });\n}\nfunction F8(fun) {\n return F(8, fun, function(a) { return function(b) { return function(c) {\n return function(d) { return function(e) { return function(f) {\n return function(g) { return function(h) {\n return fun(a, b, c, d, e, f, g, h); }; }; }; }; }; }; };\n });\n}\nfunction F9(fun) {\n return F(9, fun, function(a) { return function(b) { return function(c) {\n return function(d) { return function(e) { return function(f) {\n return function(g) { return function(h) { return function(i) {\n return fun(a, b, c, d, e, f, g, h, i); }; }; }; }; }; }; }; };\n });\n}\n\nfunction A2(fun, a, b) {\n return fun.a === 2 ? fun.f(a, b) : fun(a)(b);\n}\nfunction A3(fun, a, b, c) {\n return fun.a === 3 ? fun.f(a, b, c) : fun(a)(b)(c);\n}\nfunction A4(fun, a, b, c, d) {\n return fun.a === 4 ? fun.f(a, b, c, d) : fun(a)(b)(c)(d);\n}\nfunction A5(fun, a, b, c, d, e) {\n return fun.a === 5 ? fun.f(a, b, c, d, e) : fun(a)(b)(c)(d)(e);\n}\nfunction A6(fun, a, b, c, d, e, f) {\n return fun.a === 6 ? fun.f(a, b, c, d, e, f) : fun(a)(b)(c)(d)(e)(f);\n}\nfunction A7(fun, a, b, c, d, e, f, g) {\n return fun.a === 7 ? fun.f(a, b, c, d, e, f, g) : fun(a)(b)(c)(d)(e)(f)(g);\n}\nfunction A8(fun, a, b, c, d, e, f, g, h) {\n return fun.a === 8 ? fun.f(a, b, c, d, e, f, g, h) : fun(a)(b)(c)(d)(e)(f)(g)(h);\n}\nfunction A9(fun, a, b, c, d, e, f, g, h, i) {\n return fun.a === 9 ? fun.f(a, b, c, d, e, f, g, h, i) : fun(a)(b)(c)(d)(e)(f)(g)(h)(i);\n}\n\nconsole.warn('Compiled in DEBUG mode. Follow the advice at https://elm-lang.org/0.19.1/optimize for better performance and smaller assets.');\n\n\n// EQUALITY\n\nfunction _Utils_eq(x, y)\n{\n\tfor (\n\t\tvar pair, stack = [], isEqual = _Utils_eqHelp(x, y, 0, stack);\n\t\tisEqual && (pair = stack.pop());\n\t\tisEqual = _Utils_eqHelp(pair.a, pair.b, 0, stack)\n\t\t)\n\t{}\n\n\treturn isEqual;\n}\n\nfunction _Utils_eqHelp(x, y, depth, stack)\n{\n\tif (x === y)\n\t{\n\t\treturn true;\n\t}\n\n\tif (typeof x !== 'object' || x === null || y === null)\n\t{\n\t\ttypeof x === 'function' && _Debug_crash(5);\n\t\treturn false;\n\t}\n\n\tif (depth > 100)\n\t{\n\t\tstack.push(_Utils_Tuple2(x,y));\n\t\treturn true;\n\t}\n\n\t/**/\n\tif (x.$ === 'Set_elm_builtin')\n\t{\n\t\tx = $elm$core$Set$toList(x);\n\t\ty = $elm$core$Set$toList(y);\n\t}\n\tif (x.$ === 'RBNode_elm_builtin' || x.$ === 'RBEmpty_elm_builtin')\n\t{\n\t\tx = $elm$core$Dict$toList(x);\n\t\ty = $elm$core$Dict$toList(y);\n\t}\n\t//*/\n\n\t/**_UNUSED/\n\tif (x.$ < 0)\n\t{\n\t\tx = $elm$core$Dict$toList(x);\n\t\ty = $elm$core$Dict$toList(y);\n\t}\n\t//*/\n\n\tfor (var key in x)\n\t{\n\t\tif (!_Utils_eqHelp(x[key], y[key], depth + 1, stack))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\nvar _Utils_equal = F2(_Utils_eq);\nvar _Utils_notEqual = F2(function(a, b) { return !_Utils_eq(a,b); });\n\n\n\n// COMPARISONS\n\n// Code in Generate/JavaScript.hs, Basics.js, and List.js depends on\n// the particular integer values assigned to LT, EQ, and GT.\n\nfunction _Utils_cmp(x, y, ord)\n{\n\tif (typeof x !== 'object')\n\t{\n\t\treturn x === y ? /*EQ*/ 0 : x < y ? /*LT*/ -1 : /*GT*/ 1;\n\t}\n\n\t/**/\n\tif (x instanceof String)\n\t{\n\t\tvar a = x.valueOf();\n\t\tvar b = y.valueOf();\n\t\treturn a === b ? 0 : a < b ? -1 : 1;\n\t}\n\t//*/\n\n\t/**_UNUSED/\n\tif (typeof x.$ === 'undefined')\n\t//*/\n\t/**/\n\tif (x.$[0] === '#')\n\t//*/\n\t{\n\t\treturn (ord = _Utils_cmp(x.a, y.a))\n\t\t\t? ord\n\t\t\t: (ord = _Utils_cmp(x.b, y.b))\n\t\t\t\t? ord\n\t\t\t\t: _Utils_cmp(x.c, y.c);\n\t}\n\n\t// traverse conses until end of a list or a mismatch\n\tfor (; x.b && y.b && !(ord = _Utils_cmp(x.a, y.a)); x = x.b, y = y.b) {} // WHILE_CONSES\n\treturn ord || (x.b ? /*GT*/ 1 : y.b ? /*LT*/ -1 : /*EQ*/ 0);\n}\n\nvar _Utils_lt = F2(function(a, b) { return _Utils_cmp(a, b) < 0; });\nvar _Utils_le = F2(function(a, b) { return _Utils_cmp(a, b) < 1; });\nvar _Utils_gt = F2(function(a, b) { return _Utils_cmp(a, b) > 0; });\nvar _Utils_ge = F2(function(a, b) { return _Utils_cmp(a, b) >= 0; });\n\nvar _Utils_compare = F2(function(x, y)\n{\n\tvar n = _Utils_cmp(x, y);\n\treturn n < 0 ? $elm$core$Basics$LT : n ? $elm$core$Basics$GT : $elm$core$Basics$EQ;\n});\n\n\n// COMMON VALUES\n\nvar _Utils_Tuple0_UNUSED = 0;\nvar _Utils_Tuple0 = { $: '#0' };\n\nfunction _Utils_Tuple2_UNUSED(a, b) { return { a: a, b: b }; }\nfunction _Utils_Tuple2(a, b) { return { $: '#2', a: a, b: b }; }\n\nfunction _Utils_Tuple3_UNUSED(a, b, c) { return { a: a, b: b, c: c }; }\nfunction _Utils_Tuple3(a, b, c) { return { $: '#3', a: a, b: b, c: c }; }\n\nfunction _Utils_chr_UNUSED(c) { return c; }\nfunction _Utils_chr(c) { return new String(c); }\n\n\n// RECORDS\n\nfunction _Utils_update(oldRecord, updatedFields)\n{\n\tvar newRecord = {};\n\n\tfor (var key in oldRecord)\n\t{\n\t\tnewRecord[key] = oldRecord[key];\n\t}\n\n\tfor (var key in updatedFields)\n\t{\n\t\tnewRecord[key] = updatedFields[key];\n\t}\n\n\treturn newRecord;\n}\n\n\n// APPEND\n\nvar _Utils_append = F2(_Utils_ap);\n\nfunction _Utils_ap(xs, ys)\n{\n\t// append Strings\n\tif (typeof xs === 'string')\n\t{\n\t\treturn xs + ys;\n\t}\n\n\t// append Lists\n\tif (!xs.b)\n\t{\n\t\treturn ys;\n\t}\n\tvar root = _List_Cons(xs.a, ys);\n\txs = xs.b\n\tfor (var curr = root; xs.b; xs = xs.b) // WHILE_CONS\n\t{\n\t\tcurr = curr.b = _List_Cons(xs.a, ys);\n\t}\n\treturn root;\n}\n\n\n\nvar _List_Nil_UNUSED = { $: 0 };\nvar _List_Nil = { $: '[]' };\n\nfunction _List_Cons_UNUSED(hd, tl) { return { $: 1, a: hd, b: tl }; }\nfunction _List_Cons(hd, tl) { return { $: '::', a: hd, b: tl }; }\n\n\nvar _List_cons = F2(_List_Cons);\n\nfunction _List_fromArray(arr)\n{\n\tvar out = _List_Nil;\n\tfor (var i = arr.length; i--; )\n\t{\n\t\tout = _List_Cons(arr[i], out);\n\t}\n\treturn out;\n}\n\nfunction _List_toArray(xs)\n{\n\tfor (var out = []; xs.b; xs = xs.b) // WHILE_CONS\n\t{\n\t\tout.push(xs.a);\n\t}\n\treturn out;\n}\n\nvar _List_map2 = F3(function(f, xs, ys)\n{\n\tfor (var arr = []; xs.b && ys.b; xs = xs.b, ys = ys.b) // WHILE_CONSES\n\t{\n\t\tarr.push(A2(f, xs.a, ys.a));\n\t}\n\treturn _List_fromArray(arr);\n});\n\nvar _List_map3 = F4(function(f, xs, ys, zs)\n{\n\tfor (var arr = []; xs.b && ys.b && zs.b; xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES\n\t{\n\t\tarr.push(A3(f, xs.a, ys.a, zs.a));\n\t}\n\treturn _List_fromArray(arr);\n});\n\nvar _List_map4 = F5(function(f, ws, xs, ys, zs)\n{\n\tfor (var arr = []; ws.b && xs.b && ys.b && zs.b; ws = ws.b, xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES\n\t{\n\t\tarr.push(A4(f, ws.a, xs.a, ys.a, zs.a));\n\t}\n\treturn _List_fromArray(arr);\n});\n\nvar _List_map5 = F6(function(f, vs, ws, xs, ys, zs)\n{\n\tfor (var arr = []; vs.b && ws.b && xs.b && ys.b && zs.b; vs = vs.b, ws = ws.b, xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES\n\t{\n\t\tarr.push(A5(f, vs.a, ws.a, xs.a, ys.a, zs.a));\n\t}\n\treturn _List_fromArray(arr);\n});\n\nvar _List_sortBy = F2(function(f, xs)\n{\n\treturn _List_fromArray(_List_toArray(xs).sort(function(a, b) {\n\t\treturn _Utils_cmp(f(a), f(b));\n\t}));\n});\n\nvar _List_sortWith = F2(function(f, xs)\n{\n\treturn _List_fromArray(_List_toArray(xs).sort(function(a, b) {\n\t\tvar ord = A2(f, a, b);\n\t\treturn ord === $elm$core$Basics$EQ ? 0 : ord === $elm$core$Basics$LT ? -1 : 1;\n\t}));\n});\n\n\n\nvar _JsArray_empty = [];\n\nfunction _JsArray_singleton(value)\n{\n return [value];\n}\n\nfunction _JsArray_length(array)\n{\n return array.length;\n}\n\nvar _JsArray_initialize = F3(function(size, offset, func)\n{\n var result = new Array(size);\n\n for (var i = 0; i < size; i++)\n {\n result[i] = func(offset + i);\n }\n\n return result;\n});\n\nvar _JsArray_initializeFromList = F2(function (max, ls)\n{\n var result = new Array(max);\n\n for (var i = 0; i < max && ls.b; i++)\n {\n result[i] = ls.a;\n ls = ls.b;\n }\n\n result.length = i;\n return _Utils_Tuple2(result, ls);\n});\n\nvar _JsArray_unsafeGet = F2(function(index, array)\n{\n return array[index];\n});\n\nvar _JsArray_unsafeSet = F3(function(index, value, array)\n{\n var length = array.length;\n var result = new Array(length);\n\n for (var i = 0; i < length; i++)\n {\n result[i] = array[i];\n }\n\n result[index] = value;\n return result;\n});\n\nvar _JsArray_push = F2(function(value, array)\n{\n var length = array.length;\n var result = new Array(length + 1);\n\n for (var i = 0; i < length; i++)\n {\n result[i] = array[i];\n }\n\n result[length] = value;\n return result;\n});\n\nvar _JsArray_foldl = F3(function(func, acc, array)\n{\n var length = array.length;\n\n for (var i = 0; i < length; i++)\n {\n acc = A2(func, array[i], acc);\n }\n\n return acc;\n});\n\nvar _JsArray_foldr = F3(function(func, acc, array)\n{\n for (var i = array.length - 1; i >= 0; i--)\n {\n acc = A2(func, array[i], acc);\n }\n\n return acc;\n});\n\nvar _JsArray_map = F2(function(func, array)\n{\n var length = array.length;\n var result = new Array(length);\n\n for (var i = 0; i < length; i++)\n {\n result[i] = func(array[i]);\n }\n\n return result;\n});\n\nvar _JsArray_indexedMap = F3(function(func, offset, array)\n{\n var length = array.length;\n var result = new Array(length);\n\n for (var i = 0; i < length; i++)\n {\n result[i] = A2(func, offset + i, array[i]);\n }\n\n return result;\n});\n\nvar _JsArray_slice = F3(function(from, to, array)\n{\n return array.slice(from, to);\n});\n\nvar _JsArray_appendN = F3(function(n, dest, source)\n{\n var destLen = dest.length;\n var itemsToCopy = n - destLen;\n\n if (itemsToCopy > source.length)\n {\n itemsToCopy = source.length;\n }\n\n var size = destLen + itemsToCopy;\n var result = new Array(size);\n\n for (var i = 0; i < destLen; i++)\n {\n result[i] = dest[i];\n }\n\n for (var i = 0; i < itemsToCopy; i++)\n {\n result[i + destLen] = source[i];\n }\n\n return result;\n});\n\n\n\n// LOG\n\nvar _Debug_log_UNUSED = F2(function(tag, value)\n{\n\treturn value;\n});\n\nvar _Debug_log = F2(function(tag, value)\n{\n\tconsole.log(tag + ': ' + _Debug_toString(value));\n\treturn value;\n});\n\n\n// TODOS\n\nfunction _Debug_todo(moduleName, region)\n{\n\treturn function(message) {\n\t\t_Debug_crash(8, moduleName, region, message);\n\t};\n}\n\nfunction _Debug_todoCase(moduleName, region, value)\n{\n\treturn function(message) {\n\t\t_Debug_crash(9, moduleName, region, value, message);\n\t};\n}\n\n\n// TO STRING\n\nfunction _Debug_toString_UNUSED(value)\n{\n\treturn '<internals>';\n}\n\nfunction _Debug_toString(value)\n{\n\treturn _Debug_toAnsiString(false, value);\n}\n\nfunction _Debug_toAnsiString(ansi, value)\n{\n\tif (typeof value === 'function')\n\t{\n\t\treturn _Debug_internalColor(ansi, '<function>');\n\t}\n\n\tif (typeof value === 'boolean')\n\t{\n\t\treturn _Debug_ctorColor(ansi, value ? 'True' : 'False');\n\t}\n\n\tif (typeof value === 'number')\n\t{\n\t\treturn _Debug_numberColor(ansi, value + '');\n\t}\n\n\tif (value instanceof String)\n\t{\n\t\treturn _Debug_charColor(ansi, \"'\" + _Debug_addSlashes(value, true) + \"'\");\n\t}\n\n\tif (typeof value === 'string')\n\t{\n\t\treturn _Debug_stringColor(ansi, '\"' + _Debug_addSlashes(value, false) + '\"');\n\t}\n\n\tif (typeof value === 'object' && '$' in value)\n\t{\n\t\tvar tag = value.$;\n\n\t\tif (typeof tag === 'number')\n\t\t{\n\t\t\treturn _Debug_internalColor(ansi, '<internals>');\n\t\t}\n\n\t\tif (tag[0] === '#')\n\t\t{\n\t\t\tvar output = [];\n\t\t\tfor (var k in value)\n\t\t\t{\n\t\t\t\tif (k === '$') continue;\n\t\t\t\toutput.push(_Debug_toAnsiString(ansi, value[k]));\n\t\t\t}\n\t\t\treturn '(' + output.join(',') + ')';\n\t\t}\n\n\t\tif (tag === 'Set_elm_builtin')\n\t\t{\n\t\t\treturn _Debug_ctorColor(ansi, 'Set')\n\t\t\t\t+ _Debug_fadeColor(ansi, '.fromList') + ' '\n\t\t\t\t+ _Debug_toAnsiString(ansi, $elm$core$Set$toList(value));\n\t\t}\n\n\t\tif (tag === 'RBNode_elm_builtin' || tag === 'RBEmpty_elm_builtin')\n\t\t{\n\t\t\treturn _Debug_ctorColor(ansi, 'Dict')\n\t\t\t\t+ _Debug_fadeColor(ansi, '.fromList') + ' '\n\t\t\t\t+ _Debug_toAnsiString(ansi, $elm$core$Dict$toList(value));\n\t\t}\n\n\t\tif (tag === 'Array_elm_builtin')\n\t\t{\n\t\t\treturn _Debug_ctorColor(ansi, 'Array')\n\t\t\t\t+ _Debug_fadeColor(ansi, '.fromList') + ' '\n\t\t\t\t+ _Debug_toAnsiString(ansi, $elm$core$Array$toList(value));\n\t\t}\n\n\t\tif (tag === '::' || tag === '[]')\n\t\t{\n\t\t\tvar output = '[';\n\n\t\t\tvalue.b && (output += _Debug_toAnsiString(ansi, value.a), value = value.b)\n\n\t\t\tfor (; value.b; value = value.b) // WHILE_CONS\n\t\t\t{\n\t\t\t\toutput += ',' + _Debug_toAnsiString(ansi, value.a);\n\t\t\t}\n\t\t\treturn output + ']';\n\t\t}\n\n\t\tvar output = '';\n\t\tfor (var i in value)\n\t\t{\n\t\t\tif (i === '$') continue;\n\t\t\tvar str = _Debug_toAnsiString(ansi, value[i]);\n\t\t\tvar c0 = str[0];\n\t\t\tvar parenless = c0 === '{' || c0 === '(' || c0 === '[' || c0 === '<' || c0 === '\"' || str.indexOf(' ') < 0;\n\t\t\toutput += ' ' + (parenless ? str : '(' + str + ')');\n\t\t}\n\t\treturn _Debug_ctorColor(ansi, tag) + output;\n\t}\n\n\tif (typeof DataView === 'function' && value instanceof DataView)\n\t{\n\t\treturn _Debug_stringColor(ansi, '<' + value.byteLength + ' bytes>');\n\t}\n\n\tif (typeof File !== 'undefined' && value instanceof File)\n\t{\n\t\treturn _Debug_internalColor(ansi, '<' + value.name + '>');\n\t}\n\n\tif (typeof value === 'object')\n\t{\n\t\tvar output = [];\n\t\tfor (var key in value)\n\t\t{\n\t\t\tvar field = key[0] === '_' ? key.slice(1) : key;\n\t\t\toutput.push(_Debug_fadeColor(ansi, field) + ' = ' + _Debug_toAnsiString(ansi, value[key]));\n\t\t}\n\t\tif (output.length === 0)\n\t\t{\n\t\t\treturn '{}';\n\t\t}\n\t\treturn '{ ' + output.join(', ') + ' }';\n\t}\n\n\treturn _Debug_internalColor(ansi, '<internals>');\n}\n\nfunction _Debug_addSlashes(str, isChar)\n{\n\tvar s = str\n\t\t.replace(/\\\\/g, '\\\\\\\\')\n\t\t.replace(/\\n/g, '\\\\n')\n\t\t.replace(/\\t/g, '\\\\t')\n\t\t.replace(/\\r/g, '\\\\r')\n\t\t.replace(/\\v/g, '\\\\v')\n\t\t.replace(/\\0/g, '\\\\0');\n\n\tif (isChar)\n\t{\n\t\treturn s.replace(/\\'/g, '\\\\\\'');\n\t}\n\telse\n\t{\n\t\treturn s.replace(/\\\"/g, '\\\\\"');\n\t}\n}\n\nfunction _Debug_ctorColor(ansi, string)\n{\n\treturn ansi ? '\\x1b[96m' + string + '\\x1b[0m' : string;\n}\n\nfunction _Debug_numberColor(ansi, string)\n{\n\treturn ansi ? '\\x1b[95m' + string + '\\x1b[0m' : string;\n}\n\nfunction _Debug_stringColor(ansi, string)\n{\n\treturn ansi ? '\\x1b[93m' + string + '\\x1b[0m' : string;\n}\n\nfunction _Debug_charColor(ansi, string)\n{\n\treturn ansi ? '\\x1b[92m' + string + '\\x1b[0m' : string;\n}\n\nfunction _Debug_fadeColor(ansi, string)\n{\n\treturn ansi ? '\\x1b[37m' + string + '\\x1b[0m' : string;\n}\n\nfunction _Debug_internalColor(ansi, string)\n{\n\treturn ansi ? '\\x1b[36m' + string + '\\x1b[0m' : string;\n}\n\nfunction _Debug_toHexDigit(n)\n{\n\treturn String.fromCharCode(n < 10 ? 48 + n : 55 + n);\n}\n\n\n// CRASH\n\n\nfunction _Debug_crash_UNUSED(identifier)\n{\n\tthrow new Error('https://github.com/elm/core/blob/1.0.0/hints/' + identifier + '.md');\n}\n\n\nfunction _Debug_crash(identifier, fact1, fact2, fact3, fact4)\n{\n\tswitch(identifier)\n\t{\n\t\tcase 0:\n\t\t\tthrow new Error('What node should I take over? In JavaScript I need something like:\\n\\n Elm.Main.init({\\n node: document.getElementById(\"elm-node\")\\n })\\n\\nYou need to do this with any Browser.sandbox or Browser.element program.');\n\n\t\tcase 1:\n\t\t\tthrow new Error('Browser.application programs cannot handle URLs like this:\\n\\n ' + document.location.href + '\\n\\nWhat is the root? The root of your file system? Try looking at this program with `elm reactor` or some other server.');\n\n\t\tcase 2:\n\t\t\tvar jsonErrorString = fact1;\n\t\t\tthrow new Error('Problem with the flags given to your Elm program on initialization.\\n\\n' + jsonErrorString);\n\n\t\tcase 3:\n\t\t\tvar portName = fact1;\n\t\t\tthrow new Error('There can only be one port named `' + portName + '`, but your program has multiple.');\n\n\t\tcase 4:\n\t\t\tvar portName = fact1;\n\t\t\tvar problem = fact2;\n\t\t\tthrow new Error('Trying to send an unexpected type of value through port `' + portName + '`:\\n' + problem);\n\n\t\tcase 5:\n\t\t\tthrow new Error('Trying to use `(==)` on functions.\\nThere is no way to know if functions are \"the same\" in the Elm sense.\\nRead more about this at https://package.elm-lang.org/packages/elm/core/latest/Basics#== which describes why it is this way and what the better version will look like.');\n\n\t\tcase 6:\n\t\t\tvar moduleName = fact1;\n\t\t\tthrow new Error('Your page is loading multiple Elm scripts with a module named ' + moduleName + '. Maybe a duplicate script is getting loaded accidentally? If not, rename one of them so I know which is which!');\n\n\t\tcase 8:\n\t\t\tvar moduleName = fact1;\n\t\t\tvar region = fact2;\n\t\t\tvar message = fact3;\n\t\t\tthrow new Error('TODO in module `' + moduleName + '` ' + _Debug_regionToString(region) + '\\n\\n' + message);\n\n\t\tcase 9:\n\t\t\tvar moduleName = fact1;\n\t\t\tvar region = fact2;\n\t\t\tvar value = fact3;\n\t\t\tvar message = fact4;\n\t\t\tthrow new Error(\n\t\t\t\t'TODO in module `' + moduleName + '` from the `case` expression '\n\t\t\t\t+ _Debug_regionToString(region) + '\\n\\nIt received the following value:\\n\\n '\n\t\t\t\t+ _Debug_toString(value).replace('\\n', '\\n ')\n\t\t\t\t+ '\\n\\nBut the branch that handles it says:\\n\\n ' + message.replace('\\n', '\\n ')\n\t\t\t);\n\n\t\tcase 10:\n\t\t\tthrow new Error('Bug in https://github.com/elm/virtual-dom/issues');\n\n\t\tcase 11:\n\t\t\tthrow new Error('Cannot perform mod 0. Division by zero error.');\n\t}\n}\n\nfunction _Debug_regionToString(region)\n{\n\tif (region.start.line === region.end.line)\n\t{\n\t\treturn 'on line ' + region.start.line;\n\t}\n\treturn 'on lines ' + region.start.line + ' through ' + region.end.line;\n}\n\n\n\n// MATH\n\nvar _Basics_add = F2(function(a, b) { return a + b; });\nvar _Basics_sub = F2(function(a, b) { return a - b; });\nvar _Basics_mul = F2(function(a, b) { return a * b; });\nvar _Basics_fdiv = F2(function(a, b) { return a / b; });\nvar _Basics_idiv = F2(function(a, b) { return (a / b) | 0; });\nvar _Basics_pow = F2(Math.pow);\n\nvar _Basics_remainderBy = F2(function(b, a) { return a % b; });\n\n// https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/divmodnote-letter.pdf\nvar _Basics_modBy = F2(function(modulus, x)\n{\n\tvar answer = x % modulus;\n\treturn modulus === 0\n\t\t? _Debug_crash(11)\n\t\t:\n\t((answer > 0 && modulus < 0) || (answer < 0 && modulus > 0))\n\t\t? answer + modulus\n\t\t: answer;\n});\n\n\n// TRIGONOMETRY\n\nvar _Basics_pi = Math.PI;\nvar _Basics_e = Math.E;\nvar _Basics_cos = Math.cos;\nvar _Basics_sin = Math.sin;\nvar _Basics_tan = Math.tan;\nvar _Basics_acos = Math.acos;\nvar _Basics_asin = Math.asin;\nvar _Basics_atan = Math.atan;\nvar _Basics_atan2 = F2(Math.atan2);\n\n\n// MORE MATH\n\nfunction _Basics_toFloat(x) { return x; }\nfunction _Basics_truncate(n) { return n | 0; }\nfunction _Basics_isInfinite(n) { return n === Infinity || n === -Infinity; }\n\nvar _Basics_ceiling = Math.ceil;\nvar _Basics_floor = Math.floor;\nvar _Basics_round = Math.round;\nvar _Basics_sqrt = Math.sqrt;\nvar _Basics_log = Math.log;\nvar _Basics_isNaN = isNaN;\n\n\n// BOOLEANS\n\nfunction _Basics_not(bool) { return !bool; }\nvar _Basics_and = F2(function(a, b) { return a && b; });\nvar _Basics_or = F2(function(a, b) { return a || b; });\nvar _Basics_xor = F2(function(a, b) { return a !== b; });\n\n\n\nvar _String_cons = F2(function(chr, str)\n{\n\treturn chr + str;\n});\n\nfunction _String_uncons(string)\n{\n\tvar word = string.charCodeAt(0);\n\treturn !isNaN(word)\n\t\t? $elm$core$Maybe$Just(\n\t\t\t0xD800 <= word && word <= 0xDBFF\n\t\t\t\t? _Utils_Tuple2(_Utils_chr(string[0] + string[1]), string.slice(2))\n\t\t\t\t: _Utils_Tuple2(_Utils_chr(string[0]), string.slice(1))\n\t\t)\n\t\t: $elm$core$Maybe$Nothing;\n}\n\nvar _String_append = F2(function(a, b)\n{\n\treturn a + b;\n});\n\nfunction _String_length(str)\n{\n\treturn str.length;\n}\n\nvar _String_map = F2(function(func, string)\n{\n\tvar len = string.length;\n\tvar array = new Array(len);\n\tvar i = 0;\n\twhile (i < len)\n\t{\n\t\tvar word = string.charCodeAt(i);\n\t\tif (0xD800 <= word && word <= 0xDBFF)\n\t\t{\n\t\t\tarray[i] = func(_Utils_chr(string[i] + string[i+1]));\n\t\t\ti += 2;\n\t\t\tcontinue;\n\t\t}\n\t\tarray[i] = func(_Utils_chr(string[i]));\n\t\ti++;\n\t}\n\treturn array.join('');\n});\n\nvar _String_filter = F2(function(isGood, str)\n{\n\tvar arr = [];\n\tvar len = str.length;\n\tvar i = 0;\n\twhile (i < len)\n\t{\n\t\tvar char = str[i];\n\t\tvar word = str.charCodeAt(i);\n\t\ti++;\n\t\tif (0xD800 <= word && word <= 0xDBFF)\n\t\t{\n\t\t\tchar += str[i];\n\t\t\ti++;\n\t\t}\n\n\t\tif (isGood(_Utils_chr(char)))\n\t\t{\n\t\t\tarr.push(char);\n\t\t}\n\t}\n\treturn arr.join('');\n});\n\nfunction _String_reverse(str)\n{\n\tvar len = str.length;\n\tvar arr = new Array(len);\n\tvar i = 0;\n\twhile (i < len)\n\t{\n\t\tvar word = str.charCodeAt(i);\n\t\tif (0xD800 <= word && word <= 0xDBFF)\n\t\t{\n\t\t\tarr[len - i] = str[i + 1];\n\t\t\ti++;\n\t\t\tarr[len - i] = str[i - 1];\n\t\t\ti++;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tarr[len - i] = str[i];\n\t\t\ti++;\n\t\t}\n\t}\n\treturn arr.join('');\n}\n\nvar _String_foldl = F3(function(func, state, string)\n{\n\tvar len = string.length;\n\tvar i = 0;\n\twhile (i < len)\n\t{\n\t\tvar char = string[i];\n\t\tvar word = string.charCodeAt(i);\n\t\ti++;\n\t\tif (0xD800 <= word && word <= 0xDBFF)\n\t\t{\n\t\t\tchar += string[i];\n\t\t\ti++;\n\t\t}\n\t\tstate = A2(func, _Utils_chr(char), state);\n\t}\n\treturn state;\n});\n\nvar _String_foldr = F3(function(func, state, string)\n{\n\tvar i = string.length;\n\twhile (i--)\n\t{\n\t\tvar char = string[i];\n\t\tvar word = string.charCodeAt(i);\n\t\tif (0xDC00 <= word && word <= 0xDFFF)\n\t\t{\n\t\t\ti--;\n\t\t\tchar = string[i] + char;\n\t\t}\n\t\tstate = A2(func, _Utils_chr(char), state);\n\t}\n\treturn state;\n});\n\nvar _String_split = F2(function(sep, str)\n{\n\treturn str.split(sep);\n});\n\nvar _String_join = F2(function(sep, strs)\n{\n\treturn strs.join(sep);\n});\n\nvar _String_slice = F3(function(start, end, str) {\n\treturn str.slice(start, end);\n});\n\nfunction _String_trim(str)\n{\n\treturn str.trim();\n}\n\nfunction _String_trimLeft(str)\n{\n\treturn str.replace(/^\\s+/, '');\n}\n\nfunction _String_trimRight(str)\n{\n\treturn str.replace(/\\s+$/, '');\n}\n\nfunction _String_words(str)\n{\n\treturn _List_fromArray(str.trim().split(/\\s+/g));\n}\n\nfunction _String_lines(str)\n{\n\treturn _List_fromArray(str.split(/\\r\\n|\\r|\\n/g));\n}\n\nfunction _String_toUpper(str)\n{\n\treturn str.toUpperCase();\n}\n\nfunction _String_toLower(str)\n{\n\treturn str.toLowerCase();\n}\n\nvar _String_any = F2(function(isGood, string)\n{\n\tvar i = string.length;\n\twhile (i--)\n\t{\n\t\tvar char = string[i];\n\t\tvar word = string.charCodeAt(i);\n\t\tif (0xDC00 <= word && word <= 0xDFFF)\n\t\t{\n\t\t\ti--;\n\t\t\tchar = string[i] + char;\n\t\t}\n\t\tif (isGood(_Utils_chr(char)))\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n});\n\nvar _String_all = F2(function(isGood, string)\n{\n\tvar i = string.length;\n\twhile (i--)\n\t{\n\t\tvar char = string[i];\n\t\tvar word = string.charCodeAt(i);\n\t\tif (0xDC00 <= word && word <= 0xDFFF)\n\t\t{\n\t\t\ti--;\n\t\t\tchar = string[i] + char;\n\t\t}\n\t\tif (!isGood(_Utils_chr(char)))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n});\n\nvar _String_contains = F2(function(sub, str)\n{\n\treturn str.indexOf(sub) > -1;\n});\n\nvar _String_startsWith = F2(function(sub, str)\n{\n\treturn str.indexOf(sub) === 0;\n});\n\nvar _String_endsWith = F2(function(sub, str)\n{\n\treturn str.length >= sub.length &&\n\t\tstr.lastIndexOf(sub) === str.length - sub.length;\n});\n\nvar _String_indexes = F2(function(sub, str)\n{\n\tvar subLen = sub.length;\n\n\tif (subLen < 1)\n\t{\n\t\treturn _List_Nil;\n\t}\n\n\tvar i = 0;\n\tvar is = [];\n\n\twhile ((i = str.indexOf(sub, i)) > -1)\n\t{\n\t\tis.push(i);\n\t\ti = i + subLen;\n\t}\n\n\treturn _List_fromArray(is);\n});\n\n\n// TO STRING\n\nfunction _String_fromNumber(number)\n{\n\treturn number + '';\n}\n\n\n// INT CONVERSIONS\n\nfunction _String_toInt(str)\n{\n\tvar total = 0;\n\tvar code0 = str.charCodeAt(0);\n\tvar start = code0 == 0x2B /* + */ || code0 == 0x2D /* - */ ? 1 : 0;\n\n\tfor (var i = start; i < str.length; ++i)\n\t{\n\t\tvar code = str.charCodeAt(i);\n\t\tif (code < 0x30 || 0x39 < code)\n\t\t{\n\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t}\n\t\ttotal = 10 * total + code - 0x30;\n\t}\n\n\treturn i == start\n\t\t? $elm$core$Maybe$Nothing\n\t\t: $elm$core$Maybe$Just(code0 == 0x2D ? -total : total);\n}\n\n\n// FLOAT CONVERSIONS\n\nfunction _String_toFloat(s)\n{\n\t// check if it is a hex, octal, or binary number\n\tif (s.length === 0 || /[\\sxbo]/.test(s))\n\t{\n\t\treturn $elm$core$Maybe$Nothing;\n\t}\n\tvar n = +s;\n\t// faster isNaN check\n\treturn n === n ? $elm$core$Maybe$Just(n) : $elm$core$Maybe$Nothing;\n}\n\nfunction _String_fromList(chars)\n{\n\treturn _List_toArray(chars).join('');\n}\n\n\n\n\nfunction _Char_toCode(char)\n{\n\tvar code = char.charCodeAt(0);\n\tif (0xD800 <= code && code <= 0xDBFF)\n\t{\n\t\treturn (code - 0xD800) * 0x400 + char.charCodeAt(1) - 0xDC00 + 0x10000\n\t}\n\treturn code;\n}\n\nfunction _Char_fromCode(code)\n{\n\treturn _Utils_chr(\n\t\t(code < 0 || 0x10FFFF < code)\n\t\t\t? '\\uFFFD'\n\t\t\t:\n\t\t(code <= 0xFFFF)\n\t\t\t? String.fromCharCode(code)\n\t\t\t:\n\t\t(code -= 0x10000,\n\t\t\tString.fromCharCode(Math.floor(code / 0x400) + 0xD800, code % 0x400 + 0xDC00)\n\t\t)\n\t);\n}\n\nfunction _Char_toUpper(char)\n{\n\treturn _Utils_chr(char.toUpperCase());\n}\n\nfunction _Char_toLower(char)\n{\n\treturn _Utils_chr(char.toLowerCase());\n}\n\nfunction _Char_toLocaleUpper(char)\n{\n\treturn _Utils_chr(char.toLocaleUpperCase());\n}\n\nfunction _Char_toLocaleLower(char)\n{\n\treturn _Utils_chr(char.toLocaleLowerCase());\n}\n\n\n\n/**/\nfunction _Json_errorToString(error)\n{\n\treturn $elm$json$Json$Decode$errorToString(error);\n}\n//*/\n\n\n// CORE DECODERS\n\nfunction _Json_succeed(msg)\n{\n\treturn {\n\t\t$: 0,\n\t\ta: msg\n\t};\n}\n\nfunction _Json_fail(msg)\n{\n\treturn {\n\t\t$: 1,\n\t\ta: msg\n\t};\n}\n\nfunction _Json_decodePrim(decoder)\n{\n\treturn { $: 2, b: decoder };\n}\n\nvar _Json_decodeInt = _Json_decodePrim(function(value) {\n\treturn (typeof value !== 'number')\n\t\t? _Json_expecting('an INT', value)\n\t\t:\n\t(-2147483647 < value && value < 2147483647 && (value | 0) === value)\n\t\t? $elm$core$Result$Ok(value)\n\t\t:\n\t(isFinite(value) && !(value % 1))\n\t\t? $elm$core$Result$Ok(value)\n\t\t: _Json_expecting('an INT', value);\n});\n\nvar _Json_decodeBool = _Json_decodePrim(function(value) {\n\treturn (typeof value === 'boolean')\n\t\t? $elm$core$Result$Ok(value)\n\t\t: _Json_expecting('a BOOL', value);\n});\n\nvar _Json_decodeFloat = _Json_decodePrim(function(value) {\n\treturn (typeof value === 'number')\n\t\t? $elm$core$Result$Ok(value)\n\t\t: _Json_expecting('a FLOAT', value);\n});\n\nvar _Json_decodeValue = _Json_decodePrim(function(value) {\n\treturn $elm$core$Result$Ok(_Json_wrap(value));\n});\n\nvar _Json_decodeString = _Json_decodePrim(function(value) {\n\treturn (typeof value === 'string')\n\t\t? $elm$core$Result$Ok(value)\n\t\t: (value instanceof String)\n\t\t\t? $elm$core$Result$Ok(value + '')\n\t\t\t: _Json_expecting('a STRING', value);\n});\n\nfunction _Json_decodeList(decoder) { return { $: 3, b: decoder }; }\nfunction _Json_decodeArray(decoder) { return { $: 4, b: decoder }; }\n\nfunction _Json_decodeNull(value) { return { $: 5, c: value }; }\n\nvar _Json_decodeField = F2(function(field, decoder)\n{\n\treturn {\n\t\t$: 6,\n\t\td: field,\n\t\tb: decoder\n\t};\n});\n\nvar _Json_decodeIndex = F2(function(index, decoder)\n{\n\treturn {\n\t\t$: 7,\n\t\te: index,\n\t\tb: decoder\n\t};\n});\n\nfunction _Json_decodeKeyValuePairs(decoder)\n{\n\treturn {\n\t\t$: 8,\n\t\tb: decoder\n\t};\n}\n\nfunction _Json_mapMany(f, decoders)\n{\n\treturn {\n\t\t$: 9,\n\t\tf: f,\n\t\tg: decoders\n\t};\n}\n\nvar _Json_andThen = F2(function(callback, decoder)\n{\n\treturn {\n\t\t$: 10,\n\t\tb: decoder,\n\t\th: callback\n\t};\n});\n\nfunction _Json_oneOf(decoders)\n{\n\treturn {\n\t\t$: 11,\n\t\tg: decoders\n\t};\n}\n\n\n// DECODING OBJECTS\n\nvar _Json_map1 = F2(function(f, d1)\n{\n\treturn _Json_mapMany(f, [d1]);\n});\n\nvar _Json_map2 = F3(function(f, d1, d2)\n{\n\treturn _Json_mapMany(f, [d1, d2]);\n});\n\nvar _Json_map3 = F4(function(f, d1, d2, d3)\n{\n\treturn _Json_mapMany(f, [d1, d2, d3]);\n});\n\nvar _Json_map4 = F5(function(f, d1, d2, d3, d4)\n{\n\treturn _Json_mapMany(f, [d1, d2, d3, d4]);\n});\n\nvar _Json_map5 = F6(function(f, d1, d2, d3, d4, d5)\n{\n\treturn _Json_mapMany(f, [d1, d2, d3, d4, d5]);\n});\n\nvar _Json_map6 = F7(function(f, d1, d2, d3, d4, d5, d6)\n{\n\treturn _Json_mapMany(f, [d1, d2, d3, d4, d5, d6]);\n});\n\nvar _Json_map7 = F8(function(f, d1, d2, d3, d4, d5, d6, d7)\n{\n\treturn _Json_mapMany(f, [d1, d2, d3, d4, d5, d6, d7]);\n});\n\nvar _Json_map8 = F9(function(f, d1, d2, d3, d4, d5, d6, d7, d8)\n{\n\treturn _Json_mapMany(f, [d1, d2, d3, d4, d5, d6, d7, d8]);\n});\n\n\n// DECODE\n\nvar _Json_runOnString = F2(function(decoder, string)\n{\n\ttry\n\t{\n\t\tvar value = JSON.parse(string);\n\t\treturn _Json_runHelp(decoder, value);\n\t}\n\tcatch (e)\n\t{\n\t\treturn $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, 'This is not valid JSON! ' + e.message, _Json_wrap(string)));\n\t}\n});\n\nvar _Json_run = F2(function(decoder, value)\n{\n\treturn _Json_runHelp(decoder, _Json_unwrap(value));\n});\n\nfunction _Json_runHelp(decoder, value)\n{\n\tswitch (decoder.$)\n\t{\n\t\tcase 2:\n\t\t\treturn decoder.b(value);\n\n\t\tcase 5:\n\t\t\treturn (value === null)\n\t\t\t\t? $elm$core$Result$Ok(decoder.c)\n\t\t\t\t: _Json_expecting('null', value);\n\n\t\tcase 3:\n\t\t\tif (!_Json_isArray(value))\n\t\t\t{\n\t\t\t\treturn _Json_expecting('a LIST', value);\n\t\t\t}\n\t\t\treturn _Json_runArrayDecoder(decoder.b, value, _List_fromArray);\n\n\t\tcase 4:\n\t\t\tif (!_Json_isArray(value))\n\t\t\t{\n\t\t\t\treturn _Json_expecting('an ARRAY', value);\n\t\t\t}\n\t\t\treturn _Json_runArrayDecoder(decoder.b, value, _Json_toElmArray);\n\n\t\tcase 6:\n\t\t\tvar field = decoder.d;\n\t\t\tif (typeof value !== 'object' || value === null || !(field in value))\n\t\t\t{\n\t\t\t\treturn _Json_expecting('an OBJECT with a field named `' + field + '`', value);\n\t\t\t}\n\t\t\tvar result = _Json_runHelp(decoder.b, value[field]);\n\t\t\treturn ($elm$core$Result$isOk(result)) ? result : $elm$core$Result$Err(A2($elm$json$Json$Decode$Field, field, result.a));\n\n\t\tcase 7:\n\t\t\tvar index = decoder.e;\n\t\t\tif (!_Json_isArray(value))\n\t\t\t{\n\t\t\t\treturn _Json_expecting('an ARRAY', value);\n\t\t\t}\n\t\t\tif (index >= value.length)\n\t\t\t{\n\t\t\t\treturn _Json_expecting('a LONGER array. Need index ' + index + ' but only see ' + value.length + ' entries', value);\n\t\t\t}\n\t\t\tvar result = _Json_runHelp(decoder.b, value[index]);\n\t\t\treturn ($elm$core$Result$isOk(result)) ? result : $elm$core$Result$Err(A2($elm$json$Json$Decode$Index, index, result.a));\n\n\t\tcase 8:\n\t\t\tif (typeof value !== 'object' || value === null || _Json_isArray(value))\n\t\t\t{\n\t\t\t\treturn _Json_expecting('an OBJECT', value);\n\t\t\t}\n\n\t\t\tvar keyValuePairs = _List_Nil;\n\t\t\t// TODO test perf of Object.keys and switch when support is good enough\n\t\t\tfor (var key in value)\n\t\t\t{\n\t\t\t\tif (value.hasOwnProperty(key))\n\t\t\t\t{\n\t\t\t\t\tvar result = _Json_runHelp(decoder.b, value[key]);\n\t\t\t\t\tif (!$elm$core$Result$isOk(result))\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $elm$core$Result$Err(A2($elm$json$Json$Decode$Field, key, result.a));\n\t\t\t\t\t}\n\t\t\t\t\tkeyValuePairs = _List_Cons(_Utils_Tuple2(key, result.a), keyValuePairs);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn $elm$core$Result$Ok($elm$core$List$reverse(keyValuePairs));\n\n\t\tcase 9:\n\t\t\tvar answer = decoder.f;\n\t\t\tvar decoders = decoder.g;\n\t\t\tfor (var i = 0; i < decoders.length; i++)\n\t\t\t{\n\t\t\t\tvar result = _Json_runHelp(decoders[i], value);\n\t\t\t\tif (!$elm$core$Result$isOk(result))\n\t\t\t\t{\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t\tanswer = answer(result.a);\n\t\t\t}\n\t\t\treturn $elm$core$Result$Ok(answer);\n\n\t\tcase 10:\n\t\t\tvar result = _Json_runHelp(decoder.b, value);\n\t\t\treturn (!$elm$core$Result$isOk(result))\n\t\t\t\t? result\n\t\t\t\t: _Json_runHelp(decoder.h(result.a), value);\n\n\t\tcase 11:\n\t\t\tvar errors = _List_Nil;\n\t\t\tfor (var temp = decoder.g; temp.b; temp = temp.b) // WHILE_CONS\n\t\t\t{\n\t\t\t\tvar result = _Json_runHelp(temp.a, value);\n\t\t\t\tif ($elm$core$Result$isOk(result))\n\t\t\t\t{\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t\terrors = _List_Cons(result.a, errors);\n\t\t\t}\n\t\t\treturn $elm$core$Result$Err($elm$json$Json$Decode$OneOf($elm$core$List$reverse(errors)));\n\n\t\tcase 1:\n\t\t\treturn $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, decoder.a, _Json_wrap(value)));\n\n\t\tcase 0:\n\t\t\treturn $elm$core$Result$Ok(decoder.a);\n\t}\n}\n\nfunction _Json_runArrayDecoder(decoder, value, toElmValue)\n{\n\tvar len = value.length;\n\tvar array = new Array(len);\n\tfor (var i = 0; i < len; i++)\n\t{\n\t\tvar result = _Json_runHelp(decoder, value[i]);\n\t\tif (!$elm$core$Result$isOk(result))\n\t\t{\n\t\t\treturn $elm$core$Result$Err(A2($elm$json$Json$Decode$Index, i, result.a));\n\t\t}\n\t\tarray[i] = result.a;\n\t}\n\treturn $elm$core$Result$Ok(toElmValue(array));\n}\n\nfunction _Json_isArray(value)\n{\n\treturn Array.isArray(value) || (typeof FileList !== 'undefined' && value instanceof FileList);\n}\n\nfunction _Json_toElmArray(array)\n{\n\treturn A2($elm$core$Array$initialize, array.length, function(i) { return array[i]; });\n}\n\nfunction _Json_expecting(type, value)\n{\n\treturn $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, 'Expecting ' + type, _Json_wrap(value)));\n}\n\n\n// EQUALITY\n\nfunction _Json_equality(x, y)\n{\n\tif (x === y)\n\t{\n\t\treturn true;\n\t}\n\n\tif (x.$ !== y.$)\n\t{\n\t\treturn false;\n\t}\n\n\tswitch (x.$)\n\t{\n\t\tcase 0:\n\t\tcase 1:\n\t\t\treturn x.a === y.a;\n\n\t\tcase 2:\n\t\t\treturn x.b === y.b;\n\n\t\tcase 5:\n\t\t\treturn x.c === y.c;\n\n\t\tcase 3:\n\t\tcase 4:\n\t\tcase 8:\n\t\t\treturn _Json_equality(x.b, y.b);\n\n\t\tcase 6:\n\t\t\treturn x.d === y.d && _Json_equality(x.b, y.b);\n\n\t\tcase 7:\n\t\t\treturn x.e === y.e && _Json_equality(x.b, y.b);\n\n\t\tcase 9:\n\t\t\treturn x.f === y.f && _Json_listEquality(x.g, y.g);\n\n\t\tcase 10:\n\t\t\treturn x.h === y.h && _Json_equality(x.b, y.b);\n\n\t\tcase 11:\n\t\t\treturn _Json_listEquality(x.g, y.g);\n\t}\n}\n\nfunction _Json_listEquality(aDecoders, bDecoders)\n{\n\tvar len = aDecoders.length;\n\tif (len !== bDecoders.length)\n\t{\n\t\treturn false;\n\t}\n\tfor (var i = 0; i < len; i++)\n\t{\n\t\tif (!_Json_equality(aDecoders[i], bDecoders[i]))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// ENCODE\n\nvar _Json_encode = F2(function(indentLevel, value)\n{\n\treturn JSON.stringify(_Json_unwrap(value), null, indentLevel) + '';\n});\n\nfunction _Json_wrap(value) { return { $: 0, a: value }; }\nfunction _Json_unwrap(value) { return value.a; }\n\nfunction _Json_wrap_UNUSED(value) { return value; }\nfunction _Json_unwrap_UNUSED(value) { return value; }\n\nfunction _Json_emptyArray() { return []; }\nfunction _Json_emptyObject() { return {}; }\n\nvar _Json_addField = F3(function(key, value, object)\n{\n\tobject[key] = _Json_unwrap(value);\n\treturn object;\n});\n\nfunction _Json_addEntry(func)\n{\n\treturn F2(function(entry, array)\n\t{\n\t\tarray.push(_Json_unwrap(func(entry)));\n\t\treturn array;\n\t});\n}\n\nvar _Json_encodeNull = _Json_wrap(null);\n\n\n\n// TASKS\n\nfunction _Scheduler_succeed(value)\n{\n\treturn {\n\t\t$: 0,\n\t\ta: value\n\t};\n}\n\nfunction _Scheduler_fail(error)\n{\n\treturn {\n\t\t$: 1,\n\t\ta: error\n\t};\n}\n\nfunction _Scheduler_binding(callback)\n{\n\treturn {\n\t\t$: 2,\n\t\tb: callback,\n\t\tc: null\n\t};\n}\n\nvar _Scheduler_andThen = F2(function(callback, task)\n{\n\treturn {\n\t\t$: 3,\n\t\tb: callback,\n\t\td: task\n\t};\n});\n\nvar _Scheduler_onError = F2(function(callback, task)\n{\n\treturn {\n\t\t$: 4,\n\t\tb: callback,\n\t\td: task\n\t};\n});\n\nfunction _Scheduler_receive(callback)\n{\n\treturn {\n\t\t$: 5,\n\t\tb: callback\n\t};\n}\n\n\n// PROCESSES\n\nvar _Scheduler_guid = 0;\n\nfunction _Scheduler_rawSpawn(task)\n{\n\tvar proc = {\n\t\t$: 0,\n\t\te: _Scheduler_guid++,\n\t\tf: task,\n\t\tg: null,\n\t\th: []\n\t};\n\n\t_Scheduler_enqueue(proc);\n\n\treturn proc;\n}\n\nfunction _Scheduler_spawn(task)\n{\n\treturn _Scheduler_binding(function(callback) {\n\t\tcallback(_Scheduler_succeed(_Scheduler_rawSpawn(task)));\n\t});\n}\n\nfunction _Scheduler_rawSend(proc, msg)\n{\n\tproc.h.push(msg);\n\t_Scheduler_enqueue(proc);\n}\n\nvar _Scheduler_send = F2(function(proc, msg)\n{\n\treturn _Scheduler_binding(function(callback) {\n\t\t_Scheduler_rawSend(proc, msg);\n\t\tcallback(_Scheduler_succeed(_Utils_Tuple0));\n\t});\n});\n\nfunction _Scheduler_kill(proc)\n{\n\treturn _Scheduler_binding(function(callback) {\n\t\tvar task = proc.f;\n\t\tif (task.$ === 2 && task.c)\n\t\t{\n\t\t\ttask.c();\n\t\t}\n\n\t\tproc.f = null;\n\n\t\tcallback(_Scheduler_succeed(_Utils_Tuple0));\n\t});\n}\n\n\n/* STEP PROCESSES\n\ntype alias Process =\n { $ : tag\n , id : unique_id\n , root : Task\n , stack : null | { $: SUCCEED | FAIL, a: callback, b: stack }\n , mailbox : [msg]\n }\n\n*/\n\n\nvar _Scheduler_working = false;\nvar _Scheduler_queue = [];\n\n\nfunction _Scheduler_enqueue(proc)\n{\n\t_Scheduler_queue.push(proc);\n\tif (_Scheduler_working)\n\t{\n\t\treturn;\n\t}\n\t_Scheduler_working = true;\n\twhile (proc = _Scheduler_queue.shift())\n\t{\n\t\t_Scheduler_step(proc);\n\t}\n\t_Scheduler_working = false;\n}\n\n\nfunction _Scheduler_step(proc)\n{\n\twhile (proc.f)\n\t{\n\t\tvar rootTag = proc.f.$;\n\t\tif (rootTag === 0 || rootTag === 1)\n\t\t{\n\t\t\twhile (proc.g && proc.g.$ !== rootTag)\n\t\t\t{\n\t\t\t\tproc.g = proc.g.i;\n\t\t\t}\n\t\t\tif (!proc.g)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tproc.f = proc.g.b(proc.f.a);\n\t\t\tproc.g = proc.g.i;\n\t\t}\n\t\telse if (rootTag === 2)\n\t\t{\n\t\t\tproc.f.c = proc.f.b(function(newRoot) {\n\t\t\t\tproc.f = newRoot;\n\t\t\t\t_Scheduler_enqueue(proc);\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\telse if (rootTag === 5)\n\t\t{\n\t\t\tif (proc.h.length === 0)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tproc.f = proc.f.b(proc.h.shift());\n\t\t}\n\t\telse // if (rootTag === 3 || rootTag === 4)\n\t\t{\n\t\t\tproc.g = {\n\t\t\t\t$: rootTag === 3 ? 0 : 1,\n\t\t\t\tb: proc.f.b,\n\t\t\t\ti: proc.g\n\t\t\t};\n\t\t\tproc.f = proc.f.d;\n\t\t}\n\t}\n}\n\n\n\nfunction _Process_sleep(time)\n{\n\treturn _Scheduler_binding(function(callback) {\n\t\tvar id = setTimeout(function() {\n\t\t\tcallback(_Scheduler_succeed(_Utils_Tuple0));\n\t\t}, time);\n\n\t\treturn function() { clearTimeout(id); };\n\t});\n}\n\n\n\n\n// PROGRAMS\n\n\nvar _Platform_worker = F4(function(impl, flagDecoder, debugMetadata, args)\n{\n\treturn _Platform_initialize(\n\t\tflagDecoder,\n\t\targs,\n\t\timpl.init,\n\t\timpl.update,\n\t\timpl.subscriptions,\n\t\tfunction() { return function() {} }\n\t);\n});\n\n\n\n// INITIALIZE A PROGRAM\n\n\nfunction _Platform_initialize(flagDecoder, args, init, update, subscriptions, stepperBuilder)\n{\n\tvar result = A2(_Json_run, flagDecoder, _Json_wrap(args ? args['flags'] : undefined));\n\t$elm$core$Result$isOk(result) || _Debug_crash(2 /**/, _Json_errorToString(result.a) /**/);\n\tvar managers = {};\n\tvar initPair = init(result.a);\n\tvar model = initPair.a;\n\tvar stepper = stepperBuilder(sendToApp, model);\n\tvar ports = _Platform_setupEffects(managers, sendToApp);\n\n\tfunction sendToApp(msg, viewMetadata)\n\t{\n\t\tvar pair = A2(update, msg, model);\n\t\tstepper(model = pair.a, viewMetadata);\n\t\t_Platform_enqueueEffects(managers, pair.b, subscriptions(model));\n\t}\n\n\t_Platform_enqueueEffects(managers, initPair.b, subscriptions(model));\n\n\treturn ports ? { ports: ports } : {};\n}\n\n\n\n// TRACK PRELOADS\n//\n// This is used by code in elm/browser and elm/http\n// to register any HTTP requests that are triggered by init.\n//\n\n\nvar _Platform_preload;\n\n\nfunction _Platform_registerPreload(url)\n{\n\t_Platform_preload.add(url);\n}\n\n\n\n// EFFECT MANAGERS\n\n\nvar _Platform_effectManagers = {};\n\n\nfunction _Platform_setupEffects(managers, sendToApp)\n{\n\tvar ports;\n\n\t// setup all necessary effect managers\n\tfor (var key in _Platform_effectManagers)\n\t{\n\t\tvar manager = _Platform_effectManagers[key];\n\n\t\tif (manager.a)\n\t\t{\n\t\t\tports = ports || {};\n\t\t\tports[key] = manager.a(key, sendToApp);\n\t\t}\n\n\t\tmanagers[key] = _Platform_instantiateManager(manager, sendToApp);\n\t}\n\n\treturn ports;\n}\n\n\nfunction _Platform_createManager(init, onEffects, onSelfMsg, cmdMap, subMap)\n{\n\treturn {\n\t\tb: init,\n\t\tc: onEffects,\n\t\td: onSelfMsg,\n\t\te: cmdMap,\n\t\tf: subMap\n\t};\n}\n\n\nfunction _Platform_instantiateManager(info, sendToApp)\n{\n\tvar router = {\n\t\tg: sendToApp,\n\t\th: undefined\n\t};\n\n\tvar onEffects = info.c;\n\tvar onSelfMsg = info.d;\n\tvar cmdMap = info.e;\n\tvar subMap = info.f;\n\n\tfunction loop(state)\n\t{\n\t\treturn A2(_Scheduler_andThen, loop, _Scheduler_receive(function(msg)\n\t\t{\n\t\t\tvar value = msg.a;\n\n\t\t\tif (msg.$ === 0)\n\t\t\t{\n\t\t\t\treturn A3(onSelfMsg, router, value, state);\n\t\t\t}\n\n\t\t\treturn cmdMap && subMap\n\t\t\t\t? A4(onEffects, router, value.i, value.j, state)\n\t\t\t\t: A3(onEffects, router, cmdMap ? value.i : value.j, state);\n\t\t}));\n\t}\n\n\treturn router.h = _Scheduler_rawSpawn(A2(_Scheduler_andThen, loop, info.b));\n}\n\n\n\n// ROUTING\n\n\nvar _Platform_sendToApp = F2(function(router, msg)\n{\n\treturn _Scheduler_binding(function(callback)\n\t{\n\t\trouter.g(msg);\n\t\tcallback(_Scheduler_succeed(_Utils_Tuple0));\n\t});\n});\n\n\nvar _Platform_sendToSelf = F2(function(router, msg)\n{\n\treturn A2(_Scheduler_send, router.h, {\n\t\t$: 0,\n\t\ta: msg\n\t});\n});\n\n\n\n// BAGS\n\n\nfunction _Platform_leaf(home)\n{\n\treturn function(value)\n\t{\n\t\treturn {\n\t\t\t$: 1,\n\t\t\tk: home,\n\t\t\tl: value\n\t\t};\n\t};\n}\n\n\nfunction _Platform_batch(list)\n{\n\treturn {\n\t\t$: 2,\n\t\tm: list\n\t};\n}\n\n\nvar _Platform_map = F2(function(tagger, bag)\n{\n\treturn {\n\t\t$: 3,\n\t\tn: tagger,\n\t\to: bag\n\t}\n});\n\n\n\n// PIPE BAGS INTO EFFECT MANAGERS\n//\n// Effects must be queued!\n//\n// Say your init contains a synchronous command, like Time.now or Time.here\n//\n// - This will produce a batch of effects (FX_1)\n// - The synchronous task triggers the subsequent `update` call\n// - This will produce a batch of effects (FX_2)\n//\n// If we just start dispatching FX_2, subscriptions from FX_2 can be processed\n// before subscriptions from FX_1. No good! Earlier versions of this code had\n// this problem, leading to these reports:\n//\n// https://github.com/elm/core/issues/980\n// https://github.com/elm/core/pull/981\n// https://github.com/elm/compiler/issues/1776\n//\n// The queue is necessary to avoid ordering issues for synchronous commands.\n\n\n// Why use true/false here? Why not just check the length of the queue?\n// The goal is to detect \"are we currently dispatching effects?\" If we\n// are, we need to bail and let the ongoing while loop handle things.\n//\n// Now say the queue has 1 element. When we dequeue the final element,\n// the queue will be empty, but we are still actively dispatching effects.\n// So you could get queue jumping in a really tricky category of cases.\n//\nvar _Platform_effectsQueue = [];\nvar _Platform_effectsActive = false;\n\n\nfunction _Platform_enqueueEffects(managers, cmdBag, subBag)\n{\n\t_Platform_effectsQueue.push({ p: managers, q: cmdBag, r: subBag });\n\n\tif (_Platform_effectsActive) return;\n\n\t_Platform_effectsActive = true;\n\tfor (var fx; fx = _Platform_effectsQueue.shift(); )\n\t{\n\t\t_Platform_dispatchEffects(fx.p, fx.q, fx.r);\n\t}\n\t_Platform_effectsActive = false;\n}\n\n\nfunction _Platform_dispatchEffects(managers, cmdBag, subBag)\n{\n\tvar effectsDict = {};\n\t_Platform_gatherEffects(true, cmdBag, effectsDict, null);\n\t_Platform_gatherEffects(false, subBag, effectsDict, null);\n\n\tfor (var home in managers)\n\t{\n\t\t_Scheduler_rawSend(managers[home], {\n\t\t\t$: 'fx',\n\t\t\ta: effectsDict[home] || { i: _List_Nil, j: _List_Nil }\n\t\t});\n\t}\n}\n\n\nfunction _Platform_gatherEffects(isCmd, bag, effectsDict, taggers)\n{\n\tswitch (bag.$)\n\t{\n\t\tcase 1:\n\t\t\tvar home = bag.k;\n\t\t\tvar effect = _Platform_toEffect(isCmd, home, taggers, bag.l);\n\t\t\teffectsDict[home] = _Platform_insert(isCmd, effect, effectsDict[home]);\n\t\t\treturn;\n\n\t\tcase 2:\n\t\t\tfor (var list = bag.m; list.b; list = list.b) // WHILE_CONS\n\t\t\t{\n\t\t\t\t_Platform_gatherEffects(isCmd, list.a, effectsDict, taggers);\n\t\t\t}\n\t\t\treturn;\n\n\t\tcase 3:\n\t\t\t_Platform_gatherEffects(isCmd, bag.o, effectsDict, {\n\t\t\t\ts: bag.n,\n\t\t\t\tt: taggers\n\t\t\t});\n\t\t\treturn;\n\t}\n}\n\n\nfunction _Platform_toEffect(isCmd, home, taggers, value)\n{\n\tfunction applyTaggers(x)\n\t{\n\t\tfor (var temp = taggers; temp; temp = temp.t)\n\t\t{\n\t\t\tx = temp.s(x);\n\t\t}\n\t\treturn x;\n\t}\n\n\tvar map = isCmd\n\t\t? _Platform_effectManagers[home].e\n\t\t: _Platform_effectManagers[home].f;\n\n\treturn A2(map, applyTaggers, value)\n}\n\n\nfunction _Platform_insert(isCmd, newEffect, effects)\n{\n\teffects = effects || { i: _List_Nil, j: _List_Nil };\n\n\tisCmd\n\t\t? (effects.i = _List_Cons(newEffect, effects.i))\n\t\t: (effects.j = _List_Cons(newEffect, effects.j));\n\n\treturn effects;\n}\n\n\n\n// PORTS\n\n\nfunction _Platform_checkPortName(name)\n{\n\tif (_Platform_effectManagers[name])\n\t{\n\t\t_Debug_crash(3, name)\n\t}\n}\n\n\n\n// OUTGOING PORTS\n\n\nfunction _Platform_outgoingPort(name, converter)\n{\n\t_Platform_checkPortName(name);\n\t_Platform_effectManagers[name] = {\n\t\te: _Platform_outgoingPortMap,\n\t\tu: converter,\n\t\ta: _Platform_setupOutgoingPort\n\t};\n\treturn _Platform_leaf(name);\n}\n\n\nvar _Platform_outgoingPortMap = F2(function(tagger, value) { return value; });\n\n\nfunction _Platform_setupOutgoingPort(name)\n{\n\tvar subs = [];\n\tvar converter = _Platform_effectManagers[name].u;\n\n\t// CREATE MANAGER\n\n\tvar init = _Process_sleep(0);\n\n\t_Platform_effectManagers[name].b = init;\n\t_Platform_effectManagers[name].c = F3(function(router, cmdList, state)\n\t{\n\t\tfor ( ; cmdList.b; cmdList = cmdList.b) // WHILE_CONS\n\t\t{\n\t\t\t// grab a separate reference to subs in case unsubscribe is called\n\t\t\tvar currentSubs = subs;\n\t\t\tvar value = _Json_unwrap(converter(cmdList.a));\n\t\t\tfor (var i = 0; i < currentSubs.length; i++)\n\t\t\t{\n\t\t\t\tcurrentSubs[i](value);\n\t\t\t}\n\t\t}\n\t\treturn init;\n\t});\n\n\t// PUBLIC API\n\n\tfunction subscribe(callback)\n\t{\n\t\tsubs.push(callback);\n\t}\n\n\tfunction unsubscribe(callback)\n\t{\n\t\t// copy subs into a new array in case unsubscribe is called within a\n\t\t// subscribed callback\n\t\tsubs = subs.slice();\n\t\tvar index = subs.indexOf(callback);\n\t\tif (index >= 0)\n\t\t{\n\t\t\tsubs.splice(index, 1);\n\t\t}\n\t}\n\n\treturn {\n\t\tsubscribe: subscribe,\n\t\tunsubscribe: unsubscribe\n\t};\n}\n\n\n\n// INCOMING PORTS\n\n\nfunction _Platform_incomingPort(name, converter)\n{\n\t_Platform_checkPortName(name);\n\t_Platform_effectManagers[name] = {\n\t\tf: _Platform_incomingPortMap,\n\t\tu: converter,\n\t\ta: _Platform_setupIncomingPort\n\t};\n\treturn _Platform_leaf(name);\n}\n\n\nvar _Platform_incomingPortMap = F2(function(tagger, finalTagger)\n{\n\treturn function(value)\n\t{\n\t\treturn tagger(finalTagger(value));\n\t};\n});\n\n\nfunction _Platform_setupIncomingPort(name, sendToApp)\n{\n\tvar subs = _List_Nil;\n\tvar converter = _Platform_effectManagers[name].u;\n\n\t// CREATE MANAGER\n\n\tvar init = _Scheduler_succeed(null);\n\n\t_Platform_effectManagers[name].b = init;\n\t_Platform_effectManagers[name].c = F3(function(router, subList, state)\n\t{\n\t\tsubs = subList;\n\t\treturn init;\n\t});\n\n\t// PUBLIC API\n\n\tfunction send(incomingValue)\n\t{\n\t\tvar result = A2(_Json_run, converter, _Json_wrap(incomingValue));\n\n\t\t$elm$core$Result$isOk(result) || _Debug_crash(4, name, result.a);\n\n\t\tvar value = result.a;\n\t\tfor (var temp = subs; temp.b; temp = temp.b) // WHILE_CONS\n\t\t{\n\t\t\tsendToApp(temp.a(value));\n\t\t}\n\t}\n\n\treturn { send: send };\n}\n\n\n\n// EXPORT ELM MODULES\n//\n// Have DEBUG and PROD versions so that we can (1) give nicer errors in\n// debug mode and (2) not pay for the bits needed for that in prod mode.\n//\n\n\nfunction _Platform_export_UNUSED(exports)\n{\n\tscope['Elm']\n\t\t? _Platform_mergeExportsProd(scope['Elm'], exports)\n\t\t: scope['Elm'] = exports;\n}\n\n\nfunction _Platform_mergeExportsProd(obj, exports)\n{\n\tfor (var name in exports)\n\t{\n\t\t(name in obj)\n\t\t\t? (name == 'init')\n\t\t\t\t? _Debug_crash(6)\n\t\t\t\t: _Platform_mergeExportsProd(obj[name], exports[name])\n\t\t\t: (obj[name] = exports[name]);\n\t}\n}\n\n\nfunction _Platform_export(exports)\n{\n\tscope['Elm']\n\t\t? _Platform_mergeExportsDebug('Elm', scope['Elm'], exports)\n\t\t: scope['Elm'] = exports;\n}\n\n\nfunction _Platform_mergeExportsDebug(moduleName, obj, exports)\n{\n\tfor (var name in exports)\n\t{\n\t\t(name in obj)\n\t\t\t? (name == 'init')\n\t\t\t\t? _Debug_crash(6, moduleName)\n\t\t\t\t: _Platform_mergeExportsDebug(moduleName + '.' + name, obj[name], exports[name])\n\t\t\t: (obj[name] = exports[name]);\n\t}\n}\n\n\n\n\n// HELPERS\n\n\nvar _VirtualDom_divertHrefToApp;\n\nvar _VirtualDom_doc = typeof document !== 'undefined' ? document : {};\n\n\nfunction _VirtualDom_appendChild(parent, child)\n{\n\tparent.appendChild(child);\n}\n\nvar _VirtualDom_init = F4(function(virtualNode, flagDecoder, debugMetadata, args)\n{\n\t// NOTE: this function needs _Platform_export available to work\n\n\t/**_UNUSED/\n\tvar node = args['node'];\n\t//*/\n\t/**/\n\tvar node = args && args['node'] ? args['node'] : _Debug_crash(0);\n\t//*/\n\n\tnode.parentNode.replaceChild(\n\t\t_VirtualDom_render(virtualNode, function() {}),\n\t\tnode\n\t);\n\n\treturn {};\n});\n\n\n\n// TEXT\n\n\nfunction _VirtualDom_text(string)\n{\n\treturn {\n\t\t$: 0,\n\t\ta: string\n\t};\n}\n\n\n\n// NODE\n\n\nvar _VirtualDom_nodeNS = F2(function(namespace, tag)\n{\n\treturn F2(function(factList, kidList)\n\t{\n\t\tfor (var kids = [], descendantsCount = 0; kidList.b; kidList = kidList.b) // WHILE_CONS\n\t\t{\n\t\t\tvar kid = kidList.a;\n\t\t\tdescendantsCount += (kid.b || 0);\n\t\t\tkids.push(kid);\n\t\t}\n\t\tdescendantsCount += kids.length;\n\n\t\treturn {\n\t\t\t$: 1,\n\t\t\tc: tag,\n\t\t\td: _VirtualDom_organizeFacts(factList),\n\t\t\te: kids,\n\t\t\tf: namespace,\n\t\t\tb: descendantsCount\n\t\t};\n\t});\n});\n\n\nvar _VirtualDom_node = _VirtualDom_nodeNS(undefined);\n\n\n\n// KEYED NODE\n\n\nvar _VirtualDom_keyedNodeNS = F2(function(namespace, tag)\n{\n\treturn F2(function(factList, kidList)\n\t{\n\t\tfor (var kids = [], descendantsCount = 0; kidList.b; kidList = kidList.b) // WHILE_CONS\n\t\t{\n\t\t\tvar kid = kidList.a;\n\t\t\tdescendantsCount += (kid.b.b || 0);\n\t\t\tkids.push(kid);\n\t\t}\n\t\tdescendantsCount += kids.length;\n\n\t\treturn {\n\t\t\t$: 2,\n\t\t\tc: tag,\n\t\t\td: _VirtualDom_organizeFacts(factList),\n\t\t\te: kids,\n\t\t\tf: namespace,\n\t\t\tb: descendantsCount\n\t\t};\n\t});\n});\n\n\nvar _VirtualDom_keyedNode = _VirtualDom_keyedNodeNS(undefined);\n\n\n\n// CUSTOM\n\n\nfunction _VirtualDom_custom(factList, model, render, diff)\n{\n\treturn {\n\t\t$: 3,\n\t\td: _VirtualDom_organizeFacts(factList),\n\t\tg: model,\n\t\th: render,\n\t\ti: diff\n\t};\n}\n\n\n\n// MAP\n\n\nvar _VirtualDom_map = F2(function(tagger, node)\n{\n\treturn {\n\t\t$: 4,\n\t\tj: tagger,\n\t\tk: node,\n\t\tb: 1 + (node.b || 0)\n\t};\n});\n\n\n\n// LAZY\n\n\nfunction _VirtualDom_thunk(refs, thunk)\n{\n\treturn {\n\t\t$: 5,\n\t\tl: refs,\n\t\tm: thunk,\n\t\tk: undefined\n\t};\n}\n\nvar _VirtualDom_lazy = F2(function(func, a)\n{\n\treturn _VirtualDom_thunk([func, a], function() {\n\t\treturn func(a);\n\t});\n});\n\nvar _VirtualDom_lazy2 = F3(function(func, a, b)\n{\n\treturn _VirtualDom_thunk([func, a, b], function() {\n\t\treturn A2(func, a, b);\n\t});\n});\n\nvar _VirtualDom_lazy3 = F4(function(func, a, b, c)\n{\n\treturn _VirtualDom_thunk([func, a, b, c], function() {\n\t\treturn A3(func, a, b, c);\n\t});\n});\n\nvar _VirtualDom_lazy4 = F5(function(func, a, b, c, d)\n{\n\treturn _VirtualDom_thunk([func, a, b, c, d], function() {\n\t\treturn A4(func, a, b, c, d);\n\t});\n});\n\nvar _VirtualDom_lazy5 = F6(function(func, a, b, c, d, e)\n{\n\treturn _VirtualDom_thunk([func, a, b, c, d, e], function() {\n\t\treturn A5(func, a, b, c, d, e);\n\t});\n});\n\nvar _VirtualDom_lazy6 = F7(function(func, a, b, c, d, e, f)\n{\n\treturn _VirtualDom_thunk([func, a, b, c, d, e, f], function() {\n\t\treturn A6(func, a, b, c, d, e, f);\n\t});\n});\n\nvar _VirtualDom_lazy7 = F8(function(func, a, b, c, d, e, f, g)\n{\n\treturn _VirtualDom_thunk([func, a, b, c, d, e, f, g], function() {\n\t\treturn A7(func, a, b, c, d, e, f, g);\n\t});\n});\n\nvar _VirtualDom_lazy8 = F9(function(func, a, b, c, d, e, f, g, h)\n{\n\treturn _VirtualDom_thunk([func, a, b, c, d, e, f, g, h], function() {\n\t\treturn A8(func, a, b, c, d, e, f, g, h);\n\t});\n});\n\n\n\n// FACTS\n\n\nvar _VirtualDom_on = F2(function(key, handler)\n{\n\treturn {\n\t\t$: 'a0',\n\t\tn: key,\n\t\to: handler\n\t};\n});\nvar _VirtualDom_style = F2(function(key, value)\n{\n\treturn {\n\t\t$: 'a1',\n\t\tn: key,\n\t\to: value\n\t};\n});\nvar _VirtualDom_property = F2(function(key, value)\n{\n\treturn {\n\t\t$: 'a2',\n\t\tn: key,\n\t\to: value\n\t};\n});\nvar _VirtualDom_attribute = F2(function(key, value)\n{\n\treturn {\n\t\t$: 'a3',\n\t\tn: key,\n\t\to: value\n\t};\n});\nvar _VirtualDom_attributeNS = F3(function(namespace, key, value)\n{\n\treturn {\n\t\t$: 'a4',\n\t\tn: key,\n\t\to: { f: namespace, o: value }\n\t};\n});\n\n\n\n// XSS ATTACK VECTOR CHECKS\n\n\nfunction _VirtualDom_noScript(tag)\n{\n\treturn tag == 'script' ? 'p' : tag;\n}\n\nfunction _VirtualDom_noOnOrFormAction(key)\n{\n\treturn /^(on|formAction$)/i.test(key) ? 'data-' + key : key;\n}\n\nfunction _VirtualDom_noInnerHtmlOrFormAction(key)\n{\n\treturn key == 'innerHTML' || key == 'formAction' ? 'data-' + key : key;\n}\n\nfunction _VirtualDom_noJavaScriptUri_UNUSED(value)\n{\n\treturn /^javascript:/i.test(value.replace(/\\s/g,'')) ? '' : value;\n}\n\nfunction _VirtualDom_noJavaScriptUri(value)\n{\n\treturn /^javascript:/i.test(value.replace(/\\s/g,''))\n\t\t? 'javascript:alert(\"This is an XSS vector. Please use ports or web components instead.\")'\n\t\t: value;\n}\n\nfunction _VirtualDom_noJavaScriptOrHtmlUri_UNUSED(value)\n{\n\treturn /^\\s*(javascript:|data:text\\/html)/i.test(value) ? '' : value;\n}\n\nfunction _VirtualDom_noJavaScriptOrHtmlUri(value)\n{\n\treturn /^\\s*(javascript:|data:text\\/html)/i.test(value)\n\t\t? 'javascript:alert(\"This is an XSS vector. Please use ports or web components instead.\")'\n\t\t: value;\n}\n\n\n\n// MAP FACTS\n\n\nvar _VirtualDom_mapAttribute = F2(function(func, attr)\n{\n\treturn (attr.$ === 'a0')\n\t\t? A2(_VirtualDom_on, attr.n, _VirtualDom_mapHandler(func, attr.o))\n\t\t: attr;\n});\n\nfunction _VirtualDom_mapHandler(func, handler)\n{\n\tvar tag = $elm$virtual_dom$VirtualDom$toHandlerInt(handler);\n\n\t// 0 = Normal\n\t// 1 = MayStopPropagation\n\t// 2 = MayPreventDefault\n\t// 3 = Custom\n\n\treturn {\n\t\t$: handler.$,\n\t\ta:\n\t\t\t!tag\n\t\t\t\t? A2($elm$json$Json$Decode$map, func, handler.a)\n\t\t\t\t:\n\t\t\tA3($elm$json$Json$Decode$map2,\n\t\t\t\ttag < 3\n\t\t\t\t\t? _VirtualDom_mapEventTuple\n\t\t\t\t\t: _VirtualDom_mapEventRecord,\n\t\t\t\t$elm$json$Json$Decode$succeed(func),\n\t\t\t\thandler.a\n\t\t\t)\n\t};\n}\n\nvar _VirtualDom_mapEventTuple = F2(function(func, tuple)\n{\n\treturn _Utils_Tuple2(func(tuple.a), tuple.b);\n});\n\nvar _VirtualDom_mapEventRecord = F2(function(func, record)\n{\n\treturn {\n\t\tmessage: func(record.message),\n\t\tstopPropagation: record.stopPropagation,\n\t\tpreventDefault: record.preventDefault\n\t}\n});\n\n\n\n// ORGANIZE FACTS\n\n\nfunction _VirtualDom_organizeFacts(factList)\n{\n\tfor (var facts = {}; factList.b; factList = factList.b) // WHILE_CONS\n\t{\n\t\tvar entry = factList.a;\n\n\t\tvar tag = entry.$;\n\t\tvar key = entry.n;\n\t\tvar value = entry.o;\n\n\t\tif (tag === 'a2')\n\t\t{\n\t\t\t(key === 'className')\n\t\t\t\t? _VirtualDom_addClass(facts, key, _Json_unwrap(value))\n\t\t\t\t: facts[key] = _Json_unwrap(value);\n\n\t\t\tcontinue;\n\t\t}\n\n\t\tvar subFacts = facts[tag] || (facts[tag] = {});\n\t\t(tag === 'a3' && key === 'class')\n\t\t\t? _VirtualDom_addClass(subFacts, key, value)\n\t\t\t: subFacts[key] = value;\n\t}\n\n\treturn facts;\n}\n\nfunction _VirtualDom_addClass(object, key, newClass)\n{\n\tvar classes = object[key];\n\tobject[key] = classes ? classes + ' ' + newClass : newClass;\n}\n\n\n\n// RENDER\n\n\nfunction _VirtualDom_render(vNode, eventNode)\n{\n\tvar tag = vNode.$;\n\n\tif (tag === 5)\n\t{\n\t\treturn _VirtualDom_render(vNode.k || (vNode.k = vNode.m()), eventNode);\n\t}\n\n\tif (tag === 0)\n\t{\n\t\treturn _VirtualDom_doc.createTextNode(vNode.a);\n\t}\n\n\tif (tag === 4)\n\t{\n\t\tvar subNode = vNode.k;\n\t\tvar tagger = vNode.j;\n\n\t\twhile (subNode.$ === 4)\n\t\t{\n\t\t\ttypeof tagger !== 'object'\n\t\t\t\t? tagger = [tagger, subNode.j]\n\t\t\t\t: tagger.push(subNode.j);\n\n\t\t\tsubNode = subNode.k;\n\t\t}\n\n\t\tvar subEventRoot = { j: tagger, p: eventNode };\n\t\tvar domNode = _VirtualDom_render(subNode, subEventRoot);\n\t\tdomNode.elm_event_node_ref = subEventRoot;\n\t\treturn domNode;\n\t}\n\n\tif (tag === 3)\n\t{\n\t\tvar domNode = vNode.h(vNode.g);\n\t\t_VirtualDom_applyFacts(domNode, eventNode, vNode.d);\n\t\treturn domNode;\n\t}\n\n\t// at this point `tag` must be 1 or 2\n\n\tvar domNode = vNode.f\n\t\t? _VirtualDom_doc.createElementNS(vNode.f, vNode.c)\n\t\t: _VirtualDom_doc.createElement(vNode.c);\n\n\tif (_VirtualDom_divertHrefToApp && vNode.c == 'a')\n\t{\n\t\tdomNode.addEventListener('click', _VirtualDom_divertHrefToApp(domNode));\n\t}\n\n\t_VirtualDom_applyFacts(domNode, eventNode, vNode.d);\n\n\tfor (var kids = vNode.e, i = 0; i < kids.length; i++)\n\t{\n\t\t_VirtualDom_appendChild(domNode, _VirtualDom_render(tag === 1 ? kids[i] : kids[i].b, eventNode));\n\t}\n\n\treturn domNode;\n}\n\n\n\n// APPLY FACTS\n\n\nfunction _VirtualDom_applyFacts(domNode, eventNode, facts)\n{\n\tfor (var key in facts)\n\t{\n\t\tvar value = facts[key];\n\n\t\tkey === 'a1'\n\t\t\t? _VirtualDom_applyStyles(domNode, value)\n\t\t\t:\n\t\tkey === 'a0'\n\t\t\t? _VirtualDom_applyEvents(domNode, eventNode, value)\n\t\t\t:\n\t\tkey === 'a3'\n\t\t\t? _VirtualDom_applyAttrs(domNode, value)\n\t\t\t:\n\t\tkey === 'a4'\n\t\t\t? _VirtualDom_applyAttrsNS(domNode, value)\n\t\t\t:\n\t\t((key !== 'value' && key !== 'checked') || domNode[key] !== value) && (domNode[key] = value);\n\t}\n}\n\n\n\n// APPLY STYLES\n\n\nfunction _VirtualDom_applyStyles(domNode, styles)\n{\n\tvar domNodeStyle = domNode.style;\n\n\tfor (var key in styles)\n\t{\n\t\tdomNodeStyle[key] = styles[key];\n\t}\n}\n\n\n\n// APPLY ATTRS\n\n\nfunction _VirtualDom_applyAttrs(domNode, attrs)\n{\n\tfor (var key in attrs)\n\t{\n\t\tvar value = attrs[key];\n\t\ttypeof value !== 'undefined'\n\t\t\t? domNode.setAttribute(key, value)\n\t\t\t: domNode.removeAttribute(key);\n\t}\n}\n\n\n\n// APPLY NAMESPACED ATTRS\n\n\nfunction _VirtualDom_applyAttrsNS(domNode, nsAttrs)\n{\n\tfor (var key in nsAttrs)\n\t{\n\t\tvar pair = nsAttrs[key];\n\t\tvar namespace = pair.f;\n\t\tvar value = pair.o;\n\n\t\ttypeof value !== 'undefined'\n\t\t\t? domNode.setAttributeNS(namespace, key, value)\n\t\t\t: domNode.removeAttributeNS(namespace, key);\n\t}\n}\n\n\n\n// APPLY EVENTS\n\n\nfunction _VirtualDom_applyEvents(domNode, eventNode, events)\n{\n\tvar allCallbacks = domNode.elmFs || (domNode.elmFs = {});\n\n\tfor (var key in events)\n\t{\n\t\tvar newHandler = events[key];\n\t\tvar oldCallback = allCallbacks[key];\n\n\t\tif (!newHandler)\n\t\t{\n\t\t\tdomNode.removeEventListener(key, oldCallback);\n\t\t\tallCallbacks[key] = undefined;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (oldCallback)\n\t\t{\n\t\t\tvar oldHandler = oldCallback.q;\n\t\t\tif (oldHandler.$ === newHandler.$)\n\t\t\t{\n\t\t\t\toldCallback.q = newHandler;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tdomNode.removeEventListener(key, oldCallback);\n\t\t}\n\n\t\toldCallback = _VirtualDom_makeCallback(eventNode, newHandler);\n\t\tdomNode.addEventListener(key, oldCallback,\n\t\t\t_VirtualDom_passiveSupported\n\t\t\t&& { passive: $elm$virtual_dom$VirtualDom$toHandlerInt(newHandler) < 2 }\n\t\t);\n\t\tallCallbacks[key] = oldCallback;\n\t}\n}\n\n\n\n// PASSIVE EVENTS\n\n\nvar _VirtualDom_passiveSupported;\n\ntry\n{\n\twindow.addEventListener('t', null, Object.defineProperty({}, 'passive', {\n\t\tget: function() { _VirtualDom_passiveSupported = true; }\n\t}));\n}\ncatch(e) {}\n\n\n\n// EVENT HANDLERS\n\n\nfunction _VirtualDom_makeCallback(eventNode, initialHandler)\n{\n\tfunction callback(event)\n\t{\n\t\tvar handler = callback.q;\n\t\tvar result = _Json_runHelp(handler.a, event);\n\n\t\tif (!$elm$core$Result$isOk(result))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tvar tag = $elm$virtual_dom$VirtualDom$toHandlerInt(handler);\n\n\t\t// 0 = Normal\n\t\t// 1 = MayStopPropagation\n\t\t// 2 = MayPreventDefault\n\t\t// 3 = Custom\n\n\t\tvar value = result.a;\n\t\tvar message = !tag ? value : tag < 3 ? value.a : value.message;\n\t\tvar stopPropagation = tag == 1 ? value.b : tag == 3 && value.stopPropagation;\n\t\tvar currentEventNode = (\n\t\t\tstopPropagation && event.stopPropagation(),\n\t\t\t(tag == 2 ? value.b : tag == 3 && value.preventDefault) && event.preventDefault(),\n\t\t\teventNode\n\t\t);\n\t\tvar tagger;\n\t\tvar i;\n\t\twhile (tagger = currentEventNode.j)\n\t\t{\n\t\t\tif (typeof tagger == 'function')\n\t\t\t{\n\t\t\t\tmessage = tagger(message);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tfor (var i = tagger.length; i--; )\n\t\t\t\t{\n\t\t\t\t\tmessage = tagger[i](message);\n\t\t\t\t}\n\t\t\t}\n\t\t\tcurrentEventNode = currentEventNode.p;\n\t\t}\n\t\tcurrentEventNode(message, stopPropagation); // stopPropagation implies isSync\n\t}\n\n\tcallback.q = initialHandler;\n\n\treturn callback;\n}\n\nfunction _VirtualDom_equalEvents(x, y)\n{\n\treturn x.$ == y.$ && _Json_equality(x.a, y.a);\n}\n\n\n\n// DIFF\n\n\n// TODO: Should we do patches like in iOS?\n//\n// type Patch\n// = At Int Patch\n// | Batch (List Patch)\n// | Change ...\n//\n// How could it not be better?\n//\nfunction _VirtualDom_diff(x, y)\n{\n\tvar patches = [];\n\t_VirtualDom_diffHelp(x, y, patches, 0);\n\treturn patches;\n}\n\n\nfunction _VirtualDom_pushPatch(patches, type, index, data)\n{\n\tvar patch = {\n\t\t$: type,\n\t\tr: index,\n\t\ts: data,\n\t\tt: undefined,\n\t\tu: undefined\n\t};\n\tpatches.push(patch);\n\treturn patch;\n}\n\n\nfunction _VirtualDom_diffHelp(x, y, patches, index)\n{\n\tif (x === y)\n\t{\n\t\treturn;\n\t}\n\n\tvar xType = x.$;\n\tvar yType = y.$;\n\n\t// Bail if you run into different types of nodes. Implies that the\n\t// structure has changed significantly and it's not worth a diff.\n\tif (xType !== yType)\n\t{\n\t\tif (xType === 1 && yType === 2)\n\t\t{\n\t\t\ty = _VirtualDom_dekey(y);\n\t\t\tyType = 1;\n\t\t}\n\t\telse\n\t\t{\n\t\t\t_VirtualDom_pushPatch(patches, 0, index, y);\n\t\t\treturn;\n\t\t}\n\t}\n\n\t// Now we know that both nodes are the same $.\n\tswitch (yType)\n\t{\n\t\tcase 5:\n\t\t\tvar xRefs = x.l;\n\t\t\tvar yRefs = y.l;\n\t\t\tvar i = xRefs.length;\n\t\t\tvar same = i === yRefs.length;\n\t\t\twhile (same && i--)\n\t\t\t{\n\t\t\t\tsame = xRefs[i] === yRefs[i];\n\t\t\t}\n\t\t\tif (same)\n\t\t\t{\n\t\t\t\ty.k = x.k;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\ty.k = y.m();\n\t\t\tvar subPatches = [];\n\t\t\t_VirtualDom_diffHelp(x.k, y.k, subPatches, 0);\n\t\t\tsubPatches.length > 0 && _VirtualDom_pushPatch(patches, 1, index, subPatches);\n\t\t\treturn;\n\n\t\tcase 4:\n\t\t\t// gather nested taggers\n\t\t\tvar xTaggers = x.j;\n\t\t\tvar yTaggers = y.j;\n\t\t\tvar nesting = false;\n\n\t\t\tvar xSubNode = x.k;\n\t\t\twhile (xSubNode.$ === 4)\n\t\t\t{\n\t\t\t\tnesting = true;\n\n\t\t\t\ttypeof xTaggers !== 'object'\n\t\t\t\t\t? xTaggers = [xTaggers, xSubNode.j]\n\t\t\t\t\t: xTaggers.push(xSubNode.j);\n\n\t\t\t\txSubNode = xSubNode.k;\n\t\t\t}\n\n\t\t\tvar ySubNode = y.k;\n\t\t\twhile (ySubNode.$ === 4)\n\t\t\t{\n\t\t\t\tnesting = true;\n\n\t\t\t\ttypeof yTaggers !== 'object'\n\t\t\t\t\t? yTaggers = [yTaggers, ySubNode.j]\n\t\t\t\t\t: yTaggers.push(ySubNode.j);\n\n\t\t\t\tySubNode = ySubNode.k;\n\t\t\t}\n\n\t\t\t// Just bail if different numbers of taggers. This implies the\n\t\t\t// structure of the virtual DOM has changed.\n\t\t\tif (nesting && xTaggers.length !== yTaggers.length)\n\t\t\t{\n\t\t\t\t_VirtualDom_pushPatch(patches, 0, index, y);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// check if taggers are \"the same\"\n\t\t\tif (nesting ? !_VirtualDom_pairwiseRefEqual(xTaggers, yTaggers) : xTaggers !== yTaggers)\n\t\t\t{\n\t\t\t\t_VirtualDom_pushPatch(patches, 2, index, yTaggers);\n\t\t\t}\n\n\t\t\t// diff everything below the taggers\n\t\t\t_VirtualDom_diffHelp(xSubNode, ySubNode, patches, index + 1);\n\t\t\treturn;\n\n\t\tcase 0:\n\t\t\tif (x.a !== y.a)\n\t\t\t{\n\t\t\t\t_VirtualDom_pushPatch(patches, 3, index, y.a);\n\t\t\t}\n\t\t\treturn;\n\n\t\tcase 1:\n\t\t\t_VirtualDom_diffNodes(x, y, patches, index, _VirtualDom_diffKids);\n\t\t\treturn;\n\n\t\tcase 2:\n\t\t\t_VirtualDom_diffNodes(x, y, patches, index, _VirtualDom_diffKeyedKids);\n\t\t\treturn;\n\n\t\tcase 3:\n\t\t\tif (x.h !== y.h)\n\t\t\t{\n\t\t\t\t_VirtualDom_pushPatch(patches, 0, index, y);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar factsDiff = _VirtualDom_diffFacts(x.d, y.d);\n\t\t\tfactsDiff && _VirtualDom_pushPatch(patches, 4, index, factsDiff);\n\n\t\t\tvar patch = y.i(x.g, y.g);\n\t\t\tpatch && _VirtualDom_pushPatch(patches, 5, index, patch);\n\n\t\t\treturn;\n\t}\n}\n\n// assumes the incoming arrays are the same length\nfunction _VirtualDom_pairwiseRefEqual(as, bs)\n{\n\tfor (var i = 0; i < as.length; i++)\n\t{\n\t\tif (as[i] !== bs[i])\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\nfunction _VirtualDom_diffNodes(x, y, patches, index, diffKids)\n{\n\t// Bail if obvious indicators have changed. Implies more serious\n\t// structural changes such that it's not worth it to diff.\n\tif (x.c !== y.c || x.f !== y.f)\n\t{\n\t\t_VirtualDom_pushPatch(patches, 0, index, y);\n\t\treturn;\n\t}\n\n\tvar factsDiff = _VirtualDom_diffFacts(x.d, y.d);\n\tfactsDiff && _VirtualDom_pushPatch(patches, 4, index, factsDiff);\n\n\tdiffKids(x, y, patches, index);\n}\n\n\n\n// DIFF FACTS\n\n\n// TODO Instead of creating a new diff object, it's possible to just test if\n// there *is* a diff. During the actual patch, do the diff again and make the\n// modifications directly. This way, there's no new allocations. Worth it?\nfunction _VirtualDom_diffFacts(x, y, category)\n{\n\tvar diff;\n\n\t// look for changes and removals\n\tfor (var xKey in x)\n\t{\n\t\tif (xKey === 'a1' || xKey === 'a0' || xKey === 'a3' || xKey === 'a4')\n\t\t{\n\t\t\tvar subDiff = _VirtualDom_diffFacts(x[xKey], y[xKey] || {}, xKey);\n\t\t\tif (subDiff)\n\t\t\t{\n\t\t\t\tdiff = diff || {};\n\t\t\t\tdiff[xKey] = subDiff;\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\t// remove if not in the new facts\n\t\tif (!(xKey in y))\n\t\t{\n\t\t\tdiff = diff || {};\n\t\t\tdiff[xKey] =\n\t\t\t\t!category\n\t\t\t\t\t? (typeof x[xKey] === 'string' ? '' : null)\n\t\t\t\t\t:\n\t\t\t\t(category === 'a1')\n\t\t\t\t\t? ''\n\t\t\t\t\t:\n\t\t\t\t(category === 'a0' || category === 'a3')\n\t\t\t\t\t? undefined\n\t\t\t\t\t:\n\t\t\t\t{ f: x[xKey].f, o: undefined };\n\n\t\t\tcontinue;\n\t\t}\n\n\t\tvar xValue = x[xKey];\n\t\tvar yValue = y[xKey];\n\n\t\t// reference equal, so don't worry about it\n\t\tif (xValue === yValue && xKey !== 'value' && xKey !== 'checked'\n\t\t\t|| category === 'a0' && _VirtualDom_equalEvents(xValue, yValue))\n\t\t{\n\t\t\tcontinue;\n\t\t}\n\n\t\tdiff = diff || {};\n\t\tdiff[xKey] = yValue;\n\t}\n\n\t// add new stuff\n\tfor (var yKey in y)\n\t{\n\t\tif (!(yKey in x))\n\t\t{\n\t\t\tdiff = diff || {};\n\t\t\tdiff[yKey] = y[yKey];\n\t\t}\n\t}\n\n\treturn diff;\n}\n\n\n\n// DIFF KIDS\n\n\nfunction _VirtualDom_diffKids(xParent, yParent, patches, index)\n{\n\tvar xKids = xParent.e;\n\tvar yKids = yParent.e;\n\n\tvar xLen = xKids.length;\n\tvar yLen = yKids.length;\n\n\t// FIGURE OUT IF THERE ARE INSERTS OR REMOVALS\n\n\tif (xLen > yLen)\n\t{\n\t\t_VirtualDom_pushPatch(patches, 6, index, {\n\t\t\tv: yLen,\n\t\t\ti: xLen - yLen\n\t\t});\n\t}\n\telse if (xLen < yLen)\n\t{\n\t\t_VirtualDom_pushPatch(patches, 7, index, {\n\t\t\tv: xLen,\n\t\t\te: yKids\n\t\t});\n\t}\n\n\t// PAIRWISE DIFF EVERYTHING ELSE\n\n\tfor (var minLen = xLen < yLen ? xLen : yLen, i = 0; i < minLen; i++)\n\t{\n\t\tvar xKid = xKids[i];\n\t\t_VirtualDom_diffHelp(xKid, yKids[i], patches, ++index);\n\t\tindex += xKid.b || 0;\n\t}\n}\n\n\n\n// KEYED DIFF\n\n\nfunction _VirtualDom_diffKeyedKids(xParent, yParent, patches, rootIndex)\n{\n\tvar localPatches = [];\n\n\tvar changes = {}; // Dict String Entry\n\tvar inserts = []; // Array { index : Int, entry : Entry }\n\t// type Entry = { tag : String, vnode : VNode, index : Int, data : _ }\n\n\tvar xKids = xParent.e;\n\tvar yKids = yParent.e;\n\tvar xLen = xKids.length;\n\tvar yLen = yKids.length;\n\tvar xIndex = 0;\n\tvar yIndex = 0;\n\n\tvar index = rootIndex;\n\n\twhile (xIndex < xLen && yIndex < yLen)\n\t{\n\t\tvar x = xKids[xIndex];\n\t\tvar y = yKids[yIndex];\n\n\t\tvar xKey = x.a;\n\t\tvar yKey = y.a;\n\t\tvar xNode = x.b;\n\t\tvar yNode = y.b;\n\n\t\tvar newMatch = undefined;\n\t\tvar oldMatch = undefined;\n\n\t\t// check if keys match\n\n\t\tif (xKey === yKey)\n\t\t{\n\t\t\tindex++;\n\t\t\t_VirtualDom_diffHelp(xNode, yNode, localPatches, index);\n\t\t\tindex += xNode.b || 0;\n\n\t\t\txIndex++;\n\t\t\tyIndex++;\n\t\t\tcontinue;\n\t\t}\n\n\t\t// look ahead 1 to detect insertions and removals.\n\n\t\tvar xNext = xKids[xIndex + 1];\n\t\tvar yNext = yKids[yIndex + 1];\n\n\t\tif (xNext)\n\t\t{\n\t\t\tvar xNextKey = xNext.a;\n\t\t\tvar xNextNode = xNext.b;\n\t\t\toldMatch = yKey === xNextKey;\n\t\t}\n\n\t\tif (yNext)\n\t\t{\n\t\t\tvar yNextKey = yNext.a;\n\t\t\tvar yNextNode = yNext.b;\n\t\t\tnewMatch = xKey === yNextKey;\n\t\t}\n\n\n\t\t// swap x and y\n\t\tif (newMatch && oldMatch)\n\t\t{\n\t\t\tindex++;\n\t\t\t_VirtualDom_diffHelp(xNode, yNextNode, localPatches, index);\n\t\t\t_VirtualDom_insertNode(changes, localPatches, xKey, yNode, yIndex, inserts);\n\t\t\tindex += xNode.b || 0;\n\n\t\t\tindex++;\n\t\t\t_VirtualDom_removeNode(changes, localPatches, xKey, xNextNode, index);\n\t\t\tindex += xNextNode.b || 0;\n\n\t\t\txIndex += 2;\n\t\t\tyIndex += 2;\n\t\t\tcontinue;\n\t\t}\n\n\t\t// insert y\n\t\tif (newMatch)\n\t\t{\n\t\t\tindex++;\n\t\t\t_VirtualDom_insertNode(changes, localPatches, yKey, yNode, yIndex, inserts);\n\t\t\t_VirtualDom_diffHelp(xNode, yNextNode, localPatches, index);\n\t\t\tindex += xNode.b || 0;\n\n\t\t\txIndex += 1;\n\t\t\tyIndex += 2;\n\t\t\tcontinue;\n\t\t}\n\n\t\t// remove x\n\t\tif (oldMatch)\n\t\t{\n\t\t\tindex++;\n\t\t\t_VirtualDom_removeNode(changes, localPatches, xKey, xNode, index);\n\t\t\tindex += xNode.b || 0;\n\n\t\t\tindex++;\n\t\t\t_VirtualDom_diffHelp(xNextNode, yNode, localPatches, index);\n\t\t\tindex += xNextNode.b || 0;\n\n\t\t\txIndex += 2;\n\t\t\tyIndex += 1;\n\t\t\tcontinue;\n\t\t}\n\n\t\t// remove x, insert y\n\t\tif (xNext && xNextKey === yNextKey)\n\t\t{\n\t\t\tindex++;\n\t\t\t_VirtualDom_removeNode(changes, localPatches, xKey, xNode, index);\n\t\t\t_VirtualDom_insertNode(changes, localPatches, yKey, yNode, yIndex, inserts);\n\t\t\tindex += xNode.b || 0;\n\n\t\t\tindex++;\n\t\t\t_VirtualDom_diffHelp(xNextNode, yNextNode, localPatches, index);\n\t\t\tindex += xNextNode.b || 0;\n\n\t\t\txIndex += 2;\n\t\t\tyIndex += 2;\n\t\t\tcontinue;\n\t\t}\n\n\t\tbreak;\n\t}\n\n\t// eat up any remaining nodes with removeNode and insertNode\n\n\twhile (xIndex < xLen)\n\t{\n\t\tindex++;\n\t\tvar x = xKids[xIndex];\n\t\tvar xNode = x.b;\n\t\t_VirtualDom_removeNode(changes, localPatches, x.a, xNode, index);\n\t\tindex += xNode.b || 0;\n\t\txIndex++;\n\t}\n\n\twhile (yIndex < yLen)\n\t{\n\t\tvar endInserts = endInserts || [];\n\t\tvar y = yKids[yIndex];\n\t\t_VirtualDom_insertNode(changes, localPatches, y.a, y.b, undefined, endInserts);\n\t\tyIndex++;\n\t}\n\n\tif (localPatches.length > 0 || inserts.length > 0 || endInserts)\n\t{\n\t\t_VirtualDom_pushPatch(patches, 8, rootIndex, {\n\t\t\tw: localPatches,\n\t\t\tx: inserts,\n\t\t\ty: endInserts\n\t\t});\n\t}\n}\n\n\n\n// CHANGES FROM KEYED DIFF\n\n\nvar _VirtualDom_POSTFIX = '_elmW6BL';\n\n\nfunction _VirtualDom_insertNode(changes, localPatches, key, vnode, yIndex, inserts)\n{\n\tvar entry = changes[key];\n\n\t// never seen this key before\n\tif (!entry)\n\t{\n\t\tentry = {\n\t\t\tc: 0,\n\t\t\tz: vnode,\n\t\t\tr: yIndex,\n\t\t\ts: undefined\n\t\t};\n\n\t\tinserts.push({ r: yIndex, A: entry });\n\t\tchanges[key] = entry;\n\n\t\treturn;\n\t}\n\n\t// this key was removed earlier, a match!\n\tif (entry.c === 1)\n\t{\n\t\tinserts.push({ r: yIndex, A: entry });\n\n\t\tentry.c = 2;\n\t\tvar subPatches = [];\n\t\t_VirtualDom_diffHelp(entry.z, vnode, subPatches, entry.r);\n\t\tentry.r = yIndex;\n\t\tentry.s.s = {\n\t\t\tw: subPatches,\n\t\t\tA: entry\n\t\t};\n\n\t\treturn;\n\t}\n\n\t// this key has already been inserted or moved, a duplicate!\n\t_VirtualDom_insertNode(changes, localPatches, key + _VirtualDom_POSTFIX, vnode, yIndex, inserts);\n}\n\n\nfunction _VirtualDom_removeNode(changes, localPatches, key, vnode, index)\n{\n\tvar entry = changes[key];\n\n\t// never seen this key before\n\tif (!entry)\n\t{\n\t\tvar patch = _VirtualDom_pushPatch(localPatches, 9, index, undefined);\n\n\t\tchanges[key] = {\n\t\t\tc: 1,\n\t\t\tz: vnode,\n\t\t\tr: index,\n\t\t\ts: patch\n\t\t};\n\n\t\treturn;\n\t}\n\n\t// this key was inserted earlier, a match!\n\tif (entry.c === 0)\n\t{\n\t\tentry.c = 2;\n\t\tvar subPatches = [];\n\t\t_VirtualDom_diffHelp(vnode, entry.z, subPatches, index);\n\n\t\t_VirtualDom_pushPatch(localPatches, 9, index, {\n\t\t\tw: subPatches,\n\t\t\tA: entry\n\t\t});\n\n\t\treturn;\n\t}\n\n\t// this key has already been removed or moved, a duplicate!\n\t_VirtualDom_removeNode(changes, localPatches, key + _VirtualDom_POSTFIX, vnode, index);\n}\n\n\n\n// ADD DOM NODES\n//\n// Each DOM node has an \"index\" assigned in order of traversal. It is important\n// to minimize our crawl over the actual DOM, so these indexes (along with the\n// descendantsCount of virtual nodes) let us skip touching entire subtrees of\n// the DOM if we know there are no patches there.\n\n\nfunction _VirtualDom_addDomNodes(domNode, vNode, patches, eventNode)\n{\n\t_VirtualDom_addDomNodesHelp(domNode, vNode, patches, 0, 0, vNode.b, eventNode);\n}\n\n\n// assumes `patches` is non-empty and indexes increase monotonically.\nfunction _VirtualDom_addDomNodesHelp(domNode, vNode, patches, i, low, high, eventNode)\n{\n\tvar patch = patches[i];\n\tvar index = patch.r;\n\n\twhile (index === low)\n\t{\n\t\tvar patchType = patch.$;\n\n\t\tif (patchType === 1)\n\t\t{\n\t\t\t_VirtualDom_addDomNodes(domNode, vNode.k, patch.s, eventNode);\n\t\t}\n\t\telse if (patchType === 8)\n\t\t{\n\t\t\tpatch.t = domNode;\n\t\t\tpatch.u = eventNode;\n\n\t\t\tvar subPatches = patch.s.w;\n\t\t\tif (subPatches.length > 0)\n\t\t\t{\n\t\t\t\t_VirtualDom_addDomNodesHelp(domNode, vNode, subPatches, 0, low, high, eventNode);\n\t\t\t}\n\t\t}\n\t\telse if (patchType === 9)\n\t\t{\n\t\t\tpatch.t = domNode;\n\t\t\tpatch.u = eventNode;\n\n\t\t\tvar data = patch.s;\n\t\t\tif (data)\n\t\t\t{\n\t\t\t\tdata.A.s = domNode;\n\t\t\t\tvar subPatches = data.w;\n\t\t\t\tif (subPatches.length > 0)\n\t\t\t\t{\n\t\t\t\t\t_VirtualDom_addDomNodesHelp(domNode, vNode, subPatches, 0, low, high, eventNode);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tpatch.t = domNode;\n\t\t\tpatch.u = eventNode;\n\t\t}\n\n\t\ti++;\n\n\t\tif (!(patch = patches[i]) || (index = patch.r) > high)\n\t\t{\n\t\t\treturn i;\n\t\t}\n\t}\n\n\tvar tag = vNode.$;\n\n\tif (tag === 4)\n\t{\n\t\tvar subNode = vNode.k;\n\n\t\twhile (subNode.$ === 4)\n\t\t{\n\t\t\tsubNode = subNode.k;\n\t\t}\n\n\t\treturn _VirtualDom_addDomNodesHelp(domNode, subNode, patches, i, low + 1, high, domNode.elm_event_node_ref);\n\t}\n\n\t// tag must be 1 or 2 at this point\n\n\tvar vKids = vNode.e;\n\tvar childNodes = domNode.childNodes;\n\tfor (var j = 0; j < vKids.length; j++)\n\t{\n\t\tlow++;\n\t\tvar vKid = tag === 1 ? vKids[j] : vKids[j].b;\n\t\tvar nextLow = low + (vKid.b || 0);\n\t\tif (low <= index && index <= nextLow)\n\t\t{\n\t\t\ti = _VirtualDom_addDomNodesHelp(childNodes[j], vKid, patches, i, low, nextLow, eventNode);\n\t\t\tif (!(patch = patches[i]) || (index = patch.r) > high)\n\t\t\t{\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t\tlow = nextLow;\n\t}\n\treturn i;\n}\n\n\n\n// APPLY PATCHES\n\n\nfunction _VirtualDom_applyPatches(rootDomNode, oldVirtualNode, patches, eventNode)\n{\n\tif (patches.length === 0)\n\t{\n\t\treturn rootDomNode;\n\t}\n\n\t_VirtualDom_addDomNodes(rootDomNode, oldVirtualNode, patches, eventNode);\n\treturn _VirtualDom_applyPatchesHelp(rootDomNode, patches);\n}\n\nfunction _VirtualDom_applyPatchesHelp(rootDomNode, patches)\n{\n\tfor (var i = 0; i < patches.length; i++)\n\t{\n\t\tvar patch = patches[i];\n\t\tvar localDomNode = patch.t\n\t\tvar newNode = _VirtualDom_applyPatch(localDomNode, patch);\n\t\tif (localDomNode === rootDomNode)\n\t\t{\n\t\t\trootDomNode = newNode;\n\t\t}\n\t}\n\treturn rootDomNode;\n}\n\nfunction _VirtualDom_applyPatch(domNode, patch)\n{\n\tswitch (patch.$)\n\t{\n\t\tcase 0:\n\t\t\treturn _VirtualDom_applyPatchRedraw(domNode, patch.s, patch.u);\n\n\t\tcase 4:\n\t\t\t_VirtualDom_applyFacts(domNode, patch.u, patch.s);\n\t\t\treturn domNode;\n\n\t\tcase 3:\n\t\t\tdomNode.replaceData(0, domNode.length, patch.s);\n\t\t\treturn domNode;\n\n\t\tcase 1:\n\t\t\treturn _VirtualDom_applyPatchesHelp(domNode, patch.s);\n\n\t\tcase 2:\n\t\t\tif (domNode.elm_event_node_ref)\n\t\t\t{\n\t\t\t\tdomNode.elm_event_node_ref.j = patch.s;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tdomNode.elm_event_node_ref = { j: patch.s, p: patch.u };\n\t\t\t}\n\t\t\treturn domNode;\n\n\t\tcase 6:\n\t\t\tvar data = patch.s;\n\t\t\tfor (var i = 0; i < data.i; i++)\n\t\t\t{\n\t\t\t\tdomNode.removeChild(domNode.childNodes[data.v]);\n\t\t\t}\n\t\t\treturn domNode;\n\n\t\tcase 7:\n\t\t\tvar data = patch.s;\n\t\t\tvar kids = data.e;\n\t\t\tvar i = data.v;\n\t\t\tvar theEnd = domNode.childNodes[i];\n\t\t\tfor (; i < kids.length; i++)\n\t\t\t{\n\t\t\t\tdomNode.insertBefore(_VirtualDom_render(kids[i], patch.u), theEnd);\n\t\t\t}\n\t\t\treturn domNode;\n\n\t\tcase 9:\n\t\t\tvar data = patch.s;\n\t\t\tif (!data)\n\t\t\t{\n\t\t\t\tdomNode.parentNode.removeChild(domNode);\n\t\t\t\treturn domNode;\n\t\t\t}\n\t\t\tvar entry = data.A;\n\t\t\tif (typeof entry.r !== 'undefined')\n\t\t\t{\n\t\t\t\tdomNode.parentNode.removeChild(domNode);\n\t\t\t}\n\t\t\tentry.s = _VirtualDom_applyPatchesHelp(domNode, data.w);\n\t\t\treturn domNode;\n\n\t\tcase 8:\n\t\t\treturn _VirtualDom_applyPatchReorder(domNode, patch);\n\n\t\tcase 5:\n\t\t\treturn patch.s(domNode);\n\n\t\tdefault:\n\t\t\t_Debug_crash(10); // 'Ran into an unknown patch!'\n\t}\n}\n\n\nfunction _VirtualDom_applyPatchRedraw(domNode, vNode, eventNode)\n{\n\tvar parentNode = domNode.parentNode;\n\tvar newNode = _VirtualDom_render(vNode, eventNode);\n\n\tif (!newNode.elm_event_node_ref)\n\t{\n\t\tnewNode.elm_event_node_ref = domNode.elm_event_node_ref;\n\t}\n\n\tif (parentNode && newNode !== domNode)\n\t{\n\t\tparentNode.replaceChild(newNode, domNode);\n\t}\n\treturn newNode;\n}\n\n\nfunction _VirtualDom_applyPatchReorder(domNode, patch)\n{\n\tvar data = patch.s;\n\n\t// remove end inserts\n\tvar frag = _VirtualDom_applyPatchReorderEndInsertsHelp(data.y, patch);\n\n\t// removals\n\tdomNode = _VirtualDom_applyPatchesHelp(domNode, data.w);\n\n\t// inserts\n\tvar inserts = data.x;\n\tfor (var i = 0; i < inserts.length; i++)\n\t{\n\t\tvar insert = inserts[i];\n\t\tvar entry = insert.A;\n\t\tvar node = entry.c === 2\n\t\t\t? entry.s\n\t\t\t: _VirtualDom_render(entry.z, patch.u);\n\t\tdomNode.insertBefore(node, domNode.childNodes[insert.r]);\n\t}\n\n\t// add end inserts\n\tif (frag)\n\t{\n\t\t_VirtualDom_appendChild(domNode, frag);\n\t}\n\n\treturn domNode;\n}\n\n\nfunction _VirtualDom_applyPatchReorderEndInsertsHelp(endInserts, patch)\n{\n\tif (!endInserts)\n\t{\n\t\treturn;\n\t}\n\n\tvar frag = _VirtualDom_doc.createDocumentFragment();\n\tfor (var i = 0; i < endInserts.length; i++)\n\t{\n\t\tvar insert = endInserts[i];\n\t\tvar entry = insert.A;\n\t\t_VirtualDom_appendChild(frag, entry.c === 2\n\t\t\t? entry.s\n\t\t\t: _VirtualDom_render(entry.z, patch.u)\n\t\t);\n\t}\n\treturn frag;\n}\n\n\nfunction _VirtualDom_virtualize(node)\n{\n\t// TEXT NODES\n\n\tif (node.nodeType === 3)\n\t{\n\t\treturn _VirtualDom_text(node.textContent);\n\t}\n\n\n\t// WEIRD NODES\n\n\tif (node.nodeType !== 1)\n\t{\n\t\treturn _VirtualDom_text('');\n\t}\n\n\n\t// ELEMENT NODES\n\n\tvar attrList = _List_Nil;\n\tvar attrs = node.attributes;\n\tfor (var i = attrs.length; i--; )\n\t{\n\t\tvar attr = attrs[i];\n\t\tvar name = attr.name;\n\t\tvar value = attr.value;\n\t\tattrList = _List_Cons( A2(_VirtualDom_attribute, name, value), attrList );\n\t}\n\n\tvar tag = node.tagName.toLowerCase();\n\tvar kidList = _List_Nil;\n\tvar kids = node.childNodes;\n\n\tfor (var i = kids.length; i--; )\n\t{\n\t\tkidList = _List_Cons(_VirtualDom_virtualize(kids[i]), kidList);\n\t}\n\treturn A3(_VirtualDom_node, tag, attrList, kidList);\n}\n\nfunction _VirtualDom_dekey(keyedNode)\n{\n\tvar keyedKids = keyedNode.e;\n\tvar len = keyedKids.length;\n\tvar kids = new Array(len);\n\tfor (var i = 0; i < len; i++)\n\t{\n\t\tkids[i] = keyedKids[i].b;\n\t}\n\n\treturn {\n\t\t$: 1,\n\t\tc: keyedNode.c,\n\t\td: keyedNode.d,\n\t\te: kids,\n\t\tf: keyedNode.f,\n\t\tb: keyedNode.b\n\t};\n}\n\n\n\nvar _Bitwise_and = F2(function(a, b)\n{\n\treturn a & b;\n});\n\nvar _Bitwise_or = F2(function(a, b)\n{\n\treturn a | b;\n});\n\nvar _Bitwise_xor = F2(function(a, b)\n{\n\treturn a ^ b;\n});\n\nfunction _Bitwise_complement(a)\n{\n\treturn ~a;\n};\n\nvar _Bitwise_shiftLeftBy = F2(function(offset, a)\n{\n\treturn a << offset;\n});\n\nvar _Bitwise_shiftRightBy = F2(function(offset, a)\n{\n\treturn a >> offset;\n});\n\nvar _Bitwise_shiftRightZfBy = F2(function(offset, a)\n{\n\treturn a >>> offset;\n});\n\n\n\n\n// HELPERS\n\n\nfunction _Debugger_unsafeCoerce(value)\n{\n\treturn value;\n}\n\n\n\n// PROGRAMS\n\n\nvar _Debugger_element = F4(function(impl, flagDecoder, debugMetadata, args)\n{\n\treturn _Platform_initialize(\n\t\tflagDecoder,\n\t\targs,\n\t\tA3($elm$browser$Debugger$Main$wrapInit, _Json_wrap(debugMetadata), _Debugger_popout(), impl.init),\n\t\t$elm$browser$Debugger$Main$wrapUpdate(impl.update),\n\t\t$elm$browser$Debugger$Main$wrapSubs(impl.subscriptions),\n\t\tfunction(sendToApp, initialModel)\n\t\t{\n\t\t\tvar view = impl.view;\n\t\t\tvar title = _VirtualDom_doc.title;\n\t\t\tvar domNode = args && args['node'] ? args['node'] : _Debug_crash(0);\n\t\t\tvar currNode = _VirtualDom_virtualize(domNode);\n\t\t\tvar currBlocker = $elm$browser$Debugger$Main$toBlockerType(initialModel);\n\t\t\tvar currPopout;\n\n\t\t\tvar cornerNode = _VirtualDom_doc.createElement('div');\n\t\t\tdomNode.parentNode.insertBefore(cornerNode, domNode.nextSibling);\n\t\t\tvar cornerCurr = _VirtualDom_virtualize(cornerNode);\n\n\t\t\tinitialModel.popout.a = sendToApp;\n\n\t\t\treturn _Browser_makeAnimator(initialModel, function(model)\n\t\t\t{\n\t\t\t\tvar nextNode = A2(_VirtualDom_map, $elm$browser$Debugger$Main$UserMsg, view($elm$browser$Debugger$Main$getUserModel(model)));\n\t\t\t\tvar patches = _VirtualDom_diff(currNode, nextNode);\n\t\t\t\tdomNode = _VirtualDom_applyPatches(domNode, currNode, patches, sendToApp);\n\t\t\t\tcurrNode = nextNode;\n\n\t\t\t\t// update blocker\n\n\t\t\t\tvar nextBlocker = $elm$browser$Debugger$Main$toBlockerType(model);\n\t\t\t\t_Debugger_updateBlocker(currBlocker, nextBlocker);\n\t\t\t\tcurrBlocker = nextBlocker;\n\n\t\t\t\t// view corner\n\n\t\t\t\tvar cornerNext = $elm$browser$Debugger$Main$cornerView(model);\n\t\t\t\tvar cornerPatches = _VirtualDom_diff(cornerCurr, cornerNext);\n\t\t\t\tcornerNode = _VirtualDom_applyPatches(cornerNode, cornerCurr, cornerPatches, sendToApp);\n\t\t\t\tcornerCurr = cornerNext;\n\n\t\t\t\tif (!model.popout.b)\n\t\t\t\t{\n\t\t\t\t\tcurrPopout = undefined;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// view popout\n\n\t\t\t\t_VirtualDom_doc = model.popout.b; // SWITCH TO POPOUT DOC\n\t\t\t\tcurrPopout || (currPopout = _VirtualDom_virtualize(model.popout.b));\n\t\t\t\tvar nextPopout = $elm$browser$Debugger$Main$popoutView(model);\n\t\t\t\tvar popoutPatches = _VirtualDom_diff(currPopout, nextPopout);\n\t\t\t\t_VirtualDom_applyPatches(model.popout.b.body, currPopout, popoutPatches, sendToApp);\n\t\t\t\tcurrPopout = nextPopout;\n\t\t\t\t_VirtualDom_doc = document; // SWITCH BACK TO NORMAL DOC\n\t\t\t});\n\t\t}\n\t);\n});\n\n\nvar _Debugger_document = F4(function(impl, flagDecoder, debugMetadata, args)\n{\n\treturn _Platform_initialize(\n\t\tflagDecoder,\n\t\targs,\n\t\tA3($elm$browser$Debugger$Main$wrapInit, _Json_wrap(debugMetadata), _Debugger_popout(), impl.init),\n\t\t$elm$browser$Debugger$Main$wrapUpdate(impl.update),\n\t\t$elm$browser$Debugger$Main$wrapSubs(impl.subscriptions),\n\t\tfunction(sendToApp, initialModel)\n\t\t{\n\t\t\tvar divertHrefToApp = impl.setup && impl.setup(function(x) { return sendToApp($elm$browser$Debugger$Main$UserMsg(x)); });\n\t\t\tvar view = impl.view;\n\t\t\tvar title = _VirtualDom_doc.title;\n\t\t\tvar bodyNode = _VirtualDom_doc.body;\n\t\t\tvar currNode = _VirtualDom_virtualize(bodyNode);\n\t\t\tvar currBlocker = $elm$browser$Debugger$Main$toBlockerType(initialModel);\n\t\t\tvar currPopout;\n\n\t\t\tinitialModel.popout.a = sendToApp;\n\n\t\t\treturn _Browser_makeAnimator(initialModel, function(model)\n\t\t\t{\n\t\t\t\t_VirtualDom_divertHrefToApp = divertHrefToApp;\n\t\t\t\tvar doc = view($elm$browser$Debugger$Main$getUserModel(model));\n\t\t\t\tvar nextNode = _VirtualDom_node('body')(_List_Nil)(\n\t\t\t\t\t_Utils_ap(\n\t\t\t\t\t\tA2($elm$core$List$map, _VirtualDom_map($elm$browser$Debugger$Main$UserMsg), doc.body),\n\t\t\t\t\t\t_List_Cons($elm$browser$Debugger$Main$cornerView(model), _List_Nil)\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tvar patches = _VirtualDom_diff(currNode, nextNode);\n\t\t\t\tbodyNode = _VirtualDom_applyPatches(bodyNode, currNode, patches, sendToApp);\n\t\t\t\tcurrNode = nextNode;\n\t\t\t\t_VirtualDom_divertHrefToApp = 0;\n\t\t\t\t(title !== doc.title) && (_VirtualDom_doc.title = title = doc.title);\n\n\t\t\t\t// update blocker\n\n\t\t\t\tvar nextBlocker = $elm$browser$Debugger$Main$toBlockerType(model);\n\t\t\t\t_Debugger_updateBlocker(currBlocker, nextBlocker);\n\t\t\t\tcurrBlocker = nextBlocker;\n\n\t\t\t\t// view popout\n\n\t\t\t\tif (!model.popout.b) { currPopout = undefined; return; }\n\n\t\t\t\t_VirtualDom_doc = model.popout.b; // SWITCH TO POPOUT DOC\n\t\t\t\tcurrPopout || (currPopout = _VirtualDom_virtualize(model.popout.b));\n\t\t\t\tvar nextPopout = $elm$browser$Debugger$Main$popoutView(model);\n\t\t\t\tvar popoutPatches = _VirtualDom_diff(currPopout, nextPopout);\n\t\t\t\t_VirtualDom_applyPatches(model.popout.b.body, currPopout, popoutPatches, sendToApp);\n\t\t\t\tcurrPopout = nextPopout;\n\t\t\t\t_VirtualDom_doc = document; // SWITCH BACK TO NORMAL DOC\n\t\t\t});\n\t\t}\n\t);\n});\n\n\nfunction _Debugger_popout()\n{\n\treturn {\n\t\tb: undefined,\n\t\ta: undefined\n\t};\n}\n\nfunction _Debugger_isOpen(popout)\n{\n\treturn !!popout.b;\n}\n\nfunction _Debugger_open(popout)\n{\n\treturn _Scheduler_binding(function(callback)\n\t{\n\t\t_Debugger_openWindow(popout);\n\t\tcallback(_Scheduler_succeed(_Utils_Tuple0));\n\t});\n}\n\nfunction _Debugger_openWindow(popout)\n{\n\tvar w = $elm$browser$Debugger$Main$initialWindowWidth,\n\t\th = $elm$browser$Debugger$Main$initialWindowHeight,\n\t \tx = screen.width - w,\n\t\ty = screen.height - h;\n\n\tvar debuggerWindow = window.open('', '', 'width=' + w + ',height=' + h + ',left=' + x + ',top=' + y);\n\tvar doc = debuggerWindow.document;\n\tdoc.title = 'Elm Debugger';\n\n\t// handle arrow keys\n\tdoc.addEventListener('keydown', function(event) {\n\t\tevent.metaKey && event.which === 82 && window.location.reload();\n\t\tevent.key === 'ArrowUp' && (popout.a($elm$browser$Debugger$Main$Up ), event.preventDefault());\n\t\tevent.key === 'ArrowDown' && (popout.a($elm$browser$Debugger$Main$Down), event.preventDefault());\n\t});\n\n\t// handle window close\n\twindow.addEventListener('unload', close);\n\tdebuggerWindow.addEventListener('unload', function() {\n\t\tpopout.b = undefined;\n\t\tpopout.a($elm$browser$Debugger$Main$NoOp);\n\t\twindow.removeEventListener('unload', close);\n\t});\n\n\tfunction close() {\n\t\tpopout.b = undefined;\n\t\tpopout.a($elm$browser$Debugger$Main$NoOp);\n\t\tdebuggerWindow.close();\n\t}\n\n\t// register new window\n\tpopout.b = doc;\n}\n\n\n\n// SCROLL\n\n\nfunction _Debugger_scroll(popout)\n{\n\treturn _Scheduler_binding(function(callback)\n\t{\n\t\tif (popout.b)\n\t\t{\n\t\t\tvar msgs = popout.b.getElementById('elm-debugger-sidebar');\n\t\t\tif (msgs && msgs.scrollTop !== 0)\n\t\t\t{\n\t\t\t\tmsgs.scrollTop = 0;\n\t\t\t}\n\t\t}\n\t\tcallback(_Scheduler_succeed(_Utils_Tuple0));\n\t});\n}\n\n\nvar _Debugger_scrollTo = F2(function(id, popout)\n{\n\treturn _Scheduler_binding(function(callback)\n\t{\n\t\tif (popout.b)\n\t\t{\n\t\t\tvar msg = popout.b.getElementById(id);\n\t\t\tif (msg)\n\t\t\t{\n\t\t\t\tmsg.scrollIntoView(false);\n\t\t\t}\n\t\t}\n\t\tcallback(_Scheduler_succeed(_Utils_Tuple0));\n\t});\n});\n\n\n\n// UPLOAD\n\n\nfunction _Debugger_upload(popout)\n{\n\treturn _Scheduler_binding(function(callback)\n\t{\n\t\tvar doc = popout.b || document;\n\t\tvar element = doc.createElement('input');\n\t\telement.setAttribute('type', 'file');\n\t\telement.setAttribute('accept', 'text/json');\n\t\telement.style.display = 'none';\n\t\telement.addEventListener('change', function(event)\n\t\t{\n\t\t\tvar fileReader = new FileReader();\n\t\t\tfileReader.onload = function(e)\n\t\t\t{\n\t\t\t\tcallback(_Scheduler_succeed(e.target.result));\n\t\t\t};\n\t\t\tfileReader.readAsText(event.target.files[0]);\n\t\t\tdoc.body.removeChild(element);\n\t\t});\n\t\tdoc.body.appendChild(element);\n\t\telement.click();\n\t});\n}\n\n\n\n// DOWNLOAD\n\n\nvar _Debugger_download = F2(function(historyLength, json)\n{\n\treturn _Scheduler_binding(function(callback)\n\t{\n\t\tvar fileName = 'history-' + historyLength + '.txt';\n\t\tvar jsonString = JSON.stringify(json);\n\t\tvar mime = 'text/plain;charset=utf-8';\n\t\tvar done = _Scheduler_succeed(_Utils_Tuple0);\n\n\t\t// for IE10+\n\t\tif (navigator.msSaveBlob)\n\t\t{\n\t\t\tnavigator.msSaveBlob(new Blob([jsonString], {type: mime}), fileName);\n\t\t\treturn callback(done);\n\t\t}\n\n\t\t// for HTML5\n\t\tvar element = document.createElement('a');\n\t\telement.setAttribute('href', 'data:' + mime + ',' + encodeURIComponent(jsonString));\n\t\telement.setAttribute('download', fileName);\n\t\telement.style.display = 'none';\n\t\tdocument.body.appendChild(element);\n\t\telement.click();\n\t\tdocument.body.removeChild(element);\n\t\tcallback(done);\n\t});\n});\n\n\n\n// POPOUT CONTENT\n\n\nfunction _Debugger_messageToString(value)\n{\n\tif (typeof value === 'boolean')\n\t{\n\t\treturn value ? 'True' : 'False';\n\t}\n\n\tif (typeof value === 'number')\n\t{\n\t\treturn value + '';\n\t}\n\n\tif (typeof value === 'string')\n\t{\n\t\treturn '\"' + _Debugger_addSlashes(value, false) + '\"';\n\t}\n\n\tif (value instanceof String)\n\t{\n\t\treturn \"'\" + _Debugger_addSlashes(value, true) + \"'\";\n\t}\n\n\tif (typeof value !== 'object' || value === null || !('$' in value))\n\t{\n\t\treturn '…';\n\t}\n\n\tif (typeof value.$ === 'number')\n\t{\n\t\treturn '…';\n\t}\n\n\tvar code = value.$.charCodeAt(0);\n\tif (code === 0x23 /* # */ || /* a */ 0x61 <= code && code <= 0x7A /* z */)\n\t{\n\t\treturn '…';\n\t}\n\n\tif (['Array_elm_builtin', 'Set_elm_builtin', 'RBNode_elm_builtin', 'RBEmpty_elm_builtin'].indexOf(value.$) >= 0)\n\t{\n\t\treturn '…';\n\t}\n\n\tvar keys = Object.keys(value);\n\tswitch (keys.length)\n\t{\n\t\tcase 1:\n\t\t\treturn value.$;\n\t\tcase 2:\n\t\t\treturn value.$ + ' ' + _Debugger_messageToString(value.a);\n\t\tdefault:\n\t\t\treturn value.$ + ' … ' + _Debugger_messageToString(value[keys[keys.length - 1]]);\n\t}\n}\n\n\nfunction _Debugger_init(value)\n{\n\tif (typeof value === 'boolean')\n\t{\n\t\treturn A3($elm$browser$Debugger$Expando$Constructor, $elm$core$Maybe$Just(value ? 'True' : 'False'), true, _List_Nil);\n\t}\n\n\tif (typeof value === 'number')\n\t{\n\t\treturn $elm$browser$Debugger$Expando$Primitive(value + '');\n\t}\n\n\tif (typeof value === 'string')\n\t{\n\t\treturn $elm$browser$Debugger$Expando$S('\"' + _Debugger_addSlashes(value, false) + '\"');\n\t}\n\n\tif (value instanceof String)\n\t{\n\t\treturn $elm$browser$Debugger$Expando$S(\"'\" + _Debugger_addSlashes(value, true) + \"'\");\n\t}\n\n\tif (typeof value === 'object' && '$' in value)\n\t{\n\t\tvar tag = value.$;\n\n\t\tif (tag === '::' || tag === '[]')\n\t\t{\n\t\t\treturn A3($elm$browser$Debugger$Expando$Sequence, $elm$browser$Debugger$Expando$ListSeq, true,\n\t\t\t\tA2($elm$core$List$map, _Debugger_init, value)\n\t\t\t);\n\t\t}\n\n\t\tif (tag === 'Set_elm_builtin')\n\t\t{\n\t\t\treturn A3($elm$browser$Debugger$Expando$Sequence, $elm$browser$Debugger$Expando$SetSeq, true,\n\t\t\t\tA3($elm$core$Set$foldr, _Debugger_initCons, _List_Nil, value)\n\t\t\t);\n\t\t}\n\n\t\tif (tag === 'RBNode_elm_builtin' || tag == 'RBEmpty_elm_builtin')\n\t\t{\n\t\t\treturn A2($elm$browser$Debugger$Expando$Dictionary, true,\n\t\t\t\tA3($elm$core$Dict$foldr, _Debugger_initKeyValueCons, _List_Nil, value)\n\t\t\t);\n\t\t}\n\n\t\tif (tag === 'Array_elm_builtin')\n\t\t{\n\t\t\treturn A3($elm$browser$Debugger$Expando$Sequence, $elm$browser$Debugger$Expando$ArraySeq, true,\n\t\t\t\tA3($elm$core$Array$foldr, _Debugger_initCons, _List_Nil, value)\n\t\t\t);\n\t\t}\n\n\t\tif (typeof tag === 'number')\n\t\t{\n\t\t\treturn $elm$browser$Debugger$Expando$Primitive('<internals>');\n\t\t}\n\n\t\tvar char = tag.charCodeAt(0);\n\t\tif (char === 35 || 65 <= char && char <= 90)\n\t\t{\n\t\t\tvar list = _List_Nil;\n\t\t\tfor (var i in value)\n\t\t\t{\n\t\t\t\tif (i === '$') continue;\n\t\t\t\tlist = _List_Cons(_Debugger_init(value[i]), list);\n\t\t\t}\n\t\t\treturn A3($elm$browser$Debugger$Expando$Constructor, char === 35 ? $elm$core$Maybe$Nothing : $elm$core$Maybe$Just(tag), true, $elm$core$List$reverse(list));\n\t\t}\n\n\t\treturn $elm$browser$Debugger$Expando$Primitive('<internals>');\n\t}\n\n\tif (typeof value === 'object')\n\t{\n\t\tvar dict = $elm$core$Dict$empty;\n\t\tfor (var i in value)\n\t\t{\n\t\t\tdict = A3($elm$core$Dict$insert, i, _Debugger_init(value[i]), dict);\n\t\t}\n\t\treturn A2($elm$browser$Debugger$Expando$Record, true, dict);\n\t}\n\n\treturn $elm$browser$Debugger$Expando$Primitive('<internals>');\n}\n\nvar _Debugger_initCons = F2(function initConsHelp(value, list)\n{\n\treturn _List_Cons(_Debugger_init(value), list);\n});\n\nvar _Debugger_initKeyValueCons = F3(function(key, value, list)\n{\n\treturn _List_Cons(\n\t\t_Utils_Tuple2(_Debugger_init(key), _Debugger_init(value)),\n\t\tlist\n\t);\n});\n\nfunction _Debugger_addSlashes(str, isChar)\n{\n\tvar s = str\n\t\t.replace(/\\\\/g, '\\\\\\\\')\n\t\t.replace(/\\n/g, '\\\\n')\n\t\t.replace(/\\t/g, '\\\\t')\n\t\t.replace(/\\r/g, '\\\\r')\n\t\t.replace(/\\v/g, '\\\\v')\n\t\t.replace(/\\0/g, '\\\\0');\n\tif (isChar)\n\t{\n\t\treturn s.replace(/\\'/g, '\\\\\\'');\n\t}\n\telse\n\t{\n\t\treturn s.replace(/\\\"/g, '\\\\\"');\n\t}\n}\n\n\n\n// BLOCK EVENTS\n\n\nfunction _Debugger_updateBlocker(oldBlocker, newBlocker)\n{\n\tif (oldBlocker === newBlocker) return;\n\n\tvar oldEvents = _Debugger_blockerToEvents(oldBlocker);\n\tvar newEvents = _Debugger_blockerToEvents(newBlocker);\n\n\t// remove old blockers\n\tfor (var i = 0; i < oldEvents.length; i++)\n\t{\n\t\tdocument.removeEventListener(oldEvents[i], _Debugger_blocker, true);\n\t}\n\n\t// add new blockers\n\tfor (var i = 0; i < newEvents.length; i++)\n\t{\n\t\tdocument.addEventListener(newEvents[i], _Debugger_blocker, true);\n\t}\n}\n\n\nfunction _Debugger_blocker(event)\n{\n\tif (event.type === 'keydown' && event.metaKey && event.which === 82)\n\t{\n\t\treturn;\n\t}\n\n\tvar isScroll = event.type === 'scroll' || event.type === 'wheel';\n\tfor (var node = event.target; node; node = node.parentNode)\n\t{\n\t\tif (isScroll ? node.id === 'elm-debugger-details' : node.id === 'elm-debugger-overlay')\n\t\t{\n\t\t\treturn;\n\t\t}\n\t}\n\n\tevent.stopPropagation();\n\tevent.preventDefault();\n}\n\nfunction _Debugger_blockerToEvents(blocker)\n{\n\treturn blocker === $elm$browser$Debugger$Overlay$BlockNone\n\t\t? []\n\t\t: blocker === $elm$browser$Debugger$Overlay$BlockMost\n\t\t\t? _Debugger_mostEvents\n\t\t\t: _Debugger_allEvents;\n}\n\nvar _Debugger_mostEvents = [\n\t'click', 'dblclick', 'mousemove',\n\t'mouseup', 'mousedown', 'mouseenter', 'mouseleave',\n\t'touchstart', 'touchend', 'touchcancel', 'touchmove',\n\t'pointerdown', 'pointerup', 'pointerover', 'pointerout',\n\t'pointerenter', 'pointerleave', 'pointermove', 'pointercancel',\n\t'dragstart', 'drag', 'dragend', 'dragenter', 'dragover', 'dragleave', 'drop',\n\t'keyup', 'keydown', 'keypress',\n\t'input', 'change',\n\t'focus', 'blur'\n];\n\nvar _Debugger_allEvents = _Debugger_mostEvents.concat('wheel', 'scroll');\n\n\n\n\n// ELEMENT\n\n\nvar _Debugger_element;\n\nvar _Browser_element = _Debugger_element || F4(function(impl, flagDecoder, debugMetadata, args)\n{\n\treturn _Platform_initialize(\n\t\tflagDecoder,\n\t\targs,\n\t\timpl.init,\n\t\timpl.update,\n\t\timpl.subscriptions,\n\t\tfunction(sendToApp, initialModel) {\n\t\t\tvar view = impl.view;\n\t\t\t/**_UNUSED/\n\t\t\tvar domNode = args['node'];\n\t\t\t//*/\n\t\t\t/**/\n\t\t\tvar domNode = args && args['node'] ? args['node'] : _Debug_crash(0);\n\t\t\t//*/\n\t\t\tvar currNode = _VirtualDom_virtualize(domNode);\n\n\t\t\treturn _Browser_makeAnimator(initialModel, function(model)\n\t\t\t{\n\t\t\t\tvar nextNode = view(model);\n\t\t\t\tvar patches = _VirtualDom_diff(currNode, nextNode);\n\t\t\t\tdomNode = _VirtualDom_applyPatches(domNode, currNode, patches, sendToApp);\n\t\t\t\tcurrNode = nextNode;\n\t\t\t});\n\t\t}\n\t);\n});\n\n\n\n// DOCUMENT\n\n\nvar _Debugger_document;\n\nvar _Browser_document = _Debugger_document || F4(function(impl, flagDecoder, debugMetadata, args)\n{\n\treturn _Platform_initialize(\n\t\tflagDecoder,\n\t\targs,\n\t\timpl.init,\n\t\timpl.update,\n\t\timpl.subscriptions,\n\t\tfunction(sendToApp, initialModel) {\n\t\t\tvar divertHrefToApp = impl.setup && impl.setup(sendToApp)\n\t\t\tvar view = impl.view;\n\t\t\tvar title = _VirtualDom_doc.title;\n\t\t\tvar bodyNode = _VirtualDom_doc.body;\n\t\t\tvar currNode = _VirtualDom_virtualize(bodyNode);\n\t\t\treturn _Browser_makeAnimator(initialModel, function(model)\n\t\t\t{\n\t\t\t\t_VirtualDom_divertHrefToApp = divertHrefToApp;\n\t\t\t\tvar doc = view(model);\n\t\t\t\tvar nextNode = _VirtualDom_node('body')(_List_Nil)(doc.body);\n\t\t\t\tvar patches = _VirtualDom_diff(currNode, nextNode);\n\t\t\t\tbodyNode = _VirtualDom_applyPatches(bodyNode, currNode, patches, sendToApp);\n\t\t\t\tcurrNode = nextNode;\n\t\t\t\t_VirtualDom_divertHrefToApp = 0;\n\t\t\t\t(title !== doc.title) && (_VirtualDom_doc.title = title = doc.title);\n\t\t\t});\n\t\t}\n\t);\n});\n\n\n\n// ANIMATION\n\n\nvar _Browser_cancelAnimationFrame =\n\ttypeof cancelAnimationFrame !== 'undefined'\n\t\t? cancelAnimationFrame\n\t\t: function(id) { clearTimeout(id); };\n\nvar _Browser_requestAnimationFrame =\n\ttypeof requestAnimationFrame !== 'undefined'\n\t\t? requestAnimationFrame\n\t\t: function(callback) { return setTimeout(callback, 1000 / 60); };\n\n\nfunction _Browser_makeAnimator(model, draw)\n{\n\tdraw(model);\n\n\tvar state = 0;\n\n\tfunction updateIfNeeded()\n\t{\n\t\tstate = state === 1\n\t\t\t? 0\n\t\t\t: ( _Browser_requestAnimationFrame(updateIfNeeded), draw(model), 1 );\n\t}\n\n\treturn function(nextModel, isSync)\n\t{\n\t\tmodel = nextModel;\n\n\t\tisSync\n\t\t\t? ( draw(model),\n\t\t\t\tstate === 2 && (state = 1)\n\t\t\t\t)\n\t\t\t: ( state === 0 && _Browser_requestAnimationFrame(updateIfNeeded),\n\t\t\t\tstate = 2\n\t\t\t\t);\n\t};\n}\n\n\n\n// APPLICATION\n\n\nfunction _Browser_application(impl)\n{\n\tvar onUrlChange = impl.onUrlChange;\n\tvar onUrlRequest = impl.onUrlRequest;\n\tvar key = function() { key.a(onUrlChange(_Browser_getUrl())); };\n\n\treturn _Browser_document({\n\t\tsetup: function(sendToApp)\n\t\t{\n\t\t\tkey.a = sendToApp;\n\t\t\t_Browser_window.addEventListener('popstate', key);\n\t\t\t_Browser_window.navigator.userAgent.indexOf('Trident') < 0 || _Browser_window.addEventListener('hashchange', key);\n\n\t\t\treturn F2(function(domNode, event)\n\t\t\t{\n\t\t\t\tif (!event.ctrlKey && !event.metaKey && !event.shiftKey && event.button < 1 && !domNode.target && !domNode.hasAttribute('download'))\n\t\t\t\t{\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tvar href = domNode.href;\n\t\t\t\t\tvar curr = _Browser_getUrl();\n\t\t\t\t\tvar next = $elm$url$Url$fromString(href).a;\n\t\t\t\t\tsendToApp(onUrlRequest(\n\t\t\t\t\t\t(next\n\t\t\t\t\t\t\t&& curr.protocol === next.protocol\n\t\t\t\t\t\t\t&& curr.host === next.host\n\t\t\t\t\t\t\t&& curr.port_.a === next.port_.a\n\t\t\t\t\t\t)\n\t\t\t\t\t\t\t? $elm$browser$Browser$Internal(next)\n\t\t\t\t\t\t\t: $elm$browser$Browser$External(href)\n\t\t\t\t\t));\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tinit: function(flags)\n\t\t{\n\t\t\treturn A3(impl.init, flags, _Browser_getUrl(), key);\n\t\t},\n\t\tview: impl.view,\n\t\tupdate: impl.update,\n\t\tsubscriptions: impl.subscriptions\n\t});\n}\n\nfunction _Browser_getUrl()\n{\n\treturn $elm$url$Url$fromString(_VirtualDom_doc.location.href).a || _Debug_crash(1);\n}\n\nvar _Browser_go = F2(function(key, n)\n{\n\treturn A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() {\n\t\tn && history.go(n);\n\t\tkey();\n\t}));\n});\n\nvar _Browser_pushUrl = F2(function(key, url)\n{\n\treturn A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() {\n\t\thistory.pushState({}, '', url);\n\t\tkey();\n\t}));\n});\n\nvar _Browser_replaceUrl = F2(function(key, url)\n{\n\treturn A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() {\n\t\thistory.replaceState({}, '', url);\n\t\tkey();\n\t}));\n});\n\n\n\n// GLOBAL EVENTS\n\n\nvar _Browser_fakeNode = { addEventListener: function() {}, removeEventListener: function() {} };\nvar _Browser_doc = typeof document !== 'undefined' ? document : _Browser_fakeNode;\nvar _Browser_window = typeof window !== 'undefined' ? window : _Browser_fakeNode;\n\nvar _Browser_on = F3(function(node, eventName, sendToSelf)\n{\n\treturn _Scheduler_spawn(_Scheduler_binding(function(callback)\n\t{\n\t\tfunction handler(event)\t{ _Scheduler_rawSpawn(sendToSelf(event)); }\n\t\tnode.addEventListener(eventName, handler, _VirtualDom_passiveSupported && { passive: true });\n\t\treturn function() { node.removeEventListener(eventName, handler); };\n\t}));\n});\n\nvar _Browser_decodeEvent = F2(function(decoder, event)\n{\n\tvar result = _Json_runHelp(decoder, event);\n\treturn $elm$core$Result$isOk(result) ? $elm$core$Maybe$Just(result.a) : $elm$core$Maybe$Nothing;\n});\n\n\n\n// PAGE VISIBILITY\n\n\nfunction _Browser_visibilityInfo()\n{\n\treturn (typeof _VirtualDom_doc.hidden !== 'undefined')\n\t\t? { hidden: 'hidden', change: 'visibilitychange' }\n\t\t:\n\t(typeof _VirtualDom_doc.mozHidden !== 'undefined')\n\t\t? { hidden: 'mozHidden', change: 'mozvisibilitychange' }\n\t\t:\n\t(typeof _VirtualDom_doc.msHidden !== 'undefined')\n\t\t? { hidden: 'msHidden', change: 'msvisibilitychange' }\n\t\t:\n\t(typeof _VirtualDom_doc.webkitHidden !== 'undefined')\n\t\t? { hidden: 'webkitHidden', change: 'webkitvisibilitychange' }\n\t\t: { hidden: 'hidden', change: 'visibilitychange' };\n}\n\n\n\n// ANIMATION FRAMES\n\n\nfunction _Browser_rAF()\n{\n\treturn _Scheduler_binding(function(callback)\n\t{\n\t\tvar id = _Browser_requestAnimationFrame(function() {\n\t\t\tcallback(_Scheduler_succeed(Date.now()));\n\t\t});\n\n\t\treturn function() {\n\t\t\t_Browser_cancelAnimationFrame(id);\n\t\t};\n\t});\n}\n\n\nfunction _Browser_now()\n{\n\treturn _Scheduler_binding(function(callback)\n\t{\n\t\tcallback(_Scheduler_succeed(Date.now()));\n\t});\n}\n\n\n\n// DOM STUFF\n\n\nfunction _Browser_withNode(id, doStuff)\n{\n\treturn _Scheduler_binding(function(callback)\n\t{\n\t\t_Browser_requestAnimationFrame(function() {\n\t\t\tvar node = document.getElementById(id);\n\t\t\tcallback(node\n\t\t\t\t? _Scheduler_succeed(doStuff(node))\n\t\t\t\t: _Scheduler_fail($elm$browser$Browser$Dom$NotFound(id))\n\t\t\t);\n\t\t});\n\t});\n}\n\n\nfunction _Browser_withWindow(doStuff)\n{\n\treturn _Scheduler_binding(function(callback)\n\t{\n\t\t_Browser_requestAnimationFrame(function() {\n\t\t\tcallback(_Scheduler_succeed(doStuff()));\n\t\t});\n\t});\n}\n\n\n// FOCUS and BLUR\n\n\nvar _Browser_call = F2(function(functionName, id)\n{\n\treturn _Browser_withNode(id, function(node) {\n\t\tnode[functionName]();\n\t\treturn _Utils_Tuple0;\n\t});\n});\n\n\n\n// WINDOW VIEWPORT\n\n\nfunction _Browser_getViewport()\n{\n\treturn {\n\t\tscene: _Browser_getScene(),\n\t\tviewport: {\n\t\t\tx: _Browser_window.pageXOffset,\n\t\t\ty: _Browser_window.pageYOffset,\n\t\t\twidth: _Browser_doc.documentElement.clientWidth,\n\t\t\theight: _Browser_doc.documentElement.clientHeight\n\t\t}\n\t};\n}\n\nfunction _Browser_getScene()\n{\n\tvar body = _Browser_doc.body;\n\tvar elem = _Browser_doc.documentElement;\n\treturn {\n\t\twidth: Math.max(body.scrollWidth, body.offsetWidth, elem.scrollWidth, elem.offsetWidth, elem.clientWidth),\n\t\theight: Math.max(body.scrollHeight, body.offsetHeight, elem.scrollHeight, elem.offsetHeight, elem.clientHeight)\n\t};\n}\n\nvar _Browser_setViewport = F2(function(x, y)\n{\n\treturn _Browser_withWindow(function()\n\t{\n\t\t_Browser_window.scroll(x, y);\n\t\treturn _Utils_Tuple0;\n\t});\n});\n\n\n\n// ELEMENT VIEWPORT\n\n\nfunction _Browser_getViewportOf(id)\n{\n\treturn _Browser_withNode(id, function(node)\n\t{\n\t\treturn {\n\t\t\tscene: {\n\t\t\t\twidth: node.scrollWidth,\n\t\t\t\theight: node.scrollHeight\n\t\t\t},\n\t\t\tviewport: {\n\t\t\t\tx: node.scrollLeft,\n\t\t\t\ty: node.scrollTop,\n\t\t\t\twidth: node.clientWidth,\n\t\t\t\theight: node.clientHeight\n\t\t\t}\n\t\t};\n\t});\n}\n\n\nvar _Browser_setViewportOf = F3(function(id, x, y)\n{\n\treturn _Browser_withNode(id, function(node)\n\t{\n\t\tnode.scrollLeft = x;\n\t\tnode.scrollTop = y;\n\t\treturn _Utils_Tuple0;\n\t});\n});\n\n\n\n// ELEMENT\n\n\nfunction _Browser_getElement(id)\n{\n\treturn _Browser_withNode(id, function(node)\n\t{\n\t\tvar rect = node.getBoundingClientRect();\n\t\tvar x = _Browser_window.pageXOffset;\n\t\tvar y = _Browser_window.pageYOffset;\n\t\treturn {\n\t\t\tscene: _Browser_getScene(),\n\t\t\tviewport: {\n\t\t\t\tx: x,\n\t\t\t\ty: y,\n\t\t\t\twidth: _Browser_doc.documentElement.clientWidth,\n\t\t\t\theight: _Browser_doc.documentElement.clientHeight\n\t\t\t},\n\t\t\telement: {\n\t\t\t\tx: x + rect.left,\n\t\t\t\ty: y + rect.top,\n\t\t\t\twidth: rect.width,\n\t\t\t\theight: rect.height\n\t\t\t}\n\t\t};\n\t});\n}\n\n\n\n// LOAD and RELOAD\n\n\nfunction _Browser_reload(skipCache)\n{\n\treturn A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function(callback)\n\t{\n\t\t_VirtualDom_doc.location.reload(skipCache);\n\t}));\n}\n\nfunction _Browser_load(url)\n{\n\treturn A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function(callback)\n\t{\n\t\ttry\n\t\t{\n\t\t\t_Browser_window.location = url;\n\t\t}\n\t\tcatch(err)\n\t\t{\n\t\t\t// Only Firefox can throw a NS_ERROR_MALFORMED_URI exception here.\n\t\t\t// Other browsers reload the page, so let's be consistent about that.\n\t\t\t_VirtualDom_doc.location.reload(false);\n\t\t}\n\t}));\n}\n\n\nfunction _Url_percentEncode(string)\n{\n\treturn encodeURIComponent(string);\n}\n\nfunction _Url_percentDecode(string)\n{\n\ttry\n\t{\n\t\treturn $elm$core$Maybe$Just(decodeURIComponent(string));\n\t}\n\tcatch (e)\n\t{\n\t\treturn $elm$core$Maybe$Nothing;\n\t}\n}var $author$project$Main$LinkClicked = function (a) {\n\treturn {$: 'LinkClicked', a: a};\n};\nvar $author$project$Main$UrlChanged = function (a) {\n\treturn {$: 'UrlChanged', a: a};\n};\nvar $elm$core$Basics$EQ = {$: 'EQ'};\nvar $elm$core$Basics$GT = {$: 'GT'};\nvar $elm$core$Basics$LT = {$: 'LT'};\nvar $elm$core$List$cons = _List_cons;\nvar $elm$core$Dict$foldr = F3(\n\tfunction (func, acc, t) {\n\t\tfoldr:\n\t\twhile (true) {\n\t\t\tif (t.$ === 'RBEmpty_elm_builtin') {\n\t\t\t\treturn acc;\n\t\t\t} else {\n\t\t\t\tvar key = t.b;\n\t\t\t\tvar value = t.c;\n\t\t\t\tvar left = t.d;\n\t\t\t\tvar right = t.e;\n\t\t\t\tvar $temp$func = func,\n\t\t\t\t\t$temp$acc = A3(\n\t\t\t\t\tfunc,\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue,\n\t\t\t\t\tA3($elm$core$Dict$foldr, func, acc, right)),\n\t\t\t\t\t$temp$t = left;\n\t\t\t\tfunc = $temp$func;\n\t\t\t\tacc = $temp$acc;\n\t\t\t\tt = $temp$t;\n\t\t\t\tcontinue foldr;\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Dict$toList = function (dict) {\n\treturn A3(\n\t\t$elm$core$Dict$foldr,\n\t\tF3(\n\t\t\tfunction (key, value, list) {\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t_Utils_Tuple2(key, value),\n\t\t\t\t\tlist);\n\t\t\t}),\n\t\t_List_Nil,\n\t\tdict);\n};\nvar $elm$core$Dict$keys = function (dict) {\n\treturn A3(\n\t\t$elm$core$Dict$foldr,\n\t\tF3(\n\t\t\tfunction (key, value, keyList) {\n\t\t\t\treturn A2($elm$core$List$cons, key, keyList);\n\t\t\t}),\n\t\t_List_Nil,\n\t\tdict);\n};\nvar $elm$core$Set$toList = function (_v0) {\n\tvar dict = _v0.a;\n\treturn $elm$core$Dict$keys(dict);\n};\nvar $elm$core$Elm$JsArray$foldr = _JsArray_foldr;\nvar $elm$core$Array$foldr = F3(\n\tfunction (func, baseCase, _v0) {\n\t\tvar tree = _v0.c;\n\t\tvar tail = _v0.d;\n\t\tvar helper = F2(\n\t\t\tfunction (node, acc) {\n\t\t\t\tif (node.$ === 'SubTree') {\n\t\t\t\t\tvar subTree = node.a;\n\t\t\t\t\treturn A3($elm$core$Elm$JsArray$foldr, helper, acc, subTree);\n\t\t\t\t} else {\n\t\t\t\t\tvar values = node.a;\n\t\t\t\t\treturn A3($elm$core$Elm$JsArray$foldr, func, acc, values);\n\t\t\t\t}\n\t\t\t});\n\t\treturn A3(\n\t\t\t$elm$core$Elm$JsArray$foldr,\n\t\t\thelper,\n\t\t\tA3($elm$core$Elm$JsArray$foldr, func, baseCase, tail),\n\t\t\ttree);\n\t});\nvar $elm$core$Array$toList = function (array) {\n\treturn A3($elm$core$Array$foldr, $elm$core$List$cons, _List_Nil, array);\n};\nvar $elm$core$Result$Err = function (a) {\n\treturn {$: 'Err', a: a};\n};\nvar $elm$json$Json$Decode$Failure = F2(\n\tfunction (a, b) {\n\t\treturn {$: 'Failure', a: a, b: b};\n\t});\nvar $elm$json$Json$Decode$Field = F2(\n\tfunction (a, b) {\n\t\treturn {$: 'Field', a: a, b: b};\n\t});\nvar $elm$json$Json$Decode$Index = F2(\n\tfunction (a, b) {\n\t\treturn {$: 'Index', a: a, b: b};\n\t});\nvar $elm$core$Result$Ok = function (a) {\n\treturn {$: 'Ok', a: a};\n};\nvar $elm$json$Json$Decode$OneOf = function (a) {\n\treturn {$: 'OneOf', a: a};\n};\nvar $elm$core$Basics$False = {$: 'False'};\nvar $elm$core$Basics$add = _Basics_add;\nvar $elm$core$Maybe$Just = function (a) {\n\treturn {$: 'Just', a: a};\n};\nvar $elm$core$Maybe$Nothing = {$: 'Nothing'};\nvar $elm$core$String$all = _String_all;\nvar $elm$core$Basics$and = _Basics_and;\nvar $elm$core$Basics$append = _Utils_append;\nvar $elm$json$Json$Encode$encode = _Json_encode;\nvar $elm$core$String$fromInt = _String_fromNumber;\nvar $elm$core$String$join = F2(\n\tfunction (sep, chunks) {\n\t\treturn A2(\n\t\t\t_String_join,\n\t\t\tsep,\n\t\t\t_List_toArray(chunks));\n\t});\nvar $elm$core$String$split = F2(\n\tfunction (sep, string) {\n\t\treturn _List_fromArray(\n\t\t\tA2(_String_split, sep, string));\n\t});\nvar $elm$json$Json$Decode$indent = function (str) {\n\treturn A2(\n\t\t$elm$core$String$join,\n\t\t'\\n ',\n\t\tA2($elm$core$String$split, '\\n', str));\n};\nvar $elm$core$List$foldl = F3(\n\tfunction (func, acc, list) {\n\t\tfoldl:\n\t\twhile (true) {\n\t\t\tif (!list.b) {\n\t\t\t\treturn acc;\n\t\t\t} else {\n\t\t\t\tvar x = list.a;\n\t\t\t\tvar xs = list.b;\n\t\t\t\tvar $temp$func = func,\n\t\t\t\t\t$temp$acc = A2(func, x, acc),\n\t\t\t\t\t$temp$list = xs;\n\t\t\t\tfunc = $temp$func;\n\t\t\t\tacc = $temp$acc;\n\t\t\t\tlist = $temp$list;\n\t\t\t\tcontinue foldl;\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$List$length = function (xs) {\n\treturn A3(\n\t\t$elm$core$List$foldl,\n\t\tF2(\n\t\t\tfunction (_v0, i) {\n\t\t\t\treturn i + 1;\n\t\t\t}),\n\t\t0,\n\t\txs);\n};\nvar $elm$core$List$map2 = _List_map2;\nvar $elm$core$Basics$le = _Utils_le;\nvar $elm$core$Basics$sub = _Basics_sub;\nvar $elm$core$List$rangeHelp = F3(\n\tfunction (lo, hi, list) {\n\t\trangeHelp:\n\t\twhile (true) {\n\t\t\tif (_Utils_cmp(lo, hi) < 1) {\n\t\t\t\tvar $temp$lo = lo,\n\t\t\t\t\t$temp$hi = hi - 1,\n\t\t\t\t\t$temp$list = A2($elm$core$List$cons, hi, list);\n\t\t\t\tlo = $temp$lo;\n\t\t\t\thi = $temp$hi;\n\t\t\t\tlist = $temp$list;\n\t\t\t\tcontinue rangeHelp;\n\t\t\t} else {\n\t\t\t\treturn list;\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$List$range = F2(\n\tfunction (lo, hi) {\n\t\treturn A3($elm$core$List$rangeHelp, lo, hi, _List_Nil);\n\t});\nvar $elm$core$List$indexedMap = F2(\n\tfunction (f, xs) {\n\t\treturn A3(\n\t\t\t$elm$core$List$map2,\n\t\t\tf,\n\t\t\tA2(\n\t\t\t\t$elm$core$List$range,\n\t\t\t\t0,\n\t\t\t\t$elm$core$List$length(xs) - 1),\n\t\t\txs);\n\t});\nvar $elm$core$Char$toCode = _Char_toCode;\nvar $elm$core$Char$isLower = function (_char) {\n\tvar code = $elm$core$Char$toCode(_char);\n\treturn (97 <= code) && (code <= 122);\n};\nvar $elm$core$Char$isUpper = function (_char) {\n\tvar code = $elm$core$Char$toCode(_char);\n\treturn (code <= 90) && (65 <= code);\n};\nvar $elm$core$Basics$or = _Basics_or;\nvar $elm$core$Char$isAlpha = function (_char) {\n\treturn $elm$core$Char$isLower(_char) || $elm$core$Char$isUpper(_char);\n};\nvar $elm$core$Char$isDigit = function (_char) {\n\tvar code = $elm$core$Char$toCode(_char);\n\treturn (code <= 57) && (48 <= code);\n};\nvar $elm$core$Char$isAlphaNum = function (_char) {\n\treturn $elm$core$Char$isLower(_char) || ($elm$core$Char$isUpper(_char) || $elm$core$Char$isDigit(_char));\n};\nvar $elm$core$List$reverse = function (list) {\n\treturn A3($elm$core$List$foldl, $elm$core$List$cons, _List_Nil, list);\n};\nvar $elm$core$String$uncons = _String_uncons;\nvar $elm$json$Json$Decode$errorOneOf = F2(\n\tfunction (i, error) {\n\t\treturn '\\n\\n(' + ($elm$core$String$fromInt(i + 1) + (') ' + $elm$json$Json$Decode$indent(\n\t\t\t$elm$json$Json$Decode$errorToString(error))));\n\t});\nvar $elm$json$Json$Decode$errorToString = function (error) {\n\treturn A2($elm$json$Json$Decode$errorToStringHelp, error, _List_Nil);\n};\nvar $elm$json$Json$Decode$errorToStringHelp = F2(\n\tfunction (error, context) {\n\t\terrorToStringHelp:\n\t\twhile (true) {\n\t\t\tswitch (error.$) {\n\t\t\t\tcase 'Field':\n\t\t\t\t\tvar f = error.a;\n\t\t\t\t\tvar err = error.b;\n\t\t\t\t\tvar isSimple = function () {\n\t\t\t\t\t\tvar _v1 = $elm$core$String$uncons(f);\n\t\t\t\t\t\tif (_v1.$ === 'Nothing') {\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar _v2 = _v1.a;\n\t\t\t\t\t\t\tvar _char = _v2.a;\n\t\t\t\t\t\t\tvar rest = _v2.b;\n\t\t\t\t\t\t\treturn $elm$core$Char$isAlpha(_char) && A2($elm$core$String$all, $elm$core$Char$isAlphaNum, rest);\n\t\t\t\t\t\t}\n\t\t\t\t\t}();\n\t\t\t\t\tvar fieldName = isSimple ? ('.' + f) : ('[\\'' + (f + '\\']'));\n\t\t\t\t\tvar $temp$error = err,\n\t\t\t\t\t\t$temp$context = A2($elm$core$List$cons, fieldName, context);\n\t\t\t\t\terror = $temp$error;\n\t\t\t\t\tcontext = $temp$context;\n\t\t\t\t\tcontinue errorToStringHelp;\n\t\t\t\tcase 'Index':\n\t\t\t\t\tvar i = error.a;\n\t\t\t\t\tvar err = error.b;\n\t\t\t\t\tvar indexName = '[' + ($elm$core$String$fromInt(i) + ']');\n\t\t\t\t\tvar $temp$error = err,\n\t\t\t\t\t\t$temp$context = A2($elm$core$List$cons, indexName, context);\n\t\t\t\t\terror = $temp$error;\n\t\t\t\t\tcontext = $temp$context;\n\t\t\t\t\tcontinue errorToStringHelp;\n\t\t\t\tcase 'OneOf':\n\t\t\t\t\tvar errors = error.a;\n\t\t\t\t\tif (!errors.b) {\n\t\t\t\t\t\treturn 'Ran into a Json.Decode.oneOf with no possibilities' + function () {\n\t\t\t\t\t\t\tif (!context.b) {\n\t\t\t\t\t\t\t\treturn '!';\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\treturn ' at json' + A2(\n\t\t\t\t\t\t\t\t\t$elm$core$String$join,\n\t\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t\t\t$elm$core$List$reverse(context));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (!errors.b.b) {\n\t\t\t\t\t\t\tvar err = errors.a;\n\t\t\t\t\t\t\tvar $temp$error = err,\n\t\t\t\t\t\t\t\t$temp$context = context;\n\t\t\t\t\t\t\terror = $temp$error;\n\t\t\t\t\t\t\tcontext = $temp$context;\n\t\t\t\t\t\t\tcontinue errorToStringHelp;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar starter = function () {\n\t\t\t\t\t\t\t\tif (!context.b) {\n\t\t\t\t\t\t\t\t\treturn 'Json.Decode.oneOf';\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\treturn 'The Json.Decode.oneOf at json' + A2(\n\t\t\t\t\t\t\t\t\t\t$elm$core$String$join,\n\t\t\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t\t\t\t$elm$core$List$reverse(context));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}();\n\t\t\t\t\t\t\tvar introduction = starter + (' failed in the following ' + ($elm$core$String$fromInt(\n\t\t\t\t\t\t\t\t$elm$core$List$length(errors)) + ' ways:'));\n\t\t\t\t\t\t\treturn A2(\n\t\t\t\t\t\t\t\t$elm$core$String$join,\n\t\t\t\t\t\t\t\t'\\n\\n',\n\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t\t\t\tintroduction,\n\t\t\t\t\t\t\t\t\tA2($elm$core$List$indexedMap, $elm$json$Json$Decode$errorOneOf, errors)));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\tvar msg = error.a;\n\t\t\t\t\tvar json = error.b;\n\t\t\t\t\tvar introduction = function () {\n\t\t\t\t\t\tif (!context.b) {\n\t\t\t\t\t\t\treturn 'Problem with the given value:\\n\\n';\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn 'Problem with the value at json' + (A2(\n\t\t\t\t\t\t\t\t$elm$core$String$join,\n\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t\t$elm$core$List$reverse(context)) + ':\\n\\n ');\n\t\t\t\t\t\t}\n\t\t\t\t\t}();\n\t\t\t\t\treturn introduction + ($elm$json$Json$Decode$indent(\n\t\t\t\t\t\tA2($elm$json$Json$Encode$encode, 4, json)) + ('\\n\\n' + msg));\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Array$branchFactor = 32;\nvar $elm$core$Array$Array_elm_builtin = F4(\n\tfunction (a, b, c, d) {\n\t\treturn {$: 'Array_elm_builtin', a: a, b: b, c: c, d: d};\n\t});\nvar $elm$core$Elm$JsArray$empty = _JsArray_empty;\nvar $elm$core$Basics$ceiling = _Basics_ceiling;\nvar $elm$core$Basics$fdiv = _Basics_fdiv;\nvar $elm$core$Basics$logBase = F2(\n\tfunction (base, number) {\n\t\treturn _Basics_log(number) / _Basics_log(base);\n\t});\nvar $elm$core$Basics$toFloat = _Basics_toFloat;\nvar $elm$core$Array$shiftStep = $elm$core$Basics$ceiling(\n\tA2($elm$core$Basics$logBase, 2, $elm$core$Array$branchFactor));\nvar $elm$core$Array$empty = A4($elm$core$Array$Array_elm_builtin, 0, $elm$core$Array$shiftStep, $elm$core$Elm$JsArray$empty, $elm$core$Elm$JsArray$empty);\nvar $elm$core$Elm$JsArray$initialize = _JsArray_initialize;\nvar $elm$core$Array$Leaf = function (a) {\n\treturn {$: 'Leaf', a: a};\n};\nvar $elm$core$Basics$apL = F2(\n\tfunction (f, x) {\n\t\treturn f(x);\n\t});\nvar $elm$core$Basics$apR = F2(\n\tfunction (x, f) {\n\t\treturn f(x);\n\t});\nvar $elm$core$Basics$eq = _Utils_equal;\nvar $elm$core$Basics$floor = _Basics_floor;\nvar $elm$core$Elm$JsArray$length = _JsArray_length;\nvar $elm$core$Basics$gt = _Utils_gt;\nvar $elm$core$Basics$max = F2(\n\tfunction (x, y) {\n\t\treturn (_Utils_cmp(x, y) > 0) ? x : y;\n\t});\nvar $elm$core$Basics$mul = _Basics_mul;\nvar $elm$core$Array$SubTree = function (a) {\n\treturn {$: 'SubTree', a: a};\n};\nvar $elm$core$Elm$JsArray$initializeFromList = _JsArray_initializeFromList;\nvar $elm$core$Array$compressNodes = F2(\n\tfunction (nodes, acc) {\n\t\tcompressNodes:\n\t\twhile (true) {\n\t\t\tvar _v0 = A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, nodes);\n\t\t\tvar node = _v0.a;\n\t\t\tvar remainingNodes = _v0.b;\n\t\t\tvar newAcc = A2(\n\t\t\t\t$elm$core$List$cons,\n\t\t\t\t$elm$core$Array$SubTree(node),\n\t\t\t\tacc);\n\t\t\tif (!remainingNodes.b) {\n\t\t\t\treturn $elm$core$List$reverse(newAcc);\n\t\t\t} else {\n\t\t\t\tvar $temp$nodes = remainingNodes,\n\t\t\t\t\t$temp$acc = newAcc;\n\t\t\t\tnodes = $temp$nodes;\n\t\t\t\tacc = $temp$acc;\n\t\t\t\tcontinue compressNodes;\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Tuple$first = function (_v0) {\n\tvar x = _v0.a;\n\treturn x;\n};\nvar $elm$core$Array$treeFromBuilder = F2(\n\tfunction (nodeList, nodeListSize) {\n\t\ttreeFromBuilder:\n\t\twhile (true) {\n\t\t\tvar newNodeSize = $elm$core$Basics$ceiling(nodeListSize / $elm$core$Array$branchFactor);\n\t\t\tif (newNodeSize === 1) {\n\t\t\t\treturn A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, nodeList).a;\n\t\t\t} else {\n\t\t\t\tvar $temp$nodeList = A2($elm$core$Array$compressNodes, nodeList, _List_Nil),\n\t\t\t\t\t$temp$nodeListSize = newNodeSize;\n\t\t\t\tnodeList = $temp$nodeList;\n\t\t\t\tnodeListSize = $temp$nodeListSize;\n\t\t\t\tcontinue treeFromBuilder;\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Array$builderToArray = F2(\n\tfunction (reverseNodeList, builder) {\n\t\tif (!builder.nodeListSize) {\n\t\t\treturn A4(\n\t\t\t\t$elm$core$Array$Array_elm_builtin,\n\t\t\t\t$elm$core$Elm$JsArray$length(builder.tail),\n\t\t\t\t$elm$core$Array$shiftStep,\n\t\t\t\t$elm$core$Elm$JsArray$empty,\n\t\t\t\tbuilder.tail);\n\t\t} else {\n\t\t\tvar treeLen = builder.nodeListSize * $elm$core$Array$branchFactor;\n\t\t\tvar depth = $elm$core$Basics$floor(\n\t\t\t\tA2($elm$core$Basics$logBase, $elm$core$Array$branchFactor, treeLen - 1));\n\t\t\tvar correctNodeList = reverseNodeList ? $elm$core$List$reverse(builder.nodeList) : builder.nodeList;\n\t\t\tvar tree = A2($elm$core$Array$treeFromBuilder, correctNodeList, builder.nodeListSize);\n\t\t\treturn A4(\n\t\t\t\t$elm$core$Array$Array_elm_builtin,\n\t\t\t\t$elm$core$Elm$JsArray$length(builder.tail) + treeLen,\n\t\t\t\tA2($elm$core$Basics$max, 5, depth * $elm$core$Array$shiftStep),\n\t\t\t\ttree,\n\t\t\t\tbuilder.tail);\n\t\t}\n\t});\nvar $elm$core$Basics$idiv = _Basics_idiv;\nvar $elm$core$Basics$lt = _Utils_lt;\nvar $elm$core$Array$initializeHelp = F5(\n\tfunction (fn, fromIndex, len, nodeList, tail) {\n\t\tinitializeHelp:\n\t\twhile (true) {\n\t\t\tif (fromIndex < 0) {\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$core$Array$builderToArray,\n\t\t\t\t\tfalse,\n\t\t\t\t\t{nodeList: nodeList, nodeListSize: (len / $elm$core$Array$branchFactor) | 0, tail: tail});\n\t\t\t} else {\n\t\t\t\tvar leaf = $elm$core$Array$Leaf(\n\t\t\t\t\tA3($elm$core$Elm$JsArray$initialize, $elm$core$Array$branchFactor, fromIndex, fn));\n\t\t\t\tvar $temp$fn = fn,\n\t\t\t\t\t$temp$fromIndex = fromIndex - $elm$core$Array$branchFactor,\n\t\t\t\t\t$temp$len = len,\n\t\t\t\t\t$temp$nodeList = A2($elm$core$List$cons, leaf, nodeList),\n\t\t\t\t\t$temp$tail = tail;\n\t\t\t\tfn = $temp$fn;\n\t\t\t\tfromIndex = $temp$fromIndex;\n\t\t\t\tlen = $temp$len;\n\t\t\t\tnodeList = $temp$nodeList;\n\t\t\t\ttail = $temp$tail;\n\t\t\t\tcontinue initializeHelp;\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Basics$remainderBy = _Basics_remainderBy;\nvar $elm$core$Array$initialize = F2(\n\tfunction (len, fn) {\n\t\tif (len <= 0) {\n\t\t\treturn $elm$core$Array$empty;\n\t\t} else {\n\t\t\tvar tailLen = len % $elm$core$Array$branchFactor;\n\t\t\tvar tail = A3($elm$core$Elm$JsArray$initialize, tailLen, len - tailLen, fn);\n\t\t\tvar initialFromIndex = (len - tailLen) - $elm$core$Array$branchFactor;\n\t\t\treturn A5($elm$core$Array$initializeHelp, fn, initialFromIndex, len, _List_Nil, tail);\n\t\t}\n\t});\nvar $elm$core$Basics$True = {$: 'True'};\nvar $elm$core$Result$isOk = function (result) {\n\tif (result.$ === 'Ok') {\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\nvar $elm$json$Json$Decode$map = _Json_map1;\nvar $elm$json$Json$Decode$map2 = _Json_map2;\nvar $elm$json$Json$Decode$succeed = _Json_succeed;\nvar $elm$virtual_dom$VirtualDom$toHandlerInt = function (handler) {\n\tswitch (handler.$) {\n\t\tcase 'Normal':\n\t\t\treturn 0;\n\t\tcase 'MayStopPropagation':\n\t\t\treturn 1;\n\t\tcase 'MayPreventDefault':\n\t\t\treturn 2;\n\t\tdefault:\n\t\t\treturn 3;\n\t}\n};\nvar $elm$browser$Debugger$Expando$ArraySeq = {$: 'ArraySeq'};\nvar $elm$browser$Debugger$Overlay$BlockMost = {$: 'BlockMost'};\nvar $elm$browser$Debugger$Overlay$BlockNone = {$: 'BlockNone'};\nvar $elm$browser$Debugger$Expando$Constructor = F3(\n\tfunction (a, b, c) {\n\t\treturn {$: 'Constructor', a: a, b: b, c: c};\n\t});\nvar $elm$browser$Debugger$Expando$Dictionary = F2(\n\tfunction (a, b) {\n\t\treturn {$: 'Dictionary', a: a, b: b};\n\t});\nvar $elm$browser$Debugger$Main$Down = {$: 'Down'};\nvar $elm$browser$Debugger$Expando$ListSeq = {$: 'ListSeq'};\nvar $elm$browser$Debugger$Main$NoOp = {$: 'NoOp'};\nvar $elm$browser$Debugger$Expando$Primitive = function (a) {\n\treturn {$: 'Primitive', a: a};\n};\nvar $elm$browser$Debugger$Expando$Record = F2(\n\tfunction (a, b) {\n\t\treturn {$: 'Record', a: a, b: b};\n\t});\nvar $elm$browser$Debugger$Expando$S = function (a) {\n\treturn {$: 'S', a: a};\n};\nvar $elm$browser$Debugger$Expando$Sequence = F3(\n\tfunction (a, b, c) {\n\t\treturn {$: 'Sequence', a: a, b: b, c: c};\n\t});\nvar $elm$browser$Debugger$Expando$SetSeq = {$: 'SetSeq'};\nvar $elm$browser$Debugger$Main$Up = {$: 'Up'};\nvar $elm$browser$Debugger$Main$UserMsg = function (a) {\n\treturn {$: 'UserMsg', a: a};\n};\nvar $elm$browser$Debugger$Main$Export = {$: 'Export'};\nvar $elm$browser$Debugger$Main$Import = {$: 'Import'};\nvar $elm$browser$Debugger$Main$Open = {$: 'Open'};\nvar $elm$browser$Debugger$Main$OverlayMsg = function (a) {\n\treturn {$: 'OverlayMsg', a: a};\n};\nvar $elm$browser$Debugger$Main$Resume = {$: 'Resume'};\nvar $elm$browser$Debugger$Main$isPaused = function (state) {\n\tif (state.$ === 'Running') {\n\t\treturn false;\n\t} else {\n\t\treturn true;\n\t}\n};\nvar $elm$browser$Debugger$History$size = function (history) {\n\treturn history.numMessages;\n};\nvar $elm$browser$Debugger$Overlay$Accept = function (a) {\n\treturn {$: 'Accept', a: a};\n};\nvar $elm$browser$Debugger$Overlay$Choose = F2(\n\tfunction (a, b) {\n\t\treturn {$: 'Choose', a: a, b: b};\n\t});\nvar $elm$html$Html$div = _VirtualDom_node('div');\nvar $elm$json$Json$Encode$string = _Json_wrap;\nvar $elm$html$Html$Attributes$stringProperty = F2(\n\tfunction (key, string) {\n\t\treturn A2(\n\t\t\t_VirtualDom_property,\n\t\t\tkey,\n\t\t\t$elm$json$Json$Encode$string(string));\n\t});\nvar $elm$html$Html$Attributes$id = $elm$html$Html$Attributes$stringProperty('id');\nvar $elm$virtual_dom$VirtualDom$Normal = function (a) {\n\treturn {$: 'Normal', a: a};\n};\nvar $elm$virtual_dom$VirtualDom$on = _VirtualDom_on;\nvar $elm$html$Html$Events$on = F2(\n\tfunction (event, decoder) {\n\t\treturn A2(\n\t\t\t$elm$virtual_dom$VirtualDom$on,\n\t\t\tevent,\n\t\t\t$elm$virtual_dom$VirtualDom$Normal(decoder));\n\t});\nvar $elm$html$Html$Events$onClick = function (msg) {\n\treturn A2(\n\t\t$elm$html$Html$Events$on,\n\t\t'click',\n\t\t$elm$json$Json$Decode$succeed(msg));\n};\nvar $elm$html$Html$span = _VirtualDom_node('span');\nvar $elm$virtual_dom$VirtualDom$style = _VirtualDom_style;\nvar $elm$html$Html$Attributes$style = $elm$virtual_dom$VirtualDom$style;\nvar $elm$virtual_dom$VirtualDom$text = _VirtualDom_text;\nvar $elm$html$Html$text = $elm$virtual_dom$VirtualDom$text;\nvar $elm$html$Html$a = _VirtualDom_node('a');\nvar $elm$browser$Debugger$Overlay$goodNews1 = '\\nThe good news is that having values like this in your message type is not\\nso great in the long run. You are better off using simpler data, like\\n';\nvar $elm$browser$Debugger$Overlay$goodNews2 = '\\nfunction can pattern match on that data and call whatever functions, JSON\\ndecoders, etc. you need. This makes the code much more explicit and easy to\\nfollow for other readers (or you in a few months!)\\n';\nvar $elm$html$Html$Attributes$href = function (url) {\n\treturn A2(\n\t\t$elm$html$Html$Attributes$stringProperty,\n\t\t'href',\n\t\t_VirtualDom_noJavaScriptUri(url));\n};\nvar $elm$core$List$foldrHelper = F4(\n\tfunction (fn, acc, ctr, ls) {\n\t\tif (!ls.b) {\n\t\t\treturn acc;\n\t\t} else {\n\t\t\tvar a = ls.a;\n\t\t\tvar r1 = ls.b;\n\t\t\tif (!r1.b) {\n\t\t\t\treturn A2(fn, a, acc);\n\t\t\t} else {\n\t\t\t\tvar b = r1.a;\n\t\t\t\tvar r2 = r1.b;\n\t\t\t\tif (!r2.b) {\n\t\t\t\t\treturn A2(\n\t\t\t\t\t\tfn,\n\t\t\t\t\t\ta,\n\t\t\t\t\t\tA2(fn, b, acc));\n\t\t\t\t} else {\n\t\t\t\t\tvar c = r2.a;\n\t\t\t\t\tvar r3 = r2.b;\n\t\t\t\t\tif (!r3.b) {\n\t\t\t\t\t\treturn A2(\n\t\t\t\t\t\t\tfn,\n\t\t\t\t\t\t\ta,\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\tfn,\n\t\t\t\t\t\t\t\tb,\n\t\t\t\t\t\t\t\tA2(fn, c, acc)));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar d = r3.a;\n\t\t\t\t\t\tvar r4 = r3.b;\n\t\t\t\t\t\tvar res = (ctr > 500) ? A3(\n\t\t\t\t\t\t\t$elm$core$List$foldl,\n\t\t\t\t\t\t\tfn,\n\t\t\t\t\t\t\tacc,\n\t\t\t\t\t\t\t$elm$core$List$reverse(r4)) : A4($elm$core$List$foldrHelper, fn, acc, ctr + 1, r4);\n\t\t\t\t\t\treturn A2(\n\t\t\t\t\t\t\tfn,\n\t\t\t\t\t\t\ta,\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\tfn,\n\t\t\t\t\t\t\t\tb,\n\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\tfn,\n\t\t\t\t\t\t\t\t\tc,\n\t\t\t\t\t\t\t\t\tA2(fn, d, res))));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$List$foldr = F3(\n\tfunction (fn, acc, ls) {\n\t\treturn A4($elm$core$List$foldrHelper, fn, acc, 0, ls);\n\t});\nvar $elm$core$List$map = F2(\n\tfunction (f, xs) {\n\t\treturn A3(\n\t\t\t$elm$core$List$foldr,\n\t\t\tF2(\n\t\t\t\tfunction (x, acc) {\n\t\t\t\t\treturn A2(\n\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\tf(x),\n\t\t\t\t\t\tacc);\n\t\t\t\t}),\n\t\t\t_List_Nil,\n\t\t\txs);\n\t});\nvar $elm$html$Html$p = _VirtualDom_node('p');\nvar $elm$html$Html$ul = _VirtualDom_node('ul');\nvar $elm$html$Html$code = _VirtualDom_node('code');\nvar $elm$browser$Debugger$Overlay$viewCode = function (name) {\n\treturn A2(\n\t\t$elm$html$Html$code,\n\t\t_List_Nil,\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\t$elm$html$Html$text(name)\n\t\t\t]));\n};\nvar $elm$browser$Debugger$Overlay$addCommas = function (items) {\n\tif (!items.b) {\n\t\treturn '';\n\t} else {\n\t\tif (!items.b.b) {\n\t\t\tvar item = items.a;\n\t\t\treturn item;\n\t\t} else {\n\t\t\tif (!items.b.b.b) {\n\t\t\t\tvar item1 = items.a;\n\t\t\t\tvar _v1 = items.b;\n\t\t\t\tvar item2 = _v1.a;\n\t\t\t\treturn item1 + (' and ' + item2);\n\t\t\t} else {\n\t\t\t\tvar lastItem = items.a;\n\t\t\t\tvar otherItems = items.b;\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$core$String$join,\n\t\t\t\t\t', ',\n\t\t\t\t\t_Utils_ap(\n\t\t\t\t\t\totherItems,\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[' and ' + lastItem])));\n\t\t\t}\n\t\t}\n\t}\n};\nvar $elm$html$Html$li = _VirtualDom_node('li');\nvar $elm$browser$Debugger$Overlay$problemToString = function (problem) {\n\tswitch (problem.$) {\n\t\tcase 'Function':\n\t\t\treturn 'functions';\n\t\tcase 'Decoder':\n\t\t\treturn 'JSON decoders';\n\t\tcase 'Task':\n\t\t\treturn 'tasks';\n\t\tcase 'Process':\n\t\t\treturn 'processes';\n\t\tcase 'Socket':\n\t\t\treturn 'web sockets';\n\t\tcase 'Request':\n\t\t\treturn 'HTTP requests';\n\t\tcase 'Program':\n\t\t\treturn 'programs';\n\t\tdefault:\n\t\t\treturn 'virtual DOM values';\n\t}\n};\nvar $elm$browser$Debugger$Overlay$viewProblemType = function (_v0) {\n\tvar name = _v0.name;\n\tvar problems = _v0.problems;\n\treturn A2(\n\t\t$elm$html$Html$li,\n\t\t_List_Nil,\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\t$elm$browser$Debugger$Overlay$viewCode(name),\n\t\t\t\t$elm$html$Html$text(\n\t\t\t\t' can contain ' + ($elm$browser$Debugger$Overlay$addCommas(\n\t\t\t\t\tA2($elm$core$List$map, $elm$browser$Debugger$Overlay$problemToString, problems)) + '.'))\n\t\t\t]));\n};\nvar $elm$browser$Debugger$Overlay$viewBadMetadata = function (_v0) {\n\tvar message = _v0.message;\n\tvar problems = _v0.problems;\n\treturn _List_fromArray(\n\t\t[\n\t\t\tA2(\n\t\t\t$elm$html$Html$p,\n\t\t\t_List_Nil,\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\t$elm$html$Html$text('The '),\n\t\t\t\t\t$elm$browser$Debugger$Overlay$viewCode(message),\n\t\t\t\t\t$elm$html$Html$text(' type of your program cannot be reliably serialized for history files.')\n\t\t\t\t])),\n\t\t\tA2(\n\t\t\t$elm$html$Html$p,\n\t\t\t_List_Nil,\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\t$elm$html$Html$text('Functions cannot be serialized, nor can values that contain functions. This is a problem in these places:')\n\t\t\t\t])),\n\t\t\tA2(\n\t\t\t$elm$html$Html$ul,\n\t\t\t_List_Nil,\n\t\t\tA2($elm$core$List$map, $elm$browser$Debugger$Overlay$viewProblemType, problems)),\n\t\t\tA2(\n\t\t\t$elm$html$Html$p,\n\t\t\t_List_Nil,\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\t$elm$html$Html$text($elm$browser$Debugger$Overlay$goodNews1),\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$a,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$Attributes$href('https://guide.elm-lang.org/types/custom_types.html')\n\t\t\t\t\t\t]),\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$text('custom types')\n\t\t\t\t\t\t])),\n\t\t\t\t\t$elm$html$Html$text(', in your messages. From there, your '),\n\t\t\t\t\t$elm$browser$Debugger$Overlay$viewCode('update'),\n\t\t\t\t\t$elm$html$Html$text($elm$browser$Debugger$Overlay$goodNews2)\n\t\t\t\t]))\n\t\t]);\n};\nvar $elm$virtual_dom$VirtualDom$map = _VirtualDom_map;\nvar $elm$html$Html$map = $elm$virtual_dom$VirtualDom$map;\nvar $elm$browser$Debugger$Overlay$Cancel = {$: 'Cancel'};\nvar $elm$browser$Debugger$Overlay$Proceed = {$: 'Proceed'};\nvar $elm$html$Html$button = _VirtualDom_node('button');\nvar $elm$browser$Debugger$Overlay$viewButtons = function (buttons) {\n\tvar btn = F2(\n\t\tfunction (msg, string) {\n\t\t\treturn A2(\n\t\t\t\t$elm$html$Html$button,\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'margin-right', '20px'),\n\t\t\t\t\t\t$elm$html$Html$Events$onClick(msg)\n\t\t\t\t\t]),\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\t$elm$html$Html$text(string)\n\t\t\t\t\t]));\n\t\t});\n\tvar buttonNodes = function () {\n\t\tif (buttons.$ === 'Accept') {\n\t\t\tvar proceed = buttons.a;\n\t\t\treturn _List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2(btn, $elm$browser$Debugger$Overlay$Proceed, proceed)\n\t\t\t\t]);\n\t\t} else {\n\t\t\tvar cancel = buttons.a;\n\t\t\tvar proceed = buttons.b;\n\t\t\treturn _List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2(btn, $elm$browser$Debugger$Overlay$Cancel, cancel),\n\t\t\t\t\tA2(btn, $elm$browser$Debugger$Overlay$Proceed, proceed)\n\t\t\t\t]);\n\t\t}\n\t}();\n\treturn A2(\n\t\t$elm$html$Html$div,\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'height', '60px'),\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'line-height', '60px'),\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'text-align', 'right'),\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'background-color', 'rgb(50, 50, 50)')\n\t\t\t]),\n\t\tbuttonNodes);\n};\nvar $elm$browser$Debugger$Overlay$viewMessage = F4(\n\tfunction (config, title, details, buttons) {\n\t\treturn A2(\n\t\t\t$elm$html$Html$div,\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\t$elm$html$Html$Attributes$id('elm-debugger-overlay'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'position', 'fixed'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'top', '0'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'left', '0'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'width', '100vw'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'height', '100vh'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'color', 'white'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'pointer-events', 'none'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'font-family', '\\'Trebuchet MS\\', \\'Lucida Grande\\', \\'Bitstream Vera Sans\\', \\'Helvetica Neue\\', sans-serif'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'z-index', '2147483647')\n\t\t\t\t]),\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'position', 'absolute'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'width', '600px'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'height', '100vh'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'padding-left', 'calc(50% - 300px)'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'padding-right', 'calc(50% - 300px)'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'background-color', 'rgba(200, 200, 200, 0.7)'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'pointer-events', 'auto')\n\t\t\t\t\t\t]),\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'font-size', '36px'),\n\t\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'height', '80px'),\n\t\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'background-color', 'rgb(50, 50, 50)'),\n\t\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'padding-left', '22px'),\n\t\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'vertical-align', 'middle'),\n\t\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'line-height', '80px')\n\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t$elm$html$Html$text(title)\n\t\t\t\t\t\t\t\t])),\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$id('elm-debugger-details'),\n\t\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'padding', ' 8px 20px'),\n\t\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'overflow-y', 'auto'),\n\t\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'max-height', 'calc(100vh - 156px)'),\n\t\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'background-color', 'rgb(61, 61, 61)')\n\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\tdetails),\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$html$Html$map,\n\t\t\t\t\t\t\tconfig.wrap,\n\t\t\t\t\t\t\t$elm$browser$Debugger$Overlay$viewButtons(buttons))\n\t\t\t\t\t\t]))\n\t\t\t\t]));\n\t});\nvar $elm$virtual_dom$VirtualDom$attribute = F2(\n\tfunction (key, value) {\n\t\treturn A2(\n\t\t\t_VirtualDom_attribute,\n\t\t\t_VirtualDom_noOnOrFormAction(key),\n\t\t\t_VirtualDom_noJavaScriptOrHtmlUri(value));\n\t});\nvar $elm$core$Basics$negate = function (n) {\n\treturn -n;\n};\nvar $elm$virtual_dom$VirtualDom$nodeNS = function (tag) {\n\treturn _VirtualDom_nodeNS(\n\t\t_VirtualDom_noScript(tag));\n};\nvar $elm$core$String$fromFloat = _String_fromNumber;\nvar $elm$browser$Debugger$Overlay$viewShape = F4(\n\tfunction (x, y, angle, coordinates) {\n\t\treturn A4(\n\t\t\t$elm$virtual_dom$VirtualDom$nodeNS,\n\t\t\t'http://www.w3.org/2000/svg',\n\t\t\t'polygon',\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2($elm$virtual_dom$VirtualDom$attribute, 'points', coordinates),\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$virtual_dom$VirtualDom$attribute,\n\t\t\t\t\t'transform',\n\t\t\t\t\t'translate(' + ($elm$core$String$fromFloat(x) + (' ' + ($elm$core$String$fromFloat(y) + (') rotate(' + ($elm$core$String$fromFloat(-angle) + ')'))))))\n\t\t\t\t]),\n\t\t\t_List_Nil);\n\t});\nvar $elm$browser$Debugger$Overlay$elmLogo = A4(\n\t$elm$virtual_dom$VirtualDom$nodeNS,\n\t'http://www.w3.org/2000/svg',\n\t'svg',\n\t_List_fromArray(\n\t\t[\n\t\t\tA2($elm$virtual_dom$VirtualDom$attribute, 'viewBox', '-300 -300 600 600'),\n\t\t\tA2($elm$virtual_dom$VirtualDom$attribute, 'xmlns', 'http://www.w3.org/2000/svg'),\n\t\t\tA2($elm$virtual_dom$VirtualDom$attribute, 'fill', 'currentColor'),\n\t\t\tA2($elm$virtual_dom$VirtualDom$attribute, 'width', '24px'),\n\t\t\tA2($elm$virtual_dom$VirtualDom$attribute, 'height', '24px')\n\t\t]),\n\t_List_fromArray(\n\t\t[\n\t\t\tA4(\n\t\t\t$elm$virtual_dom$VirtualDom$nodeNS,\n\t\t\t'http://www.w3.org/2000/svg',\n\t\t\t'g',\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2($elm$virtual_dom$VirtualDom$attribute, 'transform', 'scale(1 -1)')\n\t\t\t\t]),\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA4($elm$browser$Debugger$Overlay$viewShape, 0, -210, 0, '-280,-90 0,190 280,-90'),\n\t\t\t\t\tA4($elm$browser$Debugger$Overlay$viewShape, -210, 0, 90, '-280,-90 0,190 280,-90'),\n\t\t\t\t\tA4($elm$browser$Debugger$Overlay$viewShape, 207, 207, 45, '-198,-66 0,132 198,-66'),\n\t\t\t\t\tA4($elm$browser$Debugger$Overlay$viewShape, 150, 0, 0, '-130,0 0,-130 130,0 0,130'),\n\t\t\t\t\tA4($elm$browser$Debugger$Overlay$viewShape, -89, 239, 0, '-191,61 69,61 191,-61 -69,-61'),\n\t\t\t\t\tA4($elm$browser$Debugger$Overlay$viewShape, 0, 106, 180, '-130,-44 0,86 130,-44'),\n\t\t\t\t\tA4($elm$browser$Debugger$Overlay$viewShape, 256, -150, 270, '-130,-44 0,86 130,-44')\n\t\t\t\t]))\n\t\t]));\nvar $elm$core$String$length = _String_length;\nvar $elm$browser$Debugger$Overlay$viewMiniControls = F2(\n\tfunction (config, numMsgs) {\n\t\tvar string = $elm$core$String$fromInt(numMsgs);\n\t\tvar width = $elm$core$String$fromInt(\n\t\t\t2 + $elm$core$String$length(string));\n\t\treturn A2(\n\t\t\t$elm$html$Html$div,\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'position', 'fixed'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'bottom', '2em'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'right', '2em'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'width', 'calc(42px + ' + (width + 'ch)')),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'height', '36px'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'background-color', '#1293D8'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'color', 'white'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'font-family', 'monospace'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'pointer-events', 'auto'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'z-index', '2147483647'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'display', 'flex'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'justify-content', 'center'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'align-items', 'center'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'cursor', 'pointer'),\n\t\t\t\t\t$elm$html$Html$Events$onClick(config.open)\n\t\t\t\t]),\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\t$elm$browser$Debugger$Overlay$elmLogo,\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$span,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'padding-left', 'calc(1ch + 6px)'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'padding-right', '1ch')\n\t\t\t\t\t\t]),\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$text(string)\n\t\t\t\t\t\t]))\n\t\t\t\t]));\n\t});\nvar $elm$browser$Debugger$Overlay$explanationBad = '\\nThe messages in this history do not match the messages handled by your\\nprogram. I noticed changes in the following types:\\n';\nvar $elm$browser$Debugger$Overlay$explanationRisky = '\\nThis history seems old. It will work with this program, but some\\nmessages have been added since the history was created:\\n';\nvar $elm$core$List$intersperse = F2(\n\tfunction (sep, xs) {\n\t\tif (!xs.b) {\n\t\t\treturn _List_Nil;\n\t\t} else {\n\t\t\tvar hd = xs.a;\n\t\t\tvar tl = xs.b;\n\t\t\tvar step = F2(\n\t\t\t\tfunction (x, rest) {\n\t\t\t\t\treturn A2(\n\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\tsep,\n\t\t\t\t\t\tA2($elm$core$List$cons, x, rest));\n\t\t\t\t});\n\t\t\tvar spersed = A3($elm$core$List$foldr, step, _List_Nil, tl);\n\t\t\treturn A2($elm$core$List$cons, hd, spersed);\n\t\t}\n\t});\nvar $elm$browser$Debugger$Overlay$viewMention = F2(\n\tfunction (tags, verbed) {\n\t\tvar _v0 = A2(\n\t\t\t$elm$core$List$map,\n\t\t\t$elm$browser$Debugger$Overlay$viewCode,\n\t\t\t$elm$core$List$reverse(tags));\n\t\tif (!_v0.b) {\n\t\t\treturn $elm$html$Html$text('');\n\t\t} else {\n\t\t\tif (!_v0.b.b) {\n\t\t\t\tvar tag = _v0.a;\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$html$Html$li,\n\t\t\t\t\t_List_Nil,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$text(verbed),\n\t\t\t\t\t\t\ttag,\n\t\t\t\t\t\t\t$elm$html$Html$text('.')\n\t\t\t\t\t\t]));\n\t\t\t} else {\n\t\t\t\tif (!_v0.b.b.b) {\n\t\t\t\t\tvar tag2 = _v0.a;\n\t\t\t\t\tvar _v1 = _v0.b;\n\t\t\t\t\tvar tag1 = _v1.a;\n\t\t\t\t\treturn A2(\n\t\t\t\t\t\t$elm$html$Html$li,\n\t\t\t\t\t\t_List_Nil,\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t$elm$html$Html$text(verbed),\n\t\t\t\t\t\t\t\ttag1,\n\t\t\t\t\t\t\t\t$elm$html$Html$text(' and '),\n\t\t\t\t\t\t\t\ttag2,\n\t\t\t\t\t\t\t\t$elm$html$Html$text('.')\n\t\t\t\t\t\t\t]));\n\t\t\t\t} else {\n\t\t\t\t\tvar lastTag = _v0.a;\n\t\t\t\t\tvar otherTags = _v0.b;\n\t\t\t\t\treturn A2(\n\t\t\t\t\t\t$elm$html$Html$li,\n\t\t\t\t\t\t_List_Nil,\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t\t$elm$html$Html$text(verbed),\n\t\t\t\t\t\t\t_Utils_ap(\n\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t$elm$core$List$intersperse,\n\t\t\t\t\t\t\t\t\t$elm$html$Html$text(', '),\n\t\t\t\t\t\t\t\t\t$elm$core$List$reverse(otherTags)),\n\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t$elm$html$Html$text(', and '),\n\t\t\t\t\t\t\t\t\t\tlastTag,\n\t\t\t\t\t\t\t\t\t\t$elm$html$Html$text('.')\n\t\t\t\t\t\t\t\t\t]))));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\nvar $elm$browser$Debugger$Overlay$viewChange = function (change) {\n\treturn A2(\n\t\t$elm$html$Html$li,\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'margin', '8px 0')\n\t\t\t]),\n\t\tfunction () {\n\t\t\tif (change.$ === 'AliasChange') {\n\t\t\t\tvar name = change.a;\n\t\t\t\treturn _List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$html$Html$span,\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'font-size', '1.5em')\n\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t$elm$browser$Debugger$Overlay$viewCode(name)\n\t\t\t\t\t\t\t]))\n\t\t\t\t\t]);\n\t\t\t} else {\n\t\t\t\tvar name = change.a;\n\t\t\t\tvar removed = change.b.removed;\n\t\t\t\tvar changed = change.b.changed;\n\t\t\t\tvar added = change.b.added;\n\t\t\t\tvar argsMatch = change.b.argsMatch;\n\t\t\t\treturn _List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$html$Html$span,\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'font-size', '1.5em')\n\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t$elm$browser$Debugger$Overlay$viewCode(name)\n\t\t\t\t\t\t\t])),\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$html$Html$ul,\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'list-style-type', 'disc'),\n\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'padding-left', '2em')\n\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\tA2($elm$browser$Debugger$Overlay$viewMention, removed, 'Removed '),\n\t\t\t\t\t\t\t\tA2($elm$browser$Debugger$Overlay$viewMention, changed, 'Changed '),\n\t\t\t\t\t\t\t\tA2($elm$browser$Debugger$Overlay$viewMention, added, 'Added ')\n\t\t\t\t\t\t\t])),\n\t\t\t\t\t\targsMatch ? $elm$html$Html$text('') : $elm$html$Html$text('This may be due to the fact that the type variable names changed.')\n\t\t\t\t\t]);\n\t\t\t}\n\t\t}());\n};\nvar $elm$browser$Debugger$Overlay$viewReport = F2(\n\tfunction (isBad, report) {\n\t\tswitch (report.$) {\n\t\t\tcase 'CorruptHistory':\n\t\t\t\treturn _List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\t$elm$html$Html$text('Looks like this history file is corrupt. I cannot understand it.')\n\t\t\t\t\t]);\n\t\t\tcase 'VersionChanged':\n\t\t\t\tvar old = report.a;\n\t\t\t\tvar _new = report.b;\n\t\t\t\treturn _List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\t$elm$html$Html$text('This history was created with Elm ' + (old + (', but you are using Elm ' + (_new + ' right now.'))))\n\t\t\t\t\t]);\n\t\t\tcase 'MessageChanged':\n\t\t\t\tvar old = report.a;\n\t\t\t\tvar _new = report.b;\n\t\t\t\treturn _List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\t$elm$html$Html$text('To import some other history, the overall message type must' + ' be the same. The old history has '),\n\t\t\t\t\t\t$elm$browser$Debugger$Overlay$viewCode(old),\n\t\t\t\t\t\t$elm$html$Html$text(' messages, but the new program works with '),\n\t\t\t\t\t\t$elm$browser$Debugger$Overlay$viewCode(_new),\n\t\t\t\t\t\t$elm$html$Html$text(' messages.')\n\t\t\t\t\t]);\n\t\t\tdefault:\n\t\t\t\tvar changes = report.a;\n\t\t\t\treturn _List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$html$Html$p,\n\t\t\t\t\t\t_List_Nil,\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t$elm$html$Html$text(\n\t\t\t\t\t\t\t\tisBad ? $elm$browser$Debugger$Overlay$explanationBad : $elm$browser$Debugger$Overlay$explanationRisky)\n\t\t\t\t\t\t\t])),\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$html$Html$ul,\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'list-style-type', 'none'),\n\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'padding-left', '20px')\n\t\t\t\t\t\t\t]),\n\t\t\t\t\t\tA2($elm$core$List$map, $elm$browser$Debugger$Overlay$viewChange, changes))\n\t\t\t\t\t]);\n\t\t}\n\t});\nvar $elm$browser$Debugger$Overlay$view = F5(\n\tfunction (config, isPaused, isOpen, numMsgs, state) {\n\t\tswitch (state.$) {\n\t\t\tcase 'None':\n\t\t\t\treturn isOpen ? $elm$html$Html$text('') : (isPaused ? A2(\n\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$Attributes$id('elm-debugger-overlay'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'position', 'fixed'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'top', '0'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'left', '0'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'width', '100vw'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'height', '100vh'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'cursor', 'pointer'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'display', 'flex'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'align-items', 'center'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'justify-content', 'center'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'pointer-events', 'auto'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'background-color', 'rgba(200, 200, 200, 0.7)'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'color', 'white'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'font-family', '\\'Trebuchet MS\\', \\'Lucida Grande\\', \\'Bitstream Vera Sans\\', \\'Helvetica Neue\\', sans-serif'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'z-index', '2147483646'),\n\t\t\t\t\t\t\t$elm$html$Html$Events$onClick(config.resume)\n\t\t\t\t\t\t]),\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$html$Html$span,\n\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'font-size', '80px')\n\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t$elm$html$Html$text('Click to Resume')\n\t\t\t\t\t\t\t\t])),\n\t\t\t\t\t\t\tA2($elm$browser$Debugger$Overlay$viewMiniControls, config, numMsgs)\n\t\t\t\t\t\t])) : A2($elm$browser$Debugger$Overlay$viewMiniControls, config, numMsgs));\n\t\t\tcase 'BadMetadata':\n\t\t\t\tvar badMetadata_ = state.a;\n\t\t\t\treturn A4(\n\t\t\t\t\t$elm$browser$Debugger$Overlay$viewMessage,\n\t\t\t\t\tconfig,\n\t\t\t\t\t'Cannot use Import or Export',\n\t\t\t\t\t$elm$browser$Debugger$Overlay$viewBadMetadata(badMetadata_),\n\t\t\t\t\t$elm$browser$Debugger$Overlay$Accept('Ok'));\n\t\t\tcase 'BadImport':\n\t\t\t\tvar report = state.a;\n\t\t\t\treturn A4(\n\t\t\t\t\t$elm$browser$Debugger$Overlay$viewMessage,\n\t\t\t\t\tconfig,\n\t\t\t\t\t'Cannot Import History',\n\t\t\t\t\tA2($elm$browser$Debugger$Overlay$viewReport, true, report),\n\t\t\t\t\t$elm$browser$Debugger$Overlay$Accept('Ok'));\n\t\t\tdefault:\n\t\t\t\tvar report = state.a;\n\t\t\t\treturn A4(\n\t\t\t\t\t$elm$browser$Debugger$Overlay$viewMessage,\n\t\t\t\t\tconfig,\n\t\t\t\t\t'Warning',\n\t\t\t\t\tA2($elm$browser$Debugger$Overlay$viewReport, false, report),\n\t\t\t\t\tA2($elm$browser$Debugger$Overlay$Choose, 'Cancel', 'Import Anyway'));\n\t\t}\n\t});\nvar $elm$browser$Debugger$Main$cornerView = function (model) {\n\treturn A5(\n\t\t$elm$browser$Debugger$Overlay$view,\n\t\t{exportHistory: $elm$browser$Debugger$Main$Export, importHistory: $elm$browser$Debugger$Main$Import, open: $elm$browser$Debugger$Main$Open, resume: $elm$browser$Debugger$Main$Resume, wrap: $elm$browser$Debugger$Main$OverlayMsg},\n\t\t$elm$browser$Debugger$Main$isPaused(model.state),\n\t\t_Debugger_isOpen(model.popout),\n\t\t$elm$browser$Debugger$History$size(model.history),\n\t\tmodel.overlay);\n};\nvar $elm$core$Dict$RBEmpty_elm_builtin = {$: 'RBEmpty_elm_builtin'};\nvar $elm$core$Dict$empty = $elm$core$Dict$RBEmpty_elm_builtin;\nvar $elm$core$Set$foldr = F3(\n\tfunction (func, initialState, _v0) {\n\t\tvar dict = _v0.a;\n\t\treturn A3(\n\t\t\t$elm$core$Dict$foldr,\n\t\t\tF3(\n\t\t\t\tfunction (key, _v1, state) {\n\t\t\t\t\treturn A2(func, key, state);\n\t\t\t\t}),\n\t\t\tinitialState,\n\t\t\tdict);\n\t});\nvar $elm$browser$Debugger$Main$getCurrentModel = function (state) {\n\tif (state.$ === 'Running') {\n\t\tvar model = state.a;\n\t\treturn model;\n\t} else {\n\t\tvar model = state.b;\n\t\treturn model;\n\t}\n};\nvar $elm$browser$Debugger$Main$getUserModel = function (model) {\n\treturn $elm$browser$Debugger$Main$getCurrentModel(model.state);\n};\nvar $elm$browser$Debugger$Main$initialWindowHeight = 420;\nvar $elm$browser$Debugger$Main$initialWindowWidth = 900;\nvar $elm$core$Dict$Black = {$: 'Black'};\nvar $elm$core$Dict$RBNode_elm_builtin = F5(\n\tfunction (a, b, c, d, e) {\n\t\treturn {$: 'RBNode_elm_builtin', a: a, b: b, c: c, d: d, e: e};\n\t});\nvar $elm$core$Dict$Red = {$: 'Red'};\nvar $elm$core$Dict$balance = F5(\n\tfunction (color, key, value, left, right) {\n\t\tif ((right.$ === 'RBNode_elm_builtin') && (right.a.$ === 'Red')) {\n\t\t\tvar _v1 = right.a;\n\t\t\tvar rK = right.b;\n\t\t\tvar rV = right.c;\n\t\t\tvar rLeft = right.d;\n\t\t\tvar rRight = right.e;\n\t\t\tif ((left.$ === 'RBNode_elm_builtin') && (left.a.$ === 'Red')) {\n\t\t\t\tvar _v3 = left.a;\n\t\t\t\tvar lK = left.b;\n\t\t\t\tvar lV = left.c;\n\t\t\t\tvar lLeft = left.d;\n\t\t\t\tvar lRight = left.e;\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t$elm$core$Dict$Red,\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue,\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, lK, lV, lLeft, lRight),\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, rK, rV, rLeft, rRight));\n\t\t\t} else {\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\tcolor,\n\t\t\t\t\trK,\n\t\t\t\t\trV,\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, key, value, left, rLeft),\n\t\t\t\t\trRight);\n\t\t\t}\n\t\t} else {\n\t\t\tif ((((left.$ === 'RBNode_elm_builtin') && (left.a.$ === 'Red')) && (left.d.$ === 'RBNode_elm_builtin')) && (left.d.a.$ === 'Red')) {\n\t\t\t\tvar _v5 = left.a;\n\t\t\t\tvar lK = left.b;\n\t\t\t\tvar lV = left.c;\n\t\t\t\tvar _v6 = left.d;\n\t\t\t\tvar _v7 = _v6.a;\n\t\t\t\tvar llK = _v6.b;\n\t\t\t\tvar llV = _v6.c;\n\t\t\t\tvar llLeft = _v6.d;\n\t\t\t\tvar llRight = _v6.e;\n\t\t\t\tvar lRight = left.e;\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t$elm$core$Dict$Red,\n\t\t\t\t\tlK,\n\t\t\t\t\tlV,\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, llK, llV, llLeft, llRight),\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, key, value, lRight, right));\n\t\t\t} else {\n\t\t\t\treturn A5($elm$core$Dict$RBNode_elm_builtin, color, key, value, left, right);\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Basics$compare = _Utils_compare;\nvar $elm$core$Dict$insertHelp = F3(\n\tfunction (key, value, dict) {\n\t\tif (dict.$ === 'RBEmpty_elm_builtin') {\n\t\t\treturn A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, key, value, $elm$core$Dict$RBEmpty_elm_builtin, $elm$core$Dict$RBEmpty_elm_builtin);\n\t\t} else {\n\t\t\tvar nColor = dict.a;\n\t\t\tvar nKey = dict.b;\n\t\t\tvar nValue = dict.c;\n\t\t\tvar nLeft = dict.d;\n\t\t\tvar nRight = dict.e;\n\t\t\tvar _v1 = A2($elm$core$Basics$compare, key, nKey);\n\t\t\tswitch (_v1.$) {\n\t\t\t\tcase 'LT':\n\t\t\t\t\treturn A5(\n\t\t\t\t\t\t$elm$core$Dict$balance,\n\t\t\t\t\t\tnColor,\n\t\t\t\t\t\tnKey,\n\t\t\t\t\t\tnValue,\n\t\t\t\t\t\tA3($elm$core$Dict$insertHelp, key, value, nLeft),\n\t\t\t\t\t\tnRight);\n\t\t\t\tcase 'EQ':\n\t\t\t\t\treturn A5($elm$core$Dict$RBNode_elm_builtin, nColor, nKey, value, nLeft, nRight);\n\t\t\t\tdefault:\n\t\t\t\t\treturn A5(\n\t\t\t\t\t\t$elm$core$Dict$balance,\n\t\t\t\t\t\tnColor,\n\t\t\t\t\t\tnKey,\n\t\t\t\t\t\tnValue,\n\t\t\t\t\t\tnLeft,\n\t\t\t\t\t\tA3($elm$core$Dict$insertHelp, key, value, nRight));\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Dict$insert = F3(\n\tfunction (key, value, dict) {\n\t\tvar _v0 = A3($elm$core$Dict$insertHelp, key, value, dict);\n\t\tif ((_v0.$ === 'RBNode_elm_builtin') && (_v0.a.$ === 'Red')) {\n\t\t\tvar _v1 = _v0.a;\n\t\t\tvar k = _v0.b;\n\t\t\tvar v = _v0.c;\n\t\t\tvar l = _v0.d;\n\t\t\tvar r = _v0.e;\n\t\t\treturn A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, k, v, l, r);\n\t\t} else {\n\t\t\tvar x = _v0;\n\t\t\treturn x;\n\t\t}\n\t});\nvar $elm$browser$Debugger$Main$cachedHistory = function (model) {\n\tvar _v0 = model.state;\n\tif (_v0.$ === 'Running') {\n\t\treturn model.history;\n\t} else {\n\t\tvar history = _v0.e;\n\t\treturn history;\n\t}\n};\nvar $elm$virtual_dom$VirtualDom$node = function (tag) {\n\treturn _VirtualDom_node(\n\t\t_VirtualDom_noScript(tag));\n};\nvar $elm$html$Html$node = $elm$virtual_dom$VirtualDom$node;\nvar $elm$browser$Debugger$Main$DragEnd = {$: 'DragEnd'};\nvar $elm$browser$Debugger$Main$getDragStatus = function (layout) {\n\tif (layout.$ === 'Horizontal') {\n\t\tvar status = layout.a;\n\t\treturn status;\n\t} else {\n\t\tvar status = layout.a;\n\t\treturn status;\n\t}\n};\nvar $elm$browser$Debugger$Main$Drag = function (a) {\n\treturn {$: 'Drag', a: a};\n};\nvar $elm$browser$Debugger$Main$DragInfo = F5(\n\tfunction (x, y, down, width, height) {\n\t\treturn {down: down, height: height, width: width, x: x, y: y};\n\t});\nvar $elm$json$Json$Decode$field = _Json_decodeField;\nvar $elm$json$Json$Decode$at = F2(\n\tfunction (fields, decoder) {\n\t\treturn A3($elm$core$List$foldr, $elm$json$Json$Decode$field, decoder, fields);\n\t});\nvar $elm$json$Json$Decode$float = _Json_decodeFloat;\nvar $elm$browser$Debugger$Main$decodeDimension = function (field) {\n\treturn A2(\n\t\t$elm$json$Json$Decode$at,\n\t\t_List_fromArray(\n\t\t\t['currentTarget', 'ownerDocument', 'defaultView', field]),\n\t\t$elm$json$Json$Decode$float);\n};\nvar $elm$json$Json$Decode$int = _Json_decodeInt;\nvar $elm$json$Json$Decode$map5 = _Json_map5;\nvar $elm$browser$Debugger$Main$onMouseMove = A2(\n\t$elm$html$Html$Events$on,\n\t'mousemove',\n\tA2(\n\t\t$elm$json$Json$Decode$map,\n\t\t$elm$browser$Debugger$Main$Drag,\n\t\tA6(\n\t\t\t$elm$json$Json$Decode$map5,\n\t\t\t$elm$browser$Debugger$Main$DragInfo,\n\t\t\tA2($elm$json$Json$Decode$field, 'pageX', $elm$json$Json$Decode$float),\n\t\t\tA2($elm$json$Json$Decode$field, 'pageY', $elm$json$Json$Decode$float),\n\t\t\tA2(\n\t\t\t\t$elm$json$Json$Decode$field,\n\t\t\t\t'buttons',\n\t\t\t\tA2(\n\t\t\t\t\t$elm$json$Json$Decode$map,\n\t\t\t\t\tfunction (v) {\n\t\t\t\t\t\treturn v === 1;\n\t\t\t\t\t},\n\t\t\t\t\t$elm$json$Json$Decode$int)),\n\t\t\t$elm$browser$Debugger$Main$decodeDimension('innerWidth'),\n\t\t\t$elm$browser$Debugger$Main$decodeDimension('innerHeight'))));\nvar $elm$html$Html$Events$onMouseUp = function (msg) {\n\treturn A2(\n\t\t$elm$html$Html$Events$on,\n\t\t'mouseup',\n\t\t$elm$json$Json$Decode$succeed(msg));\n};\nvar $elm$browser$Debugger$Main$toDragListeners = function (layout) {\n\tvar _v0 = $elm$browser$Debugger$Main$getDragStatus(layout);\n\tif (_v0.$ === 'Static') {\n\t\treturn _List_Nil;\n\t} else {\n\t\treturn _List_fromArray(\n\t\t\t[\n\t\t\t\t$elm$browser$Debugger$Main$onMouseMove,\n\t\t\t\t$elm$html$Html$Events$onMouseUp($elm$browser$Debugger$Main$DragEnd)\n\t\t\t]);\n\t}\n};\nvar $elm$browser$Debugger$Main$toFlexDirection = function (layout) {\n\tif (layout.$ === 'Horizontal') {\n\t\treturn 'row';\n\t} else {\n\t\treturn 'column-reverse';\n\t}\n};\nvar $elm$browser$Debugger$Main$DragStart = {$: 'DragStart'};\nvar $elm$html$Html$Events$onMouseDown = function (msg) {\n\treturn A2(\n\t\t$elm$html$Html$Events$on,\n\t\t'mousedown',\n\t\t$elm$json$Json$Decode$succeed(msg));\n};\nvar $elm$browser$Debugger$Main$toPercent = function (fraction) {\n\treturn $elm$core$String$fromFloat(100 * fraction) + '%';\n};\nvar $elm$browser$Debugger$Main$viewDragZone = function (layout) {\n\tif (layout.$ === 'Horizontal') {\n\t\tvar x = layout.b;\n\t\treturn A2(\n\t\t\t$elm$html$Html$div,\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'position', 'absolute'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'top', '0'),\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$Attributes$style,\n\t\t\t\t\t'left',\n\t\t\t\t\t$elm$browser$Debugger$Main$toPercent(x)),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'margin-left', '-5px'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'width', '10px'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'height', '100%'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'cursor', 'col-resize'),\n\t\t\t\t\t$elm$html$Html$Events$onMouseDown($elm$browser$Debugger$Main$DragStart)\n\t\t\t\t]),\n\t\t\t_List_Nil);\n\t} else {\n\t\tvar y = layout.c;\n\t\treturn A2(\n\t\t\t$elm$html$Html$div,\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'position', 'absolute'),\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$Attributes$style,\n\t\t\t\t\t'top',\n\t\t\t\t\t$elm$browser$Debugger$Main$toPercent(y)),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'left', '0'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'margin-top', '-5px'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'width', '100%'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'height', '10px'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'cursor', 'row-resize'),\n\t\t\t\t\t$elm$html$Html$Events$onMouseDown($elm$browser$Debugger$Main$DragStart)\n\t\t\t\t]),\n\t\t\t_List_Nil);\n\t}\n};\nvar $elm$browser$Debugger$Main$TweakExpandoModel = function (a) {\n\treturn {$: 'TweakExpandoModel', a: a};\n};\nvar $elm$browser$Debugger$Main$TweakExpandoMsg = function (a) {\n\treturn {$: 'TweakExpandoMsg', a: a};\n};\nvar $elm$browser$Debugger$Main$toExpandoPercents = function (layout) {\n\tif (layout.$ === 'Horizontal') {\n\t\tvar x = layout.b;\n\t\treturn _Utils_Tuple2(\n\t\t\t$elm$browser$Debugger$Main$toPercent(1 - x),\n\t\t\t'100%');\n\t} else {\n\t\tvar y = layout.c;\n\t\treturn _Utils_Tuple2(\n\t\t\t'100%',\n\t\t\t$elm$browser$Debugger$Main$toPercent(y));\n\t}\n};\nvar $elm$browser$Debugger$Main$toMouseBlocker = function (layout) {\n\tvar _v0 = $elm$browser$Debugger$Main$getDragStatus(layout);\n\tif (_v0.$ === 'Static') {\n\t\treturn 'auto';\n\t} else {\n\t\treturn 'none';\n\t}\n};\nvar $elm$browser$Debugger$Expando$Field = F2(\n\tfunction (a, b) {\n\t\treturn {$: 'Field', a: a, b: b};\n\t});\nvar $elm$browser$Debugger$Expando$Index = F3(\n\tfunction (a, b, c) {\n\t\treturn {$: 'Index', a: a, b: b, c: c};\n\t});\nvar $elm$browser$Debugger$Expando$Key = {$: 'Key'};\nvar $elm$browser$Debugger$Expando$None = {$: 'None'};\nvar $elm$browser$Debugger$Expando$Toggle = {$: 'Toggle'};\nvar $elm$browser$Debugger$Expando$Value = {$: 'Value'};\nvar $elm$browser$Debugger$Expando$blue = A2($elm$html$Html$Attributes$style, 'color', 'rgb(28, 0, 207)');\nvar $elm$core$Basics$composeL = F3(\n\tfunction (g, f, x) {\n\t\treturn g(\n\t\t\tf(x));\n\t});\nvar $elm$browser$Debugger$Expando$leftPad = function (maybeKey) {\n\tif (maybeKey.$ === 'Nothing') {\n\t\treturn _List_Nil;\n\t} else {\n\t\treturn _List_fromArray(\n\t\t\t[\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'padding-left', '4ch')\n\t\t\t]);\n\t}\n};\nvar $elm$browser$Debugger$Expando$makeArrow = function (arrow) {\n\treturn A2(\n\t\t$elm$html$Html$span,\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'color', '#777'),\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'padding-left', '2ch'),\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'width', '2ch'),\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'display', 'inline-block')\n\t\t\t]),\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\t$elm$html$Html$text(arrow)\n\t\t\t]));\n};\nvar $elm$browser$Debugger$Expando$purple = A2($elm$html$Html$Attributes$style, 'color', 'rgb(136, 19, 145)');\nvar $elm$browser$Debugger$Expando$lineStarter = F3(\n\tfunction (maybeKey, maybeIsClosed, description) {\n\t\tvar arrow = function () {\n\t\t\tif (maybeIsClosed.$ === 'Nothing') {\n\t\t\t\treturn $elm$browser$Debugger$Expando$makeArrow('');\n\t\t\t} else {\n\t\t\t\tif (maybeIsClosed.a) {\n\t\t\t\t\treturn $elm$browser$Debugger$Expando$makeArrow('▸');\n\t\t\t\t} else {\n\t\t\t\t\treturn $elm$browser$Debugger$Expando$makeArrow('▾');\n\t\t\t\t}\n\t\t\t}\n\t\t}();\n\t\tif (maybeKey.$ === 'Nothing') {\n\t\t\treturn A2($elm$core$List$cons, arrow, description);\n\t\t} else {\n\t\t\tvar key = maybeKey.a;\n\t\t\treturn A2(\n\t\t\t\t$elm$core$List$cons,\n\t\t\t\tarrow,\n\t\t\t\tA2(\n\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$html$Html$span,\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[$elm$browser$Debugger$Expando$purple]),\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t$elm$html$Html$text(key)\n\t\t\t\t\t\t\t])),\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t$elm$html$Html$text(' = '),\n\t\t\t\t\t\tdescription)));\n\t\t}\n\t});\nvar $elm$browser$Debugger$Expando$red = A2($elm$html$Html$Attributes$style, 'color', 'rgb(196, 26, 22)');\nvar $elm$core$Tuple$second = function (_v0) {\n\tvar y = _v0.b;\n\treturn y;\n};\nvar $elm$browser$Debugger$Expando$seqTypeToString = F2(\n\tfunction (n, seqType) {\n\t\tswitch (seqType.$) {\n\t\t\tcase 'ListSeq':\n\t\t\t\treturn 'List(' + ($elm$core$String$fromInt(n) + ')');\n\t\t\tcase 'SetSeq':\n\t\t\t\treturn 'Set(' + ($elm$core$String$fromInt(n) + ')');\n\t\t\tdefault:\n\t\t\t\treturn 'Array(' + ($elm$core$String$fromInt(n) + ')');\n\t\t}\n\t});\nvar $elm$core$String$slice = _String_slice;\nvar $elm$core$String$left = F2(\n\tfunction (n, string) {\n\t\treturn (n < 1) ? '' : A3($elm$core$String$slice, 0, n, string);\n\t});\nvar $elm$core$String$right = F2(\n\tfunction (n, string) {\n\t\treturn (n < 1) ? '' : A3(\n\t\t\t$elm$core$String$slice,\n\t\t\t-n,\n\t\t\t$elm$core$String$length(string),\n\t\t\tstring);\n\t});\nvar $elm$browser$Debugger$Expando$elideMiddle = function (str) {\n\treturn ($elm$core$String$length(str) <= 18) ? str : (A2($elm$core$String$left, 8, str) + ('...' + A2($elm$core$String$right, 8, str)));\n};\nvar $elm$core$Dict$isEmpty = function (dict) {\n\tif (dict.$ === 'RBEmpty_elm_builtin') {\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\nvar $elm$browser$Debugger$Expando$viewExtraTinyRecord = F3(\n\tfunction (length, starter, entries) {\n\t\tif (!entries.b) {\n\t\t\treturn _Utils_Tuple2(\n\t\t\t\tlength + 1,\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\t$elm$html$Html$text('}')\n\t\t\t\t\t]));\n\t\t} else {\n\t\t\tvar field = entries.a;\n\t\t\tvar rest = entries.b;\n\t\t\tvar nextLength = (length + $elm$core$String$length(field)) + 1;\n\t\t\tif (nextLength > 18) {\n\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\tlength + 2,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$text('…}')\n\t\t\t\t\t\t]));\n\t\t\t} else {\n\t\t\t\tvar _v1 = A3($elm$browser$Debugger$Expando$viewExtraTinyRecord, nextLength, ',', rest);\n\t\t\t\tvar finalLength = _v1.a;\n\t\t\t\tvar otherHtmls = _v1.b;\n\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\tfinalLength,\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t$elm$html$Html$text(starter),\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t$elm$html$Html$span,\n\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t[$elm$browser$Debugger$Expando$purple]),\n\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t$elm$html$Html$text(field)\n\t\t\t\t\t\t\t\t\t])),\n\t\t\t\t\t\t\totherHtmls)));\n\t\t\t}\n\t\t}\n\t});\nvar $elm$browser$Debugger$Expando$viewTinyHelp = function (str) {\n\treturn _Utils_Tuple2(\n\t\t$elm$core$String$length(str),\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\t$elm$html$Html$text(str)\n\t\t\t]));\n};\nvar $elm$core$Maybe$withDefault = F2(\n\tfunction (_default, maybe) {\n\t\tif (maybe.$ === 'Just') {\n\t\t\tvar value = maybe.a;\n\t\t\treturn value;\n\t\t} else {\n\t\t\treturn _default;\n\t\t}\n\t});\nvar $elm$browser$Debugger$Expando$viewExtraTiny = function (value) {\n\tif (value.$ === 'Record') {\n\t\tvar record = value.b;\n\t\treturn A3(\n\t\t\t$elm$browser$Debugger$Expando$viewExtraTinyRecord,\n\t\t\t0,\n\t\t\t'{',\n\t\t\t$elm$core$Dict$keys(record));\n\t} else {\n\t\treturn $elm$browser$Debugger$Expando$viewTiny(value);\n\t}\n};\nvar $elm$browser$Debugger$Expando$viewTiny = function (value) {\n\tswitch (value.$) {\n\t\tcase 'S':\n\t\t\tvar stringRep = value.a;\n\t\t\tvar str = $elm$browser$Debugger$Expando$elideMiddle(stringRep);\n\t\t\treturn _Utils_Tuple2(\n\t\t\t\t$elm$core$String$length(str),\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$html$Html$span,\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[$elm$browser$Debugger$Expando$red]),\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t$elm$html$Html$text(str)\n\t\t\t\t\t\t\t]))\n\t\t\t\t\t]));\n\t\tcase 'Primitive':\n\t\t\tvar stringRep = value.a;\n\t\t\treturn _Utils_Tuple2(\n\t\t\t\t$elm$core$String$length(stringRep),\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$html$Html$span,\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[$elm$browser$Debugger$Expando$blue]),\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t$elm$html$Html$text(stringRep)\n\t\t\t\t\t\t\t]))\n\t\t\t\t\t]));\n\t\tcase 'Sequence':\n\t\t\tvar seqType = value.a;\n\t\t\tvar valueList = value.c;\n\t\t\treturn $elm$browser$Debugger$Expando$viewTinyHelp(\n\t\t\t\tA2(\n\t\t\t\t\t$elm$browser$Debugger$Expando$seqTypeToString,\n\t\t\t\t\t$elm$core$List$length(valueList),\n\t\t\t\t\tseqType));\n\t\tcase 'Dictionary':\n\t\t\tvar keyValuePairs = value.b;\n\t\t\treturn $elm$browser$Debugger$Expando$viewTinyHelp(\n\t\t\t\t'Dict(' + ($elm$core$String$fromInt(\n\t\t\t\t\t$elm$core$List$length(keyValuePairs)) + ')'));\n\t\tcase 'Record':\n\t\t\tvar record = value.b;\n\t\t\treturn $elm$browser$Debugger$Expando$viewTinyRecord(record);\n\t\tdefault:\n\t\t\tif (!value.c.b) {\n\t\t\t\tvar maybeName = value.a;\n\t\t\t\treturn $elm$browser$Debugger$Expando$viewTinyHelp(\n\t\t\t\t\tA2($elm$core$Maybe$withDefault, 'Unit', maybeName));\n\t\t\t} else {\n\t\t\t\tvar maybeName = value.a;\n\t\t\t\tvar valueList = value.c;\n\t\t\t\treturn $elm$browser$Debugger$Expando$viewTinyHelp(\n\t\t\t\t\tfunction () {\n\t\t\t\t\t\tif (maybeName.$ === 'Nothing') {\n\t\t\t\t\t\t\treturn 'Tuple(' + ($elm$core$String$fromInt(\n\t\t\t\t\t\t\t\t$elm$core$List$length(valueList)) + ')');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar name = maybeName.a;\n\t\t\t\t\t\t\treturn name + ' …';\n\t\t\t\t\t\t}\n\t\t\t\t\t}());\n\t\t\t}\n\t}\n};\nvar $elm$browser$Debugger$Expando$viewTinyRecord = function (record) {\n\treturn $elm$core$Dict$isEmpty(record) ? _Utils_Tuple2(\n\t\t2,\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\t$elm$html$Html$text('{}')\n\t\t\t])) : A3(\n\t\t$elm$browser$Debugger$Expando$viewTinyRecordHelp,\n\t\t0,\n\t\t'{ ',\n\t\t$elm$core$Dict$toList(record));\n};\nvar $elm$browser$Debugger$Expando$viewTinyRecordHelp = F3(\n\tfunction (length, starter, entries) {\n\t\tif (!entries.b) {\n\t\t\treturn _Utils_Tuple2(\n\t\t\t\tlength + 2,\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\t$elm$html$Html$text(' }')\n\t\t\t\t\t]));\n\t\t} else {\n\t\t\tvar _v1 = entries.a;\n\t\t\tvar field = _v1.a;\n\t\t\tvar value = _v1.b;\n\t\t\tvar rest = entries.b;\n\t\t\tvar fieldLen = $elm$core$String$length(field);\n\t\t\tvar _v2 = $elm$browser$Debugger$Expando$viewExtraTiny(value);\n\t\t\tvar valueLen = _v2.a;\n\t\t\tvar valueHtmls = _v2.b;\n\t\t\tvar newLength = ((length + fieldLen) + valueLen) + 5;\n\t\t\tif (newLength > 60) {\n\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\tlength + 4,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$text(', … }')\n\t\t\t\t\t\t]));\n\t\t\t} else {\n\t\t\t\tvar _v3 = A3($elm$browser$Debugger$Expando$viewTinyRecordHelp, newLength, ', ', rest);\n\t\t\t\tvar finalLength = _v3.a;\n\t\t\t\tvar otherHtmls = _v3.b;\n\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\tfinalLength,\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t$elm$html$Html$text(starter),\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t$elm$html$Html$span,\n\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t[$elm$browser$Debugger$Expando$purple]),\n\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t$elm$html$Html$text(field)\n\t\t\t\t\t\t\t\t\t])),\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t\t\t$elm$html$Html$text(' = '),\n\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t\t\t\tA2($elm$html$Html$span, _List_Nil, valueHtmls),\n\t\t\t\t\t\t\t\t\totherHtmls)))));\n\t\t\t}\n\t\t}\n\t});\nvar $elm$browser$Debugger$Expando$view = F2(\n\tfunction (maybeKey, expando) {\n\t\tswitch (expando.$) {\n\t\t\tcase 'S':\n\t\t\t\tvar stringRep = expando.a;\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t$elm$browser$Debugger$Expando$leftPad(maybeKey),\n\t\t\t\t\tA3(\n\t\t\t\t\t\t$elm$browser$Debugger$Expando$lineStarter,\n\t\t\t\t\t\tmaybeKey,\n\t\t\t\t\t\t$elm$core$Maybe$Nothing,\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t$elm$html$Html$span,\n\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t[$elm$browser$Debugger$Expando$red]),\n\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t$elm$html$Html$text(stringRep)\n\t\t\t\t\t\t\t\t\t]))\n\t\t\t\t\t\t\t])));\n\t\t\tcase 'Primitive':\n\t\t\t\tvar stringRep = expando.a;\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t$elm$browser$Debugger$Expando$leftPad(maybeKey),\n\t\t\t\t\tA3(\n\t\t\t\t\t\t$elm$browser$Debugger$Expando$lineStarter,\n\t\t\t\t\t\tmaybeKey,\n\t\t\t\t\t\t$elm$core$Maybe$Nothing,\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t$elm$html$Html$span,\n\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t[$elm$browser$Debugger$Expando$blue]),\n\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t$elm$html$Html$text(stringRep)\n\t\t\t\t\t\t\t\t\t]))\n\t\t\t\t\t\t\t])));\n\t\t\tcase 'Sequence':\n\t\t\t\tvar seqType = expando.a;\n\t\t\t\tvar isClosed = expando.b;\n\t\t\t\tvar valueList = expando.c;\n\t\t\t\treturn A4($elm$browser$Debugger$Expando$viewSequence, maybeKey, seqType, isClosed, valueList);\n\t\t\tcase 'Dictionary':\n\t\t\t\tvar isClosed = expando.a;\n\t\t\t\tvar keyValuePairs = expando.b;\n\t\t\t\treturn A3($elm$browser$Debugger$Expando$viewDictionary, maybeKey, isClosed, keyValuePairs);\n\t\t\tcase 'Record':\n\t\t\t\tvar isClosed = expando.a;\n\t\t\t\tvar valueDict = expando.b;\n\t\t\t\treturn A3($elm$browser$Debugger$Expando$viewRecord, maybeKey, isClosed, valueDict);\n\t\t\tdefault:\n\t\t\t\tvar maybeName = expando.a;\n\t\t\t\tvar isClosed = expando.b;\n\t\t\t\tvar valueList = expando.c;\n\t\t\t\treturn A4($elm$browser$Debugger$Expando$viewConstructor, maybeKey, maybeName, isClosed, valueList);\n\t\t}\n\t});\nvar $elm$browser$Debugger$Expando$viewConstructor = F4(\n\tfunction (maybeKey, maybeName, isClosed, valueList) {\n\t\tvar tinyArgs = A2(\n\t\t\t$elm$core$List$map,\n\t\t\tA2($elm$core$Basics$composeL, $elm$core$Tuple$second, $elm$browser$Debugger$Expando$viewExtraTiny),\n\t\t\tvalueList);\n\t\tvar description = function () {\n\t\t\tvar _v7 = _Utils_Tuple2(maybeName, tinyArgs);\n\t\t\tif (_v7.a.$ === 'Nothing') {\n\t\t\t\tif (!_v7.b.b) {\n\t\t\t\t\tvar _v8 = _v7.a;\n\t\t\t\t\treturn _List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$text('()')\n\t\t\t\t\t\t]);\n\t\t\t\t} else {\n\t\t\t\t\tvar _v9 = _v7.a;\n\t\t\t\t\tvar _v10 = _v7.b;\n\t\t\t\t\tvar x = _v10.a;\n\t\t\t\t\tvar xs = _v10.b;\n\t\t\t\t\treturn A2(\n\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t$elm$html$Html$text('( '),\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t\tA2($elm$html$Html$span, _List_Nil, x),\n\t\t\t\t\t\t\tA3(\n\t\t\t\t\t\t\t\t$elm$core$List$foldr,\n\t\t\t\t\t\t\t\tF2(\n\t\t\t\t\t\t\t\t\tfunction (args, rest) {\n\t\t\t\t\t\t\t\t\t\treturn A2(\n\t\t\t\t\t\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$text(', '),\n\t\t\t\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t\t\t\t\t\t\tA2($elm$html$Html$span, _List_Nil, args),\n\t\t\t\t\t\t\t\t\t\t\t\trest));\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t$elm$html$Html$text(' )')\n\t\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t\txs)));\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (!_v7.b.b) {\n\t\t\t\t\tvar name = _v7.a.a;\n\t\t\t\t\treturn _List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$text(name)\n\t\t\t\t\t\t]);\n\t\t\t\t} else {\n\t\t\t\t\tvar name = _v7.a.a;\n\t\t\t\t\tvar _v11 = _v7.b;\n\t\t\t\t\tvar x = _v11.a;\n\t\t\t\t\tvar xs = _v11.b;\n\t\t\t\t\treturn A2(\n\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t$elm$html$Html$text(name + ' '),\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t\tA2($elm$html$Html$span, _List_Nil, x),\n\t\t\t\t\t\t\tA3(\n\t\t\t\t\t\t\t\t$elm$core$List$foldr,\n\t\t\t\t\t\t\t\tF2(\n\t\t\t\t\t\t\t\t\tfunction (args, rest) {\n\t\t\t\t\t\t\t\t\t\treturn A2(\n\t\t\t\t\t\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$text(' '),\n\t\t\t\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t\t\t\t\t\t\tA2($elm$html$Html$span, _List_Nil, args),\n\t\t\t\t\t\t\t\t\t\t\t\trest));\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t_List_Nil,\n\t\t\t\t\t\t\t\txs)));\n\t\t\t\t}\n\t\t\t}\n\t\t}();\n\t\tvar _v4 = function () {\n\t\t\tif (!valueList.b) {\n\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t$elm$core$Maybe$Nothing,\n\t\t\t\t\tA2($elm$html$Html$div, _List_Nil, _List_Nil));\n\t\t\t} else {\n\t\t\t\tif (!valueList.b.b) {\n\t\t\t\t\tvar entry = valueList.a;\n\t\t\t\t\tswitch (entry.$) {\n\t\t\t\t\t\tcase 'S':\n\t\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t\t$elm$core$Maybe$Nothing,\n\t\t\t\t\t\t\t\tA2($elm$html$Html$div, _List_Nil, _List_Nil));\n\t\t\t\t\t\tcase 'Primitive':\n\t\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t\t$elm$core$Maybe$Nothing,\n\t\t\t\t\t\t\t\tA2($elm$html$Html$div, _List_Nil, _List_Nil));\n\t\t\t\t\t\tcase 'Sequence':\n\t\t\t\t\t\t\tvar subValueList = entry.c;\n\t\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t\t$elm$core$Maybe$Just(isClosed),\n\t\t\t\t\t\t\t\tisClosed ? A2($elm$html$Html$div, _List_Nil, _List_Nil) : A2(\n\t\t\t\t\t\t\t\t\t$elm$html$Html$map,\n\t\t\t\t\t\t\t\t\tA2($elm$browser$Debugger$Expando$Index, $elm$browser$Debugger$Expando$None, 0),\n\t\t\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$viewSequenceOpen(subValueList)));\n\t\t\t\t\t\tcase 'Dictionary':\n\t\t\t\t\t\t\tvar keyValuePairs = entry.b;\n\t\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t\t$elm$core$Maybe$Just(isClosed),\n\t\t\t\t\t\t\t\tisClosed ? A2($elm$html$Html$div, _List_Nil, _List_Nil) : A2(\n\t\t\t\t\t\t\t\t\t$elm$html$Html$map,\n\t\t\t\t\t\t\t\t\tA2($elm$browser$Debugger$Expando$Index, $elm$browser$Debugger$Expando$None, 0),\n\t\t\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$viewDictionaryOpen(keyValuePairs)));\n\t\t\t\t\t\tcase 'Record':\n\t\t\t\t\t\t\tvar record = entry.b;\n\t\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t\t$elm$core$Maybe$Just(isClosed),\n\t\t\t\t\t\t\t\tisClosed ? A2($elm$html$Html$div, _List_Nil, _List_Nil) : A2(\n\t\t\t\t\t\t\t\t\t$elm$html$Html$map,\n\t\t\t\t\t\t\t\t\tA2($elm$browser$Debugger$Expando$Index, $elm$browser$Debugger$Expando$None, 0),\n\t\t\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$viewRecordOpen(record)));\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tvar subValueList = entry.c;\n\t\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t\t$elm$core$Maybe$Just(isClosed),\n\t\t\t\t\t\t\t\tisClosed ? A2($elm$html$Html$div, _List_Nil, _List_Nil) : A2(\n\t\t\t\t\t\t\t\t\t$elm$html$Html$map,\n\t\t\t\t\t\t\t\t\tA2($elm$browser$Debugger$Expando$Index, $elm$browser$Debugger$Expando$None, 0),\n\t\t\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$viewConstructorOpen(subValueList)));\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t$elm$core$Maybe$Just(isClosed),\n\t\t\t\t\t\tisClosed ? A2($elm$html$Html$div, _List_Nil, _List_Nil) : $elm$browser$Debugger$Expando$viewConstructorOpen(valueList));\n\t\t\t\t}\n\t\t\t}\n\t\t}();\n\t\tvar maybeIsClosed = _v4.a;\n\t\tvar openHtml = _v4.b;\n\t\treturn A2(\n\t\t\t$elm$html$Html$div,\n\t\t\t$elm$browser$Debugger$Expando$leftPad(maybeKey),\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$Events$onClick($elm$browser$Debugger$Expando$Toggle)\n\t\t\t\t\t\t]),\n\t\t\t\t\tA3($elm$browser$Debugger$Expando$lineStarter, maybeKey, maybeIsClosed, description)),\n\t\t\t\t\topenHtml\n\t\t\t\t]));\n\t});\nvar $elm$browser$Debugger$Expando$viewConstructorEntry = F2(\n\tfunction (index, value) {\n\t\treturn A2(\n\t\t\t$elm$html$Html$map,\n\t\t\tA2($elm$browser$Debugger$Expando$Index, $elm$browser$Debugger$Expando$None, index),\n\t\t\tA2(\n\t\t\t\t$elm$browser$Debugger$Expando$view,\n\t\t\t\t$elm$core$Maybe$Just(\n\t\t\t\t\t$elm$core$String$fromInt(index)),\n\t\t\t\tvalue));\n\t});\nvar $elm$browser$Debugger$Expando$viewConstructorOpen = function (valueList) {\n\treturn A2(\n\t\t$elm$html$Html$div,\n\t\t_List_Nil,\n\t\tA2($elm$core$List$indexedMap, $elm$browser$Debugger$Expando$viewConstructorEntry, valueList));\n};\nvar $elm$browser$Debugger$Expando$viewDictionary = F3(\n\tfunction (maybeKey, isClosed, keyValuePairs) {\n\t\tvar starter = 'Dict(' + ($elm$core$String$fromInt(\n\t\t\t$elm$core$List$length(keyValuePairs)) + ')');\n\t\treturn A2(\n\t\t\t$elm$html$Html$div,\n\t\t\t$elm$browser$Debugger$Expando$leftPad(maybeKey),\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$Events$onClick($elm$browser$Debugger$Expando$Toggle)\n\t\t\t\t\t\t]),\n\t\t\t\t\tA3(\n\t\t\t\t\t\t$elm$browser$Debugger$Expando$lineStarter,\n\t\t\t\t\t\tmaybeKey,\n\t\t\t\t\t\t$elm$core$Maybe$Just(isClosed),\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t$elm$html$Html$text(starter)\n\t\t\t\t\t\t\t]))),\n\t\t\t\t\tisClosed ? $elm$html$Html$text('') : $elm$browser$Debugger$Expando$viewDictionaryOpen(keyValuePairs)\n\t\t\t\t]));\n\t});\nvar $elm$browser$Debugger$Expando$viewDictionaryEntry = F2(\n\tfunction (index, _v2) {\n\t\tvar key = _v2.a;\n\t\tvar value = _v2.b;\n\t\tswitch (key.$) {\n\t\t\tcase 'S':\n\t\t\t\tvar stringRep = key.a;\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$html$Html$map,\n\t\t\t\t\tA2($elm$browser$Debugger$Expando$Index, $elm$browser$Debugger$Expando$Value, index),\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$browser$Debugger$Expando$view,\n\t\t\t\t\t\t$elm$core$Maybe$Just(stringRep),\n\t\t\t\t\t\tvalue));\n\t\t\tcase 'Primitive':\n\t\t\t\tvar stringRep = key.a;\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$html$Html$map,\n\t\t\t\t\tA2($elm$browser$Debugger$Expando$Index, $elm$browser$Debugger$Expando$Value, index),\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$browser$Debugger$Expando$view,\n\t\t\t\t\t\t$elm$core$Maybe$Just(stringRep),\n\t\t\t\t\t\tvalue));\n\t\t\tdefault:\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t_List_Nil,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$html$Html$map,\n\t\t\t\t\t\t\tA2($elm$browser$Debugger$Expando$Index, $elm$browser$Debugger$Expando$Key, index),\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$view,\n\t\t\t\t\t\t\t\t$elm$core$Maybe$Just('key'),\n\t\t\t\t\t\t\t\tkey)),\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$html$Html$map,\n\t\t\t\t\t\t\tA2($elm$browser$Debugger$Expando$Index, $elm$browser$Debugger$Expando$Value, index),\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$view,\n\t\t\t\t\t\t\t\t$elm$core$Maybe$Just('value'),\n\t\t\t\t\t\t\t\tvalue))\n\t\t\t\t\t\t]));\n\t\t}\n\t});\nvar $elm$browser$Debugger$Expando$viewDictionaryOpen = function (keyValuePairs) {\n\treturn A2(\n\t\t$elm$html$Html$div,\n\t\t_List_Nil,\n\t\tA2($elm$core$List$indexedMap, $elm$browser$Debugger$Expando$viewDictionaryEntry, keyValuePairs));\n};\nvar $elm$browser$Debugger$Expando$viewRecord = F3(\n\tfunction (maybeKey, isClosed, record) {\n\t\tvar _v1 = isClosed ? _Utils_Tuple3(\n\t\t\t$elm$browser$Debugger$Expando$viewTinyRecord(record).b,\n\t\t\t$elm$html$Html$text(''),\n\t\t\t$elm$html$Html$text('')) : _Utils_Tuple3(\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\t$elm$html$Html$text('{')\n\t\t\t\t]),\n\t\t\t$elm$browser$Debugger$Expando$viewRecordOpen(record),\n\t\t\tA2(\n\t\t\t\t$elm$html$Html$div,\n\t\t\t\t$elm$browser$Debugger$Expando$leftPad(\n\t\t\t\t\t$elm$core$Maybe$Just(_Utils_Tuple0)),\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\t$elm$html$Html$text('}')\n\t\t\t\t\t])));\n\t\tvar start = _v1.a;\n\t\tvar middle = _v1.b;\n\t\tvar end = _v1.c;\n\t\treturn A2(\n\t\t\t$elm$html$Html$div,\n\t\t\t$elm$browser$Debugger$Expando$leftPad(maybeKey),\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$Events$onClick($elm$browser$Debugger$Expando$Toggle)\n\t\t\t\t\t\t]),\n\t\t\t\t\tA3(\n\t\t\t\t\t\t$elm$browser$Debugger$Expando$lineStarter,\n\t\t\t\t\t\tmaybeKey,\n\t\t\t\t\t\t$elm$core$Maybe$Just(isClosed),\n\t\t\t\t\t\tstart)),\n\t\t\t\t\tmiddle,\n\t\t\t\t\tend\n\t\t\t\t]));\n\t});\nvar $elm$browser$Debugger$Expando$viewRecordEntry = function (_v0) {\n\tvar field = _v0.a;\n\tvar value = _v0.b;\n\treturn A2(\n\t\t$elm$html$Html$map,\n\t\t$elm$browser$Debugger$Expando$Field(field),\n\t\tA2(\n\t\t\t$elm$browser$Debugger$Expando$view,\n\t\t\t$elm$core$Maybe$Just(field),\n\t\t\tvalue));\n};\nvar $elm$browser$Debugger$Expando$viewRecordOpen = function (record) {\n\treturn A2(\n\t\t$elm$html$Html$div,\n\t\t_List_Nil,\n\t\tA2(\n\t\t\t$elm$core$List$map,\n\t\t\t$elm$browser$Debugger$Expando$viewRecordEntry,\n\t\t\t$elm$core$Dict$toList(record)));\n};\nvar $elm$browser$Debugger$Expando$viewSequence = F4(\n\tfunction (maybeKey, seqType, isClosed, valueList) {\n\t\tvar starter = A2(\n\t\t\t$elm$browser$Debugger$Expando$seqTypeToString,\n\t\t\t$elm$core$List$length(valueList),\n\t\t\tseqType);\n\t\treturn A2(\n\t\t\t$elm$html$Html$div,\n\t\t\t$elm$browser$Debugger$Expando$leftPad(maybeKey),\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$Events$onClick($elm$browser$Debugger$Expando$Toggle)\n\t\t\t\t\t\t]),\n\t\t\t\t\tA3(\n\t\t\t\t\t\t$elm$browser$Debugger$Expando$lineStarter,\n\t\t\t\t\t\tmaybeKey,\n\t\t\t\t\t\t$elm$core$Maybe$Just(isClosed),\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t$elm$html$Html$text(starter)\n\t\t\t\t\t\t\t]))),\n\t\t\t\t\tisClosed ? $elm$html$Html$text('') : $elm$browser$Debugger$Expando$viewSequenceOpen(valueList)\n\t\t\t\t]));\n\t});\nvar $elm$browser$Debugger$Expando$viewSequenceOpen = function (values) {\n\treturn A2(\n\t\t$elm$html$Html$div,\n\t\t_List_Nil,\n\t\tA2($elm$core$List$indexedMap, $elm$browser$Debugger$Expando$viewConstructorEntry, values));\n};\nvar $elm$browser$Debugger$Main$viewExpando = F3(\n\tfunction (expandoMsg, expandoModel, layout) {\n\t\tvar block = $elm$browser$Debugger$Main$toMouseBlocker(layout);\n\t\tvar _v0 = $elm$browser$Debugger$Main$toExpandoPercents(layout);\n\t\tvar w = _v0.a;\n\t\tvar h = _v0.b;\n\t\treturn A2(\n\t\t\t$elm$html$Html$div,\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'display', 'block'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'width', 'calc(' + (w + ' - 4em)')),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'height', 'calc(' + (h + ' - 4em)')),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'padding', '2em'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'margin', '0'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'overflow', 'auto'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'pointer-events', block),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, '-webkit-user-select', block),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, '-moz-user-select', block),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, '-ms-user-select', block),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'user-select', block)\n\t\t\t\t]),\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'color', '#ccc'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'padding', '0 0 1em 0')\n\t\t\t\t\t\t]),\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$text('-- MESSAGE')\n\t\t\t\t\t\t])),\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$map,\n\t\t\t\t\t$elm$browser$Debugger$Main$TweakExpandoMsg,\n\t\t\t\t\tA2($elm$browser$Debugger$Expando$view, $elm$core$Maybe$Nothing, expandoMsg)),\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'color', '#ccc'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'padding', '1em 0')\n\t\t\t\t\t\t]),\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$text('-- MODEL')\n\t\t\t\t\t\t])),\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$map,\n\t\t\t\t\t$elm$browser$Debugger$Main$TweakExpandoModel,\n\t\t\t\t\tA2($elm$browser$Debugger$Expando$view, $elm$core$Maybe$Nothing, expandoModel))\n\t\t\t\t]));\n\t});\nvar $elm$browser$Debugger$Main$Jump = function (a) {\n\treturn {$: 'Jump', a: a};\n};\nvar $elm$virtual_dom$VirtualDom$lazy = _VirtualDom_lazy;\nvar $elm$html$Html$Lazy$lazy = $elm$virtual_dom$VirtualDom$lazy;\nvar $elm$browser$Debugger$Main$toHistoryPercents = function (layout) {\n\tif (layout.$ === 'Horizontal') {\n\t\tvar x = layout.b;\n\t\treturn _Utils_Tuple2(\n\t\t\t$elm$browser$Debugger$Main$toPercent(x),\n\t\t\t'100%');\n\t} else {\n\t\tvar y = layout.c;\n\t\treturn _Utils_Tuple2(\n\t\t\t'100%',\n\t\t\t$elm$browser$Debugger$Main$toPercent(1 - y));\n\t}\n};\nvar $elm$virtual_dom$VirtualDom$lazy3 = _VirtualDom_lazy3;\nvar $elm$html$Html$Lazy$lazy3 = $elm$virtual_dom$VirtualDom$lazy3;\nvar $elm$html$Html$Attributes$class = $elm$html$Html$Attributes$stringProperty('className');\nvar $elm$browser$Debugger$History$idForMessageIndex = function (index) {\n\treturn 'msg-' + $elm$core$String$fromInt(index);\n};\nvar $elm$html$Html$Attributes$title = $elm$html$Html$Attributes$stringProperty('title');\nvar $elm$browser$Debugger$History$viewMessage = F3(\n\tfunction (currentIndex, index, msg) {\n\t\tvar messageName = _Debugger_messageToString(msg);\n\t\tvar className = _Utils_eq(currentIndex, index) ? 'elm-debugger-entry elm-debugger-entry-selected' : 'elm-debugger-entry';\n\t\treturn A2(\n\t\t\t$elm$html$Html$div,\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\t$elm$html$Html$Attributes$id(\n\t\t\t\t\t$elm$browser$Debugger$History$idForMessageIndex(index)),\n\t\t\t\t\t$elm$html$Html$Attributes$class(className),\n\t\t\t\t\t$elm$html$Html$Events$onClick(index)\n\t\t\t\t]),\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$span,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$Attributes$title(messageName),\n\t\t\t\t\t\t\t$elm$html$Html$Attributes$class('elm-debugger-entry-content')\n\t\t\t\t\t\t]),\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$text(messageName)\n\t\t\t\t\t\t])),\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$span,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$Attributes$class('elm-debugger-entry-index')\n\t\t\t\t\t\t]),\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$text(\n\t\t\t\t\t\t\t$elm$core$String$fromInt(index))\n\t\t\t\t\t\t]))\n\t\t\t\t]));\n\t});\nvar $elm$browser$Debugger$History$consMsg = F3(\n\tfunction (currentIndex, msg, _v0) {\n\t\tvar index = _v0.a;\n\t\tvar rest = _v0.b;\n\t\treturn _Utils_Tuple2(\n\t\t\tindex + 1,\n\t\t\tA2(\n\t\t\t\t$elm$core$List$cons,\n\t\t\t\t_Utils_Tuple2(\n\t\t\t\t\t$elm$core$String$fromInt(index),\n\t\t\t\t\tA4($elm$html$Html$Lazy$lazy3, $elm$browser$Debugger$History$viewMessage, currentIndex, index, msg)),\n\t\t\t\trest));\n\t});\nvar $elm$core$Array$length = function (_v0) {\n\tvar len = _v0.a;\n\treturn len;\n};\nvar $elm$core$Basics$neq = _Utils_notEqual;\nvar $elm$virtual_dom$VirtualDom$keyedNode = function (tag) {\n\treturn _VirtualDom_keyedNode(\n\t\t_VirtualDom_noScript(tag));\n};\nvar $elm$html$Html$Keyed$node = $elm$virtual_dom$VirtualDom$keyedNode;\nvar $elm$browser$Debugger$History$maxSnapshotSize = 31;\nvar $elm$browser$Debugger$History$showMoreButton = function (numMessages) {\n\tvar nextIndex = (numMessages - 1) - ($elm$browser$Debugger$History$maxSnapshotSize * 2);\n\tvar labelText = 'View more messages';\n\treturn A2(\n\t\t$elm$html$Html$div,\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\t$elm$html$Html$Attributes$class('elm-debugger-entry'),\n\t\t\t\t$elm$html$Html$Events$onClick(nextIndex)\n\t\t\t]),\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\tA2(\n\t\t\t\t$elm$html$Html$span,\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\t$elm$html$Html$Attributes$title(labelText),\n\t\t\t\t\t\t$elm$html$Html$Attributes$class('elm-debugger-entry-content')\n\t\t\t\t\t]),\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\t$elm$html$Html$text(labelText)\n\t\t\t\t\t])),\n\t\t\t\tA2(\n\t\t\t\t$elm$html$Html$span,\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\t$elm$html$Html$Attributes$class('elm-debugger-entry-index')\n\t\t\t\t\t]),\n\t\t\t\t_List_Nil)\n\t\t\t]));\n};\nvar $elm$browser$Debugger$History$styles = A3(\n\t$elm$html$Html$node,\n\t'style',\n\t_List_Nil,\n\t_List_fromArray(\n\t\t[\n\t\t\t$elm$html$Html$text('\\n\\n.elm-debugger-entry {\\n cursor: pointer;\\n width: 100%;\\n box-sizing: border-box;\\n padding: 8px;\\n}\\n\\n.elm-debugger-entry:hover {\\n background-color: rgb(41, 41, 41);\\n}\\n\\n.elm-debugger-entry-selected, .elm-debugger-entry-selected:hover {\\n background-color: rgb(10, 10, 10);\\n}\\n\\n.elm-debugger-entry-content {\\n width: calc(100% - 40px);\\n padding: 0 5px;\\n box-sizing: border-box;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden;\\n display: inline-block;\\n}\\n\\n.elm-debugger-entry-index {\\n color: #666;\\n width: 40px;\\n text-align: right;\\n display: block;\\n float: right;\\n}\\n\\n')\n\t\t]));\nvar $elm$core$Basics$ge = _Utils_ge;\nvar $elm$browser$Debugger$History$viewSnapshot = F3(\n\tfunction (selectedIndex, index, _v0) {\n\t\tvar messages = _v0.messages;\n\t\treturn A3(\n\t\t\t$elm$html$Html$Keyed$node,\n\t\t\t'div',\n\t\t\t_List_Nil,\n\t\t\tA3(\n\t\t\t\t$elm$core$Array$foldr,\n\t\t\t\t$elm$browser$Debugger$History$consMsg(selectedIndex),\n\t\t\t\t_Utils_Tuple2(index, _List_Nil),\n\t\t\t\tmessages).b);\n\t});\nvar $elm$browser$Debugger$History$consSnapshot = F3(\n\tfunction (selectedIndex, snapshot, _v0) {\n\t\tvar index = _v0.a;\n\t\tvar rest = _v0.b;\n\t\tvar nextIndex = index + $elm$core$Array$length(snapshot.messages);\n\t\tvar selectedIndexHelp = ((_Utils_cmp(nextIndex, selectedIndex) > 0) && (_Utils_cmp(selectedIndex, index) > -1)) ? selectedIndex : (-1);\n\t\treturn _Utils_Tuple2(\n\t\t\tnextIndex,\n\t\t\tA2(\n\t\t\t\t$elm$core$List$cons,\n\t\t\t\tA4($elm$html$Html$Lazy$lazy3, $elm$browser$Debugger$History$viewSnapshot, selectedIndexHelp, index, snapshot),\n\t\t\t\trest));\n\t});\nvar $elm$core$Elm$JsArray$foldl = _JsArray_foldl;\nvar $elm$core$Array$foldl = F3(\n\tfunction (func, baseCase, _v0) {\n\t\tvar tree = _v0.c;\n\t\tvar tail = _v0.d;\n\t\tvar helper = F2(\n\t\t\tfunction (node, acc) {\n\t\t\t\tif (node.$ === 'SubTree') {\n\t\t\t\t\tvar subTree = node.a;\n\t\t\t\t\treturn A3($elm$core$Elm$JsArray$foldl, helper, acc, subTree);\n\t\t\t\t} else {\n\t\t\t\t\tvar values = node.a;\n\t\t\t\t\treturn A3($elm$core$Elm$JsArray$foldl, func, acc, values);\n\t\t\t\t}\n\t\t\t});\n\t\treturn A3(\n\t\t\t$elm$core$Elm$JsArray$foldl,\n\t\t\tfunc,\n\t\t\tA3($elm$core$Elm$JsArray$foldl, helper, baseCase, tree),\n\t\t\ttail);\n\t});\nvar $elm$browser$Debugger$History$viewAllSnapshots = F3(\n\tfunction (selectedIndex, startIndex, snapshots) {\n\t\treturn A2(\n\t\t\t$elm$html$Html$div,\n\t\t\t_List_Nil,\n\t\t\tA3(\n\t\t\t\t$elm$core$Array$foldl,\n\t\t\t\t$elm$browser$Debugger$History$consSnapshot(selectedIndex),\n\t\t\t\t_Utils_Tuple2(startIndex, _List_Nil),\n\t\t\t\tsnapshots).b);\n\t});\nvar $elm$core$Array$fromListHelp = F3(\n\tfunction (list, nodeList, nodeListSize) {\n\t\tfromListHelp:\n\t\twhile (true) {\n\t\t\tvar _v0 = A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, list);\n\t\t\tvar jsArray = _v0.a;\n\t\t\tvar remainingItems = _v0.b;\n\t\t\tif (_Utils_cmp(\n\t\t\t\t$elm$core$Elm$JsArray$length(jsArray),\n\t\t\t\t$elm$core$Array$branchFactor) < 0) {\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$core$Array$builderToArray,\n\t\t\t\t\ttrue,\n\t\t\t\t\t{nodeList: nodeList, nodeListSize: nodeListSize, tail: jsArray});\n\t\t\t} else {\n\t\t\t\tvar $temp$list = remainingItems,\n\t\t\t\t\t$temp$nodeList = A2(\n\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t$elm$core$Array$Leaf(jsArray),\n\t\t\t\t\tnodeList),\n\t\t\t\t\t$temp$nodeListSize = nodeListSize + 1;\n\t\t\t\tlist = $temp$list;\n\t\t\t\tnodeList = $temp$nodeList;\n\t\t\t\tnodeListSize = $temp$nodeListSize;\n\t\t\t\tcontinue fromListHelp;\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Array$fromList = function (list) {\n\tif (!list.b) {\n\t\treturn $elm$core$Array$empty;\n\t} else {\n\t\treturn A3($elm$core$Array$fromListHelp, list, _List_Nil, 0);\n\t}\n};\nvar $elm$core$Bitwise$and = _Bitwise_and;\nvar $elm$core$Bitwise$shiftRightZfBy = _Bitwise_shiftRightZfBy;\nvar $elm$core$Array$bitMask = 4294967295 >>> (32 - $elm$core$Array$shiftStep);\nvar $elm$core$Elm$JsArray$unsafeGet = _JsArray_unsafeGet;\nvar $elm$core$Array$getHelp = F3(\n\tfunction (shift, index, tree) {\n\t\tgetHelp:\n\t\twhile (true) {\n\t\t\tvar pos = $elm$core$Array$bitMask & (index >>> shift);\n\t\t\tvar _v0 = A2($elm$core$Elm$JsArray$unsafeGet, pos, tree);\n\t\t\tif (_v0.$ === 'SubTree') {\n\t\t\t\tvar subTree = _v0.a;\n\t\t\t\tvar $temp$shift = shift - $elm$core$Array$shiftStep,\n\t\t\t\t\t$temp$index = index,\n\t\t\t\t\t$temp$tree = subTree;\n\t\t\t\tshift = $temp$shift;\n\t\t\t\tindex = $temp$index;\n\t\t\t\ttree = $temp$tree;\n\t\t\t\tcontinue getHelp;\n\t\t\t} else {\n\t\t\t\tvar values = _v0.a;\n\t\t\t\treturn A2($elm$core$Elm$JsArray$unsafeGet, $elm$core$Array$bitMask & index, values);\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Bitwise$shiftLeftBy = _Bitwise_shiftLeftBy;\nvar $elm$core$Array$tailIndex = function (len) {\n\treturn (len >>> 5) << 5;\n};\nvar $elm$core$Array$get = F2(\n\tfunction (index, _v0) {\n\t\tvar len = _v0.a;\n\t\tvar startShift = _v0.b;\n\t\tvar tree = _v0.c;\n\t\tvar tail = _v0.d;\n\t\treturn ((index < 0) || (_Utils_cmp(index, len) > -1)) ? $elm$core$Maybe$Nothing : ((_Utils_cmp(\n\t\t\tindex,\n\t\t\t$elm$core$Array$tailIndex(len)) > -1) ? $elm$core$Maybe$Just(\n\t\t\tA2($elm$core$Elm$JsArray$unsafeGet, $elm$core$Array$bitMask & index, tail)) : $elm$core$Maybe$Just(\n\t\t\tA3($elm$core$Array$getHelp, startShift, index, tree)));\n\t});\nvar $elm$core$Elm$JsArray$appendN = _JsArray_appendN;\nvar $elm$core$Elm$JsArray$slice = _JsArray_slice;\nvar $elm$core$Array$appendHelpBuilder = F2(\n\tfunction (tail, builder) {\n\t\tvar tailLen = $elm$core$Elm$JsArray$length(tail);\n\t\tvar notAppended = ($elm$core$Array$branchFactor - $elm$core$Elm$JsArray$length(builder.tail)) - tailLen;\n\t\tvar appended = A3($elm$core$Elm$JsArray$appendN, $elm$core$Array$branchFactor, builder.tail, tail);\n\t\treturn (notAppended < 0) ? {\n\t\t\tnodeList: A2(\n\t\t\t\t$elm$core$List$cons,\n\t\t\t\t$elm$core$Array$Leaf(appended),\n\t\t\t\tbuilder.nodeList),\n\t\t\tnodeListSize: builder.nodeListSize + 1,\n\t\t\ttail: A3($elm$core$Elm$JsArray$slice, notAppended, tailLen, tail)\n\t\t} : ((!notAppended) ? {\n\t\t\tnodeList: A2(\n\t\t\t\t$elm$core$List$cons,\n\t\t\t\t$elm$core$Array$Leaf(appended),\n\t\t\t\tbuilder.nodeList),\n\t\t\tnodeListSize: builder.nodeListSize + 1,\n\t\t\ttail: $elm$core$Elm$JsArray$empty\n\t\t} : {nodeList: builder.nodeList, nodeListSize: builder.nodeListSize, tail: appended});\n\t});\nvar $elm$core$List$drop = F2(\n\tfunction (n, list) {\n\t\tdrop:\n\t\twhile (true) {\n\t\t\tif (n <= 0) {\n\t\t\t\treturn list;\n\t\t\t} else {\n\t\t\t\tif (!list.b) {\n\t\t\t\t\treturn list;\n\t\t\t\t} else {\n\t\t\t\t\tvar x = list.a;\n\t\t\t\t\tvar xs = list.b;\n\t\t\t\t\tvar $temp$n = n - 1,\n\t\t\t\t\t\t$temp$list = xs;\n\t\t\t\t\tn = $temp$n;\n\t\t\t\t\tlist = $temp$list;\n\t\t\t\t\tcontinue drop;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Array$sliceLeft = F2(\n\tfunction (from, array) {\n\t\tvar len = array.a;\n\t\tvar tree = array.c;\n\t\tvar tail = array.d;\n\t\tif (!from) {\n\t\t\treturn array;\n\t\t} else {\n\t\t\tif (_Utils_cmp(\n\t\t\t\tfrom,\n\t\t\t\t$elm$core$Array$tailIndex(len)) > -1) {\n\t\t\t\treturn A4(\n\t\t\t\t\t$elm$core$Array$Array_elm_builtin,\n\t\t\t\t\tlen - from,\n\t\t\t\t\t$elm$core$Array$shiftStep,\n\t\t\t\t\t$elm$core$Elm$JsArray$empty,\n\t\t\t\t\tA3(\n\t\t\t\t\t\t$elm$core$Elm$JsArray$slice,\n\t\t\t\t\t\tfrom - $elm$core$Array$tailIndex(len),\n\t\t\t\t\t\t$elm$core$Elm$JsArray$length(tail),\n\t\t\t\t\t\ttail));\n\t\t\t} else {\n\t\t\t\tvar skipNodes = (from / $elm$core$Array$branchFactor) | 0;\n\t\t\t\tvar helper = F2(\n\t\t\t\t\tfunction (node, acc) {\n\t\t\t\t\t\tif (node.$ === 'SubTree') {\n\t\t\t\t\t\t\tvar subTree = node.a;\n\t\t\t\t\t\t\treturn A3($elm$core$Elm$JsArray$foldr, helper, acc, subTree);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar leaf = node.a;\n\t\t\t\t\t\t\treturn A2($elm$core$List$cons, leaf, acc);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\tvar leafNodes = A3(\n\t\t\t\t\t$elm$core$Elm$JsArray$foldr,\n\t\t\t\t\thelper,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[tail]),\n\t\t\t\t\ttree);\n\t\t\t\tvar nodesToInsert = A2($elm$core$List$drop, skipNodes, leafNodes);\n\t\t\t\tif (!nodesToInsert.b) {\n\t\t\t\t\treturn $elm$core$Array$empty;\n\t\t\t\t} else {\n\t\t\t\t\tvar head = nodesToInsert.a;\n\t\t\t\t\tvar rest = nodesToInsert.b;\n\t\t\t\t\tvar firstSlice = from - (skipNodes * $elm$core$Array$branchFactor);\n\t\t\t\t\tvar initialBuilder = {\n\t\t\t\t\t\tnodeList: _List_Nil,\n\t\t\t\t\t\tnodeListSize: 0,\n\t\t\t\t\t\ttail: A3(\n\t\t\t\t\t\t\t$elm$core$Elm$JsArray$slice,\n\t\t\t\t\t\t\tfirstSlice,\n\t\t\t\t\t\t\t$elm$core$Elm$JsArray$length(head),\n\t\t\t\t\t\t\thead)\n\t\t\t\t\t};\n\t\t\t\t\treturn A2(\n\t\t\t\t\t\t$elm$core$Array$builderToArray,\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t\tA3($elm$core$List$foldl, $elm$core$Array$appendHelpBuilder, initialBuilder, rest));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Array$fetchNewTail = F4(\n\tfunction (shift, end, treeEnd, tree) {\n\t\tfetchNewTail:\n\t\twhile (true) {\n\t\t\tvar pos = $elm$core$Array$bitMask & (treeEnd >>> shift);\n\t\t\tvar _v0 = A2($elm$core$Elm$JsArray$unsafeGet, pos, tree);\n\t\t\tif (_v0.$ === 'SubTree') {\n\t\t\t\tvar sub = _v0.a;\n\t\t\t\tvar $temp$shift = shift - $elm$core$Array$shiftStep,\n\t\t\t\t\t$temp$end = end,\n\t\t\t\t\t$temp$treeEnd = treeEnd,\n\t\t\t\t\t$temp$tree = sub;\n\t\t\t\tshift = $temp$shift;\n\t\t\t\tend = $temp$end;\n\t\t\t\ttreeEnd = $temp$treeEnd;\n\t\t\t\ttree = $temp$tree;\n\t\t\t\tcontinue fetchNewTail;\n\t\t\t} else {\n\t\t\t\tvar values = _v0.a;\n\t\t\t\treturn A3($elm$core$Elm$JsArray$slice, 0, $elm$core$Array$bitMask & end, values);\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Array$hoistTree = F3(\n\tfunction (oldShift, newShift, tree) {\n\t\thoistTree:\n\t\twhile (true) {\n\t\t\tif ((_Utils_cmp(oldShift, newShift) < 1) || (!$elm$core$Elm$JsArray$length(tree))) {\n\t\t\t\treturn tree;\n\t\t\t} else {\n\t\t\t\tvar _v0 = A2($elm$core$Elm$JsArray$unsafeGet, 0, tree);\n\t\t\t\tif (_v0.$ === 'SubTree') {\n\t\t\t\t\tvar sub = _v0.a;\n\t\t\t\t\tvar $temp$oldShift = oldShift - $elm$core$Array$shiftStep,\n\t\t\t\t\t\t$temp$newShift = newShift,\n\t\t\t\t\t\t$temp$tree = sub;\n\t\t\t\t\toldShift = $temp$oldShift;\n\t\t\t\t\tnewShift = $temp$newShift;\n\t\t\t\t\ttree = $temp$tree;\n\t\t\t\t\tcontinue hoistTree;\n\t\t\t\t} else {\n\t\t\t\t\treturn tree;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Elm$JsArray$unsafeSet = _JsArray_unsafeSet;\nvar $elm$core$Array$sliceTree = F3(\n\tfunction (shift, endIdx, tree) {\n\t\tvar lastPos = $elm$core$Array$bitMask & (endIdx >>> shift);\n\t\tvar _v0 = A2($elm$core$Elm$JsArray$unsafeGet, lastPos, tree);\n\t\tif (_v0.$ === 'SubTree') {\n\t\t\tvar sub = _v0.a;\n\t\t\tvar newSub = A3($elm$core$Array$sliceTree, shift - $elm$core$Array$shiftStep, endIdx, sub);\n\t\t\treturn (!$elm$core$Elm$JsArray$length(newSub)) ? A3($elm$core$Elm$JsArray$slice, 0, lastPos, tree) : A3(\n\t\t\t\t$elm$core$Elm$JsArray$unsafeSet,\n\t\t\t\tlastPos,\n\t\t\t\t$elm$core$Array$SubTree(newSub),\n\t\t\t\tA3($elm$core$Elm$JsArray$slice, 0, lastPos + 1, tree));\n\t\t} else {\n\t\t\treturn A3($elm$core$Elm$JsArray$slice, 0, lastPos, tree);\n\t\t}\n\t});\nvar $elm$core$Array$sliceRight = F2(\n\tfunction (end, array) {\n\t\tvar len = array.a;\n\t\tvar startShift = array.b;\n\t\tvar tree = array.c;\n\t\tvar tail = array.d;\n\t\tif (_Utils_eq(end, len)) {\n\t\t\treturn array;\n\t\t} else {\n\t\t\tif (_Utils_cmp(\n\t\t\t\tend,\n\t\t\t\t$elm$core$Array$tailIndex(len)) > -1) {\n\t\t\t\treturn A4(\n\t\t\t\t\t$elm$core$Array$Array_elm_builtin,\n\t\t\t\t\tend,\n\t\t\t\t\tstartShift,\n\t\t\t\t\ttree,\n\t\t\t\t\tA3($elm$core$Elm$JsArray$slice, 0, $elm$core$Array$bitMask & end, tail));\n\t\t\t} else {\n\t\t\t\tvar endIdx = $elm$core$Array$tailIndex(end);\n\t\t\t\tvar depth = $elm$core$Basics$floor(\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$Basics$logBase,\n\t\t\t\t\t\t$elm$core$Array$branchFactor,\n\t\t\t\t\t\tA2($elm$core$Basics$max, 1, endIdx - 1)));\n\t\t\t\tvar newShift = A2($elm$core$Basics$max, 5, depth * $elm$core$Array$shiftStep);\n\t\t\t\treturn A4(\n\t\t\t\t\t$elm$core$Array$Array_elm_builtin,\n\t\t\t\t\tend,\n\t\t\t\t\tnewShift,\n\t\t\t\t\tA3(\n\t\t\t\t\t\t$elm$core$Array$hoistTree,\n\t\t\t\t\t\tstartShift,\n\t\t\t\t\t\tnewShift,\n\t\t\t\t\t\tA3($elm$core$Array$sliceTree, startShift, endIdx, tree)),\n\t\t\t\t\tA4($elm$core$Array$fetchNewTail, startShift, end, endIdx, tree));\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Array$translateIndex = F2(\n\tfunction (index, _v0) {\n\t\tvar len = _v0.a;\n\t\tvar posIndex = (index < 0) ? (len + index) : index;\n\t\treturn (posIndex < 0) ? 0 : ((_Utils_cmp(posIndex, len) > 0) ? len : posIndex);\n\t});\nvar $elm$core$Array$slice = F3(\n\tfunction (from, to, array) {\n\t\tvar correctTo = A2($elm$core$Array$translateIndex, to, array);\n\t\tvar correctFrom = A2($elm$core$Array$translateIndex, from, array);\n\t\treturn (_Utils_cmp(correctFrom, correctTo) > 0) ? $elm$core$Array$empty : A2(\n\t\t\t$elm$core$Array$sliceLeft,\n\t\t\tcorrectFrom,\n\t\t\tA2($elm$core$Array$sliceRight, correctTo, array));\n\t});\nvar $elm$browser$Debugger$History$viewRecentSnapshots = F3(\n\tfunction (selectedIndex, recentMessagesNum, snapshots) {\n\t\tvar messagesToFill = $elm$browser$Debugger$History$maxSnapshotSize - recentMessagesNum;\n\t\tvar arrayLength = $elm$core$Array$length(snapshots);\n\t\tvar snapshotsToRender = function () {\n\t\t\tvar _v0 = _Utils_Tuple2(\n\t\t\t\tA2($elm$core$Array$get, arrayLength - 2, snapshots),\n\t\t\t\tA2($elm$core$Array$get, arrayLength - 1, snapshots));\n\t\t\tif ((_v0.a.$ === 'Just') && (_v0.b.$ === 'Just')) {\n\t\t\t\tvar fillerSnapshot = _v0.a.a;\n\t\t\t\tvar recentSnapshot = _v0.b.a;\n\t\t\t\treturn $elm$core$Array$fromList(\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\tmessages: A3($elm$core$Array$slice, 0, messagesToFill, fillerSnapshot.messages),\n\t\t\t\t\t\t\tmodel: fillerSnapshot.model\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\trecentSnapshot\n\t\t\t\t\t\t]));\n\t\t\t} else {\n\t\t\t\treturn snapshots;\n\t\t\t}\n\t\t}();\n\t\tvar startingIndex = ((arrayLength * $elm$browser$Debugger$History$maxSnapshotSize) - $elm$browser$Debugger$History$maxSnapshotSize) - messagesToFill;\n\t\treturn A3($elm$browser$Debugger$History$viewAllSnapshots, selectedIndex, startingIndex, snapshotsToRender);\n\t});\nvar $elm$browser$Debugger$History$view = F2(\n\tfunction (maybeIndex, _v0) {\n\t\tvar snapshots = _v0.snapshots;\n\t\tvar recent = _v0.recent;\n\t\tvar numMessages = _v0.numMessages;\n\t\tvar recentMessageStartIndex = numMessages - recent.numMessages;\n\t\tvar index = A2($elm$core$Maybe$withDefault, -1, maybeIndex);\n\t\tvar newStuff = A3(\n\t\t\t$elm$html$Html$Keyed$node,\n\t\t\t'div',\n\t\t\t_List_Nil,\n\t\t\tA3(\n\t\t\t\t$elm$core$List$foldr,\n\t\t\t\t$elm$browser$Debugger$History$consMsg(index),\n\t\t\t\t_Utils_Tuple2(recentMessageStartIndex, _List_Nil),\n\t\t\t\trecent.messages).b);\n\t\tvar onlyRenderRecentMessages = (!_Utils_eq(index, -1)) || ($elm$core$Array$length(snapshots) < 2);\n\t\tvar oldStuff = onlyRenderRecentMessages ? A4($elm$html$Html$Lazy$lazy3, $elm$browser$Debugger$History$viewAllSnapshots, index, 0, snapshots) : A4($elm$html$Html$Lazy$lazy3, $elm$browser$Debugger$History$viewRecentSnapshots, index, recent.numMessages, snapshots);\n\t\treturn A2(\n\t\t\t$elm$html$Html$div,\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\t$elm$html$Html$Attributes$id('elm-debugger-sidebar'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'width', '100%'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'overflow-y', 'auto'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'height', 'calc(100% - 72px)')\n\t\t\t\t]),\n\t\t\tA2(\n\t\t\t\t$elm$core$List$cons,\n\t\t\t\t$elm$browser$Debugger$History$styles,\n\t\t\t\tA2(\n\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\tnewStuff,\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\toldStuff,\n\t\t\t\t\t\tonlyRenderRecentMessages ? _List_Nil : _List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t$elm$browser$Debugger$History$showMoreButton(numMessages)\n\t\t\t\t\t\t\t])))));\n\t});\nvar $elm$browser$Debugger$Main$SwapLayout = {$: 'SwapLayout'};\nvar $elm$browser$Debugger$Main$toHistoryIcon = function (layout) {\n\tif (layout.$ === 'Horizontal') {\n\t\treturn 'M13 1a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3h-10a3 3 0 0 1-3-3v-8a3 3 0 0 1 3-3z M13 3h-10a1 1 0 0 0-1 1v5h12v-5a1 1 0 0 0-1-1z M14 10h-12v2a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1z';\n\t} else {\n\t\treturn 'M0 4a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3h-10a3 3 0 0 1-3-3z M2 4v8a1 1 0 0 0 1 1h2v-10h-2a1 1 0 0 0-1 1z M6 3v10h7a1 1 0 0 0 1-1v-8a1 1 0 0 0-1-1z';\n\t}\n};\nvar $elm$browser$Debugger$Main$icon = function (path) {\n\treturn A4(\n\t\t$elm$virtual_dom$VirtualDom$nodeNS,\n\t\t'http://www.w3.org/2000/svg',\n\t\t'svg',\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\tA2($elm$virtual_dom$VirtualDom$attribute, 'viewBox', '0 0 16 16'),\n\t\t\t\tA2($elm$virtual_dom$VirtualDom$attribute, 'xmlns', 'http://www.w3.org/2000/svg'),\n\t\t\t\tA2($elm$virtual_dom$VirtualDom$attribute, 'fill', 'currentColor'),\n\t\t\t\tA2($elm$virtual_dom$VirtualDom$attribute, 'width', '16px'),\n\t\t\t\tA2($elm$virtual_dom$VirtualDom$attribute, 'height', '16px')\n\t\t\t]),\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\tA4(\n\t\t\t\t$elm$virtual_dom$VirtualDom$nodeNS,\n\t\t\t\t'http://www.w3.org/2000/svg',\n\t\t\t\t'path',\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\tA2($elm$virtual_dom$VirtualDom$attribute, 'd', path)\n\t\t\t\t\t]),\n\t\t\t\t_List_Nil)\n\t\t\t]));\n};\nvar $elm$browser$Debugger$Main$viewHistoryButton = F3(\n\tfunction (label, msg, path) {\n\t\treturn A2(\n\t\t\t$elm$html$Html$button,\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'display', 'flex'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'flex-direction', 'row'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'align-items', 'center'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'background', 'none'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'border', 'none'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'color', 'inherit'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'cursor', 'pointer'),\n\t\t\t\t\t$elm$html$Html$Events$onClick(msg)\n\t\t\t\t]),\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\t$elm$browser$Debugger$Main$icon(path),\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$span,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'padding-left', '6px')\n\t\t\t\t\t\t]),\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$text(label)\n\t\t\t\t\t\t]))\n\t\t\t\t]));\n\t});\nvar $elm$browser$Debugger$Main$viewHistoryOptions = function (layout) {\n\treturn A2(\n\t\t$elm$html$Html$div,\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'width', '100%'),\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'height', '36px'),\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'display', 'flex'),\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'flex-direction', 'row'),\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'align-items', 'center'),\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'justify-content', 'space-between'),\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'background-color', 'rgb(50, 50, 50)')\n\t\t\t]),\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\tA3(\n\t\t\t\t$elm$browser$Debugger$Main$viewHistoryButton,\n\t\t\t\t'Swap Layout',\n\t\t\t\t$elm$browser$Debugger$Main$SwapLayout,\n\t\t\t\t$elm$browser$Debugger$Main$toHistoryIcon(layout)),\n\t\t\t\tA2(\n\t\t\t\t$elm$html$Html$div,\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'display', 'flex'),\n\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'flex-direction', 'row'),\n\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'align-items', 'center'),\n\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'justify-content', 'space-between')\n\t\t\t\t\t]),\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\tA3($elm$browser$Debugger$Main$viewHistoryButton, 'Import', $elm$browser$Debugger$Main$Import, 'M5 1a1 1 0 0 1 0 2h-2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1a1 1 0 0 1 2 0a3 3 0 0 1-3 3h-10a3 3 0 0 1-3-3v-8a3 3 0 0 1 3-3z M10 2a1 1 0 0 0 -2 0v6a1 1 0 0 0 1 1h6a1 1 0 0 0 0-2h-3.586l4.293-4.293a1 1 0 0 0-1.414-1.414l-4.293 4.293z'),\n\t\t\t\t\t\tA3($elm$browser$Debugger$Main$viewHistoryButton, 'Export', $elm$browser$Debugger$Main$Export, 'M5 1a1 1 0 0 1 0 2h-2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1 a1 1 0 0 1 2 0a3 3 0 0 1-3 3h-10a3 3 0 0 1-3-3v-8a3 3 0 0 1 3-3z M9 3a1 1 0 1 1 0-2h6a1 1 0 0 1 1 1v6a1 1 0 1 1-2 0v-3.586l-5.293 5.293 a1 1 0 0 1-1.414-1.414l5.293 -5.293z')\n\t\t\t\t\t]))\n\t\t\t]));\n};\nvar $elm$browser$Debugger$Main$SliderJump = function (a) {\n\treturn {$: 'SliderJump', a: a};\n};\nvar $elm$core$Basics$composeR = F3(\n\tfunction (f, g, x) {\n\t\treturn g(\n\t\t\tf(x));\n\t});\nvar $elm$html$Html$input = _VirtualDom_node('input');\nvar $elm$browser$Debugger$Main$isPlaying = function (maybeIndex) {\n\tif (maybeIndex.$ === 'Nothing') {\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\nvar $elm$html$Html$Attributes$max = $elm$html$Html$Attributes$stringProperty('max');\nvar $elm$html$Html$Attributes$min = $elm$html$Html$Attributes$stringProperty('min');\nvar $elm$html$Html$Events$alwaysStop = function (x) {\n\treturn _Utils_Tuple2(x, true);\n};\nvar $elm$virtual_dom$VirtualDom$MayStopPropagation = function (a) {\n\treturn {$: 'MayStopPropagation', a: a};\n};\nvar $elm$html$Html$Events$stopPropagationOn = F2(\n\tfunction (event, decoder) {\n\t\treturn A2(\n\t\t\t$elm$virtual_dom$VirtualDom$on,\n\t\t\tevent,\n\t\t\t$elm$virtual_dom$VirtualDom$MayStopPropagation(decoder));\n\t});\nvar $elm$json$Json$Decode$string = _Json_decodeString;\nvar $elm$html$Html$Events$targetValue = A2(\n\t$elm$json$Json$Decode$at,\n\t_List_fromArray(\n\t\t['target', 'value']),\n\t$elm$json$Json$Decode$string);\nvar $elm$html$Html$Events$onInput = function (tagger) {\n\treturn A2(\n\t\t$elm$html$Html$Events$stopPropagationOn,\n\t\t'input',\n\t\tA2(\n\t\t\t$elm$json$Json$Decode$map,\n\t\t\t$elm$html$Html$Events$alwaysStop,\n\t\t\tA2($elm$json$Json$Decode$map, tagger, $elm$html$Html$Events$targetValue)));\n};\nvar $elm$core$String$toInt = _String_toInt;\nvar $elm$html$Html$Attributes$type_ = $elm$html$Html$Attributes$stringProperty('type');\nvar $elm$html$Html$Attributes$value = $elm$html$Html$Attributes$stringProperty('value');\nvar $elm$browser$Debugger$Main$viewPlayButton = function (playing) {\n\treturn A2(\n\t\t$elm$html$Html$button,\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'background', '#1293D8'),\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'border', 'none'),\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'color', 'white'),\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'cursor', 'pointer'),\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'width', '36px'),\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'height', '36px'),\n\t\t\t\t$elm$html$Html$Events$onClick($elm$browser$Debugger$Main$Resume)\n\t\t\t]),\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\tplaying ? $elm$browser$Debugger$Main$icon('M2 2h4v12h-4v-12z M10 2h4v12h-4v-12z') : $elm$browser$Debugger$Main$icon('M2 2l12 7l-12 7z')\n\t\t\t]));\n};\nvar $elm$browser$Debugger$Main$viewHistorySlider = F2(\n\tfunction (history, maybeIndex) {\n\t\tvar lastIndex = $elm$browser$Debugger$History$size(history) - 1;\n\t\tvar selectedIndex = A2($elm$core$Maybe$withDefault, lastIndex, maybeIndex);\n\t\treturn A2(\n\t\t\t$elm$html$Html$div,\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'display', 'flex'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'flex-direction', 'row'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'align-items', 'center'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'width', '100%'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'height', '36px'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'background-color', 'rgb(50, 50, 50)')\n\t\t\t\t]),\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$Lazy$lazy,\n\t\t\t\t\t$elm$browser$Debugger$Main$viewPlayButton,\n\t\t\t\t\t$elm$browser$Debugger$Main$isPlaying(maybeIndex)),\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$input,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$Attributes$type_('range'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'width', 'calc(100% - 56px)'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'height', '36px'),\n\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'margin', '0 10px'),\n\t\t\t\t\t\t\t$elm$html$Html$Attributes$min('0'),\n\t\t\t\t\t\t\t$elm$html$Html$Attributes$max(\n\t\t\t\t\t\t\t$elm$core$String$fromInt(lastIndex)),\n\t\t\t\t\t\t\t$elm$html$Html$Attributes$value(\n\t\t\t\t\t\t\t$elm$core$String$fromInt(selectedIndex)),\n\t\t\t\t\t\t\t$elm$html$Html$Events$onInput(\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t$elm$core$Basics$composeR,\n\t\t\t\t\t\t\t\t$elm$core$String$toInt,\n\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t$elm$core$Basics$composeR,\n\t\t\t\t\t\t\t\t\t$elm$core$Maybe$withDefault(lastIndex),\n\t\t\t\t\t\t\t\t\t$elm$browser$Debugger$Main$SliderJump)))\n\t\t\t\t\t\t]),\n\t\t\t\t\t_List_Nil)\n\t\t\t\t]));\n\t});\nvar $elm$browser$Debugger$Main$viewHistory = F3(\n\tfunction (maybeIndex, history, layout) {\n\t\tvar block = $elm$browser$Debugger$Main$toMouseBlocker(layout);\n\t\tvar _v0 = $elm$browser$Debugger$Main$toHistoryPercents(layout);\n\t\tvar w = _v0.a;\n\t\tvar h = _v0.b;\n\t\treturn A2(\n\t\t\t$elm$html$Html$div,\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'width', w),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'height', h),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'display', 'flex'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'flex-direction', 'column'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'color', '#DDDDDD'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'background-color', 'rgb(61, 61, 61)'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'pointer-events', block),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'user-select', block)\n\t\t\t\t]),\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2($elm$browser$Debugger$Main$viewHistorySlider, history, maybeIndex),\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$map,\n\t\t\t\t\t$elm$browser$Debugger$Main$Jump,\n\t\t\t\t\tA2($elm$browser$Debugger$History$view, maybeIndex, history)),\n\t\t\t\t\tA2($elm$html$Html$Lazy$lazy, $elm$browser$Debugger$Main$viewHistoryOptions, layout)\n\t\t\t\t]));\n\t});\nvar $elm$browser$Debugger$Main$popoutView = function (model) {\n\tvar maybeIndex = function () {\n\t\tvar _v0 = model.state;\n\t\tif (_v0.$ === 'Running') {\n\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t} else {\n\t\t\tvar index = _v0.a;\n\t\t\treturn $elm$core$Maybe$Just(index);\n\t\t}\n\t}();\n\tvar historyToRender = $elm$browser$Debugger$Main$cachedHistory(model);\n\treturn A3(\n\t\t$elm$html$Html$node,\n\t\t'body',\n\t\t_Utils_ap(\n\t\t\t$elm$browser$Debugger$Main$toDragListeners(model.layout),\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'margin', '0'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'padding', '0'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'width', '100%'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'height', '100%'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'font-family', 'monospace'),\n\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'display', 'flex'),\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$Attributes$style,\n\t\t\t\t\t'flex-direction',\n\t\t\t\t\t$elm$browser$Debugger$Main$toFlexDirection(model.layout))\n\t\t\t\t])),\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\tA3($elm$browser$Debugger$Main$viewHistory, maybeIndex, historyToRender, model.layout),\n\t\t\t\t$elm$browser$Debugger$Main$viewDragZone(model.layout),\n\t\t\t\tA3($elm$browser$Debugger$Main$viewExpando, model.expandoMsg, model.expandoModel, model.layout)\n\t\t\t]));\n};\nvar $elm$browser$Debugger$Overlay$BlockAll = {$: 'BlockAll'};\nvar $elm$browser$Debugger$Overlay$toBlockerType = F2(\n\tfunction (isPaused, state) {\n\t\tswitch (state.$) {\n\t\t\tcase 'None':\n\t\t\t\treturn isPaused ? $elm$browser$Debugger$Overlay$BlockAll : $elm$browser$Debugger$Overlay$BlockNone;\n\t\t\tcase 'BadMetadata':\n\t\t\t\treturn $elm$browser$Debugger$Overlay$BlockMost;\n\t\t\tcase 'BadImport':\n\t\t\t\treturn $elm$browser$Debugger$Overlay$BlockMost;\n\t\t\tdefault:\n\t\t\t\treturn $elm$browser$Debugger$Overlay$BlockMost;\n\t\t}\n\t});\nvar $elm$browser$Debugger$Main$toBlockerType = function (model) {\n\treturn A2(\n\t\t$elm$browser$Debugger$Overlay$toBlockerType,\n\t\t$elm$browser$Debugger$Main$isPaused(model.state),\n\t\tmodel.overlay);\n};\nvar $elm$browser$Debugger$Main$Horizontal = F3(\n\tfunction (a, b, c) {\n\t\treturn {$: 'Horizontal', a: a, b: b, c: c};\n\t});\nvar $elm$browser$Debugger$Main$Running = function (a) {\n\treturn {$: 'Running', a: a};\n};\nvar $elm$browser$Debugger$Main$Static = {$: 'Static'};\nvar $elm$browser$Debugger$Metadata$Error = F2(\n\tfunction (message, problems) {\n\t\treturn {message: message, problems: problems};\n\t});\nvar $elm$json$Json$Decode$decodeValue = _Json_run;\nvar $elm$browser$Debugger$Metadata$Metadata = F2(\n\tfunction (versions, types) {\n\t\treturn {types: types, versions: versions};\n\t});\nvar $elm$browser$Debugger$Metadata$Types = F3(\n\tfunction (message, aliases, unions) {\n\t\treturn {aliases: aliases, message: message, unions: unions};\n\t});\nvar $elm$browser$Debugger$Metadata$Alias = F2(\n\tfunction (args, tipe) {\n\t\treturn {args: args, tipe: tipe};\n\t});\nvar $elm$json$Json$Decode$list = _Json_decodeList;\nvar $elm$browser$Debugger$Metadata$decodeAlias = A3(\n\t$elm$json$Json$Decode$map2,\n\t$elm$browser$Debugger$Metadata$Alias,\n\tA2(\n\t\t$elm$json$Json$Decode$field,\n\t\t'args',\n\t\t$elm$json$Json$Decode$list($elm$json$Json$Decode$string)),\n\tA2($elm$json$Json$Decode$field, 'type', $elm$json$Json$Decode$string));\nvar $elm$browser$Debugger$Metadata$Union = F2(\n\tfunction (args, tags) {\n\t\treturn {args: args, tags: tags};\n\t});\nvar $elm$core$Dict$fromList = function (assocs) {\n\treturn A3(\n\t\t$elm$core$List$foldl,\n\t\tF2(\n\t\t\tfunction (_v0, dict) {\n\t\t\t\tvar key = _v0.a;\n\t\t\t\tvar value = _v0.b;\n\t\t\t\treturn A3($elm$core$Dict$insert, key, value, dict);\n\t\t\t}),\n\t\t$elm$core$Dict$empty,\n\t\tassocs);\n};\nvar $elm$json$Json$Decode$keyValuePairs = _Json_decodeKeyValuePairs;\nvar $elm$json$Json$Decode$dict = function (decoder) {\n\treturn A2(\n\t\t$elm$json$Json$Decode$map,\n\t\t$elm$core$Dict$fromList,\n\t\t$elm$json$Json$Decode$keyValuePairs(decoder));\n};\nvar $elm$browser$Debugger$Metadata$decodeUnion = A3(\n\t$elm$json$Json$Decode$map2,\n\t$elm$browser$Debugger$Metadata$Union,\n\tA2(\n\t\t$elm$json$Json$Decode$field,\n\t\t'args',\n\t\t$elm$json$Json$Decode$list($elm$json$Json$Decode$string)),\n\tA2(\n\t\t$elm$json$Json$Decode$field,\n\t\t'tags',\n\t\t$elm$json$Json$Decode$dict(\n\t\t\t$elm$json$Json$Decode$list($elm$json$Json$Decode$string))));\nvar $elm$json$Json$Decode$map3 = _Json_map3;\nvar $elm$browser$Debugger$Metadata$decodeTypes = A4(\n\t$elm$json$Json$Decode$map3,\n\t$elm$browser$Debugger$Metadata$Types,\n\tA2($elm$json$Json$Decode$field, 'message', $elm$json$Json$Decode$string),\n\tA2(\n\t\t$elm$json$Json$Decode$field,\n\t\t'aliases',\n\t\t$elm$json$Json$Decode$dict($elm$browser$Debugger$Metadata$decodeAlias)),\n\tA2(\n\t\t$elm$json$Json$Decode$field,\n\t\t'unions',\n\t\t$elm$json$Json$Decode$dict($elm$browser$Debugger$Metadata$decodeUnion)));\nvar $elm$browser$Debugger$Metadata$Versions = function (elm) {\n\treturn {elm: elm};\n};\nvar $elm$browser$Debugger$Metadata$decodeVersions = A2(\n\t$elm$json$Json$Decode$map,\n\t$elm$browser$Debugger$Metadata$Versions,\n\tA2($elm$json$Json$Decode$field, 'elm', $elm$json$Json$Decode$string));\nvar $elm$browser$Debugger$Metadata$decoder = A3(\n\t$elm$json$Json$Decode$map2,\n\t$elm$browser$Debugger$Metadata$Metadata,\n\tA2($elm$json$Json$Decode$field, 'versions', $elm$browser$Debugger$Metadata$decodeVersions),\n\tA2($elm$json$Json$Decode$field, 'types', $elm$browser$Debugger$Metadata$decodeTypes));\nvar $elm$browser$Debugger$Metadata$ProblemType = F2(\n\tfunction (name, problems) {\n\t\treturn {name: name, problems: problems};\n\t});\nvar $elm$core$List$maybeCons = F3(\n\tfunction (f, mx, xs) {\n\t\tvar _v0 = f(mx);\n\t\tif (_v0.$ === 'Just') {\n\t\t\tvar x = _v0.a;\n\t\t\treturn A2($elm$core$List$cons, x, xs);\n\t\t} else {\n\t\t\treturn xs;\n\t\t}\n\t});\nvar $elm$core$List$filterMap = F2(\n\tfunction (f, xs) {\n\t\treturn A3(\n\t\t\t$elm$core$List$foldr,\n\t\t\t$elm$core$List$maybeCons(f),\n\t\t\t_List_Nil,\n\t\t\txs);\n\t});\nvar $elm$core$String$contains = _String_contains;\nvar $elm$browser$Debugger$Metadata$hasProblem = F2(\n\tfunction (tipe, _v0) {\n\t\tvar problem = _v0.a;\n\t\tvar token = _v0.b;\n\t\treturn A2($elm$core$String$contains, token, tipe) ? $elm$core$Maybe$Just(problem) : $elm$core$Maybe$Nothing;\n\t});\nvar $elm$browser$Debugger$Metadata$Decoder = {$: 'Decoder'};\nvar $elm$browser$Debugger$Metadata$Function = {$: 'Function'};\nvar $elm$browser$Debugger$Metadata$Process = {$: 'Process'};\nvar $elm$browser$Debugger$Metadata$Program = {$: 'Program'};\nvar $elm$browser$Debugger$Metadata$Request = {$: 'Request'};\nvar $elm$browser$Debugger$Metadata$Socket = {$: 'Socket'};\nvar $elm$browser$Debugger$Metadata$Task = {$: 'Task'};\nvar $elm$browser$Debugger$Metadata$VirtualDom = {$: 'VirtualDom'};\nvar $elm$browser$Debugger$Metadata$problemTable = _List_fromArray(\n\t[\n\t\t_Utils_Tuple2($elm$browser$Debugger$Metadata$Function, '->'),\n\t\t_Utils_Tuple2($elm$browser$Debugger$Metadata$Decoder, 'Json.Decode.Decoder'),\n\t\t_Utils_Tuple2($elm$browser$Debugger$Metadata$Task, 'Task.Task'),\n\t\t_Utils_Tuple2($elm$browser$Debugger$Metadata$Process, 'Process.Id'),\n\t\t_Utils_Tuple2($elm$browser$Debugger$Metadata$Socket, 'WebSocket.LowLevel.WebSocket'),\n\t\t_Utils_Tuple2($elm$browser$Debugger$Metadata$Request, 'Http.Request'),\n\t\t_Utils_Tuple2($elm$browser$Debugger$Metadata$Program, 'Platform.Program'),\n\t\t_Utils_Tuple2($elm$browser$Debugger$Metadata$VirtualDom, 'VirtualDom.Node'),\n\t\t_Utils_Tuple2($elm$browser$Debugger$Metadata$VirtualDom, 'VirtualDom.Attribute')\n\t]);\nvar $elm$browser$Debugger$Metadata$findProblems = function (tipe) {\n\treturn A2(\n\t\t$elm$core$List$filterMap,\n\t\t$elm$browser$Debugger$Metadata$hasProblem(tipe),\n\t\t$elm$browser$Debugger$Metadata$problemTable);\n};\nvar $elm$browser$Debugger$Metadata$collectBadAliases = F3(\n\tfunction (name, _v0, list) {\n\t\tvar tipe = _v0.tipe;\n\t\tvar _v1 = $elm$browser$Debugger$Metadata$findProblems(tipe);\n\t\tif (!_v1.b) {\n\t\t\treturn list;\n\t\t} else {\n\t\t\tvar problems = _v1;\n\t\t\treturn A2(\n\t\t\t\t$elm$core$List$cons,\n\t\t\t\tA2($elm$browser$Debugger$Metadata$ProblemType, name, problems),\n\t\t\t\tlist);\n\t\t}\n\t});\nvar $elm$core$List$append = F2(\n\tfunction (xs, ys) {\n\t\tif (!ys.b) {\n\t\t\treturn xs;\n\t\t} else {\n\t\t\treturn A3($elm$core$List$foldr, $elm$core$List$cons, ys, xs);\n\t\t}\n\t});\nvar $elm$core$List$concat = function (lists) {\n\treturn A3($elm$core$List$foldr, $elm$core$List$append, _List_Nil, lists);\n};\nvar $elm$core$List$concatMap = F2(\n\tfunction (f, list) {\n\t\treturn $elm$core$List$concat(\n\t\t\tA2($elm$core$List$map, f, list));\n\t});\nvar $elm$core$Dict$values = function (dict) {\n\treturn A3(\n\t\t$elm$core$Dict$foldr,\n\t\tF3(\n\t\t\tfunction (key, value, valueList) {\n\t\t\t\treturn A2($elm$core$List$cons, value, valueList);\n\t\t\t}),\n\t\t_List_Nil,\n\t\tdict);\n};\nvar $elm$browser$Debugger$Metadata$collectBadUnions = F3(\n\tfunction (name, _v0, list) {\n\t\tvar tags = _v0.tags;\n\t\tvar _v1 = A2(\n\t\t\t$elm$core$List$concatMap,\n\t\t\t$elm$browser$Debugger$Metadata$findProblems,\n\t\t\t$elm$core$List$concat(\n\t\t\t\t$elm$core$Dict$values(tags)));\n\t\tif (!_v1.b) {\n\t\t\treturn list;\n\t\t} else {\n\t\t\tvar problems = _v1;\n\t\t\treturn A2(\n\t\t\t\t$elm$core$List$cons,\n\t\t\t\tA2($elm$browser$Debugger$Metadata$ProblemType, name, problems),\n\t\t\t\tlist);\n\t\t}\n\t});\nvar $elm$core$Dict$foldl = F3(\n\tfunction (func, acc, dict) {\n\t\tfoldl:\n\t\twhile (true) {\n\t\t\tif (dict.$ === 'RBEmpty_elm_builtin') {\n\t\t\t\treturn acc;\n\t\t\t} else {\n\t\t\t\tvar key = dict.b;\n\t\t\t\tvar value = dict.c;\n\t\t\t\tvar left = dict.d;\n\t\t\t\tvar right = dict.e;\n\t\t\t\tvar $temp$func = func,\n\t\t\t\t\t$temp$acc = A3(\n\t\t\t\t\tfunc,\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue,\n\t\t\t\t\tA3($elm$core$Dict$foldl, func, acc, left)),\n\t\t\t\t\t$temp$dict = right;\n\t\t\t\tfunc = $temp$func;\n\t\t\t\tacc = $temp$acc;\n\t\t\t\tdict = $temp$dict;\n\t\t\t\tcontinue foldl;\n\t\t\t}\n\t\t}\n\t});\nvar $elm$browser$Debugger$Metadata$isPortable = function (_v0) {\n\tvar types = _v0.types;\n\tvar badAliases = A3($elm$core$Dict$foldl, $elm$browser$Debugger$Metadata$collectBadAliases, _List_Nil, types.aliases);\n\tvar _v1 = A3($elm$core$Dict$foldl, $elm$browser$Debugger$Metadata$collectBadUnions, badAliases, types.unions);\n\tif (!_v1.b) {\n\t\treturn $elm$core$Maybe$Nothing;\n\t} else {\n\t\tvar problems = _v1;\n\t\treturn $elm$core$Maybe$Just(\n\t\t\tA2($elm$browser$Debugger$Metadata$Error, types.message, problems));\n\t}\n};\nvar $elm$browser$Debugger$Metadata$decode = function (value) {\n\tvar _v0 = A2($elm$json$Json$Decode$decodeValue, $elm$browser$Debugger$Metadata$decoder, value);\n\tif (_v0.$ === 'Err') {\n\t\treturn $elm$core$Result$Err(\n\t\t\tA2($elm$browser$Debugger$Metadata$Error, 'The compiler is generating bad metadata. This is a compiler bug!', _List_Nil));\n\t} else {\n\t\tvar metadata = _v0.a;\n\t\tvar _v1 = $elm$browser$Debugger$Metadata$isPortable(metadata);\n\t\tif (_v1.$ === 'Nothing') {\n\t\t\treturn $elm$core$Result$Ok(metadata);\n\t\t} else {\n\t\t\tvar error = _v1.a;\n\t\t\treturn $elm$core$Result$Err(error);\n\t\t}\n\t}\n};\nvar $elm$browser$Debugger$History$History = F3(\n\tfunction (snapshots, recent, numMessages) {\n\t\treturn {numMessages: numMessages, recent: recent, snapshots: snapshots};\n\t});\nvar $elm$browser$Debugger$History$RecentHistory = F3(\n\tfunction (model, messages, numMessages) {\n\t\treturn {messages: messages, model: model, numMessages: numMessages};\n\t});\nvar $elm$browser$Debugger$History$empty = function (model) {\n\treturn A3(\n\t\t$elm$browser$Debugger$History$History,\n\t\t$elm$core$Array$empty,\n\t\tA3($elm$browser$Debugger$History$RecentHistory, model, _List_Nil, 0),\n\t\t0);\n};\nvar $elm$core$Dict$map = F2(\n\tfunction (func, dict) {\n\t\tif (dict.$ === 'RBEmpty_elm_builtin') {\n\t\t\treturn $elm$core$Dict$RBEmpty_elm_builtin;\n\t\t} else {\n\t\t\tvar color = dict.a;\n\t\t\tvar key = dict.b;\n\t\t\tvar value = dict.c;\n\t\t\tvar left = dict.d;\n\t\t\tvar right = dict.e;\n\t\t\treturn A5(\n\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\tcolor,\n\t\t\t\tkey,\n\t\t\t\tA2(func, key, value),\n\t\t\t\tA2($elm$core$Dict$map, func, left),\n\t\t\t\tA2($elm$core$Dict$map, func, right));\n\t\t}\n\t});\nvar $elm$core$Dict$sizeHelp = F2(\n\tfunction (n, dict) {\n\t\tsizeHelp:\n\t\twhile (true) {\n\t\t\tif (dict.$ === 'RBEmpty_elm_builtin') {\n\t\t\t\treturn n;\n\t\t\t} else {\n\t\t\t\tvar left = dict.d;\n\t\t\t\tvar right = dict.e;\n\t\t\t\tvar $temp$n = A2($elm$core$Dict$sizeHelp, n + 1, right),\n\t\t\t\t\t$temp$dict = left;\n\t\t\t\tn = $temp$n;\n\t\t\t\tdict = $temp$dict;\n\t\t\t\tcontinue sizeHelp;\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Dict$size = function (dict) {\n\treturn A2($elm$core$Dict$sizeHelp, 0, dict);\n};\nvar $elm$browser$Debugger$Expando$initHelp = F2(\n\tfunction (isOuter, expando) {\n\t\tswitch (expando.$) {\n\t\t\tcase 'S':\n\t\t\t\treturn expando;\n\t\t\tcase 'Primitive':\n\t\t\t\treturn expando;\n\t\t\tcase 'Sequence':\n\t\t\t\tvar seqType = expando.a;\n\t\t\t\tvar isClosed = expando.b;\n\t\t\t\tvar items = expando.c;\n\t\t\t\treturn isOuter ? A3(\n\t\t\t\t\t$elm$browser$Debugger$Expando$Sequence,\n\t\t\t\t\tseqType,\n\t\t\t\t\tfalse,\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$List$map,\n\t\t\t\t\t\t$elm$browser$Debugger$Expando$initHelp(false),\n\t\t\t\t\t\titems)) : (($elm$core$List$length(items) <= 8) ? A3($elm$browser$Debugger$Expando$Sequence, seqType, false, items) : expando);\n\t\t\tcase 'Dictionary':\n\t\t\t\tvar isClosed = expando.a;\n\t\t\t\tvar keyValuePairs = expando.b;\n\t\t\t\treturn isOuter ? A2(\n\t\t\t\t\t$elm$browser$Debugger$Expando$Dictionary,\n\t\t\t\t\tfalse,\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$List$map,\n\t\t\t\t\t\tfunction (_v1) {\n\t\t\t\t\t\t\tvar k = _v1.a;\n\t\t\t\t\t\t\tvar v = _v1.b;\n\t\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t\tk,\n\t\t\t\t\t\t\t\tA2($elm$browser$Debugger$Expando$initHelp, false, v));\n\t\t\t\t\t\t},\n\t\t\t\t\t\tkeyValuePairs)) : (($elm$core$List$length(keyValuePairs) <= 8) ? A2($elm$browser$Debugger$Expando$Dictionary, false, keyValuePairs) : expando);\n\t\t\tcase 'Record':\n\t\t\t\tvar isClosed = expando.a;\n\t\t\t\tvar entries = expando.b;\n\t\t\t\treturn isOuter ? A2(\n\t\t\t\t\t$elm$browser$Debugger$Expando$Record,\n\t\t\t\t\tfalse,\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$Dict$map,\n\t\t\t\t\t\tF2(\n\t\t\t\t\t\t\tfunction (_v2, v) {\n\t\t\t\t\t\t\t\treturn A2($elm$browser$Debugger$Expando$initHelp, false, v);\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\tentries)) : (($elm$core$Dict$size(entries) <= 4) ? A2($elm$browser$Debugger$Expando$Record, false, entries) : expando);\n\t\t\tdefault:\n\t\t\t\tvar maybeName = expando.a;\n\t\t\t\tvar isClosed = expando.b;\n\t\t\t\tvar args = expando.c;\n\t\t\t\treturn isOuter ? A3(\n\t\t\t\t\t$elm$browser$Debugger$Expando$Constructor,\n\t\t\t\t\tmaybeName,\n\t\t\t\t\tfalse,\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$List$map,\n\t\t\t\t\t\t$elm$browser$Debugger$Expando$initHelp(false),\n\t\t\t\t\t\targs)) : (($elm$core$List$length(args) <= 4) ? A3($elm$browser$Debugger$Expando$Constructor, maybeName, false, args) : expando);\n\t\t}\n\t});\nvar $elm$browser$Debugger$Expando$init = function (value) {\n\treturn A2(\n\t\t$elm$browser$Debugger$Expando$initHelp,\n\t\ttrue,\n\t\t_Debugger_init(value));\n};\nvar $elm$core$Platform$Cmd$map = _Platform_map;\nvar $elm$browser$Debugger$Overlay$None = {$: 'None'};\nvar $elm$browser$Debugger$Overlay$none = $elm$browser$Debugger$Overlay$None;\nvar $elm$browser$Debugger$Main$wrapInit = F4(\n\tfunction (metadata, popout, init, flags) {\n\t\tvar _v0 = init(flags);\n\t\tvar userModel = _v0.a;\n\t\tvar userCommands = _v0.b;\n\t\treturn _Utils_Tuple2(\n\t\t\t{\n\t\t\t\texpandoModel: $elm$browser$Debugger$Expando$init(userModel),\n\t\t\t\texpandoMsg: $elm$browser$Debugger$Expando$init(_Utils_Tuple0),\n\t\t\t\thistory: $elm$browser$Debugger$History$empty(userModel),\n\t\t\t\tlayout: A3($elm$browser$Debugger$Main$Horizontal, $elm$browser$Debugger$Main$Static, 0.3, 0.5),\n\t\t\t\tmetadata: $elm$browser$Debugger$Metadata$decode(metadata),\n\t\t\t\toverlay: $elm$browser$Debugger$Overlay$none,\n\t\t\t\tpopout: popout,\n\t\t\t\tstate: $elm$browser$Debugger$Main$Running(userModel)\n\t\t\t},\n\t\t\tA2($elm$core$Platform$Cmd$map, $elm$browser$Debugger$Main$UserMsg, userCommands));\n\t});\nvar $elm$browser$Debugger$Main$getLatestModel = function (state) {\n\tif (state.$ === 'Running') {\n\t\tvar model = state.a;\n\t\treturn model;\n\t} else {\n\t\tvar model = state.c;\n\t\treturn model;\n\t}\n};\nvar $elm$core$Platform$Sub$map = _Platform_map;\nvar $elm$browser$Debugger$Main$wrapSubs = F2(\n\tfunction (subscriptions, model) {\n\t\treturn A2(\n\t\t\t$elm$core$Platform$Sub$map,\n\t\t\t$elm$browser$Debugger$Main$UserMsg,\n\t\t\tsubscriptions(\n\t\t\t\t$elm$browser$Debugger$Main$getLatestModel(model.state)));\n\t});\nvar $elm$browser$Debugger$Main$Moving = {$: 'Moving'};\nvar $elm$browser$Debugger$Main$Paused = F5(\n\tfunction (a, b, c, d, e) {\n\t\treturn {$: 'Paused', a: a, b: b, c: c, d: d, e: e};\n\t});\nvar $elm$browser$Debugger$History$Snapshot = F2(\n\tfunction (model, messages) {\n\t\treturn {messages: messages, model: model};\n\t});\nvar $elm$browser$Debugger$History$addRecent = F3(\n\tfunction (msg, newModel, _v0) {\n\t\tvar model = _v0.model;\n\t\tvar messages = _v0.messages;\n\t\tvar numMessages = _v0.numMessages;\n\t\treturn _Utils_eq(numMessages, $elm$browser$Debugger$History$maxSnapshotSize) ? _Utils_Tuple2(\n\t\t\t$elm$core$Maybe$Just(\n\t\t\t\tA2(\n\t\t\t\t\t$elm$browser$Debugger$History$Snapshot,\n\t\t\t\t\tmodel,\n\t\t\t\t\t$elm$core$Array$fromList(messages))),\n\t\t\tA3(\n\t\t\t\t$elm$browser$Debugger$History$RecentHistory,\n\t\t\t\tnewModel,\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[msg]),\n\t\t\t\t1)) : _Utils_Tuple2(\n\t\t\t$elm$core$Maybe$Nothing,\n\t\t\tA3(\n\t\t\t\t$elm$browser$Debugger$History$RecentHistory,\n\t\t\t\tmodel,\n\t\t\t\tA2($elm$core$List$cons, msg, messages),\n\t\t\t\tnumMessages + 1));\n\t});\nvar $elm$core$Elm$JsArray$push = _JsArray_push;\nvar $elm$core$Elm$JsArray$singleton = _JsArray_singleton;\nvar $elm$core$Array$insertTailInTree = F4(\n\tfunction (shift, index, tail, tree) {\n\t\tvar pos = $elm$core$Array$bitMask & (index >>> shift);\n\t\tif (_Utils_cmp(\n\t\t\tpos,\n\t\t\t$elm$core$Elm$JsArray$length(tree)) > -1) {\n\t\t\tif (shift === 5) {\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$core$Elm$JsArray$push,\n\t\t\t\t\t$elm$core$Array$Leaf(tail),\n\t\t\t\t\ttree);\n\t\t\t} else {\n\t\t\t\tvar newSub = $elm$core$Array$SubTree(\n\t\t\t\t\tA4($elm$core$Array$insertTailInTree, shift - $elm$core$Array$shiftStep, index, tail, $elm$core$Elm$JsArray$empty));\n\t\t\t\treturn A2($elm$core$Elm$JsArray$push, newSub, tree);\n\t\t\t}\n\t\t} else {\n\t\t\tvar value = A2($elm$core$Elm$JsArray$unsafeGet, pos, tree);\n\t\t\tif (value.$ === 'SubTree') {\n\t\t\t\tvar subTree = value.a;\n\t\t\t\tvar newSub = $elm$core$Array$SubTree(\n\t\t\t\t\tA4($elm$core$Array$insertTailInTree, shift - $elm$core$Array$shiftStep, index, tail, subTree));\n\t\t\t\treturn A3($elm$core$Elm$JsArray$unsafeSet, pos, newSub, tree);\n\t\t\t} else {\n\t\t\t\tvar newSub = $elm$core$Array$SubTree(\n\t\t\t\t\tA4(\n\t\t\t\t\t\t$elm$core$Array$insertTailInTree,\n\t\t\t\t\t\tshift - $elm$core$Array$shiftStep,\n\t\t\t\t\t\tindex,\n\t\t\t\t\t\ttail,\n\t\t\t\t\t\t$elm$core$Elm$JsArray$singleton(value)));\n\t\t\t\treturn A3($elm$core$Elm$JsArray$unsafeSet, pos, newSub, tree);\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Array$unsafeReplaceTail = F2(\n\tfunction (newTail, _v0) {\n\t\tvar len = _v0.a;\n\t\tvar startShift = _v0.b;\n\t\tvar tree = _v0.c;\n\t\tvar tail = _v0.d;\n\t\tvar originalTailLen = $elm$core$Elm$JsArray$length(tail);\n\t\tvar newTailLen = $elm$core$Elm$JsArray$length(newTail);\n\t\tvar newArrayLen = len + (newTailLen - originalTailLen);\n\t\tif (_Utils_eq(newTailLen, $elm$core$Array$branchFactor)) {\n\t\t\tvar overflow = _Utils_cmp(newArrayLen >>> $elm$core$Array$shiftStep, 1 << startShift) > 0;\n\t\t\tif (overflow) {\n\t\t\t\tvar newShift = startShift + $elm$core$Array$shiftStep;\n\t\t\t\tvar newTree = A4(\n\t\t\t\t\t$elm$core$Array$insertTailInTree,\n\t\t\t\t\tnewShift,\n\t\t\t\t\tlen,\n\t\t\t\t\tnewTail,\n\t\t\t\t\t$elm$core$Elm$JsArray$singleton(\n\t\t\t\t\t\t$elm$core$Array$SubTree(tree)));\n\t\t\t\treturn A4($elm$core$Array$Array_elm_builtin, newArrayLen, newShift, newTree, $elm$core$Elm$JsArray$empty);\n\t\t\t} else {\n\t\t\t\treturn A4(\n\t\t\t\t\t$elm$core$Array$Array_elm_builtin,\n\t\t\t\t\tnewArrayLen,\n\t\t\t\t\tstartShift,\n\t\t\t\t\tA4($elm$core$Array$insertTailInTree, startShift, len, newTail, tree),\n\t\t\t\t\t$elm$core$Elm$JsArray$empty);\n\t\t\t}\n\t\t} else {\n\t\t\treturn A4($elm$core$Array$Array_elm_builtin, newArrayLen, startShift, tree, newTail);\n\t\t}\n\t});\nvar $elm$core$Array$push = F2(\n\tfunction (a, array) {\n\t\tvar tail = array.d;\n\t\treturn A2(\n\t\t\t$elm$core$Array$unsafeReplaceTail,\n\t\t\tA2($elm$core$Elm$JsArray$push, a, tail),\n\t\t\tarray);\n\t});\nvar $elm$browser$Debugger$History$add = F3(\n\tfunction (msg, model, _v0) {\n\t\tvar snapshots = _v0.snapshots;\n\t\tvar recent = _v0.recent;\n\t\tvar numMessages = _v0.numMessages;\n\t\tvar _v1 = A3($elm$browser$Debugger$History$addRecent, msg, model, recent);\n\t\tif (_v1.a.$ === 'Just') {\n\t\t\tvar snapshot = _v1.a.a;\n\t\t\tvar newRecent = _v1.b;\n\t\t\treturn A3(\n\t\t\t\t$elm$browser$Debugger$History$History,\n\t\t\t\tA2($elm$core$Array$push, snapshot, snapshots),\n\t\t\t\tnewRecent,\n\t\t\t\tnumMessages + 1);\n\t\t} else {\n\t\t\tvar _v2 = _v1.a;\n\t\t\tvar newRecent = _v1.b;\n\t\t\treturn A3($elm$browser$Debugger$History$History, snapshots, newRecent, numMessages + 1);\n\t\t}\n\t});\nvar $elm$core$Basics$always = F2(\n\tfunction (a, _v0) {\n\t\treturn a;\n\t});\nvar $elm$browser$Debugger$Overlay$BadImport = function (a) {\n\treturn {$: 'BadImport', a: a};\n};\nvar $elm$browser$Debugger$Overlay$RiskyImport = F2(\n\tfunction (a, b) {\n\t\treturn {$: 'RiskyImport', a: a, b: b};\n\t});\nvar $elm$browser$Debugger$Report$VersionChanged = F2(\n\tfunction (a, b) {\n\t\treturn {$: 'VersionChanged', a: a, b: b};\n\t});\nvar $elm$browser$Debugger$Report$MessageChanged = F2(\n\tfunction (a, b) {\n\t\treturn {$: 'MessageChanged', a: a, b: b};\n\t});\nvar $elm$browser$Debugger$Report$SomethingChanged = function (a) {\n\treturn {$: 'SomethingChanged', a: a};\n};\nvar $elm$browser$Debugger$Report$AliasChange = function (a) {\n\treturn {$: 'AliasChange', a: a};\n};\nvar $elm$browser$Debugger$Metadata$checkAlias = F4(\n\tfunction (name, old, _new, changes) {\n\t\treturn (_Utils_eq(old.tipe, _new.tipe) && _Utils_eq(old.args, _new.args)) ? changes : A2(\n\t\t\t$elm$core$List$cons,\n\t\t\t$elm$browser$Debugger$Report$AliasChange(name),\n\t\t\tchanges);\n\t});\nvar $elm$browser$Debugger$Report$UnionChange = F2(\n\tfunction (a, b) {\n\t\treturn {$: 'UnionChange', a: a, b: b};\n\t});\nvar $elm$browser$Debugger$Metadata$addTag = F3(\n\tfunction (tag, _v0, changes) {\n\t\treturn _Utils_update(\n\t\t\tchanges,\n\t\t\t{\n\t\t\t\tadded: A2($elm$core$List$cons, tag, changes.added)\n\t\t\t});\n\t});\nvar $elm$browser$Debugger$Metadata$checkTag = F4(\n\tfunction (tag, old, _new, changes) {\n\t\treturn _Utils_eq(old, _new) ? changes : _Utils_update(\n\t\t\tchanges,\n\t\t\t{\n\t\t\t\tchanged: A2($elm$core$List$cons, tag, changes.changed)\n\t\t\t});\n\t});\nvar $elm$browser$Debugger$Report$TagChanges = F4(\n\tfunction (removed, changed, added, argsMatch) {\n\t\treturn {added: added, argsMatch: argsMatch, changed: changed, removed: removed};\n\t});\nvar $elm$browser$Debugger$Report$emptyTagChanges = function (argsMatch) {\n\treturn A4($elm$browser$Debugger$Report$TagChanges, _List_Nil, _List_Nil, _List_Nil, argsMatch);\n};\nvar $elm$browser$Debugger$Report$hasTagChanges = function (tagChanges) {\n\treturn _Utils_eq(\n\t\ttagChanges,\n\t\tA4($elm$browser$Debugger$Report$TagChanges, _List_Nil, _List_Nil, _List_Nil, true));\n};\nvar $elm$core$Dict$merge = F6(\n\tfunction (leftStep, bothStep, rightStep, leftDict, rightDict, initialResult) {\n\t\tvar stepState = F3(\n\t\t\tfunction (rKey, rValue, _v0) {\n\t\t\t\tstepState:\n\t\t\t\twhile (true) {\n\t\t\t\t\tvar list = _v0.a;\n\t\t\t\t\tvar result = _v0.b;\n\t\t\t\t\tif (!list.b) {\n\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\tlist,\n\t\t\t\t\t\t\tA3(rightStep, rKey, rValue, result));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar _v2 = list.a;\n\t\t\t\t\t\tvar lKey = _v2.a;\n\t\t\t\t\t\tvar lValue = _v2.b;\n\t\t\t\t\t\tvar rest = list.b;\n\t\t\t\t\t\tif (_Utils_cmp(lKey, rKey) < 0) {\n\t\t\t\t\t\t\tvar $temp$rKey = rKey,\n\t\t\t\t\t\t\t\t$temp$rValue = rValue,\n\t\t\t\t\t\t\t\t$temp$_v0 = _Utils_Tuple2(\n\t\t\t\t\t\t\t\trest,\n\t\t\t\t\t\t\t\tA3(leftStep, lKey, lValue, result));\n\t\t\t\t\t\t\trKey = $temp$rKey;\n\t\t\t\t\t\t\trValue = $temp$rValue;\n\t\t\t\t\t\t\t_v0 = $temp$_v0;\n\t\t\t\t\t\t\tcontinue stepState;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (_Utils_cmp(lKey, rKey) > 0) {\n\t\t\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t\t\tlist,\n\t\t\t\t\t\t\t\t\tA3(rightStep, rKey, rValue, result));\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t\t\trest,\n\t\t\t\t\t\t\t\t\tA4(bothStep, lKey, lValue, rValue, result));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\tvar _v3 = A3(\n\t\t\t$elm$core$Dict$foldl,\n\t\t\tstepState,\n\t\t\t_Utils_Tuple2(\n\t\t\t\t$elm$core$Dict$toList(leftDict),\n\t\t\t\tinitialResult),\n\t\t\trightDict);\n\t\tvar leftovers = _v3.a;\n\t\tvar intermediateResult = _v3.b;\n\t\treturn A3(\n\t\t\t$elm$core$List$foldl,\n\t\t\tF2(\n\t\t\t\tfunction (_v4, result) {\n\t\t\t\t\tvar k = _v4.a;\n\t\t\t\t\tvar v = _v4.b;\n\t\t\t\t\treturn A3(leftStep, k, v, result);\n\t\t\t\t}),\n\t\t\tintermediateResult,\n\t\t\tleftovers);\n\t});\nvar $elm$browser$Debugger$Metadata$removeTag = F3(\n\tfunction (tag, _v0, changes) {\n\t\treturn _Utils_update(\n\t\t\tchanges,\n\t\t\t{\n\t\t\t\tremoved: A2($elm$core$List$cons, tag, changes.removed)\n\t\t\t});\n\t});\nvar $elm$browser$Debugger$Metadata$checkUnion = F4(\n\tfunction (name, old, _new, changes) {\n\t\tvar tagChanges = A6(\n\t\t\t$elm$core$Dict$merge,\n\t\t\t$elm$browser$Debugger$Metadata$removeTag,\n\t\t\t$elm$browser$Debugger$Metadata$checkTag,\n\t\t\t$elm$browser$Debugger$Metadata$addTag,\n\t\t\told.tags,\n\t\t\t_new.tags,\n\t\t\t$elm$browser$Debugger$Report$emptyTagChanges(\n\t\t\t\t_Utils_eq(old.args, _new.args)));\n\t\treturn $elm$browser$Debugger$Report$hasTagChanges(tagChanges) ? changes : A2(\n\t\t\t$elm$core$List$cons,\n\t\t\tA2($elm$browser$Debugger$Report$UnionChange, name, tagChanges),\n\t\t\tchanges);\n\t});\nvar $elm$browser$Debugger$Metadata$ignore = F3(\n\tfunction (key, value, report) {\n\t\treturn report;\n\t});\nvar $elm$browser$Debugger$Metadata$checkTypes = F2(\n\tfunction (old, _new) {\n\t\treturn (!_Utils_eq(old.message, _new.message)) ? A2($elm$browser$Debugger$Report$MessageChanged, old.message, _new.message) : $elm$browser$Debugger$Report$SomethingChanged(\n\t\t\tA6(\n\t\t\t\t$elm$core$Dict$merge,\n\t\t\t\t$elm$browser$Debugger$Metadata$ignore,\n\t\t\t\t$elm$browser$Debugger$Metadata$checkUnion,\n\t\t\t\t$elm$browser$Debugger$Metadata$ignore,\n\t\t\t\told.unions,\n\t\t\t\t_new.unions,\n\t\t\t\tA6($elm$core$Dict$merge, $elm$browser$Debugger$Metadata$ignore, $elm$browser$Debugger$Metadata$checkAlias, $elm$browser$Debugger$Metadata$ignore, old.aliases, _new.aliases, _List_Nil)));\n\t});\nvar $elm$browser$Debugger$Metadata$check = F2(\n\tfunction (old, _new) {\n\t\treturn (!_Utils_eq(old.versions.elm, _new.versions.elm)) ? A2($elm$browser$Debugger$Report$VersionChanged, old.versions.elm, _new.versions.elm) : A2($elm$browser$Debugger$Metadata$checkTypes, old.types, _new.types);\n\t});\nvar $elm$browser$Debugger$Report$CorruptHistory = {$: 'CorruptHistory'};\nvar $elm$browser$Debugger$Overlay$corruptImport = $elm$browser$Debugger$Overlay$BadImport($elm$browser$Debugger$Report$CorruptHistory);\nvar $elm$json$Json$Decode$decodeString = _Json_runOnString;\nvar $elm$browser$Debugger$Report$Fine = {$: 'Fine'};\nvar $elm$browser$Debugger$Report$Impossible = {$: 'Impossible'};\nvar $elm$browser$Debugger$Report$Risky = {$: 'Risky'};\nvar $elm$core$Basics$not = _Basics_not;\nvar $elm$core$List$isEmpty = function (xs) {\n\tif (!xs.b) {\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\nvar $elm$browser$Debugger$Report$some = function (list) {\n\treturn !$elm$core$List$isEmpty(list);\n};\nvar $elm$browser$Debugger$Report$evaluateChange = function (change) {\n\tif (change.$ === 'AliasChange') {\n\t\treturn $elm$browser$Debugger$Report$Impossible;\n\t} else {\n\t\tvar removed = change.b.removed;\n\t\tvar changed = change.b.changed;\n\t\tvar added = change.b.added;\n\t\tvar argsMatch = change.b.argsMatch;\n\t\treturn ((!argsMatch) || ($elm$browser$Debugger$Report$some(changed) || $elm$browser$Debugger$Report$some(removed))) ? $elm$browser$Debugger$Report$Impossible : ($elm$browser$Debugger$Report$some(added) ? $elm$browser$Debugger$Report$Risky : $elm$browser$Debugger$Report$Fine);\n\t}\n};\nvar $elm$browser$Debugger$Report$worstCase = F2(\n\tfunction (status, statusList) {\n\t\tworstCase:\n\t\twhile (true) {\n\t\t\tif (!statusList.b) {\n\t\t\t\treturn status;\n\t\t\t} else {\n\t\t\t\tswitch (statusList.a.$) {\n\t\t\t\t\tcase 'Impossible':\n\t\t\t\t\t\tvar _v1 = statusList.a;\n\t\t\t\t\t\treturn $elm$browser$Debugger$Report$Impossible;\n\t\t\t\t\tcase 'Risky':\n\t\t\t\t\t\tvar _v2 = statusList.a;\n\t\t\t\t\t\tvar rest = statusList.b;\n\t\t\t\t\t\tvar $temp$status = $elm$browser$Debugger$Report$Risky,\n\t\t\t\t\t\t\t$temp$statusList = rest;\n\t\t\t\t\t\tstatus = $temp$status;\n\t\t\t\t\t\tstatusList = $temp$statusList;\n\t\t\t\t\t\tcontinue worstCase;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tvar _v3 = statusList.a;\n\t\t\t\t\t\tvar rest = statusList.b;\n\t\t\t\t\t\tvar $temp$status = status,\n\t\t\t\t\t\t\t$temp$statusList = rest;\n\t\t\t\t\t\tstatus = $temp$status;\n\t\t\t\t\t\tstatusList = $temp$statusList;\n\t\t\t\t\t\tcontinue worstCase;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\nvar $elm$browser$Debugger$Report$evaluate = function (report) {\n\tswitch (report.$) {\n\t\tcase 'CorruptHistory':\n\t\t\treturn $elm$browser$Debugger$Report$Impossible;\n\t\tcase 'VersionChanged':\n\t\t\treturn $elm$browser$Debugger$Report$Impossible;\n\t\tcase 'MessageChanged':\n\t\t\treturn $elm$browser$Debugger$Report$Impossible;\n\t\tdefault:\n\t\t\tvar changes = report.a;\n\t\t\treturn A2(\n\t\t\t\t$elm$browser$Debugger$Report$worstCase,\n\t\t\t\t$elm$browser$Debugger$Report$Fine,\n\t\t\t\tA2($elm$core$List$map, $elm$browser$Debugger$Report$evaluateChange, changes));\n\t}\n};\nvar $elm$json$Json$Decode$value = _Json_decodeValue;\nvar $elm$browser$Debugger$Overlay$uploadDecoder = A3(\n\t$elm$json$Json$Decode$map2,\n\tF2(\n\t\tfunction (x, y) {\n\t\t\treturn _Utils_Tuple2(x, y);\n\t\t}),\n\tA2($elm$json$Json$Decode$field, 'metadata', $elm$browser$Debugger$Metadata$decoder),\n\tA2($elm$json$Json$Decode$field, 'history', $elm$json$Json$Decode$value));\nvar $elm$browser$Debugger$Overlay$assessImport = F2(\n\tfunction (metadata, jsonString) {\n\t\tvar _v0 = A2($elm$json$Json$Decode$decodeString, $elm$browser$Debugger$Overlay$uploadDecoder, jsonString);\n\t\tif (_v0.$ === 'Err') {\n\t\t\treturn $elm$core$Result$Err($elm$browser$Debugger$Overlay$corruptImport);\n\t\t} else {\n\t\t\tvar _v1 = _v0.a;\n\t\t\tvar foreignMetadata = _v1.a;\n\t\t\tvar rawHistory = _v1.b;\n\t\t\tvar report = A2($elm$browser$Debugger$Metadata$check, foreignMetadata, metadata);\n\t\t\tvar _v2 = $elm$browser$Debugger$Report$evaluate(report);\n\t\t\tswitch (_v2.$) {\n\t\t\t\tcase 'Impossible':\n\t\t\t\t\treturn $elm$core$Result$Err(\n\t\t\t\t\t\t$elm$browser$Debugger$Overlay$BadImport(report));\n\t\t\t\tcase 'Risky':\n\t\t\t\t\treturn $elm$core$Result$Err(\n\t\t\t\t\t\tA2($elm$browser$Debugger$Overlay$RiskyImport, report, rawHistory));\n\t\t\t\tdefault:\n\t\t\t\t\treturn $elm$core$Result$Ok(rawHistory);\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Platform$Cmd$batch = _Platform_batch;\nvar $elm$browser$Debugger$Overlay$close = F2(\n\tfunction (msg, state) {\n\t\tswitch (state.$) {\n\t\t\tcase 'None':\n\t\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t\tcase 'BadMetadata':\n\t\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t\tcase 'BadImport':\n\t\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t\tdefault:\n\t\t\t\tvar rawHistory = state.b;\n\t\t\t\tif (msg.$ === 'Cancel') {\n\t\t\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t\t\t} else {\n\t\t\t\t\treturn $elm$core$Maybe$Just(rawHistory);\n\t\t\t\t}\n\t\t}\n\t});\nvar $elm$browser$Debugger$History$elmToJs = A2($elm$core$Basics$composeR, _Json_wrap, _Debugger_unsafeCoerce);\nvar $elm$browser$Debugger$History$encodeHelp = F2(\n\tfunction (snapshot, allMessages) {\n\t\treturn A3($elm$core$Array$foldl, $elm$core$List$cons, allMessages, snapshot.messages);\n\t});\nvar $elm$json$Json$Encode$list = F2(\n\tfunction (func, entries) {\n\t\treturn _Json_wrap(\n\t\t\tA3(\n\t\t\t\t$elm$core$List$foldl,\n\t\t\t\t_Json_addEntry(func),\n\t\t\t\t_Json_emptyArray(_Utils_Tuple0),\n\t\t\t\tentries));\n\t});\nvar $elm$browser$Debugger$History$encode = function (_v0) {\n\tvar snapshots = _v0.snapshots;\n\tvar recent = _v0.recent;\n\treturn A2(\n\t\t$elm$json$Json$Encode$list,\n\t\t$elm$browser$Debugger$History$elmToJs,\n\t\tA3(\n\t\t\t$elm$core$Array$foldr,\n\t\t\t$elm$browser$Debugger$History$encodeHelp,\n\t\t\t$elm$core$List$reverse(recent.messages),\n\t\t\tsnapshots));\n};\nvar $elm$json$Json$Encode$object = function (pairs) {\n\treturn _Json_wrap(\n\t\tA3(\n\t\t\t$elm$core$List$foldl,\n\t\t\tF2(\n\t\t\t\tfunction (_v0, obj) {\n\t\t\t\t\tvar k = _v0.a;\n\t\t\t\t\tvar v = _v0.b;\n\t\t\t\t\treturn A3(_Json_addField, k, v, obj);\n\t\t\t\t}),\n\t\t\t_Json_emptyObject(_Utils_Tuple0),\n\t\t\tpairs));\n};\nvar $elm$browser$Debugger$Metadata$encodeAlias = function (_v0) {\n\tvar args = _v0.args;\n\tvar tipe = _v0.tipe;\n\treturn $elm$json$Json$Encode$object(\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\t_Utils_Tuple2(\n\t\t\t\t'args',\n\t\t\t\tA2($elm$json$Json$Encode$list, $elm$json$Json$Encode$string, args)),\n\t\t\t\t_Utils_Tuple2(\n\t\t\t\t'type',\n\t\t\t\t$elm$json$Json$Encode$string(tipe))\n\t\t\t]));\n};\nvar $elm$browser$Debugger$Metadata$encodeDict = F2(\n\tfunction (f, dict) {\n\t\treturn $elm$json$Json$Encode$object(\n\t\t\t$elm$core$Dict$toList(\n\t\t\t\tA2(\n\t\t\t\t\t$elm$core$Dict$map,\n\t\t\t\t\tF2(\n\t\t\t\t\t\tfunction (key, value) {\n\t\t\t\t\t\t\treturn f(value);\n\t\t\t\t\t\t}),\n\t\t\t\t\tdict)));\n\t});\nvar $elm$browser$Debugger$Metadata$encodeUnion = function (_v0) {\n\tvar args = _v0.args;\n\tvar tags = _v0.tags;\n\treturn $elm$json$Json$Encode$object(\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\t_Utils_Tuple2(\n\t\t\t\t'args',\n\t\t\t\tA2($elm$json$Json$Encode$list, $elm$json$Json$Encode$string, args)),\n\t\t\t\t_Utils_Tuple2(\n\t\t\t\t'tags',\n\t\t\t\tA2(\n\t\t\t\t\t$elm$browser$Debugger$Metadata$encodeDict,\n\t\t\t\t\t$elm$json$Json$Encode$list($elm$json$Json$Encode$string),\n\t\t\t\t\ttags))\n\t\t\t]));\n};\nvar $elm$browser$Debugger$Metadata$encodeTypes = function (_v0) {\n\tvar message = _v0.message;\n\tvar unions = _v0.unions;\n\tvar aliases = _v0.aliases;\n\treturn $elm$json$Json$Encode$object(\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\t_Utils_Tuple2(\n\t\t\t\t'message',\n\t\t\t\t$elm$json$Json$Encode$string(message)),\n\t\t\t\t_Utils_Tuple2(\n\t\t\t\t'aliases',\n\t\t\t\tA2($elm$browser$Debugger$Metadata$encodeDict, $elm$browser$Debugger$Metadata$encodeAlias, aliases)),\n\t\t\t\t_Utils_Tuple2(\n\t\t\t\t'unions',\n\t\t\t\tA2($elm$browser$Debugger$Metadata$encodeDict, $elm$browser$Debugger$Metadata$encodeUnion, unions))\n\t\t\t]));\n};\nvar $elm$browser$Debugger$Metadata$encodeVersions = function (_v0) {\n\tvar elm = _v0.elm;\n\treturn $elm$json$Json$Encode$object(\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\t_Utils_Tuple2(\n\t\t\t\t'elm',\n\t\t\t\t$elm$json$Json$Encode$string(elm))\n\t\t\t]));\n};\nvar $elm$browser$Debugger$Metadata$encode = function (_v0) {\n\tvar versions = _v0.versions;\n\tvar types = _v0.types;\n\treturn $elm$json$Json$Encode$object(\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\t_Utils_Tuple2(\n\t\t\t\t'versions',\n\t\t\t\t$elm$browser$Debugger$Metadata$encodeVersions(versions)),\n\t\t\t\t_Utils_Tuple2(\n\t\t\t\t'types',\n\t\t\t\t$elm$browser$Debugger$Metadata$encodeTypes(types))\n\t\t\t]));\n};\nvar $elm$core$Basics$identity = function (x) {\n\treturn x;\n};\nvar $elm$core$Task$Perform = function (a) {\n\treturn {$: 'Perform', a: a};\n};\nvar $elm$core$Task$succeed = _Scheduler_succeed;\nvar $elm$core$Task$init = $elm$core$Task$succeed(_Utils_Tuple0);\nvar $elm$core$Task$andThen = _Scheduler_andThen;\nvar $elm$core$Task$map = F2(\n\tfunction (func, taskA) {\n\t\treturn A2(\n\t\t\t$elm$core$Task$andThen,\n\t\t\tfunction (a) {\n\t\t\t\treturn $elm$core$Task$succeed(\n\t\t\t\t\tfunc(a));\n\t\t\t},\n\t\t\ttaskA);\n\t});\nvar $elm$core$Task$map2 = F3(\n\tfunction (func, taskA, taskB) {\n\t\treturn A2(\n\t\t\t$elm$core$Task$andThen,\n\t\t\tfunction (a) {\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$core$Task$andThen,\n\t\t\t\t\tfunction (b) {\n\t\t\t\t\t\treturn $elm$core$Task$succeed(\n\t\t\t\t\t\t\tA2(func, a, b));\n\t\t\t\t\t},\n\t\t\t\t\ttaskB);\n\t\t\t},\n\t\t\ttaskA);\n\t});\nvar $elm$core$Task$sequence = function (tasks) {\n\treturn A3(\n\t\t$elm$core$List$foldr,\n\t\t$elm$core$Task$map2($elm$core$List$cons),\n\t\t$elm$core$Task$succeed(_List_Nil),\n\t\ttasks);\n};\nvar $elm$core$Platform$sendToApp = _Platform_sendToApp;\nvar $elm$core$Task$spawnCmd = F2(\n\tfunction (router, _v0) {\n\t\tvar task = _v0.a;\n\t\treturn _Scheduler_spawn(\n\t\t\tA2(\n\t\t\t\t$elm$core$Task$andThen,\n\t\t\t\t$elm$core$Platform$sendToApp(router),\n\t\t\t\ttask));\n\t});\nvar $elm$core$Task$onEffects = F3(\n\tfunction (router, commands, state) {\n\t\treturn A2(\n\t\t\t$elm$core$Task$map,\n\t\t\tfunction (_v0) {\n\t\t\t\treturn _Utils_Tuple0;\n\t\t\t},\n\t\t\t$elm$core$Task$sequence(\n\t\t\t\tA2(\n\t\t\t\t\t$elm$core$List$map,\n\t\t\t\t\t$elm$core$Task$spawnCmd(router),\n\t\t\t\t\tcommands)));\n\t});\nvar $elm$core$Task$onSelfMsg = F3(\n\tfunction (_v0, _v1, _v2) {\n\t\treturn $elm$core$Task$succeed(_Utils_Tuple0);\n\t});\nvar $elm$core$Task$cmdMap = F2(\n\tfunction (tagger, _v0) {\n\t\tvar task = _v0.a;\n\t\treturn $elm$core$Task$Perform(\n\t\t\tA2($elm$core$Task$map, tagger, task));\n\t});\n_Platform_effectManagers['Task'] = _Platform_createManager($elm$core$Task$init, $elm$core$Task$onEffects, $elm$core$Task$onSelfMsg, $elm$core$Task$cmdMap);\nvar $elm$core$Task$command = _Platform_leaf('Task');\nvar $elm$core$Task$perform = F2(\n\tfunction (toMessage, task) {\n\t\treturn $elm$core$Task$command(\n\t\t\t$elm$core$Task$Perform(\n\t\t\t\tA2($elm$core$Task$map, toMessage, task)));\n\t});\nvar $elm$browser$Debugger$Main$download = F2(\n\tfunction (metadata, history) {\n\t\tvar historyLength = $elm$browser$Debugger$History$size(history);\n\t\treturn A2(\n\t\t\t$elm$core$Task$perform,\n\t\t\tfunction (_v0) {\n\t\t\t\treturn $elm$browser$Debugger$Main$NoOp;\n\t\t\t},\n\t\t\tA2(\n\t\t\t\t_Debugger_download,\n\t\t\t\thistoryLength,\n\t\t\t\t_Json_unwrap(\n\t\t\t\t\t$elm$json$Json$Encode$object(\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t_Utils_Tuple2(\n\t\t\t\t\t\t\t\t'metadata',\n\t\t\t\t\t\t\t\t$elm$browser$Debugger$Metadata$encode(metadata)),\n\t\t\t\t\t\t\t\t_Utils_Tuple2(\n\t\t\t\t\t\t\t\t'history',\n\t\t\t\t\t\t\t\t$elm$browser$Debugger$History$encode(history))\n\t\t\t\t\t\t\t])))));\n\t});\nvar $elm$browser$Debugger$Main$Vertical = F3(\n\tfunction (a, b, c) {\n\t\treturn {$: 'Vertical', a: a, b: b, c: c};\n\t});\nvar $elm$browser$Debugger$Main$drag = F2(\n\tfunction (info, layout) {\n\t\tif (layout.$ === 'Horizontal') {\n\t\t\tvar status = layout.a;\n\t\t\tvar y = layout.c;\n\t\t\treturn A3($elm$browser$Debugger$Main$Horizontal, status, info.x / info.width, y);\n\t\t} else {\n\t\t\tvar status = layout.a;\n\t\t\tvar x = layout.b;\n\t\t\treturn A3($elm$browser$Debugger$Main$Vertical, status, x, info.y / info.height);\n\t\t}\n\t});\nvar $elm$browser$Debugger$History$Stepping = F2(\n\tfunction (a, b) {\n\t\treturn {$: 'Stepping', a: a, b: b};\n\t});\nvar $elm$browser$Debugger$History$Done = F2(\n\tfunction (a, b) {\n\t\treturn {$: 'Done', a: a, b: b};\n\t});\nvar $elm$browser$Debugger$History$getHelp = F3(\n\tfunction (update, msg, getResult) {\n\t\tif (getResult.$ === 'Done') {\n\t\t\treturn getResult;\n\t\t} else {\n\t\t\tvar n = getResult.a;\n\t\t\tvar model = getResult.b;\n\t\t\treturn (!n) ? A2(\n\t\t\t\t$elm$browser$Debugger$History$Done,\n\t\t\t\tmsg,\n\t\t\t\tA2(update, msg, model).a) : A2(\n\t\t\t\t$elm$browser$Debugger$History$Stepping,\n\t\t\t\tn - 1,\n\t\t\t\tA2(update, msg, model).a);\n\t\t}\n\t});\nvar $elm$browser$Debugger$History$undone = function (getResult) {\n\tundone:\n\twhile (true) {\n\t\tif (getResult.$ === 'Done') {\n\t\t\tvar msg = getResult.a;\n\t\t\tvar model = getResult.b;\n\t\t\treturn _Utils_Tuple2(model, msg);\n\t\t} else {\n\t\t\tvar $temp$getResult = getResult;\n\t\t\tgetResult = $temp$getResult;\n\t\t\tcontinue undone;\n\t\t}\n\t}\n};\nvar $elm$browser$Debugger$History$get = F3(\n\tfunction (update, index, history) {\n\t\tget:\n\t\twhile (true) {\n\t\t\tvar recent = history.recent;\n\t\t\tvar snapshotMax = history.numMessages - recent.numMessages;\n\t\t\tif (_Utils_cmp(index, snapshotMax) > -1) {\n\t\t\t\treturn $elm$browser$Debugger$History$undone(\n\t\t\t\t\tA3(\n\t\t\t\t\t\t$elm$core$List$foldr,\n\t\t\t\t\t\t$elm$browser$Debugger$History$getHelp(update),\n\t\t\t\t\t\tA2($elm$browser$Debugger$History$Stepping, index - snapshotMax, recent.model),\n\t\t\t\t\t\trecent.messages));\n\t\t\t} else {\n\t\t\t\tvar _v0 = A2($elm$core$Array$get, (index / $elm$browser$Debugger$History$maxSnapshotSize) | 0, history.snapshots);\n\t\t\t\tif (_v0.$ === 'Nothing') {\n\t\t\t\t\tvar $temp$update = update,\n\t\t\t\t\t\t$temp$index = index,\n\t\t\t\t\t\t$temp$history = history;\n\t\t\t\t\tupdate = $temp$update;\n\t\t\t\t\tindex = $temp$index;\n\t\t\t\t\thistory = $temp$history;\n\t\t\t\t\tcontinue get;\n\t\t\t\t} else {\n\t\t\t\t\tvar model = _v0.a.model;\n\t\t\t\t\tvar messages = _v0.a.messages;\n\t\t\t\t\treturn $elm$browser$Debugger$History$undone(\n\t\t\t\t\t\tA3(\n\t\t\t\t\t\t\t$elm$core$Array$foldr,\n\t\t\t\t\t\t\t$elm$browser$Debugger$History$getHelp(update),\n\t\t\t\t\t\t\tA2($elm$browser$Debugger$History$Stepping, index % $elm$browser$Debugger$History$maxSnapshotSize, model),\n\t\t\t\t\t\t\tmessages));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\nvar $elm$browser$Debugger$History$getRecentMsg = function (history) {\n\tgetRecentMsg:\n\twhile (true) {\n\t\tvar _v0 = history.recent.messages;\n\t\tif (!_v0.b) {\n\t\t\tvar $temp$history = history;\n\t\t\thistory = $temp$history;\n\t\t\tcontinue getRecentMsg;\n\t\t} else {\n\t\t\tvar first = _v0.a;\n\t\t\treturn first;\n\t\t}\n\t}\n};\nvar $elm$core$Dict$get = F2(\n\tfunction (targetKey, dict) {\n\t\tget:\n\t\twhile (true) {\n\t\t\tif (dict.$ === 'RBEmpty_elm_builtin') {\n\t\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t\t} else {\n\t\t\t\tvar key = dict.b;\n\t\t\t\tvar value = dict.c;\n\t\t\t\tvar left = dict.d;\n\t\t\t\tvar right = dict.e;\n\t\t\t\tvar _v1 = A2($elm$core$Basics$compare, targetKey, key);\n\t\t\t\tswitch (_v1.$) {\n\t\t\t\t\tcase 'LT':\n\t\t\t\t\t\tvar $temp$targetKey = targetKey,\n\t\t\t\t\t\t\t$temp$dict = left;\n\t\t\t\t\t\ttargetKey = $temp$targetKey;\n\t\t\t\t\t\tdict = $temp$dict;\n\t\t\t\t\t\tcontinue get;\n\t\t\t\t\tcase 'EQ':\n\t\t\t\t\t\treturn $elm$core$Maybe$Just(value);\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tvar $temp$targetKey = targetKey,\n\t\t\t\t\t\t\t$temp$dict = right;\n\t\t\t\t\t\ttargetKey = $temp$targetKey;\n\t\t\t\t\t\tdict = $temp$dict;\n\t\t\t\t\t\tcontinue get;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\nvar $elm$browser$Debugger$Expando$mergeDictHelp = F3(\n\tfunction (oldDict, key, value) {\n\t\tvar _v12 = A2($elm$core$Dict$get, key, oldDict);\n\t\tif (_v12.$ === 'Nothing') {\n\t\t\treturn value;\n\t\t} else {\n\t\t\tvar oldValue = _v12.a;\n\t\t\treturn A2($elm$browser$Debugger$Expando$mergeHelp, oldValue, value);\n\t\t}\n\t});\nvar $elm$browser$Debugger$Expando$mergeHelp = F2(\n\tfunction (old, _new) {\n\t\tvar _v3 = _Utils_Tuple2(old, _new);\n\t\t_v3$6:\n\t\twhile (true) {\n\t\t\tswitch (_v3.b.$) {\n\t\t\t\tcase 'S':\n\t\t\t\t\treturn _new;\n\t\t\t\tcase 'Primitive':\n\t\t\t\t\treturn _new;\n\t\t\t\tcase 'Sequence':\n\t\t\t\t\tif (_v3.a.$ === 'Sequence') {\n\t\t\t\t\t\tvar _v4 = _v3.a;\n\t\t\t\t\t\tvar isClosed = _v4.b;\n\t\t\t\t\t\tvar oldValues = _v4.c;\n\t\t\t\t\t\tvar _v5 = _v3.b;\n\t\t\t\t\t\tvar seqType = _v5.a;\n\t\t\t\t\t\tvar newValues = _v5.c;\n\t\t\t\t\t\treturn A3(\n\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$Sequence,\n\t\t\t\t\t\t\tseqType,\n\t\t\t\t\t\t\tisClosed,\n\t\t\t\t\t\t\tA2($elm$browser$Debugger$Expando$mergeListHelp, oldValues, newValues));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbreak _v3$6;\n\t\t\t\t\t}\n\t\t\t\tcase 'Dictionary':\n\t\t\t\t\tif (_v3.a.$ === 'Dictionary') {\n\t\t\t\t\t\tvar _v6 = _v3.a;\n\t\t\t\t\t\tvar isClosed = _v6.a;\n\t\t\t\t\t\tvar _v7 = _v3.b;\n\t\t\t\t\t\tvar keyValuePairs = _v7.b;\n\t\t\t\t\t\treturn A2($elm$browser$Debugger$Expando$Dictionary, isClosed, keyValuePairs);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbreak _v3$6;\n\t\t\t\t\t}\n\t\t\t\tcase 'Record':\n\t\t\t\t\tif (_v3.a.$ === 'Record') {\n\t\t\t\t\t\tvar _v8 = _v3.a;\n\t\t\t\t\t\tvar isClosed = _v8.a;\n\t\t\t\t\t\tvar oldDict = _v8.b;\n\t\t\t\t\t\tvar _v9 = _v3.b;\n\t\t\t\t\t\tvar newDict = _v9.b;\n\t\t\t\t\t\treturn A2(\n\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$Record,\n\t\t\t\t\t\t\tisClosed,\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t$elm$core$Dict$map,\n\t\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$mergeDictHelp(oldDict),\n\t\t\t\t\t\t\t\tnewDict));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbreak _v3$6;\n\t\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\tif (_v3.a.$ === 'Constructor') {\n\t\t\t\t\t\tvar _v10 = _v3.a;\n\t\t\t\t\t\tvar isClosed = _v10.b;\n\t\t\t\t\t\tvar oldValues = _v10.c;\n\t\t\t\t\t\tvar _v11 = _v3.b;\n\t\t\t\t\t\tvar maybeName = _v11.a;\n\t\t\t\t\t\tvar newValues = _v11.c;\n\t\t\t\t\t\treturn A3(\n\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$Constructor,\n\t\t\t\t\t\t\tmaybeName,\n\t\t\t\t\t\t\tisClosed,\n\t\t\t\t\t\t\tA2($elm$browser$Debugger$Expando$mergeListHelp, oldValues, newValues));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbreak _v3$6;\n\t\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn _new;\n\t});\nvar $elm$browser$Debugger$Expando$mergeListHelp = F2(\n\tfunction (olds, news) {\n\t\tvar _v0 = _Utils_Tuple2(olds, news);\n\t\tif (!_v0.a.b) {\n\t\t\treturn news;\n\t\t} else {\n\t\t\tif (!_v0.b.b) {\n\t\t\t\treturn news;\n\t\t\t} else {\n\t\t\t\tvar _v1 = _v0.a;\n\t\t\t\tvar x = _v1.a;\n\t\t\t\tvar xs = _v1.b;\n\t\t\t\tvar _v2 = _v0.b;\n\t\t\t\tvar y = _v2.a;\n\t\t\t\tvar ys = _v2.b;\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\tA2($elm$browser$Debugger$Expando$mergeHelp, x, y),\n\t\t\t\t\tA2($elm$browser$Debugger$Expando$mergeListHelp, xs, ys));\n\t\t\t}\n\t\t}\n\t});\nvar $elm$browser$Debugger$Expando$merge = F2(\n\tfunction (value, expando) {\n\t\treturn A2(\n\t\t\t$elm$browser$Debugger$Expando$mergeHelp,\n\t\t\texpando,\n\t\t\t_Debugger_init(value));\n\t});\nvar $elm$browser$Debugger$Main$jumpUpdate = F3(\n\tfunction (update, index, model) {\n\t\tvar history = $elm$browser$Debugger$Main$cachedHistory(model);\n\t\tvar currentMsg = $elm$browser$Debugger$History$getRecentMsg(history);\n\t\tvar currentModel = $elm$browser$Debugger$Main$getLatestModel(model.state);\n\t\tvar _v0 = A3($elm$browser$Debugger$History$get, update, index, history);\n\t\tvar indexModel = _v0.a;\n\t\tvar indexMsg = _v0.b;\n\t\treturn _Utils_update(\n\t\t\tmodel,\n\t\t\t{\n\t\t\t\texpandoModel: A2($elm$browser$Debugger$Expando$merge, indexModel, model.expandoModel),\n\t\t\t\texpandoMsg: A2($elm$browser$Debugger$Expando$merge, indexMsg, model.expandoMsg),\n\t\t\t\tstate: A5($elm$browser$Debugger$Main$Paused, index, indexModel, currentModel, currentMsg, history)\n\t\t\t});\n\t});\nvar $elm$browser$Debugger$History$jsToElm = A2($elm$core$Basics$composeR, _Json_unwrap, _Debugger_unsafeCoerce);\nvar $elm$browser$Debugger$History$decoder = F2(\n\tfunction (initialModel, update) {\n\t\tvar addMessage = F2(\n\t\t\tfunction (rawMsg, _v0) {\n\t\t\t\tvar model = _v0.a;\n\t\t\t\tvar history = _v0.b;\n\t\t\t\tvar msg = $elm$browser$Debugger$History$jsToElm(rawMsg);\n\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\tA2(update, msg, model),\n\t\t\t\t\tA3($elm$browser$Debugger$History$add, msg, model, history));\n\t\t\t});\n\t\tvar updateModel = function (rawMsgs) {\n\t\t\treturn A3(\n\t\t\t\t$elm$core$List$foldl,\n\t\t\t\taddMessage,\n\t\t\t\t_Utils_Tuple2(\n\t\t\t\t\tinitialModel,\n\t\t\t\t\t$elm$browser$Debugger$History$empty(initialModel)),\n\t\t\t\trawMsgs);\n\t\t};\n\t\treturn A2(\n\t\t\t$elm$json$Json$Decode$map,\n\t\t\tupdateModel,\n\t\t\t$elm$json$Json$Decode$list($elm$json$Json$Decode$value));\n\t});\nvar $elm$browser$Debugger$History$getInitialModel = function (_v0) {\n\tvar snapshots = _v0.snapshots;\n\tvar recent = _v0.recent;\n\tvar _v1 = A2($elm$core$Array$get, 0, snapshots);\n\tif (_v1.$ === 'Just') {\n\t\tvar model = _v1.a.model;\n\t\treturn model;\n\t} else {\n\t\treturn recent.model;\n\t}\n};\nvar $elm$core$Platform$Cmd$none = $elm$core$Platform$Cmd$batch(_List_Nil);\nvar $elm$browser$Debugger$Main$loadNewHistory = F3(\n\tfunction (rawHistory, update, model) {\n\t\tvar pureUserUpdate = F2(\n\t\t\tfunction (msg, userModel) {\n\t\t\t\treturn A2(update, msg, userModel).a;\n\t\t\t});\n\t\tvar initialUserModel = $elm$browser$Debugger$History$getInitialModel(model.history);\n\t\tvar decoder = A2($elm$browser$Debugger$History$decoder, initialUserModel, pureUserUpdate);\n\t\tvar _v0 = A2($elm$json$Json$Decode$decodeValue, decoder, rawHistory);\n\t\tif (_v0.$ === 'Err') {\n\t\t\treturn _Utils_Tuple2(\n\t\t\t\t_Utils_update(\n\t\t\t\t\tmodel,\n\t\t\t\t\t{overlay: $elm$browser$Debugger$Overlay$corruptImport}),\n\t\t\t\t$elm$core$Platform$Cmd$none);\n\t\t} else {\n\t\t\tvar _v1 = _v0.a;\n\t\t\tvar latestUserModel = _v1.a;\n\t\t\tvar newHistory = _v1.b;\n\t\t\treturn _Utils_Tuple2(\n\t\t\t\t_Utils_update(\n\t\t\t\t\tmodel,\n\t\t\t\t\t{\n\t\t\t\t\t\texpandoModel: $elm$browser$Debugger$Expando$init(latestUserModel),\n\t\t\t\t\t\texpandoMsg: $elm$browser$Debugger$Expando$init(\n\t\t\t\t\t\t\t$elm$browser$Debugger$History$getRecentMsg(newHistory)),\n\t\t\t\t\t\thistory: newHistory,\n\t\t\t\t\t\toverlay: $elm$browser$Debugger$Overlay$none,\n\t\t\t\t\t\tstate: $elm$browser$Debugger$Main$Running(latestUserModel)\n\t\t\t\t\t}),\n\t\t\t\t$elm$core$Platform$Cmd$none);\n\t\t}\n\t});\nvar $elm$browser$Debugger$Main$scroll = function (popout) {\n\treturn A2(\n\t\t$elm$core$Task$perform,\n\t\t$elm$core$Basics$always($elm$browser$Debugger$Main$NoOp),\n\t\t_Debugger_scroll(popout));\n};\nvar $elm$browser$Debugger$Main$scrollTo = F2(\n\tfunction (id, popout) {\n\t\treturn A2(\n\t\t\t$elm$core$Task$perform,\n\t\t\t$elm$core$Basics$always($elm$browser$Debugger$Main$NoOp),\n\t\t\tA2(_Debugger_scrollTo, id, popout));\n\t});\nvar $elm$browser$Debugger$Main$setDragStatus = F2(\n\tfunction (status, layout) {\n\t\tif (layout.$ === 'Horizontal') {\n\t\t\tvar x = layout.b;\n\t\t\tvar y = layout.c;\n\t\t\treturn A3($elm$browser$Debugger$Main$Horizontal, status, x, y);\n\t\t} else {\n\t\t\tvar x = layout.b;\n\t\t\tvar y = layout.c;\n\t\t\treturn A3($elm$browser$Debugger$Main$Vertical, status, x, y);\n\t\t}\n\t});\nvar $elm$browser$Debugger$Main$swapLayout = function (layout) {\n\tif (layout.$ === 'Horizontal') {\n\t\tvar s = layout.a;\n\t\tvar x = layout.b;\n\t\tvar y = layout.c;\n\t\treturn A3($elm$browser$Debugger$Main$Vertical, s, x, y);\n\t} else {\n\t\tvar s = layout.a;\n\t\tvar x = layout.b;\n\t\tvar y = layout.c;\n\t\treturn A3($elm$browser$Debugger$Main$Horizontal, s, x, y);\n\t}\n};\nvar $elm$core$Dict$getMin = function (dict) {\n\tgetMin:\n\twhile (true) {\n\t\tif ((dict.$ === 'RBNode_elm_builtin') && (dict.d.$ === 'RBNode_elm_builtin')) {\n\t\t\tvar left = dict.d;\n\t\t\tvar $temp$dict = left;\n\t\t\tdict = $temp$dict;\n\t\t\tcontinue getMin;\n\t\t} else {\n\t\t\treturn dict;\n\t\t}\n\t}\n};\nvar $elm$core$Dict$moveRedLeft = function (dict) {\n\tif (((dict.$ === 'RBNode_elm_builtin') && (dict.d.$ === 'RBNode_elm_builtin')) && (dict.e.$ === 'RBNode_elm_builtin')) {\n\t\tif ((dict.e.d.$ === 'RBNode_elm_builtin') && (dict.e.d.a.$ === 'Red')) {\n\t\t\tvar clr = dict.a;\n\t\t\tvar k = dict.b;\n\t\t\tvar v = dict.c;\n\t\t\tvar _v1 = dict.d;\n\t\t\tvar lClr = _v1.a;\n\t\t\tvar lK = _v1.b;\n\t\t\tvar lV = _v1.c;\n\t\t\tvar lLeft = _v1.d;\n\t\t\tvar lRight = _v1.e;\n\t\t\tvar _v2 = dict.e;\n\t\t\tvar rClr = _v2.a;\n\t\t\tvar rK = _v2.b;\n\t\t\tvar rV = _v2.c;\n\t\t\tvar rLeft = _v2.d;\n\t\t\tvar _v3 = rLeft.a;\n\t\t\tvar rlK = rLeft.b;\n\t\t\tvar rlV = rLeft.c;\n\t\t\tvar rlL = rLeft.d;\n\t\t\tvar rlR = rLeft.e;\n\t\t\tvar rRight = _v2.e;\n\t\t\treturn A5(\n\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t$elm$core$Dict$Red,\n\t\t\t\trlK,\n\t\t\t\trlV,\n\t\t\t\tA5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t$elm$core$Dict$Black,\n\t\t\t\t\tk,\n\t\t\t\t\tv,\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),\n\t\t\t\t\trlL),\n\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, rK, rV, rlR, rRight));\n\t\t} else {\n\t\t\tvar clr = dict.a;\n\t\t\tvar k = dict.b;\n\t\t\tvar v = dict.c;\n\t\t\tvar _v4 = dict.d;\n\t\t\tvar lClr = _v4.a;\n\t\t\tvar lK = _v4.b;\n\t\t\tvar lV = _v4.c;\n\t\t\tvar lLeft = _v4.d;\n\t\t\tvar lRight = _v4.e;\n\t\t\tvar _v5 = dict.e;\n\t\t\tvar rClr = _v5.a;\n\t\t\tvar rK = _v5.b;\n\t\t\tvar rV = _v5.c;\n\t\t\tvar rLeft = _v5.d;\n\t\t\tvar rRight = _v5.e;\n\t\t\tif (clr.$ === 'Black') {\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t$elm$core$Dict$Black,\n\t\t\t\t\tk,\n\t\t\t\t\tv,\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight));\n\t\t\t} else {\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t$elm$core$Dict$Black,\n\t\t\t\t\tk,\n\t\t\t\t\tv,\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight));\n\t\t\t}\n\t\t}\n\t} else {\n\t\treturn dict;\n\t}\n};\nvar $elm$core$Dict$moveRedRight = function (dict) {\n\tif (((dict.$ === 'RBNode_elm_builtin') && (dict.d.$ === 'RBNode_elm_builtin')) && (dict.e.$ === 'RBNode_elm_builtin')) {\n\t\tif ((dict.d.d.$ === 'RBNode_elm_builtin') && (dict.d.d.a.$ === 'Red')) {\n\t\t\tvar clr = dict.a;\n\t\t\tvar k = dict.b;\n\t\t\tvar v = dict.c;\n\t\t\tvar _v1 = dict.d;\n\t\t\tvar lClr = _v1.a;\n\t\t\tvar lK = _v1.b;\n\t\t\tvar lV = _v1.c;\n\t\t\tvar _v2 = _v1.d;\n\t\t\tvar _v3 = _v2.a;\n\t\t\tvar llK = _v2.b;\n\t\t\tvar llV = _v2.c;\n\t\t\tvar llLeft = _v2.d;\n\t\t\tvar llRight = _v2.e;\n\t\t\tvar lRight = _v1.e;\n\t\t\tvar _v4 = dict.e;\n\t\t\tvar rClr = _v4.a;\n\t\t\tvar rK = _v4.b;\n\t\t\tvar rV = _v4.c;\n\t\t\tvar rLeft = _v4.d;\n\t\t\tvar rRight = _v4.e;\n\t\t\treturn A5(\n\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t$elm$core$Dict$Red,\n\t\t\t\tlK,\n\t\t\t\tlV,\n\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, llK, llV, llLeft, llRight),\n\t\t\t\tA5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t$elm$core$Dict$Black,\n\t\t\t\t\tk,\n\t\t\t\t\tv,\n\t\t\t\t\tlRight,\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight)));\n\t\t} else {\n\t\t\tvar clr = dict.a;\n\t\t\tvar k = dict.b;\n\t\t\tvar v = dict.c;\n\t\t\tvar _v5 = dict.d;\n\t\t\tvar lClr = _v5.a;\n\t\t\tvar lK = _v5.b;\n\t\t\tvar lV = _v5.c;\n\t\t\tvar lLeft = _v5.d;\n\t\t\tvar lRight = _v5.e;\n\t\t\tvar _v6 = dict.e;\n\t\t\tvar rClr = _v6.a;\n\t\t\tvar rK = _v6.b;\n\t\t\tvar rV = _v6.c;\n\t\t\tvar rLeft = _v6.d;\n\t\t\tvar rRight = _v6.e;\n\t\t\tif (clr.$ === 'Black') {\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t$elm$core$Dict$Black,\n\t\t\t\t\tk,\n\t\t\t\t\tv,\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight));\n\t\t\t} else {\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t$elm$core$Dict$Black,\n\t\t\t\t\tk,\n\t\t\t\t\tv,\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight));\n\t\t\t}\n\t\t}\n\t} else {\n\t\treturn dict;\n\t}\n};\nvar $elm$core$Dict$removeHelpPrepEQGT = F7(\n\tfunction (targetKey, dict, color, key, value, left, right) {\n\t\tif ((left.$ === 'RBNode_elm_builtin') && (left.a.$ === 'Red')) {\n\t\t\tvar _v1 = left.a;\n\t\t\tvar lK = left.b;\n\t\t\tvar lV = left.c;\n\t\t\tvar lLeft = left.d;\n\t\t\tvar lRight = left.e;\n\t\t\treturn A5(\n\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\tcolor,\n\t\t\t\tlK,\n\t\t\t\tlV,\n\t\t\t\tlLeft,\n\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, key, value, lRight, right));\n\t\t} else {\n\t\t\t_v2$2:\n\t\t\twhile (true) {\n\t\t\t\tif ((right.$ === 'RBNode_elm_builtin') && (right.a.$ === 'Black')) {\n\t\t\t\t\tif (right.d.$ === 'RBNode_elm_builtin') {\n\t\t\t\t\t\tif (right.d.a.$ === 'Black') {\n\t\t\t\t\t\t\tvar _v3 = right.a;\n\t\t\t\t\t\t\tvar _v4 = right.d;\n\t\t\t\t\t\t\tvar _v5 = _v4.a;\n\t\t\t\t\t\t\treturn $elm$core$Dict$moveRedRight(dict);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tbreak _v2$2;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar _v6 = right.a;\n\t\t\t\t\t\tvar _v7 = right.d;\n\t\t\t\t\t\treturn $elm$core$Dict$moveRedRight(dict);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tbreak _v2$2;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn dict;\n\t\t}\n\t});\nvar $elm$core$Dict$removeMin = function (dict) {\n\tif ((dict.$ === 'RBNode_elm_builtin') && (dict.d.$ === 'RBNode_elm_builtin')) {\n\t\tvar color = dict.a;\n\t\tvar key = dict.b;\n\t\tvar value = dict.c;\n\t\tvar left = dict.d;\n\t\tvar lColor = left.a;\n\t\tvar lLeft = left.d;\n\t\tvar right = dict.e;\n\t\tif (lColor.$ === 'Black') {\n\t\t\tif ((lLeft.$ === 'RBNode_elm_builtin') && (lLeft.a.$ === 'Red')) {\n\t\t\t\tvar _v3 = lLeft.a;\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\tcolor,\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue,\n\t\t\t\t\t$elm$core$Dict$removeMin(left),\n\t\t\t\t\tright);\n\t\t\t} else {\n\t\t\t\tvar _v4 = $elm$core$Dict$moveRedLeft(dict);\n\t\t\t\tif (_v4.$ === 'RBNode_elm_builtin') {\n\t\t\t\t\tvar nColor = _v4.a;\n\t\t\t\t\tvar nKey = _v4.b;\n\t\t\t\t\tvar nValue = _v4.c;\n\t\t\t\t\tvar nLeft = _v4.d;\n\t\t\t\t\tvar nRight = _v4.e;\n\t\t\t\t\treturn A5(\n\t\t\t\t\t\t$elm$core$Dict$balance,\n\t\t\t\t\t\tnColor,\n\t\t\t\t\t\tnKey,\n\t\t\t\t\t\tnValue,\n\t\t\t\t\t\t$elm$core$Dict$removeMin(nLeft),\n\t\t\t\t\t\tnRight);\n\t\t\t\t} else {\n\t\t\t\t\treturn $elm$core$Dict$RBEmpty_elm_builtin;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\treturn A5(\n\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\tcolor,\n\t\t\t\tkey,\n\t\t\t\tvalue,\n\t\t\t\t$elm$core$Dict$removeMin(left),\n\t\t\t\tright);\n\t\t}\n\t} else {\n\t\treturn $elm$core$Dict$RBEmpty_elm_builtin;\n\t}\n};\nvar $elm$core$Dict$removeHelp = F2(\n\tfunction (targetKey, dict) {\n\t\tif (dict.$ === 'RBEmpty_elm_builtin') {\n\t\t\treturn $elm$core$Dict$RBEmpty_elm_builtin;\n\t\t} else {\n\t\t\tvar color = dict.a;\n\t\t\tvar key = dict.b;\n\t\t\tvar value = dict.c;\n\t\t\tvar left = dict.d;\n\t\t\tvar right = dict.e;\n\t\t\tif (_Utils_cmp(targetKey, key) < 0) {\n\t\t\t\tif ((left.$ === 'RBNode_elm_builtin') && (left.a.$ === 'Black')) {\n\t\t\t\t\tvar _v4 = left.a;\n\t\t\t\t\tvar lLeft = left.d;\n\t\t\t\t\tif ((lLeft.$ === 'RBNode_elm_builtin') && (lLeft.a.$ === 'Red')) {\n\t\t\t\t\t\tvar _v6 = lLeft.a;\n\t\t\t\t\t\treturn A5(\n\t\t\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t\t\tcolor,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\tA2($elm$core$Dict$removeHelp, targetKey, left),\n\t\t\t\t\t\t\tright);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar _v7 = $elm$core$Dict$moveRedLeft(dict);\n\t\t\t\t\t\tif (_v7.$ === 'RBNode_elm_builtin') {\n\t\t\t\t\t\t\tvar nColor = _v7.a;\n\t\t\t\t\t\t\tvar nKey = _v7.b;\n\t\t\t\t\t\t\tvar nValue = _v7.c;\n\t\t\t\t\t\t\tvar nLeft = _v7.d;\n\t\t\t\t\t\t\tvar nRight = _v7.e;\n\t\t\t\t\t\t\treturn A5(\n\t\t\t\t\t\t\t\t$elm$core$Dict$balance,\n\t\t\t\t\t\t\t\tnColor,\n\t\t\t\t\t\t\t\tnKey,\n\t\t\t\t\t\t\t\tnValue,\n\t\t\t\t\t\t\t\tA2($elm$core$Dict$removeHelp, targetKey, nLeft),\n\t\t\t\t\t\t\t\tnRight);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn $elm$core$Dict$RBEmpty_elm_builtin;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn A5(\n\t\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t\tcolor,\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tA2($elm$core$Dict$removeHelp, targetKey, left),\n\t\t\t\t\t\tright);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$core$Dict$removeHelpEQGT,\n\t\t\t\t\ttargetKey,\n\t\t\t\t\tA7($elm$core$Dict$removeHelpPrepEQGT, targetKey, dict, color, key, value, left, right));\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Dict$removeHelpEQGT = F2(\n\tfunction (targetKey, dict) {\n\t\tif (dict.$ === 'RBNode_elm_builtin') {\n\t\t\tvar color = dict.a;\n\t\t\tvar key = dict.b;\n\t\t\tvar value = dict.c;\n\t\t\tvar left = dict.d;\n\t\t\tvar right = dict.e;\n\t\t\tif (_Utils_eq(targetKey, key)) {\n\t\t\t\tvar _v1 = $elm$core$Dict$getMin(right);\n\t\t\t\tif (_v1.$ === 'RBNode_elm_builtin') {\n\t\t\t\t\tvar minKey = _v1.b;\n\t\t\t\t\tvar minValue = _v1.c;\n\t\t\t\t\treturn A5(\n\t\t\t\t\t\t$elm$core$Dict$balance,\n\t\t\t\t\t\tcolor,\n\t\t\t\t\t\tminKey,\n\t\t\t\t\t\tminValue,\n\t\t\t\t\t\tleft,\n\t\t\t\t\t\t$elm$core$Dict$removeMin(right));\n\t\t\t\t} else {\n\t\t\t\t\treturn $elm$core$Dict$RBEmpty_elm_builtin;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$core$Dict$balance,\n\t\t\t\t\tcolor,\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue,\n\t\t\t\t\tleft,\n\t\t\t\t\tA2($elm$core$Dict$removeHelp, targetKey, right));\n\t\t\t}\n\t\t} else {\n\t\t\treturn $elm$core$Dict$RBEmpty_elm_builtin;\n\t\t}\n\t});\nvar $elm$core$Dict$remove = F2(\n\tfunction (key, dict) {\n\t\tvar _v0 = A2($elm$core$Dict$removeHelp, key, dict);\n\t\tif ((_v0.$ === 'RBNode_elm_builtin') && (_v0.a.$ === 'Red')) {\n\t\t\tvar _v1 = _v0.a;\n\t\t\tvar k = _v0.b;\n\t\t\tvar v = _v0.c;\n\t\t\tvar l = _v0.d;\n\t\t\tvar r = _v0.e;\n\t\t\treturn A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, k, v, l, r);\n\t\t} else {\n\t\t\tvar x = _v0;\n\t\t\treturn x;\n\t\t}\n\t});\nvar $elm$core$Dict$update = F3(\n\tfunction (targetKey, alter, dictionary) {\n\t\tvar _v0 = alter(\n\t\t\tA2($elm$core$Dict$get, targetKey, dictionary));\n\t\tif (_v0.$ === 'Just') {\n\t\t\tvar value = _v0.a;\n\t\t\treturn A3($elm$core$Dict$insert, targetKey, value, dictionary);\n\t\t} else {\n\t\t\treturn A2($elm$core$Dict$remove, targetKey, dictionary);\n\t\t}\n\t});\nvar $elm$browser$Debugger$Expando$updateIndex = F3(\n\tfunction (n, func, list) {\n\t\tif (!list.b) {\n\t\t\treturn _List_Nil;\n\t\t} else {\n\t\t\tvar x = list.a;\n\t\t\tvar xs = list.b;\n\t\t\treturn (n <= 0) ? A2(\n\t\t\t\t$elm$core$List$cons,\n\t\t\t\tfunc(x),\n\t\t\t\txs) : A2(\n\t\t\t\t$elm$core$List$cons,\n\t\t\t\tx,\n\t\t\t\tA3($elm$browser$Debugger$Expando$updateIndex, n - 1, func, xs));\n\t\t}\n\t});\nvar $elm$browser$Debugger$Expando$update = F2(\n\tfunction (msg, value) {\n\t\tswitch (value.$) {\n\t\t\tcase 'S':\n\t\t\t\treturn value;\n\t\t\tcase 'Primitive':\n\t\t\t\treturn value;\n\t\t\tcase 'Sequence':\n\t\t\t\tvar seqType = value.a;\n\t\t\t\tvar isClosed = value.b;\n\t\t\t\tvar valueList = value.c;\n\t\t\t\tswitch (msg.$) {\n\t\t\t\t\tcase 'Toggle':\n\t\t\t\t\t\treturn A3($elm$browser$Debugger$Expando$Sequence, seqType, !isClosed, valueList);\n\t\t\t\t\tcase 'Index':\n\t\t\t\t\t\tif (msg.a.$ === 'None') {\n\t\t\t\t\t\t\tvar _v3 = msg.a;\n\t\t\t\t\t\t\tvar index = msg.b;\n\t\t\t\t\t\t\tvar subMsg = msg.c;\n\t\t\t\t\t\t\treturn A3(\n\t\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$Sequence,\n\t\t\t\t\t\t\t\tseqType,\n\t\t\t\t\t\t\t\tisClosed,\n\t\t\t\t\t\t\t\tA3(\n\t\t\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$updateIndex,\n\t\t\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$update(subMsg),\n\t\t\t\t\t\t\t\t\tvalueList));\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t}\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn value;\n\t\t\t\t}\n\t\t\tcase 'Dictionary':\n\t\t\t\tvar isClosed = value.a;\n\t\t\t\tvar keyValuePairs = value.b;\n\t\t\t\tswitch (msg.$) {\n\t\t\t\t\tcase 'Toggle':\n\t\t\t\t\t\treturn A2($elm$browser$Debugger$Expando$Dictionary, !isClosed, keyValuePairs);\n\t\t\t\t\tcase 'Index':\n\t\t\t\t\t\tvar redirect = msg.a;\n\t\t\t\t\t\tvar index = msg.b;\n\t\t\t\t\t\tvar subMsg = msg.c;\n\t\t\t\t\t\tswitch (redirect.$) {\n\t\t\t\t\t\t\tcase 'None':\n\t\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t\tcase 'Key':\n\t\t\t\t\t\t\t\treturn A2(\n\t\t\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$Dictionary,\n\t\t\t\t\t\t\t\t\tisClosed,\n\t\t\t\t\t\t\t\t\tA3(\n\t\t\t\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$updateIndex,\n\t\t\t\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\t\t\t\tfunction (_v6) {\n\t\t\t\t\t\t\t\t\t\t\tvar k = _v6.a;\n\t\t\t\t\t\t\t\t\t\t\tvar v = _v6.b;\n\t\t\t\t\t\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t\t\t\t\t\tA2($elm$browser$Debugger$Expando$update, subMsg, k),\n\t\t\t\t\t\t\t\t\t\t\t\tv);\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tkeyValuePairs));\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\treturn A2(\n\t\t\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$Dictionary,\n\t\t\t\t\t\t\t\t\tisClosed,\n\t\t\t\t\t\t\t\t\tA3(\n\t\t\t\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$updateIndex,\n\t\t\t\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\t\t\t\tfunction (_v7) {\n\t\t\t\t\t\t\t\t\t\t\tvar k = _v7.a;\n\t\t\t\t\t\t\t\t\t\t\tvar v = _v7.b;\n\t\t\t\t\t\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t\t\t\t\t\tk,\n\t\t\t\t\t\t\t\t\t\t\t\tA2($elm$browser$Debugger$Expando$update, subMsg, v));\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tkeyValuePairs));\n\t\t\t\t\t\t}\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn value;\n\t\t\t\t}\n\t\t\tcase 'Record':\n\t\t\t\tvar isClosed = value.a;\n\t\t\t\tvar valueDict = value.b;\n\t\t\t\tswitch (msg.$) {\n\t\t\t\t\tcase 'Toggle':\n\t\t\t\t\t\treturn A2($elm$browser$Debugger$Expando$Record, !isClosed, valueDict);\n\t\t\t\t\tcase 'Index':\n\t\t\t\t\t\treturn value;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tvar field = msg.a;\n\t\t\t\t\t\tvar subMsg = msg.b;\n\t\t\t\t\t\treturn A2(\n\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$Record,\n\t\t\t\t\t\t\tisClosed,\n\t\t\t\t\t\t\tA3(\n\t\t\t\t\t\t\t\t$elm$core$Dict$update,\n\t\t\t\t\t\t\t\tfield,\n\t\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$updateField(subMsg),\n\t\t\t\t\t\t\t\tvalueDict));\n\t\t\t\t}\n\t\t\tdefault:\n\t\t\t\tvar maybeName = value.a;\n\t\t\t\tvar isClosed = value.b;\n\t\t\t\tvar valueList = value.c;\n\t\t\t\tswitch (msg.$) {\n\t\t\t\t\tcase 'Toggle':\n\t\t\t\t\t\treturn A3($elm$browser$Debugger$Expando$Constructor, maybeName, !isClosed, valueList);\n\t\t\t\t\tcase 'Index':\n\t\t\t\t\t\tif (msg.a.$ === 'None') {\n\t\t\t\t\t\t\tvar _v10 = msg.a;\n\t\t\t\t\t\t\tvar index = msg.b;\n\t\t\t\t\t\t\tvar subMsg = msg.c;\n\t\t\t\t\t\t\treturn A3(\n\t\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$Constructor,\n\t\t\t\t\t\t\t\tmaybeName,\n\t\t\t\t\t\t\t\tisClosed,\n\t\t\t\t\t\t\t\tA3(\n\t\t\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$updateIndex,\n\t\t\t\t\t\t\t\t\tindex,\n\t\t\t\t\t\t\t\t\t$elm$browser$Debugger$Expando$update(subMsg),\n\t\t\t\t\t\t\t\t\tvalueList));\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t}\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn value;\n\t\t\t\t}\n\t\t}\n\t});\nvar $elm$browser$Debugger$Expando$updateField = F2(\n\tfunction (msg, maybeExpando) {\n\t\tif (maybeExpando.$ === 'Nothing') {\n\t\t\treturn maybeExpando;\n\t\t} else {\n\t\t\tvar expando = maybeExpando.a;\n\t\t\treturn $elm$core$Maybe$Just(\n\t\t\t\tA2($elm$browser$Debugger$Expando$update, msg, expando));\n\t\t}\n\t});\nvar $elm$browser$Debugger$Main$Upload = function (a) {\n\treturn {$: 'Upload', a: a};\n};\nvar $elm$browser$Debugger$Main$upload = function (popout) {\n\treturn A2(\n\t\t$elm$core$Task$perform,\n\t\t$elm$browser$Debugger$Main$Upload,\n\t\t_Debugger_upload(popout));\n};\nvar $elm$browser$Debugger$Overlay$BadMetadata = function (a) {\n\treturn {$: 'BadMetadata', a: a};\n};\nvar $elm$browser$Debugger$Overlay$badMetadata = $elm$browser$Debugger$Overlay$BadMetadata;\nvar $elm$browser$Debugger$Main$withGoodMetadata = F2(\n\tfunction (model, func) {\n\t\tvar _v0 = model.metadata;\n\t\tif (_v0.$ === 'Ok') {\n\t\t\tvar metadata = _v0.a;\n\t\t\treturn func(metadata);\n\t\t} else {\n\t\t\tvar error = _v0.a;\n\t\t\treturn _Utils_Tuple2(\n\t\t\t\t_Utils_update(\n\t\t\t\t\tmodel,\n\t\t\t\t\t{\n\t\t\t\t\t\toverlay: $elm$browser$Debugger$Overlay$badMetadata(error)\n\t\t\t\t\t}),\n\t\t\t\t$elm$core$Platform$Cmd$none);\n\t\t}\n\t});\nvar $elm$browser$Debugger$Main$wrapUpdate = F3(\n\tfunction (update, msg, model) {\n\t\twrapUpdate:\n\t\twhile (true) {\n\t\t\tswitch (msg.$) {\n\t\t\t\tcase 'NoOp':\n\t\t\t\t\treturn _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);\n\t\t\t\tcase 'UserMsg':\n\t\t\t\t\tvar userMsg = msg.a;\n\t\t\t\t\tvar userModel = $elm$browser$Debugger$Main$getLatestModel(model.state);\n\t\t\t\t\tvar newHistory = A3($elm$browser$Debugger$History$add, userMsg, userModel, model.history);\n\t\t\t\t\tvar _v1 = A2(update, userMsg, userModel);\n\t\t\t\t\tvar newUserModel = _v1.a;\n\t\t\t\t\tvar userCmds = _v1.b;\n\t\t\t\t\tvar commands = A2($elm$core$Platform$Cmd$map, $elm$browser$Debugger$Main$UserMsg, userCmds);\n\t\t\t\t\tvar _v2 = model.state;\n\t\t\t\t\tif (_v2.$ === 'Running') {\n\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t_Utils_update(\n\t\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\texpandoModel: A2($elm$browser$Debugger$Expando$merge, newUserModel, model.expandoModel),\n\t\t\t\t\t\t\t\t\texpandoMsg: A2($elm$browser$Debugger$Expando$merge, userMsg, model.expandoMsg),\n\t\t\t\t\t\t\t\t\thistory: newHistory,\n\t\t\t\t\t\t\t\t\tstate: $elm$browser$Debugger$Main$Running(newUserModel)\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t$elm$core$Platform$Cmd$batch(\n\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\tcommands,\n\t\t\t\t\t\t\t\t\t\t$elm$browser$Debugger$Main$scroll(model.popout)\n\t\t\t\t\t\t\t\t\t])));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar index = _v2.a;\n\t\t\t\t\t\tvar indexModel = _v2.b;\n\t\t\t\t\t\tvar history = _v2.e;\n\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t_Utils_update(\n\t\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\thistory: newHistory,\n\t\t\t\t\t\t\t\t\tstate: A5($elm$browser$Debugger$Main$Paused, index, indexModel, newUserModel, userMsg, history)\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tcommands);\n\t\t\t\t\t}\n\t\t\t\tcase 'TweakExpandoMsg':\n\t\t\t\t\tvar eMsg = msg.a;\n\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t_Utils_update(\n\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\texpandoMsg: A2($elm$browser$Debugger$Expando$update, eMsg, model.expandoMsg)\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t$elm$core$Platform$Cmd$none);\n\t\t\t\tcase 'TweakExpandoModel':\n\t\t\t\t\tvar eMsg = msg.a;\n\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t_Utils_update(\n\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\texpandoModel: A2($elm$browser$Debugger$Expando$update, eMsg, model.expandoModel)\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t$elm$core$Platform$Cmd$none);\n\t\t\t\tcase 'Resume':\n\t\t\t\t\tvar _v3 = model.state;\n\t\t\t\t\tif (_v3.$ === 'Running') {\n\t\t\t\t\t\treturn _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar userModel = _v3.c;\n\t\t\t\t\t\tvar userMsg = _v3.d;\n\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t_Utils_update(\n\t\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\texpandoModel: A2($elm$browser$Debugger$Expando$merge, userModel, model.expandoModel),\n\t\t\t\t\t\t\t\t\texpandoMsg: A2($elm$browser$Debugger$Expando$merge, userMsg, model.expandoMsg),\n\t\t\t\t\t\t\t\t\tstate: $elm$browser$Debugger$Main$Running(userModel)\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t$elm$browser$Debugger$Main$scroll(model.popout));\n\t\t\t\t\t}\n\t\t\t\tcase 'Jump':\n\t\t\t\t\tvar index = msg.a;\n\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\tA3($elm$browser$Debugger$Main$jumpUpdate, update, index, model),\n\t\t\t\t\t\t$elm$core$Platform$Cmd$none);\n\t\t\t\tcase 'SliderJump':\n\t\t\t\t\tvar index = msg.a;\n\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\tA3($elm$browser$Debugger$Main$jumpUpdate, update, index, model),\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$browser$Debugger$Main$scrollTo,\n\t\t\t\t\t\t\t$elm$browser$Debugger$History$idForMessageIndex(index),\n\t\t\t\t\t\t\tmodel.popout));\n\t\t\t\tcase 'Open':\n\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$core$Task$perform,\n\t\t\t\t\t\t\t$elm$core$Basics$always($elm$browser$Debugger$Main$NoOp),\n\t\t\t\t\t\t\t_Debugger_open(model.popout)));\n\t\t\t\tcase 'Up':\n\t\t\t\t\tvar _v4 = model.state;\n\t\t\t\t\tif (_v4.$ === 'Running') {\n\t\t\t\t\t\treturn _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar i = _v4.a;\n\t\t\t\t\t\tvar history = _v4.e;\n\t\t\t\t\t\tvar targetIndex = i + 1;\n\t\t\t\t\t\tif (_Utils_cmp(\n\t\t\t\t\t\t\ttargetIndex,\n\t\t\t\t\t\t\t$elm$browser$Debugger$History$size(history)) < 0) {\n\t\t\t\t\t\t\tvar $temp$update = update,\n\t\t\t\t\t\t\t\t$temp$msg = $elm$browser$Debugger$Main$SliderJump(targetIndex),\n\t\t\t\t\t\t\t\t$temp$model = model;\n\t\t\t\t\t\t\tupdate = $temp$update;\n\t\t\t\t\t\t\tmsg = $temp$msg;\n\t\t\t\t\t\t\tmodel = $temp$model;\n\t\t\t\t\t\t\tcontinue wrapUpdate;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar $temp$update = update,\n\t\t\t\t\t\t\t\t$temp$msg = $elm$browser$Debugger$Main$Resume,\n\t\t\t\t\t\t\t\t$temp$model = model;\n\t\t\t\t\t\t\tupdate = $temp$update;\n\t\t\t\t\t\t\tmsg = $temp$msg;\n\t\t\t\t\t\t\tmodel = $temp$model;\n\t\t\t\t\t\t\tcontinue wrapUpdate;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\tcase 'Down':\n\t\t\t\t\tvar _v5 = model.state;\n\t\t\t\t\tif (_v5.$ === 'Running') {\n\t\t\t\t\t\tvar $temp$update = update,\n\t\t\t\t\t\t\t$temp$msg = $elm$browser$Debugger$Main$Jump(\n\t\t\t\t\t\t\t$elm$browser$Debugger$History$size(model.history) - 1),\n\t\t\t\t\t\t\t$temp$model = model;\n\t\t\t\t\t\tupdate = $temp$update;\n\t\t\t\t\t\tmsg = $temp$msg;\n\t\t\t\t\t\tmodel = $temp$model;\n\t\t\t\t\t\tcontinue wrapUpdate;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar index = _v5.a;\n\t\t\t\t\t\tif (index > 0) {\n\t\t\t\t\t\t\tvar $temp$update = update,\n\t\t\t\t\t\t\t\t$temp$msg = $elm$browser$Debugger$Main$SliderJump(index - 1),\n\t\t\t\t\t\t\t\t$temp$model = model;\n\t\t\t\t\t\t\tupdate = $temp$update;\n\t\t\t\t\t\t\tmsg = $temp$msg;\n\t\t\t\t\t\t\tmodel = $temp$model;\n\t\t\t\t\t\t\tcontinue wrapUpdate;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\tcase 'Import':\n\t\t\t\t\treturn A2(\n\t\t\t\t\t\t$elm$browser$Debugger$Main$withGoodMetadata,\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\tfunction (_v6) {\n\t\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\t\t$elm$browser$Debugger$Main$upload(model.popout));\n\t\t\t\t\t\t});\n\t\t\t\tcase 'Export':\n\t\t\t\t\treturn A2(\n\t\t\t\t\t\t$elm$browser$Debugger$Main$withGoodMetadata,\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\tfunction (metadata) {\n\t\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\t\tA2($elm$browser$Debugger$Main$download, metadata, model.history));\n\t\t\t\t\t\t});\n\t\t\t\tcase 'Upload':\n\t\t\t\t\tvar jsonString = msg.a;\n\t\t\t\t\treturn A2(\n\t\t\t\t\t\t$elm$browser$Debugger$Main$withGoodMetadata,\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\tfunction (metadata) {\n\t\t\t\t\t\t\tvar _v7 = A2($elm$browser$Debugger$Overlay$assessImport, metadata, jsonString);\n\t\t\t\t\t\t\tif (_v7.$ === 'Err') {\n\t\t\t\t\t\t\t\tvar newOverlay = _v7.a;\n\t\t\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t\t\t_Utils_update(\n\t\t\t\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\t\t\t\t{overlay: newOverlay}),\n\t\t\t\t\t\t\t\t\t$elm$core$Platform$Cmd$none);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tvar rawHistory = _v7.a;\n\t\t\t\t\t\t\t\treturn A3($elm$browser$Debugger$Main$loadNewHistory, rawHistory, update, model);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\tcase 'OverlayMsg':\n\t\t\t\t\tvar overlayMsg = msg.a;\n\t\t\t\t\tvar _v8 = A2($elm$browser$Debugger$Overlay$close, overlayMsg, model.overlay);\n\t\t\t\t\tif (_v8.$ === 'Nothing') {\n\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t_Utils_update(\n\t\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\t\t{overlay: $elm$browser$Debugger$Overlay$none}),\n\t\t\t\t\t\t\t$elm$core$Platform$Cmd$none);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar rawHistory = _v8.a;\n\t\t\t\t\t\treturn A3($elm$browser$Debugger$Main$loadNewHistory, rawHistory, update, model);\n\t\t\t\t\t}\n\t\t\t\tcase 'SwapLayout':\n\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t_Utils_update(\n\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlayout: $elm$browser$Debugger$Main$swapLayout(model.layout)\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t$elm$core$Platform$Cmd$none);\n\t\t\t\tcase 'DragStart':\n\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t_Utils_update(\n\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlayout: A2($elm$browser$Debugger$Main$setDragStatus, $elm$browser$Debugger$Main$Moving, model.layout)\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t$elm$core$Platform$Cmd$none);\n\t\t\t\tcase 'Drag':\n\t\t\t\t\tvar info = msg.a;\n\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t_Utils_update(\n\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlayout: A2($elm$browser$Debugger$Main$drag, info, model.layout)\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t$elm$core$Platform$Cmd$none);\n\t\t\t\tdefault:\n\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t_Utils_update(\n\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlayout: A2($elm$browser$Debugger$Main$setDragStatus, $elm$browser$Debugger$Main$Static, model.layout)\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t$elm$core$Platform$Cmd$none);\n\t\t\t}\n\t\t}\n\t});\nvar $elm$browser$Browser$External = function (a) {\n\treturn {$: 'External', a: a};\n};\nvar $elm$browser$Browser$Internal = function (a) {\n\treturn {$: 'Internal', a: a};\n};\nvar $elm$browser$Browser$Dom$NotFound = function (a) {\n\treturn {$: 'NotFound', a: a};\n};\nvar $elm$url$Url$Http = {$: 'Http'};\nvar $elm$url$Url$Https = {$: 'Https'};\nvar $elm$url$Url$Url = F6(\n\tfunction (protocol, host, port_, path, query, fragment) {\n\t\treturn {fragment: fragment, host: host, path: path, port_: port_, protocol: protocol, query: query};\n\t});\nvar $elm$core$String$dropLeft = F2(\n\tfunction (n, string) {\n\t\treturn (n < 1) ? string : A3(\n\t\t\t$elm$core$String$slice,\n\t\t\tn,\n\t\t\t$elm$core$String$length(string),\n\t\t\tstring);\n\t});\nvar $elm$core$String$indexes = _String_indexes;\nvar $elm$core$String$isEmpty = function (string) {\n\treturn string === '';\n};\nvar $elm$url$Url$chompBeforePath = F5(\n\tfunction (protocol, path, params, frag, str) {\n\t\tif ($elm$core$String$isEmpty(str) || A2($elm$core$String$contains, '@', str)) {\n\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t} else {\n\t\t\tvar _v0 = A2($elm$core$String$indexes, ':', str);\n\t\t\tif (!_v0.b) {\n\t\t\t\treturn $elm$core$Maybe$Just(\n\t\t\t\t\tA6($elm$url$Url$Url, protocol, str, $elm$core$Maybe$Nothing, path, params, frag));\n\t\t\t} else {\n\t\t\t\tif (!_v0.b.b) {\n\t\t\t\t\tvar i = _v0.a;\n\t\t\t\t\tvar _v1 = $elm$core$String$toInt(\n\t\t\t\t\t\tA2($elm$core$String$dropLeft, i + 1, str));\n\t\t\t\t\tif (_v1.$ === 'Nothing') {\n\t\t\t\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar port_ = _v1;\n\t\t\t\t\t\treturn $elm$core$Maybe$Just(\n\t\t\t\t\t\t\tA6(\n\t\t\t\t\t\t\t\t$elm$url$Url$Url,\n\t\t\t\t\t\t\t\tprotocol,\n\t\t\t\t\t\t\t\tA2($elm$core$String$left, i, str),\n\t\t\t\t\t\t\t\tport_,\n\t\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\t\tparams,\n\t\t\t\t\t\t\t\tfrag));\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\nvar $elm$url$Url$chompBeforeQuery = F4(\n\tfunction (protocol, params, frag, str) {\n\t\tif ($elm$core$String$isEmpty(str)) {\n\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t} else {\n\t\t\tvar _v0 = A2($elm$core$String$indexes, '/', str);\n\t\t\tif (!_v0.b) {\n\t\t\t\treturn A5($elm$url$Url$chompBeforePath, protocol, '/', params, frag, str);\n\t\t\t} else {\n\t\t\t\tvar i = _v0.a;\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$url$Url$chompBeforePath,\n\t\t\t\t\tprotocol,\n\t\t\t\t\tA2($elm$core$String$dropLeft, i, str),\n\t\t\t\t\tparams,\n\t\t\t\t\tfrag,\n\t\t\t\t\tA2($elm$core$String$left, i, str));\n\t\t\t}\n\t\t}\n\t});\nvar $elm$url$Url$chompBeforeFragment = F3(\n\tfunction (protocol, frag, str) {\n\t\tif ($elm$core$String$isEmpty(str)) {\n\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t} else {\n\t\t\tvar _v0 = A2($elm$core$String$indexes, '?', str);\n\t\t\tif (!_v0.b) {\n\t\t\t\treturn A4($elm$url$Url$chompBeforeQuery, protocol, $elm$core$Maybe$Nothing, frag, str);\n\t\t\t} else {\n\t\t\t\tvar i = _v0.a;\n\t\t\t\treturn A4(\n\t\t\t\t\t$elm$url$Url$chompBeforeQuery,\n\t\t\t\t\tprotocol,\n\t\t\t\t\t$elm$core$Maybe$Just(\n\t\t\t\t\t\tA2($elm$core$String$dropLeft, i + 1, str)),\n\t\t\t\t\tfrag,\n\t\t\t\t\tA2($elm$core$String$left, i, str));\n\t\t\t}\n\t\t}\n\t});\nvar $elm$url$Url$chompAfterProtocol = F2(\n\tfunction (protocol, str) {\n\t\tif ($elm$core$String$isEmpty(str)) {\n\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t} else {\n\t\t\tvar _v0 = A2($elm$core$String$indexes, '#', str);\n\t\t\tif (!_v0.b) {\n\t\t\t\treturn A3($elm$url$Url$chompBeforeFragment, protocol, $elm$core$Maybe$Nothing, str);\n\t\t\t} else {\n\t\t\t\tvar i = _v0.a;\n\t\t\t\treturn A3(\n\t\t\t\t\t$elm$url$Url$chompBeforeFragment,\n\t\t\t\t\tprotocol,\n\t\t\t\t\t$elm$core$Maybe$Just(\n\t\t\t\t\t\tA2($elm$core$String$dropLeft, i + 1, str)),\n\t\t\t\t\tA2($elm$core$String$left, i, str));\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$String$startsWith = _String_startsWith;\nvar $elm$url$Url$fromString = function (str) {\n\treturn A2($elm$core$String$startsWith, 'http://', str) ? A2(\n\t\t$elm$url$Url$chompAfterProtocol,\n\t\t$elm$url$Url$Http,\n\t\tA2($elm$core$String$dropLeft, 7, str)) : (A2($elm$core$String$startsWith, 'https://', str) ? A2(\n\t\t$elm$url$Url$chompAfterProtocol,\n\t\t$elm$url$Url$Https,\n\t\tA2($elm$core$String$dropLeft, 8, str)) : $elm$core$Maybe$Nothing);\n};\nvar $elm$core$Basics$never = function (_v0) {\n\tnever:\n\twhile (true) {\n\t\tvar nvr = _v0.a;\n\t\tvar $temp$_v0 = nvr;\n\t\t_v0 = $temp$_v0;\n\t\tcontinue never;\n\t}\n};\nvar $elm$browser$Browser$application = _Browser_application;\nvar $author$project$Main$Model = F2(\n\tfunction (shared, page) {\n\t\treturn {page: page, shared: shared};\n\t});\nvar $author$project$Main$Pages = function (a) {\n\treturn {$: 'Pages', a: a};\n};\nvar $author$project$Main$Shared = function (a) {\n\treturn {$: 'Shared', a: a};\n};\nvar $author$project$Spa$Generated$Route$NotFound = {$: 'NotFound'};\nvar $elm$url$Url$Parser$State = F5(\n\tfunction (visited, unvisited, params, frag, value) {\n\t\treturn {frag: frag, params: params, unvisited: unvisited, value: value, visited: visited};\n\t});\nvar $elm$url$Url$Parser$getFirstMatch = function (states) {\n\tgetFirstMatch:\n\twhile (true) {\n\t\tif (!states.b) {\n\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t} else {\n\t\t\tvar state = states.a;\n\t\t\tvar rest = states.b;\n\t\t\tvar _v1 = state.unvisited;\n\t\t\tif (!_v1.b) {\n\t\t\t\treturn $elm$core$Maybe$Just(state.value);\n\t\t\t} else {\n\t\t\t\tif ((_v1.a === '') && (!_v1.b.b)) {\n\t\t\t\t\treturn $elm$core$Maybe$Just(state.value);\n\t\t\t\t} else {\n\t\t\t\t\tvar $temp$states = rest;\n\t\t\t\t\tstates = $temp$states;\n\t\t\t\t\tcontinue getFirstMatch;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\nvar $elm$url$Url$Parser$removeFinalEmpty = function (segments) {\n\tif (!segments.b) {\n\t\treturn _List_Nil;\n\t} else {\n\t\tif ((segments.a === '') && (!segments.b.b)) {\n\t\t\treturn _List_Nil;\n\t\t} else {\n\t\t\tvar segment = segments.a;\n\t\t\tvar rest = segments.b;\n\t\t\treturn A2(\n\t\t\t\t$elm$core$List$cons,\n\t\t\t\tsegment,\n\t\t\t\t$elm$url$Url$Parser$removeFinalEmpty(rest));\n\t\t}\n\t}\n};\nvar $elm$url$Url$Parser$preparePath = function (path) {\n\tvar _v0 = A2($elm$core$String$split, '/', path);\n\tif (_v0.b && (_v0.a === '')) {\n\t\tvar segments = _v0.b;\n\t\treturn $elm$url$Url$Parser$removeFinalEmpty(segments);\n\t} else {\n\t\tvar segments = _v0;\n\t\treturn $elm$url$Url$Parser$removeFinalEmpty(segments);\n\t}\n};\nvar $elm$url$Url$Parser$addToParametersHelp = F2(\n\tfunction (value, maybeList) {\n\t\tif (maybeList.$ === 'Nothing') {\n\t\t\treturn $elm$core$Maybe$Just(\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[value]));\n\t\t} else {\n\t\t\tvar list = maybeList.a;\n\t\t\treturn $elm$core$Maybe$Just(\n\t\t\t\tA2($elm$core$List$cons, value, list));\n\t\t}\n\t});\nvar $elm$url$Url$percentDecode = _Url_percentDecode;\nvar $elm$url$Url$Parser$addParam = F2(\n\tfunction (segment, dict) {\n\t\tvar _v0 = A2($elm$core$String$split, '=', segment);\n\t\tif ((_v0.b && _v0.b.b) && (!_v0.b.b.b)) {\n\t\t\tvar rawKey = _v0.a;\n\t\t\tvar _v1 = _v0.b;\n\t\t\tvar rawValue = _v1.a;\n\t\t\tvar _v2 = $elm$url$Url$percentDecode(rawKey);\n\t\t\tif (_v2.$ === 'Nothing') {\n\t\t\t\treturn dict;\n\t\t\t} else {\n\t\t\t\tvar key = _v2.a;\n\t\t\t\tvar _v3 = $elm$url$Url$percentDecode(rawValue);\n\t\t\t\tif (_v3.$ === 'Nothing') {\n\t\t\t\t\treturn dict;\n\t\t\t\t} else {\n\t\t\t\t\tvar value = _v3.a;\n\t\t\t\t\treturn A3(\n\t\t\t\t\t\t$elm$core$Dict$update,\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\t$elm$url$Url$Parser$addToParametersHelp(value),\n\t\t\t\t\t\tdict);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\treturn dict;\n\t\t}\n\t});\nvar $elm$url$Url$Parser$prepareQuery = function (maybeQuery) {\n\tif (maybeQuery.$ === 'Nothing') {\n\t\treturn $elm$core$Dict$empty;\n\t} else {\n\t\tvar qry = maybeQuery.a;\n\t\treturn A3(\n\t\t\t$elm$core$List$foldr,\n\t\t\t$elm$url$Url$Parser$addParam,\n\t\t\t$elm$core$Dict$empty,\n\t\t\tA2($elm$core$String$split, '&', qry));\n\t}\n};\nvar $elm$url$Url$Parser$parse = F2(\n\tfunction (_v0, url) {\n\t\tvar parser = _v0.a;\n\t\treturn $elm$url$Url$Parser$getFirstMatch(\n\t\t\tparser(\n\t\t\t\tA5(\n\t\t\t\t\t$elm$url$Url$Parser$State,\n\t\t\t\t\t_List_Nil,\n\t\t\t\t\t$elm$url$Url$Parser$preparePath(url.path),\n\t\t\t\t\t$elm$url$Url$Parser$prepareQuery(url.query),\n\t\t\t\t\turl.fragment,\n\t\t\t\t\t$elm$core$Basics$identity)));\n\t});\nvar $author$project$Spa$Generated$Route$ExamplePage = {$: 'ExamplePage'};\nvar $author$project$Spa$Generated$Route$Top = {$: 'Top'};\nvar $elm$url$Url$Parser$Parser = function (a) {\n\treturn {$: 'Parser', a: a};\n};\nvar $elm$url$Url$Parser$mapState = F2(\n\tfunction (func, _v0) {\n\t\tvar visited = _v0.visited;\n\t\tvar unvisited = _v0.unvisited;\n\t\tvar params = _v0.params;\n\t\tvar frag = _v0.frag;\n\t\tvar value = _v0.value;\n\t\treturn A5(\n\t\t\t$elm$url$Url$Parser$State,\n\t\t\tvisited,\n\t\t\tunvisited,\n\t\t\tparams,\n\t\t\tfrag,\n\t\t\tfunc(value));\n\t});\nvar $elm$url$Url$Parser$map = F2(\n\tfunction (subValue, _v0) {\n\t\tvar parseArg = _v0.a;\n\t\treturn $elm$url$Url$Parser$Parser(\n\t\t\tfunction (_v1) {\n\t\t\t\tvar visited = _v1.visited;\n\t\t\t\tvar unvisited = _v1.unvisited;\n\t\t\t\tvar params = _v1.params;\n\t\t\t\tvar frag = _v1.frag;\n\t\t\t\tvar value = _v1.value;\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$core$List$map,\n\t\t\t\t\t$elm$url$Url$Parser$mapState(value),\n\t\t\t\t\tparseArg(\n\t\t\t\t\t\tA5($elm$url$Url$Parser$State, visited, unvisited, params, frag, subValue)));\n\t\t\t});\n\t});\nvar $elm$url$Url$Parser$oneOf = function (parsers) {\n\treturn $elm$url$Url$Parser$Parser(\n\t\tfunction (state) {\n\t\t\treturn A2(\n\t\t\t\t$elm$core$List$concatMap,\n\t\t\t\tfunction (_v0) {\n\t\t\t\t\tvar parser = _v0.a;\n\t\t\t\t\treturn parser(state);\n\t\t\t\t},\n\t\t\t\tparsers);\n\t\t});\n};\nvar $elm$url$Url$Parser$s = function (str) {\n\treturn $elm$url$Url$Parser$Parser(\n\t\tfunction (_v0) {\n\t\t\tvar visited = _v0.visited;\n\t\t\tvar unvisited = _v0.unvisited;\n\t\t\tvar params = _v0.params;\n\t\t\tvar frag = _v0.frag;\n\t\t\tvar value = _v0.value;\n\t\t\tif (!unvisited.b) {\n\t\t\t\treturn _List_Nil;\n\t\t\t} else {\n\t\t\t\tvar next = unvisited.a;\n\t\t\t\tvar rest = unvisited.b;\n\t\t\t\treturn _Utils_eq(next, str) ? _List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\tA5(\n\t\t\t\t\t\t$elm$url$Url$Parser$State,\n\t\t\t\t\t\tA2($elm$core$List$cons, next, visited),\n\t\t\t\t\t\trest,\n\t\t\t\t\t\tparams,\n\t\t\t\t\t\tfrag,\n\t\t\t\t\t\tvalue)\n\t\t\t\t\t]) : _List_Nil;\n\t\t\t}\n\t\t});\n};\nvar $elm$url$Url$Parser$top = $elm$url$Url$Parser$Parser(\n\tfunction (state) {\n\t\treturn _List_fromArray(\n\t\t\t[state]);\n\t});\nvar $author$project$Spa$Generated$Route$routes = $elm$url$Url$Parser$oneOf(\n\t_List_fromArray(\n\t\t[\n\t\t\tA2($elm$url$Url$Parser$map, $author$project$Spa$Generated$Route$Top, $elm$url$Url$Parser$top),\n\t\t\tA2(\n\t\t\t$elm$url$Url$Parser$map,\n\t\t\t$author$project$Spa$Generated$Route$ExamplePage,\n\t\t\t$elm$url$Url$Parser$s('example-page')),\n\t\t\tA2(\n\t\t\t$elm$url$Url$Parser$map,\n\t\t\t$author$project$Spa$Generated$Route$NotFound,\n\t\t\t$elm$url$Url$Parser$s('not-found'))\n\t\t]));\nvar $author$project$Spa$Generated$Route$fromUrl = $elm$url$Url$Parser$parse($author$project$Spa$Generated$Route$routes);\nvar $author$project$Main$fromUrl = A2(\n\t$elm$core$Basics$composeR,\n\t$author$project$Spa$Generated$Route$fromUrl,\n\t$elm$core$Maybe$withDefault($author$project$Spa$Generated$Route$NotFound));\nvar $author$project$Shared$Model = F2(\n\tfunction (url, key) {\n\t\treturn {key: key, url: url};\n\t});\nvar $author$project$Shared$init = F3(\n\tfunction (flags, url, key) {\n\t\treturn _Utils_Tuple2(\n\t\t\tA2($author$project$Shared$Model, url, key),\n\t\t\t$elm$core$Platform$Cmd$none);\n\t});\nvar $author$project$Spa$Generated$Pages$ExamplePage__Model = function (a) {\n\treturn {$: 'ExamplePage__Model', a: a};\n};\nvar $author$project$Spa$Generated$Pages$ExamplePage__Msg = function (a) {\n\treturn {$: 'ExamplePage__Msg', a: a};\n};\nvar $author$project$Spa$Generated$Pages$NotFound__Model = function (a) {\n\treturn {$: 'NotFound__Model', a: a};\n};\nvar $author$project$Spa$Generated$Pages$NotFound__Msg = function (a) {\n\treturn {$: 'NotFound__Msg', a: a};\n};\nvar $author$project$Spa$Generated$Pages$Top__Model = function (a) {\n\treturn {$: 'Top__Model', a: a};\n};\nvar $author$project$Spa$Generated$Pages$Top__Msg = function (a) {\n\treturn {$: 'Top__Msg', a: a};\n};\nvar $author$project$Spa$Page$ignoreEffect = function (model) {\n\treturn _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);\n};\nvar $elm$core$Platform$Sub$batch = _Platform_batch;\nvar $elm$core$Platform$Sub$none = $elm$core$Platform$Sub$batch(_List_Nil);\nvar $author$project$Spa$Page$static = function (page) {\n\treturn {\n\t\tinit: F2(\n\t\t\tfunction (_v0, url) {\n\t\t\t\treturn _Utils_Tuple2(url, $elm$core$Platform$Cmd$none);\n\t\t\t}),\n\t\tload: $elm$core$Basics$always(\n\t\t\tA2($elm$core$Basics$composeR, $elm$core$Basics$identity, $author$project$Spa$Page$ignoreEffect)),\n\t\tsave: $elm$core$Basics$always($elm$core$Basics$identity),\n\t\tsubscriptions: function (_v1) {\n\t\t\treturn $elm$core$Platform$Sub$none;\n\t\t},\n\t\tupdate: F2(\n\t\t\tfunction (_v2, model) {\n\t\t\t\treturn _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);\n\t\t\t}),\n\t\tview: page.view\n\t};\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Column = function (a) {\n\treturn {$: 'Column', a: a};\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$col = F2(\n\tfunction (options, children) {\n\t\treturn $rundis$elm_bootstrap$Bootstrap$Grid$Column(\n\t\t\t{children: children, options: options});\n\t});\nvar $rundis$elm_bootstrap$Bootstrap$Grid$container = F2(\n\tfunction (attributes, children) {\n\t\treturn A2(\n\t\t\t$elm$html$Html$div,\n\t\t\t_Utils_ap(\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\t$elm$html$Html$Attributes$class('container')\n\t\t\t\t\t]),\n\t\t\t\tattributes),\n\t\t\tchildren);\n\t});\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$Col = {$: 'Col'};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$Width = F2(\n\tfunction (screenSize, columnCount) {\n\t\treturn {columnCount: columnCount, screenSize: screenSize};\n\t});\nvar $rundis$elm_bootstrap$Bootstrap$General$Internal$XS = {$: 'XS'};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyColAlign = F2(\n\tfunction (align_, options) {\n\t\tvar _v0 = align_.screenSize;\n\t\tswitch (_v0.$) {\n\t\t\tcase 'XS':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\talignXs: $elm$core$Maybe$Just(align_)\n\t\t\t\t\t});\n\t\t\tcase 'SM':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\talignSm: $elm$core$Maybe$Just(align_)\n\t\t\t\t\t});\n\t\t\tcase 'MD':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\talignMd: $elm$core$Maybe$Just(align_)\n\t\t\t\t\t});\n\t\t\tcase 'LG':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\talignLg: $elm$core$Maybe$Just(align_)\n\t\t\t\t\t});\n\t\t\tdefault:\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\talignXl: $elm$core$Maybe$Just(align_)\n\t\t\t\t\t});\n\t\t}\n\t});\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyColOffset = F2(\n\tfunction (offset_, options) {\n\t\tvar _v0 = offset_.screenSize;\n\t\tswitch (_v0.$) {\n\t\t\tcase 'XS':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\toffsetXs: $elm$core$Maybe$Just(offset_)\n\t\t\t\t\t});\n\t\t\tcase 'SM':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\toffsetSm: $elm$core$Maybe$Just(offset_)\n\t\t\t\t\t});\n\t\t\tcase 'MD':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\toffsetMd: $elm$core$Maybe$Just(offset_)\n\t\t\t\t\t});\n\t\t\tcase 'LG':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\toffsetLg: $elm$core$Maybe$Just(offset_)\n\t\t\t\t\t});\n\t\t\tdefault:\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\toffsetXl: $elm$core$Maybe$Just(offset_)\n\t\t\t\t\t});\n\t\t}\n\t});\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyColOrder = F2(\n\tfunction (order_, options) {\n\t\tvar _v0 = order_.screenSize;\n\t\tswitch (_v0.$) {\n\t\t\tcase 'XS':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\torderXs: $elm$core$Maybe$Just(order_)\n\t\t\t\t\t});\n\t\t\tcase 'SM':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\torderSm: $elm$core$Maybe$Just(order_)\n\t\t\t\t\t});\n\t\t\tcase 'MD':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\torderMd: $elm$core$Maybe$Just(order_)\n\t\t\t\t\t});\n\t\t\tcase 'LG':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\torderLg: $elm$core$Maybe$Just(order_)\n\t\t\t\t\t});\n\t\t\tdefault:\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\torderXl: $elm$core$Maybe$Just(order_)\n\t\t\t\t\t});\n\t\t}\n\t});\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyColPull = F2(\n\tfunction (pull_, options) {\n\t\tvar _v0 = pull_.screenSize;\n\t\tswitch (_v0.$) {\n\t\t\tcase 'XS':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\tpullXs: $elm$core$Maybe$Just(pull_)\n\t\t\t\t\t});\n\t\t\tcase 'SM':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\tpullSm: $elm$core$Maybe$Just(pull_)\n\t\t\t\t\t});\n\t\t\tcase 'MD':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\tpullMd: $elm$core$Maybe$Just(pull_)\n\t\t\t\t\t});\n\t\t\tcase 'LG':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\tpullLg: $elm$core$Maybe$Just(pull_)\n\t\t\t\t\t});\n\t\t\tdefault:\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\tpullXl: $elm$core$Maybe$Just(pull_)\n\t\t\t\t\t});\n\t\t}\n\t});\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyColPush = F2(\n\tfunction (push_, options) {\n\t\tvar _v0 = push_.screenSize;\n\t\tswitch (_v0.$) {\n\t\t\tcase 'XS':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\tpushXs: $elm$core$Maybe$Just(push_)\n\t\t\t\t\t});\n\t\t\tcase 'SM':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\tpushSm: $elm$core$Maybe$Just(push_)\n\t\t\t\t\t});\n\t\t\tcase 'MD':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\tpushMd: $elm$core$Maybe$Just(push_)\n\t\t\t\t\t});\n\t\t\tcase 'LG':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\tpushLg: $elm$core$Maybe$Just(push_)\n\t\t\t\t\t});\n\t\t\tdefault:\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\tpushXl: $elm$core$Maybe$Just(push_)\n\t\t\t\t\t});\n\t\t}\n\t});\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyColWidth = F2(\n\tfunction (width_, options) {\n\t\tvar _v0 = width_.screenSize;\n\t\tswitch (_v0.$) {\n\t\t\tcase 'XS':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\twidthXs: $elm$core$Maybe$Just(width_)\n\t\t\t\t\t});\n\t\t\tcase 'SM':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\twidthSm: $elm$core$Maybe$Just(width_)\n\t\t\t\t\t});\n\t\t\tcase 'MD':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\twidthMd: $elm$core$Maybe$Just(width_)\n\t\t\t\t\t});\n\t\t\tcase 'LG':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\twidthLg: $elm$core$Maybe$Just(width_)\n\t\t\t\t\t});\n\t\t\tdefault:\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\twidthXl: $elm$core$Maybe$Just(width_)\n\t\t\t\t\t});\n\t\t}\n\t});\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyColOption = F2(\n\tfunction (modifier, options) {\n\t\tswitch (modifier.$) {\n\t\t\tcase 'ColAttrs':\n\t\t\t\tvar attrs = modifier.a;\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\tattributes: _Utils_ap(options.attributes, attrs)\n\t\t\t\t\t});\n\t\t\tcase 'ColWidth':\n\t\t\t\tvar width_ = modifier.a;\n\t\t\t\treturn A2($rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyColWidth, width_, options);\n\t\t\tcase 'ColOffset':\n\t\t\t\tvar offset_ = modifier.a;\n\t\t\t\treturn A2($rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyColOffset, offset_, options);\n\t\t\tcase 'ColPull':\n\t\t\t\tvar pull_ = modifier.a;\n\t\t\t\treturn A2($rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyColPull, pull_, options);\n\t\t\tcase 'ColPush':\n\t\t\t\tvar push_ = modifier.a;\n\t\t\t\treturn A2($rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyColPush, push_, options);\n\t\t\tcase 'ColOrder':\n\t\t\t\tvar order_ = modifier.a;\n\t\t\t\treturn A2($rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyColOrder, order_, options);\n\t\t\tcase 'ColAlign':\n\t\t\t\tvar align = modifier.a;\n\t\t\t\treturn A2($rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyColAlign, align, options);\n\t\t\tdefault:\n\t\t\t\tvar align = modifier.a;\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\ttextAlign: $elm$core$Maybe$Just(align)\n\t\t\t\t\t});\n\t\t}\n\t});\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$columnCountOption = function (size) {\n\tswitch (size.$) {\n\t\tcase 'Col':\n\t\t\treturn $elm$core$Maybe$Nothing;\n\t\tcase 'Col1':\n\t\t\treturn $elm$core$Maybe$Just('1');\n\t\tcase 'Col2':\n\t\t\treturn $elm$core$Maybe$Just('2');\n\t\tcase 'Col3':\n\t\t\treturn $elm$core$Maybe$Just('3');\n\t\tcase 'Col4':\n\t\t\treturn $elm$core$Maybe$Just('4');\n\t\tcase 'Col5':\n\t\t\treturn $elm$core$Maybe$Just('5');\n\t\tcase 'Col6':\n\t\t\treturn $elm$core$Maybe$Just('6');\n\t\tcase 'Col7':\n\t\t\treturn $elm$core$Maybe$Just('7');\n\t\tcase 'Col8':\n\t\t\treturn $elm$core$Maybe$Just('8');\n\t\tcase 'Col9':\n\t\t\treturn $elm$core$Maybe$Just('9');\n\t\tcase 'Col10':\n\t\t\treturn $elm$core$Maybe$Just('10');\n\t\tcase 'Col11':\n\t\t\treturn $elm$core$Maybe$Just('11');\n\t\tcase 'Col12':\n\t\t\treturn $elm$core$Maybe$Just('12');\n\t\tdefault:\n\t\t\treturn $elm$core$Maybe$Just('auto');\n\t}\n};\nvar $elm$core$Maybe$map = F2(\n\tfunction (f, maybe) {\n\t\tif (maybe.$ === 'Just') {\n\t\t\tvar value = maybe.a;\n\t\t\treturn $elm$core$Maybe$Just(\n\t\t\t\tf(value));\n\t\t} else {\n\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t}\n\t});\nvar $rundis$elm_bootstrap$Bootstrap$General$Internal$screenSizeOption = function (size) {\n\tswitch (size.$) {\n\t\tcase 'XS':\n\t\t\treturn $elm$core$Maybe$Nothing;\n\t\tcase 'SM':\n\t\t\treturn $elm$core$Maybe$Just('sm');\n\t\tcase 'MD':\n\t\t\treturn $elm$core$Maybe$Just('md');\n\t\tcase 'LG':\n\t\t\treturn $elm$core$Maybe$Just('lg');\n\t\tdefault:\n\t\t\treturn $elm$core$Maybe$Just('xl');\n\t}\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$colWidthClass = function (_v0) {\n\tvar screenSize = _v0.screenSize;\n\tvar columnCount = _v0.columnCount;\n\treturn $elm$html$Html$Attributes$class(\n\t\t'col' + (A2(\n\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t'',\n\t\t\tA2(\n\t\t\t\t$elm$core$Maybe$map,\n\t\t\t\tfunction (v) {\n\t\t\t\t\treturn '-' + v;\n\t\t\t\t},\n\t\t\t\t$rundis$elm_bootstrap$Bootstrap$General$Internal$screenSizeOption(screenSize))) + A2(\n\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t'',\n\t\t\tA2(\n\t\t\t\t$elm$core$Maybe$map,\n\t\t\t\tfunction (v) {\n\t\t\t\t\treturn '-' + v;\n\t\t\t\t},\n\t\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$Internal$columnCountOption(columnCount)))));\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$colWidthsToAttributes = function (widths) {\n\tvar width_ = function (w) {\n\t\treturn A2($elm$core$Maybe$map, $rundis$elm_bootstrap$Bootstrap$Grid$Internal$colWidthClass, w);\n\t};\n\treturn A2(\n\t\t$elm$core$List$filterMap,\n\t\t$elm$core$Basics$identity,\n\t\tA2($elm$core$List$map, width_, widths));\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$defaultColOptions = {alignLg: $elm$core$Maybe$Nothing, alignMd: $elm$core$Maybe$Nothing, alignSm: $elm$core$Maybe$Nothing, alignXl: $elm$core$Maybe$Nothing, alignXs: $elm$core$Maybe$Nothing, attributes: _List_Nil, offsetLg: $elm$core$Maybe$Nothing, offsetMd: $elm$core$Maybe$Nothing, offsetSm: $elm$core$Maybe$Nothing, offsetXl: $elm$core$Maybe$Nothing, offsetXs: $elm$core$Maybe$Nothing, orderLg: $elm$core$Maybe$Nothing, orderMd: $elm$core$Maybe$Nothing, orderSm: $elm$core$Maybe$Nothing, orderXl: $elm$core$Maybe$Nothing, orderXs: $elm$core$Maybe$Nothing, pullLg: $elm$core$Maybe$Nothing, pullMd: $elm$core$Maybe$Nothing, pullSm: $elm$core$Maybe$Nothing, pullXl: $elm$core$Maybe$Nothing, pullXs: $elm$core$Maybe$Nothing, pushLg: $elm$core$Maybe$Nothing, pushMd: $elm$core$Maybe$Nothing, pushSm: $elm$core$Maybe$Nothing, pushXl: $elm$core$Maybe$Nothing, pushXs: $elm$core$Maybe$Nothing, textAlign: $elm$core$Maybe$Nothing, widthLg: $elm$core$Maybe$Nothing, widthMd: $elm$core$Maybe$Nothing, widthSm: $elm$core$Maybe$Nothing, widthXl: $elm$core$Maybe$Nothing, widthXs: $elm$core$Maybe$Nothing};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$offsetCountOption = function (size) {\n\tswitch (size.$) {\n\t\tcase 'Offset0':\n\t\t\treturn '0';\n\t\tcase 'Offset1':\n\t\t\treturn '1';\n\t\tcase 'Offset2':\n\t\t\treturn '2';\n\t\tcase 'Offset3':\n\t\t\treturn '3';\n\t\tcase 'Offset4':\n\t\t\treturn '4';\n\t\tcase 'Offset5':\n\t\t\treturn '5';\n\t\tcase 'Offset6':\n\t\t\treturn '6';\n\t\tcase 'Offset7':\n\t\t\treturn '7';\n\t\tcase 'Offset8':\n\t\t\treturn '8';\n\t\tcase 'Offset9':\n\t\t\treturn '9';\n\t\tcase 'Offset10':\n\t\t\treturn '10';\n\t\tdefault:\n\t\t\treturn '11';\n\t}\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$screenSizeToPartialString = function (screenSize) {\n\tvar _v0 = $rundis$elm_bootstrap$Bootstrap$General$Internal$screenSizeOption(screenSize);\n\tif (_v0.$ === 'Just') {\n\t\tvar s = _v0.a;\n\t\treturn '-' + (s + '-');\n\t} else {\n\t\treturn '-';\n\t}\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$offsetClass = function (_v0) {\n\tvar screenSize = _v0.screenSize;\n\tvar offsetCount = _v0.offsetCount;\n\treturn $elm$html$Html$Attributes$class(\n\t\t'offset' + ($rundis$elm_bootstrap$Bootstrap$Grid$Internal$screenSizeToPartialString(screenSize) + $rundis$elm_bootstrap$Bootstrap$Grid$Internal$offsetCountOption(offsetCount)));\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$offsetsToAttributes = function (offsets) {\n\tvar offset_ = function (m) {\n\t\treturn A2($elm$core$Maybe$map, $rundis$elm_bootstrap$Bootstrap$Grid$Internal$offsetClass, m);\n\t};\n\treturn A2(\n\t\t$elm$core$List$filterMap,\n\t\t$elm$core$Basics$identity,\n\t\tA2($elm$core$List$map, offset_, offsets));\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$orderColOption = function (size) {\n\tswitch (size.$) {\n\t\tcase 'OrderFirst':\n\t\t\treturn 'first';\n\t\tcase 'Order1':\n\t\t\treturn '1';\n\t\tcase 'Order2':\n\t\t\treturn '2';\n\t\tcase 'Order3':\n\t\t\treturn '3';\n\t\tcase 'Order4':\n\t\t\treturn '4';\n\t\tcase 'Order5':\n\t\t\treturn '5';\n\t\tcase 'Order6':\n\t\t\treturn '6';\n\t\tcase 'Order7':\n\t\t\treturn '7';\n\t\tcase 'Order8':\n\t\t\treturn '8';\n\t\tcase 'Order9':\n\t\t\treturn '9';\n\t\tcase 'Order10':\n\t\t\treturn '10';\n\t\tcase 'Order11':\n\t\t\treturn '11';\n\t\tcase 'Order12':\n\t\t\treturn '12';\n\t\tdefault:\n\t\t\treturn 'last';\n\t}\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$orderToAttributes = function (orders) {\n\tvar order_ = function (m) {\n\t\tif (m.$ === 'Just') {\n\t\t\tvar screenSize = m.a.screenSize;\n\t\t\tvar moveCount = m.a.moveCount;\n\t\t\treturn $elm$core$Maybe$Just(\n\t\t\t\t$elm$html$Html$Attributes$class(\n\t\t\t\t\t'order' + ($rundis$elm_bootstrap$Bootstrap$Grid$Internal$screenSizeToPartialString(screenSize) + $rundis$elm_bootstrap$Bootstrap$Grid$Internal$orderColOption(moveCount))));\n\t\t} else {\n\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t}\n\t};\n\treturn A2(\n\t\t$elm$core$List$filterMap,\n\t\t$elm$core$Basics$identity,\n\t\tA2($elm$core$List$map, order_, orders));\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$moveCountOption = function (size) {\n\tswitch (size.$) {\n\t\tcase 'Move0':\n\t\t\treturn '0';\n\t\tcase 'Move1':\n\t\t\treturn '1';\n\t\tcase 'Move2':\n\t\t\treturn '2';\n\t\tcase 'Move3':\n\t\t\treturn '3';\n\t\tcase 'Move4':\n\t\t\treturn '4';\n\t\tcase 'Move5':\n\t\t\treturn '5';\n\t\tcase 'Move6':\n\t\t\treturn '6';\n\t\tcase 'Move7':\n\t\t\treturn '7';\n\t\tcase 'Move8':\n\t\t\treturn '8';\n\t\tcase 'Move9':\n\t\t\treturn '9';\n\t\tcase 'Move10':\n\t\t\treturn '10';\n\t\tcase 'Move11':\n\t\t\treturn '11';\n\t\tdefault:\n\t\t\treturn '12';\n\t}\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$pullsToAttributes = function (pulls) {\n\tvar pull_ = function (m) {\n\t\tif (m.$ === 'Just') {\n\t\t\tvar screenSize = m.a.screenSize;\n\t\t\tvar moveCount = m.a.moveCount;\n\t\t\treturn $elm$core$Maybe$Just(\n\t\t\t\t$elm$html$Html$Attributes$class(\n\t\t\t\t\t'pull' + ($rundis$elm_bootstrap$Bootstrap$Grid$Internal$screenSizeToPartialString(screenSize) + $rundis$elm_bootstrap$Bootstrap$Grid$Internal$moveCountOption(moveCount))));\n\t\t} else {\n\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t}\n\t};\n\treturn A2(\n\t\t$elm$core$List$filterMap,\n\t\t$elm$core$Basics$identity,\n\t\tA2($elm$core$List$map, pull_, pulls));\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$pushesToAttributes = function (pushes) {\n\tvar push_ = function (m) {\n\t\tif (m.$ === 'Just') {\n\t\t\tvar screenSize = m.a.screenSize;\n\t\t\tvar moveCount = m.a.moveCount;\n\t\t\treturn $elm$core$Maybe$Just(\n\t\t\t\t$elm$html$Html$Attributes$class(\n\t\t\t\t\t'push' + ($rundis$elm_bootstrap$Bootstrap$Grid$Internal$screenSizeToPartialString(screenSize) + $rundis$elm_bootstrap$Bootstrap$Grid$Internal$moveCountOption(moveCount))));\n\t\t} else {\n\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t}\n\t};\n\treturn A2(\n\t\t$elm$core$List$filterMap,\n\t\t$elm$core$Basics$identity,\n\t\tA2($elm$core$List$map, push_, pushes));\n};\nvar $rundis$elm_bootstrap$Bootstrap$Internal$Text$textAlignDirOption = function (dir) {\n\tswitch (dir.$) {\n\t\tcase 'Center':\n\t\t\treturn 'center';\n\t\tcase 'Left':\n\t\t\treturn 'left';\n\t\tdefault:\n\t\t\treturn 'right';\n\t}\n};\nvar $rundis$elm_bootstrap$Bootstrap$Internal$Text$textAlignClass = function (_v0) {\n\tvar dir = _v0.dir;\n\tvar size = _v0.size;\n\treturn $elm$html$Html$Attributes$class(\n\t\t'text' + (A2(\n\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t'-',\n\t\t\tA2(\n\t\t\t\t$elm$core$Maybe$map,\n\t\t\t\tfunction (s) {\n\t\t\t\t\treturn '-' + (s + '-');\n\t\t\t\t},\n\t\t\t\t$rundis$elm_bootstrap$Bootstrap$General$Internal$screenSizeOption(size))) + $rundis$elm_bootstrap$Bootstrap$Internal$Text$textAlignDirOption(dir)));\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$verticalAlignOption = function (align) {\n\tswitch (align.$) {\n\t\tcase 'Top':\n\t\t\treturn 'start';\n\t\tcase 'Middle':\n\t\t\treturn 'center';\n\t\tdefault:\n\t\t\treturn 'end';\n\t}\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$vAlignClass = F2(\n\tfunction (prefix, _v0) {\n\t\tvar align = _v0.align;\n\t\tvar screenSize = _v0.screenSize;\n\t\treturn $elm$html$Html$Attributes$class(\n\t\t\t_Utils_ap(\n\t\t\t\tprefix,\n\t\t\t\t_Utils_ap(\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t\t\t\t'',\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$core$Maybe$map,\n\t\t\t\t\t\t\tfunction (v) {\n\t\t\t\t\t\t\t\treturn v + '-';\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t$rundis$elm_bootstrap$Bootstrap$General$Internal$screenSizeOption(screenSize))),\n\t\t\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$Internal$verticalAlignOption(align))));\n\t});\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$vAlignsToAttributes = F2(\n\tfunction (prefix, aligns) {\n\t\tvar align = function (a) {\n\t\t\treturn A2(\n\t\t\t\t$elm$core$Maybe$map,\n\t\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$Internal$vAlignClass(prefix),\n\t\t\t\ta);\n\t\t};\n\t\treturn A2(\n\t\t\t$elm$core$List$filterMap,\n\t\t\t$elm$core$Basics$identity,\n\t\t\tA2($elm$core$List$map, align, aligns));\n\t});\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$colAttributes = function (modifiers) {\n\tvar options = A3($elm$core$List$foldl, $rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyColOption, $rundis$elm_bootstrap$Bootstrap$Grid$Internal$defaultColOptions, modifiers);\n\tvar shouldAddDefaultXs = !$elm$core$List$length(\n\t\tA2(\n\t\t\t$elm$core$List$filterMap,\n\t\t\t$elm$core$Basics$identity,\n\t\t\t_List_fromArray(\n\t\t\t\t[options.widthXs, options.widthSm, options.widthMd, options.widthLg, options.widthXl])));\n\treturn _Utils_ap(\n\t\t$rundis$elm_bootstrap$Bootstrap$Grid$Internal$colWidthsToAttributes(\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tshouldAddDefaultXs ? $elm$core$Maybe$Just(\n\t\t\t\t\tA2($rundis$elm_bootstrap$Bootstrap$Grid$Internal$Width, $rundis$elm_bootstrap$Bootstrap$General$Internal$XS, $rundis$elm_bootstrap$Bootstrap$Grid$Internal$Col)) : options.widthXs,\n\t\t\t\t\toptions.widthSm,\n\t\t\t\t\toptions.widthMd,\n\t\t\t\t\toptions.widthLg,\n\t\t\t\t\toptions.widthXl\n\t\t\t\t])),\n\t\t_Utils_ap(\n\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$Internal$offsetsToAttributes(\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[options.offsetXs, options.offsetSm, options.offsetMd, options.offsetLg, options.offsetXl])),\n\t\t\t_Utils_ap(\n\t\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$Internal$pullsToAttributes(\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[options.pullXs, options.pullSm, options.pullMd, options.pullLg, options.pullXl])),\n\t\t\t\t_Utils_ap(\n\t\t\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$Internal$pushesToAttributes(\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[options.pushXs, options.pushSm, options.pushMd, options.pushLg, options.pushXl])),\n\t\t\t\t\t_Utils_ap(\n\t\t\t\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$Internal$orderToAttributes(\n\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t[options.orderXs, options.orderSm, options.orderMd, options.orderLg, options.orderXl])),\n\t\t\t\t\t\t_Utils_ap(\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$Internal$vAlignsToAttributes,\n\t\t\t\t\t\t\t\t'align-self-',\n\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t[options.alignXs, options.alignSm, options.alignMd, options.alignLg, options.alignXl])),\n\t\t\t\t\t\t\t_Utils_ap(\n\t\t\t\t\t\t\t\tfunction () {\n\t\t\t\t\t\t\t\t\tvar _v0 = options.textAlign;\n\t\t\t\t\t\t\t\t\tif (_v0.$ === 'Just') {\n\t\t\t\t\t\t\t\t\t\tvar a = _v0.a;\n\t\t\t\t\t\t\t\t\t\treturn _List_fromArray(\n\t\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\t\t$rundis$elm_bootstrap$Bootstrap$Internal$Text$textAlignClass(a)\n\t\t\t\t\t\t\t\t\t\t\t]);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\treturn _List_Nil;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}(),\n\t\t\t\t\t\t\t\toptions.attributes)))))));\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$renderCol = function (column) {\n\tswitch (column.$) {\n\t\tcase 'Column':\n\t\t\tvar options = column.a.options;\n\t\t\tvar children = column.a.children;\n\t\t\treturn A2(\n\t\t\t\t$elm$html$Html$div,\n\t\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$Internal$colAttributes(options),\n\t\t\t\tchildren);\n\t\tcase 'ColBreak':\n\t\t\tvar e = column.a;\n\t\t\treturn e;\n\t\tdefault:\n\t\t\tvar options = column.a.options;\n\t\t\tvar children = column.a.children;\n\t\t\treturn A3(\n\t\t\t\t$elm$html$Html$Keyed$node,\n\t\t\t\t'div',\n\t\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$Internal$colAttributes(options),\n\t\t\t\tchildren);\n\t}\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyRowHAlign = F2(\n\tfunction (align, options) {\n\t\tvar _v0 = align.screenSize;\n\t\tswitch (_v0.$) {\n\t\t\tcase 'XS':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\thAlignXs: $elm$core$Maybe$Just(align)\n\t\t\t\t\t});\n\t\t\tcase 'SM':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\thAlignSm: $elm$core$Maybe$Just(align)\n\t\t\t\t\t});\n\t\t\tcase 'MD':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\thAlignMd: $elm$core$Maybe$Just(align)\n\t\t\t\t\t});\n\t\t\tcase 'LG':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\thAlignLg: $elm$core$Maybe$Just(align)\n\t\t\t\t\t});\n\t\t\tdefault:\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\thAlignXl: $elm$core$Maybe$Just(align)\n\t\t\t\t\t});\n\t\t}\n\t});\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyRowVAlign = F2(\n\tfunction (align_, options) {\n\t\tvar _v0 = align_.screenSize;\n\t\tswitch (_v0.$) {\n\t\t\tcase 'XS':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\tvAlignXs: $elm$core$Maybe$Just(align_)\n\t\t\t\t\t});\n\t\t\tcase 'SM':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\tvAlignSm: $elm$core$Maybe$Just(align_)\n\t\t\t\t\t});\n\t\t\tcase 'MD':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\tvAlignMd: $elm$core$Maybe$Just(align_)\n\t\t\t\t\t});\n\t\t\tcase 'LG':\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\tvAlignLg: $elm$core$Maybe$Just(align_)\n\t\t\t\t\t});\n\t\t\tdefault:\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\tvAlignXl: $elm$core$Maybe$Just(align_)\n\t\t\t\t\t});\n\t\t}\n\t});\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyRowOption = F2(\n\tfunction (modifier, options) {\n\t\tswitch (modifier.$) {\n\t\t\tcase 'RowAttrs':\n\t\t\t\tvar attrs = modifier.a;\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\toptions,\n\t\t\t\t\t{\n\t\t\t\t\t\tattributes: _Utils_ap(options.attributes, attrs)\n\t\t\t\t\t});\n\t\t\tcase 'RowVAlign':\n\t\t\t\tvar align = modifier.a;\n\t\t\t\treturn A2($rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyRowVAlign, align, options);\n\t\t\tdefault:\n\t\t\t\tvar align = modifier.a;\n\t\t\t\treturn A2($rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyRowHAlign, align, options);\n\t\t}\n\t});\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$defaultRowOptions = {attributes: _List_Nil, hAlignLg: $elm$core$Maybe$Nothing, hAlignMd: $elm$core$Maybe$Nothing, hAlignSm: $elm$core$Maybe$Nothing, hAlignXl: $elm$core$Maybe$Nothing, hAlignXs: $elm$core$Maybe$Nothing, vAlignLg: $elm$core$Maybe$Nothing, vAlignMd: $elm$core$Maybe$Nothing, vAlignSm: $elm$core$Maybe$Nothing, vAlignXl: $elm$core$Maybe$Nothing, vAlignXs: $elm$core$Maybe$Nothing};\nvar $rundis$elm_bootstrap$Bootstrap$General$Internal$horizontalAlignOption = function (align) {\n\tswitch (align.$) {\n\t\tcase 'Left':\n\t\t\treturn 'start';\n\t\tcase 'Center':\n\t\t\treturn 'center';\n\t\tcase 'Right':\n\t\t\treturn 'end';\n\t\tcase 'Around':\n\t\t\treturn 'around';\n\t\tdefault:\n\t\t\treturn 'between';\n\t}\n};\nvar $rundis$elm_bootstrap$Bootstrap$General$Internal$hAlignClass = function (_v0) {\n\tvar align = _v0.align;\n\tvar screenSize = _v0.screenSize;\n\treturn $elm$html$Html$Attributes$class(\n\t\t'justify-content-' + (A2(\n\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t'',\n\t\t\tA2(\n\t\t\t\t$elm$core$Maybe$map,\n\t\t\t\tfunction (v) {\n\t\t\t\t\treturn v + '-';\n\t\t\t\t},\n\t\t\t\t$rundis$elm_bootstrap$Bootstrap$General$Internal$screenSizeOption(screenSize))) + $rundis$elm_bootstrap$Bootstrap$General$Internal$horizontalAlignOption(align)));\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$hAlignsToAttributes = function (aligns) {\n\tvar align = function (a) {\n\t\treturn A2($elm$core$Maybe$map, $rundis$elm_bootstrap$Bootstrap$General$Internal$hAlignClass, a);\n\t};\n\treturn A2(\n\t\t$elm$core$List$filterMap,\n\t\t$elm$core$Basics$identity,\n\t\tA2($elm$core$List$map, align, aligns));\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$Internal$rowAttributes = function (modifiers) {\n\tvar options = A3($elm$core$List$foldl, $rundis$elm_bootstrap$Bootstrap$Grid$Internal$applyRowOption, $rundis$elm_bootstrap$Bootstrap$Grid$Internal$defaultRowOptions, modifiers);\n\treturn _Utils_ap(\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\t$elm$html$Html$Attributes$class('row')\n\t\t\t]),\n\t\t_Utils_ap(\n\t\t\tA2(\n\t\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$Internal$vAlignsToAttributes,\n\t\t\t\t'align-items-',\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[options.vAlignXs, options.vAlignSm, options.vAlignMd, options.vAlignLg, options.vAlignXl])),\n\t\t\t_Utils_ap(\n\t\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$Internal$hAlignsToAttributes(\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[options.hAlignXs, options.hAlignSm, options.hAlignMd, options.hAlignLg, options.hAlignXl])),\n\t\t\t\toptions.attributes)));\n};\nvar $rundis$elm_bootstrap$Bootstrap$Grid$row = F2(\n\tfunction (options, cols) {\n\t\treturn A2(\n\t\t\t$elm$html$Html$div,\n\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$Internal$rowAttributes(options),\n\t\t\tA2($elm$core$List$map, $rundis$elm_bootstrap$Bootstrap$Grid$renderCol, cols));\n\t});\nvar $author$project$Pages$ExamplePage$view = function (_v0) {\n\tvar params = _v0.params;\n\treturn {\n\t\tbody: _List_fromArray(\n\t\t\t[\n\t\t\t\tA2(\n\t\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$container,\n\t\t\t\t_List_Nil,\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$row,\n\t\t\t\t\t\t_List_Nil,\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$col,\n\t\t\t\t\t\t\t\t_List_Nil,\n\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t$elm$html$Html$text('One of Three columns')\n\t\t\t\t\t\t\t\t\t])),\n\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$col,\n\t\t\t\t\t\t\t\t_List_Nil,\n\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t$elm$html$Html$text('One of Three columns')\n\t\t\t\t\t\t\t\t\t])),\n\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$col,\n\t\t\t\t\t\t\t\t_List_Nil,\n\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t$elm$html$Html$text('One of Three columns')\n\t\t\t\t\t\t\t\t\t]))\n\t\t\t\t\t\t\t]))\n\t\t\t\t\t]))\n\t\t\t]),\n\t\ttitle: 'ExamplePage'\n\t};\n};\nvar $author$project$Pages$ExamplePage$page = $author$project$Spa$Page$static(\n\t{view: $author$project$Pages$ExamplePage$view});\nvar $author$project$Pages$NotFound$view = function (_v0) {\n\tvar params = _v0.params;\n\treturn {\n\t\tbody: _List_fromArray(\n\t\t\t[\n\t\t\t\t$elm$html$Html$text('Not found')\n\t\t\t]),\n\t\ttitle: '404'\n\t};\n};\nvar $author$project$Pages$NotFound$page = $author$project$Spa$Page$static(\n\t{view: $author$project$Pages$NotFound$view});\nvar $author$project$Pages$Top$view = function (_v0) {\n\tvar params = _v0.params;\n\treturn {\n\t\tbody: _List_fromArray(\n\t\t\t[\n\t\t\t\tA2(\n\t\t\t\t$rundis$elm_bootstrap$Bootstrap$Grid$container,\n\t\t\t\t_List_Nil,\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\tA2($rundis$elm_bootstrap$Bootstrap$Grid$row, _List_Nil, _List_Nil)\n\t\t\t\t\t]))\n\t\t\t]),\n\t\ttitle: 'Homepage'\n\t};\n};\nvar $author$project$Pages$Top$page = $author$project$Spa$Page$static(\n\t{view: $author$project$Pages$Top$view});\nvar $elm$core$List$head = function (list) {\n\tif (list.b) {\n\t\tvar x = list.a;\n\t\tvar xs = list.b;\n\t\treturn $elm$core$Maybe$Just(x);\n\t} else {\n\t\treturn $elm$core$Maybe$Nothing;\n\t}\n};\nvar $elm$core$Tuple$mapBoth = F3(\n\tfunction (funcA, funcB, _v0) {\n\t\tvar x = _v0.a;\n\t\tvar y = _v0.b;\n\t\treturn _Utils_Tuple2(\n\t\t\tfuncA(x),\n\t\t\tfuncB(y));\n\t});\nvar $author$project$Spa$Url$toQueryDict = function (queryString) {\n\tvar second = A2(\n\t\t$elm$core$Basics$composeR,\n\t\t$elm$core$List$drop(1),\n\t\t$elm$core$List$head);\n\tvar toTuple = function (list) {\n\t\treturn A2(\n\t\t\t$elm$core$Maybe$map,\n\t\t\tfunction (first) {\n\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\tfirst,\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t\t\t\t'',\n\t\t\t\t\t\tsecond(list)));\n\t\t\t},\n\t\t\t$elm$core$List$head(list));\n\t};\n\tvar decode = A2(\n\t\t$elm$core$Basics$composeR,\n\t\t$elm$url$Url$percentDecode,\n\t\t$elm$core$Maybe$withDefault(''));\n\treturn $elm$core$Dict$fromList(\n\t\tA2(\n\t\t\t$elm$core$List$map,\n\t\t\tA2($elm$core$Tuple$mapBoth, decode, decode),\n\t\t\tA2(\n\t\t\t\t$elm$core$List$filterMap,\n\t\t\t\ttoTuple,\n\t\t\t\tA2(\n\t\t\t\t\t$elm$core$List$map,\n\t\t\t\t\t$elm$core$String$split('='),\n\t\t\t\t\tA2($elm$core$String$split, '&', queryString)))));\n};\nvar $author$project$Spa$Url$create = F3(\n\tfunction (params, key, url) {\n\t\treturn {\n\t\t\tkey: key,\n\t\t\tparams: params,\n\t\t\tquery: A2(\n\t\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t\t$elm$core$Dict$empty,\n\t\t\t\tA2($elm$core$Maybe$map, $author$project$Spa$Url$toQueryDict, url.query)),\n\t\t\trawUrl: url\n\t\t};\n\t});\nvar $author$project$Spa$Document$map = F2(\n\tfunction (fn, doc) {\n\t\treturn {\n\t\t\tbody: A2(\n\t\t\t\t$elm$core$List$map,\n\t\t\t\t$elm$html$Html$map(fn),\n\t\t\t\tdoc.body),\n\t\t\ttitle: doc.title\n\t\t};\n\t});\nvar $author$project$Spa$Generated$Pages$upgrade = F3(\n\tfunction (toModel, toMsg, page) {\n\t\tvar update_ = F2(\n\t\t\tfunction (msg, model) {\n\t\t\t\treturn A3(\n\t\t\t\t\t$elm$core$Tuple$mapBoth,\n\t\t\t\t\ttoModel,\n\t\t\t\t\t$elm$core$Platform$Cmd$map(toMsg),\n\t\t\t\t\tA2(page.update, msg, model));\n\t\t\t});\n\t\tvar load_ = F2(\n\t\t\tfunction (model, shared) {\n\t\t\t\treturn A3(\n\t\t\t\t\t$elm$core$Tuple$mapBoth,\n\t\t\t\t\ttoModel,\n\t\t\t\t\t$elm$core$Platform$Cmd$map(toMsg),\n\t\t\t\t\tA2(page.load, shared, model));\n\t\t\t});\n\t\tvar init_ = F2(\n\t\t\tfunction (params, shared) {\n\t\t\t\treturn A3(\n\t\t\t\t\t$elm$core$Tuple$mapBoth,\n\t\t\t\t\ttoModel,\n\t\t\t\t\t$elm$core$Platform$Cmd$map(toMsg),\n\t\t\t\t\tA2(\n\t\t\t\t\t\tpage.init,\n\t\t\t\t\t\tshared,\n\t\t\t\t\t\tA3($author$project$Spa$Url$create, params, shared.key, shared.url)));\n\t\t\t});\n\t\tvar bundle_ = function (model) {\n\t\t\treturn {\n\t\t\t\tload: function (_v0) {\n\t\t\t\t\treturn load_(model);\n\t\t\t\t},\n\t\t\t\tsave: function (_v1) {\n\t\t\t\t\treturn page.save(model);\n\t\t\t\t},\n\t\t\t\tsubscriptions: function (_v2) {\n\t\t\t\t\treturn A2(\n\t\t\t\t\t\t$elm$core$Platform$Sub$map,\n\t\t\t\t\t\ttoMsg,\n\t\t\t\t\t\tpage.subscriptions(model));\n\t\t\t\t},\n\t\t\t\tview: function (_v3) {\n\t\t\t\t\treturn A2(\n\t\t\t\t\t\t$author$project$Spa$Document$map,\n\t\t\t\t\t\ttoMsg,\n\t\t\t\t\t\tpage.view(model));\n\t\t\t\t}\n\t\t\t};\n\t\t};\n\t\treturn {bundle: bundle_, init: init_, update: update_};\n\t});\nvar $author$project$Spa$Generated$Pages$pages = {\n\texamplePage: A3($author$project$Spa$Generated$Pages$upgrade, $author$project$Spa$Generated$Pages$ExamplePage__Model, $author$project$Spa$Generated$Pages$ExamplePage__Msg, $author$project$Pages$ExamplePage$page),\n\tnotFound: A3($author$project$Spa$Generated$Pages$upgrade, $author$project$Spa$Generated$Pages$NotFound__Model, $author$project$Spa$Generated$Pages$NotFound__Msg, $author$project$Pages$NotFound$page),\n\ttop: A3($author$project$Spa$Generated$Pages$upgrade, $author$project$Spa$Generated$Pages$Top__Model, $author$project$Spa$Generated$Pages$Top__Msg, $author$project$Pages$Top$page)\n};\nvar $author$project$Spa$Generated$Pages$init = function (route) {\n\tswitch (route.$) {\n\t\tcase 'Top':\n\t\t\treturn $author$project$Spa$Generated$Pages$pages.top.init(_Utils_Tuple0);\n\t\tcase 'ExamplePage':\n\t\t\treturn $author$project$Spa$Generated$Pages$pages.examplePage.init(_Utils_Tuple0);\n\t\tdefault:\n\t\t\treturn $author$project$Spa$Generated$Pages$pages.notFound.init(_Utils_Tuple0);\n\t}\n};\nvar $author$project$Main$init = F3(\n\tfunction (flags, url, key) {\n\t\tvar _v0 = A3($author$project$Shared$init, flags, url, key);\n\t\tvar shared = _v0.a;\n\t\tvar sharedCmd = _v0.b;\n\t\tvar _v1 = A2(\n\t\t\t$author$project$Spa$Generated$Pages$init,\n\t\t\t$author$project$Main$fromUrl(url),\n\t\t\tshared);\n\t\tvar page = _v1.a;\n\t\tvar pageCmd = _v1.b;\n\t\treturn _Utils_Tuple2(\n\t\t\tA2($author$project$Main$Model, shared, page),\n\t\t\t$elm$core$Platform$Cmd$batch(\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\tA2($elm$core$Platform$Cmd$map, $author$project$Main$Shared, sharedCmd),\n\t\t\t\t\t\tA2($elm$core$Platform$Cmd$map, $author$project$Main$Pages, pageCmd)\n\t\t\t\t\t])));\n\t});\nvar $author$project$Shared$subscriptions = function (model) {\n\treturn $elm$core$Platform$Sub$none;\n};\nvar $author$project$Spa$Generated$Pages$bundle = function (bigModel) {\n\tswitch (bigModel.$) {\n\t\tcase 'Top__Model':\n\t\t\tvar model = bigModel.a;\n\t\t\treturn $author$project$Spa$Generated$Pages$pages.top.bundle(model);\n\t\tcase 'ExamplePage__Model':\n\t\t\tvar model = bigModel.a;\n\t\t\treturn $author$project$Spa$Generated$Pages$pages.examplePage.bundle(model);\n\t\tdefault:\n\t\t\tvar model = bigModel.a;\n\t\t\treturn $author$project$Spa$Generated$Pages$pages.notFound.bundle(model);\n\t}\n};\nvar $author$project$Spa$Generated$Pages$subscriptions = function (model) {\n\treturn $author$project$Spa$Generated$Pages$bundle(model).subscriptions(_Utils_Tuple0);\n};\nvar $author$project$Main$subscriptions = function (model) {\n\treturn $elm$core$Platform$Sub$batch(\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\tA2(\n\t\t\t\t$elm$core$Platform$Sub$map,\n\t\t\t\t$author$project$Main$Shared,\n\t\t\t\t$author$project$Shared$subscriptions(model.shared)),\n\t\t\t\tA2(\n\t\t\t\t$elm$core$Platform$Sub$map,\n\t\t\t\t$author$project$Main$Pages,\n\t\t\t\t$author$project$Spa$Generated$Pages$subscriptions(model.page))\n\t\t\t]));\n};\nvar $author$project$Spa$Document$toBrowserDocument = function (doc) {\n\treturn {body: doc.body, title: doc.title};\n};\nvar $elm$browser$Browser$Navigation$load = _Browser_load;\nvar $author$project$Spa$Generated$Pages$load = function (model) {\n\treturn $author$project$Spa$Generated$Pages$bundle(model).load(_Utils_Tuple0);\n};\nvar $elm$browser$Browser$Navigation$pushUrl = _Browser_pushUrl;\nvar $author$project$Spa$Generated$Pages$save = function (model) {\n\treturn $author$project$Spa$Generated$Pages$bundle(model).save(_Utils_Tuple0);\n};\nvar $elm$url$Url$addPort = F2(\n\tfunction (maybePort, starter) {\n\t\tif (maybePort.$ === 'Nothing') {\n\t\t\treturn starter;\n\t\t} else {\n\t\t\tvar port_ = maybePort.a;\n\t\t\treturn starter + (':' + $elm$core$String$fromInt(port_));\n\t\t}\n\t});\nvar $elm$url$Url$addPrefixed = F3(\n\tfunction (prefix, maybeSegment, starter) {\n\t\tif (maybeSegment.$ === 'Nothing') {\n\t\t\treturn starter;\n\t\t} else {\n\t\t\tvar segment = maybeSegment.a;\n\t\t\treturn _Utils_ap(\n\t\t\t\tstarter,\n\t\t\t\t_Utils_ap(prefix, segment));\n\t\t}\n\t});\nvar $elm$url$Url$toString = function (url) {\n\tvar http = function () {\n\t\tvar _v0 = url.protocol;\n\t\tif (_v0.$ === 'Http') {\n\t\t\treturn 'http://';\n\t\t} else {\n\t\t\treturn 'https://';\n\t\t}\n\t}();\n\treturn A3(\n\t\t$elm$url$Url$addPrefixed,\n\t\t'#',\n\t\turl.fragment,\n\t\tA3(\n\t\t\t$elm$url$Url$addPrefixed,\n\t\t\t'?',\n\t\t\turl.query,\n\t\t\t_Utils_ap(\n\t\t\t\tA2(\n\t\t\t\t\t$elm$url$Url$addPort,\n\t\t\t\t\turl.port_,\n\t\t\t\t\t_Utils_ap(http, url.host)),\n\t\t\t\turl.path)));\n};\nvar $author$project$Shared$update = F2(\n\tfunction (msg, model) {\n\t\treturn _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);\n\t});\nvar $author$project$Spa$Generated$Pages$update = F2(\n\tfunction (bigMsg, bigModel) {\n\t\tvar _v0 = _Utils_Tuple2(bigMsg, bigModel);\n\t\t_v0$3:\n\t\twhile (true) {\n\t\t\tswitch (_v0.a.$) {\n\t\t\t\tcase 'Top__Msg':\n\t\t\t\t\tif (_v0.b.$ === 'Top__Model') {\n\t\t\t\t\t\tvar msg = _v0.a.a;\n\t\t\t\t\t\tvar model = _v0.b.a;\n\t\t\t\t\t\treturn A2($author$project$Spa$Generated$Pages$pages.top.update, msg, model);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbreak _v0$3;\n\t\t\t\t\t}\n\t\t\t\tcase 'ExamplePage__Msg':\n\t\t\t\t\tif (_v0.b.$ === 'ExamplePage__Model') {\n\t\t\t\t\t\tvar msg = _v0.a.a;\n\t\t\t\t\t\tvar model = _v0.b.a;\n\t\t\t\t\t\treturn A2($author$project$Spa$Generated$Pages$pages.examplePage.update, msg, model);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbreak _v0$3;\n\t\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\tif (_v0.b.$ === 'NotFound__Model') {\n\t\t\t\t\t\tvar msg = _v0.a.a;\n\t\t\t\t\t\tvar model = _v0.b.a;\n\t\t\t\t\t\treturn A2($author$project$Spa$Generated$Pages$pages.notFound.update, msg, model);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbreak _v0$3;\n\t\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn _Utils_Tuple2(bigModel, $elm$core$Platform$Cmd$none);\n\t});\nvar $author$project$Main$update = F2(\n\tfunction (msg, model) {\n\t\tswitch (msg.$) {\n\t\t\tcase 'LinkClicked':\n\t\t\t\tif (msg.a.$ === 'Internal') {\n\t\t\t\t\tvar url = msg.a.a;\n\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$browser$Browser$Navigation$pushUrl,\n\t\t\t\t\t\t\tmodel.shared.key,\n\t\t\t\t\t\t\t$elm$url$Url$toString(url)));\n\t\t\t\t} else {\n\t\t\t\t\tvar href = msg.a.a;\n\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t$elm$browser$Browser$Navigation$load(href));\n\t\t\t\t}\n\t\t\tcase 'UrlChanged':\n\t\t\t\tvar url = msg.a;\n\t\t\t\tvar original = model.shared;\n\t\t\t\tvar shared = _Utils_update(\n\t\t\t\t\toriginal,\n\t\t\t\t\t{url: url});\n\t\t\t\tvar _v1 = A2(\n\t\t\t\t\t$author$project$Spa$Generated$Pages$init,\n\t\t\t\t\t$author$project$Main$fromUrl(url),\n\t\t\t\t\tshared);\n\t\t\t\tvar page = _v1.a;\n\t\t\t\tvar pageCmd = _v1.b;\n\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t_Utils_update(\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpage: page,\n\t\t\t\t\t\t\tshared: A2($author$project$Spa$Generated$Pages$save, page, shared)\n\t\t\t\t\t\t}),\n\t\t\t\t\tA2($elm$core$Platform$Cmd$map, $author$project$Main$Pages, pageCmd));\n\t\t\tcase 'Shared':\n\t\t\t\tvar sharedMsg = msg.a;\n\t\t\t\tvar _v2 = A2($author$project$Shared$update, sharedMsg, model.shared);\n\t\t\t\tvar shared = _v2.a;\n\t\t\t\tvar sharedCmd = _v2.b;\n\t\t\t\tvar _v3 = A2($author$project$Spa$Generated$Pages$load, model.page, shared);\n\t\t\t\tvar page = _v3.a;\n\t\t\t\tvar pageCmd = _v3.b;\n\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t_Utils_update(\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t{page: page, shared: shared}),\n\t\t\t\t\t$elm$core$Platform$Cmd$batch(\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\tA2($elm$core$Platform$Cmd$map, $author$project$Main$Shared, sharedCmd),\n\t\t\t\t\t\t\t\tA2($elm$core$Platform$Cmd$map, $author$project$Main$Pages, pageCmd)\n\t\t\t\t\t\t\t])));\n\t\t\tdefault:\n\t\t\t\tvar pageMsg = msg.a;\n\t\t\t\tvar _v4 = A2($author$project$Spa$Generated$Pages$update, pageMsg, model.page);\n\t\t\t\tvar page = _v4.a;\n\t\t\t\tvar pageCmd = _v4.b;\n\t\t\t\tvar shared = A2($author$project$Spa$Generated$Pages$save, page, model.shared);\n\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t_Utils_update(\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t{page: page, shared: shared}),\n\t\t\t\t\tA2($elm$core$Platform$Cmd$map, $author$project$Main$Pages, pageCmd));\n\t\t}\n\t});\nvar $elm$html$Html$footer = _VirtualDom_node('footer');\nvar $elm$html$Html$header = _VirtualDom_node('header');\nvar $elm$html$Html$i = _VirtualDom_node('i');\nvar $elm$html$Html$Attributes$rel = _VirtualDom_attribute('rel');\nvar $author$project$Shared$slogan = 'Highly flexible Application Runtime Platform';\nvar $rundis$elm_bootstrap$Bootstrap$CDN$stylesheet = A3(\n\t$elm$html$Html$node,\n\t'link',\n\t_List_fromArray(\n\t\t[\n\t\t\t$elm$html$Html$Attributes$rel('stylesheet'),\n\t\t\t$elm$html$Html$Attributes$href('https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css')\n\t\t]),\n\t_List_Nil);\nvar $elm$html$Html$Attributes$target = $elm$html$Html$Attributes$stringProperty('target');\nvar $elm$core$String$append = _String_append;\nvar $author$project$Spa$Generated$Route$toString = function (route) {\n\tvar segments = function () {\n\t\tswitch (route.$) {\n\t\t\tcase 'Top':\n\t\t\t\treturn _List_Nil;\n\t\t\tcase 'ExamplePage':\n\t\t\t\treturn _List_fromArray(\n\t\t\t\t\t['example-page']);\n\t\t\tdefault:\n\t\t\t\treturn _List_fromArray(\n\t\t\t\t\t['not-found']);\n\t\t}\n\t}();\n\treturn A2(\n\t\t$elm$core$String$append,\n\t\t'/',\n\t\tA2($elm$core$String$join, '/', segments));\n};\nvar $author$project$Shared$view = F2(\n\tfunction (_v0, model) {\n\t\tvar page = _v0.page;\n\t\tvar toMsg = _v0.toMsg;\n\t\treturn {\n\t\t\tbody: _List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA3(\n\t\t\t\t\t$elm$html$Html$node,\n\t\t\t\t\t'link',\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$Attributes$rel('stylesheet'),\n\t\t\t\t\t\t\t$elm$html$Html$Attributes$href('https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css')\n\t\t\t\t\t\t]),\n\t\t\t\t\t_List_Nil),\n\t\t\t\t\t$rundis$elm_bootstrap$Bootstrap$CDN$stylesheet,\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$Attributes$class('layout')\n\t\t\t\t\t\t]),\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$html$Html$header,\n\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$class('navbar')\n\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t$elm$html$Html$a,\n\t\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$class('navbar-brand'),\n\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$href(\n\t\t\t\t\t\t\t\t\t\t\t$author$project$Spa$Generated$Route$toString($author$project$Spa$Generated$Route$Top)),\n\t\t\t\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'color', '#FF5733')\n\t\t\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$text('Tumbo')\n\t\t\t\t\t\t\t\t\t\t])),\n\t\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t$elm$html$Html$a,\n\t\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$target('blank'),\n\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$href('https://github.com/sahlinet/go-tumbo3')\n\t\t\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$i,\n\t\t\t\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$class('fa fa-github'),\n\t\t\t\t\t\t\t\t\t\t\t\t\tA2($elm$html$Html$Attributes$style, 'color', 'black')\n\t\t\t\t\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t\t\t\t\t_List_Nil)\n\t\t\t\t\t\t\t\t\t\t]))\n\t\t\t\t\t\t\t\t])),\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$class('jumbotron')\n\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t$elm$html$Html$text($author$project$Shared$slogan)\n\t\t\t\t\t\t\t\t])),\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$class('page')\n\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\tpage.body)\n\t\t\t\t\t\t])),\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$footer,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$Attributes$class('footer')\n\t\t\t\t\t\t]),\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$class('container text-center')\n\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t$elm$html$Html$span,\n\t\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$class('text-muted')\n\t\t\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$text('© 2020 Copyright sahli.net')\n\t\t\t\t\t\t\t\t\t\t]))\n\t\t\t\t\t\t\t\t]))\n\t\t\t\t\t\t]))\n\t\t\t\t]),\n\t\t\ttitle: page.title\n\t\t};\n\t});\nvar $author$project$Spa$Generated$Pages$view = function (model) {\n\treturn $author$project$Spa$Generated$Pages$bundle(model).view(_Utils_Tuple0);\n};\nvar $author$project$Main$view = function (model) {\n\treturn A2(\n\t\t$author$project$Shared$view,\n\t\t{\n\t\t\tpage: A2(\n\t\t\t\t$author$project$Spa$Document$map,\n\t\t\t\t$author$project$Main$Pages,\n\t\t\t\t$author$project$Spa$Generated$Pages$view(model.page)),\n\t\t\ttoMsg: $author$project$Main$Shared\n\t\t},\n\t\tmodel.shared);\n};\nvar $author$project$Main$main = $elm$browser$Browser$application(\n\t{\n\t\tinit: $author$project$Main$init,\n\t\tonUrlChange: $author$project$Main$UrlChanged,\n\t\tonUrlRequest: $author$project$Main$LinkClicked,\n\t\tsubscriptions: $author$project$Main$subscriptions,\n\t\tupdate: $author$project$Main$update,\n\t\tview: A2($elm$core$Basics$composeR, $author$project$Main$view, $author$project$Spa$Document$toBrowserDocument)\n\t});\n_Platform_export({'Main':{'init':$author$project$Main$main(\n\t$elm$json$Json$Decode$succeed(_Utils_Tuple0))({\"versions\":{\"elm\":\"0.19.1\"},\"types\":{\"message\":\"Main.Msg\",\"aliases\":{\"Url.Url\":{\"args\":[],\"type\":\"{ protocol : Url.Protocol, host : String.String, port_ : Maybe.Maybe Basics.Int, path : String.String, query : Maybe.Maybe String.String, fragment : Maybe.Maybe String.String }\"},\"Pages.NotFound.Msg\":{\"args\":[],\"type\":\"Basics.Never\"},\"Pages.Top.Msg\":{\"args\":[],\"type\":\"Basics.Never\"}},\"unions\":{\"Main.Msg\":{\"args\":[],\"tags\":{\"LinkClicked\":[\"Browser.UrlRequest\"],\"UrlChanged\":[\"Url.Url\"],\"Shared\":[\"Shared.Msg\"],\"Pages\":[\"Spa.Generated.Pages.Msg\"]}},\"Basics.Int\":{\"args\":[],\"tags\":{\"Int\":[]}},\"Maybe.Maybe\":{\"args\":[\"a\"],\"tags\":{\"Just\":[\"a\"],\"Nothing\":[]}},\"Shared.Msg\":{\"args\":[],\"tags\":{\"ReplaceMe\":[]}},\"Spa.Generated.Pages.Msg\":{\"args\":[],\"tags\":{\"Top__Msg\":[\"Pages.Top.Msg\"],\"ExamplePage__Msg\":[\"Pages.ExamplePage.Msg\"],\"NotFound__Msg\":[\"Pages.NotFound.Msg\"]}},\"Url.Protocol\":{\"args\":[],\"tags\":{\"Http\":[],\"Https\":[]}},\"String.String\":{\"args\":[],\"tags\":{\"String\":[]}},\"Browser.UrlRequest\":{\"args\":[],\"tags\":{\"Internal\":[\"Url.Url\"],\"External\":[\"String.String\"]}},\"Pages.ExamplePage.Msg\":{\"args\":[],\"tags\":{\"Increment\":[],\"Decrement\":[]}},\"Basics.Never\":{\"args\":[],\"tags\":{\"JustOneMore\":[\"Basics.Never\"]}}}}})}});}(this));"),
}
file6 := &embedded.EmbeddedFile{
Filename: "index.html",
FileModTime: time.Unix(1604325379, 0),
Content: string("<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <!-- CSS goes here -->\n <link rel=\"stylesheet\" href=\"/style.css\">\n</head>\n\n<body>\n <!-- JavaScript goes here -->\n <script src=\"/dist/elm.compiled.js\"></script>\n <script src=\"/main.js\"></script>\n</body>\n\n</html>"),
}
file7 := &embedded.EmbeddedFile{
Filename: "main.js",
FileModTime: time.Unix(1603049137, 0),
Content: string("// Initial data passed to Elm (should match `Flags` defined in `Shared.elm`)\n// https://guide.elm-lang.org/interop/flags.html\nvar flags = null\n\n// Start our Elm application\nvar app = Elm.Main.init({ flags: flags })\n\n// Ports go here\n// https://guide.elm-lang.org/interop/ports.html"),
}
file8 := &embedded.EmbeddedFile{
Filename: "style.css",
FileModTime: time.Unix(1603049215, 0),
Content: string("body {\n font-family: sans-serif;\n margin: 20px\n}\n\n.navbar {\n display: flex;\n}\n\n.navbar > *:not(:last-child) { margin-right: 20px; }\n\n.page { margin-top: 20px; }\n\n/* Sticky footer styles\n-------------------------------------------------- */\nhtml {\n position: relative;\n min-height: 100%;\n}\nbody {\n /* Margin bottom by footer height */\n margin-bottom: 60px;\n}\n.footer {\n position: absolute;\n bottom: 0;\n width: 100%;\n /* Set the fixed height of the footer here */\n height: 60px;\n line-height: 60px; /* Vertically center the text there */\n background-color: #f5f5f5;\n}\n\n\n/* Custom page CSS\n-------------------------------------------------- */\n/* Not required for template or sticky footer method. */\n\nbody > .container {\n padding: 60px 15px 0;\n}\n\n.footer > .container {\n padding-right: 15px;\n padding-left: 15px;\n}\n\ncode {\n font-size: 80%;\n}"),
}
// define dirs
dir3 := &embedded.EmbeddedDir{
Filename: "",
DirModTime: time.Unix(1604325579, 0),
ChildFiles: []*embedded.EmbeddedFile{
file6, // "index.html"
file7, // "main.js"
file8, // "style.css"
},
}
dir4 := &embedded.EmbeddedDir{
Filename: "dist",
DirModTime: time.Unix(1602964578, 0),
ChildFiles: []*embedded.EmbeddedFile{
file5, // "dist/elm.compiled.js"
},
}
// link ChildDirs
dir3.ChildDirs = []*embedded.EmbeddedDir{
dir4, // "dist"
}
dir4.ChildDirs = []*embedded.EmbeddedDir{}
// register embeddedBox
embedded.RegisterEmbeddedBox(`../../web/elm/public`, &embedded.EmbeddedBox{
Name: `../../web/elm/public`,
Time: time.Unix(1604325579, 0),
Dirs: map[string]*embedded.EmbeddedDir{
"": dir3,
"dist": dir4,
},
Files: map[string]*embedded.EmbeddedFile{
"dist/elm.compiled.js": file5,
"index.html": file6,
"main.js": file7,
"style.css": file8,
},
})
}