wai-feature-flags 0.1.0.0 → 0.1.0.1
raw patch · 5 files changed
+10430/−10475 lines, 5 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- CHANGELOG.md +4/−0
- README.md +2/−0
- frontend/index.html +10418/−10472
- src/Network/FeatureFlags.hs +4/−1
- wai-feature-flags.cabal +2/−2
CHANGELOG.md view
@@ -1,3 +1,7 @@+# 0.1.0.1++- Fixed bug where old feature flags would still be shown in the UI.+ # 0.1.0.0 - Initial release.
README.md view
@@ -1,3 +1,5 @@+[](https://travis-ci.org/jwoudenberg/wai-feature-flags)+ # `wai-feature-flags` Feature flag support for WAI applications.
frontend/index.html view
@@ -91,10478 +91,10424 @@ 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); } -console.warn('Compiled in DEV mode. Follow the advice at https://elm-lang.org/0.19.1/optimize for better performance and smaller assets.');---var _JsArray_empty = [];--function _JsArray_singleton(value)-{- return [value];-}--function _JsArray_length(array)-{- return array.length;-}--var _JsArray_initialize = F3(function(size, offset, func)-{- var result = new Array(size);-- for (var i = 0; i < size; i++)- {- result[i] = func(offset + i);- }-- return result;-});--var _JsArray_initializeFromList = F2(function (max, ls)-{- var result = new Array(max);-- for (var i = 0; i < max && ls.b; i++)- {- result[i] = ls.a;- ls = ls.b;- }-- result.length = i;- return _Utils_Tuple2(result, ls);-});--var _JsArray_unsafeGet = F2(function(index, array)-{- return array[index];-});--var _JsArray_unsafeSet = F3(function(index, value, array)-{- var length = array.length;- var result = new Array(length);-- for (var i = 0; i < length; i++)- {- result[i] = array[i];- }-- result[index] = value;- return result;-});--var _JsArray_push = F2(function(value, array)-{- var length = array.length;- var result = new Array(length + 1);-- for (var i = 0; i < length; i++)- {- result[i] = array[i];- }-- result[length] = value;- return result;-});--var _JsArray_foldl = F3(function(func, acc, array)-{- var length = array.length;-- for (var i = 0; i < length; i++)- {- acc = A2(func, array[i], acc);- }-- return acc;-});--var _JsArray_foldr = F3(function(func, acc, array)-{- for (var i = array.length - 1; i >= 0; i--)- {- acc = A2(func, array[i], acc);- }-- return acc;-});--var _JsArray_map = F2(function(func, array)-{- var length = array.length;- var result = new Array(length);-- for (var i = 0; i < length; i++)- {- result[i] = func(array[i]);- }-- return result;-});--var _JsArray_indexedMap = F3(function(func, offset, array)-{- var length = array.length;- var result = new Array(length);-- for (var i = 0; i < length; i++)- {- result[i] = A2(func, offset + i, array[i]);- }-- return result;-});--var _JsArray_slice = F3(function(from, to, array)-{- return array.slice(from, to);-});--var _JsArray_appendN = F3(function(n, dest, source)-{- var destLen = dest.length;- var itemsToCopy = n - destLen;-- if (itemsToCopy > source.length)- {- itemsToCopy = source.length;- }-- var size = destLen + itemsToCopy;- var result = new Array(size);-- for (var i = 0; i < destLen; i++)- {- result[i] = dest[i];- }-- for (var i = 0; i < itemsToCopy; i++)- {- result[i + destLen] = source[i];- }-- return result;-});----// LOG--var _Debug_log_UNUSED = F2(function(tag, value)-{- return value;-});--var _Debug_log = F2(function(tag, value)-{- console.log(tag + ': ' + _Debug_toString(value));- return value;-});---// TODOS--function _Debug_todo(moduleName, region)-{- return function(message) {- _Debug_crash(8, moduleName, region, message);- };-}--function _Debug_todoCase(moduleName, region, value)-{- return function(message) {- _Debug_crash(9, moduleName, region, value, message);- };-}---// TO STRING--function _Debug_toString_UNUSED(value)-{- return '<internals>';-}--function _Debug_toString(value)-{- return _Debug_toAnsiString(false, value);-}--function _Debug_toAnsiString(ansi, value)-{- if (typeof value === 'function')- {- return _Debug_internalColor(ansi, '<function>');- }-- if (typeof value === 'boolean')- {- return _Debug_ctorColor(ansi, value ? 'True' : 'False');- }-- if (typeof value === 'number')- {- return _Debug_numberColor(ansi, value + '');- }-- if (value instanceof String)- {- return _Debug_charColor(ansi, "'" + _Debug_addSlashes(value, true) + "'");- }-- if (typeof value === 'string')- {- return _Debug_stringColor(ansi, '"' + _Debug_addSlashes(value, false) + '"');- }-- if (typeof value === 'object' && '$' in value)- {- var tag = value.$;-- if (typeof tag === 'number')- {- return _Debug_internalColor(ansi, '<internals>');- }-- if (tag[0] === '#')- {- var output = [];- for (var k in value)- {- if (k === '$') continue;- output.push(_Debug_toAnsiString(ansi, value[k]));- }- return '(' + output.join(',') + ')';- }-- if (tag === 'Set_elm_builtin')- {- return _Debug_ctorColor(ansi, 'Set')- + _Debug_fadeColor(ansi, '.fromList') + ' '- + _Debug_toAnsiString(ansi, $elm$core$Set$toList(value));- }-- if (tag === 'RBNode_elm_builtin' || tag === 'RBEmpty_elm_builtin')- {- return _Debug_ctorColor(ansi, 'Dict')- + _Debug_fadeColor(ansi, '.fromList') + ' '- + _Debug_toAnsiString(ansi, $elm$core$Dict$toList(value));- }-- if (tag === 'Array_elm_builtin')- {- return _Debug_ctorColor(ansi, 'Array')- + _Debug_fadeColor(ansi, '.fromList') + ' '- + _Debug_toAnsiString(ansi, $elm$core$Array$toList(value));- }-- if (tag === '::' || tag === '[]')- {- var output = '[';-- value.b && (output += _Debug_toAnsiString(ansi, value.a), value = value.b)-- for (; value.b; value = value.b) // WHILE_CONS- {- output += ',' + _Debug_toAnsiString(ansi, value.a);- }- return output + ']';- }-- var output = '';- for (var i in value)- {- if (i === '$') continue;- var str = _Debug_toAnsiString(ansi, value[i]);- var c0 = str[0];- var parenless = c0 === '{' || c0 === '(' || c0 === '[' || c0 === '<' || c0 === '"' || str.indexOf(' ') < 0;- output += ' ' + (parenless ? str : '(' + str + ')');- }- return _Debug_ctorColor(ansi, tag) + output;- }-- if (typeof DataView === 'function' && value instanceof DataView)- {- return _Debug_stringColor(ansi, '<' + value.byteLength + ' bytes>');- }-- if (typeof File !== 'undefined' && value instanceof File)- {- return _Debug_internalColor(ansi, '<' + value.name + '>');- }-- if (typeof value === 'object')- {- var output = [];- for (var key in value)- {- var field = key[0] === '_' ? key.slice(1) : key;- output.push(_Debug_fadeColor(ansi, field) + ' = ' + _Debug_toAnsiString(ansi, value[key]));- }- if (output.length === 0)- {- return '{}';- }- return '{ ' + output.join(', ') + ' }';- }-- return _Debug_internalColor(ansi, '<internals>');-}--function _Debug_addSlashes(str, isChar)-{- var s = str- .replace(/\\/g, '\\\\')- .replace(/\n/g, '\\n')- .replace(/\t/g, '\\t')- .replace(/\r/g, '\\r')- .replace(/\v/g, '\\v')- .replace(/\0/g, '\\0');-- if (isChar)- {- return s.replace(/\'/g, '\\\'');- }- else- {- return s.replace(/\"/g, '\\"');- }-}--function _Debug_ctorColor(ansi, string)-{- return ansi ? '\x1b[96m' + string + '\x1b[0m' : string;-}--function _Debug_numberColor(ansi, string)-{- return ansi ? '\x1b[95m' + string + '\x1b[0m' : string;-}--function _Debug_stringColor(ansi, string)-{- return ansi ? '\x1b[93m' + string + '\x1b[0m' : string;-}--function _Debug_charColor(ansi, string)-{- return ansi ? '\x1b[92m' + string + '\x1b[0m' : string;-}--function _Debug_fadeColor(ansi, string)-{- return ansi ? '\x1b[37m' + string + '\x1b[0m' : string;-}--function _Debug_internalColor(ansi, string)-{- return ansi ? '\x1b[36m' + string + '\x1b[0m' : string;-}--function _Debug_toHexDigit(n)-{- return String.fromCharCode(n < 10 ? 48 + n : 55 + n);-}---// CRASH---function _Debug_crash_UNUSED(identifier)-{- throw new Error('https://github.com/elm/core/blob/1.0.0/hints/' + identifier + '.md');-}---function _Debug_crash(identifier, fact1, fact2, fact3, fact4)-{- switch(identifier)- {- case 0:- throw 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.');-- case 1:- throw 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.');-- case 2:- var jsonErrorString = fact1;- throw new Error('Problem with the flags given to your Elm program on initialization.\n\n' + jsonErrorString);-- case 3:- var portName = fact1;- throw new Error('There can only be one port named `' + portName + '`, but your program has multiple.');-- case 4:- var portName = fact1;- var problem = fact2;- throw new Error('Trying to send an unexpected type of value through port `' + portName + '`:\n' + problem);-- case 5:- throw 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.');-- case 6:- var moduleName = fact1;- throw 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!');-- case 8:- var moduleName = fact1;- var region = fact2;- var message = fact3;- throw new Error('TODO in module `' + moduleName + '` ' + _Debug_regionToString(region) + '\n\n' + message);-- case 9:- var moduleName = fact1;- var region = fact2;- var value = fact3;- var message = fact4;- throw new Error(- 'TODO in module `' + moduleName + '` from the `case` expression '- + _Debug_regionToString(region) + '\n\nIt received the following value:\n\n '- + _Debug_toString(value).replace('\n', '\n ')- + '\n\nBut the branch that handles it says:\n\n ' + message.replace('\n', '\n ')- );-- case 10:- throw new Error('Bug in https://github.com/elm/virtual-dom/issues');-- case 11:- throw new Error('Cannot perform mod 0. Division by zero error.');- }-}--function _Debug_regionToString(region)-{- if (region.start.line === region.end.line)- {- return 'on line ' + region.start.line;- }- return 'on lines ' + region.start.line + ' through ' + region.end.line;-}----// EQUALITY--function _Utils_eq(x, y)-{- for (- var pair, stack = [], isEqual = _Utils_eqHelp(x, y, 0, stack);- isEqual && (pair = stack.pop());- isEqual = _Utils_eqHelp(pair.a, pair.b, 0, stack)- )- {}-- return isEqual;-}--function _Utils_eqHelp(x, y, depth, stack)-{- if (x === y)- {- return true;- }-- if (typeof x !== 'object' || x === null || y === null)- {- typeof x === 'function' && _Debug_crash(5);- return false;- }-- if (depth > 100)- {- stack.push(_Utils_Tuple2(x,y));- return true;- }-- /**/- if (x.$ === 'Set_elm_builtin')- {- x = $elm$core$Set$toList(x);- y = $elm$core$Set$toList(y);- }- if (x.$ === 'RBNode_elm_builtin' || x.$ === 'RBEmpty_elm_builtin')- {- x = $elm$core$Dict$toList(x);- y = $elm$core$Dict$toList(y);- }- //*/-- /**_UNUSED/- if (x.$ < 0)- {- x = $elm$core$Dict$toList(x);- y = $elm$core$Dict$toList(y);- }- //*/-- for (var key in x)- {- if (!_Utils_eqHelp(x[key], y[key], depth + 1, stack))- {- return false;- }- }- return true;-}--var _Utils_equal = F2(_Utils_eq);-var _Utils_notEqual = F2(function(a, b) { return !_Utils_eq(a,b); });----// COMPARISONS--// Code in Generate/JavaScript.hs, Basics.js, and List.js depends on-// the particular integer values assigned to LT, EQ, and GT.--function _Utils_cmp(x, y, ord)-{- if (typeof x !== 'object')- {- return x === y ? /*EQ*/ 0 : x < y ? /*LT*/ -1 : /*GT*/ 1;- }-- /**/- if (x instanceof String)- {- var a = x.valueOf();- var b = y.valueOf();- return a === b ? 0 : a < b ? -1 : 1;- }- //*/-- /**_UNUSED/- if (typeof x.$ === 'undefined')- //*/- /**/- if (x.$[0] === '#')- //*/- {- return (ord = _Utils_cmp(x.a, y.a))- ? ord- : (ord = _Utils_cmp(x.b, y.b))- ? ord- : _Utils_cmp(x.c, y.c);- }-- // traverse conses until end of a list or a mismatch- for (; x.b && y.b && !(ord = _Utils_cmp(x.a, y.a)); x = x.b, y = y.b) {} // WHILE_CONSES- return ord || (x.b ? /*GT*/ 1 : y.b ? /*LT*/ -1 : /*EQ*/ 0);-}--var _Utils_lt = F2(function(a, b) { return _Utils_cmp(a, b) < 0; });-var _Utils_le = F2(function(a, b) { return _Utils_cmp(a, b) < 1; });-var _Utils_gt = F2(function(a, b) { return _Utils_cmp(a, b) > 0; });-var _Utils_ge = F2(function(a, b) { return _Utils_cmp(a, b) >= 0; });--var _Utils_compare = F2(function(x, y)-{- var n = _Utils_cmp(x, y);- return n < 0 ? $elm$core$Basics$LT : n ? $elm$core$Basics$GT : $elm$core$Basics$EQ;-});---// COMMON VALUES--var _Utils_Tuple0_UNUSED = 0;-var _Utils_Tuple0 = { $: '#0' };--function _Utils_Tuple2_UNUSED(a, b) { return { a: a, b: b }; }-function _Utils_Tuple2(a, b) { return { $: '#2', a: a, b: b }; }--function _Utils_Tuple3_UNUSED(a, b, c) { return { a: a, b: b, c: c }; }-function _Utils_Tuple3(a, b, c) { return { $: '#3', a: a, b: b, c: c }; }--function _Utils_chr_UNUSED(c) { return c; }-function _Utils_chr(c) { return new String(c); }---// RECORDS--function _Utils_update(oldRecord, updatedFields)-{- var newRecord = {};-- for (var key in oldRecord)- {- newRecord[key] = oldRecord[key];- }-- for (var key in updatedFields)- {- newRecord[key] = updatedFields[key];- }-- return newRecord;-}---// APPEND--var _Utils_append = F2(_Utils_ap);--function _Utils_ap(xs, ys)-{- // append Strings- if (typeof xs === 'string')- {- return xs + ys;- }-- // append Lists- if (!xs.b)- {- return ys;- }- var root = _List_Cons(xs.a, ys);- xs = xs.b- for (var curr = root; xs.b; xs = xs.b) // WHILE_CONS- {- curr = curr.b = _List_Cons(xs.a, ys);- }- return root;-}----var _List_Nil_UNUSED = { $: 0 };-var _List_Nil = { $: '[]' };--function _List_Cons_UNUSED(hd, tl) { return { $: 1, a: hd, b: tl }; }-function _List_Cons(hd, tl) { return { $: '::', a: hd, b: tl }; }---var _List_cons = F2(_List_Cons);--function _List_fromArray(arr)-{- var out = _List_Nil;- for (var i = arr.length; i--; )- {- out = _List_Cons(arr[i], out);- }- return out;-}--function _List_toArray(xs)-{- for (var out = []; xs.b; xs = xs.b) // WHILE_CONS- {- out.push(xs.a);- }- return out;-}--var _List_map2 = F3(function(f, xs, ys)-{- for (var arr = []; xs.b && ys.b; xs = xs.b, ys = ys.b) // WHILE_CONSES- {- arr.push(A2(f, xs.a, ys.a));- }- return _List_fromArray(arr);-});--var _List_map3 = F4(function(f, xs, ys, zs)-{- for (var arr = []; xs.b && ys.b && zs.b; xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES- {- arr.push(A3(f, xs.a, ys.a, zs.a));- }- return _List_fromArray(arr);-});--var _List_map4 = F5(function(f, ws, xs, ys, zs)-{- for (var arr = []; ws.b && xs.b && ys.b && zs.b; ws = ws.b, xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES- {- arr.push(A4(f, ws.a, xs.a, ys.a, zs.a));- }- return _List_fromArray(arr);-});--var _List_map5 = F6(function(f, vs, ws, xs, ys, zs)-{- for (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- {- arr.push(A5(f, vs.a, ws.a, xs.a, ys.a, zs.a));- }- return _List_fromArray(arr);-});--var _List_sortBy = F2(function(f, xs)-{- return _List_fromArray(_List_toArray(xs).sort(function(a, b) {- return _Utils_cmp(f(a), f(b));- }));-});--var _List_sortWith = F2(function(f, xs)-{- return _List_fromArray(_List_toArray(xs).sort(function(a, b) {- var ord = A2(f, a, b);- return ord === $elm$core$Basics$EQ ? 0 : ord === $elm$core$Basics$LT ? -1 : 1;- }));-});----// MATH--var _Basics_add = F2(function(a, b) { return a + b; });-var _Basics_sub = F2(function(a, b) { return a - b; });-var _Basics_mul = F2(function(a, b) { return a * b; });-var _Basics_fdiv = F2(function(a, b) { return a / b; });-var _Basics_idiv = F2(function(a, b) { return (a / b) | 0; });-var _Basics_pow = F2(Math.pow);--var _Basics_remainderBy = F2(function(b, a) { return a % b; });--// https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/divmodnote-letter.pdf-var _Basics_modBy = F2(function(modulus, x)-{- var answer = x % modulus;- return modulus === 0- ? _Debug_crash(11)- :- ((answer > 0 && modulus < 0) || (answer < 0 && modulus > 0))- ? answer + modulus- : answer;-});---// TRIGONOMETRY--var _Basics_pi = Math.PI;-var _Basics_e = Math.E;-var _Basics_cos = Math.cos;-var _Basics_sin = Math.sin;-var _Basics_tan = Math.tan;-var _Basics_acos = Math.acos;-var _Basics_asin = Math.asin;-var _Basics_atan = Math.atan;-var _Basics_atan2 = F2(Math.atan2);---// MORE MATH--function _Basics_toFloat(x) { return x; }-function _Basics_truncate(n) { return n | 0; }-function _Basics_isInfinite(n) { return n === Infinity || n === -Infinity; }--var _Basics_ceiling = Math.ceil;-var _Basics_floor = Math.floor;-var _Basics_round = Math.round;-var _Basics_sqrt = Math.sqrt;-var _Basics_log = Math.log;-var _Basics_isNaN = isNaN;---// BOOLEANS--function _Basics_not(bool) { return !bool; }-var _Basics_and = F2(function(a, b) { return a && b; });-var _Basics_or = F2(function(a, b) { return a || b; });-var _Basics_xor = F2(function(a, b) { return a !== b; });----var _String_cons = F2(function(chr, str)-{- return chr + str;-});--function _String_uncons(string)-{- var word = string.charCodeAt(0);- return !isNaN(word)- ? $elm$core$Maybe$Just(- 0xD800 <= word && word <= 0xDBFF- ? _Utils_Tuple2(_Utils_chr(string[0] + string[1]), string.slice(2))- : _Utils_Tuple2(_Utils_chr(string[0]), string.slice(1))- )- : $elm$core$Maybe$Nothing;-}--var _String_append = F2(function(a, b)-{- return a + b;-});--function _String_length(str)-{- return str.length;-}--var _String_map = F2(function(func, string)-{- var len = string.length;- var array = new Array(len);- var i = 0;- while (i < len)- {- var word = string.charCodeAt(i);- if (0xD800 <= word && word <= 0xDBFF)- {- array[i] = func(_Utils_chr(string[i] + string[i+1]));- i += 2;- continue;- }- array[i] = func(_Utils_chr(string[i]));- i++;- }- return array.join('');-});--var _String_filter = F2(function(isGood, str)-{- var arr = [];- var len = str.length;- var i = 0;- while (i < len)- {- var char = str[i];- var word = str.charCodeAt(i);- i++;- if (0xD800 <= word && word <= 0xDBFF)- {- char += str[i];- i++;- }-- if (isGood(_Utils_chr(char)))- {- arr.push(char);- }- }- return arr.join('');-});--function _String_reverse(str)-{- var len = str.length;- var arr = new Array(len);- var i = 0;- while (i < len)- {- var word = str.charCodeAt(i);- if (0xD800 <= word && word <= 0xDBFF)- {- arr[len - i] = str[i + 1];- i++;- arr[len - i] = str[i - 1];- i++;- }- else- {- arr[len - i] = str[i];- i++;- }- }- return arr.join('');-}--var _String_foldl = F3(function(func, state, string)-{- var len = string.length;- var i = 0;- while (i < len)- {- var char = string[i];- var word = string.charCodeAt(i);- i++;- if (0xD800 <= word && word <= 0xDBFF)- {- char += string[i];- i++;- }- state = A2(func, _Utils_chr(char), state);- }- return state;-});--var _String_foldr = F3(function(func, state, string)-{- var i = string.length;- while (i--)- {- var char = string[i];- var word = string.charCodeAt(i);- if (0xDC00 <= word && word <= 0xDFFF)- {- i--;- char = string[i] + char;- }- state = A2(func, _Utils_chr(char), state);- }- return state;-});--var _String_split = F2(function(sep, str)-{- return str.split(sep);-});--var _String_join = F2(function(sep, strs)-{- return strs.join(sep);-});--var _String_slice = F3(function(start, end, str) {- return str.slice(start, end);-});--function _String_trim(str)-{- return str.trim();-}--function _String_trimLeft(str)-{- return str.replace(/^\s+/, '');-}--function _String_trimRight(str)-{- return str.replace(/\s+$/, '');-}--function _String_words(str)-{- return _List_fromArray(str.trim().split(/\s+/g));-}--function _String_lines(str)-{- return _List_fromArray(str.split(/\r\n|\r|\n/g));-}--function _String_toUpper(str)-{- return str.toUpperCase();-}--function _String_toLower(str)-{- return str.toLowerCase();-}--var _String_any = F2(function(isGood, string)-{- var i = string.length;- while (i--)- {- var char = string[i];- var word = string.charCodeAt(i);- if (0xDC00 <= word && word <= 0xDFFF)- {- i--;- char = string[i] + char;- }- if (isGood(_Utils_chr(char)))- {- return true;- }- }- return false;-});--var _String_all = F2(function(isGood, string)-{- var i = string.length;- while (i--)- {- var char = string[i];- var word = string.charCodeAt(i);- if (0xDC00 <= word && word <= 0xDFFF)- {- i--;- char = string[i] + char;- }- if (!isGood(_Utils_chr(char)))- {- return false;- }- }- return true;-});--var _String_contains = F2(function(sub, str)-{- return str.indexOf(sub) > -1;-});--var _String_startsWith = F2(function(sub, str)-{- return str.indexOf(sub) === 0;-});--var _String_endsWith = F2(function(sub, str)-{- return str.length >= sub.length &&- str.lastIndexOf(sub) === str.length - sub.length;-});--var _String_indexes = F2(function(sub, str)-{- var subLen = sub.length;-- if (subLen < 1)- {- return _List_Nil;- }-- var i = 0;- var is = [];-- while ((i = str.indexOf(sub, i)) > -1)- {- is.push(i);- i = i + subLen;- }-- return _List_fromArray(is);-});---// TO STRING--function _String_fromNumber(number)-{- return number + '';-}---// INT CONVERSIONS--function _String_toInt(str)-{- var total = 0;- var code0 = str.charCodeAt(0);- var start = code0 == 0x2B /* + */ || code0 == 0x2D /* - */ ? 1 : 0;-- for (var i = start; i < str.length; ++i)- {- var code = str.charCodeAt(i);- if (code < 0x30 || 0x39 < code)- {- return $elm$core$Maybe$Nothing;- }- total = 10 * total + code - 0x30;- }-- return i == start- ? $elm$core$Maybe$Nothing- : $elm$core$Maybe$Just(code0 == 0x2D ? -total : total);-}---// FLOAT CONVERSIONS--function _String_toFloat(s)-{- // check if it is a hex, octal, or binary number- if (s.length === 0 || /[\sxbo]/.test(s))- {- return $elm$core$Maybe$Nothing;- }- var n = +s;- // faster isNaN check- return n === n ? $elm$core$Maybe$Just(n) : $elm$core$Maybe$Nothing;-}--function _String_fromList(chars)-{- return _List_toArray(chars).join('');-}-----function _Char_toCode(char)-{- var code = char.charCodeAt(0);- if (0xD800 <= code && code <= 0xDBFF)- {- return (code - 0xD800) * 0x400 + char.charCodeAt(1) - 0xDC00 + 0x10000- }- return code;-}--function _Char_fromCode(code)-{- return _Utils_chr(- (code < 0 || 0x10FFFF < code)- ? '\uFFFD'- :- (code <= 0xFFFF)- ? String.fromCharCode(code)- :- (code -= 0x10000,- String.fromCharCode(Math.floor(code / 0x400) + 0xD800, code % 0x400 + 0xDC00)- )- );-}--function _Char_toUpper(char)-{- return _Utils_chr(char.toUpperCase());-}--function _Char_toLower(char)-{- return _Utils_chr(char.toLowerCase());-}--function _Char_toLocaleUpper(char)-{- return _Utils_chr(char.toLocaleUpperCase());-}--function _Char_toLocaleLower(char)-{- return _Utils_chr(char.toLocaleLowerCase());-}----/**/-function _Json_errorToString(error)-{- return $elm$json$Json$Decode$errorToString(error);-}-//*/---// CORE DECODERS--function _Json_succeed(msg)-{- return {- $: 0,- a: msg- };-}--function _Json_fail(msg)-{- return {- $: 1,- a: msg- };-}--function _Json_decodePrim(decoder)-{- return { $: 2, b: decoder };-}--var _Json_decodeInt = _Json_decodePrim(function(value) {- return (typeof value !== 'number')- ? _Json_expecting('an INT', value)- :- (-2147483647 < value && value < 2147483647 && (value | 0) === value)- ? $elm$core$Result$Ok(value)- :- (isFinite(value) && !(value % 1))- ? $elm$core$Result$Ok(value)- : _Json_expecting('an INT', value);-});--var _Json_decodeBool = _Json_decodePrim(function(value) {- return (typeof value === 'boolean')- ? $elm$core$Result$Ok(value)- : _Json_expecting('a BOOL', value);-});--var _Json_decodeFloat = _Json_decodePrim(function(value) {- return (typeof value === 'number')- ? $elm$core$Result$Ok(value)- : _Json_expecting('a FLOAT', value);-});--var _Json_decodeValue = _Json_decodePrim(function(value) {- return $elm$core$Result$Ok(_Json_wrap(value));-});--var _Json_decodeString = _Json_decodePrim(function(value) {- return (typeof value === 'string')- ? $elm$core$Result$Ok(value)- : (value instanceof String)- ? $elm$core$Result$Ok(value + '')- : _Json_expecting('a STRING', value);-});--function _Json_decodeList(decoder) { return { $: 3, b: decoder }; }-function _Json_decodeArray(decoder) { return { $: 4, b: decoder }; }--function _Json_decodeNull(value) { return { $: 5, c: value }; }--var _Json_decodeField = F2(function(field, decoder)-{- return {- $: 6,- d: field,- b: decoder- };-});--var _Json_decodeIndex = F2(function(index, decoder)-{- return {- $: 7,- e: index,- b: decoder- };-});--function _Json_decodeKeyValuePairs(decoder)-{- return {- $: 8,- b: decoder- };-}--function _Json_mapMany(f, decoders)-{- return {- $: 9,- f: f,- g: decoders- };-}--var _Json_andThen = F2(function(callback, decoder)-{- return {- $: 10,- b: decoder,- h: callback- };-});--function _Json_oneOf(decoders)-{- return {- $: 11,- g: decoders- };-}---// DECODING OBJECTS--var _Json_map1 = F2(function(f, d1)-{- return _Json_mapMany(f, [d1]);-});--var _Json_map2 = F3(function(f, d1, d2)-{- return _Json_mapMany(f, [d1, d2]);-});--var _Json_map3 = F4(function(f, d1, d2, d3)-{- return _Json_mapMany(f, [d1, d2, d3]);-});--var _Json_map4 = F5(function(f, d1, d2, d3, d4)-{- return _Json_mapMany(f, [d1, d2, d3, d4]);-});--var _Json_map5 = F6(function(f, d1, d2, d3, d4, d5)-{- return _Json_mapMany(f, [d1, d2, d3, d4, d5]);-});--var _Json_map6 = F7(function(f, d1, d2, d3, d4, d5, d6)-{- return _Json_mapMany(f, [d1, d2, d3, d4, d5, d6]);-});--var _Json_map7 = F8(function(f, d1, d2, d3, d4, d5, d6, d7)-{- return _Json_mapMany(f, [d1, d2, d3, d4, d5, d6, d7]);-});--var _Json_map8 = F9(function(f, d1, d2, d3, d4, d5, d6, d7, d8)-{- return _Json_mapMany(f, [d1, d2, d3, d4, d5, d6, d7, d8]);-});---// DECODE--var _Json_runOnString = F2(function(decoder, string)-{- try- {- var value = JSON.parse(string);- return _Json_runHelp(decoder, value);- }- catch (e)- {- return $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, 'This is not valid JSON! ' + e.message, _Json_wrap(string)));- }-});--var _Json_run = F2(function(decoder, value)-{- return _Json_runHelp(decoder, _Json_unwrap(value));-});--function _Json_runHelp(decoder, value)-{- switch (decoder.$)- {- case 2:- return decoder.b(value);-- case 5:- return (value === null)- ? $elm$core$Result$Ok(decoder.c)- : _Json_expecting('null', value);-- case 3:- if (!_Json_isArray(value))- {- return _Json_expecting('a LIST', value);- }- return _Json_runArrayDecoder(decoder.b, value, _List_fromArray);-- case 4:- if (!_Json_isArray(value))- {- return _Json_expecting('an ARRAY', value);- }- return _Json_runArrayDecoder(decoder.b, value, _Json_toElmArray);-- case 6:- var field = decoder.d;- if (typeof value !== 'object' || value === null || !(field in value))- {- return _Json_expecting('an OBJECT with a field named `' + field + '`', value);- }- var result = _Json_runHelp(decoder.b, value[field]);- return ($elm$core$Result$isOk(result)) ? result : $elm$core$Result$Err(A2($elm$json$Json$Decode$Field, field, result.a));-- case 7:- var index = decoder.e;- if (!_Json_isArray(value))- {- return _Json_expecting('an ARRAY', value);- }- if (index >= value.length)- {- return _Json_expecting('a LONGER array. Need index ' + index + ' but only see ' + value.length + ' entries', value);- }- var result = _Json_runHelp(decoder.b, value[index]);- return ($elm$core$Result$isOk(result)) ? result : $elm$core$Result$Err(A2($elm$json$Json$Decode$Index, index, result.a));-- case 8:- if (typeof value !== 'object' || value === null || _Json_isArray(value))- {- return _Json_expecting('an OBJECT', value);- }-- var keyValuePairs = _List_Nil;- // TODO test perf of Object.keys and switch when support is good enough- for (var key in value)- {- if (value.hasOwnProperty(key))- {- var result = _Json_runHelp(decoder.b, value[key]);- if (!$elm$core$Result$isOk(result))- {- return $elm$core$Result$Err(A2($elm$json$Json$Decode$Field, key, result.a));- }- keyValuePairs = _List_Cons(_Utils_Tuple2(key, result.a), keyValuePairs);- }- }- return $elm$core$Result$Ok($elm$core$List$reverse(keyValuePairs));-- case 9:- var answer = decoder.f;- var decoders = decoder.g;- for (var i = 0; i < decoders.length; i++)- {- var result = _Json_runHelp(decoders[i], value);- if (!$elm$core$Result$isOk(result))- {- return result;- }- answer = answer(result.a);- }- return $elm$core$Result$Ok(answer);-- case 10:- var result = _Json_runHelp(decoder.b, value);- return (!$elm$core$Result$isOk(result))- ? result- : _Json_runHelp(decoder.h(result.a), value);-- case 11:- var errors = _List_Nil;- for (var temp = decoder.g; temp.b; temp = temp.b) // WHILE_CONS- {- var result = _Json_runHelp(temp.a, value);- if ($elm$core$Result$isOk(result))- {- return result;- }- errors = _List_Cons(result.a, errors);- }- return $elm$core$Result$Err($elm$json$Json$Decode$OneOf($elm$core$List$reverse(errors)));-- case 1:- return $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, decoder.a, _Json_wrap(value)));-- case 0:- return $elm$core$Result$Ok(decoder.a);- }-}--function _Json_runArrayDecoder(decoder, value, toElmValue)-{- var len = value.length;- var array = new Array(len);- for (var i = 0; i < len; i++)- {- var result = _Json_runHelp(decoder, value[i]);- if (!$elm$core$Result$isOk(result))- {- return $elm$core$Result$Err(A2($elm$json$Json$Decode$Index, i, result.a));- }- array[i] = result.a;- }- return $elm$core$Result$Ok(toElmValue(array));-}--function _Json_isArray(value)-{- return Array.isArray(value) || (typeof FileList !== 'undefined' && value instanceof FileList);-}--function _Json_toElmArray(array)-{- return A2($elm$core$Array$initialize, array.length, function(i) { return array[i]; });-}--function _Json_expecting(type, value)-{- return $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, 'Expecting ' + type, _Json_wrap(value)));-}---// EQUALITY--function _Json_equality(x, y)-{- if (x === y)- {- return true;- }-- if (x.$ !== y.$)- {- return false;- }-- switch (x.$)- {- case 0:- case 1:- return x.a === y.a;-- case 2:- return x.b === y.b;-- case 5:- return x.c === y.c;-- case 3:- case 4:- case 8:- return _Json_equality(x.b, y.b);-- case 6:- return x.d === y.d && _Json_equality(x.b, y.b);-- case 7:- return x.e === y.e && _Json_equality(x.b, y.b);-- case 9:- return x.f === y.f && _Json_listEquality(x.g, y.g);-- case 10:- return x.h === y.h && _Json_equality(x.b, y.b);-- case 11:- return _Json_listEquality(x.g, y.g);- }-}--function _Json_listEquality(aDecoders, bDecoders)-{- var len = aDecoders.length;- if (len !== bDecoders.length)- {- return false;- }- for (var i = 0; i < len; i++)- {- if (!_Json_equality(aDecoders[i], bDecoders[i]))- {- return false;- }- }- return true;-}---// ENCODE--var _Json_encode = F2(function(indentLevel, value)-{- return JSON.stringify(_Json_unwrap(value), null, indentLevel) + '';-});--function _Json_wrap(value) { return { $: 0, a: value }; }-function _Json_unwrap(value) { return value.a; }--function _Json_wrap_UNUSED(value) { return value; }-function _Json_unwrap_UNUSED(value) { return value; }--function _Json_emptyArray() { return []; }-function _Json_emptyObject() { return {}; }--var _Json_addField = F3(function(key, value, object)-{- object[key] = _Json_unwrap(value);- return object;-});--function _Json_addEntry(func)-{- return F2(function(entry, array)- {- array.push(_Json_unwrap(func(entry)));- return array;- });-}--var _Json_encodeNull = _Json_wrap(null);----// TASKS--function _Scheduler_succeed(value)-{- return {- $: 0,- a: value- };-}--function _Scheduler_fail(error)-{- return {- $: 1,- a: error- };-}--function _Scheduler_binding(callback)-{- return {- $: 2,- b: callback,- c: null- };-}--var _Scheduler_andThen = F2(function(callback, task)-{- return {- $: 3,- b: callback,- d: task- };-});--var _Scheduler_onError = F2(function(callback, task)-{- return {- $: 4,- b: callback,- d: task- };-});--function _Scheduler_receive(callback)-{- return {- $: 5,- b: callback- };-}---// PROCESSES--var _Scheduler_guid = 0;--function _Scheduler_rawSpawn(task)-{- var proc = {- $: 0,- e: _Scheduler_guid++,- f: task,- g: null,- h: []- };-- _Scheduler_enqueue(proc);-- return proc;-}--function _Scheduler_spawn(task)-{- return _Scheduler_binding(function(callback) {- callback(_Scheduler_succeed(_Scheduler_rawSpawn(task)));- });-}--function _Scheduler_rawSend(proc, msg)-{- proc.h.push(msg);- _Scheduler_enqueue(proc);-}--var _Scheduler_send = F2(function(proc, msg)-{- return _Scheduler_binding(function(callback) {- _Scheduler_rawSend(proc, msg);- callback(_Scheduler_succeed(_Utils_Tuple0));- });-});--function _Scheduler_kill(proc)-{- return _Scheduler_binding(function(callback) {- var task = proc.f;- if (task.$ === 2 && task.c)- {- task.c();- }-- proc.f = null;-- callback(_Scheduler_succeed(_Utils_Tuple0));- });-}---/* STEP PROCESSES--type alias Process =- { $ : tag- , id : unique_id- , root : Task- , stack : null | { $: SUCCEED | FAIL, a: callback, b: stack }- , mailbox : [msg]- }--*/---var _Scheduler_working = false;-var _Scheduler_queue = [];---function _Scheduler_enqueue(proc)-{- _Scheduler_queue.push(proc);- if (_Scheduler_working)- {- return;- }- _Scheduler_working = true;- while (proc = _Scheduler_queue.shift())- {- _Scheduler_step(proc);- }- _Scheduler_working = false;-}---function _Scheduler_step(proc)-{- while (proc.f)- {- var rootTag = proc.f.$;- if (rootTag === 0 || rootTag === 1)- {- while (proc.g && proc.g.$ !== rootTag)- {- proc.g = proc.g.i;- }- if (!proc.g)- {- return;- }- proc.f = proc.g.b(proc.f.a);- proc.g = proc.g.i;- }- else if (rootTag === 2)- {- proc.f.c = proc.f.b(function(newRoot) {- proc.f = newRoot;- _Scheduler_enqueue(proc);- });- return;- }- else if (rootTag === 5)- {- if (proc.h.length === 0)- {- return;- }- proc.f = proc.f.b(proc.h.shift());- }- else // if (rootTag === 3 || rootTag === 4)- {- proc.g = {- $: rootTag === 3 ? 0 : 1,- b: proc.f.b,- i: proc.g- };- proc.f = proc.f.d;- }- }-}----function _Process_sleep(time)-{- return _Scheduler_binding(function(callback) {- var id = setTimeout(function() {- callback(_Scheduler_succeed(_Utils_Tuple0));- }, time);-- return function() { clearTimeout(id); };- });-}-----// PROGRAMS---var _Platform_worker = F4(function(impl, flagDecoder, debugMetadata, args)-{- return _Platform_initialize(- flagDecoder,- args,- impl.init,- impl.update,- impl.subscriptions,- function() { return function() {} }- );-});----// INITIALIZE A PROGRAM---function _Platform_initialize(flagDecoder, args, init, update, subscriptions, stepperBuilder)-{- var result = A2(_Json_run, flagDecoder, _Json_wrap(args ? args['flags'] : undefined));- $elm$core$Result$isOk(result) || _Debug_crash(2 /**/, _Json_errorToString(result.a) /**/);- var managers = {};- var initPair = init(result.a);- var model = initPair.a;- var stepper = stepperBuilder(sendToApp, model);- var ports = _Platform_setupEffects(managers, sendToApp);-- function sendToApp(msg, viewMetadata)- {- var pair = A2(update, msg, model);- stepper(model = pair.a, viewMetadata);- _Platform_enqueueEffects(managers, pair.b, subscriptions(model));- }-- _Platform_enqueueEffects(managers, initPair.b, subscriptions(model));-- return ports ? { ports: ports } : {};-}----// TRACK PRELOADS-//-// This is used by code in elm/browser and elm/http-// to register any HTTP requests that are triggered by init.-//---var _Platform_preload;---function _Platform_registerPreload(url)-{- _Platform_preload.add(url);-}----// EFFECT MANAGERS---var _Platform_effectManagers = {};---function _Platform_setupEffects(managers, sendToApp)-{- var ports;-- // setup all necessary effect managers- for (var key in _Platform_effectManagers)- {- var manager = _Platform_effectManagers[key];-- if (manager.a)- {- ports = ports || {};- ports[key] = manager.a(key, sendToApp);- }-- managers[key] = _Platform_instantiateManager(manager, sendToApp);- }-- return ports;-}---function _Platform_createManager(init, onEffects, onSelfMsg, cmdMap, subMap)-{- return {- b: init,- c: onEffects,- d: onSelfMsg,- e: cmdMap,- f: subMap- };-}---function _Platform_instantiateManager(info, sendToApp)-{- var router = {- g: sendToApp,- h: undefined- };-- var onEffects = info.c;- var onSelfMsg = info.d;- var cmdMap = info.e;- var subMap = info.f;-- function loop(state)- {- return A2(_Scheduler_andThen, loop, _Scheduler_receive(function(msg)- {- var value = msg.a;-- if (msg.$ === 0)- {- return A3(onSelfMsg, router, value, state);- }-- return cmdMap && subMap- ? A4(onEffects, router, value.i, value.j, state)- : A3(onEffects, router, cmdMap ? value.i : value.j, state);- }));- }-- return router.h = _Scheduler_rawSpawn(A2(_Scheduler_andThen, loop, info.b));-}----// ROUTING---var _Platform_sendToApp = F2(function(router, msg)-{- return _Scheduler_binding(function(callback)- {- router.g(msg);- callback(_Scheduler_succeed(_Utils_Tuple0));- });-});---var _Platform_sendToSelf = F2(function(router, msg)-{- return A2(_Scheduler_send, router.h, {- $: 0,- a: msg- });-});----// BAGS---function _Platform_leaf(home)-{- return function(value)- {- return {- $: 1,- k: home,- l: value- };- };-}---function _Platform_batch(list)-{- return {- $: 2,- m: list- };-}---var _Platform_map = F2(function(tagger, bag)-{- return {- $: 3,- n: tagger,- o: bag- }-});----// PIPE BAGS INTO EFFECT MANAGERS-//-// Effects must be queued!-//-// Say your init contains a synchronous command, like Time.now or Time.here-//-// - This will produce a batch of effects (FX_1)-// - The synchronous task triggers the subsequent `update` call-// - This will produce a batch of effects (FX_2)-//-// If we just start dispatching FX_2, subscriptions from FX_2 can be processed-// before subscriptions from FX_1. No good! Earlier versions of this code had-// this problem, leading to these reports:-//-// https://github.com/elm/core/issues/980-// https://github.com/elm/core/pull/981-// https://github.com/elm/compiler/issues/1776-//-// The queue is necessary to avoid ordering issues for synchronous commands.---// Why use true/false here? Why not just check the length of the queue?-// The goal is to detect "are we currently dispatching effects?" If we-// are, we need to bail and let the ongoing while loop handle things.-//-// Now say the queue has 1 element. When we dequeue the final element,-// the queue will be empty, but we are still actively dispatching effects.-// So you could get queue jumping in a really tricky category of cases.-//-var _Platform_effectsQueue = [];-var _Platform_effectsActive = false;---function _Platform_enqueueEffects(managers, cmdBag, subBag)-{- _Platform_effectsQueue.push({ p: managers, q: cmdBag, r: subBag });-- if (_Platform_effectsActive) return;-- _Platform_effectsActive = true;- for (var fx; fx = _Platform_effectsQueue.shift(); )- {- _Platform_dispatchEffects(fx.p, fx.q, fx.r);- }- _Platform_effectsActive = false;-}---function _Platform_dispatchEffects(managers, cmdBag, subBag)-{- var effectsDict = {};- _Platform_gatherEffects(true, cmdBag, effectsDict, null);- _Platform_gatherEffects(false, subBag, effectsDict, null);-- for (var home in managers)- {- _Scheduler_rawSend(managers[home], {- $: 'fx',- a: effectsDict[home] || { i: _List_Nil, j: _List_Nil }- });- }-}---function _Platform_gatherEffects(isCmd, bag, effectsDict, taggers)-{- switch (bag.$)- {- case 1:- var home = bag.k;- var effect = _Platform_toEffect(isCmd, home, taggers, bag.l);- effectsDict[home] = _Platform_insert(isCmd, effect, effectsDict[home]);- return;-- case 2:- for (var list = bag.m; list.b; list = list.b) // WHILE_CONS- {- _Platform_gatherEffects(isCmd, list.a, effectsDict, taggers);- }- return;-- case 3:- _Platform_gatherEffects(isCmd, bag.o, effectsDict, {- s: bag.n,- t: taggers- });- return;- }-}---function _Platform_toEffect(isCmd, home, taggers, value)-{- function applyTaggers(x)- {- for (var temp = taggers; temp; temp = temp.t)- {- x = temp.s(x);- }- return x;- }-- var map = isCmd- ? _Platform_effectManagers[home].e- : _Platform_effectManagers[home].f;-- return A2(map, applyTaggers, value)-}---function _Platform_insert(isCmd, newEffect, effects)-{- effects = effects || { i: _List_Nil, j: _List_Nil };-- isCmd- ? (effects.i = _List_Cons(newEffect, effects.i))- : (effects.j = _List_Cons(newEffect, effects.j));-- return effects;-}----// PORTS---function _Platform_checkPortName(name)-{- if (_Platform_effectManagers[name])- {- _Debug_crash(3, name)- }-}----// OUTGOING PORTS---function _Platform_outgoingPort(name, converter)-{- _Platform_checkPortName(name);- _Platform_effectManagers[name] = {- e: _Platform_outgoingPortMap,- u: converter,- a: _Platform_setupOutgoingPort- };- return _Platform_leaf(name);-}---var _Platform_outgoingPortMap = F2(function(tagger, value) { return value; });---function _Platform_setupOutgoingPort(name)-{- var subs = [];- var converter = _Platform_effectManagers[name].u;-- // CREATE MANAGER-- var init = _Process_sleep(0);-- _Platform_effectManagers[name].b = init;- _Platform_effectManagers[name].c = F3(function(router, cmdList, state)- {- for ( ; cmdList.b; cmdList = cmdList.b) // WHILE_CONS- {- // grab a separate reference to subs in case unsubscribe is called- var currentSubs = subs;- var value = _Json_unwrap(converter(cmdList.a));- for (var i = 0; i < currentSubs.length; i++)- {- currentSubs[i](value);- }- }- return init;- });-- // PUBLIC API-- function subscribe(callback)- {- subs.push(callback);- }-- function unsubscribe(callback)- {- // copy subs into a new array in case unsubscribe is called within a- // subscribed callback- subs = subs.slice();- var index = subs.indexOf(callback);- if (index >= 0)- {- subs.splice(index, 1);- }- }-- return {- subscribe: subscribe,- unsubscribe: unsubscribe- };-}----// INCOMING PORTS---function _Platform_incomingPort(name, converter)-{- _Platform_checkPortName(name);- _Platform_effectManagers[name] = {- f: _Platform_incomingPortMap,- u: converter,- a: _Platform_setupIncomingPort- };- return _Platform_leaf(name);-}---var _Platform_incomingPortMap = F2(function(tagger, finalTagger)-{- return function(value)- {- return tagger(finalTagger(value));- };-});---function _Platform_setupIncomingPort(name, sendToApp)-{- var subs = _List_Nil;- var converter = _Platform_effectManagers[name].u;-- // CREATE MANAGER-- var init = _Scheduler_succeed(null);-- _Platform_effectManagers[name].b = init;- _Platform_effectManagers[name].c = F3(function(router, subList, state)- {- subs = subList;- return init;- });-- // PUBLIC API-- function send(incomingValue)- {- var result = A2(_Json_run, converter, _Json_wrap(incomingValue));-- $elm$core$Result$isOk(result) || _Debug_crash(4, name, result.a);-- var value = result.a;- for (var temp = subs; temp.b; temp = temp.b) // WHILE_CONS- {- sendToApp(temp.a(value));- }- }-- return { send: send };-}----// EXPORT ELM MODULES-//-// Have DEBUG and PROD versions so that we can (1) give nicer errors in-// debug mode and (2) not pay for the bits needed for that in prod mode.-//---function _Platform_export_UNUSED(exports)-{- scope['Elm']- ? _Platform_mergeExportsProd(scope['Elm'], exports)- : scope['Elm'] = exports;-}---function _Platform_mergeExportsProd(obj, exports)-{- for (var name in exports)- {- (name in obj)- ? (name == 'init')- ? _Debug_crash(6)- : _Platform_mergeExportsProd(obj[name], exports[name])- : (obj[name] = exports[name]);- }-}---function _Platform_export(exports)-{- scope['Elm']- ? _Platform_mergeExportsDebug('Elm', scope['Elm'], exports)- : scope['Elm'] = exports;-}---function _Platform_mergeExportsDebug(moduleName, obj, exports)-{- for (var name in exports)- {- (name in obj)- ? (name == 'init')- ? _Debug_crash(6, moduleName)- : _Platform_mergeExportsDebug(moduleName + '.' + name, obj[name], exports[name])- : (obj[name] = exports[name]);- }-}-----// HELPERS---var _VirtualDom_divertHrefToApp;--var _VirtualDom_doc = typeof document !== 'undefined' ? document : {};---function _VirtualDom_appendChild(parent, child)-{- parent.appendChild(child);-}--var _VirtualDom_init = F4(function(virtualNode, flagDecoder, debugMetadata, args)-{- // NOTE: this function needs _Platform_export available to work-- /**_UNUSED/- var node = args['node'];- //*/- /**/- var node = args && args['node'] ? args['node'] : _Debug_crash(0);- //*/-- node.parentNode.replaceChild(- _VirtualDom_render(virtualNode, function() {}),- node- );-- return {};-});----// TEXT---function _VirtualDom_text(string)-{- return {- $: 0,- a: string- };-}----// NODE---var _VirtualDom_nodeNS = F2(function(namespace, tag)-{- return F2(function(factList, kidList)- {- for (var kids = [], descendantsCount = 0; kidList.b; kidList = kidList.b) // WHILE_CONS- {- var kid = kidList.a;- descendantsCount += (kid.b || 0);- kids.push(kid);- }- descendantsCount += kids.length;-- return {- $: 1,- c: tag,- d: _VirtualDom_organizeFacts(factList),- e: kids,- f: namespace,- b: descendantsCount- };- });-});---var _VirtualDom_node = _VirtualDom_nodeNS(undefined);----// KEYED NODE---var _VirtualDom_keyedNodeNS = F2(function(namespace, tag)-{- return F2(function(factList, kidList)- {- for (var kids = [], descendantsCount = 0; kidList.b; kidList = kidList.b) // WHILE_CONS- {- var kid = kidList.a;- descendantsCount += (kid.b.b || 0);- kids.push(kid);- }- descendantsCount += kids.length;-- return {- $: 2,- c: tag,- d: _VirtualDom_organizeFacts(factList),- e: kids,- f: namespace,- b: descendantsCount- };- });-});---var _VirtualDom_keyedNode = _VirtualDom_keyedNodeNS(undefined);----// CUSTOM---function _VirtualDom_custom(factList, model, render, diff)-{- return {- $: 3,- d: _VirtualDom_organizeFacts(factList),- g: model,- h: render,- i: diff- };-}----// MAP---var _VirtualDom_map = F2(function(tagger, node)-{- return {- $: 4,- j: tagger,- k: node,- b: 1 + (node.b || 0)- };-});----// LAZY---function _VirtualDom_thunk(refs, thunk)-{- return {- $: 5,- l: refs,- m: thunk,- k: undefined- };-}--var _VirtualDom_lazy = F2(function(func, a)-{- return _VirtualDom_thunk([func, a], function() {- return func(a);- });-});--var _VirtualDom_lazy2 = F3(function(func, a, b)-{- return _VirtualDom_thunk([func, a, b], function() {- return A2(func, a, b);- });-});--var _VirtualDom_lazy3 = F4(function(func, a, b, c)-{- return _VirtualDom_thunk([func, a, b, c], function() {- return A3(func, a, b, c);- });-});--var _VirtualDom_lazy4 = F5(function(func, a, b, c, d)-{- return _VirtualDom_thunk([func, a, b, c, d], function() {- return A4(func, a, b, c, d);- });-});--var _VirtualDom_lazy5 = F6(function(func, a, b, c, d, e)-{- return _VirtualDom_thunk([func, a, b, c, d, e], function() {- return A5(func, a, b, c, d, e);- });-});--var _VirtualDom_lazy6 = F7(function(func, a, b, c, d, e, f)-{- return _VirtualDom_thunk([func, a, b, c, d, e, f], function() {- return A6(func, a, b, c, d, e, f);- });-});--var _VirtualDom_lazy7 = F8(function(func, a, b, c, d, e, f, g)-{- return _VirtualDom_thunk([func, a, b, c, d, e, f, g], function() {- return A7(func, a, b, c, d, e, f, g);- });-});--var _VirtualDom_lazy8 = F9(function(func, a, b, c, d, e, f, g, h)-{- return _VirtualDom_thunk([func, a, b, c, d, e, f, g, h], function() {- return A8(func, a, b, c, d, e, f, g, h);- });-});----// FACTS---var _VirtualDom_on = F2(function(key, handler)-{- return {- $: 'a0',- n: key,- o: handler- };-});-var _VirtualDom_style = F2(function(key, value)-{- return {- $: 'a1',- n: key,- o: value- };-});-var _VirtualDom_property = F2(function(key, value)-{- return {- $: 'a2',- n: key,- o: value- };-});-var _VirtualDom_attribute = F2(function(key, value)-{- return {- $: 'a3',- n: key,- o: value- };-});-var _VirtualDom_attributeNS = F3(function(namespace, key, value)-{- return {- $: 'a4',- n: key,- o: { f: namespace, o: value }- };-});----// XSS ATTACK VECTOR CHECKS---function _VirtualDom_noScript(tag)-{- return tag == 'script' ? 'p' : tag;-}--function _VirtualDom_noOnOrFormAction(key)-{- return /^(on|formAction$)/i.test(key) ? 'data-' + key : key;-}--function _VirtualDom_noInnerHtmlOrFormAction(key)-{- return key == 'innerHTML' || key == 'formAction' ? 'data-' + key : key;-}--function _VirtualDom_noJavaScriptUri_UNUSED(value)-{- return /^javascript:/i.test(value.replace(/\s/g,'')) ? '' : value;-}--function _VirtualDom_noJavaScriptUri(value)-{- return /^javascript:/i.test(value.replace(/\s/g,''))- ? 'javascript:alert("This is an XSS vector. Please use ports or web components instead.")'- : value;-}--function _VirtualDom_noJavaScriptOrHtmlUri_UNUSED(value)-{- return /^\s*(javascript:|data:text\/html)/i.test(value) ? '' : value;-}--function _VirtualDom_noJavaScriptOrHtmlUri(value)-{- return /^\s*(javascript:|data:text\/html)/i.test(value)- ? 'javascript:alert("This is an XSS vector. Please use ports or web components instead.")'- : value;-}----// MAP FACTS---var _VirtualDom_mapAttribute = F2(function(func, attr)-{- return (attr.$ === 'a0')- ? A2(_VirtualDom_on, attr.n, _VirtualDom_mapHandler(func, attr.o))- : attr;-});--function _VirtualDom_mapHandler(func, handler)-{- var tag = $elm$virtual_dom$VirtualDom$toHandlerInt(handler);-- // 0 = Normal- // 1 = MayStopPropagation- // 2 = MayPreventDefault- // 3 = Custom-- return {- $: handler.$,- a:- !tag- ? A2($elm$json$Json$Decode$map, func, handler.a)- :- A3($elm$json$Json$Decode$map2,- tag < 3- ? _VirtualDom_mapEventTuple- : _VirtualDom_mapEventRecord,- $elm$json$Json$Decode$succeed(func),- handler.a- )- };-}--var _VirtualDom_mapEventTuple = F2(function(func, tuple)-{- return _Utils_Tuple2(func(tuple.a), tuple.b);-});--var _VirtualDom_mapEventRecord = F2(function(func, record)-{- return {- message: func(record.message),- stopPropagation: record.stopPropagation,- preventDefault: record.preventDefault- }-});----// ORGANIZE FACTS---function _VirtualDom_organizeFacts(factList)-{- for (var facts = {}; factList.b; factList = factList.b) // WHILE_CONS- {- var entry = factList.a;-- var tag = entry.$;- var key = entry.n;- var value = entry.o;-- if (tag === 'a2')- {- (key === 'className')- ? _VirtualDom_addClass(facts, key, _Json_unwrap(value))- : facts[key] = _Json_unwrap(value);-- continue;- }-- var subFacts = facts[tag] || (facts[tag] = {});- (tag === 'a3' && key === 'class')- ? _VirtualDom_addClass(subFacts, key, value)- : subFacts[key] = value;- }-- return facts;-}--function _VirtualDom_addClass(object, key, newClass)-{- var classes = object[key];- object[key] = classes ? classes + ' ' + newClass : newClass;-}----// RENDER---function _VirtualDom_render(vNode, eventNode)-{- var tag = vNode.$;-- if (tag === 5)- {- return _VirtualDom_render(vNode.k || (vNode.k = vNode.m()), eventNode);- }-- if (tag === 0)- {- return _VirtualDom_doc.createTextNode(vNode.a);- }-- if (tag === 4)- {- var subNode = vNode.k;- var tagger = vNode.j;-- while (subNode.$ === 4)- {- typeof tagger !== 'object'- ? tagger = [tagger, subNode.j]- : tagger.push(subNode.j);-- subNode = subNode.k;- }-- var subEventRoot = { j: tagger, p: eventNode };- var domNode = _VirtualDom_render(subNode, subEventRoot);- domNode.elm_event_node_ref = subEventRoot;- return domNode;- }-- if (tag === 3)- {- var domNode = vNode.h(vNode.g);- _VirtualDom_applyFacts(domNode, eventNode, vNode.d);- return domNode;- }-- // at this point `tag` must be 1 or 2-- var domNode = vNode.f- ? _VirtualDom_doc.createElementNS(vNode.f, vNode.c)- : _VirtualDom_doc.createElement(vNode.c);-- if (_VirtualDom_divertHrefToApp && vNode.c == 'a')- {- domNode.addEventListener('click', _VirtualDom_divertHrefToApp(domNode));- }-- _VirtualDom_applyFacts(domNode, eventNode, vNode.d);-- for (var kids = vNode.e, i = 0; i < kids.length; i++)- {- _VirtualDom_appendChild(domNode, _VirtualDom_render(tag === 1 ? kids[i] : kids[i].b, eventNode));- }-- return domNode;-}----// APPLY FACTS---function _VirtualDom_applyFacts(domNode, eventNode, facts)-{- for (var key in facts)- {- var value = facts[key];-- key === 'a1'- ? _VirtualDom_applyStyles(domNode, value)- :- key === 'a0'- ? _VirtualDom_applyEvents(domNode, eventNode, value)- :- key === 'a3'- ? _VirtualDom_applyAttrs(domNode, value)- :- key === 'a4'- ? _VirtualDom_applyAttrsNS(domNode, value)- :- ((key !== 'value' && key !== 'checked') || domNode[key] !== value) && (domNode[key] = value);- }-}----// APPLY STYLES---function _VirtualDom_applyStyles(domNode, styles)-{- var domNodeStyle = domNode.style;-- for (var key in styles)- {- domNodeStyle[key] = styles[key];- }-}----// APPLY ATTRS---function _VirtualDom_applyAttrs(domNode, attrs)-{- for (var key in attrs)- {- var value = attrs[key];- typeof value !== 'undefined'- ? domNode.setAttribute(key, value)- : domNode.removeAttribute(key);- }-}----// APPLY NAMESPACED ATTRS---function _VirtualDom_applyAttrsNS(domNode, nsAttrs)-{- for (var key in nsAttrs)- {- var pair = nsAttrs[key];- var namespace = pair.f;- var value = pair.o;-- typeof value !== 'undefined'- ? domNode.setAttributeNS(namespace, key, value)- : domNode.removeAttributeNS(namespace, key);- }-}----// APPLY EVENTS---function _VirtualDom_applyEvents(domNode, eventNode, events)-{- var allCallbacks = domNode.elmFs || (domNode.elmFs = {});-- for (var key in events)- {- var newHandler = events[key];- var oldCallback = allCallbacks[key];-- if (!newHandler)- {- domNode.removeEventListener(key, oldCallback);- allCallbacks[key] = undefined;- continue;- }-- if (oldCallback)- {- var oldHandler = oldCallback.q;- if (oldHandler.$ === newHandler.$)- {- oldCallback.q = newHandler;- continue;- }- domNode.removeEventListener(key, oldCallback);- }-- oldCallback = _VirtualDom_makeCallback(eventNode, newHandler);- domNode.addEventListener(key, oldCallback,- _VirtualDom_passiveSupported- && { passive: $elm$virtual_dom$VirtualDom$toHandlerInt(newHandler) < 2 }- );- allCallbacks[key] = oldCallback;- }-}----// PASSIVE EVENTS---var _VirtualDom_passiveSupported;--try-{- window.addEventListener('t', null, Object.defineProperty({}, 'passive', {- get: function() { _VirtualDom_passiveSupported = true; }- }));-}-catch(e) {}----// EVENT HANDLERS---function _VirtualDom_makeCallback(eventNode, initialHandler)-{- function callback(event)- {- var handler = callback.q;- var result = _Json_runHelp(handler.a, event);-- if (!$elm$core$Result$isOk(result))- {- return;- }-- var tag = $elm$virtual_dom$VirtualDom$toHandlerInt(handler);-- // 0 = Normal- // 1 = MayStopPropagation- // 2 = MayPreventDefault- // 3 = Custom-- var value = result.a;- var message = !tag ? value : tag < 3 ? value.a : value.message;- var stopPropagation = tag == 1 ? value.b : tag == 3 && value.stopPropagation;- var currentEventNode = (- stopPropagation && event.stopPropagation(),- (tag == 2 ? value.b : tag == 3 && value.preventDefault) && event.preventDefault(),- eventNode- );- var tagger;- var i;- while (tagger = currentEventNode.j)- {- if (typeof tagger == 'function')- {- message = tagger(message);- }- else- {- for (var i = tagger.length; i--; )- {- message = tagger[i](message);- }- }- currentEventNode = currentEventNode.p;- }- currentEventNode(message, stopPropagation); // stopPropagation implies isSync- }-- callback.q = initialHandler;-- return callback;-}--function _VirtualDom_equalEvents(x, y)-{- return x.$ == y.$ && _Json_equality(x.a, y.a);-}----// DIFF---// TODO: Should we do patches like in iOS?-//-// type Patch-// = At Int Patch-// | Batch (List Patch)-// | Change ...-//-// How could it not be better?-//-function _VirtualDom_diff(x, y)-{- var patches = [];- _VirtualDom_diffHelp(x, y, patches, 0);- return patches;-}---function _VirtualDom_pushPatch(patches, type, index, data)-{- var patch = {- $: type,- r: index,- s: data,- t: undefined,- u: undefined- };- patches.push(patch);- return patch;-}---function _VirtualDom_diffHelp(x, y, patches, index)-{- if (x === y)- {- return;- }-- var xType = x.$;- var yType = y.$;-- // Bail if you run into different types of nodes. Implies that the- // structure has changed significantly and it's not worth a diff.- if (xType !== yType)- {- if (xType === 1 && yType === 2)- {- y = _VirtualDom_dekey(y);- yType = 1;- }- else- {- _VirtualDom_pushPatch(patches, 0, index, y);- return;- }- }-- // Now we know that both nodes are the same $.- switch (yType)- {- case 5:- var xRefs = x.l;- var yRefs = y.l;- var i = xRefs.length;- var same = i === yRefs.length;- while (same && i--)- {- same = xRefs[i] === yRefs[i];- }- if (same)- {- y.k = x.k;- return;- }- y.k = y.m();- var subPatches = [];- _VirtualDom_diffHelp(x.k, y.k, subPatches, 0);- subPatches.length > 0 && _VirtualDom_pushPatch(patches, 1, index, subPatches);- return;-- case 4:- // gather nested taggers- var xTaggers = x.j;- var yTaggers = y.j;- var nesting = false;-- var xSubNode = x.k;- while (xSubNode.$ === 4)- {- nesting = true;-- typeof xTaggers !== 'object'- ? xTaggers = [xTaggers, xSubNode.j]- : xTaggers.push(xSubNode.j);-- xSubNode = xSubNode.k;- }-- var ySubNode = y.k;- while (ySubNode.$ === 4)- {- nesting = true;-- typeof yTaggers !== 'object'- ? yTaggers = [yTaggers, ySubNode.j]- : yTaggers.push(ySubNode.j);-- ySubNode = ySubNode.k;- }-- // Just bail if different numbers of taggers. This implies the- // structure of the virtual DOM has changed.- if (nesting && xTaggers.length !== yTaggers.length)- {- _VirtualDom_pushPatch(patches, 0, index, y);- return;- }-- // check if taggers are "the same"- if (nesting ? !_VirtualDom_pairwiseRefEqual(xTaggers, yTaggers) : xTaggers !== yTaggers)- {- _VirtualDom_pushPatch(patches, 2, index, yTaggers);- }-- // diff everything below the taggers- _VirtualDom_diffHelp(xSubNode, ySubNode, patches, index + 1);- return;-- case 0:- if (x.a !== y.a)- {- _VirtualDom_pushPatch(patches, 3, index, y.a);- }- return;-- case 1:- _VirtualDom_diffNodes(x, y, patches, index, _VirtualDom_diffKids);- return;-- case 2:- _VirtualDom_diffNodes(x, y, patches, index, _VirtualDom_diffKeyedKids);- return;-- case 3:- if (x.h !== y.h)- {- _VirtualDom_pushPatch(patches, 0, index, y);- return;- }-- var factsDiff = _VirtualDom_diffFacts(x.d, y.d);- factsDiff && _VirtualDom_pushPatch(patches, 4, index, factsDiff);-- var patch = y.i(x.g, y.g);- patch && _VirtualDom_pushPatch(patches, 5, index, patch);-- return;- }-}--// assumes the incoming arrays are the same length-function _VirtualDom_pairwiseRefEqual(as, bs)-{- for (var i = 0; i < as.length; i++)- {- if (as[i] !== bs[i])- {- return false;- }- }-- return true;-}--function _VirtualDom_diffNodes(x, y, patches, index, diffKids)-{- // Bail if obvious indicators have changed. Implies more serious- // structural changes such that it's not worth it to diff.- if (x.c !== y.c || x.f !== y.f)- {- _VirtualDom_pushPatch(patches, 0, index, y);- return;- }-- var factsDiff = _VirtualDom_diffFacts(x.d, y.d);- factsDiff && _VirtualDom_pushPatch(patches, 4, index, factsDiff);-- diffKids(x, y, patches, index);-}----// DIFF FACTS---// TODO Instead of creating a new diff object, it's possible to just test if-// there *is* a diff. During the actual patch, do the diff again and make the-// modifications directly. This way, there's no new allocations. Worth it?-function _VirtualDom_diffFacts(x, y, category)-{- var diff;-- // look for changes and removals- for (var xKey in x)- {- if (xKey === 'a1' || xKey === 'a0' || xKey === 'a3' || xKey === 'a4')- {- var subDiff = _VirtualDom_diffFacts(x[xKey], y[xKey] || {}, xKey);- if (subDiff)- {- diff = diff || {};- diff[xKey] = subDiff;- }- continue;- }-- // remove if not in the new facts- if (!(xKey in y))- {- diff = diff || {};- diff[xKey] =- !category- ? (typeof x[xKey] === 'string' ? '' : null)- :- (category === 'a1')- ? ''- :- (category === 'a0' || category === 'a3')- ? undefined- :- { f: x[xKey].f, o: undefined };-- continue;- }-- var xValue = x[xKey];- var yValue = y[xKey];-- // reference equal, so don't worry about it- if (xValue === yValue && xKey !== 'value' && xKey !== 'checked'- || category === 'a0' && _VirtualDom_equalEvents(xValue, yValue))- {- continue;- }-- diff = diff || {};- diff[xKey] = yValue;- }-- // add new stuff- for (var yKey in y)- {- if (!(yKey in x))- {- diff = diff || {};- diff[yKey] = y[yKey];- }- }-- return diff;-}----// DIFF KIDS---function _VirtualDom_diffKids(xParent, yParent, patches, index)-{- var xKids = xParent.e;- var yKids = yParent.e;-- var xLen = xKids.length;- var yLen = yKids.length;-- // FIGURE OUT IF THERE ARE INSERTS OR REMOVALS-- if (xLen > yLen)- {- _VirtualDom_pushPatch(patches, 6, index, {- v: yLen,- i: xLen - yLen- });- }- else if (xLen < yLen)- {- _VirtualDom_pushPatch(patches, 7, index, {- v: xLen,- e: yKids- });- }-- // PAIRWISE DIFF EVERYTHING ELSE-- for (var minLen = xLen < yLen ? xLen : yLen, i = 0; i < minLen; i++)- {- var xKid = xKids[i];- _VirtualDom_diffHelp(xKid, yKids[i], patches, ++index);- index += xKid.b || 0;- }-}----// KEYED DIFF---function _VirtualDom_diffKeyedKids(xParent, yParent, patches, rootIndex)-{- var localPatches = [];-- var changes = {}; // Dict String Entry- var inserts = []; // Array { index : Int, entry : Entry }- // type Entry = { tag : String, vnode : VNode, index : Int, data : _ }-- var xKids = xParent.e;- var yKids = yParent.e;- var xLen = xKids.length;- var yLen = yKids.length;- var xIndex = 0;- var yIndex = 0;-- var index = rootIndex;-- while (xIndex < xLen && yIndex < yLen)- {- var x = xKids[xIndex];- var y = yKids[yIndex];-- var xKey = x.a;- var yKey = y.a;- var xNode = x.b;- var yNode = y.b;-- var newMatch = undefined;- var oldMatch = undefined;-- // check if keys match-- if (xKey === yKey)- {- index++;- _VirtualDom_diffHelp(xNode, yNode, localPatches, index);- index += xNode.b || 0;-- xIndex++;- yIndex++;- continue;- }-- // look ahead 1 to detect insertions and removals.-- var xNext = xKids[xIndex + 1];- var yNext = yKids[yIndex + 1];-- if (xNext)- {- var xNextKey = xNext.a;- var xNextNode = xNext.b;- oldMatch = yKey === xNextKey;- }-- if (yNext)- {- var yNextKey = yNext.a;- var yNextNode = yNext.b;- newMatch = xKey === yNextKey;- }--- // swap x and y- if (newMatch && oldMatch)- {- index++;- _VirtualDom_diffHelp(xNode, yNextNode, localPatches, index);- _VirtualDom_insertNode(changes, localPatches, xKey, yNode, yIndex, inserts);- index += xNode.b || 0;-- index++;- _VirtualDom_removeNode(changes, localPatches, xKey, xNextNode, index);- index += xNextNode.b || 0;-- xIndex += 2;- yIndex += 2;- continue;- }-- // insert y- if (newMatch)- {- index++;- _VirtualDom_insertNode(changes, localPatches, yKey, yNode, yIndex, inserts);- _VirtualDom_diffHelp(xNode, yNextNode, localPatches, index);- index += xNode.b || 0;-- xIndex += 1;- yIndex += 2;- continue;- }-- // remove x- if (oldMatch)- {- index++;- _VirtualDom_removeNode(changes, localPatches, xKey, xNode, index);- index += xNode.b || 0;-- index++;- _VirtualDom_diffHelp(xNextNode, yNode, localPatches, index);- index += xNextNode.b || 0;-- xIndex += 2;- yIndex += 1;- continue;- }-- // remove x, insert y- if (xNext && xNextKey === yNextKey)- {- index++;- _VirtualDom_removeNode(changes, localPatches, xKey, xNode, index);- _VirtualDom_insertNode(changes, localPatches, yKey, yNode, yIndex, inserts);- index += xNode.b || 0;-- index++;- _VirtualDom_diffHelp(xNextNode, yNextNode, localPatches, index);- index += xNextNode.b || 0;-- xIndex += 2;- yIndex += 2;- continue;- }-- break;- }-- // eat up any remaining nodes with removeNode and insertNode-- while (xIndex < xLen)- {- index++;- var x = xKids[xIndex];- var xNode = x.b;- _VirtualDom_removeNode(changes, localPatches, x.a, xNode, index);- index += xNode.b || 0;- xIndex++;- }-- while (yIndex < yLen)- {- var endInserts = endInserts || [];- var y = yKids[yIndex];- _VirtualDom_insertNode(changes, localPatches, y.a, y.b, undefined, endInserts);- yIndex++;- }-- if (localPatches.length > 0 || inserts.length > 0 || endInserts)- {- _VirtualDom_pushPatch(patches, 8, rootIndex, {- w: localPatches,- x: inserts,- y: endInserts- });- }-}----// CHANGES FROM KEYED DIFF---var _VirtualDom_POSTFIX = '_elmW6BL';---function _VirtualDom_insertNode(changes, localPatches, key, vnode, yIndex, inserts)-{- var entry = changes[key];-- // never seen this key before- if (!entry)- {- entry = {- c: 0,- z: vnode,- r: yIndex,- s: undefined- };-- inserts.push({ r: yIndex, A: entry });- changes[key] = entry;-- return;- }-- // this key was removed earlier, a match!- if (entry.c === 1)- {- inserts.push({ r: yIndex, A: entry });-- entry.c = 2;- var subPatches = [];- _VirtualDom_diffHelp(entry.z, vnode, subPatches, entry.r);- entry.r = yIndex;- entry.s.s = {- w: subPatches,- A: entry- };-- return;- }-- // this key has already been inserted or moved, a duplicate!- _VirtualDom_insertNode(changes, localPatches, key + _VirtualDom_POSTFIX, vnode, yIndex, inserts);-}---function _VirtualDom_removeNode(changes, localPatches, key, vnode, index)-{- var entry = changes[key];-- // never seen this key before- if (!entry)- {- var patch = _VirtualDom_pushPatch(localPatches, 9, index, undefined);-- changes[key] = {- c: 1,- z: vnode,- r: index,- s: patch- };-- return;- }-- // this key was inserted earlier, a match!- if (entry.c === 0)- {- entry.c = 2;- var subPatches = [];- _VirtualDom_diffHelp(vnode, entry.z, subPatches, index);-- _VirtualDom_pushPatch(localPatches, 9, index, {- w: subPatches,- A: entry- });-- return;- }-- // this key has already been removed or moved, a duplicate!- _VirtualDom_removeNode(changes, localPatches, key + _VirtualDom_POSTFIX, vnode, index);-}----// ADD DOM NODES-//-// Each DOM node has an "index" assigned in order of traversal. It is important-// to minimize our crawl over the actual DOM, so these indexes (along with the-// descendantsCount of virtual nodes) let us skip touching entire subtrees of-// the DOM if we know there are no patches there.---function _VirtualDom_addDomNodes(domNode, vNode, patches, eventNode)-{- _VirtualDom_addDomNodesHelp(domNode, vNode, patches, 0, 0, vNode.b, eventNode);-}---// assumes `patches` is non-empty and indexes increase monotonically.-function _VirtualDom_addDomNodesHelp(domNode, vNode, patches, i, low, high, eventNode)-{- var patch = patches[i];- var index = patch.r;-- while (index === low)- {- var patchType = patch.$;-- if (patchType === 1)- {- _VirtualDom_addDomNodes(domNode, vNode.k, patch.s, eventNode);- }- else if (patchType === 8)- {- patch.t = domNode;- patch.u = eventNode;-- var subPatches = patch.s.w;- if (subPatches.length > 0)- {- _VirtualDom_addDomNodesHelp(domNode, vNode, subPatches, 0, low, high, eventNode);- }- }- else if (patchType === 9)- {- patch.t = domNode;- patch.u = eventNode;-- var data = patch.s;- if (data)- {- data.A.s = domNode;- var subPatches = data.w;- if (subPatches.length > 0)- {- _VirtualDom_addDomNodesHelp(domNode, vNode, subPatches, 0, low, high, eventNode);- }- }- }- else- {- patch.t = domNode;- patch.u = eventNode;- }-- i++;-- if (!(patch = patches[i]) || (index = patch.r) > high)- {- return i;- }- }-- var tag = vNode.$;-- if (tag === 4)- {- var subNode = vNode.k;-- while (subNode.$ === 4)- {- subNode = subNode.k;- }-- return _VirtualDom_addDomNodesHelp(domNode, subNode, patches, i, low + 1, high, domNode.elm_event_node_ref);- }-- // tag must be 1 or 2 at this point-- var vKids = vNode.e;- var childNodes = domNode.childNodes;- for (var j = 0; j < vKids.length; j++)- {- low++;- var vKid = tag === 1 ? vKids[j] : vKids[j].b;- var nextLow = low + (vKid.b || 0);- if (low <= index && index <= nextLow)- {- i = _VirtualDom_addDomNodesHelp(childNodes[j], vKid, patches, i, low, nextLow, eventNode);- if (!(patch = patches[i]) || (index = patch.r) > high)- {- return i;- }- }- low = nextLow;- }- return i;-}----// APPLY PATCHES---function _VirtualDom_applyPatches(rootDomNode, oldVirtualNode, patches, eventNode)-{- if (patches.length === 0)- {- return rootDomNode;- }-- _VirtualDom_addDomNodes(rootDomNode, oldVirtualNode, patches, eventNode);- return _VirtualDom_applyPatchesHelp(rootDomNode, patches);-}--function _VirtualDom_applyPatchesHelp(rootDomNode, patches)-{- for (var i = 0; i < patches.length; i++)- {- var patch = patches[i];- var localDomNode = patch.t- var newNode = _VirtualDom_applyPatch(localDomNode, patch);- if (localDomNode === rootDomNode)- {- rootDomNode = newNode;- }- }- return rootDomNode;-}--function _VirtualDom_applyPatch(domNode, patch)-{- switch (patch.$)- {- case 0:- return _VirtualDom_applyPatchRedraw(domNode, patch.s, patch.u);-- case 4:- _VirtualDom_applyFacts(domNode, patch.u, patch.s);- return domNode;-- case 3:- domNode.replaceData(0, domNode.length, patch.s);- return domNode;-- case 1:- return _VirtualDom_applyPatchesHelp(domNode, patch.s);-- case 2:- if (domNode.elm_event_node_ref)- {- domNode.elm_event_node_ref.j = patch.s;- }- else- {- domNode.elm_event_node_ref = { j: patch.s, p: patch.u };- }- return domNode;-- case 6:- var data = patch.s;- for (var i = 0; i < data.i; i++)- {- domNode.removeChild(domNode.childNodes[data.v]);- }- return domNode;-- case 7:- var data = patch.s;- var kids = data.e;- var i = data.v;- var theEnd = domNode.childNodes[i];- for (; i < kids.length; i++)- {- domNode.insertBefore(_VirtualDom_render(kids[i], patch.u), theEnd);- }- return domNode;-- case 9:- var data = patch.s;- if (!data)- {- domNode.parentNode.removeChild(domNode);- return domNode;- }- var entry = data.A;- if (typeof entry.r !== 'undefined')- {- domNode.parentNode.removeChild(domNode);- }- entry.s = _VirtualDom_applyPatchesHelp(domNode, data.w);- return domNode;-- case 8:- return _VirtualDom_applyPatchReorder(domNode, patch);-- case 5:- return patch.s(domNode);-- default:- _Debug_crash(10); // 'Ran into an unknown patch!'- }-}---function _VirtualDom_applyPatchRedraw(domNode, vNode, eventNode)-{- var parentNode = domNode.parentNode;- var newNode = _VirtualDom_render(vNode, eventNode);-- if (!newNode.elm_event_node_ref)- {- newNode.elm_event_node_ref = domNode.elm_event_node_ref;- }-- if (parentNode && newNode !== domNode)- {- parentNode.replaceChild(newNode, domNode);- }- return newNode;-}---function _VirtualDom_applyPatchReorder(domNode, patch)-{- var data = patch.s;-- // remove end inserts- var frag = _VirtualDom_applyPatchReorderEndInsertsHelp(data.y, patch);-- // removals- domNode = _VirtualDom_applyPatchesHelp(domNode, data.w);-- // inserts- var inserts = data.x;- for (var i = 0; i < inserts.length; i++)- {- var insert = inserts[i];- var entry = insert.A;- var node = entry.c === 2- ? entry.s- : _VirtualDom_render(entry.z, patch.u);- domNode.insertBefore(node, domNode.childNodes[insert.r]);- }-- // add end inserts- if (frag)- {- _VirtualDom_appendChild(domNode, frag);- }-- return domNode;-}---function _VirtualDom_applyPatchReorderEndInsertsHelp(endInserts, patch)-{- if (!endInserts)- {- return;- }-- var frag = _VirtualDom_doc.createDocumentFragment();- for (var i = 0; i < endInserts.length; i++)- {- var insert = endInserts[i];- var entry = insert.A;- _VirtualDom_appendChild(frag, entry.c === 2- ? entry.s- : _VirtualDom_render(entry.z, patch.u)- );- }- return frag;-}---function _VirtualDom_virtualize(node)-{- // TEXT NODES-- if (node.nodeType === 3)- {- return _VirtualDom_text(node.textContent);- }--- // WEIRD NODES-- if (node.nodeType !== 1)- {- return _VirtualDom_text('');- }--- // ELEMENT NODES-- var attrList = _List_Nil;- var attrs = node.attributes;- for (var i = attrs.length; i--; )- {- var attr = attrs[i];- var name = attr.name;- var value = attr.value;- attrList = _List_Cons( A2(_VirtualDom_attribute, name, value), attrList );- }-- var tag = node.tagName.toLowerCase();- var kidList = _List_Nil;- var kids = node.childNodes;-- for (var i = kids.length; i--; )- {- kidList = _List_Cons(_VirtualDom_virtualize(kids[i]), kidList);- }- return A3(_VirtualDom_node, tag, attrList, kidList);-}--function _VirtualDom_dekey(keyedNode)-{- var keyedKids = keyedNode.e;- var len = keyedKids.length;- var kids = new Array(len);- for (var i = 0; i < len; i++)- {- kids[i] = keyedKids[i].b;- }-- return {- $: 1,- c: keyedNode.c,- d: keyedNode.d,- e: kids,- f: keyedNode.f,- b: keyedNode.b- };-}-----// ELEMENT---var _Debugger_element;--var _Browser_element = _Debugger_element || F4(function(impl, flagDecoder, debugMetadata, args)-{- return _Platform_initialize(- flagDecoder,- args,- impl.init,- impl.update,- impl.subscriptions,- function(sendToApp, initialModel) {- var view = impl.view;- /**_UNUSED/- var domNode = args['node'];- //*/- /**/- var domNode = args && args['node'] ? args['node'] : _Debug_crash(0);- //*/- var currNode = _VirtualDom_virtualize(domNode);-- return _Browser_makeAnimator(initialModel, function(model)- {- var nextNode = view(model);- var patches = _VirtualDom_diff(currNode, nextNode);- domNode = _VirtualDom_applyPatches(domNode, currNode, patches, sendToApp);- currNode = nextNode;- });- }- );-});----// DOCUMENT---var _Debugger_document;--var _Browser_document = _Debugger_document || F4(function(impl, flagDecoder, debugMetadata, args)-{- return _Platform_initialize(- flagDecoder,- args,- impl.init,- impl.update,- impl.subscriptions,- function(sendToApp, initialModel) {- var divertHrefToApp = impl.setup && impl.setup(sendToApp)- var view = impl.view;- var title = _VirtualDom_doc.title;- var bodyNode = _VirtualDom_doc.body;- var currNode = _VirtualDom_virtualize(bodyNode);- return _Browser_makeAnimator(initialModel, function(model)- {- _VirtualDom_divertHrefToApp = divertHrefToApp;- var doc = view(model);- var nextNode = _VirtualDom_node('body')(_List_Nil)(doc.body);- var patches = _VirtualDom_diff(currNode, nextNode);- bodyNode = _VirtualDom_applyPatches(bodyNode, currNode, patches, sendToApp);- currNode = nextNode;- _VirtualDom_divertHrefToApp = 0;- (title !== doc.title) && (_VirtualDom_doc.title = title = doc.title);- });- }- );-});----// ANIMATION---var _Browser_cancelAnimationFrame =- typeof cancelAnimationFrame !== 'undefined'- ? cancelAnimationFrame- : function(id) { clearTimeout(id); };--var _Browser_requestAnimationFrame =- typeof requestAnimationFrame !== 'undefined'- ? requestAnimationFrame- : function(callback) { return setTimeout(callback, 1000 / 60); };---function _Browser_makeAnimator(model, draw)-{- draw(model);-- var state = 0;-- function updateIfNeeded()- {- state = state === 1- ? 0- : ( _Browser_requestAnimationFrame(updateIfNeeded), draw(model), 1 );- }-- return function(nextModel, isSync)- {- model = nextModel;-- isSync- ? ( draw(model),- state === 2 && (state = 1)- )- : ( state === 0 && _Browser_requestAnimationFrame(updateIfNeeded),- state = 2- );- };-}----// APPLICATION---function _Browser_application(impl)-{- var onUrlChange = impl.onUrlChange;- var onUrlRequest = impl.onUrlRequest;- var key = function() { key.a(onUrlChange(_Browser_getUrl())); };-- return _Browser_document({- setup: function(sendToApp)- {- key.a = sendToApp;- _Browser_window.addEventListener('popstate', key);- _Browser_window.navigator.userAgent.indexOf('Trident') < 0 || _Browser_window.addEventListener('hashchange', key);-- return F2(function(domNode, event)- {- if (!event.ctrlKey && !event.metaKey && !event.shiftKey && event.button < 1 && !domNode.target && !domNode.hasAttribute('download'))- {- event.preventDefault();- var href = domNode.href;- var curr = _Browser_getUrl();- var next = $elm$url$Url$fromString(href).a;- sendToApp(onUrlRequest(- (next- && curr.protocol === next.protocol- && curr.host === next.host- && curr.port_.a === next.port_.a- )- ? $elm$browser$Browser$Internal(next)- : $elm$browser$Browser$External(href)- ));- }- });- },- init: function(flags)- {- return A3(impl.init, flags, _Browser_getUrl(), key);- },- view: impl.view,- update: impl.update,- subscriptions: impl.subscriptions- });-}--function _Browser_getUrl()-{- return $elm$url$Url$fromString(_VirtualDom_doc.location.href).a || _Debug_crash(1);-}--var _Browser_go = F2(function(key, n)-{- return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() {- n && history.go(n);- key();- }));-});--var _Browser_pushUrl = F2(function(key, url)-{- return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() {- history.pushState({}, '', url);- key();- }));-});--var _Browser_replaceUrl = F2(function(key, url)-{- return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() {- history.replaceState({}, '', url);- key();- }));-});----// GLOBAL EVENTS---var _Browser_fakeNode = { addEventListener: function() {}, removeEventListener: function() {} };-var _Browser_doc = typeof document !== 'undefined' ? document : _Browser_fakeNode;-var _Browser_window = typeof window !== 'undefined' ? window : _Browser_fakeNode;--var _Browser_on = F3(function(node, eventName, sendToSelf)-{- return _Scheduler_spawn(_Scheduler_binding(function(callback)- {- function handler(event) { _Scheduler_rawSpawn(sendToSelf(event)); }- node.addEventListener(eventName, handler, _VirtualDom_passiveSupported && { passive: true });- return function() { node.removeEventListener(eventName, handler); };- }));-});--var _Browser_decodeEvent = F2(function(decoder, event)-{- var result = _Json_runHelp(decoder, event);- return $elm$core$Result$isOk(result) ? $elm$core$Maybe$Just(result.a) : $elm$core$Maybe$Nothing;-});----// PAGE VISIBILITY---function _Browser_visibilityInfo()-{- return (typeof _VirtualDom_doc.hidden !== 'undefined')- ? { hidden: 'hidden', change: 'visibilitychange' }- :- (typeof _VirtualDom_doc.mozHidden !== 'undefined')- ? { hidden: 'mozHidden', change: 'mozvisibilitychange' }- :- (typeof _VirtualDom_doc.msHidden !== 'undefined')- ? { hidden: 'msHidden', change: 'msvisibilitychange' }- :- (typeof _VirtualDom_doc.webkitHidden !== 'undefined')- ? { hidden: 'webkitHidden', change: 'webkitvisibilitychange' }- : { hidden: 'hidden', change: 'visibilitychange' };-}----// ANIMATION FRAMES---function _Browser_rAF()-{- return _Scheduler_binding(function(callback)- {- var id = _Browser_requestAnimationFrame(function() {- callback(_Scheduler_succeed(Date.now()));- });-- return function() {- _Browser_cancelAnimationFrame(id);- };- });-}---function _Browser_now()-{- return _Scheduler_binding(function(callback)- {- callback(_Scheduler_succeed(Date.now()));- });-}----// DOM STUFF---function _Browser_withNode(id, doStuff)-{- return _Scheduler_binding(function(callback)- {- _Browser_requestAnimationFrame(function() {- var node = document.getElementById(id);- callback(node- ? _Scheduler_succeed(doStuff(node))- : _Scheduler_fail($elm$browser$Browser$Dom$NotFound(id))- );- });- });-}---function _Browser_withWindow(doStuff)-{- return _Scheduler_binding(function(callback)- {- _Browser_requestAnimationFrame(function() {- callback(_Scheduler_succeed(doStuff()));- });- });-}---// FOCUS and BLUR---var _Browser_call = F2(function(functionName, id)-{- return _Browser_withNode(id, function(node) {- node[functionName]();- return _Utils_Tuple0;- });-});----// WINDOW VIEWPORT---function _Browser_getViewport()-{- return {- scene: _Browser_getScene(),- viewport: {- x: _Browser_window.pageXOffset,- y: _Browser_window.pageYOffset,- width: _Browser_doc.documentElement.clientWidth,- height: _Browser_doc.documentElement.clientHeight- }- };-}--function _Browser_getScene()-{- var body = _Browser_doc.body;- var elem = _Browser_doc.documentElement;- return {- width: Math.max(body.scrollWidth, body.offsetWidth, elem.scrollWidth, elem.offsetWidth, elem.clientWidth),- height: Math.max(body.scrollHeight, body.offsetHeight, elem.scrollHeight, elem.offsetHeight, elem.clientHeight)- };-}--var _Browser_setViewport = F2(function(x, y)-{- return _Browser_withWindow(function()- {- _Browser_window.scroll(x, y);- return _Utils_Tuple0;- });-});----// ELEMENT VIEWPORT---function _Browser_getViewportOf(id)-{- return _Browser_withNode(id, function(node)- {- return {- scene: {- width: node.scrollWidth,- height: node.scrollHeight- },- viewport: {- x: node.scrollLeft,- y: node.scrollTop,- width: node.clientWidth,- height: node.clientHeight- }- };- });-}---var _Browser_setViewportOf = F3(function(id, x, y)-{- return _Browser_withNode(id, function(node)- {- node.scrollLeft = x;- node.scrollTop = y;- return _Utils_Tuple0;- });-});----// ELEMENT---function _Browser_getElement(id)-{- return _Browser_withNode(id, function(node)- {- var rect = node.getBoundingClientRect();- var x = _Browser_window.pageXOffset;- var y = _Browser_window.pageYOffset;- return {- scene: _Browser_getScene(),- viewport: {- x: x,- y: y,- width: _Browser_doc.documentElement.clientWidth,- height: _Browser_doc.documentElement.clientHeight- },- element: {- x: x + rect.left,- y: y + rect.top,- width: rect.width,- height: rect.height- }- };- });-}----// LOAD and RELOAD---function _Browser_reload(skipCache)-{- return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function(callback)- {- _VirtualDom_doc.location.reload(skipCache);- }));-}--function _Browser_load(url)-{- return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function(callback)- {- try- {- _Browser_window.location = url;- }- catch(err)- {- // Only Firefox can throw a NS_ERROR_MALFORMED_URI exception here.- // Other browsers reload the page, so let's be consistent about that.- _VirtualDom_doc.location.reload(false);- }- }));-}----function _Time_now(millisToPosix)-{- return _Scheduler_binding(function(callback)- {- callback(_Scheduler_succeed(millisToPosix(Date.now())));- });-}--var _Time_setInterval = F2(function(interval, task)-{- return _Scheduler_binding(function(callback)- {- var id = setInterval(function() { _Scheduler_rawSpawn(task); }, interval);- return function() { clearInterval(id); };- });-});--function _Time_here()-{- return _Scheduler_binding(function(callback)- {- callback(_Scheduler_succeed(- A2($elm$time$Time$customZone, -(new Date().getTimezoneOffset()), _List_Nil)- ));- });-}---function _Time_getZoneName()-{- return _Scheduler_binding(function(callback)- {- try- {- var name = $elm$time$Time$Name(Intl.DateTimeFormat().resolvedOptions().timeZone);- }- catch (e)- {- var name = $elm$time$Time$Offset(new Date().getTimezoneOffset());- }- callback(_Scheduler_succeed(name));- });-}----// SEND REQUEST--var _Http_toTask = F3(function(router, toTask, request)-{- return _Scheduler_binding(function(callback)- {- function done(response) {- callback(toTask(request.expect.a(response)));- }-- var xhr = new XMLHttpRequest();- xhr.addEventListener('error', function() { done($elm$http$Http$NetworkError_); });- xhr.addEventListener('timeout', function() { done($elm$http$Http$Timeout_); });- xhr.addEventListener('load', function() { done(_Http_toResponse(request.expect.b, xhr)); });- $elm$core$Maybe$isJust(request.tracker) && _Http_track(router, xhr, request.tracker.a);-- try {- xhr.open(request.method, request.url, true);- } catch (e) {- return done($elm$http$Http$BadUrl_(request.url));- }-- _Http_configureRequest(xhr, request);-- request.body.a && xhr.setRequestHeader('Content-Type', request.body.a);- xhr.send(request.body.b);-- return function() { xhr.c = true; xhr.abort(); };- });-});---// CONFIGURE--function _Http_configureRequest(xhr, request)-{- for (var headers = request.headers; headers.b; headers = headers.b) // WHILE_CONS- {- xhr.setRequestHeader(headers.a.a, headers.a.b);- }- xhr.timeout = request.timeout.a || 0;- xhr.responseType = request.expect.d;- xhr.withCredentials = request.allowCookiesFromOtherDomains;-}---// RESPONSES--function _Http_toResponse(toBody, xhr)-{- return A2(- 200 <= xhr.status && xhr.status < 300 ? $elm$http$Http$GoodStatus_ : $elm$http$Http$BadStatus_,- _Http_toMetadata(xhr),- toBody(xhr.response)- );-}---// METADATA--function _Http_toMetadata(xhr)-{- return {- url: xhr.responseURL,- statusCode: xhr.status,- statusText: xhr.statusText,- headers: _Http_parseHeaders(xhr.getAllResponseHeaders())- };-}---// HEADERS--function _Http_parseHeaders(rawHeaders)-{- if (!rawHeaders)- {- return $elm$core$Dict$empty;- }-- var headers = $elm$core$Dict$empty;- var headerPairs = rawHeaders.split('\r\n');- for (var i = headerPairs.length; i--; )- {- var headerPair = headerPairs[i];- var index = headerPair.indexOf(': ');- if (index > 0)- {- var key = headerPair.substring(0, index);- var value = headerPair.substring(index + 2);-- headers = A3($elm$core$Dict$update, key, function(oldValue) {- return $elm$core$Maybe$Just($elm$core$Maybe$isJust(oldValue)- ? value + ', ' + oldValue.a- : value- );- }, headers);- }- }- return headers;-}---// EXPECT--var _Http_expect = F3(function(type, toBody, toValue)-{- return {- $: 0,- d: type,- b: toBody,- a: toValue- };-});--var _Http_mapExpect = F2(function(func, expect)-{- return {- $: 0,- d: expect.d,- b: expect.b,- a: function(x) { return func(expect.a(x)); }- };-});--function _Http_toDataView(arrayBuffer)-{- return new DataView(arrayBuffer);-}---// BODY and PARTS--var _Http_emptyBody = { $: 0 };-var _Http_pair = F2(function(a, b) { return { $: 0, a: a, b: b }; });--function _Http_toFormData(parts)-{- for (var formData = new FormData(); parts.b; parts = parts.b) // WHILE_CONS- {- var part = parts.a;- formData.append(part.a, part.b);- }- return formData;-}--var _Http_bytesToBlob = F2(function(mime, bytes)-{- return new Blob([bytes], { type: mime });-});---// PROGRESS--function _Http_track(router, xhr, tracker)-{- // TODO check out lengthComputable on loadstart event-- xhr.upload.addEventListener('progress', function(event) {- if (xhr.c) { return; }- _Scheduler_rawSpawn(A2($elm$core$Platform$sendToSelf, router, _Utils_Tuple2(tracker, $elm$http$Http$Sending({- sent: event.loaded,- size: event.total- }))));- });- xhr.addEventListener('progress', function(event) {- if (xhr.c) { return; }- _Scheduler_rawSpawn(A2($elm$core$Platform$sendToSelf, router, _Utils_Tuple2(tracker, $elm$http$Http$Receiving({- received: event.loaded,- size: event.lengthComputable ? $elm$core$Maybe$Just(event.total) : $elm$core$Maybe$Nothing- }))));- });-}---var _Bitwise_and = F2(function(a, b)-{- return a & b;-});--var _Bitwise_or = F2(function(a, b)-{- return a | b;-});--var _Bitwise_xor = F2(function(a, b)-{- return a ^ b;-});--function _Bitwise_complement(a)-{- return ~a;-};--var _Bitwise_shiftLeftBy = F2(function(offset, a)-{- return a << offset;-});--var _Bitwise_shiftRightBy = F2(function(offset, a)-{- return a >> offset;-});--var _Bitwise_shiftRightZfBy = F2(function(offset, a)-{- return a >>> offset;-});-----// STRINGS---var _Parser_isSubString = F5(function(smallString, offset, row, col, bigString)-{- var smallLength = smallString.length;- var isGood = offset + smallLength <= bigString.length;-- for (var i = 0; isGood && i < smallLength; )- {- var code = bigString.charCodeAt(offset);- isGood =- smallString[i++] === bigString[offset++]- && (- code === 0x000A /* \n */- ? ( row++, col=1 )- : ( col++, (code & 0xF800) === 0xD800 ? smallString[i++] === bigString[offset++] : 1 )- )- }-- return _Utils_Tuple3(isGood ? offset : -1, row, col);-});----// CHARS---var _Parser_isSubChar = F3(function(predicate, offset, string)-{- return (- string.length <= offset- ? -1- :- (string.charCodeAt(offset) & 0xF800) === 0xD800- ? (predicate(_Utils_chr(string.substr(offset, 2))) ? offset + 2 : -1)- :- (predicate(_Utils_chr(string[offset]))- ? ((string[offset] === '\n') ? -2 : (offset + 1))- : -1- )- );-});---var _Parser_isAsciiCode = F3(function(code, offset, string)-{- return string.charCodeAt(offset) === code;-});----// NUMBERS---var _Parser_chompBase10 = F2(function(offset, string)-{- for (; offset < string.length; offset++)- {- var code = string.charCodeAt(offset);- if (code < 0x30 || 0x39 < code)- {- return offset;- }- }- return offset;-});---var _Parser_consumeBase = F3(function(base, offset, string)-{- for (var total = 0; offset < string.length; offset++)- {- var digit = string.charCodeAt(offset) - 0x30;- if (digit < 0 || base <= digit) break;- total = base * total + digit;- }- return _Utils_Tuple2(offset, total);-});---var _Parser_consumeBase16 = F2(function(offset, string)-{- for (var total = 0; offset < string.length; offset++)- {- var code = string.charCodeAt(offset);- if (0x30 <= code && code <= 0x39)- {- total = 16 * total + code - 0x30;- }- else if (0x41 <= code && code <= 0x46)- {- total = 16 * total + code - 55;- }- else if (0x61 <= code && code <= 0x66)- {- total = 16 * total + code - 87;- }- else- {- break;- }- }- return _Utils_Tuple2(offset, total);-});----// FIND STRING---var _Parser_findSubString = F5(function(smallString, offset, row, col, bigString)-{- var newOffset = bigString.indexOf(smallString, offset);- var target = newOffset < 0 ? bigString.length : newOffset + smallString.length;-- while (offset < target)- {- var code = bigString.charCodeAt(offset++);- code === 0x000A /* \n */- ? ( col=1, row++ )- : ( col++, (code & 0xF800) === 0xD800 && offset++ )- }-- return _Utils_Tuple3(newOffset, row, col);-});-var $elm$core$List$cons = _List_cons;-var $elm$core$Elm$JsArray$foldr = _JsArray_foldr;-var $elm$core$Array$foldr = F3(- function (func, baseCase, _v0) {- var tree = _v0.c;- var tail = _v0.d;- var helper = F2(- function (node, acc) {- if (node.$ === 'SubTree') {- var subTree = node.a;- return A3($elm$core$Elm$JsArray$foldr, helper, acc, subTree);- } else {- var values = node.a;- return A3($elm$core$Elm$JsArray$foldr, func, acc, values);- }- });- return A3(- $elm$core$Elm$JsArray$foldr,- helper,- A3($elm$core$Elm$JsArray$foldr, func, baseCase, tail),- tree);- });-var $elm$core$Array$toList = function (array) {- return A3($elm$core$Array$foldr, $elm$core$List$cons, _List_Nil, array);-};-var $elm$core$Dict$foldr = F3(- function (func, acc, t) {- foldr:- while (true) {- if (t.$ === 'RBEmpty_elm_builtin') {- return acc;- } else {- var key = t.b;- var value = t.c;- var left = t.d;- var right = t.e;- var $temp$func = func,- $temp$acc = A3(- func,- key,- value,- A3($elm$core$Dict$foldr, func, acc, right)),- $temp$t = left;- func = $temp$func;- acc = $temp$acc;- t = $temp$t;- continue foldr;- }- }- });-var $elm$core$Dict$toList = function (dict) {- return A3(- $elm$core$Dict$foldr,- F3(- function (key, value, list) {- return A2(- $elm$core$List$cons,- _Utils_Tuple2(key, value),- list);- }),- _List_Nil,- dict);-};-var $elm$core$Dict$keys = function (dict) {- return A3(- $elm$core$Dict$foldr,- F3(- function (key, value, keyList) {- return A2($elm$core$List$cons, key, keyList);- }),- _List_Nil,- dict);-};-var $elm$core$Set$toList = function (_v0) {- var dict = _v0.a;- return $elm$core$Dict$keys(dict);-};-var $elm$core$Basics$EQ = {$: 'EQ'};-var $elm$core$Basics$GT = {$: 'GT'};-var $elm$core$Basics$LT = {$: 'LT'};-var $author$project$Main$LoadFlags = {$: 'LoadFlags'};-var $author$project$Main$Loading = {$: 'Loading'};-var $author$project$Main$NoOp = {$: 'NoOp'};-var $elm$core$Result$Err = function (a) {- return {$: 'Err', a: a};-};-var $elm$json$Json$Decode$Failure = F2(- function (a, b) {- return {$: 'Failure', a: a, b: b};- });-var $elm$json$Json$Decode$Field = F2(- function (a, b) {- return {$: 'Field', a: a, b: b};- });-var $elm$json$Json$Decode$Index = F2(- function (a, b) {- return {$: 'Index', a: a, b: b};- });-var $elm$core$Result$Ok = function (a) {- return {$: 'Ok', a: a};-};-var $elm$json$Json$Decode$OneOf = function (a) {- return {$: 'OneOf', a: a};-};-var $elm$core$Basics$False = {$: 'False'};-var $elm$core$Basics$add = _Basics_add;-var $elm$core$Maybe$Just = function (a) {- return {$: 'Just', a: a};-};-var $elm$core$Maybe$Nothing = {$: 'Nothing'};-var $elm$core$String$all = _String_all;-var $elm$core$Basics$and = _Basics_and;-var $elm$core$Basics$append = _Utils_append;-var $elm$json$Json$Encode$encode = _Json_encode;-var $elm$core$String$fromInt = _String_fromNumber;-var $elm$core$String$join = F2(- function (sep, chunks) {- return A2(- _String_join,- sep,- _List_toArray(chunks));- });-var $elm$core$String$split = F2(- function (sep, string) {- return _List_fromArray(- A2(_String_split, sep, string));- });-var $elm$json$Json$Decode$indent = function (str) {- return A2(- $elm$core$String$join,- '\n ',- A2($elm$core$String$split, '\n', str));-};-var $elm$core$List$foldl = F3(- function (func, acc, list) {- foldl:- while (true) {- if (!list.b) {- return acc;- } else {- var x = list.a;- var xs = list.b;- var $temp$func = func,- $temp$acc = A2(func, x, acc),- $temp$list = xs;- func = $temp$func;- acc = $temp$acc;- list = $temp$list;- continue foldl;- }- }- });-var $elm$core$List$length = function (xs) {- return A3(- $elm$core$List$foldl,- F2(- function (_v0, i) {- return i + 1;- }),- 0,- xs);-};-var $elm$core$List$map2 = _List_map2;-var $elm$core$Basics$le = _Utils_le;-var $elm$core$Basics$sub = _Basics_sub;-var $elm$core$List$rangeHelp = F3(- function (lo, hi, list) {- rangeHelp:- while (true) {- if (_Utils_cmp(lo, hi) < 1) {- var $temp$lo = lo,- $temp$hi = hi - 1,- $temp$list = A2($elm$core$List$cons, hi, list);- lo = $temp$lo;- hi = $temp$hi;- list = $temp$list;- continue rangeHelp;- } else {- return list;- }- }- });-var $elm$core$List$range = F2(- function (lo, hi) {- return A3($elm$core$List$rangeHelp, lo, hi, _List_Nil);- });-var $elm$core$List$indexedMap = F2(- function (f, xs) {- return A3(- $elm$core$List$map2,- f,- A2(- $elm$core$List$range,- 0,- $elm$core$List$length(xs) - 1),- xs);- });-var $elm$core$Char$toCode = _Char_toCode;-var $elm$core$Char$isLower = function (_char) {- var code = $elm$core$Char$toCode(_char);- return (97 <= code) && (code <= 122);-};-var $elm$core$Char$isUpper = function (_char) {- var code = $elm$core$Char$toCode(_char);- return (code <= 90) && (65 <= code);-};-var $elm$core$Basics$or = _Basics_or;-var $elm$core$Char$isAlpha = function (_char) {- return $elm$core$Char$isLower(_char) || $elm$core$Char$isUpper(_char);-};-var $elm$core$Char$isDigit = function (_char) {- var code = $elm$core$Char$toCode(_char);- return (code <= 57) && (48 <= code);-};-var $elm$core$Char$isAlphaNum = function (_char) {- return $elm$core$Char$isLower(_char) || ($elm$core$Char$isUpper(_char) || $elm$core$Char$isDigit(_char));-};-var $elm$core$List$reverse = function (list) {- return A3($elm$core$List$foldl, $elm$core$List$cons, _List_Nil, list);-};-var $elm$core$String$uncons = _String_uncons;-var $elm$json$Json$Decode$errorOneOf = F2(- function (i, error) {- return '\n\n(' + ($elm$core$String$fromInt(i + 1) + (') ' + $elm$json$Json$Decode$indent(- $elm$json$Json$Decode$errorToString(error))));- });-var $elm$json$Json$Decode$errorToString = function (error) {- return A2($elm$json$Json$Decode$errorToStringHelp, error, _List_Nil);-};-var $elm$json$Json$Decode$errorToStringHelp = F2(- function (error, context) {- errorToStringHelp:- while (true) {- switch (error.$) {- case 'Field':- var f = error.a;- var err = error.b;- var isSimple = function () {- var _v1 = $elm$core$String$uncons(f);- if (_v1.$ === 'Nothing') {- return false;- } else {- var _v2 = _v1.a;- var _char = _v2.a;- var rest = _v2.b;- return $elm$core$Char$isAlpha(_char) && A2($elm$core$String$all, $elm$core$Char$isAlphaNum, rest);- }- }();- var fieldName = isSimple ? ('.' + f) : ('[\'' + (f + '\']'));- var $temp$error = err,- $temp$context = A2($elm$core$List$cons, fieldName, context);- error = $temp$error;- context = $temp$context;- continue errorToStringHelp;- case 'Index':- var i = error.a;- var err = error.b;- var indexName = '[' + ($elm$core$String$fromInt(i) + ']');- var $temp$error = err,- $temp$context = A2($elm$core$List$cons, indexName, context);- error = $temp$error;- context = $temp$context;- continue errorToStringHelp;- case 'OneOf':- var errors = error.a;- if (!errors.b) {- return 'Ran into a Json.Decode.oneOf with no possibilities' + function () {- if (!context.b) {- return '!';- } else {- return ' at json' + A2(- $elm$core$String$join,- '',- $elm$core$List$reverse(context));- }- }();- } else {- if (!errors.b.b) {- var err = errors.a;- var $temp$error = err,- $temp$context = context;- error = $temp$error;- context = $temp$context;- continue errorToStringHelp;- } else {- var starter = function () {- if (!context.b) {- return 'Json.Decode.oneOf';- } else {- return 'The Json.Decode.oneOf at json' + A2(- $elm$core$String$join,- '',- $elm$core$List$reverse(context));- }- }();- var introduction = starter + (' failed in the following ' + ($elm$core$String$fromInt(- $elm$core$List$length(errors)) + ' ways:'));- return A2(- $elm$core$String$join,- '\n\n',- A2(- $elm$core$List$cons,- introduction,- A2($elm$core$List$indexedMap, $elm$json$Json$Decode$errorOneOf, errors)));- }- }- default:- var msg = error.a;- var json = error.b;- var introduction = function () {- if (!context.b) {- return 'Problem with the given value:\n\n';- } else {- return 'Problem with the value at json' + (A2(- $elm$core$String$join,- '',- $elm$core$List$reverse(context)) + ':\n\n ');- }- }();- return introduction + ($elm$json$Json$Decode$indent(- A2($elm$json$Json$Encode$encode, 4, json)) + ('\n\n' + msg));- }- }- });-var $elm$core$Array$branchFactor = 32;-var $elm$core$Array$Array_elm_builtin = F4(- function (a, b, c, d) {- return {$: 'Array_elm_builtin', a: a, b: b, c: c, d: d};- });-var $elm$core$Elm$JsArray$empty = _JsArray_empty;-var $elm$core$Basics$ceiling = _Basics_ceiling;-var $elm$core$Basics$fdiv = _Basics_fdiv;-var $elm$core$Basics$logBase = F2(- function (base, number) {- return _Basics_log(number) / _Basics_log(base);- });-var $elm$core$Basics$toFloat = _Basics_toFloat;-var $elm$core$Array$shiftStep = $elm$core$Basics$ceiling(- A2($elm$core$Basics$logBase, 2, $elm$core$Array$branchFactor));-var $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);-var $elm$core$Elm$JsArray$initialize = _JsArray_initialize;-var $elm$core$Array$Leaf = function (a) {- return {$: 'Leaf', a: a};-};-var $elm$core$Basics$apL = F2(- function (f, x) {- return f(x);- });-var $elm$core$Basics$apR = F2(- function (x, f) {- return f(x);- });-var $elm$core$Basics$eq = _Utils_equal;-var $elm$core$Basics$floor = _Basics_floor;-var $elm$core$Elm$JsArray$length = _JsArray_length;-var $elm$core$Basics$gt = _Utils_gt;-var $elm$core$Basics$max = F2(- function (x, y) {- return (_Utils_cmp(x, y) > 0) ? x : y;- });-var $elm$core$Basics$mul = _Basics_mul;-var $elm$core$Array$SubTree = function (a) {- return {$: 'SubTree', a: a};-};-var $elm$core$Elm$JsArray$initializeFromList = _JsArray_initializeFromList;-var $elm$core$Array$compressNodes = F2(- function (nodes, acc) {- compressNodes:- while (true) {- var _v0 = A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, nodes);- var node = _v0.a;- var remainingNodes = _v0.b;- var newAcc = A2(- $elm$core$List$cons,- $elm$core$Array$SubTree(node),- acc);- if (!remainingNodes.b) {- return $elm$core$List$reverse(newAcc);- } else {- var $temp$nodes = remainingNodes,- $temp$acc = newAcc;- nodes = $temp$nodes;- acc = $temp$acc;- continue compressNodes;- }- }- });-var $elm$core$Tuple$first = function (_v0) {- var x = _v0.a;- return x;-};-var $elm$core$Array$treeFromBuilder = F2(- function (nodeList, nodeListSize) {- treeFromBuilder:- while (true) {- var newNodeSize = $elm$core$Basics$ceiling(nodeListSize / $elm$core$Array$branchFactor);- if (newNodeSize === 1) {- return A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, nodeList).a;- } else {- var $temp$nodeList = A2($elm$core$Array$compressNodes, nodeList, _List_Nil),- $temp$nodeListSize = newNodeSize;- nodeList = $temp$nodeList;- nodeListSize = $temp$nodeListSize;- continue treeFromBuilder;- }- }- });-var $elm$core$Array$builderToArray = F2(- function (reverseNodeList, builder) {- if (!builder.nodeListSize) {- return A4(- $elm$core$Array$Array_elm_builtin,- $elm$core$Elm$JsArray$length(builder.tail),- $elm$core$Array$shiftStep,- $elm$core$Elm$JsArray$empty,- builder.tail);- } else {- var treeLen = builder.nodeListSize * $elm$core$Array$branchFactor;- var depth = $elm$core$Basics$floor(- A2($elm$core$Basics$logBase, $elm$core$Array$branchFactor, treeLen - 1));- var correctNodeList = reverseNodeList ? $elm$core$List$reverse(builder.nodeList) : builder.nodeList;- var tree = A2($elm$core$Array$treeFromBuilder, correctNodeList, builder.nodeListSize);- return A4(- $elm$core$Array$Array_elm_builtin,- $elm$core$Elm$JsArray$length(builder.tail) + treeLen,- A2($elm$core$Basics$max, 5, depth * $elm$core$Array$shiftStep),- tree,- builder.tail);- }- });-var $elm$core$Basics$idiv = _Basics_idiv;-var $elm$core$Basics$lt = _Utils_lt;-var $elm$core$Array$initializeHelp = F5(- function (fn, fromIndex, len, nodeList, tail) {- initializeHelp:- while (true) {- if (fromIndex < 0) {- return A2(- $elm$core$Array$builderToArray,- false,- {nodeList: nodeList, nodeListSize: (len / $elm$core$Array$branchFactor) | 0, tail: tail});- } else {- var leaf = $elm$core$Array$Leaf(- A3($elm$core$Elm$JsArray$initialize, $elm$core$Array$branchFactor, fromIndex, fn));- var $temp$fn = fn,- $temp$fromIndex = fromIndex - $elm$core$Array$branchFactor,- $temp$len = len,- $temp$nodeList = A2($elm$core$List$cons, leaf, nodeList),- $temp$tail = tail;- fn = $temp$fn;- fromIndex = $temp$fromIndex;- len = $temp$len;- nodeList = $temp$nodeList;- tail = $temp$tail;- continue initializeHelp;- }- }- });-var $elm$core$Basics$remainderBy = _Basics_remainderBy;-var $elm$core$Array$initialize = F2(- function (len, fn) {- if (len <= 0) {- return $elm$core$Array$empty;- } else {- var tailLen = len % $elm$core$Array$branchFactor;- var tail = A3($elm$core$Elm$JsArray$initialize, tailLen, len - tailLen, fn);- var initialFromIndex = (len - tailLen) - $elm$core$Array$branchFactor;- return A5($elm$core$Array$initializeHelp, fn, initialFromIndex, len, _List_Nil, tail);- }- });-var $elm$core$Basics$True = {$: 'True'};-var $elm$core$Result$isOk = function (result) {- if (result.$ === 'Ok') {- return true;- } else {- return false;- }-};-var $elm$json$Json$Decode$map = _Json_map1;-var $elm$json$Json$Decode$map2 = _Json_map2;-var $elm$json$Json$Decode$succeed = _Json_succeed;-var $elm$virtual_dom$VirtualDom$toHandlerInt = function (handler) {- switch (handler.$) {- case 'Normal':- return 0;- case 'MayStopPropagation':- return 1;- case 'MayPreventDefault':- return 2;- default:- return 3;- }-};-var $elm$browser$Browser$External = function (a) {- return {$: 'External', a: a};-};-var $elm$browser$Browser$Internal = function (a) {- return {$: 'Internal', a: a};-};-var $elm$core$Basics$identity = function (x) {- return x;-};-var $elm$browser$Browser$Dom$NotFound = function (a) {- return {$: 'NotFound', a: a};-};-var $elm$url$Url$Http = {$: 'Http'};-var $elm$url$Url$Https = {$: 'Https'};-var $elm$url$Url$Url = F6(- function (protocol, host, port_, path, query, fragment) {- return {fragment: fragment, host: host, path: path, port_: port_, protocol: protocol, query: query};- });-var $elm$core$String$contains = _String_contains;-var $elm$core$String$length = _String_length;-var $elm$core$String$slice = _String_slice;-var $elm$core$String$dropLeft = F2(- function (n, string) {- return (n < 1) ? string : A3(- $elm$core$String$slice,- n,- $elm$core$String$length(string),- string);- });-var $elm$core$String$indexes = _String_indexes;-var $elm$core$String$isEmpty = function (string) {- return string === '';-};-var $elm$core$String$left = F2(- function (n, string) {- return (n < 1) ? '' : A3($elm$core$String$slice, 0, n, string);- });-var $elm$core$String$toInt = _String_toInt;-var $elm$url$Url$chompBeforePath = F5(- function (protocol, path, params, frag, str) {- if ($elm$core$String$isEmpty(str) || A2($elm$core$String$contains, '@', str)) {- return $elm$core$Maybe$Nothing;- } else {- var _v0 = A2($elm$core$String$indexes, ':', str);- if (!_v0.b) {- return $elm$core$Maybe$Just(- A6($elm$url$Url$Url, protocol, str, $elm$core$Maybe$Nothing, path, params, frag));- } else {- if (!_v0.b.b) {- var i = _v0.a;- var _v1 = $elm$core$String$toInt(- A2($elm$core$String$dropLeft, i + 1, str));- if (_v1.$ === 'Nothing') {- return $elm$core$Maybe$Nothing;- } else {- var port_ = _v1;- return $elm$core$Maybe$Just(- A6(- $elm$url$Url$Url,- protocol,- A2($elm$core$String$left, i, str),- port_,- path,- params,- frag));- }- } else {- return $elm$core$Maybe$Nothing;- }- }- }- });-var $elm$url$Url$chompBeforeQuery = F4(- function (protocol, params, frag, str) {- if ($elm$core$String$isEmpty(str)) {- return $elm$core$Maybe$Nothing;- } else {- var _v0 = A2($elm$core$String$indexes, '/', str);- if (!_v0.b) {- return A5($elm$url$Url$chompBeforePath, protocol, '/', params, frag, str);- } else {- var i = _v0.a;- return A5(- $elm$url$Url$chompBeforePath,- protocol,- A2($elm$core$String$dropLeft, i, str),- params,- frag,- A2($elm$core$String$left, i, str));- }- }- });-var $elm$url$Url$chompBeforeFragment = F3(- function (protocol, frag, str) {- if ($elm$core$String$isEmpty(str)) {- return $elm$core$Maybe$Nothing;- } else {- var _v0 = A2($elm$core$String$indexes, '?', str);- if (!_v0.b) {- return A4($elm$url$Url$chompBeforeQuery, protocol, $elm$core$Maybe$Nothing, frag, str);- } else {- var i = _v0.a;- return A4(- $elm$url$Url$chompBeforeQuery,- protocol,- $elm$core$Maybe$Just(- A2($elm$core$String$dropLeft, i + 1, str)),- frag,- A2($elm$core$String$left, i, str));- }- }- });-var $elm$url$Url$chompAfterProtocol = F2(- function (protocol, str) {- if ($elm$core$String$isEmpty(str)) {- return $elm$core$Maybe$Nothing;- } else {- var _v0 = A2($elm$core$String$indexes, '#', str);- if (!_v0.b) {- return A3($elm$url$Url$chompBeforeFragment, protocol, $elm$core$Maybe$Nothing, str);- } else {- var i = _v0.a;- return A3(- $elm$url$Url$chompBeforeFragment,- protocol,- $elm$core$Maybe$Just(- A2($elm$core$String$dropLeft, i + 1, str)),- A2($elm$core$String$left, i, str));- }- }- });-var $elm$core$String$startsWith = _String_startsWith;-var $elm$url$Url$fromString = function (str) {- return A2($elm$core$String$startsWith, 'http://', str) ? A2(- $elm$url$Url$chompAfterProtocol,- $elm$url$Url$Http,- A2($elm$core$String$dropLeft, 7, str)) : (A2($elm$core$String$startsWith, 'https://', str) ? A2(- $elm$url$Url$chompAfterProtocol,- $elm$url$Url$Https,- A2($elm$core$String$dropLeft, 8, str)) : $elm$core$Maybe$Nothing);-};-var $elm$core$Basics$never = function (_v0) {- never:- while (true) {- var nvr = _v0.a;- var $temp$_v0 = nvr;- _v0 = $temp$_v0;- continue never;- }-};-var $elm$core$Task$Perform = function (a) {- return {$: 'Perform', a: a};-};-var $elm$core$Task$succeed = _Scheduler_succeed;-var $elm$core$Task$init = $elm$core$Task$succeed(_Utils_Tuple0);-var $elm$core$List$foldrHelper = F4(- function (fn, acc, ctr, ls) {- if (!ls.b) {- return acc;- } else {- var a = ls.a;- var r1 = ls.b;- if (!r1.b) {- return A2(fn, a, acc);- } else {- var b = r1.a;- var r2 = r1.b;- if (!r2.b) {- return A2(- fn,- a,- A2(fn, b, acc));- } else {- var c = r2.a;- var r3 = r2.b;- if (!r3.b) {- return A2(- fn,- a,- A2(- fn,- b,- A2(fn, c, acc)));- } else {- var d = r3.a;- var r4 = r3.b;- var res = (ctr > 500) ? A3(- $elm$core$List$foldl,- fn,- acc,- $elm$core$List$reverse(r4)) : A4($elm$core$List$foldrHelper, fn, acc, ctr + 1, r4);- return A2(- fn,- a,- A2(- fn,- b,- A2(- fn,- c,- A2(fn, d, res))));- }- }- }- }- });-var $elm$core$List$foldr = F3(- function (fn, acc, ls) {- return A4($elm$core$List$foldrHelper, fn, acc, 0, ls);- });-var $elm$core$List$map = F2(- function (f, xs) {- return A3(- $elm$core$List$foldr,- F2(- function (x, acc) {- return A2(- $elm$core$List$cons,- f(x),- acc);- }),- _List_Nil,- xs);- });-var $elm$core$Task$andThen = _Scheduler_andThen;-var $elm$core$Task$map = F2(- function (func, taskA) {- return A2(- $elm$core$Task$andThen,- function (a) {- return $elm$core$Task$succeed(- func(a));- },- taskA);- });-var $elm$core$Task$map2 = F3(- function (func, taskA, taskB) {- return A2(- $elm$core$Task$andThen,- function (a) {- return A2(- $elm$core$Task$andThen,- function (b) {- return $elm$core$Task$succeed(- A2(func, a, b));- },- taskB);- },- taskA);- });-var $elm$core$Task$sequence = function (tasks) {- return A3(- $elm$core$List$foldr,- $elm$core$Task$map2($elm$core$List$cons),- $elm$core$Task$succeed(_List_Nil),- tasks);-};-var $elm$core$Platform$sendToApp = _Platform_sendToApp;-var $elm$core$Task$spawnCmd = F2(- function (router, _v0) {- var task = _v0.a;- return _Scheduler_spawn(- A2(- $elm$core$Task$andThen,- $elm$core$Platform$sendToApp(router),- task));- });-var $elm$core$Task$onEffects = F3(- function (router, commands, state) {- return A2(- $elm$core$Task$map,- function (_v0) {- return _Utils_Tuple0;- },- $elm$core$Task$sequence(- A2(- $elm$core$List$map,- $elm$core$Task$spawnCmd(router),- commands)));- });-var $elm$core$Task$onSelfMsg = F3(- function (_v0, _v1, _v2) {- return $elm$core$Task$succeed(_Utils_Tuple0);- });-var $elm$core$Task$cmdMap = F2(- function (tagger, _v0) {- var task = _v0.a;- return $elm$core$Task$Perform(- A2($elm$core$Task$map, tagger, task));- });-_Platform_effectManagers['Task'] = _Platform_createManager($elm$core$Task$init, $elm$core$Task$onEffects, $elm$core$Task$onSelfMsg, $elm$core$Task$cmdMap);-var $elm$core$Task$command = _Platform_leaf('Task');-var $elm$core$Task$perform = F2(- function (toMessage, task) {- return $elm$core$Task$command(- $elm$core$Task$Perform(- A2($elm$core$Task$map, toMessage, task)));- });-var $elm$browser$Browser$application = _Browser_application;-var $elm$time$Time$Every = F2(- function (a, b) {- return {$: 'Every', a: a, b: b};- });-var $elm$time$Time$State = F2(- function (taggers, processes) {- return {processes: processes, taggers: taggers};- });-var $elm$core$Dict$RBEmpty_elm_builtin = {$: 'RBEmpty_elm_builtin'};-var $elm$core$Dict$empty = $elm$core$Dict$RBEmpty_elm_builtin;-var $elm$time$Time$init = $elm$core$Task$succeed(- A2($elm$time$Time$State, $elm$core$Dict$empty, $elm$core$Dict$empty));-var $elm$core$Basics$compare = _Utils_compare;-var $elm$core$Dict$get = F2(- function (targetKey, dict) {- get:- while (true) {- if (dict.$ === 'RBEmpty_elm_builtin') {- return $elm$core$Maybe$Nothing;- } else {- var key = dict.b;- var value = dict.c;- var left = dict.d;- var right = dict.e;- var _v1 = A2($elm$core$Basics$compare, targetKey, key);- switch (_v1.$) {- case 'LT':- var $temp$targetKey = targetKey,- $temp$dict = left;- targetKey = $temp$targetKey;- dict = $temp$dict;- continue get;- case 'EQ':- return $elm$core$Maybe$Just(value);- default:- var $temp$targetKey = targetKey,- $temp$dict = right;- targetKey = $temp$targetKey;- dict = $temp$dict;- continue get;- }- }- }- });-var $elm$core$Dict$Black = {$: 'Black'};-var $elm$core$Dict$RBNode_elm_builtin = F5(- function (a, b, c, d, e) {- return {$: 'RBNode_elm_builtin', a: a, b: b, c: c, d: d, e: e};- });-var $elm$core$Dict$Red = {$: 'Red'};-var $elm$core$Dict$balance = F5(- function (color, key, value, left, right) {- if ((right.$ === 'RBNode_elm_builtin') && (right.a.$ === 'Red')) {- var _v1 = right.a;- var rK = right.b;- var rV = right.c;- var rLeft = right.d;- var rRight = right.e;- if ((left.$ === 'RBNode_elm_builtin') && (left.a.$ === 'Red')) {- var _v3 = left.a;- var lK = left.b;- var lV = left.c;- var lLeft = left.d;- var lRight = left.e;- return A5(- $elm$core$Dict$RBNode_elm_builtin,- $elm$core$Dict$Red,- key,- value,- A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, lK, lV, lLeft, lRight),- A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, rK, rV, rLeft, rRight));- } else {- return A5(- $elm$core$Dict$RBNode_elm_builtin,- color,- rK,- rV,- A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, key, value, left, rLeft),- rRight);- }- } else {- if ((((left.$ === 'RBNode_elm_builtin') && (left.a.$ === 'Red')) && (left.d.$ === 'RBNode_elm_builtin')) && (left.d.a.$ === 'Red')) {- var _v5 = left.a;- var lK = left.b;- var lV = left.c;- var _v6 = left.d;- var _v7 = _v6.a;- var llK = _v6.b;- var llV = _v6.c;- var llLeft = _v6.d;- var llRight = _v6.e;- var lRight = left.e;- return A5(- $elm$core$Dict$RBNode_elm_builtin,- $elm$core$Dict$Red,- lK,- lV,- A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, llK, llV, llLeft, llRight),- A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, key, value, lRight, right));- } else {- return A5($elm$core$Dict$RBNode_elm_builtin, color, key, value, left, right);- }- }- });-var $elm$core$Dict$insertHelp = F3(- function (key, value, dict) {- if (dict.$ === 'RBEmpty_elm_builtin') {- return 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);- } else {- var nColor = dict.a;- var nKey = dict.b;- var nValue = dict.c;- var nLeft = dict.d;- var nRight = dict.e;- var _v1 = A2($elm$core$Basics$compare, key, nKey);- switch (_v1.$) {- case 'LT':- return A5(- $elm$core$Dict$balance,- nColor,- nKey,- nValue,- A3($elm$core$Dict$insertHelp, key, value, nLeft),- nRight);- case 'EQ':- return A5($elm$core$Dict$RBNode_elm_builtin, nColor, nKey, value, nLeft, nRight);- default:- return A5(- $elm$core$Dict$balance,- nColor,- nKey,- nValue,- nLeft,- A3($elm$core$Dict$insertHelp, key, value, nRight));- }- }- });-var $elm$core$Dict$insert = F3(- function (key, value, dict) {- var _v0 = A3($elm$core$Dict$insertHelp, key, value, dict);- if ((_v0.$ === 'RBNode_elm_builtin') && (_v0.a.$ === 'Red')) {- var _v1 = _v0.a;- var k = _v0.b;- var v = _v0.c;- var l = _v0.d;- var r = _v0.e;- return A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, k, v, l, r);- } else {- var x = _v0;- return x;- }- });-var $elm$time$Time$addMySub = F2(- function (_v0, state) {- var interval = _v0.a;- var tagger = _v0.b;- var _v1 = A2($elm$core$Dict$get, interval, state);- if (_v1.$ === 'Nothing') {- return A3(- $elm$core$Dict$insert,- interval,- _List_fromArray(- [tagger]),- state);- } else {- var taggers = _v1.a;- return A3(- $elm$core$Dict$insert,- interval,- A2($elm$core$List$cons, tagger, taggers),- state);- }- });-var $elm$core$Process$kill = _Scheduler_kill;-var $elm$core$Dict$foldl = F3(- function (func, acc, dict) {- foldl:- while (true) {- if (dict.$ === 'RBEmpty_elm_builtin') {- return acc;- } else {- var key = dict.b;- var value = dict.c;- var left = dict.d;- var right = dict.e;- var $temp$func = func,- $temp$acc = A3(- func,- key,- value,- A3($elm$core$Dict$foldl, func, acc, left)),- $temp$dict = right;- func = $temp$func;- acc = $temp$acc;- dict = $temp$dict;- continue foldl;- }- }- });-var $elm$core$Dict$merge = F6(- function (leftStep, bothStep, rightStep, leftDict, rightDict, initialResult) {- var stepState = F3(- function (rKey, rValue, _v0) {- stepState:- while (true) {- var list = _v0.a;- var result = _v0.b;- if (!list.b) {- return _Utils_Tuple2(- list,- A3(rightStep, rKey, rValue, result));- } else {- var _v2 = list.a;- var lKey = _v2.a;- var lValue = _v2.b;- var rest = list.b;- if (_Utils_cmp(lKey, rKey) < 0) {- var $temp$rKey = rKey,- $temp$rValue = rValue,- $temp$_v0 = _Utils_Tuple2(- rest,- A3(leftStep, lKey, lValue, result));- rKey = $temp$rKey;- rValue = $temp$rValue;- _v0 = $temp$_v0;- continue stepState;- } else {- if (_Utils_cmp(lKey, rKey) > 0) {- return _Utils_Tuple2(- list,- A3(rightStep, rKey, rValue, result));- } else {- return _Utils_Tuple2(- rest,- A4(bothStep, lKey, lValue, rValue, result));- }- }- }- }- });- var _v3 = A3(- $elm$core$Dict$foldl,- stepState,- _Utils_Tuple2(- $elm$core$Dict$toList(leftDict),- initialResult),- rightDict);- var leftovers = _v3.a;- var intermediateResult = _v3.b;- return A3(- $elm$core$List$foldl,- F2(- function (_v4, result) {- var k = _v4.a;- var v = _v4.b;- return A3(leftStep, k, v, result);- }),- intermediateResult,- leftovers);- });-var $elm$core$Platform$sendToSelf = _Platform_sendToSelf;-var $elm$time$Time$Name = function (a) {- return {$: 'Name', a: a};-};-var $elm$time$Time$Offset = function (a) {- return {$: 'Offset', a: a};-};-var $elm$time$Time$Zone = F2(- function (a, b) {- return {$: 'Zone', a: a, b: b};- });-var $elm$time$Time$customZone = $elm$time$Time$Zone;-var $elm$time$Time$setInterval = _Time_setInterval;-var $elm$core$Process$spawn = _Scheduler_spawn;-var $elm$time$Time$spawnHelp = F3(- function (router, intervals, processes) {- if (!intervals.b) {- return $elm$core$Task$succeed(processes);- } else {- var interval = intervals.a;- var rest = intervals.b;- var spawnTimer = $elm$core$Process$spawn(- A2(- $elm$time$Time$setInterval,- interval,- A2($elm$core$Platform$sendToSelf, router, interval)));- var spawnRest = function (id) {- return A3(- $elm$time$Time$spawnHelp,- router,- rest,- A3($elm$core$Dict$insert, interval, id, processes));- };- return A2($elm$core$Task$andThen, spawnRest, spawnTimer);- }- });-var $elm$time$Time$onEffects = F3(- function (router, subs, _v0) {- var processes = _v0.processes;- var rightStep = F3(- function (_v6, id, _v7) {- var spawns = _v7.a;- var existing = _v7.b;- var kills = _v7.c;- return _Utils_Tuple3(- spawns,- existing,- A2(- $elm$core$Task$andThen,- function (_v5) {- return kills;- },- $elm$core$Process$kill(id)));- });- var newTaggers = A3($elm$core$List$foldl, $elm$time$Time$addMySub, $elm$core$Dict$empty, subs);- var leftStep = F3(- function (interval, taggers, _v4) {- var spawns = _v4.a;- var existing = _v4.b;- var kills = _v4.c;- return _Utils_Tuple3(- A2($elm$core$List$cons, interval, spawns),- existing,- kills);- });- var bothStep = F4(- function (interval, taggers, id, _v3) {- var spawns = _v3.a;- var existing = _v3.b;- var kills = _v3.c;- return _Utils_Tuple3(- spawns,- A3($elm$core$Dict$insert, interval, id, existing),- kills);- });- var _v1 = A6(- $elm$core$Dict$merge,- leftStep,- bothStep,- rightStep,- newTaggers,- processes,- _Utils_Tuple3(- _List_Nil,- $elm$core$Dict$empty,- $elm$core$Task$succeed(_Utils_Tuple0)));- var spawnList = _v1.a;- var existingDict = _v1.b;- var killTask = _v1.c;- return A2(- $elm$core$Task$andThen,- function (newProcesses) {- return $elm$core$Task$succeed(- A2($elm$time$Time$State, newTaggers, newProcesses));- },- A2(- $elm$core$Task$andThen,- function (_v2) {- return A3($elm$time$Time$spawnHelp, router, spawnList, existingDict);- },- killTask));- });-var $elm$time$Time$Posix = function (a) {- return {$: 'Posix', a: a};-};-var $elm$time$Time$millisToPosix = $elm$time$Time$Posix;-var $elm$time$Time$now = _Time_now($elm$time$Time$millisToPosix);-var $elm$time$Time$onSelfMsg = F3(- function (router, interval, state) {- var _v0 = A2($elm$core$Dict$get, interval, state.taggers);- if (_v0.$ === 'Nothing') {- return $elm$core$Task$succeed(state);- } else {- var taggers = _v0.a;- var tellTaggers = function (time) {- return $elm$core$Task$sequence(- A2(- $elm$core$List$map,- function (tagger) {- return A2(- $elm$core$Platform$sendToApp,- router,- tagger(time));- },- taggers));- };- return A2(- $elm$core$Task$andThen,- function (_v1) {- return $elm$core$Task$succeed(state);- },- A2($elm$core$Task$andThen, tellTaggers, $elm$time$Time$now));- }- });-var $elm$core$Basics$composeL = F3(- function (g, f, x) {- return g(- f(x));- });-var $elm$time$Time$subMap = F2(- function (f, _v0) {- var interval = _v0.a;- var tagger = _v0.b;- return A2(- $elm$time$Time$Every,- interval,- A2($elm$core$Basics$composeL, f, tagger));- });-_Platform_effectManagers['Time'] = _Platform_createManager($elm$time$Time$init, $elm$time$Time$onEffects, $elm$time$Time$onSelfMsg, 0, $elm$time$Time$subMap);-var $elm$time$Time$subscription = _Platform_leaf('Time');-var $elm$time$Time$every = F2(- function (interval, tagger) {- return $elm$time$Time$subscription(- A2($elm$time$Time$Every, interval, tagger));- });-var $author$project$Main$LoadedFlags = function (a) {- return {$: 'LoadedFlags', a: a};-};-var $elm$json$Json$Decode$decodeString = _Json_runOnString;-var $elm$http$Http$BadStatus_ = F2(- function (a, b) {- return {$: 'BadStatus_', a: a, b: b};- });-var $elm$http$Http$BadUrl_ = function (a) {- return {$: 'BadUrl_', a: a};-};-var $elm$http$Http$GoodStatus_ = F2(- function (a, b) {- return {$: 'GoodStatus_', a: a, b: b};- });-var $elm$http$Http$NetworkError_ = {$: 'NetworkError_'};-var $elm$http$Http$Receiving = function (a) {- return {$: 'Receiving', a: a};-};-var $elm$http$Http$Sending = function (a) {- return {$: 'Sending', a: a};-};-var $elm$http$Http$Timeout_ = {$: 'Timeout_'};-var $elm$core$Maybe$isJust = function (maybe) {- if (maybe.$ === 'Just') {- return true;- } else {- return false;- }-};-var $elm$core$Dict$getMin = function (dict) {- getMin:- while (true) {- if ((dict.$ === 'RBNode_elm_builtin') && (dict.d.$ === 'RBNode_elm_builtin')) {- var left = dict.d;- var $temp$dict = left;- dict = $temp$dict;- continue getMin;- } else {- return dict;- }- }-};-var $elm$core$Dict$moveRedLeft = function (dict) {- if (((dict.$ === 'RBNode_elm_builtin') && (dict.d.$ === 'RBNode_elm_builtin')) && (dict.e.$ === 'RBNode_elm_builtin')) {- if ((dict.e.d.$ === 'RBNode_elm_builtin') && (dict.e.d.a.$ === 'Red')) {- var clr = dict.a;- var k = dict.b;- var v = dict.c;- var _v1 = dict.d;- var lClr = _v1.a;- var lK = _v1.b;- var lV = _v1.c;- var lLeft = _v1.d;- var lRight = _v1.e;- var _v2 = dict.e;- var rClr = _v2.a;- var rK = _v2.b;- var rV = _v2.c;- var rLeft = _v2.d;- var _v3 = rLeft.a;- var rlK = rLeft.b;- var rlV = rLeft.c;- var rlL = rLeft.d;- var rlR = rLeft.e;- var rRight = _v2.e;- return A5(- $elm$core$Dict$RBNode_elm_builtin,- $elm$core$Dict$Red,- rlK,- rlV,- A5(- $elm$core$Dict$RBNode_elm_builtin,- $elm$core$Dict$Black,- k,- v,- A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),- rlL),- A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, rK, rV, rlR, rRight));- } else {- var clr = dict.a;- var k = dict.b;- var v = dict.c;- var _v4 = dict.d;- var lClr = _v4.a;- var lK = _v4.b;- var lV = _v4.c;- var lLeft = _v4.d;- var lRight = _v4.e;- var _v5 = dict.e;- var rClr = _v5.a;- var rK = _v5.b;- var rV = _v5.c;- var rLeft = _v5.d;- var rRight = _v5.e;- if (clr.$ === 'Black') {- return A5(- $elm$core$Dict$RBNode_elm_builtin,- $elm$core$Dict$Black,- k,- v,- A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),- A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight));- } else {- return A5(- $elm$core$Dict$RBNode_elm_builtin,- $elm$core$Dict$Black,- k,- v,- A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),- A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight));- }- }- } else {- return dict;- }-};-var $elm$core$Dict$moveRedRight = function (dict) {- if (((dict.$ === 'RBNode_elm_builtin') && (dict.d.$ === 'RBNode_elm_builtin')) && (dict.e.$ === 'RBNode_elm_builtin')) {- if ((dict.d.d.$ === 'RBNode_elm_builtin') && (dict.d.d.a.$ === 'Red')) {- var clr = dict.a;- var k = dict.b;- var v = dict.c;- var _v1 = dict.d;- var lClr = _v1.a;- var lK = _v1.b;- var lV = _v1.c;- var _v2 = _v1.d;- var _v3 = _v2.a;- var llK = _v2.b;- var llV = _v2.c;- var llLeft = _v2.d;- var llRight = _v2.e;- var lRight = _v1.e;- var _v4 = dict.e;- var rClr = _v4.a;- var rK = _v4.b;- var rV = _v4.c;- var rLeft = _v4.d;- var rRight = _v4.e;- return A5(- $elm$core$Dict$RBNode_elm_builtin,- $elm$core$Dict$Red,- lK,- lV,- A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, llK, llV, llLeft, llRight),- A5(- $elm$core$Dict$RBNode_elm_builtin,- $elm$core$Dict$Black,- k,- v,- lRight,- A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight)));- } else {- var clr = dict.a;- var k = dict.b;- var v = dict.c;- var _v5 = dict.d;- var lClr = _v5.a;- var lK = _v5.b;- var lV = _v5.c;- var lLeft = _v5.d;- var lRight = _v5.e;- var _v6 = dict.e;- var rClr = _v6.a;- var rK = _v6.b;- var rV = _v6.c;- var rLeft = _v6.d;- var rRight = _v6.e;- if (clr.$ === 'Black') {- return A5(- $elm$core$Dict$RBNode_elm_builtin,- $elm$core$Dict$Black,- k,- v,- A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),- A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight));- } else {- return A5(- $elm$core$Dict$RBNode_elm_builtin,- $elm$core$Dict$Black,- k,- v,- A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),- A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight));- }- }- } else {- return dict;- }-};-var $elm$core$Dict$removeHelpPrepEQGT = F7(- function (targetKey, dict, color, key, value, left, right) {- if ((left.$ === 'RBNode_elm_builtin') && (left.a.$ === 'Red')) {- var _v1 = left.a;- var lK = left.b;- var lV = left.c;- var lLeft = left.d;- var lRight = left.e;- return A5(- $elm$core$Dict$RBNode_elm_builtin,- color,- lK,- lV,- lLeft,- A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, key, value, lRight, right));- } else {- _v2$2:- while (true) {- if ((right.$ === 'RBNode_elm_builtin') && (right.a.$ === 'Black')) {- if (right.d.$ === 'RBNode_elm_builtin') {- if (right.d.a.$ === 'Black') {- var _v3 = right.a;- var _v4 = right.d;- var _v5 = _v4.a;- return $elm$core$Dict$moveRedRight(dict);- } else {- break _v2$2;- }- } else {- var _v6 = right.a;- var _v7 = right.d;- return $elm$core$Dict$moveRedRight(dict);- }- } else {- break _v2$2;- }- }- return dict;- }- });-var $elm$core$Dict$removeMin = function (dict) {- if ((dict.$ === 'RBNode_elm_builtin') && (dict.d.$ === 'RBNode_elm_builtin')) {- var color = dict.a;- var key = dict.b;- var value = dict.c;- var left = dict.d;- var lColor = left.a;- var lLeft = left.d;- var right = dict.e;- if (lColor.$ === 'Black') {- if ((lLeft.$ === 'RBNode_elm_builtin') && (lLeft.a.$ === 'Red')) {- var _v3 = lLeft.a;- return A5(- $elm$core$Dict$RBNode_elm_builtin,- color,- key,- value,- $elm$core$Dict$removeMin(left),- right);- } else {- var _v4 = $elm$core$Dict$moveRedLeft(dict);- if (_v4.$ === 'RBNode_elm_builtin') {- var nColor = _v4.a;- var nKey = _v4.b;- var nValue = _v4.c;- var nLeft = _v4.d;- var nRight = _v4.e;- return A5(- $elm$core$Dict$balance,- nColor,- nKey,- nValue,- $elm$core$Dict$removeMin(nLeft),- nRight);- } else {- return $elm$core$Dict$RBEmpty_elm_builtin;- }- }- } else {- return A5(- $elm$core$Dict$RBNode_elm_builtin,- color,- key,- value,- $elm$core$Dict$removeMin(left),- right);- }- } else {- return $elm$core$Dict$RBEmpty_elm_builtin;- }-};-var $elm$core$Dict$removeHelp = F2(- function (targetKey, dict) {- if (dict.$ === 'RBEmpty_elm_builtin') {- return $elm$core$Dict$RBEmpty_elm_builtin;- } else {- var color = dict.a;- var key = dict.b;- var value = dict.c;- var left = dict.d;- var right = dict.e;- if (_Utils_cmp(targetKey, key) < 0) {- if ((left.$ === 'RBNode_elm_builtin') && (left.a.$ === 'Black')) {- var _v4 = left.a;- var lLeft = left.d;- if ((lLeft.$ === 'RBNode_elm_builtin') && (lLeft.a.$ === 'Red')) {- var _v6 = lLeft.a;- return A5(- $elm$core$Dict$RBNode_elm_builtin,- color,- key,- value,- A2($elm$core$Dict$removeHelp, targetKey, left),- right);- } else {- var _v7 = $elm$core$Dict$moveRedLeft(dict);- if (_v7.$ === 'RBNode_elm_builtin') {- var nColor = _v7.a;- var nKey = _v7.b;- var nValue = _v7.c;- var nLeft = _v7.d;- var nRight = _v7.e;- return A5(- $elm$core$Dict$balance,- nColor,- nKey,- nValue,- A2($elm$core$Dict$removeHelp, targetKey, nLeft),- nRight);- } else {- return $elm$core$Dict$RBEmpty_elm_builtin;- }- }- } else {- return A5(- $elm$core$Dict$RBNode_elm_builtin,- color,- key,- value,- A2($elm$core$Dict$removeHelp, targetKey, left),- right);- }- } else {- return A2(- $elm$core$Dict$removeHelpEQGT,- targetKey,- A7($elm$core$Dict$removeHelpPrepEQGT, targetKey, dict, color, key, value, left, right));- }- }- });-var $elm$core$Dict$removeHelpEQGT = F2(- function (targetKey, dict) {- if (dict.$ === 'RBNode_elm_builtin') {- var color = dict.a;- var key = dict.b;- var value = dict.c;- var left = dict.d;- var right = dict.e;- if (_Utils_eq(targetKey, key)) {- var _v1 = $elm$core$Dict$getMin(right);- if (_v1.$ === 'RBNode_elm_builtin') {- var minKey = _v1.b;- var minValue = _v1.c;- return A5(- $elm$core$Dict$balance,- color,- minKey,- minValue,- left,- $elm$core$Dict$removeMin(right));- } else {- return $elm$core$Dict$RBEmpty_elm_builtin;- }- } else {- return A5(- $elm$core$Dict$balance,- color,- key,- value,- left,- A2($elm$core$Dict$removeHelp, targetKey, right));- }- } else {- return $elm$core$Dict$RBEmpty_elm_builtin;- }- });-var $elm$core$Dict$remove = F2(- function (key, dict) {- var _v0 = A2($elm$core$Dict$removeHelp, key, dict);- if ((_v0.$ === 'RBNode_elm_builtin') && (_v0.a.$ === 'Red')) {- var _v1 = _v0.a;- var k = _v0.b;- var v = _v0.c;- var l = _v0.d;- var r = _v0.e;- return A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, k, v, l, r);- } else {- var x = _v0;- return x;- }- });-var $elm$core$Dict$update = F3(- function (targetKey, alter, dictionary) {- var _v0 = alter(- A2($elm$core$Dict$get, targetKey, dictionary));- if (_v0.$ === 'Just') {- var value = _v0.a;- return A3($elm$core$Dict$insert, targetKey, value, dictionary);- } else {- return A2($elm$core$Dict$remove, targetKey, dictionary);- }- });-var $elm$core$Basics$composeR = F3(- function (f, g, x) {- return g(- f(x));- });-var $elm$http$Http$expectStringResponse = F2(- function (toMsg, toResult) {- return A3(- _Http_expect,- '',- $elm$core$Basics$identity,- A2($elm$core$Basics$composeR, toResult, toMsg));- });-var $elm$core$Result$mapError = F2(- function (f, result) {- if (result.$ === 'Ok') {- var v = result.a;- return $elm$core$Result$Ok(v);- } else {- var e = result.a;- return $elm$core$Result$Err(- f(e));- }- });-var $elm$http$Http$BadBody = function (a) {- return {$: 'BadBody', a: a};-};-var $elm$http$Http$BadStatus = function (a) {- return {$: 'BadStatus', a: a};-};-var $elm$http$Http$BadUrl = function (a) {- return {$: 'BadUrl', a: a};-};-var $elm$http$Http$NetworkError = {$: 'NetworkError'};-var $elm$http$Http$Timeout = {$: 'Timeout'};-var $elm$http$Http$resolve = F2(- function (toResult, response) {- switch (response.$) {- case 'BadUrl_':- var url = response.a;- return $elm$core$Result$Err(- $elm$http$Http$BadUrl(url));- case 'Timeout_':- return $elm$core$Result$Err($elm$http$Http$Timeout);- case 'NetworkError_':- return $elm$core$Result$Err($elm$http$Http$NetworkError);- case 'BadStatus_':- var metadata = response.a;- return $elm$core$Result$Err(- $elm$http$Http$BadStatus(metadata.statusCode));- default:- var body = response.b;- return A2(- $elm$core$Result$mapError,- $elm$http$Http$BadBody,- toResult(body));- }- });-var $elm$http$Http$expectJson = F2(- function (toMsg, decoder) {- return A2(- $elm$http$Http$expectStringResponse,- toMsg,- $elm$http$Http$resolve(- function (string) {- return A2(- $elm$core$Result$mapError,- $elm$json$Json$Decode$errorToString,- A2($elm$json$Json$Decode$decodeString, decoder, string));- }));- });-var $author$project$Main$Percentage = function (a) {- return {$: 'Percentage', a: a};-};-var $elm$core$Dict$fromList = function (assocs) {- return A3(- $elm$core$List$foldl,- F2(- function (_v0, dict) {- var key = _v0.a;- var value = _v0.b;- return A3($elm$core$Dict$insert, key, value, dict);- }),- $elm$core$Dict$empty,- assocs);-};-var $elm$json$Json$Decode$keyValuePairs = _Json_decodeKeyValuePairs;-var $elm$json$Json$Decode$dict = function (decoder) {- return A2(- $elm$json$Json$Decode$map,- $elm$core$Dict$fromList,- $elm$json$Json$Decode$keyValuePairs(decoder));-};-var $elm$json$Json$Decode$int = _Json_decodeInt;-var $author$project$Main$flagsDecoder = $elm$json$Json$Decode$dict(- A2($elm$json$Json$Decode$map, $author$project$Main$Percentage, $elm$json$Json$Decode$int));-var $elm$http$Http$emptyBody = _Http_emptyBody;-var $elm$http$Http$Request = function (a) {- return {$: 'Request', a: a};-};-var $elm$http$Http$State = F2(- function (reqs, subs) {- return {reqs: reqs, subs: subs};- });-var $elm$http$Http$init = $elm$core$Task$succeed(- A2($elm$http$Http$State, $elm$core$Dict$empty, _List_Nil));-var $elm$http$Http$updateReqs = F3(- function (router, cmds, reqs) {- updateReqs:- while (true) {- if (!cmds.b) {- return $elm$core$Task$succeed(reqs);- } else {- var cmd = cmds.a;- var otherCmds = cmds.b;- if (cmd.$ === 'Cancel') {- var tracker = cmd.a;- var _v2 = A2($elm$core$Dict$get, tracker, reqs);- if (_v2.$ === 'Nothing') {- var $temp$router = router,- $temp$cmds = otherCmds,- $temp$reqs = reqs;- router = $temp$router;- cmds = $temp$cmds;- reqs = $temp$reqs;- continue updateReqs;- } else {- var pid = _v2.a;- return A2(- $elm$core$Task$andThen,- function (_v3) {- return A3(- $elm$http$Http$updateReqs,- router,- otherCmds,- A2($elm$core$Dict$remove, tracker, reqs));- },- $elm$core$Process$kill(pid));- }- } else {- var req = cmd.a;- return A2(- $elm$core$Task$andThen,- function (pid) {- var _v4 = req.tracker;- if (_v4.$ === 'Nothing') {- return A3($elm$http$Http$updateReqs, router, otherCmds, reqs);- } else {- var tracker = _v4.a;- return A3(- $elm$http$Http$updateReqs,- router,- otherCmds,- A3($elm$core$Dict$insert, tracker, pid, reqs));- }- },- $elm$core$Process$spawn(- A3(- _Http_toTask,- router,- $elm$core$Platform$sendToApp(router),- req)));- }- }- }- });-var $elm$http$Http$onEffects = F4(- function (router, cmds, subs, state) {- return A2(- $elm$core$Task$andThen,- function (reqs) {- return $elm$core$Task$succeed(- A2($elm$http$Http$State, reqs, subs));- },- A3($elm$http$Http$updateReqs, router, cmds, state.reqs));- });-var $elm$core$List$maybeCons = F3(- function (f, mx, xs) {- var _v0 = f(mx);- if (_v0.$ === 'Just') {- var x = _v0.a;- return A2($elm$core$List$cons, x, xs);- } else {- return xs;- }- });-var $elm$core$List$filterMap = F2(- function (f, xs) {- return A3(- $elm$core$List$foldr,- $elm$core$List$maybeCons(f),- _List_Nil,- xs);- });-var $elm$http$Http$maybeSend = F4(- function (router, desiredTracker, progress, _v0) {- var actualTracker = _v0.a;- var toMsg = _v0.b;- return _Utils_eq(desiredTracker, actualTracker) ? $elm$core$Maybe$Just(- A2(- $elm$core$Platform$sendToApp,- router,- toMsg(progress))) : $elm$core$Maybe$Nothing;- });-var $elm$http$Http$onSelfMsg = F3(- function (router, _v0, state) {- var tracker = _v0.a;- var progress = _v0.b;- return A2(- $elm$core$Task$andThen,- function (_v1) {- return $elm$core$Task$succeed(state);- },- $elm$core$Task$sequence(- A2(- $elm$core$List$filterMap,- A3($elm$http$Http$maybeSend, router, tracker, progress),- state.subs)));- });-var $elm$http$Http$Cancel = function (a) {- return {$: 'Cancel', a: a};-};-var $elm$http$Http$cmdMap = F2(- function (func, cmd) {- if (cmd.$ === 'Cancel') {- var tracker = cmd.a;- return $elm$http$Http$Cancel(tracker);- } else {- var r = cmd.a;- return $elm$http$Http$Request(- {- allowCookiesFromOtherDomains: r.allowCookiesFromOtherDomains,- body: r.body,- expect: A2(_Http_mapExpect, func, r.expect),- headers: r.headers,- method: r.method,- timeout: r.timeout,- tracker: r.tracker,- url: r.url- });- }- });-var $elm$http$Http$MySub = F2(- function (a, b) {- return {$: 'MySub', a: a, b: b};- });-var $elm$http$Http$subMap = F2(- function (func, _v0) {- var tracker = _v0.a;- var toMsg = _v0.b;- return A2(- $elm$http$Http$MySub,- tracker,- A2($elm$core$Basics$composeR, toMsg, func));- });-_Platform_effectManagers['Http'] = _Platform_createManager($elm$http$Http$init, $elm$http$Http$onEffects, $elm$http$Http$onSelfMsg, $elm$http$Http$cmdMap, $elm$http$Http$subMap);-var $elm$http$Http$command = _Platform_leaf('Http');-var $elm$http$Http$subscription = _Platform_leaf('Http');-var $elm$http$Http$request = function (r) {- return $elm$http$Http$command(- $elm$http$Http$Request(- {allowCookiesFromOtherDomains: false, body: r.body, expect: r.expect, headers: r.headers, method: r.method, timeout: r.timeout, tracker: r.tracker, url: r.url}));-};-var $elm$http$Http$get = function (r) {- return $elm$http$Http$request(- {body: $elm$http$Http$emptyBody, expect: r.expect, headers: _List_Nil, method: 'GET', timeout: $elm$core$Maybe$Nothing, tracker: $elm$core$Maybe$Nothing, url: r.url});-};-var $elm$url$Url$Builder$toQueryPair = function (_v0) {- var key = _v0.a;- var value = _v0.b;- return key + ('=' + value);-};-var $elm$url$Url$Builder$toQuery = function (parameters) {- if (!parameters.b) {- return '';- } else {- return '?' + A2(- $elm$core$String$join,- '&',- A2($elm$core$List$map, $elm$url$Url$Builder$toQueryPair, parameters));- }-};-var $elm$url$Url$Builder$relative = F2(- function (pathSegments, parameters) {- return _Utils_ap(- A2($elm$core$String$join, '/', pathSegments),- $elm$url$Url$Builder$toQuery(parameters));- });-var $author$project$Main$sendLoadFlagsRequest = function (rootPath) {- return $elm$http$Http$get(- {- expect: A2(- $elm$http$Http$expectJson,- function (res) {- if (res.$ === 'Ok') {- var x = res.a;- return $author$project$Main$LoadedFlags(x);- } else {- return $author$project$Main$LoadedFlags($elm$core$Dict$empty);- }- },- $author$project$Main$flagsDecoder),- url: A2(- $elm$url$Url$Builder$relative,- _Utils_ap(- rootPath,- _List_fromArray(- ['flags'])),- _List_Nil)- });-};-var $elm$core$List$isEmpty = function (xs) {- if (!xs.b) {- return true;- } else {- return false;- }-};-var $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles = F2(- function (_v0, styles) {- var newStyles = _v0.b;- var classname = _v0.c;- return $elm$core$List$isEmpty(newStyles) ? styles : A3($elm$core$Dict$insert, classname, newStyles, styles);- });-var $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute = function (_v0) {- var val = _v0.a;- return val;-};-var $elm$virtual_dom$VirtualDom$keyedNode = function (tag) {- return _VirtualDom_keyedNode(- _VirtualDom_noScript(tag));-};-var $elm$virtual_dom$VirtualDom$keyedNodeNS = F2(- function (namespace, tag) {- return A2(- _VirtualDom_keyedNodeNS,- namespace,- _VirtualDom_noScript(tag));- });-var $elm$virtual_dom$VirtualDom$node = function (tag) {- return _VirtualDom_node(- _VirtualDom_noScript(tag));-};-var $elm$virtual_dom$VirtualDom$nodeNS = function (tag) {- return _VirtualDom_nodeNS(- _VirtualDom_noScript(tag));-};-var $rtfeldman$elm_css$VirtualDom$Styled$accumulateKeyedStyledHtml = F2(- function (_v6, _v7) {- var key = _v6.a;- var html = _v6.b;- var pairs = _v7.a;- var styles = _v7.b;- switch (html.$) {- case 'Unstyled':- var vdom = html.a;- return _Utils_Tuple2(- A2(- $elm$core$List$cons,- _Utils_Tuple2(key, vdom),- pairs),- styles);- case 'Node':- var elemType = html.a;- var properties = html.b;- var children = html.c;- var combinedStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, styles, properties);- var _v9 = A3(- $elm$core$List$foldl,- $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyledHtml,- _Utils_Tuple2(_List_Nil, combinedStyles),- children);- var childNodes = _v9.a;- var finalStyles = _v9.b;- var vdom = A3(- $elm$virtual_dom$VirtualDom$node,- elemType,- A2($elm$core$List$map, $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute, properties),- $elm$core$List$reverse(childNodes));- return _Utils_Tuple2(- A2(- $elm$core$List$cons,- _Utils_Tuple2(key, vdom),- pairs),- finalStyles);- case 'NodeNS':- var ns = html.a;- var elemType = html.b;- var properties = html.c;- var children = html.d;- var combinedStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, styles, properties);- var _v10 = A3(- $elm$core$List$foldl,- $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyledHtml,- _Utils_Tuple2(_List_Nil, combinedStyles),- children);- var childNodes = _v10.a;- var finalStyles = _v10.b;- var vdom = A4(- $elm$virtual_dom$VirtualDom$nodeNS,- ns,- elemType,- A2($elm$core$List$map, $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute, properties),- $elm$core$List$reverse(childNodes));- return _Utils_Tuple2(- A2(- $elm$core$List$cons,- _Utils_Tuple2(key, vdom),- pairs),- finalStyles);- case 'KeyedNode':- var elemType = html.a;- var properties = html.b;- var children = html.c;- var combinedStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, styles, properties);- var _v11 = A3(- $elm$core$List$foldl,- $rtfeldman$elm_css$VirtualDom$Styled$accumulateKeyedStyledHtml,- _Utils_Tuple2(_List_Nil, combinedStyles),- children);- var childNodes = _v11.a;- var finalStyles = _v11.b;- var vdom = A3(- $elm$virtual_dom$VirtualDom$keyedNode,- elemType,- A2($elm$core$List$map, $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute, properties),- $elm$core$List$reverse(childNodes));- return _Utils_Tuple2(- A2(- $elm$core$List$cons,- _Utils_Tuple2(key, vdom),- pairs),- finalStyles);- default:- var ns = html.a;- var elemType = html.b;- var properties = html.c;- var children = html.d;- var combinedStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, styles, properties);- var _v12 = A3(- $elm$core$List$foldl,- $rtfeldman$elm_css$VirtualDom$Styled$accumulateKeyedStyledHtml,- _Utils_Tuple2(_List_Nil, combinedStyles),- children);- var childNodes = _v12.a;- var finalStyles = _v12.b;- var vdom = A4(- $elm$virtual_dom$VirtualDom$keyedNodeNS,- ns,- elemType,- A2($elm$core$List$map, $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute, properties),- $elm$core$List$reverse(childNodes));- return _Utils_Tuple2(- A2(- $elm$core$List$cons,- _Utils_Tuple2(key, vdom),- pairs),- finalStyles);- }- });-var $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyledHtml = F2(- function (html, _v0) {- var nodes = _v0.a;- var styles = _v0.b;- switch (html.$) {- case 'Unstyled':- var vdomNode = html.a;- return _Utils_Tuple2(- A2($elm$core$List$cons, vdomNode, nodes),- styles);- case 'Node':- var elemType = html.a;- var properties = html.b;- var children = html.c;- var combinedStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, styles, properties);- var _v2 = A3(- $elm$core$List$foldl,- $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyledHtml,- _Utils_Tuple2(_List_Nil, combinedStyles),- children);- var childNodes = _v2.a;- var finalStyles = _v2.b;- var vdomNode = A3(- $elm$virtual_dom$VirtualDom$node,- elemType,- A2($elm$core$List$map, $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute, properties),- $elm$core$List$reverse(childNodes));- return _Utils_Tuple2(- A2($elm$core$List$cons, vdomNode, nodes),- finalStyles);- case 'NodeNS':- var ns = html.a;- var elemType = html.b;- var properties = html.c;- var children = html.d;- var combinedStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, styles, properties);- var _v3 = A3(- $elm$core$List$foldl,- $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyledHtml,- _Utils_Tuple2(_List_Nil, combinedStyles),- children);- var childNodes = _v3.a;- var finalStyles = _v3.b;- var vdomNode = A4(- $elm$virtual_dom$VirtualDom$nodeNS,- ns,- elemType,- A2($elm$core$List$map, $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute, properties),- $elm$core$List$reverse(childNodes));- return _Utils_Tuple2(- A2($elm$core$List$cons, vdomNode, nodes),- finalStyles);- case 'KeyedNode':- var elemType = html.a;- var properties = html.b;- var children = html.c;- var combinedStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, styles, properties);- var _v4 = A3(- $elm$core$List$foldl,- $rtfeldman$elm_css$VirtualDom$Styled$accumulateKeyedStyledHtml,- _Utils_Tuple2(_List_Nil, combinedStyles),- children);- var childNodes = _v4.a;- var finalStyles = _v4.b;- var vdomNode = A3(- $elm$virtual_dom$VirtualDom$keyedNode,- elemType,- A2($elm$core$List$map, $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute, properties),- $elm$core$List$reverse(childNodes));- return _Utils_Tuple2(- A2($elm$core$List$cons, vdomNode, nodes),- finalStyles);- default:- var ns = html.a;- var elemType = html.b;- var properties = html.c;- var children = html.d;- var combinedStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, styles, properties);- var _v5 = A3(- $elm$core$List$foldl,- $rtfeldman$elm_css$VirtualDom$Styled$accumulateKeyedStyledHtml,- _Utils_Tuple2(_List_Nil, combinedStyles),- children);- var childNodes = _v5.a;- var finalStyles = _v5.b;- var vdomNode = A4(- $elm$virtual_dom$VirtualDom$keyedNodeNS,- ns,- elemType,- A2($elm$core$List$map, $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute, properties),- $elm$core$List$reverse(childNodes));- return _Utils_Tuple2(- A2($elm$core$List$cons, vdomNode, nodes),- finalStyles);- }- });-var $elm$core$Dict$singleton = F2(- function (key, value) {- return A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, key, value, $elm$core$Dict$RBEmpty_elm_builtin, $elm$core$Dict$RBEmpty_elm_builtin);- });-var $rtfeldman$elm_css$VirtualDom$Styled$stylesFromPropertiesHelp = F2(- function (candidate, properties) {- stylesFromPropertiesHelp:- while (true) {- if (!properties.b) {- return candidate;- } else {- var _v1 = properties.a;- var styles = _v1.b;- var classname = _v1.c;- var rest = properties.b;- if ($elm$core$String$isEmpty(classname)) {- var $temp$candidate = candidate,- $temp$properties = rest;- candidate = $temp$candidate;- properties = $temp$properties;- continue stylesFromPropertiesHelp;- } else {- var $temp$candidate = $elm$core$Maybe$Just(- _Utils_Tuple2(classname, styles)),- $temp$properties = rest;- candidate = $temp$candidate;- properties = $temp$properties;- continue stylesFromPropertiesHelp;- }- }- }- });-var $rtfeldman$elm_css$VirtualDom$Styled$stylesFromProperties = function (properties) {- var _v0 = A2($rtfeldman$elm_css$VirtualDom$Styled$stylesFromPropertiesHelp, $elm$core$Maybe$Nothing, properties);- if (_v0.$ === 'Nothing') {- return $elm$core$Dict$empty;- } else {- var _v1 = _v0.a;- var classname = _v1.a;- var styles = _v1.b;- return A2($elm$core$Dict$singleton, classname, styles);- }-};-var $elm$core$List$singleton = function (value) {- return _List_fromArray(- [value]);-};-var $elm$virtual_dom$VirtualDom$text = _VirtualDom_text;-var $elm$core$List$any = F2(- function (isOkay, list) {- any:- while (true) {- if (!list.b) {- return false;- } else {- var x = list.a;- var xs = list.b;- if (isOkay(x)) {- return true;- } else {- var $temp$isOkay = isOkay,- $temp$list = xs;- isOkay = $temp$isOkay;- list = $temp$list;- continue any;- }- }- }- });-var $elm$core$Basics$not = _Basics_not;-var $elm$core$List$all = F2(- function (isOkay, list) {- return !A2(- $elm$core$List$any,- A2($elm$core$Basics$composeL, $elm$core$Basics$not, isOkay),- list);- });-var $rtfeldman$elm_css$Css$Structure$compactHelp = F2(- function (declaration, _v0) {- var keyframesByName = _v0.a;- var declarations = _v0.b;- switch (declaration.$) {- case 'StyleBlockDeclaration':- var _v2 = declaration.a;- var properties = _v2.c;- return $elm$core$List$isEmpty(properties) ? _Utils_Tuple2(keyframesByName, declarations) : _Utils_Tuple2(- keyframesByName,- A2($elm$core$List$cons, declaration, declarations));- case 'MediaRule':- var styleBlocks = declaration.b;- return A2(- $elm$core$List$all,- function (_v3) {- var properties = _v3.c;- return $elm$core$List$isEmpty(properties);- },- styleBlocks) ? _Utils_Tuple2(keyframesByName, declarations) : _Utils_Tuple2(- keyframesByName,- A2($elm$core$List$cons, declaration, declarations));- case 'SupportsRule':- var otherDeclarations = declaration.b;- return $elm$core$List$isEmpty(otherDeclarations) ? _Utils_Tuple2(keyframesByName, declarations) : _Utils_Tuple2(- keyframesByName,- A2($elm$core$List$cons, declaration, declarations));- case 'DocumentRule':- return _Utils_Tuple2(- keyframesByName,- A2($elm$core$List$cons, declaration, declarations));- case 'PageRule':- var properties = declaration.b;- return $elm$core$List$isEmpty(properties) ? _Utils_Tuple2(keyframesByName, declarations) : _Utils_Tuple2(- keyframesByName,- A2($elm$core$List$cons, declaration, declarations));- case 'FontFace':- var properties = declaration.a;- return $elm$core$List$isEmpty(properties) ? _Utils_Tuple2(keyframesByName, declarations) : _Utils_Tuple2(- keyframesByName,- A2($elm$core$List$cons, declaration, declarations));- case 'Keyframes':- var record = declaration.a;- return $elm$core$String$isEmpty(record.declaration) ? _Utils_Tuple2(keyframesByName, declarations) : _Utils_Tuple2(- A3($elm$core$Dict$insert, record.name, record.declaration, keyframesByName),- declarations);- case 'Viewport':- var properties = declaration.a;- return $elm$core$List$isEmpty(properties) ? _Utils_Tuple2(keyframesByName, declarations) : _Utils_Tuple2(- keyframesByName,- A2($elm$core$List$cons, declaration, declarations));- case 'CounterStyle':- var properties = declaration.a;- return $elm$core$List$isEmpty(properties) ? _Utils_Tuple2(keyframesByName, declarations) : _Utils_Tuple2(- keyframesByName,- A2($elm$core$List$cons, declaration, declarations));- default:- var tuples = declaration.a;- return A2(- $elm$core$List$all,- function (_v4) {- var properties = _v4.b;- return $elm$core$List$isEmpty(properties);- },- tuples) ? _Utils_Tuple2(keyframesByName, declarations) : _Utils_Tuple2(- keyframesByName,- A2($elm$core$List$cons, declaration, declarations));- }- });-var $rtfeldman$elm_css$Css$Structure$Keyframes = function (a) {- return {$: 'Keyframes', a: a};-};-var $elm$core$List$append = F2(- function (xs, ys) {- if (!ys.b) {- return xs;- } else {- return A3($elm$core$List$foldr, $elm$core$List$cons, ys, xs);- }- });-var $rtfeldman$elm_css$Css$Structure$withKeyframeDeclarations = F2(- function (keyframesByName, compactedDeclarations) {- return A2(- $elm$core$List$append,- A2(- $elm$core$List$map,- function (_v0) {- var name = _v0.a;- var decl = _v0.b;- return $rtfeldman$elm_css$Css$Structure$Keyframes(- {declaration: decl, name: name});- },- $elm$core$Dict$toList(keyframesByName)),- compactedDeclarations);- });-var $rtfeldman$elm_css$Css$Structure$compactStylesheet = function (_v0) {- var charset = _v0.charset;- var imports = _v0.imports;- var namespaces = _v0.namespaces;- var declarations = _v0.declarations;- var _v1 = A3(- $elm$core$List$foldr,- $rtfeldman$elm_css$Css$Structure$compactHelp,- _Utils_Tuple2($elm$core$Dict$empty, _List_Nil),- declarations);- var keyframesByName = _v1.a;- var compactedDeclarations = _v1.b;- var finalDeclarations = A2($rtfeldman$elm_css$Css$Structure$withKeyframeDeclarations, keyframesByName, compactedDeclarations);- return {charset: charset, declarations: finalDeclarations, imports: imports, namespaces: namespaces};-};-var $elm$core$Maybe$map = F2(- function (f, maybe) {- if (maybe.$ === 'Just') {- var value = maybe.a;- return $elm$core$Maybe$Just(- f(value));- } else {- return $elm$core$Maybe$Nothing;- }- });-var $elm$core$Maybe$withDefault = F2(- function (_default, maybe) {- if (maybe.$ === 'Just') {- var value = maybe.a;- return value;- } else {- return _default;- }- });-var $rtfeldman$elm_css$Css$Structure$Output$charsetToString = function (charset) {- return A2(- $elm$core$Maybe$withDefault,- '',- A2(- $elm$core$Maybe$map,- function (str) {- return '@charset \"' + (str + '\"');- },- charset));-};-var $elm$core$List$filter = F2(- function (isGood, list) {- return A3(- $elm$core$List$foldr,- F2(- function (x, xs) {- return isGood(x) ? A2($elm$core$List$cons, x, xs) : xs;- }),- _List_Nil,- list);- });-var $rtfeldman$elm_css$Css$Structure$Output$mediaExpressionToString = function (expression) {- return '(' + (expression.feature + (A2(- $elm$core$Maybe$withDefault,- '',- A2(- $elm$core$Maybe$map,- $elm$core$Basics$append(': '),- expression.value)) + ')'));-};-var $rtfeldman$elm_css$Css$Structure$Output$mediaTypeToString = function (mediaType) {- switch (mediaType.$) {- case 'Print':- return 'print';- case 'Screen':- return 'screen';- default:- return 'speech';- }-};-var $rtfeldman$elm_css$Css$Structure$Output$mediaQueryToString = function (mediaQuery) {- var prefixWith = F3(- function (str, mediaType, expressions) {- return str + (' ' + A2(- $elm$core$String$join,- ' and ',- A2(- $elm$core$List$cons,- $rtfeldman$elm_css$Css$Structure$Output$mediaTypeToString(mediaType),- A2($elm$core$List$map, $rtfeldman$elm_css$Css$Structure$Output$mediaExpressionToString, expressions))));- });- switch (mediaQuery.$) {- case 'AllQuery':- var expressions = mediaQuery.a;- return A2(- $elm$core$String$join,- ' and ',- A2($elm$core$List$map, $rtfeldman$elm_css$Css$Structure$Output$mediaExpressionToString, expressions));- case 'OnlyQuery':- var mediaType = mediaQuery.a;- var expressions = mediaQuery.b;- return A3(prefixWith, 'only', mediaType, expressions);- case 'NotQuery':- var mediaType = mediaQuery.a;- var expressions = mediaQuery.b;- return A3(prefixWith, 'not', mediaType, expressions);- default:- var str = mediaQuery.a;- return str;- }-};-var $rtfeldman$elm_css$Css$Structure$Output$importMediaQueryToString = F2(- function (name, mediaQuery) {- return '@import \"' + (name + ($rtfeldman$elm_css$Css$Structure$Output$mediaQueryToString(mediaQuery) + '\"'));- });-var $rtfeldman$elm_css$Css$Structure$Output$importToString = function (_v0) {- var name = _v0.a;- var mediaQueries = _v0.b;- return A2(- $elm$core$String$join,- '\n',- A2(- $elm$core$List$map,- $rtfeldman$elm_css$Css$Structure$Output$importMediaQueryToString(name),- mediaQueries));-};-var $rtfeldman$elm_css$Css$Structure$Output$namespaceToString = function (_v0) {- var prefix = _v0.a;- var str = _v0.b;- return '@namespace ' + (prefix + ('\"' + (str + '\"')));-};-var $rtfeldman$elm_css$Css$Structure$Output$spaceIndent = ' ';-var $rtfeldman$elm_css$Css$Structure$Output$indent = function (str) {- return _Utils_ap($rtfeldman$elm_css$Css$Structure$Output$spaceIndent, str);-};-var $rtfeldman$elm_css$Css$Structure$Output$noIndent = '';-var $rtfeldman$elm_css$Css$Structure$Output$emitProperty = function (str) {- return str + ';';-};-var $rtfeldman$elm_css$Css$Structure$Output$emitProperties = function (properties) {- return A2(- $elm$core$String$join,- '\n',- A2(- $elm$core$List$map,- A2($elm$core$Basics$composeL, $rtfeldman$elm_css$Css$Structure$Output$indent, $rtfeldman$elm_css$Css$Structure$Output$emitProperty),- properties));-};-var $elm$core$String$append = _String_append;-var $rtfeldman$elm_css$Css$Structure$Output$pseudoElementToString = function (_v0) {- var str = _v0.a;- return '::' + str;-};-var $rtfeldman$elm_css$Css$Structure$Output$combinatorToString = function (combinator) {- switch (combinator.$) {- case 'AdjacentSibling':- return '+';- case 'GeneralSibling':- return '~';- case 'Child':- return '>';- default:- return '';- }-};-var $rtfeldman$elm_css$Css$Structure$Output$repeatableSimpleSelectorToString = function (repeatableSimpleSelector) {- switch (repeatableSimpleSelector.$) {- case 'ClassSelector':- var str = repeatableSimpleSelector.a;- return '.' + str;- case 'IdSelector':- var str = repeatableSimpleSelector.a;- return '#' + str;- case 'PseudoClassSelector':- var str = repeatableSimpleSelector.a;- return ':' + str;- default:- var str = repeatableSimpleSelector.a;- return '[' + (str + ']');- }-};-var $rtfeldman$elm_css$Css$Structure$Output$simpleSelectorSequenceToString = function (simpleSelectorSequence) {- switch (simpleSelectorSequence.$) {- case 'TypeSelectorSequence':- var str = simpleSelectorSequence.a.a;- var repeatableSimpleSelectors = simpleSelectorSequence.b;- return A2(- $elm$core$String$join,- '',- A2(- $elm$core$List$cons,- str,- A2($elm$core$List$map, $rtfeldman$elm_css$Css$Structure$Output$repeatableSimpleSelectorToString, repeatableSimpleSelectors)));- case 'UniversalSelectorSequence':- var repeatableSimpleSelectors = simpleSelectorSequence.a;- return $elm$core$List$isEmpty(repeatableSimpleSelectors) ? '*' : A2(- $elm$core$String$join,- '',- A2($elm$core$List$map, $rtfeldman$elm_css$Css$Structure$Output$repeatableSimpleSelectorToString, repeatableSimpleSelectors));- default:- var str = simpleSelectorSequence.a;- var repeatableSimpleSelectors = simpleSelectorSequence.b;- return A2(- $elm$core$String$join,- '',- A2(- $elm$core$List$cons,- str,- A2($elm$core$List$map, $rtfeldman$elm_css$Css$Structure$Output$repeatableSimpleSelectorToString, repeatableSimpleSelectors)));- }-};-var $rtfeldman$elm_css$Css$Structure$Output$selectorChainToString = function (_v0) {- var combinator = _v0.a;- var sequence = _v0.b;- return A2(- $elm$core$String$join,- ' ',- _List_fromArray(- [- $rtfeldman$elm_css$Css$Structure$Output$combinatorToString(combinator),- $rtfeldman$elm_css$Css$Structure$Output$simpleSelectorSequenceToString(sequence)- ]));-};-var $rtfeldman$elm_css$Css$Structure$Output$selectorToString = function (_v0) {- var simpleSelectorSequence = _v0.a;- var chain = _v0.b;- var pseudoElement = _v0.c;- var segments = A2(- $elm$core$List$cons,- $rtfeldman$elm_css$Css$Structure$Output$simpleSelectorSequenceToString(simpleSelectorSequence),- A2($elm$core$List$map, $rtfeldman$elm_css$Css$Structure$Output$selectorChainToString, chain));- var pseudoElementsString = A2(- $elm$core$String$join,- '',- _List_fromArray(- [- A2(- $elm$core$Maybe$withDefault,- '',- A2($elm$core$Maybe$map, $rtfeldman$elm_css$Css$Structure$Output$pseudoElementToString, pseudoElement))- ]));- return A2(- $elm$core$String$append,- A2(- $elm$core$String$join,- ' ',- A2(- $elm$core$List$filter,- A2($elm$core$Basics$composeL, $elm$core$Basics$not, $elm$core$String$isEmpty),- segments)),- pseudoElementsString);-};-var $rtfeldman$elm_css$Css$Structure$Output$prettyPrintStyleBlock = F2(- function (indentLevel, _v0) {- var firstSelector = _v0.a;- var otherSelectors = _v0.b;- var properties = _v0.c;- var selectorStr = A2(- $elm$core$String$join,- ', ',- A2(- $elm$core$List$map,- $rtfeldman$elm_css$Css$Structure$Output$selectorToString,- A2($elm$core$List$cons, firstSelector, otherSelectors)));- return A2(- $elm$core$String$join,- '',- _List_fromArray(- [- selectorStr,- ' {\n',- indentLevel,- $rtfeldman$elm_css$Css$Structure$Output$emitProperties(properties),- '\n',- indentLevel,- '}'- ]));- });-var $rtfeldman$elm_css$Css$Structure$Output$prettyPrintDeclaration = function (decl) {- switch (decl.$) {- case 'StyleBlockDeclaration':- var styleBlock = decl.a;- return A2($rtfeldman$elm_css$Css$Structure$Output$prettyPrintStyleBlock, $rtfeldman$elm_css$Css$Structure$Output$noIndent, styleBlock);- case 'MediaRule':- var mediaQueries = decl.a;- var styleBlocks = decl.b;- var query = A2(- $elm$core$String$join,- ',\n',- A2($elm$core$List$map, $rtfeldman$elm_css$Css$Structure$Output$mediaQueryToString, mediaQueries));- var blocks = A2(- $elm$core$String$join,- '\n\n',- A2(- $elm$core$List$map,- A2(- $elm$core$Basics$composeL,- $rtfeldman$elm_css$Css$Structure$Output$indent,- $rtfeldman$elm_css$Css$Structure$Output$prettyPrintStyleBlock($rtfeldman$elm_css$Css$Structure$Output$spaceIndent)),- styleBlocks));- return '@media ' + (query + (' {\n' + (blocks + '\n}')));- case 'SupportsRule':- return 'TODO';- case 'DocumentRule':- return 'TODO';- case 'PageRule':- return 'TODO';- case 'FontFace':- return 'TODO';- case 'Keyframes':- var name = decl.a.name;- var declaration = decl.a.declaration;- return '@keyframes ' + (name + (' {\n' + (declaration + '\n}')));- case 'Viewport':- return 'TODO';- case 'CounterStyle':- return 'TODO';- default:- return 'TODO';- }-};-var $rtfeldman$elm_css$Css$Structure$Output$prettyPrint = function (_v0) {- var charset = _v0.charset;- var imports = _v0.imports;- var namespaces = _v0.namespaces;- var declarations = _v0.declarations;- return A2(- $elm$core$String$join,- '\n\n',- A2(- $elm$core$List$filter,- A2($elm$core$Basics$composeL, $elm$core$Basics$not, $elm$core$String$isEmpty),- _List_fromArray(- [- $rtfeldman$elm_css$Css$Structure$Output$charsetToString(charset),- A2(- $elm$core$String$join,- '\n',- A2($elm$core$List$map, $rtfeldman$elm_css$Css$Structure$Output$importToString, imports)),- A2(- $elm$core$String$join,- '\n',- A2($elm$core$List$map, $rtfeldman$elm_css$Css$Structure$Output$namespaceToString, namespaces)),- A2(- $elm$core$String$join,- '\n\n',- A2($elm$core$List$map, $rtfeldman$elm_css$Css$Structure$Output$prettyPrintDeclaration, declarations))- ])));-};-var $elm$core$List$concat = function (lists) {- return A3($elm$core$List$foldr, $elm$core$List$append, _List_Nil, lists);-};-var $elm$core$List$concatMap = F2(- function (f, list) {- return $elm$core$List$concat(- A2($elm$core$List$map, f, list));- });-var $rtfeldman$elm_css$Css$Structure$CounterStyle = function (a) {- return {$: 'CounterStyle', a: a};-};-var $rtfeldman$elm_css$Css$Structure$FontFace = function (a) {- return {$: 'FontFace', a: a};-};-var $rtfeldman$elm_css$Css$Structure$PageRule = F2(- function (a, b) {- return {$: 'PageRule', a: a, b: b};- });-var $rtfeldman$elm_css$Css$Structure$Selector = F3(- function (a, b, c) {- return {$: 'Selector', a: a, b: b, c: c};- });-var $rtfeldman$elm_css$Css$Structure$StyleBlock = F3(- function (a, b, c) {- return {$: 'StyleBlock', a: a, b: b, c: c};- });-var $rtfeldman$elm_css$Css$Structure$StyleBlockDeclaration = function (a) {- return {$: 'StyleBlockDeclaration', a: a};-};-var $rtfeldman$elm_css$Css$Structure$SupportsRule = F2(- function (a, b) {- return {$: 'SupportsRule', a: a, b: b};- });-var $rtfeldman$elm_css$Css$Structure$Viewport = function (a) {- return {$: 'Viewport', a: a};-};-var $rtfeldman$elm_css$Css$Structure$MediaRule = F2(- function (a, b) {- return {$: 'MediaRule', a: a, b: b};- });-var $rtfeldman$elm_css$Css$Structure$mapLast = F2(- function (update, list) {- if (!list.b) {- return list;- } else {- if (!list.b.b) {- var only = list.a;- return _List_fromArray(- [- update(only)- ]);- } else {- var first = list.a;- var rest = list.b;- return A2(- $elm$core$List$cons,- first,- A2($rtfeldman$elm_css$Css$Structure$mapLast, update, rest));- }- }- });-var $rtfeldman$elm_css$Css$Structure$withPropertyAppended = F2(- function (property, _v0) {- var firstSelector = _v0.a;- var otherSelectors = _v0.b;- var properties = _v0.c;- return A3(- $rtfeldman$elm_css$Css$Structure$StyleBlock,- firstSelector,- otherSelectors,- _Utils_ap(- properties,- _List_fromArray(- [property])));- });-var $rtfeldman$elm_css$Css$Structure$appendProperty = F2(- function (property, declarations) {- if (!declarations.b) {- return declarations;- } else {- if (!declarations.b.b) {- switch (declarations.a.$) {- case 'StyleBlockDeclaration':- var styleBlock = declarations.a.a;- return _List_fromArray(- [- $rtfeldman$elm_css$Css$Structure$StyleBlockDeclaration(- A2($rtfeldman$elm_css$Css$Structure$withPropertyAppended, property, styleBlock))- ]);- case 'MediaRule':- var _v1 = declarations.a;- var mediaQueries = _v1.a;- var styleBlocks = _v1.b;- return _List_fromArray(- [- A2(- $rtfeldman$elm_css$Css$Structure$MediaRule,- mediaQueries,- A2(- $rtfeldman$elm_css$Css$Structure$mapLast,- $rtfeldman$elm_css$Css$Structure$withPropertyAppended(property),- styleBlocks))- ]);- default:- return declarations;- }- } else {- var first = declarations.a;- var rest = declarations.b;- return A2(- $elm$core$List$cons,- first,- A2($rtfeldman$elm_css$Css$Structure$appendProperty, property, rest));- }- }- });-var $rtfeldman$elm_css$Css$Structure$appendToLastSelector = F2(- function (f, styleBlock) {- if (!styleBlock.b.b) {- var only = styleBlock.a;- var properties = styleBlock.c;- return _List_fromArray(- [- A3($rtfeldman$elm_css$Css$Structure$StyleBlock, only, _List_Nil, properties),- A3(- $rtfeldman$elm_css$Css$Structure$StyleBlock,- f(only),- _List_Nil,- _List_Nil)- ]);- } else {- var first = styleBlock.a;- var rest = styleBlock.b;- var properties = styleBlock.c;- var newRest = A2($elm$core$List$map, f, rest);- var newFirst = f(first);- return _List_fromArray(- [- A3($rtfeldman$elm_css$Css$Structure$StyleBlock, first, rest, properties),- A3($rtfeldman$elm_css$Css$Structure$StyleBlock, newFirst, newRest, _List_Nil)- ]);- }- });-var $rtfeldman$elm_css$Css$Structure$applyPseudoElement = F2(- function (pseudo, _v0) {- var sequence = _v0.a;- var selectors = _v0.b;- return A3(- $rtfeldman$elm_css$Css$Structure$Selector,- sequence,- selectors,- $elm$core$Maybe$Just(pseudo));- });-var $rtfeldman$elm_css$Css$Structure$appendPseudoElementToLastSelector = F2(- function (pseudo, styleBlock) {- return A2(- $rtfeldman$elm_css$Css$Structure$appendToLastSelector,- $rtfeldman$elm_css$Css$Structure$applyPseudoElement(pseudo),- styleBlock);- });-var $rtfeldman$elm_css$Css$Structure$CustomSelector = F2(- function (a, b) {- return {$: 'CustomSelector', a: a, b: b};- });-var $rtfeldman$elm_css$Css$Structure$TypeSelectorSequence = F2(- function (a, b) {- return {$: 'TypeSelectorSequence', a: a, b: b};- });-var $rtfeldman$elm_css$Css$Structure$UniversalSelectorSequence = function (a) {- return {$: 'UniversalSelectorSequence', a: a};-};-var $rtfeldman$elm_css$Css$Structure$appendRepeatable = F2(- function (selector, sequence) {- switch (sequence.$) {- case 'TypeSelectorSequence':- var typeSelector = sequence.a;- var list = sequence.b;- return A2(- $rtfeldman$elm_css$Css$Structure$TypeSelectorSequence,- typeSelector,- _Utils_ap(- list,- _List_fromArray(- [selector])));- case 'UniversalSelectorSequence':- var list = sequence.a;- return $rtfeldman$elm_css$Css$Structure$UniversalSelectorSequence(- _Utils_ap(- list,- _List_fromArray(- [selector])));- default:- var str = sequence.a;- var list = sequence.b;- return A2(- $rtfeldman$elm_css$Css$Structure$CustomSelector,- str,- _Utils_ap(- list,- _List_fromArray(- [selector])));- }- });-var $rtfeldman$elm_css$Css$Structure$appendRepeatableWithCombinator = F2(- function (selector, list) {- if (!list.b) {- return _List_Nil;- } else {- if (!list.b.b) {- var _v1 = list.a;- var combinator = _v1.a;- var sequence = _v1.b;- return _List_fromArray(- [- _Utils_Tuple2(- combinator,- A2($rtfeldman$elm_css$Css$Structure$appendRepeatable, selector, sequence))- ]);- } else {- var first = list.a;- var rest = list.b;- return A2(- $elm$core$List$cons,- first,- A2($rtfeldman$elm_css$Css$Structure$appendRepeatableWithCombinator, selector, rest));- }- }- });-var $rtfeldman$elm_css$Css$Structure$appendRepeatableSelector = F2(- function (repeatableSimpleSelector, selector) {- if (!selector.b.b) {- var sequence = selector.a;- var pseudoElement = selector.c;- return A3(- $rtfeldman$elm_css$Css$Structure$Selector,- A2($rtfeldman$elm_css$Css$Structure$appendRepeatable, repeatableSimpleSelector, sequence),- _List_Nil,- pseudoElement);- } else {- var firstSelector = selector.a;- var tuples = selector.b;- var pseudoElement = selector.c;- return A3(- $rtfeldman$elm_css$Css$Structure$Selector,- firstSelector,- A2($rtfeldman$elm_css$Css$Structure$appendRepeatableWithCombinator, repeatableSimpleSelector, tuples),- pseudoElement);- }- });-var $rtfeldman$elm_css$Css$Structure$appendRepeatableToLastSelector = F2(- function (selector, styleBlock) {- return A2(- $rtfeldman$elm_css$Css$Structure$appendToLastSelector,- $rtfeldman$elm_css$Css$Structure$appendRepeatableSelector(selector),- styleBlock);- });-var $rtfeldman$elm_css$Css$Preprocess$Resolve$collectSelectors = function (declarations) {- collectSelectors:- while (true) {- if (!declarations.b) {- return _List_Nil;- } else {- if (declarations.a.$ === 'StyleBlockDeclaration') {- var _v1 = declarations.a.a;- var firstSelector = _v1.a;- var otherSelectors = _v1.b;- var rest = declarations.b;- return _Utils_ap(- A2($elm$core$List$cons, firstSelector, otherSelectors),- $rtfeldman$elm_css$Css$Preprocess$Resolve$collectSelectors(rest));- } else {- var rest = declarations.b;- var $temp$declarations = rest;- declarations = $temp$declarations;- continue collectSelectors;- }- }- }-};-var $rtfeldman$elm_css$Css$Structure$DocumentRule = F5(- function (a, b, c, d, e) {- return {$: 'DocumentRule', a: a, b: b, c: c, d: d, e: e};- });-var $rtfeldman$elm_css$Css$Structure$concatMapLastStyleBlock = F2(- function (update, declarations) {- _v0$12:- while (true) {- if (!declarations.b) {- return declarations;- } else {- if (!declarations.b.b) {- switch (declarations.a.$) {- case 'StyleBlockDeclaration':- var styleBlock = declarations.a.a;- return A2(- $elm$core$List$map,- $rtfeldman$elm_css$Css$Structure$StyleBlockDeclaration,- update(styleBlock));- case 'MediaRule':- if (declarations.a.b.b) {- if (!declarations.a.b.b.b) {- var _v1 = declarations.a;- var mediaQueries = _v1.a;- var _v2 = _v1.b;- var styleBlock = _v2.a;- return _List_fromArray(- [- A2(- $rtfeldman$elm_css$Css$Structure$MediaRule,- mediaQueries,- update(styleBlock))- ]);- } else {- var _v3 = declarations.a;- var mediaQueries = _v3.a;- var _v4 = _v3.b;- var first = _v4.a;- var rest = _v4.b;- var _v5 = A2(- $rtfeldman$elm_css$Css$Structure$concatMapLastStyleBlock,- update,- _List_fromArray(- [- A2($rtfeldman$elm_css$Css$Structure$MediaRule, mediaQueries, rest)- ]));- if ((_v5.b && (_v5.a.$ === 'MediaRule')) && (!_v5.b.b)) {- var _v6 = _v5.a;- var newMediaQueries = _v6.a;- var newStyleBlocks = _v6.b;- return _List_fromArray(- [- A2(- $rtfeldman$elm_css$Css$Structure$MediaRule,- newMediaQueries,- A2($elm$core$List$cons, first, newStyleBlocks))- ]);- } else {- var newDeclarations = _v5;- return newDeclarations;- }- }- } else {- break _v0$12;- }- case 'SupportsRule':- var _v7 = declarations.a;- var str = _v7.a;- var nestedDeclarations = _v7.b;- return _List_fromArray(- [- A2(- $rtfeldman$elm_css$Css$Structure$SupportsRule,- str,- A2($rtfeldman$elm_css$Css$Structure$concatMapLastStyleBlock, update, nestedDeclarations))- ]);- case 'DocumentRule':- var _v8 = declarations.a;- var str1 = _v8.a;- var str2 = _v8.b;- var str3 = _v8.c;- var str4 = _v8.d;- var styleBlock = _v8.e;- return A2(- $elm$core$List$map,- A4($rtfeldman$elm_css$Css$Structure$DocumentRule, str1, str2, str3, str4),- update(styleBlock));- case 'PageRule':- var _v9 = declarations.a;- return declarations;- case 'FontFace':- return declarations;- case 'Keyframes':- return declarations;- case 'Viewport':- return declarations;- case 'CounterStyle':- return declarations;- default:- return declarations;- }- } else {- break _v0$12;- }- }- }- var first = declarations.a;- var rest = declarations.b;- return A2(- $elm$core$List$cons,- first,- A2($rtfeldman$elm_css$Css$Structure$concatMapLastStyleBlock, update, rest));- });-var $elm$core$String$cons = _String_cons;-var $rtfeldman$elm_css$ElmCssVendor$Murmur3$HashData = F4(- function (shift, seed, hash, charsProcessed) {- return {charsProcessed: charsProcessed, hash: hash, seed: seed, shift: shift};- });-var $rtfeldman$elm_css$ElmCssVendor$Murmur3$c1 = 3432918353;-var $rtfeldman$elm_css$ElmCssVendor$Murmur3$c2 = 461845907;-var $elm$core$Bitwise$and = _Bitwise_and;-var $elm$core$Bitwise$shiftLeftBy = _Bitwise_shiftLeftBy;-var $elm$core$Bitwise$shiftRightZfBy = _Bitwise_shiftRightZfBy;-var $rtfeldman$elm_css$ElmCssVendor$Murmur3$multiplyBy = F2(- function (b, a) {- return ((a & 65535) * b) + ((((a >>> 16) * b) & 65535) << 16);- });-var $elm$core$Basics$neq = _Utils_notEqual;-var $elm$core$Bitwise$or = _Bitwise_or;-var $rtfeldman$elm_css$ElmCssVendor$Murmur3$rotlBy = F2(- function (b, a) {- return (a << b) | (a >>> (32 - b));- });-var $elm$core$Bitwise$xor = _Bitwise_xor;-var $rtfeldman$elm_css$ElmCssVendor$Murmur3$finalize = function (data) {- var acc = (!(!data.hash)) ? (data.seed ^ A2(- $rtfeldman$elm_css$ElmCssVendor$Murmur3$multiplyBy,- $rtfeldman$elm_css$ElmCssVendor$Murmur3$c2,- A2(- $rtfeldman$elm_css$ElmCssVendor$Murmur3$rotlBy,- 15,- A2($rtfeldman$elm_css$ElmCssVendor$Murmur3$multiplyBy, $rtfeldman$elm_css$ElmCssVendor$Murmur3$c1, data.hash)))) : data.seed;- var h0 = acc ^ data.charsProcessed;- var h1 = A2($rtfeldman$elm_css$ElmCssVendor$Murmur3$multiplyBy, 2246822507, h0 ^ (h0 >>> 16));- var h2 = A2($rtfeldman$elm_css$ElmCssVendor$Murmur3$multiplyBy, 3266489909, h1 ^ (h1 >>> 13));- return (h2 ^ (h2 >>> 16)) >>> 0;-};-var $elm$core$String$foldl = _String_foldl;-var $rtfeldman$elm_css$ElmCssVendor$Murmur3$mix = F2(- function (h1, k1) {- return A2(- $rtfeldman$elm_css$ElmCssVendor$Murmur3$multiplyBy,- 5,- A2(- $rtfeldman$elm_css$ElmCssVendor$Murmur3$rotlBy,- 13,- h1 ^ A2(- $rtfeldman$elm_css$ElmCssVendor$Murmur3$multiplyBy,- $rtfeldman$elm_css$ElmCssVendor$Murmur3$c2,- A2(- $rtfeldman$elm_css$ElmCssVendor$Murmur3$rotlBy,- 15,- A2($rtfeldman$elm_css$ElmCssVendor$Murmur3$multiplyBy, $rtfeldman$elm_css$ElmCssVendor$Murmur3$c1, k1))))) + 3864292196;- });-var $rtfeldman$elm_css$ElmCssVendor$Murmur3$hashFold = F2(- function (c, data) {- var res = data.hash | ((255 & $elm$core$Char$toCode(c)) << data.shift);- var _v0 = data.shift;- if (_v0 === 24) {- return {- charsProcessed: data.charsProcessed + 1,- hash: 0,- seed: A2($rtfeldman$elm_css$ElmCssVendor$Murmur3$mix, data.seed, res),- shift: 0- };- } else {- return {charsProcessed: data.charsProcessed + 1, hash: res, seed: data.seed, shift: data.shift + 8};- }- });-var $rtfeldman$elm_css$ElmCssVendor$Murmur3$hashString = F2(- function (seed, str) {- return $rtfeldman$elm_css$ElmCssVendor$Murmur3$finalize(- A3(- $elm$core$String$foldl,- $rtfeldman$elm_css$ElmCssVendor$Murmur3$hashFold,- A4($rtfeldman$elm_css$ElmCssVendor$Murmur3$HashData, 0, seed, 0, 0),- str));- });-var $rtfeldman$elm_css$Hash$murmurSeed = 15739;-var $elm$core$String$fromList = _String_fromList;-var $elm$core$Basics$negate = function (n) {- return -n;-};-var $elm$core$Basics$modBy = _Basics_modBy;-var $rtfeldman$elm_hex$Hex$unsafeToDigit = function (num) {- unsafeToDigit:- while (true) {- switch (num) {- case 0:- return _Utils_chr('0');- case 1:- return _Utils_chr('1');- case 2:- return _Utils_chr('2');- case 3:- return _Utils_chr('3');- case 4:- return _Utils_chr('4');- case 5:- return _Utils_chr('5');- case 6:- return _Utils_chr('6');- case 7:- return _Utils_chr('7');- case 8:- return _Utils_chr('8');- case 9:- return _Utils_chr('9');- case 10:- return _Utils_chr('a');- case 11:- return _Utils_chr('b');- case 12:- return _Utils_chr('c');- case 13:- return _Utils_chr('d');- case 14:- return _Utils_chr('e');- case 15:- return _Utils_chr('f');- default:- var $temp$num = num;- num = $temp$num;- continue unsafeToDigit;- }- }-};-var $rtfeldman$elm_hex$Hex$unsafePositiveToDigits = F2(- function (digits, num) {- unsafePositiveToDigits:- while (true) {- if (num < 16) {- return A2(- $elm$core$List$cons,- $rtfeldman$elm_hex$Hex$unsafeToDigit(num),- digits);- } else {- var $temp$digits = A2(- $elm$core$List$cons,- $rtfeldman$elm_hex$Hex$unsafeToDigit(- A2($elm$core$Basics$modBy, 16, num)),- digits),- $temp$num = (num / 16) | 0;- digits = $temp$digits;- num = $temp$num;- continue unsafePositiveToDigits;- }- }- });-var $rtfeldman$elm_hex$Hex$toString = function (num) {- return $elm$core$String$fromList(- (num < 0) ? A2(- $elm$core$List$cons,- _Utils_chr('-'),- A2($rtfeldman$elm_hex$Hex$unsafePositiveToDigits, _List_Nil, -num)) : A2($rtfeldman$elm_hex$Hex$unsafePositiveToDigits, _List_Nil, num));-};-var $rtfeldman$elm_css$Hash$fromString = function (str) {- return A2(- $elm$core$String$cons,- _Utils_chr('_'),- $rtfeldman$elm_hex$Hex$toString(- A2($rtfeldman$elm_css$ElmCssVendor$Murmur3$hashString, $rtfeldman$elm_css$Hash$murmurSeed, str)));-};-var $elm$core$List$head = function (list) {- if (list.b) {- var x = list.a;- var xs = list.b;- return $elm$core$Maybe$Just(x);- } else {- return $elm$core$Maybe$Nothing;- }-};-var $rtfeldman$elm_css$Css$Preprocess$Resolve$last = function (list) {- last:- while (true) {- if (!list.b) {- return $elm$core$Maybe$Nothing;- } else {- if (!list.b.b) {- var singleton = list.a;- return $elm$core$Maybe$Just(singleton);- } else {- var rest = list.b;- var $temp$list = rest;- list = $temp$list;- continue last;- }- }- }-};-var $rtfeldman$elm_css$Css$Preprocess$Resolve$lastDeclaration = function (declarations) {- lastDeclaration:- while (true) {- if (!declarations.b) {- return $elm$core$Maybe$Nothing;- } else {- if (!declarations.b.b) {- var x = declarations.a;- return $elm$core$Maybe$Just(- _List_fromArray(- [x]));- } else {- var xs = declarations.b;- var $temp$declarations = xs;- declarations = $temp$declarations;- continue lastDeclaration;- }- }- }-};-var $rtfeldman$elm_css$Css$Preprocess$Resolve$oneOf = function (maybes) {- oneOf:- while (true) {- if (!maybes.b) {- return $elm$core$Maybe$Nothing;- } else {- var maybe = maybes.a;- var rest = maybes.b;- if (maybe.$ === 'Nothing') {- var $temp$maybes = rest;- maybes = $temp$maybes;- continue oneOf;- } else {- return maybe;- }- }- }-};-var $rtfeldman$elm_css$Css$Structure$FontFeatureValues = function (a) {- return {$: 'FontFeatureValues', a: a};-};-var $rtfeldman$elm_css$Css$Preprocess$Resolve$resolveFontFeatureValues = function (tuples) {- var expandTuples = function (tuplesToExpand) {- if (!tuplesToExpand.b) {- return _List_Nil;- } else {- var properties = tuplesToExpand.a;- var rest = tuplesToExpand.b;- return A2(- $elm$core$List$cons,- properties,- expandTuples(rest));- }- };- var newTuples = expandTuples(tuples);- return _List_fromArray(- [- $rtfeldman$elm_css$Css$Structure$FontFeatureValues(newTuples)- ]);-};-var $rtfeldman$elm_css$Css$Structure$styleBlockToMediaRule = F2(- function (mediaQueries, declaration) {- if (declaration.$ === 'StyleBlockDeclaration') {- var styleBlock = declaration.a;- return A2(- $rtfeldman$elm_css$Css$Structure$MediaRule,- mediaQueries,- _List_fromArray(- [styleBlock]));- } else {- return declaration;- }- });-var $elm$core$List$tail = function (list) {- if (list.b) {- var x = list.a;- var xs = list.b;- return $elm$core$Maybe$Just(xs);- } else {- return $elm$core$Maybe$Nothing;- }-};-var $elm$core$List$takeReverse = F3(- function (n, list, kept) {- takeReverse:- while (true) {- if (n <= 0) {- return kept;- } else {- if (!list.b) {- return kept;- } else {- var x = list.a;- var xs = list.b;- var $temp$n = n - 1,- $temp$list = xs,- $temp$kept = A2($elm$core$List$cons, x, kept);- n = $temp$n;- list = $temp$list;- kept = $temp$kept;- continue takeReverse;- }- }- }- });-var $elm$core$List$takeTailRec = F2(- function (n, list) {- return $elm$core$List$reverse(- A3($elm$core$List$takeReverse, n, list, _List_Nil));- });-var $elm$core$List$takeFast = F3(- function (ctr, n, list) {- if (n <= 0) {- return _List_Nil;- } else {- var _v0 = _Utils_Tuple2(n, list);- _v0$1:- while (true) {- _v0$5:- while (true) {- if (!_v0.b.b) {- return list;- } else {- if (_v0.b.b.b) {- switch (_v0.a) {- case 1:- break _v0$1;- case 2:- var _v2 = _v0.b;- var x = _v2.a;- var _v3 = _v2.b;- var y = _v3.a;- return _List_fromArray(- [x, y]);- case 3:- if (_v0.b.b.b.b) {- var _v4 = _v0.b;- var x = _v4.a;- var _v5 = _v4.b;- var y = _v5.a;- var _v6 = _v5.b;- var z = _v6.a;- return _List_fromArray(- [x, y, z]);- } else {- break _v0$5;- }- default:- if (_v0.b.b.b.b && _v0.b.b.b.b.b) {- var _v7 = _v0.b;- var x = _v7.a;- var _v8 = _v7.b;- var y = _v8.a;- var _v9 = _v8.b;- var z = _v9.a;- var _v10 = _v9.b;- var w = _v10.a;- var tl = _v10.b;- return (ctr > 1000) ? A2(- $elm$core$List$cons,- x,- A2(- $elm$core$List$cons,- y,- A2(- $elm$core$List$cons,- z,- A2(- $elm$core$List$cons,- w,- A2($elm$core$List$takeTailRec, n - 4, tl))))) : A2(- $elm$core$List$cons,- x,- A2(- $elm$core$List$cons,- y,- A2(- $elm$core$List$cons,- z,- A2(- $elm$core$List$cons,- w,- A3($elm$core$List$takeFast, ctr + 1, n - 4, tl)))));- } else {- break _v0$5;- }- }- } else {- if (_v0.a === 1) {- break _v0$1;- } else {- break _v0$5;- }- }- }- }- return list;- }- var _v1 = _v0.b;- var x = _v1.a;- return _List_fromArray(- [x]);- }- });-var $elm$core$List$take = F2(- function (n, list) {- return A3($elm$core$List$takeFast, 0, n, list);- });-var $rtfeldman$elm_css$Css$Preprocess$Resolve$toDocumentRule = F5(- function (str1, str2, str3, str4, declaration) {- if (declaration.$ === 'StyleBlockDeclaration') {- var structureStyleBlock = declaration.a;- return A5($rtfeldman$elm_css$Css$Structure$DocumentRule, str1, str2, str3, str4, structureStyleBlock);- } else {- return declaration;- }- });-var $rtfeldman$elm_css$Css$Preprocess$Resolve$toMediaRule = F2(- function (mediaQueries, declaration) {- switch (declaration.$) {- case 'StyleBlockDeclaration':- var structureStyleBlock = declaration.a;- return A2(- $rtfeldman$elm_css$Css$Structure$MediaRule,- mediaQueries,- _List_fromArray(- [structureStyleBlock]));- case 'MediaRule':- var newMediaQueries = declaration.a;- var structureStyleBlocks = declaration.b;- return A2(- $rtfeldman$elm_css$Css$Structure$MediaRule,- _Utils_ap(mediaQueries, newMediaQueries),- structureStyleBlocks);- case 'SupportsRule':- var str = declaration.a;- var declarations = declaration.b;- return A2(- $rtfeldman$elm_css$Css$Structure$SupportsRule,- str,- A2(- $elm$core$List$map,- $rtfeldman$elm_css$Css$Preprocess$Resolve$toMediaRule(mediaQueries),- declarations));- case 'DocumentRule':- var str1 = declaration.a;- var str2 = declaration.b;- var str3 = declaration.c;- var str4 = declaration.d;- var structureStyleBlock = declaration.e;- return A5($rtfeldman$elm_css$Css$Structure$DocumentRule, str1, str2, str3, str4, structureStyleBlock);- case 'PageRule':- return declaration;- case 'FontFace':- return declaration;- case 'Keyframes':- return declaration;- case 'Viewport':- return declaration;- case 'CounterStyle':- return declaration;- default:- return declaration;- }- });-var $rtfeldman$elm_css$Css$Preprocess$unwrapSnippet = function (_v0) {- var declarations = _v0.a;- return declarations;-};-var $rtfeldman$elm_css$Css$Preprocess$Resolve$applyNestedStylesToLast = F4(- function (nestedStyles, rest, f, declarations) {- var withoutParent = function (decls) {- return A2(- $elm$core$Maybe$withDefault,- _List_Nil,- $elm$core$List$tail(decls));- };- var nextResult = A2(- $rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles,- rest,- A2(- $elm$core$Maybe$withDefault,- _List_Nil,- $rtfeldman$elm_css$Css$Preprocess$Resolve$lastDeclaration(declarations)));- var newDeclarations = function () {- var _v14 = _Utils_Tuple2(- $elm$core$List$head(nextResult),- $rtfeldman$elm_css$Css$Preprocess$Resolve$last(declarations));- if ((_v14.a.$ === 'Just') && (_v14.b.$ === 'Just')) {- var nextResultParent = _v14.a.a;- var originalParent = _v14.b.a;- return _Utils_ap(- A2(- $elm$core$List$take,- $elm$core$List$length(declarations) - 1,- declarations),- _List_fromArray(- [- (!_Utils_eq(originalParent, nextResultParent)) ? nextResultParent : originalParent- ]));- } else {- return declarations;- }- }();- var insertStylesToNestedDecl = function (lastDecl) {- return $elm$core$List$concat(- A2(- $rtfeldman$elm_css$Css$Structure$mapLast,- $rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles(nestedStyles),- A2(- $elm$core$List$map,- $elm$core$List$singleton,- A2($rtfeldman$elm_css$Css$Structure$concatMapLastStyleBlock, f, lastDecl))));- };- var initialResult = A2(- $elm$core$Maybe$withDefault,- _List_Nil,- A2(- $elm$core$Maybe$map,- insertStylesToNestedDecl,- $rtfeldman$elm_css$Css$Preprocess$Resolve$lastDeclaration(declarations)));- return _Utils_ap(- newDeclarations,- _Utils_ap(- withoutParent(initialResult),- withoutParent(nextResult)));- });-var $rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles = F2(- function (styles, declarations) {- if (!styles.b) {- return declarations;- } else {- switch (styles.a.$) {- case 'AppendProperty':- var property = styles.a.a;- var rest = styles.b;- return A2(- $rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles,- rest,- A2($rtfeldman$elm_css$Css$Structure$appendProperty, property, declarations));- case 'ExtendSelector':- var _v4 = styles.a;- var selector = _v4.a;- var nestedStyles = _v4.b;- var rest = styles.b;- return A4(- $rtfeldman$elm_css$Css$Preprocess$Resolve$applyNestedStylesToLast,- nestedStyles,- rest,- $rtfeldman$elm_css$Css$Structure$appendRepeatableToLastSelector(selector),- declarations);- case 'NestSnippet':- var _v5 = styles.a;- var selectorCombinator = _v5.a;- var snippets = _v5.b;- var rest = styles.b;- var chain = F2(- function (_v9, _v10) {- var originalSequence = _v9.a;- var originalTuples = _v9.b;- var originalPseudoElement = _v9.c;- var newSequence = _v10.a;- var newTuples = _v10.b;- var newPseudoElement = _v10.c;- return A3(- $rtfeldman$elm_css$Css$Structure$Selector,- originalSequence,- _Utils_ap(- originalTuples,- A2(- $elm$core$List$cons,- _Utils_Tuple2(selectorCombinator, newSequence),- newTuples)),- $rtfeldman$elm_css$Css$Preprocess$Resolve$oneOf(- _List_fromArray(- [newPseudoElement, originalPseudoElement])));- });- var expandDeclaration = function (declaration) {- switch (declaration.$) {- case 'StyleBlockDeclaration':- var _v7 = declaration.a;- var firstSelector = _v7.a;- var otherSelectors = _v7.b;- var nestedStyles = _v7.c;- var newSelectors = A2(- $elm$core$List$concatMap,- function (originalSelector) {- return A2(- $elm$core$List$map,- chain(originalSelector),- A2($elm$core$List$cons, firstSelector, otherSelectors));- },- $rtfeldman$elm_css$Css$Preprocess$Resolve$collectSelectors(declarations));- var newDeclarations = function () {- if (!newSelectors.b) {- return _List_Nil;- } else {- var first = newSelectors.a;- var remainder = newSelectors.b;- return _List_fromArray(- [- $rtfeldman$elm_css$Css$Structure$StyleBlockDeclaration(- A3($rtfeldman$elm_css$Css$Structure$StyleBlock, first, remainder, _List_Nil))- ]);- }- }();- return A2($rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles, nestedStyles, newDeclarations);- case 'MediaRule':- var mediaQueries = declaration.a;- var styleBlocks = declaration.b;- return A2($rtfeldman$elm_css$Css$Preprocess$Resolve$resolveMediaRule, mediaQueries, styleBlocks);- case 'SupportsRule':- var str = declaration.a;- var otherSnippets = declaration.b;- return A2($rtfeldman$elm_css$Css$Preprocess$Resolve$resolveSupportsRule, str, otherSnippets);- case 'DocumentRule':- var str1 = declaration.a;- var str2 = declaration.b;- var str3 = declaration.c;- var str4 = declaration.d;- var styleBlock = declaration.e;- return A2(- $elm$core$List$map,- A4($rtfeldman$elm_css$Css$Preprocess$Resolve$toDocumentRule, str1, str2, str3, str4),- $rtfeldman$elm_css$Css$Preprocess$Resolve$expandStyleBlock(styleBlock));- case 'PageRule':- var str = declaration.a;- var properties = declaration.b;- return _List_fromArray(- [- A2($rtfeldman$elm_css$Css$Structure$PageRule, str, properties)- ]);- case 'FontFace':- var properties = declaration.a;- return _List_fromArray(- [- $rtfeldman$elm_css$Css$Structure$FontFace(properties)- ]);- case 'Viewport':- var properties = declaration.a;- return _List_fromArray(- [- $rtfeldman$elm_css$Css$Structure$Viewport(properties)- ]);- case 'CounterStyle':- var properties = declaration.a;- return _List_fromArray(- [- $rtfeldman$elm_css$Css$Structure$CounterStyle(properties)- ]);- default:- var tuples = declaration.a;- return $rtfeldman$elm_css$Css$Preprocess$Resolve$resolveFontFeatureValues(tuples);- }- };- return $elm$core$List$concat(- _Utils_ap(- _List_fromArray(- [- A2($rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles, rest, declarations)- ]),- A2(- $elm$core$List$map,- expandDeclaration,- A2($elm$core$List$concatMap, $rtfeldman$elm_css$Css$Preprocess$unwrapSnippet, snippets))));- case 'WithPseudoElement':- var _v11 = styles.a;- var pseudoElement = _v11.a;- var nestedStyles = _v11.b;- var rest = styles.b;- return A4(- $rtfeldman$elm_css$Css$Preprocess$Resolve$applyNestedStylesToLast,- nestedStyles,- rest,- $rtfeldman$elm_css$Css$Structure$appendPseudoElementToLastSelector(pseudoElement),- declarations);- case 'WithKeyframes':- var str = styles.a.a;- var rest = styles.b;- var name = $rtfeldman$elm_css$Hash$fromString(str);- var newProperty = 'animation-name:' + name;- var newDeclarations = A2(- $rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles,- rest,- A2($rtfeldman$elm_css$Css$Structure$appendProperty, newProperty, declarations));- return A2(- $elm$core$List$append,- newDeclarations,- _List_fromArray(- [- $rtfeldman$elm_css$Css$Structure$Keyframes(- {declaration: str, name: name})- ]));- case 'WithMedia':- var _v12 = styles.a;- var mediaQueries = _v12.a;- var nestedStyles = _v12.b;- var rest = styles.b;- var extraDeclarations = function () {- var _v13 = $rtfeldman$elm_css$Css$Preprocess$Resolve$collectSelectors(declarations);- if (!_v13.b) {- return _List_Nil;- } else {- var firstSelector = _v13.a;- var otherSelectors = _v13.b;- return A2(- $elm$core$List$map,- $rtfeldman$elm_css$Css$Structure$styleBlockToMediaRule(mediaQueries),- A2(- $rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles,- nestedStyles,- $elm$core$List$singleton(- $rtfeldman$elm_css$Css$Structure$StyleBlockDeclaration(- A3($rtfeldman$elm_css$Css$Structure$StyleBlock, firstSelector, otherSelectors, _List_Nil)))));- }- }();- return _Utils_ap(- A2($rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles, rest, declarations),- extraDeclarations);- default:- var otherStyles = styles.a.a;- var rest = styles.b;- return A2(- $rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles,- _Utils_ap(otherStyles, rest),- declarations);- }- }- });-var $rtfeldman$elm_css$Css$Preprocess$Resolve$expandStyleBlock = function (_v2) {- var firstSelector = _v2.a;- var otherSelectors = _v2.b;- var styles = _v2.c;- return A2(- $rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles,- styles,- _List_fromArray(- [- $rtfeldman$elm_css$Css$Structure$StyleBlockDeclaration(- A3($rtfeldman$elm_css$Css$Structure$StyleBlock, firstSelector, otherSelectors, _List_Nil))- ]));-};-var $rtfeldman$elm_css$Css$Preprocess$Resolve$extract = function (snippetDeclarations) {- if (!snippetDeclarations.b) {- return _List_Nil;- } else {- var first = snippetDeclarations.a;- var rest = snippetDeclarations.b;- return _Utils_ap(- $rtfeldman$elm_css$Css$Preprocess$Resolve$toDeclarations(first),- $rtfeldman$elm_css$Css$Preprocess$Resolve$extract(rest));- }-};-var $rtfeldman$elm_css$Css$Preprocess$Resolve$resolveMediaRule = F2(- function (mediaQueries, styleBlocks) {- var handleStyleBlock = function (styleBlock) {- return A2(- $elm$core$List$map,- $rtfeldman$elm_css$Css$Preprocess$Resolve$toMediaRule(mediaQueries),- $rtfeldman$elm_css$Css$Preprocess$Resolve$expandStyleBlock(styleBlock));- };- return A2($elm$core$List$concatMap, handleStyleBlock, styleBlocks);- });-var $rtfeldman$elm_css$Css$Preprocess$Resolve$resolveSupportsRule = F2(- function (str, snippets) {- var declarations = $rtfeldman$elm_css$Css$Preprocess$Resolve$extract(- A2($elm$core$List$concatMap, $rtfeldman$elm_css$Css$Preprocess$unwrapSnippet, snippets));- return _List_fromArray(- [- A2($rtfeldman$elm_css$Css$Structure$SupportsRule, str, declarations)- ]);- });-var $rtfeldman$elm_css$Css$Preprocess$Resolve$toDeclarations = function (snippetDeclaration) {- switch (snippetDeclaration.$) {- case 'StyleBlockDeclaration':- var styleBlock = snippetDeclaration.a;- return $rtfeldman$elm_css$Css$Preprocess$Resolve$expandStyleBlock(styleBlock);- case 'MediaRule':- var mediaQueries = snippetDeclaration.a;- var styleBlocks = snippetDeclaration.b;- return A2($rtfeldman$elm_css$Css$Preprocess$Resolve$resolveMediaRule, mediaQueries, styleBlocks);- case 'SupportsRule':- var str = snippetDeclaration.a;- var snippets = snippetDeclaration.b;- return A2($rtfeldman$elm_css$Css$Preprocess$Resolve$resolveSupportsRule, str, snippets);- case 'DocumentRule':- var str1 = snippetDeclaration.a;- var str2 = snippetDeclaration.b;- var str3 = snippetDeclaration.c;- var str4 = snippetDeclaration.d;- var styleBlock = snippetDeclaration.e;- return A2(- $elm$core$List$map,- A4($rtfeldman$elm_css$Css$Preprocess$Resolve$toDocumentRule, str1, str2, str3, str4),- $rtfeldman$elm_css$Css$Preprocess$Resolve$expandStyleBlock(styleBlock));- case 'PageRule':- var str = snippetDeclaration.a;- var properties = snippetDeclaration.b;- return _List_fromArray(- [- A2($rtfeldman$elm_css$Css$Structure$PageRule, str, properties)- ]);- case 'FontFace':- var properties = snippetDeclaration.a;- return _List_fromArray(- [- $rtfeldman$elm_css$Css$Structure$FontFace(properties)- ]);- case 'Viewport':- var properties = snippetDeclaration.a;- return _List_fromArray(- [- $rtfeldman$elm_css$Css$Structure$Viewport(properties)- ]);- case 'CounterStyle':- var properties = snippetDeclaration.a;- return _List_fromArray(- [- $rtfeldman$elm_css$Css$Structure$CounterStyle(properties)- ]);- default:- var tuples = snippetDeclaration.a;- return $rtfeldman$elm_css$Css$Preprocess$Resolve$resolveFontFeatureValues(tuples);- }-};-var $rtfeldman$elm_css$Css$Preprocess$Resolve$toStructure = function (_v0) {- var charset = _v0.charset;- var imports = _v0.imports;- var namespaces = _v0.namespaces;- var snippets = _v0.snippets;- var declarations = $rtfeldman$elm_css$Css$Preprocess$Resolve$extract(- A2($elm$core$List$concatMap, $rtfeldman$elm_css$Css$Preprocess$unwrapSnippet, snippets));- return {charset: charset, declarations: declarations, imports: imports, namespaces: namespaces};-};-var $rtfeldman$elm_css$Css$Preprocess$Resolve$compileHelp = function (sheet) {- return $rtfeldman$elm_css$Css$Structure$Output$prettyPrint(- $rtfeldman$elm_css$Css$Structure$compactStylesheet(- $rtfeldman$elm_css$Css$Preprocess$Resolve$toStructure(sheet)));-};-var $rtfeldman$elm_css$Css$Preprocess$Resolve$compile = function (styles) {- return A2(- $elm$core$String$join,- '\n\n',- A2($elm$core$List$map, $rtfeldman$elm_css$Css$Preprocess$Resolve$compileHelp, styles));-};-var $rtfeldman$elm_css$Css$Structure$ClassSelector = function (a) {- return {$: 'ClassSelector', a: a};-};-var $rtfeldman$elm_css$Css$Preprocess$Snippet = function (a) {- return {$: 'Snippet', a: a};-};-var $rtfeldman$elm_css$Css$Preprocess$StyleBlock = F3(- function (a, b, c) {- return {$: 'StyleBlock', a: a, b: b, c: c};- });-var $rtfeldman$elm_css$Css$Preprocess$StyleBlockDeclaration = function (a) {- return {$: 'StyleBlockDeclaration', a: a};-};-var $rtfeldman$elm_css$VirtualDom$Styled$makeSnippet = F2(- function (styles, sequence) {- var selector = A3($rtfeldman$elm_css$Css$Structure$Selector, sequence, _List_Nil, $elm$core$Maybe$Nothing);- return $rtfeldman$elm_css$Css$Preprocess$Snippet(- _List_fromArray(- [- $rtfeldman$elm_css$Css$Preprocess$StyleBlockDeclaration(- A3($rtfeldman$elm_css$Css$Preprocess$StyleBlock, selector, _List_Nil, styles))- ]));- });-var $rtfeldman$elm_css$VirtualDom$Styled$snippetFromPair = function (_v0) {- var classname = _v0.a;- var styles = _v0.b;- return A2(- $rtfeldman$elm_css$VirtualDom$Styled$makeSnippet,- styles,- $rtfeldman$elm_css$Css$Structure$UniversalSelectorSequence(- _List_fromArray(- [- $rtfeldman$elm_css$Css$Structure$ClassSelector(classname)- ])));-};-var $rtfeldman$elm_css$Css$Preprocess$stylesheet = function (snippets) {- return {charset: $elm$core$Maybe$Nothing, imports: _List_Nil, namespaces: _List_Nil, snippets: snippets};-};-var $rtfeldman$elm_css$VirtualDom$Styled$toDeclaration = function (dict) {- return $rtfeldman$elm_css$Css$Preprocess$Resolve$compile(- $elm$core$List$singleton(- $rtfeldman$elm_css$Css$Preprocess$stylesheet(- A2(- $elm$core$List$map,- $rtfeldman$elm_css$VirtualDom$Styled$snippetFromPair,- $elm$core$Dict$toList(dict)))));-};-var $rtfeldman$elm_css$VirtualDom$Styled$toStyleNode = function (styles) {- return A3(- $elm$virtual_dom$VirtualDom$node,- 'style',- _List_Nil,- $elm$core$List$singleton(- $elm$virtual_dom$VirtualDom$text(- $rtfeldman$elm_css$VirtualDom$Styled$toDeclaration(styles))));-};-var $rtfeldman$elm_css$VirtualDom$Styled$unstyle = F3(- function (elemType, properties, children) {- var unstyledProperties = A2($elm$core$List$map, $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute, properties);- var initialStyles = $rtfeldman$elm_css$VirtualDom$Styled$stylesFromProperties(properties);- var _v0 = A3(- $elm$core$List$foldl,- $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyledHtml,- _Utils_Tuple2(_List_Nil, initialStyles),- children);- var childNodes = _v0.a;- var styles = _v0.b;- var styleNode = $rtfeldman$elm_css$VirtualDom$Styled$toStyleNode(styles);- return A3(- $elm$virtual_dom$VirtualDom$node,- elemType,- unstyledProperties,- A2(- $elm$core$List$cons,- styleNode,- $elm$core$List$reverse(childNodes)));- });-var $rtfeldman$elm_css$VirtualDom$Styled$containsKey = F2(- function (key, pairs) {- containsKey:- while (true) {- if (!pairs.b) {- return false;- } else {- var _v1 = pairs.a;- var str = _v1.a;- var rest = pairs.b;- if (_Utils_eq(key, str)) {- return true;- } else {- var $temp$key = key,- $temp$pairs = rest;- key = $temp$key;- pairs = $temp$pairs;- continue containsKey;- }- }- }- });-var $rtfeldman$elm_css$VirtualDom$Styled$getUnusedKey = F2(- function (_default, pairs) {- getUnusedKey:- while (true) {- if (!pairs.b) {- return _default;- } else {- var _v1 = pairs.a;- var firstKey = _v1.a;- var rest = pairs.b;- var newKey = '_' + firstKey;- if (A2($rtfeldman$elm_css$VirtualDom$Styled$containsKey, newKey, rest)) {- var $temp$default = newKey,- $temp$pairs = rest;- _default = $temp$default;- pairs = $temp$pairs;- continue getUnusedKey;- } else {- return newKey;- }- }- }- });-var $rtfeldman$elm_css$VirtualDom$Styled$toKeyedStyleNode = F2(- function (allStyles, keyedChildNodes) {- var styleNodeKey = A2($rtfeldman$elm_css$VirtualDom$Styled$getUnusedKey, '_', keyedChildNodes);- var finalNode = $rtfeldman$elm_css$VirtualDom$Styled$toStyleNode(allStyles);- return _Utils_Tuple2(styleNodeKey, finalNode);- });-var $rtfeldman$elm_css$VirtualDom$Styled$unstyleKeyed = F3(- function (elemType, properties, keyedChildren) {- var unstyledProperties = A2($elm$core$List$map, $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute, properties);- var initialStyles = $rtfeldman$elm_css$VirtualDom$Styled$stylesFromProperties(properties);- var _v0 = A3(- $elm$core$List$foldl,- $rtfeldman$elm_css$VirtualDom$Styled$accumulateKeyedStyledHtml,- _Utils_Tuple2(_List_Nil, initialStyles),- keyedChildren);- var keyedChildNodes = _v0.a;- var styles = _v0.b;- var keyedStyleNode = A2($rtfeldman$elm_css$VirtualDom$Styled$toKeyedStyleNode, styles, keyedChildNodes);- return A3(- $elm$virtual_dom$VirtualDom$keyedNode,- elemType,- unstyledProperties,- A2(- $elm$core$List$cons,- keyedStyleNode,- $elm$core$List$reverse(keyedChildNodes)));- });-var $rtfeldman$elm_css$VirtualDom$Styled$unstyleKeyedNS = F4(- function (ns, elemType, properties, keyedChildren) {- var unstyledProperties = A2($elm$core$List$map, $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute, properties);- var initialStyles = $rtfeldman$elm_css$VirtualDom$Styled$stylesFromProperties(properties);- var _v0 = A3(- $elm$core$List$foldl,- $rtfeldman$elm_css$VirtualDom$Styled$accumulateKeyedStyledHtml,- _Utils_Tuple2(_List_Nil, initialStyles),- keyedChildren);- var keyedChildNodes = _v0.a;- var styles = _v0.b;- var keyedStyleNode = A2($rtfeldman$elm_css$VirtualDom$Styled$toKeyedStyleNode, styles, keyedChildNodes);- return A4(- $elm$virtual_dom$VirtualDom$keyedNodeNS,- ns,- elemType,- unstyledProperties,- A2(- $elm$core$List$cons,- keyedStyleNode,- $elm$core$List$reverse(keyedChildNodes)));- });-var $rtfeldman$elm_css$VirtualDom$Styled$unstyleNS = F4(- function (ns, elemType, properties, children) {- var unstyledProperties = A2($elm$core$List$map, $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute, properties);- var initialStyles = $rtfeldman$elm_css$VirtualDom$Styled$stylesFromProperties(properties);- var _v0 = A3(- $elm$core$List$foldl,- $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyledHtml,- _Utils_Tuple2(_List_Nil, initialStyles),- children);- var childNodes = _v0.a;- var styles = _v0.b;- var styleNode = $rtfeldman$elm_css$VirtualDom$Styled$toStyleNode(styles);- return A4(- $elm$virtual_dom$VirtualDom$nodeNS,- ns,- elemType,- unstyledProperties,- A2(- $elm$core$List$cons,- styleNode,- $elm$core$List$reverse(childNodes)));- });-var $rtfeldman$elm_css$VirtualDom$Styled$toUnstyled = function (vdom) {- switch (vdom.$) {- case 'Unstyled':- var plainNode = vdom.a;- return plainNode;- case 'Node':- var elemType = vdom.a;- var properties = vdom.b;- var children = vdom.c;- return A3($rtfeldman$elm_css$VirtualDom$Styled$unstyle, elemType, properties, children);- case 'NodeNS':- var ns = vdom.a;- var elemType = vdom.b;- var properties = vdom.c;- var children = vdom.d;- return A4($rtfeldman$elm_css$VirtualDom$Styled$unstyleNS, ns, elemType, properties, children);- case 'KeyedNode':- var elemType = vdom.a;- var properties = vdom.b;- var children = vdom.c;- return A3($rtfeldman$elm_css$VirtualDom$Styled$unstyleKeyed, elemType, properties, children);- default:- var ns = vdom.a;- var elemType = vdom.b;- var properties = vdom.c;- var children = vdom.d;- return A4($rtfeldman$elm_css$VirtualDom$Styled$unstyleKeyedNS, ns, elemType, properties, children);- }-};-var $rtfeldman$elm_css$Html$Styled$toUnstyled = $rtfeldman$elm_css$VirtualDom$Styled$toUnstyled;-var $author$project$Main$Loaded = function (a) {- return {$: 'Loaded', a: a};-};-var $author$project$Persisted$Persisted = function (a) {- return {$: 'Persisted', a: a};-};-var $author$project$Persisted$init = function (x) {- return $author$project$Persisted$Persisted(- {local: x, persisted: x});-};-var $elm$core$Dict$map = F2(- function (func, dict) {- if (dict.$ === 'RBEmpty_elm_builtin') {- return $elm$core$Dict$RBEmpty_elm_builtin;- } else {- var color = dict.a;- var key = dict.b;- var value = dict.c;- var left = dict.d;- var right = dict.e;- return A5(- $elm$core$Dict$RBNode_elm_builtin,- color,- key,- A2(func, key, value),- A2($elm$core$Dict$map, func, left),- A2($elm$core$Dict$map, func, right));- }- });-var $elm$core$Platform$Cmd$batch = _Platform_batch;-var $elm$core$Platform$Cmd$none = $elm$core$Platform$Cmd$batch(_List_Nil);-var $author$project$Persisted$changed = function (_v0) {- var persisted = _v0.a.persisted;- var local = _v0.a.local;- return !_Utils_eq(local, persisted);-};-var $author$project$Persisted$persist = F2(- function (x, _v0) {- var old = _v0.a;- return $author$project$Persisted$changed(- $author$project$Persisted$Persisted(old)) ? $author$project$Persisted$Persisted(- _Utils_update(- old,- {persisted: x})) : $author$project$Persisted$init(x);- });-var $elm$http$Http$expectBytesResponse = F2(- function (toMsg, toResult) {- return A3(- _Http_expect,- 'arraybuffer',- _Http_toDataView,- A2($elm$core$Basics$composeR, toResult, toMsg));- });-var $elm$http$Http$expectWhatever = function (toMsg) {- return A2(- $elm$http$Http$expectBytesResponse,- toMsg,- $elm$http$Http$resolve(- function (_v0) {- return $elm$core$Result$Ok(_Utils_Tuple0);- }));-};-var $elm$json$Json$Encode$int = _Json_wrap;-var $elm$http$Http$jsonBody = function (value) {- return A2(- _Http_pair,- 'application/json',- A2($elm$json$Json$Encode$encode, 0, value));-};-var $author$project$Main$sendSaveFlagRequest = F3(- function (rootPath, flagName, _v0) {- var percentage = _v0.a;- return $elm$http$Http$request(- {- body: $elm$http$Http$jsonBody(- $elm$json$Json$Encode$int(percentage)),- expect: $elm$http$Http$expectWhatever(- function (_v1) {- return $author$project$Main$LoadFlags;- }),- headers: _List_Nil,- method: 'PUT',- timeout: $elm$core$Maybe$Nothing,- tracker: $elm$core$Maybe$Nothing,- url: A2(- $elm$url$Url$Builder$relative,- _Utils_ap(- rootPath,- _List_fromArray(- ['flags', flagName])),- _List_Nil)- });- });-var $author$project$Persisted$value = function (_v0) {- var local = _v0.a.local;- return local;-};-var $author$project$Main$saveFlag = F2(- function (flagName, model) {- var _v0 = model.data;- if (_v0.$ === 'Loading') {- return $elm$core$Platform$Cmd$none;- } else {- var flags = _v0.a;- var _v1 = A2($elm$core$Dict$get, flagName, flags);- if (_v1.$ === 'Nothing') {- return $elm$core$Platform$Cmd$none;- } else {- var percentage = _v1.a;- return $author$project$Persisted$changed(percentage) ? A3(- $author$project$Main$sendSaveFlagRequest,- model.rootPath,- flagName,- $author$project$Persisted$value(percentage)) : $elm$core$Platform$Cmd$none;- }- }- });-var $author$project$Persisted$change = F2(- function (x, _v0) {- var persisted = _v0.a.persisted;- return $author$project$Persisted$Persisted(- {local: x, persisted: persisted});- });-var $author$project$Main$setFlag = F3(- function (flagName, newPercentage, data) {- if (data.$ === 'Loading') {- return $author$project$Main$Loading;- } else {- var flags = data.a;- return $author$project$Main$Loaded(- A3(- $elm$core$Dict$update,- flagName,- $elm$core$Maybe$map(- function (oldPercentage) {- return A2($author$project$Persisted$change, newPercentage, oldPercentage);- }),- flags));- }- });-var $author$project$Main$updateData = F2(- function (msg, model) {- switch (msg.$) {- case 'NoOp':- return _Utils_Tuple2(model.data, $elm$core$Platform$Cmd$none);- case 'LoadFlags':- return _Utils_Tuple2(- model.data,- $author$project$Main$sendLoadFlagsRequest(model.rootPath));- case 'LoadedFlags':- var updatedFlags = msg.a;- var _v1 = model.data;- if (_v1.$ === 'Loading') {- return _Utils_Tuple2(- $author$project$Main$Loaded(- A2(- $elm$core$Dict$map,- function (_v2) {- return $author$project$Persisted$init;- },- updatedFlags)),- $elm$core$Platform$Cmd$none);- } else {- var oldFlags = _v1.a;- return _Utils_Tuple2(- $author$project$Main$Loaded(- A6(- $elm$core$Dict$merge,- F3(- function (flag, oldValue, newFlags) {- return A3($elm$core$Dict$insert, flag, oldValue, newFlags);- }),- F4(- function (flag, oldValue, newValue, newFlags) {- return A3(- $elm$core$Dict$insert,- flag,- A2($author$project$Persisted$persist, newValue, oldValue),- newFlags);- }),- F3(- function (flag, firstValue, newFlags) {- return A3(- $elm$core$Dict$insert,- flag,- $author$project$Persisted$init(firstValue),- newFlags);- }),- oldFlags,- updatedFlags,- $elm$core$Dict$empty)),- $elm$core$Platform$Cmd$none);- }- default:- var flagName = msg.a;- var newPercentage = msg.b;- var newData = A3($author$project$Main$setFlag, flagName, newPercentage, model.data);- return _Utils_Tuple2(- newData,- A2(- $author$project$Main$saveFlag,- flagName,- _Utils_update(- model,- {data: newData})));- }- });-var $author$project$Main$update = F2(- function (msg, model) {- var _v0 = A2($author$project$Main$updateData, msg, model);- var newData = _v0.a;- var cmd = _v0.b;- return _Utils_Tuple2(- _Utils_update(- model,- {data: newData}),- cmd);- });-var $rtfeldman$elm_css$Css$Structure$Compatible = {$: 'Compatible'};-var $rtfeldman$elm_css$Css$absolute = {position: $rtfeldman$elm_css$Css$Structure$Compatible, value: 'absolute'};-var $rtfeldman$elm_css$Css$Preprocess$AppendProperty = function (a) {- return {$: 'AppendProperty', a: a};-};-var $rtfeldman$elm_css$Css$property = F2(- function (key, value) {- return $rtfeldman$elm_css$Css$Preprocess$AppendProperty(key + (':' + value));- });-var $rtfeldman$elm_css$Css$backgroundColor = function (c) {- return A2($rtfeldman$elm_css$Css$property, 'background-color', c.value);-};-var $rtfeldman$elm_css$Css$prop1 = F2(- function (key, arg) {- return A2($rtfeldman$elm_css$Css$property, key, arg.value);- });-var $rtfeldman$elm_css$Css$center = $rtfeldman$elm_css$Css$prop1('center');-var $rtfeldman$elm_css$Css$color = function (c) {- return A2($rtfeldman$elm_css$Css$property, 'color', c.value);-};-var $rtfeldman$elm_css$VirtualDom$Styled$Attribute = F3(- function (a, b, c) {- return {$: 'Attribute', a: a, b: b, c: c};- });-var $rtfeldman$elm_css$VirtualDom$Styled$murmurSeed = 15739;-var $rtfeldman$elm_css$VirtualDom$Styled$getClassname = function (styles) {- return $elm$core$List$isEmpty(styles) ? 'unstyled' : A2(- $elm$core$String$cons,- _Utils_chr('_'),- $rtfeldman$elm_hex$Hex$toString(- A2(- $rtfeldman$elm_css$ElmCssVendor$Murmur3$hashString,- $rtfeldman$elm_css$VirtualDom$Styled$murmurSeed,- $rtfeldman$elm_css$Css$Preprocess$Resolve$compile(- $elm$core$List$singleton(- $rtfeldman$elm_css$Css$Preprocess$stylesheet(- $elm$core$List$singleton(- A2(- $rtfeldman$elm_css$VirtualDom$Styled$makeSnippet,- styles,- $rtfeldman$elm_css$Css$Structure$UniversalSelectorSequence(_List_Nil)))))))));-};-var $elm$virtual_dom$VirtualDom$property = F2(- function (key, value) {- return A2(- _VirtualDom_property,- _VirtualDom_noInnerHtmlOrFormAction(key),- _VirtualDom_noJavaScriptOrHtmlUri(value));- });-var $elm$json$Json$Encode$string = _Json_wrap;-var $rtfeldman$elm_css$Html$Styled$Internal$css = function (styles) {- var classname = $rtfeldman$elm_css$VirtualDom$Styled$getClassname(styles);- var classProperty = A2(- $elm$virtual_dom$VirtualDom$property,- 'className',- $elm$json$Json$Encode$string(classname));- return A3($rtfeldman$elm_css$VirtualDom$Styled$Attribute, classProperty, styles, classname);-};-var $rtfeldman$elm_css$Html$Styled$Attributes$css = $rtfeldman$elm_css$Html$Styled$Internal$css;-var $rtfeldman$elm_css$VirtualDom$Styled$Node = F3(- function (a, b, c) {- return {$: 'Node', a: a, b: b, c: c};- });-var $rtfeldman$elm_css$VirtualDom$Styled$node = $rtfeldman$elm_css$VirtualDom$Styled$Node;-var $rtfeldman$elm_css$Html$Styled$node = $rtfeldman$elm_css$VirtualDom$Styled$node;-var $rtfeldman$elm_css$Html$Styled$div = $rtfeldman$elm_css$Html$Styled$node('div');-var $rtfeldman$elm_css$Css$stringsToValue = function (list) {- return $elm$core$List$isEmpty(list) ? {value: 'none'} : {- value: A2(- $elm$core$String$join,- ', ',- A2(- $elm$core$List$map,- function (s) {- return s;- },- list))- };-};-var $rtfeldman$elm_css$Css$fontFamilies = A2(- $elm$core$Basics$composeL,- $rtfeldman$elm_css$Css$prop1('font-family'),- $rtfeldman$elm_css$Css$stringsToValue);-var $rtfeldman$elm_css$Html$Styled$h1 = $rtfeldman$elm_css$Html$Styled$node('h1');-var $rtfeldman$elm_css$Css$withPrecedingHash = function (str) {- return A2($elm$core$String$startsWith, '#', str) ? str : A2(- $elm$core$String$cons,- _Utils_chr('#'),- str);-};-var $rtfeldman$elm_css$Css$erroneousHex = function (str) {- return {- alpha: 1,- blue: 0,- color: $rtfeldman$elm_css$Css$Structure$Compatible,- green: 0,- red: 0,- value: $rtfeldman$elm_css$Css$withPrecedingHash(str)- };-};-var $elm$core$String$foldr = _String_foldr;-var $elm$core$String$toList = function (string) {- return A3($elm$core$String$foldr, $elm$core$List$cons, _List_Nil, string);-};-var $elm$core$String$fromChar = function (_char) {- return A2($elm$core$String$cons, _char, '');-};-var $elm$core$Basics$pow = _Basics_pow;-var $rtfeldman$elm_hex$Hex$fromStringHelp = F3(- function (position, chars, accumulated) {- fromStringHelp:- while (true) {- if (!chars.b) {- return $elm$core$Result$Ok(accumulated);- } else {- var _char = chars.a;- var rest = chars.b;- switch (_char.valueOf()) {- case '0':- var $temp$position = position - 1,- $temp$chars = rest,- $temp$accumulated = accumulated;- position = $temp$position;- chars = $temp$chars;- accumulated = $temp$accumulated;- continue fromStringHelp;- case '1':- var $temp$position = position - 1,- $temp$chars = rest,- $temp$accumulated = accumulated + A2($elm$core$Basics$pow, 16, position);- position = $temp$position;- chars = $temp$chars;- accumulated = $temp$accumulated;- continue fromStringHelp;- case '2':- var $temp$position = position - 1,- $temp$chars = rest,- $temp$accumulated = accumulated + (2 * A2($elm$core$Basics$pow, 16, position));- position = $temp$position;- chars = $temp$chars;- accumulated = $temp$accumulated;- continue fromStringHelp;- case '3':- var $temp$position = position - 1,- $temp$chars = rest,- $temp$accumulated = accumulated + (3 * A2($elm$core$Basics$pow, 16, position));- position = $temp$position;- chars = $temp$chars;- accumulated = $temp$accumulated;- continue fromStringHelp;- case '4':- var $temp$position = position - 1,- $temp$chars = rest,- $temp$accumulated = accumulated + (4 * A2($elm$core$Basics$pow, 16, position));- position = $temp$position;- chars = $temp$chars;- accumulated = $temp$accumulated;- continue fromStringHelp;- case '5':- var $temp$position = position - 1,- $temp$chars = rest,- $temp$accumulated = accumulated + (5 * A2($elm$core$Basics$pow, 16, position));- position = $temp$position;- chars = $temp$chars;- accumulated = $temp$accumulated;- continue fromStringHelp;- case '6':- var $temp$position = position - 1,- $temp$chars = rest,- $temp$accumulated = accumulated + (6 * A2($elm$core$Basics$pow, 16, position));- position = $temp$position;- chars = $temp$chars;- accumulated = $temp$accumulated;- continue fromStringHelp;- case '7':- var $temp$position = position - 1,- $temp$chars = rest,- $temp$accumulated = accumulated + (7 * A2($elm$core$Basics$pow, 16, position));- position = $temp$position;- chars = $temp$chars;- accumulated = $temp$accumulated;- continue fromStringHelp;- case '8':- var $temp$position = position - 1,- $temp$chars = rest,- $temp$accumulated = accumulated + (8 * A2($elm$core$Basics$pow, 16, position));- position = $temp$position;- chars = $temp$chars;- accumulated = $temp$accumulated;- continue fromStringHelp;- case '9':- var $temp$position = position - 1,- $temp$chars = rest,- $temp$accumulated = accumulated + (9 * A2($elm$core$Basics$pow, 16, position));- position = $temp$position;- chars = $temp$chars;- accumulated = $temp$accumulated;- continue fromStringHelp;- case 'a':- var $temp$position = position - 1,- $temp$chars = rest,- $temp$accumulated = accumulated + (10 * A2($elm$core$Basics$pow, 16, position));- position = $temp$position;- chars = $temp$chars;- accumulated = $temp$accumulated;- continue fromStringHelp;- case 'b':- var $temp$position = position - 1,- $temp$chars = rest,- $temp$accumulated = accumulated + (11 * A2($elm$core$Basics$pow, 16, position));- position = $temp$position;- chars = $temp$chars;- accumulated = $temp$accumulated;- continue fromStringHelp;- case 'c':- var $temp$position = position - 1,- $temp$chars = rest,- $temp$accumulated = accumulated + (12 * A2($elm$core$Basics$pow, 16, position));- position = $temp$position;- chars = $temp$chars;- accumulated = $temp$accumulated;- continue fromStringHelp;- case 'd':- var $temp$position = position - 1,- $temp$chars = rest,- $temp$accumulated = accumulated + (13 * A2($elm$core$Basics$pow, 16, position));- position = $temp$position;- chars = $temp$chars;- accumulated = $temp$accumulated;- continue fromStringHelp;- case 'e':- var $temp$position = position - 1,- $temp$chars = rest,- $temp$accumulated = accumulated + (14 * A2($elm$core$Basics$pow, 16, position));- position = $temp$position;- chars = $temp$chars;- accumulated = $temp$accumulated;- continue fromStringHelp;- case 'f':- var $temp$position = position - 1,- $temp$chars = rest,- $temp$accumulated = accumulated + (15 * A2($elm$core$Basics$pow, 16, position));- position = $temp$position;- chars = $temp$chars;- accumulated = $temp$accumulated;- continue fromStringHelp;- default:- var nonHex = _char;- return $elm$core$Result$Err(- $elm$core$String$fromChar(nonHex) + ' is not a valid hexadecimal character.');- }- }- }- });-var $elm$core$Result$map = F2(- function (func, ra) {- if (ra.$ === 'Ok') {- var a = ra.a;- return $elm$core$Result$Ok(- func(a));- } else {- var e = ra.a;- return $elm$core$Result$Err(e);- }- });-var $rtfeldman$elm_hex$Hex$fromString = function (str) {- if ($elm$core$String$isEmpty(str)) {- return $elm$core$Result$Err('Empty strings are not valid hexadecimal strings.');- } else {- var result = function () {- if (A2($elm$core$String$startsWith, '-', str)) {- var list = A2(- $elm$core$Maybe$withDefault,- _List_Nil,- $elm$core$List$tail(- $elm$core$String$toList(str)));- return A2(- $elm$core$Result$map,- $elm$core$Basics$negate,- A3(- $rtfeldman$elm_hex$Hex$fromStringHelp,- $elm$core$List$length(list) - 1,- list,- 0));- } else {- return A3(- $rtfeldman$elm_hex$Hex$fromStringHelp,- $elm$core$String$length(str) - 1,- $elm$core$String$toList(str),- 0);- }- }();- var formatError = function (err) {- return A2(- $elm$core$String$join,- ' ',- _List_fromArray(- ['\"' + (str + '\"'), 'is not a valid hexadecimal string because', err]));- };- return A2($elm$core$Result$mapError, formatError, result);- }-};-var $elm$core$String$toLower = _String_toLower;-var $rtfeldman$elm_css$Css$validHex = F5(- function (str, _v0, _v1, _v2, _v3) {- var r1 = _v0.a;- var r2 = _v0.b;- var g1 = _v1.a;- var g2 = _v1.b;- var b1 = _v2.a;- var b2 = _v2.b;- var a1 = _v3.a;- var a2 = _v3.b;- var toResult = A2(- $elm$core$Basics$composeR,- $elm$core$String$fromList,- A2($elm$core$Basics$composeR, $elm$core$String$toLower, $rtfeldman$elm_hex$Hex$fromString));- var results = _Utils_Tuple2(- _Utils_Tuple2(- toResult(- _List_fromArray(- [r1, r2])),- toResult(- _List_fromArray(- [g1, g2]))),- _Utils_Tuple2(- toResult(- _List_fromArray(- [b1, b2])),- toResult(- _List_fromArray(- [a1, a2]))));- if ((((results.a.a.$ === 'Ok') && (results.a.b.$ === 'Ok')) && (results.b.a.$ === 'Ok')) && (results.b.b.$ === 'Ok')) {- var _v5 = results.a;- var red = _v5.a.a;- var green = _v5.b.a;- var _v6 = results.b;- var blue = _v6.a.a;- var alpha = _v6.b.a;- return {- alpha: alpha / 255,- blue: blue,- color: $rtfeldman$elm_css$Css$Structure$Compatible,- green: green,- red: red,- value: $rtfeldman$elm_css$Css$withPrecedingHash(str)- };- } else {- return $rtfeldman$elm_css$Css$erroneousHex(str);- }- });-var $rtfeldman$elm_css$Css$hex = function (str) {- var withoutHash = A2($elm$core$String$startsWith, '#', str) ? A2($elm$core$String$dropLeft, 1, str) : str;- var _v0 = $elm$core$String$toList(withoutHash);- _v0$4:- while (true) {- if ((_v0.b && _v0.b.b) && _v0.b.b.b) {- if (!_v0.b.b.b.b) {- var r = _v0.a;- var _v1 = _v0.b;- var g = _v1.a;- var _v2 = _v1.b;- var b = _v2.a;- return A5(- $rtfeldman$elm_css$Css$validHex,- str,- _Utils_Tuple2(r, r),- _Utils_Tuple2(g, g),- _Utils_Tuple2(b, b),- _Utils_Tuple2(- _Utils_chr('f'),- _Utils_chr('f')));- } else {- if (!_v0.b.b.b.b.b) {- var r = _v0.a;- var _v3 = _v0.b;- var g = _v3.a;- var _v4 = _v3.b;- var b = _v4.a;- var _v5 = _v4.b;- var a = _v5.a;- return A5(- $rtfeldman$elm_css$Css$validHex,- str,- _Utils_Tuple2(r, r),- _Utils_Tuple2(g, g),- _Utils_Tuple2(b, b),- _Utils_Tuple2(a, a));- } else {- if (_v0.b.b.b.b.b.b) {- if (!_v0.b.b.b.b.b.b.b) {- var r1 = _v0.a;- var _v6 = _v0.b;- var r2 = _v6.a;- var _v7 = _v6.b;- var g1 = _v7.a;- var _v8 = _v7.b;- var g2 = _v8.a;- var _v9 = _v8.b;- var b1 = _v9.a;- var _v10 = _v9.b;- var b2 = _v10.a;- return A5(- $rtfeldman$elm_css$Css$validHex,- str,- _Utils_Tuple2(r1, r2),- _Utils_Tuple2(g1, g2),- _Utils_Tuple2(b1, b2),- _Utils_Tuple2(- _Utils_chr('f'),- _Utils_chr('f')));- } else {- if (_v0.b.b.b.b.b.b.b.b && (!_v0.b.b.b.b.b.b.b.b.b)) {- var r1 = _v0.a;- var _v11 = _v0.b;- var r2 = _v11.a;- var _v12 = _v11.b;- var g1 = _v12.a;- var _v13 = _v12.b;- var g2 = _v13.a;- var _v14 = _v13.b;- var b1 = _v14.a;- var _v15 = _v14.b;- var b2 = _v15.a;- var _v16 = _v15.b;- var a1 = _v16.a;- var _v17 = _v16.b;- var a2 = _v17.a;- return A5(- $rtfeldman$elm_css$Css$validHex,- str,- _Utils_Tuple2(r1, r2),- _Utils_Tuple2(g1, g2),- _Utils_Tuple2(b1, b2),- _Utils_Tuple2(a1, a2));- } else {- break _v0$4;- }- }- } else {- break _v0$4;- }- }- }- } else {- break _v0$4;- }- }- return $rtfeldman$elm_css$Css$erroneousHex(str);-};-var $rtfeldman$elm_css$Css$minHeight = $rtfeldman$elm_css$Css$prop1('min-height');-var $rtfeldman$elm_css$Html$Styled$p = $rtfeldman$elm_css$Html$Styled$node('p');-var $rtfeldman$elm_css$Css$position = $rtfeldman$elm_css$Css$prop1('position');-var $rtfeldman$elm_css$VirtualDom$Styled$Unstyled = function (a) {- return {$: 'Unstyled', a: a};-};-var $rtfeldman$elm_css$VirtualDom$Styled$text = function (str) {- return $rtfeldman$elm_css$VirtualDom$Styled$Unstyled(- $elm$virtual_dom$VirtualDom$text(str));-};-var $rtfeldman$elm_css$Html$Styled$text = $rtfeldman$elm_css$VirtualDom$Styled$text;-var $rtfeldman$elm_css$Css$Preprocess$ApplyStyles = function (a) {- return {$: 'ApplyStyles', a: a};-};-var $rtfeldman$elm_css$Css$Internal$property = F2(- function (key, value) {- return $rtfeldman$elm_css$Css$Preprocess$AppendProperty(key + (':' + value));- });-var $rtfeldman$elm_css$Css$Internal$getOverloadedProperty = F3(- function (functionName, desiredKey, style) {- getOverloadedProperty:- while (true) {- switch (style.$) {- case 'AppendProperty':- var str = style.a;- var key = A2(- $elm$core$Maybe$withDefault,- '',- $elm$core$List$head(- A2($elm$core$String$split, ':', str)));- return A2($rtfeldman$elm_css$Css$Internal$property, desiredKey, key);- case 'ExtendSelector':- var selector = style.a;- return A2($rtfeldman$elm_css$Css$Internal$property, desiredKey, 'elm-css-error-cannot-apply-' + (functionName + '-with-inapplicable-Style-for-selector'));- case 'NestSnippet':- var combinator = style.a;- return A2($rtfeldman$elm_css$Css$Internal$property, desiredKey, 'elm-css-error-cannot-apply-' + (functionName + '-with-inapplicable-Style-for-combinator'));- case 'WithPseudoElement':- var pseudoElement = style.a;- return A2($rtfeldman$elm_css$Css$Internal$property, desiredKey, 'elm-css-error-cannot-apply-' + (functionName + '-with-inapplicable-Style-for-pseudo-element setter'));- case 'WithMedia':- return A2($rtfeldman$elm_css$Css$Internal$property, desiredKey, 'elm-css-error-cannot-apply-' + (functionName + '-with-inapplicable-Style-for-media-query'));- case 'WithKeyframes':- return A2($rtfeldman$elm_css$Css$Internal$property, desiredKey, 'elm-css-error-cannot-apply-' + (functionName + '-with-inapplicable-Style-for-keyframes'));- default:- if (!style.a.b) {- return A2($rtfeldman$elm_css$Css$Internal$property, desiredKey, 'elm-css-error-cannot-apply-' + (functionName + '-with-empty-Style'));- } else {- if (!style.a.b.b) {- var _v1 = style.a;- var only = _v1.a;- var $temp$functionName = functionName,- $temp$desiredKey = desiredKey,- $temp$style = only;- functionName = $temp$functionName;- desiredKey = $temp$desiredKey;- style = $temp$style;- continue getOverloadedProperty;- } else {- var _v2 = style.a;- var first = _v2.a;- var rest = _v2.b;- var $temp$functionName = functionName,- $temp$desiredKey = desiredKey,- $temp$style = $rtfeldman$elm_css$Css$Preprocess$ApplyStyles(rest);- functionName = $temp$functionName;- desiredKey = $temp$desiredKey;- style = $temp$style;- continue getOverloadedProperty;- }- }- }- }- });-var $rtfeldman$elm_css$Css$Internal$IncompatibleUnits = {$: 'IncompatibleUnits'};-var $elm$core$String$fromFloat = _String_fromNumber;-var $rtfeldman$elm_css$Css$Internal$lengthConverter = F3(- function (units, unitLabel, numericValue) {- return {- absoluteLength: $rtfeldman$elm_css$Css$Structure$Compatible,- calc: $rtfeldman$elm_css$Css$Structure$Compatible,- flexBasis: $rtfeldman$elm_css$Css$Structure$Compatible,- fontSize: $rtfeldman$elm_css$Css$Structure$Compatible,- length: $rtfeldman$elm_css$Css$Structure$Compatible,- lengthOrAuto: $rtfeldman$elm_css$Css$Structure$Compatible,- lengthOrAutoOrCoverOrContain: $rtfeldman$elm_css$Css$Structure$Compatible,- lengthOrMinMaxDimension: $rtfeldman$elm_css$Css$Structure$Compatible,- lengthOrNone: $rtfeldman$elm_css$Css$Structure$Compatible,- lengthOrNoneOrMinMaxDimension: $rtfeldman$elm_css$Css$Structure$Compatible,- lengthOrNumber: $rtfeldman$elm_css$Css$Structure$Compatible,- lengthOrNumberOrAutoOrNoneOrContent: $rtfeldman$elm_css$Css$Structure$Compatible,- numericValue: numericValue,- textIndent: $rtfeldman$elm_css$Css$Structure$Compatible,- unitLabel: unitLabel,- units: units,- value: _Utils_ap(- $elm$core$String$fromFloat(numericValue),- unitLabel)- };- });-var $rtfeldman$elm_css$Css$Internal$lengthForOverloadedProperty = A3($rtfeldman$elm_css$Css$Internal$lengthConverter, $rtfeldman$elm_css$Css$Internal$IncompatibleUnits, '', 0);-var $rtfeldman$elm_css$Css$textAlign = function (fn) {- return A3(- $rtfeldman$elm_css$Css$Internal$getOverloadedProperty,- 'textAlign',- 'text-align',- fn($rtfeldman$elm_css$Css$Internal$lengthForOverloadedProperty));-};-var $elm$core$Dict$values = function (dict) {- return A3(- $elm$core$Dict$foldr,- F3(- function (key, value, valueList) {- return A2($elm$core$List$cons, value, valueList);- }),- _List_Nil,- dict);-};-var $rtfeldman$elm_css$Css$VhUnits = {$: 'VhUnits'};-var $rtfeldman$elm_css$Css$vh = A2($rtfeldman$elm_css$Css$Internal$lengthConverter, $rtfeldman$elm_css$Css$VhUnits, 'vh');-var $author$project$Main$SetFlag = F2(- function (a, b) {- return {$: 'SetFlag', a: a, b: b};- });-var $rtfeldman$elm_css$Css$Structure$PseudoElement = function (a) {- return {$: 'PseudoElement', a: a};-};-var $rtfeldman$elm_css$Css$Preprocess$WithPseudoElement = F2(- function (a, b) {- return {$: 'WithPseudoElement', a: a, b: b};- });-var $rtfeldman$elm_css$Css$pseudoElement = function (element) {- return $rtfeldman$elm_css$Css$Preprocess$WithPseudoElement(- $rtfeldman$elm_css$Css$Structure$PseudoElement(element));-};-var $rtfeldman$elm_css$Css$after = $rtfeldman$elm_css$Css$pseudoElement('after');-var $rtfeldman$elm_css$Css$batch = $rtfeldman$elm_css$Css$Preprocess$ApplyStyles;-var $rtfeldman$elm_css$Html$Styled$button = $rtfeldman$elm_css$Html$Styled$node('button');-var $rtfeldman$elm_css$Css$EmUnits = {$: 'EmUnits'};-var $rtfeldman$elm_css$Css$em = A2($rtfeldman$elm_css$Css$Internal$lengthConverter, $rtfeldman$elm_css$Css$EmUnits, 'em');-var $rtfeldman$elm_css$Css$fontSize = $rtfeldman$elm_css$Css$prop1('font-size');-var $rtfeldman$elm_css$Css$fontWeight = function (_v0) {- var value = _v0.value;- return A2($rtfeldman$elm_css$Css$property, 'font-weight', value);-};-var $rtfeldman$elm_css$Html$Styled$h2 = $rtfeldman$elm_css$Html$Styled$node('h2');-var $elm$core$Basics$clamp = F3(- function (low, high, number) {- return (_Utils_cmp(number, low) < 0) ? low : ((_Utils_cmp(number, high) > 0) ? high : number);- });-var $elm$core$Basics$round = _Basics_round;-var $author$project$Main$handleFlagValue = F2(- function (flagName, newValue) {- return A2(- $author$project$Main$SetFlag,- flagName,- $author$project$Main$Percentage(- A3(- $elm$core$Basics$clamp,- 0,- 100,- $elm$core$Basics$round(newValue))));- });-var $rtfeldman$elm_css$Html$Styled$input = $rtfeldman$elm_css$Html$Styled$node('input');-var $rtfeldman$elm_css$Css$prop3 = F4(- function (key, argA, argB, argC) {- return A2(- $rtfeldman$elm_css$Css$property,- key,- A2(- $elm$core$String$join,- ' ',- _List_fromArray(- [argA.value, argB.value, argC.value])));- });-var $rtfeldman$elm_css$Css$border3 = $rtfeldman$elm_css$Css$prop3('border');-var $rtfeldman$elm_css$Css$borderBox = {backgroundClip: $rtfeldman$elm_css$Css$Structure$Compatible, boxSizing: $rtfeldman$elm_css$Css$Structure$Compatible, value: 'border-box'};-var $rtfeldman$elm_css$Css$borderRadius = $rtfeldman$elm_css$Css$prop1('border-radius');-var $rtfeldman$elm_css$Css$boxSizing = $rtfeldman$elm_css$Css$prop1('box-sizing');-var $rtfeldman$elm_css$Css$height = $rtfeldman$elm_css$Css$prop1('height');-var $rtfeldman$elm_css$Css$PxUnits = {$: 'PxUnits'};-var $rtfeldman$elm_css$Css$px = A2($rtfeldman$elm_css$Css$Internal$lengthConverter, $rtfeldman$elm_css$Css$PxUnits, 'px');-var $rtfeldman$elm_css$Css$solid = {borderStyle: $rtfeldman$elm_css$Css$Structure$Compatible, textDecorationStyle: $rtfeldman$elm_css$Css$Structure$Compatible, value: 'solid'};-var $author$project$Main$inputStyle = $rtfeldman$elm_css$Css$batch(- _List_fromArray(- [- $rtfeldman$elm_css$Css$fontSize(- $rtfeldman$elm_css$Css$em(1.1)),- $rtfeldman$elm_css$Css$height(- $rtfeldman$elm_css$Css$em(1.6)),- A3(- $rtfeldman$elm_css$Css$border3,- $rtfeldman$elm_css$Css$px(1),- $rtfeldman$elm_css$Css$solid,- $rtfeldman$elm_css$Css$hex('#ccc')),- $rtfeldman$elm_css$Css$borderRadius(- $rtfeldman$elm_css$Css$px(2)),- $rtfeldman$elm_css$Css$textAlign($rtfeldman$elm_css$Css$center),- $rtfeldman$elm_css$Css$boxSizing($rtfeldman$elm_css$Css$borderBox),- $rtfeldman$elm_css$Css$backgroundColor(- $rtfeldman$elm_css$Css$hex('#fefefe'))- ]));-var $elm$virtual_dom$VirtualDom$lazy2 = _VirtualDom_lazy2;-var $rtfeldman$elm_css$VirtualDom$Styled$lazyHelp = F2(- function (fn, arg) {- return $rtfeldman$elm_css$VirtualDom$Styled$toUnstyled(- fn(arg));- });-var $rtfeldman$elm_css$VirtualDom$Styled$lazy = F2(- function (fn, arg) {- return $rtfeldman$elm_css$VirtualDom$Styled$Unstyled(- A3($elm$virtual_dom$VirtualDom$lazy2, $rtfeldman$elm_css$VirtualDom$Styled$lazyHelp, fn, arg));- });-var $rtfeldman$elm_css$Html$Styled$Lazy$lazy = $rtfeldman$elm_css$VirtualDom$Styled$lazy;-var $rtfeldman$elm_css$Css$prop2 = F3(- function (key, argA, argB) {- return A2(- $rtfeldman$elm_css$Css$property,- key,- A2(- $elm$core$String$join,- ' ',- _List_fromArray(- [argA.value, argB.value])));- });-var $rtfeldman$elm_css$Css$margin2 = $rtfeldman$elm_css$Css$prop2('margin');-var $rtfeldman$elm_css$Css$prop4 = F5(- function (key, argA, argB, argC, argD) {- return A2(- $rtfeldman$elm_css$Css$property,- key,- A2(- $elm$core$String$join,- ' ',- _List_fromArray(- [argA.value, argB.value, argC.value, argD.value])));- });-var $rtfeldman$elm_css$Css$margin4 = $rtfeldman$elm_css$Css$prop4('margin');-var $rtfeldman$elm_css$VirtualDom$Styled$property = F2(- function (key, value) {- return A3(- $rtfeldman$elm_css$VirtualDom$Styled$Attribute,- A2($elm$virtual_dom$VirtualDom$property, key, value),- _List_Nil,- '');- });-var $rtfeldman$elm_css$Html$Styled$Attributes$stringProperty = F2(- function (key, string) {- return A2(- $rtfeldman$elm_css$VirtualDom$Styled$property,- key,- $elm$json$Json$Encode$string(string));- });-var $rtfeldman$elm_css$Html$Styled$Attributes$max = $rtfeldman$elm_css$Html$Styled$Attributes$stringProperty('max');-var $rtfeldman$elm_css$Html$Styled$Attributes$min = $rtfeldman$elm_css$Html$Styled$Attributes$stringProperty('min');-var $rtfeldman$elm_css$Css$normal = {featureTagValue: $rtfeldman$elm_css$Css$Structure$Compatible, fontStyle: $rtfeldman$elm_css$Css$Structure$Compatible, fontWeight: $rtfeldman$elm_css$Css$Structure$Compatible, overflowWrap: $rtfeldman$elm_css$Css$Structure$Compatible, value: 'normal', whiteSpace: $rtfeldman$elm_css$Css$Structure$Compatible};-var $elm$virtual_dom$VirtualDom$Normal = function (a) {- return {$: 'Normal', a: a};-};-var $elm$virtual_dom$VirtualDom$on = _VirtualDom_on;-var $rtfeldman$elm_css$VirtualDom$Styled$on = F2(- function (eventName, handler) {- return A3(- $rtfeldman$elm_css$VirtualDom$Styled$Attribute,- A2($elm$virtual_dom$VirtualDom$on, eventName, handler),- _List_Nil,- '');- });-var $rtfeldman$elm_css$Html$Styled$Events$on = F2(- function (event, decoder) {- return A2(- $rtfeldman$elm_css$VirtualDom$Styled$on,- event,- $elm$virtual_dom$VirtualDom$Normal(decoder));- });-var $rtfeldman$elm_css$Html$Styled$Events$onClick = function (msg) {- return A2(- $rtfeldman$elm_css$Html$Styled$Events$on,- 'click',- $elm$json$Json$Decode$succeed(msg));-};-var $rtfeldman$elm_css$Css$padding = $rtfeldman$elm_css$Css$prop1('padding');-var $rtfeldman$elm_css$Html$Styled$section = $rtfeldman$elm_css$Html$Styled$node('section');-var $rtfeldman$elm_css$Html$Styled$Attributes$step = function (n) {- return A2($rtfeldman$elm_css$Html$Styled$Attributes$stringProperty, 'step', n);-};-var $elm$json$Json$Decode$andThen = _Json_andThen;-var $elm$json$Json$Decode$fail = _Json_fail;-var $elm$json$Json$Decode$field = _Json_decodeField;-var $elm$json$Json$Decode$at = F2(- function (fields, decoder) {- return A3($elm$core$List$foldr, $elm$json$Json$Decode$field, decoder, fields);- });-var $elm$json$Json$Decode$string = _Json_decodeString;-var $rtfeldman$elm_css$Html$Styled$Events$targetValue = A2(- $elm$json$Json$Decode$at,- _List_fromArray(- ['target', 'value']),- $elm$json$Json$Decode$string);-var $elm$core$String$toFloat = _String_toFloat;-var $author$project$Main$targetValueNumber = A2(- $elm$json$Json$Decode$andThen,- function (str) {- var _v0 = $elm$core$String$toFloat(str);- if (_v0.$ === 'Nothing') {- return $elm$json$Json$Decode$fail('Expected a number');- } else {- var _float = _v0.a;- return $elm$json$Json$Decode$succeed(_float);- }- },- $rtfeldman$elm_css$Html$Styled$Events$targetValue);-var $elm$core$Char$toUpper = _Char_toUpper;-var $author$project$CaseConversion$capitalize = function (original) {- var _v0 = $elm$core$String$uncons(original);- if (_v0.$ === 'Nothing') {- return original;- } else {- var _v1 = _v0.a;- var first = _v1.a;- var rest = _v1.b;- return A2(- $elm$core$String$cons,- $elm$core$Char$toUpper(first),- rest);- }-};-var $elm$parser$Parser$Done = function (a) {- return {$: 'Done', a: a};-};-var $elm$parser$Parser$Loop = function (a) {- return {$: 'Loop', a: a};-};-var $elm$parser$Parser$Advanced$Parser = function (a) {- return {$: 'Parser', a: a};-};-var $elm$parser$Parser$Advanced$Bad = F2(- function (a, b) {- return {$: 'Bad', a: a, b: b};- });-var $elm$parser$Parser$Advanced$Good = F3(- function (a, b, c) {- return {$: 'Good', a: a, b: b, c: c};- });-var $elm$parser$Parser$Advanced$loopHelp = F4(- function (p, state, callback, s0) {- loopHelp:- while (true) {- var _v0 = callback(state);- var parse = _v0.a;- var _v1 = parse(s0);- if (_v1.$ === 'Good') {- var p1 = _v1.a;- var step = _v1.b;- var s1 = _v1.c;- if (step.$ === 'Loop') {- var newState = step.a;- var $temp$p = p || p1,- $temp$state = newState,- $temp$callback = callback,- $temp$s0 = s1;- p = $temp$p;- state = $temp$state;- callback = $temp$callback;- s0 = $temp$s0;- continue loopHelp;- } else {- var result = step.a;- return A3($elm$parser$Parser$Advanced$Good, p || p1, result, s1);- }- } else {- var p1 = _v1.a;- var x = _v1.b;- return A2($elm$parser$Parser$Advanced$Bad, p || p1, x);- }- }- });-var $elm$parser$Parser$Advanced$loop = F2(- function (state, callback) {- return $elm$parser$Parser$Advanced$Parser(- function (s) {- return A4($elm$parser$Parser$Advanced$loopHelp, false, state, callback, s);- });- });-var $elm$parser$Parser$Advanced$map = F2(- function (func, _v0) {- var parse = _v0.a;- return $elm$parser$Parser$Advanced$Parser(- function (s0) {- var _v1 = parse(s0);- if (_v1.$ === 'Good') {- var p = _v1.a;- var a = _v1.b;- var s1 = _v1.c;- return A3(- $elm$parser$Parser$Advanced$Good,- p,- func(a),- s1);- } else {- var p = _v1.a;- var x = _v1.b;- return A2($elm$parser$Parser$Advanced$Bad, p, x);- }- });- });-var $elm$parser$Parser$map = $elm$parser$Parser$Advanced$map;-var $elm$parser$Parser$Advanced$Done = function (a) {- return {$: 'Done', a: a};-};-var $elm$parser$Parser$Advanced$Loop = function (a) {- return {$: 'Loop', a: a};-};-var $elm$parser$Parser$toAdvancedStep = function (step) {- if (step.$ === 'Loop') {- var s = step.a;- return $elm$parser$Parser$Advanced$Loop(s);- } else {- var a = step.a;- return $elm$parser$Parser$Advanced$Done(a);- }-};-var $elm$parser$Parser$loop = F2(- function (state, callback) {- return A2(- $elm$parser$Parser$Advanced$loop,- state,- function (s) {- return A2(- $elm$parser$Parser$map,- $elm$parser$Parser$toAdvancedStep,- callback(s));- });- });-var $elm$parser$Parser$Advanced$Empty = {$: 'Empty'};-var $elm$parser$Parser$Advanced$Append = F2(- function (a, b) {- return {$: 'Append', a: a, b: b};- });-var $elm$parser$Parser$Advanced$oneOfHelp = F3(- function (s0, bag, parsers) {- oneOfHelp:- while (true) {- if (!parsers.b) {- return A2($elm$parser$Parser$Advanced$Bad, false, bag);- } else {- var parse = parsers.a.a;- var remainingParsers = parsers.b;- var _v1 = parse(s0);- if (_v1.$ === 'Good') {- var step = _v1;- return step;- } else {- var step = _v1;- var p = step.a;- var x = step.b;- if (p) {- return step;- } else {- var $temp$s0 = s0,- $temp$bag = A2($elm$parser$Parser$Advanced$Append, bag, x),- $temp$parsers = remainingParsers;- s0 = $temp$s0;- bag = $temp$bag;- parsers = $temp$parsers;- continue oneOfHelp;- }- }- }- }- });-var $elm$parser$Parser$Advanced$oneOf = function (parsers) {- return $elm$parser$Parser$Advanced$Parser(- function (s) {- return A3($elm$parser$Parser$Advanced$oneOfHelp, s, $elm$parser$Parser$Advanced$Empty, parsers);- });-};-var $elm$parser$Parser$oneOf = $elm$parser$Parser$Advanced$oneOf;-var $elm$parser$Parser$DeadEnd = F3(- function (row, col, problem) {- return {col: col, problem: problem, row: row};- });-var $elm$parser$Parser$problemToDeadEnd = function (p) {- return A3($elm$parser$Parser$DeadEnd, p.row, p.col, p.problem);-};-var $elm$parser$Parser$Advanced$bagToList = F2(- function (bag, list) {- bagToList:- while (true) {- switch (bag.$) {- case 'Empty':- return list;- case 'AddRight':- var bag1 = bag.a;- var x = bag.b;- var $temp$bag = bag1,- $temp$list = A2($elm$core$List$cons, x, list);- bag = $temp$bag;- list = $temp$list;- continue bagToList;- default:- var bag1 = bag.a;- var bag2 = bag.b;- var $temp$bag = bag1,- $temp$list = A2($elm$parser$Parser$Advanced$bagToList, bag2, list);- bag = $temp$bag;- list = $temp$list;- continue bagToList;- }- }- });-var $elm$parser$Parser$Advanced$run = F2(- function (_v0, src) {- var parse = _v0.a;- var _v1 = parse(- {col: 1, context: _List_Nil, indent: 1, offset: 0, row: 1, src: src});- if (_v1.$ === 'Good') {- var value = _v1.b;- return $elm$core$Result$Ok(value);- } else {- var bag = _v1.b;- return $elm$core$Result$Err(- A2($elm$parser$Parser$Advanced$bagToList, bag, _List_Nil));- }- });-var $elm$parser$Parser$run = F2(- function (parser, source) {- var _v0 = A2($elm$parser$Parser$Advanced$run, parser, source);- if (_v0.$ === 'Ok') {- var a = _v0.a;- return $elm$core$Result$Ok(a);- } else {- var problems = _v0.a;- return $elm$core$Result$Err(- A2($elm$core$List$map, $elm$parser$Parser$problemToDeadEnd, problems));- }- });-var $elm$parser$Parser$Advanced$succeed = function (a) {- return $elm$parser$Parser$Advanced$Parser(- function (s) {- return A3($elm$parser$Parser$Advanced$Good, false, a, s);- });-};-var $elm$parser$Parser$succeed = $elm$parser$Parser$Advanced$succeed;-var $elm$parser$Parser$UnexpectedChar = {$: 'UnexpectedChar'};-var $elm$parser$Parser$Advanced$AddRight = F2(- function (a, b) {- return {$: 'AddRight', a: a, b: b};- });-var $elm$parser$Parser$Advanced$DeadEnd = F4(- function (row, col, problem, contextStack) {- return {col: col, contextStack: contextStack, problem: problem, row: row};- });-var $elm$parser$Parser$Advanced$fromState = F2(- function (s, x) {- return A2(- $elm$parser$Parser$Advanced$AddRight,- $elm$parser$Parser$Advanced$Empty,- A4($elm$parser$Parser$Advanced$DeadEnd, s.row, s.col, x, s.context));- });-var $elm$parser$Parser$Advanced$isSubChar = _Parser_isSubChar;-var $elm$parser$Parser$Advanced$chompIf = F2(- function (isGood, expecting) {- return $elm$parser$Parser$Advanced$Parser(- function (s) {- var newOffset = A3($elm$parser$Parser$Advanced$isSubChar, isGood, s.offset, s.src);- return _Utils_eq(newOffset, -1) ? A2(- $elm$parser$Parser$Advanced$Bad,- false,- A2($elm$parser$Parser$Advanced$fromState, s, expecting)) : (_Utils_eq(newOffset, -2) ? A3(- $elm$parser$Parser$Advanced$Good,- true,- _Utils_Tuple0,- {col: 1, context: s.context, indent: s.indent, offset: s.offset + 1, row: s.row + 1, src: s.src}) : A3(- $elm$parser$Parser$Advanced$Good,- true,- _Utils_Tuple0,- {col: s.col + 1, context: s.context, indent: s.indent, offset: newOffset, row: s.row, src: s.src}));- });- });-var $elm$parser$Parser$chompIf = function (isGood) {- return A2($elm$parser$Parser$Advanced$chompIf, isGood, $elm$parser$Parser$UnexpectedChar);-};-var $elm$parser$Parser$Advanced$chompWhileHelp = F5(- function (isGood, offset, row, col, s0) {- chompWhileHelp:- while (true) {- var newOffset = A3($elm$parser$Parser$Advanced$isSubChar, isGood, offset, s0.src);- if (_Utils_eq(newOffset, -1)) {- return A3(- $elm$parser$Parser$Advanced$Good,- _Utils_cmp(s0.offset, offset) < 0,- _Utils_Tuple0,- {col: col, context: s0.context, indent: s0.indent, offset: offset, row: row, src: s0.src});- } else {- if (_Utils_eq(newOffset, -2)) {- var $temp$isGood = isGood,- $temp$offset = offset + 1,- $temp$row = row + 1,- $temp$col = 1,- $temp$s0 = s0;- isGood = $temp$isGood;- offset = $temp$offset;- row = $temp$row;- col = $temp$col;- s0 = $temp$s0;- continue chompWhileHelp;- } else {- var $temp$isGood = isGood,- $temp$offset = newOffset,- $temp$row = row,- $temp$col = col + 1,- $temp$s0 = s0;- isGood = $temp$isGood;- offset = $temp$offset;- row = $temp$row;- col = $temp$col;- s0 = $temp$s0;- continue chompWhileHelp;- }- }- }- });-var $elm$parser$Parser$Advanced$chompWhile = function (isGood) {- return $elm$parser$Parser$Advanced$Parser(- function (s) {- return A5($elm$parser$Parser$Advanced$chompWhileHelp, isGood, s.offset, s.row, s.col, s);- });-};-var $elm$parser$Parser$chompWhile = $elm$parser$Parser$Advanced$chompWhile;-var $elm$core$Basics$always = F2(- function (a, _v0) {- return a;- });-var $elm$parser$Parser$Advanced$mapChompedString = F2(- function (func, _v0) {- var parse = _v0.a;- return $elm$parser$Parser$Advanced$Parser(- function (s0) {- var _v1 = parse(s0);- if (_v1.$ === 'Bad') {- var p = _v1.a;- var x = _v1.b;- return A2($elm$parser$Parser$Advanced$Bad, p, x);- } else {- var p = _v1.a;- var a = _v1.b;- var s1 = _v1.c;- return A3(- $elm$parser$Parser$Advanced$Good,- p,- A2(- func,- A3($elm$core$String$slice, s0.offset, s1.offset, s0.src),- a),- s1);- }- });- });-var $elm$parser$Parser$Advanced$getChompedString = function (parser) {- return A2($elm$parser$Parser$Advanced$mapChompedString, $elm$core$Basics$always, parser);-};-var $elm$parser$Parser$getChompedString = $elm$parser$Parser$Advanced$getChompedString;-var $elm$parser$Parser$Advanced$map2 = F3(- function (func, _v0, _v1) {- var parseA = _v0.a;- var parseB = _v1.a;- return $elm$parser$Parser$Advanced$Parser(- function (s0) {- var _v2 = parseA(s0);- if (_v2.$ === 'Bad') {- var p = _v2.a;- var x = _v2.b;- return A2($elm$parser$Parser$Advanced$Bad, p, x);- } else {- var p1 = _v2.a;- var a = _v2.b;- var s1 = _v2.c;- var _v3 = parseB(s1);- if (_v3.$ === 'Bad') {- var p2 = _v3.a;- var x = _v3.b;- return A2($elm$parser$Parser$Advanced$Bad, p1 || p2, x);- } else {- var p2 = _v3.a;- var b = _v3.b;- var s2 = _v3.c;- return A3(- $elm$parser$Parser$Advanced$Good,- p1 || p2,- A2(func, a, b),- s2);- }- }- });- });-var $elm$parser$Parser$Advanced$ignorer = F2(- function (keepParser, ignoreParser) {- return A3($elm$parser$Parser$Advanced$map2, $elm$core$Basics$always, keepParser, ignoreParser);- });-var $elm$parser$Parser$ignorer = $elm$parser$Parser$Advanced$ignorer;-var $author$project$CaseConversion$isWhitespace = function (c) {- return _Utils_eq(- c,- _Utils_chr(' ')) || (_Utils_eq(- c,- _Utils_chr('\n')) || (_Utils_eq(- c,- _Utils_chr('\u000D')) || _Utils_eq(- c,- _Utils_chr('_'))));-};-var $elm$parser$Parser$Advanced$keeper = F2(- function (parseFunc, parseArg) {- return A3($elm$parser$Parser$Advanced$map2, $elm$core$Basics$apL, parseFunc, parseArg);- });-var $elm$parser$Parser$keeper = $elm$parser$Parser$Advanced$keeper;-var $author$project$CaseConversion$startsWord = function (c) {- return !($author$project$CaseConversion$isWhitespace(c) || ($elm$core$Char$isUpper(c) || $elm$core$Char$isDigit(c)));-};-var $author$project$CaseConversion$word = A2(- $elm$parser$Parser$keeper,- A2(- $elm$parser$Parser$ignorer,- $elm$parser$Parser$succeed($elm$core$Basics$identity),- $elm$parser$Parser$chompWhile($author$project$CaseConversion$isWhitespace)),- A2(- $elm$parser$Parser$ignorer,- $elm$parser$Parser$getChompedString(- A2(- $elm$parser$Parser$ignorer,- A2(- $elm$parser$Parser$ignorer,- $elm$parser$Parser$succeed(_Utils_Tuple0),- $elm$parser$Parser$chompIf(- A2($elm$core$Basics$composeL, $elm$core$Basics$not, $author$project$CaseConversion$isWhitespace))),- $elm$parser$Parser$chompWhile($author$project$CaseConversion$startsWord))),- $elm$parser$Parser$chompWhile($author$project$CaseConversion$isWhitespace)));-var $author$project$CaseConversion$words = function (string) {- var parser = A2(- $elm$parser$Parser$loop,- _List_Nil,- function (words_) {- return $elm$parser$Parser$oneOf(- _List_fromArray(- [- A2(- $elm$parser$Parser$map,- function (word_) {- return $elm$parser$Parser$Loop(- A2($elm$core$List$cons, word_, words_));- },- $author$project$CaseConversion$word),- $elm$parser$Parser$succeed(- $elm$parser$Parser$Done(words_))- ]));- });- var _v0 = A2($elm$parser$Parser$run, parser, string);- if (_v0.$ === 'Err') {- return _List_fromArray(- [string]);- } else {- var words_ = _v0.a;- return words_;- }-};-var $author$project$CaseConversion$toSpaceCase = function (original) {- return A2(- $elm$core$String$join,- ' ',- A2(- $elm$core$List$map,- $author$project$CaseConversion$capitalize,- $elm$core$List$reverse(- $author$project$CaseConversion$words(original))));-};-var $rtfeldman$elm_css$Html$Styled$Attributes$type_ = $rtfeldman$elm_css$Html$Styled$Attributes$stringProperty('type');-var $rtfeldman$elm_css$Html$Styled$Attributes$value = $rtfeldman$elm_css$Html$Styled$Attributes$stringProperty('value');-var $rtfeldman$elm_css$Css$width = $rtfeldman$elm_css$Css$prop1('width');-var $rtfeldman$elm_css$Css$UnitlessInteger = {$: 'UnitlessInteger'};-var $rtfeldman$elm_css$Css$zero = {length: $rtfeldman$elm_css$Css$Structure$Compatible, lengthOrAuto: $rtfeldman$elm_css$Css$Structure$Compatible, lengthOrAutoOrCoverOrContain: $rtfeldman$elm_css$Css$Structure$Compatible, lengthOrMinMaxDimension: $rtfeldman$elm_css$Css$Structure$Compatible, lengthOrNone: $rtfeldman$elm_css$Css$Structure$Compatible, lengthOrNoneOrMinMaxDimension: $rtfeldman$elm_css$Css$Structure$Compatible, lengthOrNumber: $rtfeldman$elm_css$Css$Structure$Compatible, number: $rtfeldman$elm_css$Css$Structure$Compatible, numericValue: 0, outline: $rtfeldman$elm_css$Css$Structure$Compatible, unitLabel: '', units: $rtfeldman$elm_css$Css$UnitlessInteger, value: '0'};-var $author$project$Main$viewFlag = F2(- function (name, percentage) {- var _v0 = $author$project$Persisted$value(percentage);- var current = _v0.a;- return A2(- $rtfeldman$elm_css$Html$Styled$section,- _List_fromArray(- [- $rtfeldman$elm_css$Html$Styled$Attributes$css(- _List_fromArray(- [- function () {- var _v1 = $author$project$Persisted$value(percentage);- switch (_v1.a) {- case 0:- return $rtfeldman$elm_css$Css$batch(_List_Nil);- case 100:- return $rtfeldman$elm_css$Css$batch(- _List_fromArray(- [- $rtfeldman$elm_css$Css$backgroundColor(- $rtfeldman$elm_css$Css$hex('#C1F0C1'))- ]));- default:- return $rtfeldman$elm_css$Css$batch(- _List_fromArray(- [- $rtfeldman$elm_css$Css$backgroundColor(- $rtfeldman$elm_css$Css$hex('#F0EEC1'))- ]));- }- }(),- $rtfeldman$elm_css$Css$padding(- $rtfeldman$elm_css$Css$px(10))- ]))- ]),- _List_fromArray(- [- A2(- $rtfeldman$elm_css$Html$Styled$h2,- _List_fromArray(- [- $rtfeldman$elm_css$Html$Styled$Attributes$css(- _List_fromArray(- [- $rtfeldman$elm_css$Css$fontWeight($rtfeldman$elm_css$Css$normal),- $rtfeldman$elm_css$Css$fontSize(- $rtfeldman$elm_css$Css$em(1.4)),- A4(- $rtfeldman$elm_css$Css$margin4,- $rtfeldman$elm_css$Css$zero,- $rtfeldman$elm_css$Css$zero,- $rtfeldman$elm_css$Css$em(0.5),- $rtfeldman$elm_css$Css$zero)- ]))- ]),- _List_fromArray(- [- A2(- $rtfeldman$elm_css$Html$Styled$Lazy$lazy,- A2($elm$core$Basics$composeL, $rtfeldman$elm_css$Html$Styled$text, $author$project$CaseConversion$toSpaceCase),- name)- ])),- A2(- $rtfeldman$elm_css$Html$Styled$button,- _List_fromArray(- [- $rtfeldman$elm_css$Html$Styled$Attributes$css(- _List_fromArray(- [$author$project$Main$inputStyle])),- $rtfeldman$elm_css$Html$Styled$Events$onClick(- A2(- $author$project$Main$SetFlag,- name,- $author$project$Main$Percentage(0)))- ]),- _List_fromArray(- [- $rtfeldman$elm_css$Html$Styled$text('❌')- ])),- A2(- $rtfeldman$elm_css$Html$Styled$input,- _List_fromArray(- [- $rtfeldman$elm_css$Html$Styled$Attributes$value(- $elm$core$String$fromInt(current)),- $rtfeldman$elm_css$Html$Styled$Attributes$type_('number'),- $rtfeldman$elm_css$Html$Styled$Attributes$min('0'),- $rtfeldman$elm_css$Html$Styled$Attributes$max('100'),- $rtfeldman$elm_css$Html$Styled$Attributes$step('1'),- $rtfeldman$elm_css$Html$Styled$Attributes$css(- _List_fromArray(- [- $author$project$Main$inputStyle,- $rtfeldman$elm_css$Css$width(- $rtfeldman$elm_css$Css$px(60)),- A2(- $rtfeldman$elm_css$Css$margin2,- $rtfeldman$elm_css$Css$zero,- $rtfeldman$elm_css$Css$px(10)),- $rtfeldman$elm_css$Css$after(- _List_fromArray(- [- A2($rtfeldman$elm_css$Css$property, 'content', '%')- ]))- ])),- A2(- $rtfeldman$elm_css$Html$Styled$Events$on,- 'input',- A2(- $elm$json$Json$Decode$map,- $author$project$Main$handleFlagValue(name),- $author$project$Main$targetValueNumber))- ]),- _List_Nil),- A2(- $rtfeldman$elm_css$Html$Styled$button,- _List_fromArray(- [- $rtfeldman$elm_css$Html$Styled$Attributes$css(- _List_fromArray(- [$author$project$Main$inputStyle])),- $rtfeldman$elm_css$Html$Styled$Events$onClick(- A2(- $author$project$Main$SetFlag,- name,- $author$project$Main$Percentage(100)))- ]),- _List_fromArray(- [- $rtfeldman$elm_css$Html$Styled$text('✅')- ]))- ]));- });-var $rtfeldman$elm_css$Css$VwUnits = {$: 'VwUnits'};-var $rtfeldman$elm_css$Css$vw = A2($rtfeldman$elm_css$Css$Internal$lengthConverter, $rtfeldman$elm_css$Css$VwUnits, 'vw');-var $author$project$Main$view = function (model) {- return A2(- $rtfeldman$elm_css$Html$Styled$div,- _List_fromArray(- [- $rtfeldman$elm_css$Html$Styled$Attributes$css(- _List_fromArray(- [- $rtfeldman$elm_css$Css$textAlign($rtfeldman$elm_css$Css$center),- $rtfeldman$elm_css$Css$fontFamilies(- _List_fromArray(- ['Helvetica Neue', 'Helvetica', 'Arial', 'sans-serif'])),- $rtfeldman$elm_css$Css$color(- $rtfeldman$elm_css$Css$hex('#333')),- $rtfeldman$elm_css$Css$backgroundColor(- $rtfeldman$elm_css$Css$hex('#fefefe')),- $rtfeldman$elm_css$Css$position($rtfeldman$elm_css$Css$absolute),- $rtfeldman$elm_css$Css$minHeight(- $rtfeldman$elm_css$Css$vh(100)),- $rtfeldman$elm_css$Css$width(- $rtfeldman$elm_css$Css$vw(100))- ]))- ]),- A2(- $elm$core$List$cons,- A2(- $rtfeldman$elm_css$Html$Styled$h1,- _List_Nil,- _List_fromArray(- [- $rtfeldman$elm_css$Html$Styled$text('Feature Flags')- ])),- function () {- var _v0 = model.data;- if (_v0.$ === 'Loading') {- return _List_fromArray(- [- $rtfeldman$elm_css$Html$Styled$text('Loading...')- ]);- } else {- var flags = _v0.a;- return A2(- $elm$core$List$cons,- A2(- $rtfeldman$elm_css$Html$Styled$p,- _List_Nil,- _List_fromArray(- [- $rtfeldman$elm_css$Html$Styled$text('Every feature flag can be completely enabled, completely disabled, or enabled for a percentage of traffic.')- ])),- $elm$core$Dict$values(- A2($elm$core$Dict$map, $author$project$Main$viewFlag, flags)));- }- }()));-};-var $author$project$Main$main = $elm$browser$Browser$application(- {- init: F3(- function (_v0, url, _v1) {- var rootPath = A2($elm$core$String$split, '/', url.path);- return _Utils_Tuple2(- {data: $author$project$Main$Loading, rootPath: rootPath},- $author$project$Main$sendLoadFlagsRequest(rootPath));- }),- onUrlChange: function (_v2) {- return $author$project$Main$NoOp;- },- onUrlRequest: function (_v3) {- return $author$project$Main$NoOp;- },- subscriptions: function (_v4) {- return A2(- $elm$time$Time$every,- 5 * 1000,- function (_v5) {- return $author$project$Main$LoadFlags;- });- },- update: $author$project$Main$update,- view: function (model) {- return {- body: _List_fromArray(- [- $rtfeldman$elm_css$Html$Styled$toUnstyled(- $author$project$Main$view(model))- ]),- title: 'Feature Flags'- };- }- });-_Platform_export({'Main':{'init':$author$project$Main$main(- $elm$json$Json$Decode$succeed(_Utils_Tuple0))(0)}});}(this));++++var _JsArray_empty = [];++function _JsArray_singleton(value)+{+ return [value];+}++function _JsArray_length(array)+{+ return array.length;+}++var _JsArray_initialize = F3(function(size, offset, func)+{+ var result = new Array(size);++ for (var i = 0; i < size; i++)+ {+ result[i] = func(offset + i);+ }++ return result;+});++var _JsArray_initializeFromList = F2(function (max, ls)+{+ var result = new Array(max);++ for (var i = 0; i < max && ls.b; i++)+ {+ result[i] = ls.a;+ ls = ls.b;+ }++ result.length = i;+ return _Utils_Tuple2(result, ls);+});++var _JsArray_unsafeGet = F2(function(index, array)+{+ return array[index];+});++var _JsArray_unsafeSet = F3(function(index, value, array)+{+ var length = array.length;+ var result = new Array(length);++ for (var i = 0; i < length; i++)+ {+ result[i] = array[i];+ }++ result[index] = value;+ return result;+});++var _JsArray_push = F2(function(value, array)+{+ var length = array.length;+ var result = new Array(length + 1);++ for (var i = 0; i < length; i++)+ {+ result[i] = array[i];+ }++ result[length] = value;+ return result;+});++var _JsArray_foldl = F3(function(func, acc, array)+{+ var length = array.length;++ for (var i = 0; i < length; i++)+ {+ acc = A2(func, array[i], acc);+ }++ return acc;+});++var _JsArray_foldr = F3(function(func, acc, array)+{+ for (var i = array.length - 1; i >= 0; i--)+ {+ acc = A2(func, array[i], acc);+ }++ return acc;+});++var _JsArray_map = F2(function(func, array)+{+ var length = array.length;+ var result = new Array(length);++ for (var i = 0; i < length; i++)+ {+ result[i] = func(array[i]);+ }++ return result;+});++var _JsArray_indexedMap = F3(function(func, offset, array)+{+ var length = array.length;+ var result = new Array(length);++ for (var i = 0; i < length; i++)+ {+ result[i] = A2(func, offset + i, array[i]);+ }++ return result;+});++var _JsArray_slice = F3(function(from, to, array)+{+ return array.slice(from, to);+});++var _JsArray_appendN = F3(function(n, dest, source)+{+ var destLen = dest.length;+ var itemsToCopy = n - destLen;++ if (itemsToCopy > source.length)+ {+ itemsToCopy = source.length;+ }++ var size = destLen + itemsToCopy;+ var result = new Array(size);++ for (var i = 0; i < destLen; i++)+ {+ result[i] = dest[i];+ }++ for (var i = 0; i < itemsToCopy; i++)+ {+ result[i + destLen] = source[i];+ }++ return result;+});++++// LOG++var _Debug_log = F2(function(tag, value)+{+ return value;+});++var _Debug_log_UNUSED = F2(function(tag, value)+{+ console.log(tag + ': ' + _Debug_toString(value));+ return value;+});+++// TODOS++function _Debug_todo(moduleName, region)+{+ return function(message) {+ _Debug_crash(8, moduleName, region, message);+ };+}++function _Debug_todoCase(moduleName, region, value)+{+ return function(message) {+ _Debug_crash(9, moduleName, region, value, message);+ };+}+++// TO STRING++function _Debug_toString(value)+{+ return '<internals>';+}++function _Debug_toString_UNUSED(value)+{+ return _Debug_toAnsiString(false, value);+}++function _Debug_toAnsiString(ansi, value)+{+ if (typeof value === 'function')+ {+ return _Debug_internalColor(ansi, '<function>');+ }++ if (typeof value === 'boolean')+ {+ return _Debug_ctorColor(ansi, value ? 'True' : 'False');+ }++ if (typeof value === 'number')+ {+ return _Debug_numberColor(ansi, value + '');+ }++ if (value instanceof String)+ {+ return _Debug_charColor(ansi, "'" + _Debug_addSlashes(value, true) + "'");+ }++ if (typeof value === 'string')+ {+ return _Debug_stringColor(ansi, '"' + _Debug_addSlashes(value, false) + '"');+ }++ if (typeof value === 'object' && '$' in value)+ {+ var tag = value.$;++ if (typeof tag === 'number')+ {+ return _Debug_internalColor(ansi, '<internals>');+ }++ if (tag[0] === '#')+ {+ var output = [];+ for (var k in value)+ {+ if (k === '$') continue;+ output.push(_Debug_toAnsiString(ansi, value[k]));+ }+ return '(' + output.join(',') + ')';+ }++ if (tag === 'Set_elm_builtin')+ {+ return _Debug_ctorColor(ansi, 'Set')+ + _Debug_fadeColor(ansi, '.fromList') + ' '+ + _Debug_toAnsiString(ansi, $elm$core$Set$toList(value));+ }++ if (tag === 'RBNode_elm_builtin' || tag === 'RBEmpty_elm_builtin')+ {+ return _Debug_ctorColor(ansi, 'Dict')+ + _Debug_fadeColor(ansi, '.fromList') + ' '+ + _Debug_toAnsiString(ansi, $elm$core$Dict$toList(value));+ }++ if (tag === 'Array_elm_builtin')+ {+ return _Debug_ctorColor(ansi, 'Array')+ + _Debug_fadeColor(ansi, '.fromList') + ' '+ + _Debug_toAnsiString(ansi, $elm$core$Array$toList(value));+ }++ if (tag === '::' || tag === '[]')+ {+ var output = '[';++ value.b && (output += _Debug_toAnsiString(ansi, value.a), value = value.b)++ for (; value.b; value = value.b) // WHILE_CONS+ {+ output += ',' + _Debug_toAnsiString(ansi, value.a);+ }+ return output + ']';+ }++ var output = '';+ for (var i in value)+ {+ if (i === '$') continue;+ var str = _Debug_toAnsiString(ansi, value[i]);+ var c0 = str[0];+ var parenless = c0 === '{' || c0 === '(' || c0 === '[' || c0 === '<' || c0 === '"' || str.indexOf(' ') < 0;+ output += ' ' + (parenless ? str : '(' + str + ')');+ }+ return _Debug_ctorColor(ansi, tag) + output;+ }++ if (typeof DataView === 'function' && value instanceof DataView)+ {+ return _Debug_stringColor(ansi, '<' + value.byteLength + ' bytes>');+ }++ if (typeof File !== 'undefined' && value instanceof File)+ {+ return _Debug_internalColor(ansi, '<' + value.name + '>');+ }++ if (typeof value === 'object')+ {+ var output = [];+ for (var key in value)+ {+ var field = key[0] === '_' ? key.slice(1) : key;+ output.push(_Debug_fadeColor(ansi, field) + ' = ' + _Debug_toAnsiString(ansi, value[key]));+ }+ if (output.length === 0)+ {+ return '{}';+ }+ return '{ ' + output.join(', ') + ' }';+ }++ return _Debug_internalColor(ansi, '<internals>');+}++function _Debug_addSlashes(str, isChar)+{+ var s = str+ .replace(/\\/g, '\\\\')+ .replace(/\n/g, '\\n')+ .replace(/\t/g, '\\t')+ .replace(/\r/g, '\\r')+ .replace(/\v/g, '\\v')+ .replace(/\0/g, '\\0');++ if (isChar)+ {+ return s.replace(/\'/g, '\\\'');+ }+ else+ {+ return s.replace(/\"/g, '\\"');+ }+}++function _Debug_ctorColor(ansi, string)+{+ return ansi ? '\x1b[96m' + string + '\x1b[0m' : string;+}++function _Debug_numberColor(ansi, string)+{+ return ansi ? '\x1b[95m' + string + '\x1b[0m' : string;+}++function _Debug_stringColor(ansi, string)+{+ return ansi ? '\x1b[93m' + string + '\x1b[0m' : string;+}++function _Debug_charColor(ansi, string)+{+ return ansi ? '\x1b[92m' + string + '\x1b[0m' : string;+}++function _Debug_fadeColor(ansi, string)+{+ return ansi ? '\x1b[37m' + string + '\x1b[0m' : string;+}++function _Debug_internalColor(ansi, string)+{+ return ansi ? '\x1b[36m' + string + '\x1b[0m' : string;+}++function _Debug_toHexDigit(n)+{+ return String.fromCharCode(n < 10 ? 48 + n : 55 + n);+}+++// CRASH+++function _Debug_crash(identifier)+{+ throw new Error('https://github.com/elm/core/blob/1.0.0/hints/' + identifier + '.md');+}+++function _Debug_crash_UNUSED(identifier, fact1, fact2, fact3, fact4)+{+ switch(identifier)+ {+ case 0:+ throw 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.');++ case 1:+ throw 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.');++ case 2:+ var jsonErrorString = fact1;+ throw new Error('Problem with the flags given to your Elm program on initialization.\n\n' + jsonErrorString);++ case 3:+ var portName = fact1;+ throw new Error('There can only be one port named `' + portName + '`, but your program has multiple.');++ case 4:+ var portName = fact1;+ var problem = fact2;+ throw new Error('Trying to send an unexpected type of value through port `' + portName + '`:\n' + problem);++ case 5:+ throw 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.');++ case 6:+ var moduleName = fact1;+ throw 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!');++ case 8:+ var moduleName = fact1;+ var region = fact2;+ var message = fact3;+ throw new Error('TODO in module `' + moduleName + '` ' + _Debug_regionToString(region) + '\n\n' + message);++ case 9:+ var moduleName = fact1;+ var region = fact2;+ var value = fact3;+ var message = fact4;+ throw new Error(+ 'TODO in module `' + moduleName + '` from the `case` expression '+ + _Debug_regionToString(region) + '\n\nIt received the following value:\n\n '+ + _Debug_toString(value).replace('\n', '\n ')+ + '\n\nBut the branch that handles it says:\n\n ' + message.replace('\n', '\n ')+ );++ case 10:+ throw new Error('Bug in https://github.com/elm/virtual-dom/issues');++ case 11:+ throw new Error('Cannot perform mod 0. Division by zero error.');+ }+}++function _Debug_regionToString(region)+{+ if (region.bm.aG === region.bK.aG)+ {+ return 'on line ' + region.bm.aG;+ }+ return 'on lines ' + region.bm.aG + ' through ' + region.bK.aG;+}++++// EQUALITY++function _Utils_eq(x, y)+{+ for (+ var pair, stack = [], isEqual = _Utils_eqHelp(x, y, 0, stack);+ isEqual && (pair = stack.pop());+ isEqual = _Utils_eqHelp(pair.a, pair.b, 0, stack)+ )+ {}++ return isEqual;+}++function _Utils_eqHelp(x, y, depth, stack)+{+ if (x === y)+ {+ return true;+ }++ if (typeof x !== 'object' || x === null || y === null)+ {+ typeof x === 'function' && _Debug_crash(5);+ return false;+ }++ if (depth > 100)+ {+ stack.push(_Utils_Tuple2(x,y));+ return true;+ }++ /**_UNUSED/+ if (x.$ === 'Set_elm_builtin')+ {+ x = $elm$core$Set$toList(x);+ y = $elm$core$Set$toList(y);+ }+ if (x.$ === 'RBNode_elm_builtin' || x.$ === 'RBEmpty_elm_builtin')+ {+ x = $elm$core$Dict$toList(x);+ y = $elm$core$Dict$toList(y);+ }+ //*/++ /**/+ if (x.$ < 0)+ {+ x = $elm$core$Dict$toList(x);+ y = $elm$core$Dict$toList(y);+ }+ //*/++ for (var key in x)+ {+ if (!_Utils_eqHelp(x[key], y[key], depth + 1, stack))+ {+ return false;+ }+ }+ return true;+}++var _Utils_equal = F2(_Utils_eq);+var _Utils_notEqual = F2(function(a, b) { return !_Utils_eq(a,b); });++++// COMPARISONS++// Code in Generate/JavaScript.hs, Basics.js, and List.js depends on+// the particular integer values assigned to LT, EQ, and GT.++function _Utils_cmp(x, y, ord)+{+ if (typeof x !== 'object')+ {+ return x === y ? /*EQ*/ 0 : x < y ? /*LT*/ -1 : /*GT*/ 1;+ }++ /**_UNUSED/+ if (x instanceof String)+ {+ var a = x.valueOf();+ var b = y.valueOf();+ return a === b ? 0 : a < b ? -1 : 1;+ }+ //*/++ /**/+ if (typeof x.$ === 'undefined')+ //*/+ /**_UNUSED/+ if (x.$[0] === '#')+ //*/+ {+ return (ord = _Utils_cmp(x.a, y.a))+ ? ord+ : (ord = _Utils_cmp(x.b, y.b))+ ? ord+ : _Utils_cmp(x.c, y.c);+ }++ // traverse conses until end of a list or a mismatch+ for (; x.b && y.b && !(ord = _Utils_cmp(x.a, y.a)); x = x.b, y = y.b) {} // WHILE_CONSES+ return ord || (x.b ? /*GT*/ 1 : y.b ? /*LT*/ -1 : /*EQ*/ 0);+}++var _Utils_lt = F2(function(a, b) { return _Utils_cmp(a, b) < 0; });+var _Utils_le = F2(function(a, b) { return _Utils_cmp(a, b) < 1; });+var _Utils_gt = F2(function(a, b) { return _Utils_cmp(a, b) > 0; });+var _Utils_ge = F2(function(a, b) { return _Utils_cmp(a, b) >= 0; });++var _Utils_compare = F2(function(x, y)+{+ var n = _Utils_cmp(x, y);+ return n < 0 ? $elm$core$Basics$LT : n ? $elm$core$Basics$GT : $elm$core$Basics$EQ;+});+++// COMMON VALUES++var _Utils_Tuple0 = 0;+var _Utils_Tuple0_UNUSED = { $: '#0' };++function _Utils_Tuple2(a, b) { return { a: a, b: b }; }+function _Utils_Tuple2_UNUSED(a, b) { return { $: '#2', a: a, b: b }; }++function _Utils_Tuple3(a, b, c) { return { a: a, b: b, c: c }; }+function _Utils_Tuple3_UNUSED(a, b, c) { return { $: '#3', a: a, b: b, c: c }; }++function _Utils_chr(c) { return c; }+function _Utils_chr_UNUSED(c) { return new String(c); }+++// RECORDS++function _Utils_update(oldRecord, updatedFields)+{+ var newRecord = {};++ for (var key in oldRecord)+ {+ newRecord[key] = oldRecord[key];+ }++ for (var key in updatedFields)+ {+ newRecord[key] = updatedFields[key];+ }++ return newRecord;+}+++// APPEND++var _Utils_append = F2(_Utils_ap);++function _Utils_ap(xs, ys)+{+ // append Strings+ if (typeof xs === 'string')+ {+ return xs + ys;+ }++ // append Lists+ if (!xs.b)+ {+ return ys;+ }+ var root = _List_Cons(xs.a, ys);+ xs = xs.b+ for (var curr = root; xs.b; xs = xs.b) // WHILE_CONS+ {+ curr = curr.b = _List_Cons(xs.a, ys);+ }+ return root;+}++++var _List_Nil = { $: 0 };+var _List_Nil_UNUSED = { $: '[]' };++function _List_Cons(hd, tl) { return { $: 1, a: hd, b: tl }; }+function _List_Cons_UNUSED(hd, tl) { return { $: '::', a: hd, b: tl }; }+++var _List_cons = F2(_List_Cons);++function _List_fromArray(arr)+{+ var out = _List_Nil;+ for (var i = arr.length; i--; )+ {+ out = _List_Cons(arr[i], out);+ }+ return out;+}++function _List_toArray(xs)+{+ for (var out = []; xs.b; xs = xs.b) // WHILE_CONS+ {+ out.push(xs.a);+ }+ return out;+}++var _List_map2 = F3(function(f, xs, ys)+{+ for (var arr = []; xs.b && ys.b; xs = xs.b, ys = ys.b) // WHILE_CONSES+ {+ arr.push(A2(f, xs.a, ys.a));+ }+ return _List_fromArray(arr);+});++var _List_map3 = F4(function(f, xs, ys, zs)+{+ for (var arr = []; xs.b && ys.b && zs.b; xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES+ {+ arr.push(A3(f, xs.a, ys.a, zs.a));+ }+ return _List_fromArray(arr);+});++var _List_map4 = F5(function(f, ws, xs, ys, zs)+{+ for (var arr = []; ws.b && xs.b && ys.b && zs.b; ws = ws.b, xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES+ {+ arr.push(A4(f, ws.a, xs.a, ys.a, zs.a));+ }+ return _List_fromArray(arr);+});++var _List_map5 = F6(function(f, vs, ws, xs, ys, zs)+{+ for (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+ {+ arr.push(A5(f, vs.a, ws.a, xs.a, ys.a, zs.a));+ }+ return _List_fromArray(arr);+});++var _List_sortBy = F2(function(f, xs)+{+ return _List_fromArray(_List_toArray(xs).sort(function(a, b) {+ return _Utils_cmp(f(a), f(b));+ }));+});++var _List_sortWith = F2(function(f, xs)+{+ return _List_fromArray(_List_toArray(xs).sort(function(a, b) {+ var ord = A2(f, a, b);+ return ord === $elm$core$Basics$EQ ? 0 : ord === $elm$core$Basics$LT ? -1 : 1;+ }));+});++++// MATH++var _Basics_add = F2(function(a, b) { return a + b; });+var _Basics_sub = F2(function(a, b) { return a - b; });+var _Basics_mul = F2(function(a, b) { return a * b; });+var _Basics_fdiv = F2(function(a, b) { return a / b; });+var _Basics_idiv = F2(function(a, b) { return (a / b) | 0; });+var _Basics_pow = F2(Math.pow);++var _Basics_remainderBy = F2(function(b, a) { return a % b; });++// https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/divmodnote-letter.pdf+var _Basics_modBy = F2(function(modulus, x)+{+ var answer = x % modulus;+ return modulus === 0+ ? _Debug_crash(11)+ :+ ((answer > 0 && modulus < 0) || (answer < 0 && modulus > 0))+ ? answer + modulus+ : answer;+});+++// TRIGONOMETRY++var _Basics_pi = Math.PI;+var _Basics_e = Math.E;+var _Basics_cos = Math.cos;+var _Basics_sin = Math.sin;+var _Basics_tan = Math.tan;+var _Basics_acos = Math.acos;+var _Basics_asin = Math.asin;+var _Basics_atan = Math.atan;+var _Basics_atan2 = F2(Math.atan2);+++// MORE MATH++function _Basics_toFloat(x) { return x; }+function _Basics_truncate(n) { return n | 0; }+function _Basics_isInfinite(n) { return n === Infinity || n === -Infinity; }++var _Basics_ceiling = Math.ceil;+var _Basics_floor = Math.floor;+var _Basics_round = Math.round;+var _Basics_sqrt = Math.sqrt;+var _Basics_log = Math.log;+var _Basics_isNaN = isNaN;+++// BOOLEANS++function _Basics_not(bool) { return !bool; }+var _Basics_and = F2(function(a, b) { return a && b; });+var _Basics_or = F2(function(a, b) { return a || b; });+var _Basics_xor = F2(function(a, b) { return a !== b; });++++var _String_cons = F2(function(chr, str)+{+ return chr + str;+});++function _String_uncons(string)+{+ var word = string.charCodeAt(0);+ return !isNaN(word)+ ? $elm$core$Maybe$Just(+ 0xD800 <= word && word <= 0xDBFF+ ? _Utils_Tuple2(_Utils_chr(string[0] + string[1]), string.slice(2))+ : _Utils_Tuple2(_Utils_chr(string[0]), string.slice(1))+ )+ : $elm$core$Maybe$Nothing;+}++var _String_append = F2(function(a, b)+{+ return a + b;+});++function _String_length(str)+{+ return str.length;+}++var _String_map = F2(function(func, string)+{+ var len = string.length;+ var array = new Array(len);+ var i = 0;+ while (i < len)+ {+ var word = string.charCodeAt(i);+ if (0xD800 <= word && word <= 0xDBFF)+ {+ array[i] = func(_Utils_chr(string[i] + string[i+1]));+ i += 2;+ continue;+ }+ array[i] = func(_Utils_chr(string[i]));+ i++;+ }+ return array.join('');+});++var _String_filter = F2(function(isGood, str)+{+ var arr = [];+ var len = str.length;+ var i = 0;+ while (i < len)+ {+ var char = str[i];+ var word = str.charCodeAt(i);+ i++;+ if (0xD800 <= word && word <= 0xDBFF)+ {+ char += str[i];+ i++;+ }++ if (isGood(_Utils_chr(char)))+ {+ arr.push(char);+ }+ }+ return arr.join('');+});++function _String_reverse(str)+{+ var len = str.length;+ var arr = new Array(len);+ var i = 0;+ while (i < len)+ {+ var word = str.charCodeAt(i);+ if (0xD800 <= word && word <= 0xDBFF)+ {+ arr[len - i] = str[i + 1];+ i++;+ arr[len - i] = str[i - 1];+ i++;+ }+ else+ {+ arr[len - i] = str[i];+ i++;+ }+ }+ return arr.join('');+}++var _String_foldl = F3(function(func, state, string)+{+ var len = string.length;+ var i = 0;+ while (i < len)+ {+ var char = string[i];+ var word = string.charCodeAt(i);+ i++;+ if (0xD800 <= word && word <= 0xDBFF)+ {+ char += string[i];+ i++;+ }+ state = A2(func, _Utils_chr(char), state);+ }+ return state;+});++var _String_foldr = F3(function(func, state, string)+{+ var i = string.length;+ while (i--)+ {+ var char = string[i];+ var word = string.charCodeAt(i);+ if (0xDC00 <= word && word <= 0xDFFF)+ {+ i--;+ char = string[i] + char;+ }+ state = A2(func, _Utils_chr(char), state);+ }+ return state;+});++var _String_split = F2(function(sep, str)+{+ return str.split(sep);+});++var _String_join = F2(function(sep, strs)+{+ return strs.join(sep);+});++var _String_slice = F3(function(start, end, str) {+ return str.slice(start, end);+});++function _String_trim(str)+{+ return str.trim();+}++function _String_trimLeft(str)+{+ return str.replace(/^\s+/, '');+}++function _String_trimRight(str)+{+ return str.replace(/\s+$/, '');+}++function _String_words(str)+{+ return _List_fromArray(str.trim().split(/\s+/g));+}++function _String_lines(str)+{+ return _List_fromArray(str.split(/\r\n|\r|\n/g));+}++function _String_toUpper(str)+{+ return str.toUpperCase();+}++function _String_toLower(str)+{+ return str.toLowerCase();+}++var _String_any = F2(function(isGood, string)+{+ var i = string.length;+ while (i--)+ {+ var char = string[i];+ var word = string.charCodeAt(i);+ if (0xDC00 <= word && word <= 0xDFFF)+ {+ i--;+ char = string[i] + char;+ }+ if (isGood(_Utils_chr(char)))+ {+ return true;+ }+ }+ return false;+});++var _String_all = F2(function(isGood, string)+{+ var i = string.length;+ while (i--)+ {+ var char = string[i];+ var word = string.charCodeAt(i);+ if (0xDC00 <= word && word <= 0xDFFF)+ {+ i--;+ char = string[i] + char;+ }+ if (!isGood(_Utils_chr(char)))+ {+ return false;+ }+ }+ return true;+});++var _String_contains = F2(function(sub, str)+{+ return str.indexOf(sub) > -1;+});++var _String_startsWith = F2(function(sub, str)+{+ return str.indexOf(sub) === 0;+});++var _String_endsWith = F2(function(sub, str)+{+ return str.length >= sub.length &&+ str.lastIndexOf(sub) === str.length - sub.length;+});++var _String_indexes = F2(function(sub, str)+{+ var subLen = sub.length;++ if (subLen < 1)+ {+ return _List_Nil;+ }++ var i = 0;+ var is = [];++ while ((i = str.indexOf(sub, i)) > -1)+ {+ is.push(i);+ i = i + subLen;+ }++ return _List_fromArray(is);+});+++// TO STRING++function _String_fromNumber(number)+{+ return number + '';+}+++// INT CONVERSIONS++function _String_toInt(str)+{+ var total = 0;+ var code0 = str.charCodeAt(0);+ var start = code0 == 0x2B /* + */ || code0 == 0x2D /* - */ ? 1 : 0;++ for (var i = start; i < str.length; ++i)+ {+ var code = str.charCodeAt(i);+ if (code < 0x30 || 0x39 < code)+ {+ return $elm$core$Maybe$Nothing;+ }+ total = 10 * total + code - 0x30;+ }++ return i == start+ ? $elm$core$Maybe$Nothing+ : $elm$core$Maybe$Just(code0 == 0x2D ? -total : total);+}+++// FLOAT CONVERSIONS++function _String_toFloat(s)+{+ // check if it is a hex, octal, or binary number+ if (s.length === 0 || /[\sxbo]/.test(s))+ {+ return $elm$core$Maybe$Nothing;+ }+ var n = +s;+ // faster isNaN check+ return n === n ? $elm$core$Maybe$Just(n) : $elm$core$Maybe$Nothing;+}++function _String_fromList(chars)+{+ return _List_toArray(chars).join('');+}+++++function _Char_toCode(char)+{+ var code = char.charCodeAt(0);+ if (0xD800 <= code && code <= 0xDBFF)+ {+ return (code - 0xD800) * 0x400 + char.charCodeAt(1) - 0xDC00 + 0x10000+ }+ return code;+}++function _Char_fromCode(code)+{+ return _Utils_chr(+ (code < 0 || 0x10FFFF < code)+ ? '\uFFFD'+ :+ (code <= 0xFFFF)+ ? String.fromCharCode(code)+ :+ (code -= 0x10000,+ String.fromCharCode(Math.floor(code / 0x400) + 0xD800, code % 0x400 + 0xDC00)+ )+ );+}++function _Char_toUpper(char)+{+ return _Utils_chr(char.toUpperCase());+}++function _Char_toLower(char)+{+ return _Utils_chr(char.toLowerCase());+}++function _Char_toLocaleUpper(char)+{+ return _Utils_chr(char.toLocaleUpperCase());+}++function _Char_toLocaleLower(char)+{+ return _Utils_chr(char.toLocaleLowerCase());+}++++/**_UNUSED/+function _Json_errorToString(error)+{+ return $elm$json$Json$Decode$errorToString(error);+}+//*/+++// CORE DECODERS++function _Json_succeed(msg)+{+ return {+ $: 0,+ a: msg+ };+}++function _Json_fail(msg)+{+ return {+ $: 1,+ a: msg+ };+}++function _Json_decodePrim(decoder)+{+ return { $: 2, b: decoder };+}++var _Json_decodeInt = _Json_decodePrim(function(value) {+ return (typeof value !== 'number')+ ? _Json_expecting('an INT', value)+ :+ (-2147483647 < value && value < 2147483647 && (value | 0) === value)+ ? $elm$core$Result$Ok(value)+ :+ (isFinite(value) && !(value % 1))+ ? $elm$core$Result$Ok(value)+ : _Json_expecting('an INT', value);+});++var _Json_decodeBool = _Json_decodePrim(function(value) {+ return (typeof value === 'boolean')+ ? $elm$core$Result$Ok(value)+ : _Json_expecting('a BOOL', value);+});++var _Json_decodeFloat = _Json_decodePrim(function(value) {+ return (typeof value === 'number')+ ? $elm$core$Result$Ok(value)+ : _Json_expecting('a FLOAT', value);+});++var _Json_decodeValue = _Json_decodePrim(function(value) {+ return $elm$core$Result$Ok(_Json_wrap(value));+});++var _Json_decodeString = _Json_decodePrim(function(value) {+ return (typeof value === 'string')+ ? $elm$core$Result$Ok(value)+ : (value instanceof String)+ ? $elm$core$Result$Ok(value + '')+ : _Json_expecting('a STRING', value);+});++function _Json_decodeList(decoder) { return { $: 3, b: decoder }; }+function _Json_decodeArray(decoder) { return { $: 4, b: decoder }; }++function _Json_decodeNull(value) { return { $: 5, c: value }; }++var _Json_decodeField = F2(function(field, decoder)+{+ return {+ $: 6,+ d: field,+ b: decoder+ };+});++var _Json_decodeIndex = F2(function(index, decoder)+{+ return {+ $: 7,+ e: index,+ b: decoder+ };+});++function _Json_decodeKeyValuePairs(decoder)+{+ return {+ $: 8,+ b: decoder+ };+}++function _Json_mapMany(f, decoders)+{+ return {+ $: 9,+ f: f,+ g: decoders+ };+}++var _Json_andThen = F2(function(callback, decoder)+{+ return {+ $: 10,+ b: decoder,+ h: callback+ };+});++function _Json_oneOf(decoders)+{+ return {+ $: 11,+ g: decoders+ };+}+++// DECODING OBJECTS++var _Json_map1 = F2(function(f, d1)+{+ return _Json_mapMany(f, [d1]);+});++var _Json_map2 = F3(function(f, d1, d2)+{+ return _Json_mapMany(f, [d1, d2]);+});++var _Json_map3 = F4(function(f, d1, d2, d3)+{+ return _Json_mapMany(f, [d1, d2, d3]);+});++var _Json_map4 = F5(function(f, d1, d2, d3, d4)+{+ return _Json_mapMany(f, [d1, d2, d3, d4]);+});++var _Json_map5 = F6(function(f, d1, d2, d3, d4, d5)+{+ return _Json_mapMany(f, [d1, d2, d3, d4, d5]);+});++var _Json_map6 = F7(function(f, d1, d2, d3, d4, d5, d6)+{+ return _Json_mapMany(f, [d1, d2, d3, d4, d5, d6]);+});++var _Json_map7 = F8(function(f, d1, d2, d3, d4, d5, d6, d7)+{+ return _Json_mapMany(f, [d1, d2, d3, d4, d5, d6, d7]);+});++var _Json_map8 = F9(function(f, d1, d2, d3, d4, d5, d6, d7, d8)+{+ return _Json_mapMany(f, [d1, d2, d3, d4, d5, d6, d7, d8]);+});+++// DECODE++var _Json_runOnString = F2(function(decoder, string)+{+ try+ {+ var value = JSON.parse(string);+ return _Json_runHelp(decoder, value);+ }+ catch (e)+ {+ return $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, 'This is not valid JSON! ' + e.message, _Json_wrap(string)));+ }+});++var _Json_run = F2(function(decoder, value)+{+ return _Json_runHelp(decoder, _Json_unwrap(value));+});++function _Json_runHelp(decoder, value)+{+ switch (decoder.$)+ {+ case 2:+ return decoder.b(value);++ case 5:+ return (value === null)+ ? $elm$core$Result$Ok(decoder.c)+ : _Json_expecting('null', value);++ case 3:+ if (!_Json_isArray(value))+ {+ return _Json_expecting('a LIST', value);+ }+ return _Json_runArrayDecoder(decoder.b, value, _List_fromArray);++ case 4:+ if (!_Json_isArray(value))+ {+ return _Json_expecting('an ARRAY', value);+ }+ return _Json_runArrayDecoder(decoder.b, value, _Json_toElmArray);++ case 6:+ var field = decoder.d;+ if (typeof value !== 'object' || value === null || !(field in value))+ {+ return _Json_expecting('an OBJECT with a field named `' + field + '`', value);+ }+ var result = _Json_runHelp(decoder.b, value[field]);+ return ($elm$core$Result$isOk(result)) ? result : $elm$core$Result$Err(A2($elm$json$Json$Decode$Field, field, result.a));++ case 7:+ var index = decoder.e;+ if (!_Json_isArray(value))+ {+ return _Json_expecting('an ARRAY', value);+ }+ if (index >= value.length)+ {+ return _Json_expecting('a LONGER array. Need index ' + index + ' but only see ' + value.length + ' entries', value);+ }+ var result = _Json_runHelp(decoder.b, value[index]);+ return ($elm$core$Result$isOk(result)) ? result : $elm$core$Result$Err(A2($elm$json$Json$Decode$Index, index, result.a));++ case 8:+ if (typeof value !== 'object' || value === null || _Json_isArray(value))+ {+ return _Json_expecting('an OBJECT', value);+ }++ var keyValuePairs = _List_Nil;+ // TODO test perf of Object.keys and switch when support is good enough+ for (var key in value)+ {+ if (value.hasOwnProperty(key))+ {+ var result = _Json_runHelp(decoder.b, value[key]);+ if (!$elm$core$Result$isOk(result))+ {+ return $elm$core$Result$Err(A2($elm$json$Json$Decode$Field, key, result.a));+ }+ keyValuePairs = _List_Cons(_Utils_Tuple2(key, result.a), keyValuePairs);+ }+ }+ return $elm$core$Result$Ok($elm$core$List$reverse(keyValuePairs));++ case 9:+ var answer = decoder.f;+ var decoders = decoder.g;+ for (var i = 0; i < decoders.length; i++)+ {+ var result = _Json_runHelp(decoders[i], value);+ if (!$elm$core$Result$isOk(result))+ {+ return result;+ }+ answer = answer(result.a);+ }+ return $elm$core$Result$Ok(answer);++ case 10:+ var result = _Json_runHelp(decoder.b, value);+ return (!$elm$core$Result$isOk(result))+ ? result+ : _Json_runHelp(decoder.h(result.a), value);++ case 11:+ var errors = _List_Nil;+ for (var temp = decoder.g; temp.b; temp = temp.b) // WHILE_CONS+ {+ var result = _Json_runHelp(temp.a, value);+ if ($elm$core$Result$isOk(result))+ {+ return result;+ }+ errors = _List_Cons(result.a, errors);+ }+ return $elm$core$Result$Err($elm$json$Json$Decode$OneOf($elm$core$List$reverse(errors)));++ case 1:+ return $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, decoder.a, _Json_wrap(value)));++ case 0:+ return $elm$core$Result$Ok(decoder.a);+ }+}++function _Json_runArrayDecoder(decoder, value, toElmValue)+{+ var len = value.length;+ var array = new Array(len);+ for (var i = 0; i < len; i++)+ {+ var result = _Json_runHelp(decoder, value[i]);+ if (!$elm$core$Result$isOk(result))+ {+ return $elm$core$Result$Err(A2($elm$json$Json$Decode$Index, i, result.a));+ }+ array[i] = result.a;+ }+ return $elm$core$Result$Ok(toElmValue(array));+}++function _Json_isArray(value)+{+ return Array.isArray(value) || (typeof FileList !== 'undefined' && value instanceof FileList);+}++function _Json_toElmArray(array)+{+ return A2($elm$core$Array$initialize, array.length, function(i) { return array[i]; });+}++function _Json_expecting(type, value)+{+ return $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, 'Expecting ' + type, _Json_wrap(value)));+}+++// EQUALITY++function _Json_equality(x, y)+{+ if (x === y)+ {+ return true;+ }++ if (x.$ !== y.$)+ {+ return false;+ }++ switch (x.$)+ {+ case 0:+ case 1:+ return x.a === y.a;++ case 2:+ return x.b === y.b;++ case 5:+ return x.c === y.c;++ case 3:+ case 4:+ case 8:+ return _Json_equality(x.b, y.b);++ case 6:+ return x.d === y.d && _Json_equality(x.b, y.b);++ case 7:+ return x.e === y.e && _Json_equality(x.b, y.b);++ case 9:+ return x.f === y.f && _Json_listEquality(x.g, y.g);++ case 10:+ return x.h === y.h && _Json_equality(x.b, y.b);++ case 11:+ return _Json_listEquality(x.g, y.g);+ }+}++function _Json_listEquality(aDecoders, bDecoders)+{+ var len = aDecoders.length;+ if (len !== bDecoders.length)+ {+ return false;+ }+ for (var i = 0; i < len; i++)+ {+ if (!_Json_equality(aDecoders[i], bDecoders[i]))+ {+ return false;+ }+ }+ return true;+}+++// ENCODE++var _Json_encode = F2(function(indentLevel, value)+{+ return JSON.stringify(_Json_unwrap(value), null, indentLevel) + '';+});++function _Json_wrap_UNUSED(value) { return { $: 0, a: value }; }+function _Json_unwrap_UNUSED(value) { return value.a; }++function _Json_wrap(value) { return value; }+function _Json_unwrap(value) { return value; }++function _Json_emptyArray() { return []; }+function _Json_emptyObject() { return {}; }++var _Json_addField = F3(function(key, value, object)+{+ object[key] = _Json_unwrap(value);+ return object;+});++function _Json_addEntry(func)+{+ return F2(function(entry, array)+ {+ array.push(_Json_unwrap(func(entry)));+ return array;+ });+}++var _Json_encodeNull = _Json_wrap(null);++++// TASKS++function _Scheduler_succeed(value)+{+ return {+ $: 0,+ a: value+ };+}++function _Scheduler_fail(error)+{+ return {+ $: 1,+ a: error+ };+}++function _Scheduler_binding(callback)+{+ return {+ $: 2,+ b: callback,+ c: null+ };+}++var _Scheduler_andThen = F2(function(callback, task)+{+ return {+ $: 3,+ b: callback,+ d: task+ };+});++var _Scheduler_onError = F2(function(callback, task)+{+ return {+ $: 4,+ b: callback,+ d: task+ };+});++function _Scheduler_receive(callback)+{+ return {+ $: 5,+ b: callback+ };+}+++// PROCESSES++var _Scheduler_guid = 0;++function _Scheduler_rawSpawn(task)+{+ var proc = {+ $: 0,+ e: _Scheduler_guid++,+ f: task,+ g: null,+ h: []+ };++ _Scheduler_enqueue(proc);++ return proc;+}++function _Scheduler_spawn(task)+{+ return _Scheduler_binding(function(callback) {+ callback(_Scheduler_succeed(_Scheduler_rawSpawn(task)));+ });+}++function _Scheduler_rawSend(proc, msg)+{+ proc.h.push(msg);+ _Scheduler_enqueue(proc);+}++var _Scheduler_send = F2(function(proc, msg)+{+ return _Scheduler_binding(function(callback) {+ _Scheduler_rawSend(proc, msg);+ callback(_Scheduler_succeed(_Utils_Tuple0));+ });+});++function _Scheduler_kill(proc)+{+ return _Scheduler_binding(function(callback) {+ var task = proc.f;+ if (task.$ === 2 && task.c)+ {+ task.c();+ }++ proc.f = null;++ callback(_Scheduler_succeed(_Utils_Tuple0));+ });+}+++/* STEP PROCESSES++type alias Process =+ { $ : tag+ , id : unique_id+ , root : Task+ , stack : null | { $: SUCCEED | FAIL, a: callback, b: stack }+ , mailbox : [msg]+ }++*/+++var _Scheduler_working = false;+var _Scheduler_queue = [];+++function _Scheduler_enqueue(proc)+{+ _Scheduler_queue.push(proc);+ if (_Scheduler_working)+ {+ return;+ }+ _Scheduler_working = true;+ while (proc = _Scheduler_queue.shift())+ {+ _Scheduler_step(proc);+ }+ _Scheduler_working = false;+}+++function _Scheduler_step(proc)+{+ while (proc.f)+ {+ var rootTag = proc.f.$;+ if (rootTag === 0 || rootTag === 1)+ {+ while (proc.g && proc.g.$ !== rootTag)+ {+ proc.g = proc.g.i;+ }+ if (!proc.g)+ {+ return;+ }+ proc.f = proc.g.b(proc.f.a);+ proc.g = proc.g.i;+ }+ else if (rootTag === 2)+ {+ proc.f.c = proc.f.b(function(newRoot) {+ proc.f = newRoot;+ _Scheduler_enqueue(proc);+ });+ return;+ }+ else if (rootTag === 5)+ {+ if (proc.h.length === 0)+ {+ return;+ }+ proc.f = proc.f.b(proc.h.shift());+ }+ else // if (rootTag === 3 || rootTag === 4)+ {+ proc.g = {+ $: rootTag === 3 ? 0 : 1,+ b: proc.f.b,+ i: proc.g+ };+ proc.f = proc.f.d;+ }+ }+}++++function _Process_sleep(time)+{+ return _Scheduler_binding(function(callback) {+ var id = setTimeout(function() {+ callback(_Scheduler_succeed(_Utils_Tuple0));+ }, time);++ return function() { clearTimeout(id); };+ });+}+++++// PROGRAMS+++var _Platform_worker = F4(function(impl, flagDecoder, debugMetadata, args)+{+ return _Platform_initialize(+ flagDecoder,+ args,+ impl.c3,+ impl.dC,+ impl.dw,+ function() { return function() {} }+ );+});++++// INITIALIZE A PROGRAM+++function _Platform_initialize(flagDecoder, args, init, update, subscriptions, stepperBuilder)+{+ var result = A2(_Json_run, flagDecoder, _Json_wrap(args ? args['flags'] : undefined));+ $elm$core$Result$isOk(result) || _Debug_crash(2 /**_UNUSED/, _Json_errorToString(result.a) /**/);+ var managers = {};+ var initPair = init(result.a);+ var model = initPair.a;+ var stepper = stepperBuilder(sendToApp, model);+ var ports = _Platform_setupEffects(managers, sendToApp);++ function sendToApp(msg, viewMetadata)+ {+ var pair = A2(update, msg, model);+ stepper(model = pair.a, viewMetadata);+ _Platform_enqueueEffects(managers, pair.b, subscriptions(model));+ }++ _Platform_enqueueEffects(managers, initPair.b, subscriptions(model));++ return ports ? { ports: ports } : {};+}++++// TRACK PRELOADS+//+// This is used by code in elm/browser and elm/http+// to register any HTTP requests that are triggered by init.+//+++var _Platform_preload;+++function _Platform_registerPreload(url)+{+ _Platform_preload.add(url);+}++++// EFFECT MANAGERS+++var _Platform_effectManagers = {};+++function _Platform_setupEffects(managers, sendToApp)+{+ var ports;++ // setup all necessary effect managers+ for (var key in _Platform_effectManagers)+ {+ var manager = _Platform_effectManagers[key];++ if (manager.a)+ {+ ports = ports || {};+ ports[key] = manager.a(key, sendToApp);+ }++ managers[key] = _Platform_instantiateManager(manager, sendToApp);+ }++ return ports;+}+++function _Platform_createManager(init, onEffects, onSelfMsg, cmdMap, subMap)+{+ return {+ b: init,+ c: onEffects,+ d: onSelfMsg,+ e: cmdMap,+ f: subMap+ };+}+++function _Platform_instantiateManager(info, sendToApp)+{+ var router = {+ g: sendToApp,+ h: undefined+ };++ var onEffects = info.c;+ var onSelfMsg = info.d;+ var cmdMap = info.e;+ var subMap = info.f;++ function loop(state)+ {+ return A2(_Scheduler_andThen, loop, _Scheduler_receive(function(msg)+ {+ var value = msg.a;++ if (msg.$ === 0)+ {+ return A3(onSelfMsg, router, value, state);+ }++ return cmdMap && subMap+ ? A4(onEffects, router, value.i, value.j, state)+ : A3(onEffects, router, cmdMap ? value.i : value.j, state);+ }));+ }++ return router.h = _Scheduler_rawSpawn(A2(_Scheduler_andThen, loop, info.b));+}++++// ROUTING+++var _Platform_sendToApp = F2(function(router, msg)+{+ return _Scheduler_binding(function(callback)+ {+ router.g(msg);+ callback(_Scheduler_succeed(_Utils_Tuple0));+ });+});+++var _Platform_sendToSelf = F2(function(router, msg)+{+ return A2(_Scheduler_send, router.h, {+ $: 0,+ a: msg+ });+});++++// BAGS+++function _Platform_leaf(home)+{+ return function(value)+ {+ return {+ $: 1,+ k: home,+ l: value+ };+ };+}+++function _Platform_batch(list)+{+ return {+ $: 2,+ m: list+ };+}+++var _Platform_map = F2(function(tagger, bag)+{+ return {+ $: 3,+ n: tagger,+ o: bag+ }+});++++// PIPE BAGS INTO EFFECT MANAGERS+//+// Effects must be queued!+//+// Say your init contains a synchronous command, like Time.now or Time.here+//+// - This will produce a batch of effects (FX_1)+// - The synchronous task triggers the subsequent `update` call+// - This will produce a batch of effects (FX_2)+//+// If we just start dispatching FX_2, subscriptions from FX_2 can be processed+// before subscriptions from FX_1. No good! Earlier versions of this code had+// this problem, leading to these reports:+//+// https://github.com/elm/core/issues/980+// https://github.com/elm/core/pull/981+// https://github.com/elm/compiler/issues/1776+//+// The queue is necessary to avoid ordering issues for synchronous commands.+++// Why use true/false here? Why not just check the length of the queue?+// The goal is to detect "are we currently dispatching effects?" If we+// are, we need to bail and let the ongoing while loop handle things.+//+// Now say the queue has 1 element. When we dequeue the final element,+// the queue will be empty, but we are still actively dispatching effects.+// So you could get queue jumping in a really tricky category of cases.+//+var _Platform_effectsQueue = [];+var _Platform_effectsActive = false;+++function _Platform_enqueueEffects(managers, cmdBag, subBag)+{+ _Platform_effectsQueue.push({ p: managers, q: cmdBag, r: subBag });++ if (_Platform_effectsActive) return;++ _Platform_effectsActive = true;+ for (var fx; fx = _Platform_effectsQueue.shift(); )+ {+ _Platform_dispatchEffects(fx.p, fx.q, fx.r);+ }+ _Platform_effectsActive = false;+}+++function _Platform_dispatchEffects(managers, cmdBag, subBag)+{+ var effectsDict = {};+ _Platform_gatherEffects(true, cmdBag, effectsDict, null);+ _Platform_gatherEffects(false, subBag, effectsDict, null);++ for (var home in managers)+ {+ _Scheduler_rawSend(managers[home], {+ $: 'fx',+ a: effectsDict[home] || { i: _List_Nil, j: _List_Nil }+ });+ }+}+++function _Platform_gatherEffects(isCmd, bag, effectsDict, taggers)+{+ switch (bag.$)+ {+ case 1:+ var home = bag.k;+ var effect = _Platform_toEffect(isCmd, home, taggers, bag.l);+ effectsDict[home] = _Platform_insert(isCmd, effect, effectsDict[home]);+ return;++ case 2:+ for (var list = bag.m; list.b; list = list.b) // WHILE_CONS+ {+ _Platform_gatherEffects(isCmd, list.a, effectsDict, taggers);+ }+ return;++ case 3:+ _Platform_gatherEffects(isCmd, bag.o, effectsDict, {+ s: bag.n,+ t: taggers+ });+ return;+ }+}+++function _Platform_toEffect(isCmd, home, taggers, value)+{+ function applyTaggers(x)+ {+ for (var temp = taggers; temp; temp = temp.t)+ {+ x = temp.s(x);+ }+ return x;+ }++ var map = isCmd+ ? _Platform_effectManagers[home].e+ : _Platform_effectManagers[home].f;++ return A2(map, applyTaggers, value)+}+++function _Platform_insert(isCmd, newEffect, effects)+{+ effects = effects || { i: _List_Nil, j: _List_Nil };++ isCmd+ ? (effects.i = _List_Cons(newEffect, effects.i))+ : (effects.j = _List_Cons(newEffect, effects.j));++ return effects;+}++++// PORTS+++function _Platform_checkPortName(name)+{+ if (_Platform_effectManagers[name])+ {+ _Debug_crash(3, name)+ }+}++++// OUTGOING PORTS+++function _Platform_outgoingPort(name, converter)+{+ _Platform_checkPortName(name);+ _Platform_effectManagers[name] = {+ e: _Platform_outgoingPortMap,+ u: converter,+ a: _Platform_setupOutgoingPort+ };+ return _Platform_leaf(name);+}+++var _Platform_outgoingPortMap = F2(function(tagger, value) { return value; });+++function _Platform_setupOutgoingPort(name)+{+ var subs = [];+ var converter = _Platform_effectManagers[name].u;++ // CREATE MANAGER++ var init = _Process_sleep(0);++ _Platform_effectManagers[name].b = init;+ _Platform_effectManagers[name].c = F3(function(router, cmdList, state)+ {+ for ( ; cmdList.b; cmdList = cmdList.b) // WHILE_CONS+ {+ // grab a separate reference to subs in case unsubscribe is called+ var currentSubs = subs;+ var value = _Json_unwrap(converter(cmdList.a));+ for (var i = 0; i < currentSubs.length; i++)+ {+ currentSubs[i](value);+ }+ }+ return init;+ });++ // PUBLIC API++ function subscribe(callback)+ {+ subs.push(callback);+ }++ function unsubscribe(callback)+ {+ // copy subs into a new array in case unsubscribe is called within a+ // subscribed callback+ subs = subs.slice();+ var index = subs.indexOf(callback);+ if (index >= 0)+ {+ subs.splice(index, 1);+ }+ }++ return {+ subscribe: subscribe,+ unsubscribe: unsubscribe+ };+}++++// INCOMING PORTS+++function _Platform_incomingPort(name, converter)+{+ _Platform_checkPortName(name);+ _Platform_effectManagers[name] = {+ f: _Platform_incomingPortMap,+ u: converter,+ a: _Platform_setupIncomingPort+ };+ return _Platform_leaf(name);+}+++var _Platform_incomingPortMap = F2(function(tagger, finalTagger)+{+ return function(value)+ {+ return tagger(finalTagger(value));+ };+});+++function _Platform_setupIncomingPort(name, sendToApp)+{+ var subs = _List_Nil;+ var converter = _Platform_effectManagers[name].u;++ // CREATE MANAGER++ var init = _Scheduler_succeed(null);++ _Platform_effectManagers[name].b = init;+ _Platform_effectManagers[name].c = F3(function(router, subList, state)+ {+ subs = subList;+ return init;+ });++ // PUBLIC API++ function send(incomingValue)+ {+ var result = A2(_Json_run, converter, _Json_wrap(incomingValue));++ $elm$core$Result$isOk(result) || _Debug_crash(4, name, result.a);++ var value = result.a;+ for (var temp = subs; temp.b; temp = temp.b) // WHILE_CONS+ {+ sendToApp(temp.a(value));+ }+ }++ return { send: send };+}++++// EXPORT ELM MODULES+//+// Have DEBUG and PROD versions so that we can (1) give nicer errors in+// debug mode and (2) not pay for the bits needed for that in prod mode.+//+++function _Platform_export(exports)+{+ scope['Elm']+ ? _Platform_mergeExportsProd(scope['Elm'], exports)+ : scope['Elm'] = exports;+}+++function _Platform_mergeExportsProd(obj, exports)+{+ for (var name in exports)+ {+ (name in obj)+ ? (name == 'init')+ ? _Debug_crash(6)+ : _Platform_mergeExportsProd(obj[name], exports[name])+ : (obj[name] = exports[name]);+ }+}+++function _Platform_export_UNUSED(exports)+{+ scope['Elm']+ ? _Platform_mergeExportsDebug('Elm', scope['Elm'], exports)+ : scope['Elm'] = exports;+}+++function _Platform_mergeExportsDebug(moduleName, obj, exports)+{+ for (var name in exports)+ {+ (name in obj)+ ? (name == 'init')+ ? _Debug_crash(6, moduleName)+ : _Platform_mergeExportsDebug(moduleName + '.' + name, obj[name], exports[name])+ : (obj[name] = exports[name]);+ }+}+++++// HELPERS+++var _VirtualDom_divertHrefToApp;++var _VirtualDom_doc = typeof document !== 'undefined' ? document : {};+++function _VirtualDom_appendChild(parent, child)+{+ parent.appendChild(child);+}++var _VirtualDom_init = F4(function(virtualNode, flagDecoder, debugMetadata, args)+{+ // NOTE: this function needs _Platform_export available to work++ /**/+ var node = args['node'];+ //*/+ /**_UNUSED/+ var node = args && args['node'] ? args['node'] : _Debug_crash(0);+ //*/++ node.parentNode.replaceChild(+ _VirtualDom_render(virtualNode, function() {}),+ node+ );++ return {};+});++++// TEXT+++function _VirtualDom_text(string)+{+ return {+ $: 0,+ a: string+ };+}++++// NODE+++var _VirtualDom_nodeNS = F2(function(namespace, tag)+{+ return F2(function(factList, kidList)+ {+ for (var kids = [], descendantsCount = 0; kidList.b; kidList = kidList.b) // WHILE_CONS+ {+ var kid = kidList.a;+ descendantsCount += (kid.b || 0);+ kids.push(kid);+ }+ descendantsCount += kids.length;++ return {+ $: 1,+ c: tag,+ d: _VirtualDom_organizeFacts(factList),+ e: kids,+ f: namespace,+ b: descendantsCount+ };+ });+});+++var _VirtualDom_node = _VirtualDom_nodeNS(undefined);++++// KEYED NODE+++var _VirtualDom_keyedNodeNS = F2(function(namespace, tag)+{+ return F2(function(factList, kidList)+ {+ for (var kids = [], descendantsCount = 0; kidList.b; kidList = kidList.b) // WHILE_CONS+ {+ var kid = kidList.a;+ descendantsCount += (kid.b.b || 0);+ kids.push(kid);+ }+ descendantsCount += kids.length;++ return {+ $: 2,+ c: tag,+ d: _VirtualDom_organizeFacts(factList),+ e: kids,+ f: namespace,+ b: descendantsCount+ };+ });+});+++var _VirtualDom_keyedNode = _VirtualDom_keyedNodeNS(undefined);++++// CUSTOM+++function _VirtualDom_custom(factList, model, render, diff)+{+ return {+ $: 3,+ d: _VirtualDom_organizeFacts(factList),+ g: model,+ h: render,+ i: diff+ };+}++++// MAP+++var _VirtualDom_map = F2(function(tagger, node)+{+ return {+ $: 4,+ j: tagger,+ k: node,+ b: 1 + (node.b || 0)+ };+});++++// LAZY+++function _VirtualDom_thunk(refs, thunk)+{+ return {+ $: 5,+ l: refs,+ m: thunk,+ k: undefined+ };+}++var _VirtualDom_lazy = F2(function(func, a)+{+ return _VirtualDom_thunk([func, a], function() {+ return func(a);+ });+});++var _VirtualDom_lazy2 = F3(function(func, a, b)+{+ return _VirtualDom_thunk([func, a, b], function() {+ return A2(func, a, b);+ });+});++var _VirtualDom_lazy3 = F4(function(func, a, b, c)+{+ return _VirtualDom_thunk([func, a, b, c], function() {+ return A3(func, a, b, c);+ });+});++var _VirtualDom_lazy4 = F5(function(func, a, b, c, d)+{+ return _VirtualDom_thunk([func, a, b, c, d], function() {+ return A4(func, a, b, c, d);+ });+});++var _VirtualDom_lazy5 = F6(function(func, a, b, c, d, e)+{+ return _VirtualDom_thunk([func, a, b, c, d, e], function() {+ return A5(func, a, b, c, d, e);+ });+});++var _VirtualDom_lazy6 = F7(function(func, a, b, c, d, e, f)+{+ return _VirtualDom_thunk([func, a, b, c, d, e, f], function() {+ return A6(func, a, b, c, d, e, f);+ });+});++var _VirtualDom_lazy7 = F8(function(func, a, b, c, d, e, f, g)+{+ return _VirtualDom_thunk([func, a, b, c, d, e, f, g], function() {+ return A7(func, a, b, c, d, e, f, g);+ });+});++var _VirtualDom_lazy8 = F9(function(func, a, b, c, d, e, f, g, h)+{+ return _VirtualDom_thunk([func, a, b, c, d, e, f, g, h], function() {+ return A8(func, a, b, c, d, e, f, g, h);+ });+});++++// FACTS+++var _VirtualDom_on = F2(function(key, handler)+{+ return {+ $: 'a0',+ n: key,+ o: handler+ };+});+var _VirtualDom_style = F2(function(key, value)+{+ return {+ $: 'a1',+ n: key,+ o: value+ };+});+var _VirtualDom_property = F2(function(key, value)+{+ return {+ $: 'a2',+ n: key,+ o: value+ };+});+var _VirtualDom_attribute = F2(function(key, value)+{+ return {+ $: 'a3',+ n: key,+ o: value+ };+});+var _VirtualDom_attributeNS = F3(function(namespace, key, value)+{+ return {+ $: 'a4',+ n: key,+ o: { f: namespace, o: value }+ };+});++++// XSS ATTACK VECTOR CHECKS+++function _VirtualDom_noScript(tag)+{+ return tag == 'script' ? 'p' : tag;+}++function _VirtualDom_noOnOrFormAction(key)+{+ return /^(on|formAction$)/i.test(key) ? 'data-' + key : key;+}++function _VirtualDom_noInnerHtmlOrFormAction(key)+{+ return key == 'innerHTML' || key == 'formAction' ? 'data-' + key : key;+}++function _VirtualDom_noJavaScriptUri(value)+{+ return /^javascript:/i.test(value.replace(/\s/g,'')) ? '' : value;+}++function _VirtualDom_noJavaScriptUri_UNUSED(value)+{+ return /^javascript:/i.test(value.replace(/\s/g,''))+ ? 'javascript:alert("This is an XSS vector. Please use ports or web components instead.")'+ : value;+}++function _VirtualDom_noJavaScriptOrHtmlUri(value)+{+ return /^\s*(javascript:|data:text\/html)/i.test(value) ? '' : value;+}++function _VirtualDom_noJavaScriptOrHtmlUri_UNUSED(value)+{+ return /^\s*(javascript:|data:text\/html)/i.test(value)+ ? 'javascript:alert("This is an XSS vector. Please use ports or web components instead.")'+ : value;+}++++// MAP FACTS+++var _VirtualDom_mapAttribute = F2(function(func, attr)+{+ return (attr.$ === 'a0')+ ? A2(_VirtualDom_on, attr.n, _VirtualDom_mapHandler(func, attr.o))+ : attr;+});++function _VirtualDom_mapHandler(func, handler)+{+ var tag = $elm$virtual_dom$VirtualDom$toHandlerInt(handler);++ // 0 = Normal+ // 1 = MayStopPropagation+ // 2 = MayPreventDefault+ // 3 = Custom++ return {+ $: handler.$,+ a:+ !tag+ ? A2($elm$json$Json$Decode$map, func, handler.a)+ :+ A3($elm$json$Json$Decode$map2,+ tag < 3+ ? _VirtualDom_mapEventTuple+ : _VirtualDom_mapEventRecord,+ $elm$json$Json$Decode$succeed(func),+ handler.a+ )+ };+}++var _VirtualDom_mapEventTuple = F2(function(func, tuple)+{+ return _Utils_Tuple2(func(tuple.a), tuple.b);+});++var _VirtualDom_mapEventRecord = F2(function(func, record)+{+ return {+ S: func(record.S),+ bn: record.bn,+ bk: record.bk+ }+});++++// ORGANIZE FACTS+++function _VirtualDom_organizeFacts(factList)+{+ for (var facts = {}; factList.b; factList = factList.b) // WHILE_CONS+ {+ var entry = factList.a;++ var tag = entry.$;+ var key = entry.n;+ var value = entry.o;++ if (tag === 'a2')+ {+ (key === 'className')+ ? _VirtualDom_addClass(facts, key, _Json_unwrap(value))+ : facts[key] = _Json_unwrap(value);++ continue;+ }++ var subFacts = facts[tag] || (facts[tag] = {});+ (tag === 'a3' && key === 'class')+ ? _VirtualDom_addClass(subFacts, key, value)+ : subFacts[key] = value;+ }++ return facts;+}++function _VirtualDom_addClass(object, key, newClass)+{+ var classes = object[key];+ object[key] = classes ? classes + ' ' + newClass : newClass;+}++++// RENDER+++function _VirtualDom_render(vNode, eventNode)+{+ var tag = vNode.$;++ if (tag === 5)+ {+ return _VirtualDom_render(vNode.k || (vNode.k = vNode.m()), eventNode);+ }++ if (tag === 0)+ {+ return _VirtualDom_doc.createTextNode(vNode.a);+ }++ if (tag === 4)+ {+ var subNode = vNode.k;+ var tagger = vNode.j;++ while (subNode.$ === 4)+ {+ typeof tagger !== 'object'+ ? tagger = [tagger, subNode.j]+ : tagger.push(subNode.j);++ subNode = subNode.k;+ }++ var subEventRoot = { j: tagger, p: eventNode };+ var domNode = _VirtualDom_render(subNode, subEventRoot);+ domNode.elm_event_node_ref = subEventRoot;+ return domNode;+ }++ if (tag === 3)+ {+ var domNode = vNode.h(vNode.g);+ _VirtualDom_applyFacts(domNode, eventNode, vNode.d);+ return domNode;+ }++ // at this point `tag` must be 1 or 2++ var domNode = vNode.f+ ? _VirtualDom_doc.createElementNS(vNode.f, vNode.c)+ : _VirtualDom_doc.createElement(vNode.c);++ if (_VirtualDom_divertHrefToApp && vNode.c == 'a')+ {+ domNode.addEventListener('click', _VirtualDom_divertHrefToApp(domNode));+ }++ _VirtualDom_applyFacts(domNode, eventNode, vNode.d);++ for (var kids = vNode.e, i = 0; i < kids.length; i++)+ {+ _VirtualDom_appendChild(domNode, _VirtualDom_render(tag === 1 ? kids[i] : kids[i].b, eventNode));+ }++ return domNode;+}++++// APPLY FACTS+++function _VirtualDom_applyFacts(domNode, eventNode, facts)+{+ for (var key in facts)+ {+ var value = facts[key];++ key === 'a1'+ ? _VirtualDom_applyStyles(domNode, value)+ :+ key === 'a0'+ ? _VirtualDom_applyEvents(domNode, eventNode, value)+ :+ key === 'a3'+ ? _VirtualDom_applyAttrs(domNode, value)+ :+ key === 'a4'+ ? _VirtualDom_applyAttrsNS(domNode, value)+ :+ ((key !== 'value' && key !== 'checked') || domNode[key] !== value) && (domNode[key] = value);+ }+}++++// APPLY STYLES+++function _VirtualDom_applyStyles(domNode, styles)+{+ var domNodeStyle = domNode.style;++ for (var key in styles)+ {+ domNodeStyle[key] = styles[key];+ }+}++++// APPLY ATTRS+++function _VirtualDom_applyAttrs(domNode, attrs)+{+ for (var key in attrs)+ {+ var value = attrs[key];+ typeof value !== 'undefined'+ ? domNode.setAttribute(key, value)+ : domNode.removeAttribute(key);+ }+}++++// APPLY NAMESPACED ATTRS+++function _VirtualDom_applyAttrsNS(domNode, nsAttrs)+{+ for (var key in nsAttrs)+ {+ var pair = nsAttrs[key];+ var namespace = pair.f;+ var value = pair.o;++ typeof value !== 'undefined'+ ? domNode.setAttributeNS(namespace, key, value)+ : domNode.removeAttributeNS(namespace, key);+ }+}++++// APPLY EVENTS+++function _VirtualDom_applyEvents(domNode, eventNode, events)+{+ var allCallbacks = domNode.elmFs || (domNode.elmFs = {});++ for (var key in events)+ {+ var newHandler = events[key];+ var oldCallback = allCallbacks[key];++ if (!newHandler)+ {+ domNode.removeEventListener(key, oldCallback);+ allCallbacks[key] = undefined;+ continue;+ }++ if (oldCallback)+ {+ var oldHandler = oldCallback.q;+ if (oldHandler.$ === newHandler.$)+ {+ oldCallback.q = newHandler;+ continue;+ }+ domNode.removeEventListener(key, oldCallback);+ }++ oldCallback = _VirtualDom_makeCallback(eventNode, newHandler);+ domNode.addEventListener(key, oldCallback,+ _VirtualDom_passiveSupported+ && { passive: $elm$virtual_dom$VirtualDom$toHandlerInt(newHandler) < 2 }+ );+ allCallbacks[key] = oldCallback;+ }+}++++// PASSIVE EVENTS+++var _VirtualDom_passiveSupported;++try+{+ window.addEventListener('t', null, Object.defineProperty({}, 'passive', {+ get: function() { _VirtualDom_passiveSupported = true; }+ }));+}+catch(e) {}++++// EVENT HANDLERS+++function _VirtualDom_makeCallback(eventNode, initialHandler)+{+ function callback(event)+ {+ var handler = callback.q;+ var result = _Json_runHelp(handler.a, event);++ if (!$elm$core$Result$isOk(result))+ {+ return;+ }++ var tag = $elm$virtual_dom$VirtualDom$toHandlerInt(handler);++ // 0 = Normal+ // 1 = MayStopPropagation+ // 2 = MayPreventDefault+ // 3 = Custom++ var value = result.a;+ var message = !tag ? value : tag < 3 ? value.a : value.S;+ var stopPropagation = tag == 1 ? value.b : tag == 3 && value.bn;+ var currentEventNode = (+ stopPropagation && event.stopPropagation(),+ (tag == 2 ? value.b : tag == 3 && value.bk) && event.preventDefault(),+ eventNode+ );+ var tagger;+ var i;+ while (tagger = currentEventNode.j)+ {+ if (typeof tagger == 'function')+ {+ message = tagger(message);+ }+ else+ {+ for (var i = tagger.length; i--; )+ {+ message = tagger[i](message);+ }+ }+ currentEventNode = currentEventNode.p;+ }+ currentEventNode(message, stopPropagation); // stopPropagation implies isSync+ }++ callback.q = initialHandler;++ return callback;+}++function _VirtualDom_equalEvents(x, y)+{+ return x.$ == y.$ && _Json_equality(x.a, y.a);+}++++// DIFF+++// TODO: Should we do patches like in iOS?+//+// type Patch+// = At Int Patch+// | Batch (List Patch)+// | Change ...+//+// How could it not be better?+//+function _VirtualDom_diff(x, y)+{+ var patches = [];+ _VirtualDom_diffHelp(x, y, patches, 0);+ return patches;+}+++function _VirtualDom_pushPatch(patches, type, index, data)+{+ var patch = {+ $: type,+ r: index,+ s: data,+ t: undefined,+ u: undefined+ };+ patches.push(patch);+ return patch;+}+++function _VirtualDom_diffHelp(x, y, patches, index)+{+ if (x === y)+ {+ return;+ }++ var xType = x.$;+ var yType = y.$;++ // Bail if you run into different types of nodes. Implies that the+ // structure has changed significantly and it's not worth a diff.+ if (xType !== yType)+ {+ if (xType === 1 && yType === 2)+ {+ y = _VirtualDom_dekey(y);+ yType = 1;+ }+ else+ {+ _VirtualDom_pushPatch(patches, 0, index, y);+ return;+ }+ }++ // Now we know that both nodes are the same $.+ switch (yType)+ {+ case 5:+ var xRefs = x.l;+ var yRefs = y.l;+ var i = xRefs.length;+ var same = i === yRefs.length;+ while (same && i--)+ {+ same = xRefs[i] === yRefs[i];+ }+ if (same)+ {+ y.k = x.k;+ return;+ }+ y.k = y.m();+ var subPatches = [];+ _VirtualDom_diffHelp(x.k, y.k, subPatches, 0);+ subPatches.length > 0 && _VirtualDom_pushPatch(patches, 1, index, subPatches);+ return;++ case 4:+ // gather nested taggers+ var xTaggers = x.j;+ var yTaggers = y.j;+ var nesting = false;++ var xSubNode = x.k;+ while (xSubNode.$ === 4)+ {+ nesting = true;++ typeof xTaggers !== 'object'+ ? xTaggers = [xTaggers, xSubNode.j]+ : xTaggers.push(xSubNode.j);++ xSubNode = xSubNode.k;+ }++ var ySubNode = y.k;+ while (ySubNode.$ === 4)+ {+ nesting = true;++ typeof yTaggers !== 'object'+ ? yTaggers = [yTaggers, ySubNode.j]+ : yTaggers.push(ySubNode.j);++ ySubNode = ySubNode.k;+ }++ // Just bail if different numbers of taggers. This implies the+ // structure of the virtual DOM has changed.+ if (nesting && xTaggers.length !== yTaggers.length)+ {+ _VirtualDom_pushPatch(patches, 0, index, y);+ return;+ }++ // check if taggers are "the same"+ if (nesting ? !_VirtualDom_pairwiseRefEqual(xTaggers, yTaggers) : xTaggers !== yTaggers)+ {+ _VirtualDom_pushPatch(patches, 2, index, yTaggers);+ }++ // diff everything below the taggers+ _VirtualDom_diffHelp(xSubNode, ySubNode, patches, index + 1);+ return;++ case 0:+ if (x.a !== y.a)+ {+ _VirtualDom_pushPatch(patches, 3, index, y.a);+ }+ return;++ case 1:+ _VirtualDom_diffNodes(x, y, patches, index, _VirtualDom_diffKids);+ return;++ case 2:+ _VirtualDom_diffNodes(x, y, patches, index, _VirtualDom_diffKeyedKids);+ return;++ case 3:+ if (x.h !== y.h)+ {+ _VirtualDom_pushPatch(patches, 0, index, y);+ return;+ }++ var factsDiff = _VirtualDom_diffFacts(x.d, y.d);+ factsDiff && _VirtualDom_pushPatch(patches, 4, index, factsDiff);++ var patch = y.i(x.g, y.g);+ patch && _VirtualDom_pushPatch(patches, 5, index, patch);++ return;+ }+}++// assumes the incoming arrays are the same length+function _VirtualDom_pairwiseRefEqual(as, bs)+{+ for (var i = 0; i < as.length; i++)+ {+ if (as[i] !== bs[i])+ {+ return false;+ }+ }++ return true;+}++function _VirtualDom_diffNodes(x, y, patches, index, diffKids)+{+ // Bail if obvious indicators have changed. Implies more serious+ // structural changes such that it's not worth it to diff.+ if (x.c !== y.c || x.f !== y.f)+ {+ _VirtualDom_pushPatch(patches, 0, index, y);+ return;+ }++ var factsDiff = _VirtualDom_diffFacts(x.d, y.d);+ factsDiff && _VirtualDom_pushPatch(patches, 4, index, factsDiff);++ diffKids(x, y, patches, index);+}++++// DIFF FACTS+++// TODO Instead of creating a new diff object, it's possible to just test if+// there *is* a diff. During the actual patch, do the diff again and make the+// modifications directly. This way, there's no new allocations. Worth it?+function _VirtualDom_diffFacts(x, y, category)+{+ var diff;++ // look for changes and removals+ for (var xKey in x)+ {+ if (xKey === 'a1' || xKey === 'a0' || xKey === 'a3' || xKey === 'a4')+ {+ var subDiff = _VirtualDom_diffFacts(x[xKey], y[xKey] || {}, xKey);+ if (subDiff)+ {+ diff = diff || {};+ diff[xKey] = subDiff;+ }+ continue;+ }++ // remove if not in the new facts+ if (!(xKey in y))+ {+ diff = diff || {};+ diff[xKey] =+ !category+ ? (typeof x[xKey] === 'string' ? '' : null)+ :+ (category === 'a1')+ ? ''+ :+ (category === 'a0' || category === 'a3')+ ? undefined+ :+ { f: x[xKey].f, o: undefined };++ continue;+ }++ var xValue = x[xKey];+ var yValue = y[xKey];++ // reference equal, so don't worry about it+ if (xValue === yValue && xKey !== 'value' && xKey !== 'checked'+ || category === 'a0' && _VirtualDom_equalEvents(xValue, yValue))+ {+ continue;+ }++ diff = diff || {};+ diff[xKey] = yValue;+ }++ // add new stuff+ for (var yKey in y)+ {+ if (!(yKey in x))+ {+ diff = diff || {};+ diff[yKey] = y[yKey];+ }+ }++ return diff;+}++++// DIFF KIDS+++function _VirtualDom_diffKids(xParent, yParent, patches, index)+{+ var xKids = xParent.e;+ var yKids = yParent.e;++ var xLen = xKids.length;+ var yLen = yKids.length;++ // FIGURE OUT IF THERE ARE INSERTS OR REMOVALS++ if (xLen > yLen)+ {+ _VirtualDom_pushPatch(patches, 6, index, {+ v: yLen,+ i: xLen - yLen+ });+ }+ else if (xLen < yLen)+ {+ _VirtualDom_pushPatch(patches, 7, index, {+ v: xLen,+ e: yKids+ });+ }++ // PAIRWISE DIFF EVERYTHING ELSE++ for (var minLen = xLen < yLen ? xLen : yLen, i = 0; i < minLen; i++)+ {+ var xKid = xKids[i];+ _VirtualDom_diffHelp(xKid, yKids[i], patches, ++index);+ index += xKid.b || 0;+ }+}++++// KEYED DIFF+++function _VirtualDom_diffKeyedKids(xParent, yParent, patches, rootIndex)+{+ var localPatches = [];++ var changes = {}; // Dict String Entry+ var inserts = []; // Array { index : Int, entry : Entry }+ // type Entry = { tag : String, vnode : VNode, index : Int, data : _ }++ var xKids = xParent.e;+ var yKids = yParent.e;+ var xLen = xKids.length;+ var yLen = yKids.length;+ var xIndex = 0;+ var yIndex = 0;++ var index = rootIndex;++ while (xIndex < xLen && yIndex < yLen)+ {+ var x = xKids[xIndex];+ var y = yKids[yIndex];++ var xKey = x.a;+ var yKey = y.a;+ var xNode = x.b;+ var yNode = y.b;++ var newMatch = undefined;+ var oldMatch = undefined;++ // check if keys match++ if (xKey === yKey)+ {+ index++;+ _VirtualDom_diffHelp(xNode, yNode, localPatches, index);+ index += xNode.b || 0;++ xIndex++;+ yIndex++;+ continue;+ }++ // look ahead 1 to detect insertions and removals.++ var xNext = xKids[xIndex + 1];+ var yNext = yKids[yIndex + 1];++ if (xNext)+ {+ var xNextKey = xNext.a;+ var xNextNode = xNext.b;+ oldMatch = yKey === xNextKey;+ }++ if (yNext)+ {+ var yNextKey = yNext.a;+ var yNextNode = yNext.b;+ newMatch = xKey === yNextKey;+ }+++ // swap x and y+ if (newMatch && oldMatch)+ {+ index++;+ _VirtualDom_diffHelp(xNode, yNextNode, localPatches, index);+ _VirtualDom_insertNode(changes, localPatches, xKey, yNode, yIndex, inserts);+ index += xNode.b || 0;++ index++;+ _VirtualDom_removeNode(changes, localPatches, xKey, xNextNode, index);+ index += xNextNode.b || 0;++ xIndex += 2;+ yIndex += 2;+ continue;+ }++ // insert y+ if (newMatch)+ {+ index++;+ _VirtualDom_insertNode(changes, localPatches, yKey, yNode, yIndex, inserts);+ _VirtualDom_diffHelp(xNode, yNextNode, localPatches, index);+ index += xNode.b || 0;++ xIndex += 1;+ yIndex += 2;+ continue;+ }++ // remove x+ if (oldMatch)+ {+ index++;+ _VirtualDom_removeNode(changes, localPatches, xKey, xNode, index);+ index += xNode.b || 0;++ index++;+ _VirtualDom_diffHelp(xNextNode, yNode, localPatches, index);+ index += xNextNode.b || 0;++ xIndex += 2;+ yIndex += 1;+ continue;+ }++ // remove x, insert y+ if (xNext && xNextKey === yNextKey)+ {+ index++;+ _VirtualDom_removeNode(changes, localPatches, xKey, xNode, index);+ _VirtualDom_insertNode(changes, localPatches, yKey, yNode, yIndex, inserts);+ index += xNode.b || 0;++ index++;+ _VirtualDom_diffHelp(xNextNode, yNextNode, localPatches, index);+ index += xNextNode.b || 0;++ xIndex += 2;+ yIndex += 2;+ continue;+ }++ break;+ }++ // eat up any remaining nodes with removeNode and insertNode++ while (xIndex < xLen)+ {+ index++;+ var x = xKids[xIndex];+ var xNode = x.b;+ _VirtualDom_removeNode(changes, localPatches, x.a, xNode, index);+ index += xNode.b || 0;+ xIndex++;+ }++ while (yIndex < yLen)+ {+ var endInserts = endInserts || [];+ var y = yKids[yIndex];+ _VirtualDom_insertNode(changes, localPatches, y.a, y.b, undefined, endInserts);+ yIndex++;+ }++ if (localPatches.length > 0 || inserts.length > 0 || endInserts)+ {+ _VirtualDom_pushPatch(patches, 8, rootIndex, {+ w: localPatches,+ x: inserts,+ y: endInserts+ });+ }+}++++// CHANGES FROM KEYED DIFF+++var _VirtualDom_POSTFIX = '_elmW6BL';+++function _VirtualDom_insertNode(changes, localPatches, key, vnode, yIndex, inserts)+{+ var entry = changes[key];++ // never seen this key before+ if (!entry)+ {+ entry = {+ c: 0,+ z: vnode,+ r: yIndex,+ s: undefined+ };++ inserts.push({ r: yIndex, A: entry });+ changes[key] = entry;++ return;+ }++ // this key was removed earlier, a match!+ if (entry.c === 1)+ {+ inserts.push({ r: yIndex, A: entry });++ entry.c = 2;+ var subPatches = [];+ _VirtualDom_diffHelp(entry.z, vnode, subPatches, entry.r);+ entry.r = yIndex;+ entry.s.s = {+ w: subPatches,+ A: entry+ };++ return;+ }++ // this key has already been inserted or moved, a duplicate!+ _VirtualDom_insertNode(changes, localPatches, key + _VirtualDom_POSTFIX, vnode, yIndex, inserts);+}+++function _VirtualDom_removeNode(changes, localPatches, key, vnode, index)+{+ var entry = changes[key];++ // never seen this key before+ if (!entry)+ {+ var patch = _VirtualDom_pushPatch(localPatches, 9, index, undefined);++ changes[key] = {+ c: 1,+ z: vnode,+ r: index,+ s: patch+ };++ return;+ }++ // this key was inserted earlier, a match!+ if (entry.c === 0)+ {+ entry.c = 2;+ var subPatches = [];+ _VirtualDom_diffHelp(vnode, entry.z, subPatches, index);++ _VirtualDom_pushPatch(localPatches, 9, index, {+ w: subPatches,+ A: entry+ });++ return;+ }++ // this key has already been removed or moved, a duplicate!+ _VirtualDom_removeNode(changes, localPatches, key + _VirtualDom_POSTFIX, vnode, index);+}++++// ADD DOM NODES+//+// Each DOM node has an "index" assigned in order of traversal. It is important+// to minimize our crawl over the actual DOM, so these indexes (along with the+// descendantsCount of virtual nodes) let us skip touching entire subtrees of+// the DOM if we know there are no patches there.+++function _VirtualDom_addDomNodes(domNode, vNode, patches, eventNode)+{+ _VirtualDom_addDomNodesHelp(domNode, vNode, patches, 0, 0, vNode.b, eventNode);+}+++// assumes `patches` is non-empty and indexes increase monotonically.+function _VirtualDom_addDomNodesHelp(domNode, vNode, patches, i, low, high, eventNode)+{+ var patch = patches[i];+ var index = patch.r;++ while (index === low)+ {+ var patchType = patch.$;++ if (patchType === 1)+ {+ _VirtualDom_addDomNodes(domNode, vNode.k, patch.s, eventNode);+ }+ else if (patchType === 8)+ {+ patch.t = domNode;+ patch.u = eventNode;++ var subPatches = patch.s.w;+ if (subPatches.length > 0)+ {+ _VirtualDom_addDomNodesHelp(domNode, vNode, subPatches, 0, low, high, eventNode);+ }+ }+ else if (patchType === 9)+ {+ patch.t = domNode;+ patch.u = eventNode;++ var data = patch.s;+ if (data)+ {+ data.A.s = domNode;+ var subPatches = data.w;+ if (subPatches.length > 0)+ {+ _VirtualDom_addDomNodesHelp(domNode, vNode, subPatches, 0, low, high, eventNode);+ }+ }+ }+ else+ {+ patch.t = domNode;+ patch.u = eventNode;+ }++ i++;++ if (!(patch = patches[i]) || (index = patch.r) > high)+ {+ return i;+ }+ }++ var tag = vNode.$;++ if (tag === 4)+ {+ var subNode = vNode.k;++ while (subNode.$ === 4)+ {+ subNode = subNode.k;+ }++ return _VirtualDom_addDomNodesHelp(domNode, subNode, patches, i, low + 1, high, domNode.elm_event_node_ref);+ }++ // tag must be 1 or 2 at this point++ var vKids = vNode.e;+ var childNodes = domNode.childNodes;+ for (var j = 0; j < vKids.length; j++)+ {+ low++;+ var vKid = tag === 1 ? vKids[j] : vKids[j].b;+ var nextLow = low + (vKid.b || 0);+ if (low <= index && index <= nextLow)+ {+ i = _VirtualDom_addDomNodesHelp(childNodes[j], vKid, patches, i, low, nextLow, eventNode);+ if (!(patch = patches[i]) || (index = patch.r) > high)+ {+ return i;+ }+ }+ low = nextLow;+ }+ return i;+}++++// APPLY PATCHES+++function _VirtualDom_applyPatches(rootDomNode, oldVirtualNode, patches, eventNode)+{+ if (patches.length === 0)+ {+ return rootDomNode;+ }++ _VirtualDom_addDomNodes(rootDomNode, oldVirtualNode, patches, eventNode);+ return _VirtualDom_applyPatchesHelp(rootDomNode, patches);+}++function _VirtualDom_applyPatchesHelp(rootDomNode, patches)+{+ for (var i = 0; i < patches.length; i++)+ {+ var patch = patches[i];+ var localDomNode = patch.t+ var newNode = _VirtualDom_applyPatch(localDomNode, patch);+ if (localDomNode === rootDomNode)+ {+ rootDomNode = newNode;+ }+ }+ return rootDomNode;+}++function _VirtualDom_applyPatch(domNode, patch)+{+ switch (patch.$)+ {+ case 0:+ return _VirtualDom_applyPatchRedraw(domNode, patch.s, patch.u);++ case 4:+ _VirtualDom_applyFacts(domNode, patch.u, patch.s);+ return domNode;++ case 3:+ domNode.replaceData(0, domNode.length, patch.s);+ return domNode;++ case 1:+ return _VirtualDom_applyPatchesHelp(domNode, patch.s);++ case 2:+ if (domNode.elm_event_node_ref)+ {+ domNode.elm_event_node_ref.j = patch.s;+ }+ else+ {+ domNode.elm_event_node_ref = { j: patch.s, p: patch.u };+ }+ return domNode;++ case 6:+ var data = patch.s;+ for (var i = 0; i < data.i; i++)+ {+ domNode.removeChild(domNode.childNodes[data.v]);+ }+ return domNode;++ case 7:+ var data = patch.s;+ var kids = data.e;+ var i = data.v;+ var theEnd = domNode.childNodes[i];+ for (; i < kids.length; i++)+ {+ domNode.insertBefore(_VirtualDom_render(kids[i], patch.u), theEnd);+ }+ return domNode;++ case 9:+ var data = patch.s;+ if (!data)+ {+ domNode.parentNode.removeChild(domNode);+ return domNode;+ }+ var entry = data.A;+ if (typeof entry.r !== 'undefined')+ {+ domNode.parentNode.removeChild(domNode);+ }+ entry.s = _VirtualDom_applyPatchesHelp(domNode, data.w);+ return domNode;++ case 8:+ return _VirtualDom_applyPatchReorder(domNode, patch);++ case 5:+ return patch.s(domNode);++ default:+ _Debug_crash(10); // 'Ran into an unknown patch!'+ }+}+++function _VirtualDom_applyPatchRedraw(domNode, vNode, eventNode)+{+ var parentNode = domNode.parentNode;+ var newNode = _VirtualDom_render(vNode, eventNode);++ if (!newNode.elm_event_node_ref)+ {+ newNode.elm_event_node_ref = domNode.elm_event_node_ref;+ }++ if (parentNode && newNode !== domNode)+ {+ parentNode.replaceChild(newNode, domNode);+ }+ return newNode;+}+++function _VirtualDom_applyPatchReorder(domNode, patch)+{+ var data = patch.s;++ // remove end inserts+ var frag = _VirtualDom_applyPatchReorderEndInsertsHelp(data.y, patch);++ // removals+ domNode = _VirtualDom_applyPatchesHelp(domNode, data.w);++ // inserts+ var inserts = data.x;+ for (var i = 0; i < inserts.length; i++)+ {+ var insert = inserts[i];+ var entry = insert.A;+ var node = entry.c === 2+ ? entry.s+ : _VirtualDom_render(entry.z, patch.u);+ domNode.insertBefore(node, domNode.childNodes[insert.r]);+ }++ // add end inserts+ if (frag)+ {+ _VirtualDom_appendChild(domNode, frag);+ }++ return domNode;+}+++function _VirtualDom_applyPatchReorderEndInsertsHelp(endInserts, patch)+{+ if (!endInserts)+ {+ return;+ }++ var frag = _VirtualDom_doc.createDocumentFragment();+ for (var i = 0; i < endInserts.length; i++)+ {+ var insert = endInserts[i];+ var entry = insert.A;+ _VirtualDom_appendChild(frag, entry.c === 2+ ? entry.s+ : _VirtualDom_render(entry.z, patch.u)+ );+ }+ return frag;+}+++function _VirtualDom_virtualize(node)+{+ // TEXT NODES++ if (node.nodeType === 3)+ {+ return _VirtualDom_text(node.textContent);+ }+++ // WEIRD NODES++ if (node.nodeType !== 1)+ {+ return _VirtualDom_text('');+ }+++ // ELEMENT NODES++ var attrList = _List_Nil;+ var attrs = node.attributes;+ for (var i = attrs.length; i--; )+ {+ var attr = attrs[i];+ var name = attr.name;+ var value = attr.value;+ attrList = _List_Cons( A2(_VirtualDom_attribute, name, value), attrList );+ }++ var tag = node.tagName.toLowerCase();+ var kidList = _List_Nil;+ var kids = node.childNodes;++ for (var i = kids.length; i--; )+ {+ kidList = _List_Cons(_VirtualDom_virtualize(kids[i]), kidList);+ }+ return A3(_VirtualDom_node, tag, attrList, kidList);+}++function _VirtualDom_dekey(keyedNode)+{+ var keyedKids = keyedNode.e;+ var len = keyedKids.length;+ var kids = new Array(len);+ for (var i = 0; i < len; i++)+ {+ kids[i] = keyedKids[i].b;+ }++ return {+ $: 1,+ c: keyedNode.c,+ d: keyedNode.d,+ e: kids,+ f: keyedNode.f,+ b: keyedNode.b+ };+}+++++// ELEMENT+++var _Debugger_element;++var _Browser_element = _Debugger_element || F4(function(impl, flagDecoder, debugMetadata, args)+{+ return _Platform_initialize(+ flagDecoder,+ args,+ impl.c3,+ impl.dC,+ impl.dw,+ function(sendToApp, initialModel) {+ var view = impl.dE;+ /**/+ var domNode = args['node'];+ //*/+ /**_UNUSED/+ var domNode = args && args['node'] ? args['node'] : _Debug_crash(0);+ //*/+ var currNode = _VirtualDom_virtualize(domNode);++ return _Browser_makeAnimator(initialModel, function(model)+ {+ var nextNode = view(model);+ var patches = _VirtualDom_diff(currNode, nextNode);+ domNode = _VirtualDom_applyPatches(domNode, currNode, patches, sendToApp);+ currNode = nextNode;+ });+ }+ );+});++++// DOCUMENT+++var _Debugger_document;++var _Browser_document = _Debugger_document || F4(function(impl, flagDecoder, debugMetadata, args)+{+ return _Platform_initialize(+ flagDecoder,+ args,+ impl.c3,+ impl.dC,+ impl.dw,+ function(sendToApp, initialModel) {+ var divertHrefToApp = impl.bl && impl.bl(sendToApp)+ var view = impl.dE;+ var title = _VirtualDom_doc.title;+ var bodyNode = _VirtualDom_doc.body;+ var currNode = _VirtualDom_virtualize(bodyNode);+ return _Browser_makeAnimator(initialModel, function(model)+ {+ _VirtualDom_divertHrefToApp = divertHrefToApp;+ var doc = view(model);+ var nextNode = _VirtualDom_node('body')(_List_Nil)(doc.bA);+ var patches = _VirtualDom_diff(currNode, nextNode);+ bodyNode = _VirtualDom_applyPatches(bodyNode, currNode, patches, sendToApp);+ currNode = nextNode;+ _VirtualDom_divertHrefToApp = 0;+ (title !== doc.dA) && (_VirtualDom_doc.title = title = doc.dA);+ });+ }+ );+});++++// ANIMATION+++var _Browser_cancelAnimationFrame =+ typeof cancelAnimationFrame !== 'undefined'+ ? cancelAnimationFrame+ : function(id) { clearTimeout(id); };++var _Browser_requestAnimationFrame =+ typeof requestAnimationFrame !== 'undefined'+ ? requestAnimationFrame+ : function(callback) { return setTimeout(callback, 1000 / 60); };+++function _Browser_makeAnimator(model, draw)+{+ draw(model);++ var state = 0;++ function updateIfNeeded()+ {+ state = state === 1+ ? 0+ : ( _Browser_requestAnimationFrame(updateIfNeeded), draw(model), 1 );+ }++ return function(nextModel, isSync)+ {+ model = nextModel;++ isSync+ ? ( draw(model),+ state === 2 && (state = 1)+ )+ : ( state === 0 && _Browser_requestAnimationFrame(updateIfNeeded),+ state = 2+ );+ };+}++++// APPLICATION+++function _Browser_application(impl)+{+ var onUrlChange = impl.di;+ var onUrlRequest = impl.dj;+ var key = function() { key.a(onUrlChange(_Browser_getUrl())); };++ return _Browser_document({+ bl: function(sendToApp)+ {+ key.a = sendToApp;+ _Browser_window.addEventListener('popstate', key);+ _Browser_window.navigator.userAgent.indexOf('Trident') < 0 || _Browser_window.addEventListener('hashchange', key);++ return F2(function(domNode, event)+ {+ if (!event.ctrlKey && !event.metaKey && !event.shiftKey && event.button < 1 && !domNode.target && !domNode.hasAttribute('download'))+ {+ event.preventDefault();+ var href = domNode.href;+ var curr = _Browser_getUrl();+ var next = $elm$url$Url$fromString(href).a;+ sendToApp(onUrlRequest(+ (next+ && curr.cd === next.cd+ && curr.bV === next.bV+ && curr.b9.a === next.b9.a+ )+ ? $elm$browser$Browser$Internal(next)+ : $elm$browser$Browser$External(href)+ ));+ }+ });+ },+ c3: function(flags)+ {+ return A3(impl.c3, flags, _Browser_getUrl(), key);+ },+ dE: impl.dE,+ dC: impl.dC,+ dw: impl.dw+ });+}++function _Browser_getUrl()+{+ return $elm$url$Url$fromString(_VirtualDom_doc.location.href).a || _Debug_crash(1);+}++var _Browser_go = F2(function(key, n)+{+ return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() {+ n && history.go(n);+ key();+ }));+});++var _Browser_pushUrl = F2(function(key, url)+{+ return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() {+ history.pushState({}, '', url);+ key();+ }));+});++var _Browser_replaceUrl = F2(function(key, url)+{+ return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() {+ history.replaceState({}, '', url);+ key();+ }));+});++++// GLOBAL EVENTS+++var _Browser_fakeNode = { addEventListener: function() {}, removeEventListener: function() {} };+var _Browser_doc = typeof document !== 'undefined' ? document : _Browser_fakeNode;+var _Browser_window = typeof window !== 'undefined' ? window : _Browser_fakeNode;++var _Browser_on = F3(function(node, eventName, sendToSelf)+{+ return _Scheduler_spawn(_Scheduler_binding(function(callback)+ {+ function handler(event) { _Scheduler_rawSpawn(sendToSelf(event)); }+ node.addEventListener(eventName, handler, _VirtualDom_passiveSupported && { passive: true });+ return function() { node.removeEventListener(eventName, handler); };+ }));+});++var _Browser_decodeEvent = F2(function(decoder, event)+{+ var result = _Json_runHelp(decoder, event);+ return $elm$core$Result$isOk(result) ? $elm$core$Maybe$Just(result.a) : $elm$core$Maybe$Nothing;+});++++// PAGE VISIBILITY+++function _Browser_visibilityInfo()+{+ return (typeof _VirtualDom_doc.hidden !== 'undefined')+ ? { c0: 'hidden', cO: 'visibilitychange' }+ :+ (typeof _VirtualDom_doc.mozHidden !== 'undefined')+ ? { c0: 'mozHidden', cO: 'mozvisibilitychange' }+ :+ (typeof _VirtualDom_doc.msHidden !== 'undefined')+ ? { c0: 'msHidden', cO: 'msvisibilitychange' }+ :+ (typeof _VirtualDom_doc.webkitHidden !== 'undefined')+ ? { c0: 'webkitHidden', cO: 'webkitvisibilitychange' }+ : { c0: 'hidden', cO: 'visibilitychange' };+}++++// ANIMATION FRAMES+++function _Browser_rAF()+{+ return _Scheduler_binding(function(callback)+ {+ var id = _Browser_requestAnimationFrame(function() {+ callback(_Scheduler_succeed(Date.now()));+ });++ return function() {+ _Browser_cancelAnimationFrame(id);+ };+ });+}+++function _Browser_now()+{+ return _Scheduler_binding(function(callback)+ {+ callback(_Scheduler_succeed(Date.now()));+ });+}++++// DOM STUFF+++function _Browser_withNode(id, doStuff)+{+ return _Scheduler_binding(function(callback)+ {+ _Browser_requestAnimationFrame(function() {+ var node = document.getElementById(id);+ callback(node+ ? _Scheduler_succeed(doStuff(node))+ : _Scheduler_fail($elm$browser$Browser$Dom$NotFound(id))+ );+ });+ });+}+++function _Browser_withWindow(doStuff)+{+ return _Scheduler_binding(function(callback)+ {+ _Browser_requestAnimationFrame(function() {+ callback(_Scheduler_succeed(doStuff()));+ });+ });+}+++// FOCUS and BLUR+++var _Browser_call = F2(function(functionName, id)+{+ return _Browser_withNode(id, function(node) {+ node[functionName]();+ return _Utils_Tuple0;+ });+});++++// WINDOW VIEWPORT+++function _Browser_getViewport()+{+ return {+ co: _Browser_getScene(),+ cD: {+ cF: _Browser_window.pageXOffset,+ cG: _Browser_window.pageYOffset,+ cE: _Browser_doc.documentElement.clientWidth,+ bT: _Browser_doc.documentElement.clientHeight+ }+ };+}++function _Browser_getScene()+{+ var body = _Browser_doc.body;+ var elem = _Browser_doc.documentElement;+ return {+ cE: Math.max(body.scrollWidth, body.offsetWidth, elem.scrollWidth, elem.offsetWidth, elem.clientWidth),+ bT: Math.max(body.scrollHeight, body.offsetHeight, elem.scrollHeight, elem.offsetHeight, elem.clientHeight)+ };+}++var _Browser_setViewport = F2(function(x, y)+{+ return _Browser_withWindow(function()+ {+ _Browser_window.scroll(x, y);+ return _Utils_Tuple0;+ });+});++++// ELEMENT VIEWPORT+++function _Browser_getViewportOf(id)+{+ return _Browser_withNode(id, function(node)+ {+ return {+ co: {+ cE: node.scrollWidth,+ bT: node.scrollHeight+ },+ cD: {+ cF: node.scrollLeft,+ cG: node.scrollTop,+ cE: node.clientWidth,+ bT: node.clientHeight+ }+ };+ });+}+++var _Browser_setViewportOf = F3(function(id, x, y)+{+ return _Browser_withNode(id, function(node)+ {+ node.scrollLeft = x;+ node.scrollTop = y;+ return _Utils_Tuple0;+ });+});++++// ELEMENT+++function _Browser_getElement(id)+{+ return _Browser_withNode(id, function(node)+ {+ var rect = node.getBoundingClientRect();+ var x = _Browser_window.pageXOffset;+ var y = _Browser_window.pageYOffset;+ return {+ co: _Browser_getScene(),+ cD: {+ cF: x,+ cG: y,+ cE: _Browser_doc.documentElement.clientWidth,+ bT: _Browser_doc.documentElement.clientHeight+ },+ cV: {+ cF: x + rect.left,+ cG: y + rect.top,+ cE: rect.width,+ bT: rect.height+ }+ };+ });+}++++// LOAD and RELOAD+++function _Browser_reload(skipCache)+{+ return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function(callback)+ {+ _VirtualDom_doc.location.reload(skipCache);+ }));+}++function _Browser_load(url)+{+ return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function(callback)+ {+ try+ {+ _Browser_window.location = url;+ }+ catch(err)+ {+ // Only Firefox can throw a NS_ERROR_MALFORMED_URI exception here.+ // Other browsers reload the page, so let's be consistent about that.+ _VirtualDom_doc.location.reload(false);+ }+ }));+}++++function _Time_now(millisToPosix)+{+ return _Scheduler_binding(function(callback)+ {+ callback(_Scheduler_succeed(millisToPosix(Date.now())));+ });+}++var _Time_setInterval = F2(function(interval, task)+{+ return _Scheduler_binding(function(callback)+ {+ var id = setInterval(function() { _Scheduler_rawSpawn(task); }, interval);+ return function() { clearInterval(id); };+ });+});++function _Time_here()+{+ return _Scheduler_binding(function(callback)+ {+ callback(_Scheduler_succeed(+ A2($elm$time$Time$customZone, -(new Date().getTimezoneOffset()), _List_Nil)+ ));+ });+}+++function _Time_getZoneName()+{+ return _Scheduler_binding(function(callback)+ {+ try+ {+ var name = $elm$time$Time$Name(Intl.DateTimeFormat().resolvedOptions().timeZone);+ }+ catch (e)+ {+ var name = $elm$time$Time$Offset(new Date().getTimezoneOffset());+ }+ callback(_Scheduler_succeed(name));+ });+}++++// SEND REQUEST++var _Http_toTask = F3(function(router, toTask, request)+{+ return _Scheduler_binding(function(callback)+ {+ function done(response) {+ callback(toTask(request.bM.a(response)));+ }++ var xhr = new XMLHttpRequest();+ xhr.addEventListener('error', function() { done($elm$http$Http$NetworkError_); });+ xhr.addEventListener('timeout', function() { done($elm$http$Http$Timeout_); });+ xhr.addEventListener('load', function() { done(_Http_toResponse(request.bM.b, xhr)); });+ $elm$core$Maybe$isJust(request.dB) && _Http_track(router, xhr, request.dB.a);++ try {+ xhr.open(request.c6, request.cC, true);+ } catch (e) {+ return done($elm$http$Http$BadUrl_(request.cC));+ }++ _Http_configureRequest(xhr, request);++ request.bA.a && xhr.setRequestHeader('Content-Type', request.bA.a);+ xhr.send(request.bA.b);++ return function() { xhr.c = true; xhr.abort(); };+ });+});+++// CONFIGURE++function _Http_configureRequest(xhr, request)+{+ for (var headers = request.c$; headers.b; headers = headers.b) // WHILE_CONS+ {+ xhr.setRequestHeader(headers.a.a, headers.a.b);+ }+ xhr.timeout = request.dz.a || 0;+ xhr.responseType = request.bM.d;+ xhr.withCredentials = request.cK;+}+++// RESPONSES++function _Http_toResponse(toBody, xhr)+{+ return A2(+ 200 <= xhr.status && xhr.status < 300 ? $elm$http$Http$GoodStatus_ : $elm$http$Http$BadStatus_,+ _Http_toMetadata(xhr),+ toBody(xhr.response)+ );+}+++// METADATA++function _Http_toMetadata(xhr)+{+ return {+ cC: xhr.responseURL,+ du: xhr.status,+ dv: xhr.statusText,+ c$: _Http_parseHeaders(xhr.getAllResponseHeaders())+ };+}+++// HEADERS++function _Http_parseHeaders(rawHeaders)+{+ if (!rawHeaders)+ {+ return $elm$core$Dict$empty;+ }++ var headers = $elm$core$Dict$empty;+ var headerPairs = rawHeaders.split('\r\n');+ for (var i = headerPairs.length; i--; )+ {+ var headerPair = headerPairs[i];+ var index = headerPair.indexOf(': ');+ if (index > 0)+ {+ var key = headerPair.substring(0, index);+ var value = headerPair.substring(index + 2);++ headers = A3($elm$core$Dict$update, key, function(oldValue) {+ return $elm$core$Maybe$Just($elm$core$Maybe$isJust(oldValue)+ ? value + ', ' + oldValue.a+ : value+ );+ }, headers);+ }+ }+ return headers;+}+++// EXPECT++var _Http_expect = F3(function(type, toBody, toValue)+{+ return {+ $: 0,+ d: type,+ b: toBody,+ a: toValue+ };+});++var _Http_mapExpect = F2(function(func, expect)+{+ return {+ $: 0,+ d: expect.d,+ b: expect.b,+ a: function(x) { return func(expect.a(x)); }+ };+});++function _Http_toDataView(arrayBuffer)+{+ return new DataView(arrayBuffer);+}+++// BODY and PARTS++var _Http_emptyBody = { $: 0 };+var _Http_pair = F2(function(a, b) { return { $: 0, a: a, b: b }; });++function _Http_toFormData(parts)+{+ for (var formData = new FormData(); parts.b; parts = parts.b) // WHILE_CONS+ {+ var part = parts.a;+ formData.append(part.a, part.b);+ }+ return formData;+}++var _Http_bytesToBlob = F2(function(mime, bytes)+{+ return new Blob([bytes], { type: mime });+});+++// PROGRESS++function _Http_track(router, xhr, tracker)+{+ // TODO check out lengthComputable on loadstart event++ xhr.upload.addEventListener('progress', function(event) {+ if (xhr.c) { return; }+ _Scheduler_rawSpawn(A2($elm$core$Platform$sendToSelf, router, _Utils_Tuple2(tracker, $elm$http$Http$Sending({+ dt: event.loaded,+ cq: event.total+ }))));+ });+ xhr.addEventListener('progress', function(event) {+ if (xhr.c) { return; }+ _Scheduler_rawSpawn(A2($elm$core$Platform$sendToSelf, router, _Utils_Tuple2(tracker, $elm$http$Http$Receiving({+ $7: event.loaded,+ cq: event.lengthComputable ? $elm$core$Maybe$Just(event.total) : $elm$core$Maybe$Nothing+ }))));+ });+}+++var _Bitwise_and = F2(function(a, b)+{+ return a & b;+});++var _Bitwise_or = F2(function(a, b)+{+ return a | b;+});++var _Bitwise_xor = F2(function(a, b)+{+ return a ^ b;+});++function _Bitwise_complement(a)+{+ return ~a;+};++var _Bitwise_shiftLeftBy = F2(function(offset, a)+{+ return a << offset;+});++var _Bitwise_shiftRightBy = F2(function(offset, a)+{+ return a >> offset;+});++var _Bitwise_shiftRightZfBy = F2(function(offset, a)+{+ return a >>> offset;+});+++++// STRINGS+++var _Parser_isSubString = F5(function(smallString, offset, row, col, bigString)+{+ var smallLength = smallString.length;+ var isGood = offset + smallLength <= bigString.length;++ for (var i = 0; isGood && i < smallLength; )+ {+ var code = bigString.charCodeAt(offset);+ isGood =+ smallString[i++] === bigString[offset++]+ && (+ code === 0x000A /* \n */+ ? ( row++, col=1 )+ : ( col++, (code & 0xF800) === 0xD800 ? smallString[i++] === bigString[offset++] : 1 )+ )+ }++ return _Utils_Tuple3(isGood ? offset : -1, row, col);+});++++// CHARS+++var _Parser_isSubChar = F3(function(predicate, offset, string)+{+ return (+ string.length <= offset+ ? -1+ :+ (string.charCodeAt(offset) & 0xF800) === 0xD800+ ? (predicate(_Utils_chr(string.substr(offset, 2))) ? offset + 2 : -1)+ :+ (predicate(_Utils_chr(string[offset]))+ ? ((string[offset] === '\n') ? -2 : (offset + 1))+ : -1+ )+ );+});+++var _Parser_isAsciiCode = F3(function(code, offset, string)+{+ return string.charCodeAt(offset) === code;+});++++// NUMBERS+++var _Parser_chompBase10 = F2(function(offset, string)+{+ for (; offset < string.length; offset++)+ {+ var code = string.charCodeAt(offset);+ if (code < 0x30 || 0x39 < code)+ {+ return offset;+ }+ }+ return offset;+});+++var _Parser_consumeBase = F3(function(base, offset, string)+{+ for (var total = 0; offset < string.length; offset++)+ {+ var digit = string.charCodeAt(offset) - 0x30;+ if (digit < 0 || base <= digit) break;+ total = base * total + digit;+ }+ return _Utils_Tuple2(offset, total);+});+++var _Parser_consumeBase16 = F2(function(offset, string)+{+ for (var total = 0; offset < string.length; offset++)+ {+ var code = string.charCodeAt(offset);+ if (0x30 <= code && code <= 0x39)+ {+ total = 16 * total + code - 0x30;+ }+ else if (0x41 <= code && code <= 0x46)+ {+ total = 16 * total + code - 55;+ }+ else if (0x61 <= code && code <= 0x66)+ {+ total = 16 * total + code - 87;+ }+ else+ {+ break;+ }+ }+ return _Utils_Tuple2(offset, total);+});++++// FIND STRING+++var _Parser_findSubString = F5(function(smallString, offset, row, col, bigString)+{+ var newOffset = bigString.indexOf(smallString, offset);+ var target = newOffset < 0 ? bigString.length : newOffset + smallString.length;++ while (offset < target)+ {+ var code = bigString.charCodeAt(offset++);+ code === 0x000A /* \n */+ ? ( col=1, row++ )+ : ( col++, (code & 0xF800) === 0xD800 && offset++ )+ }++ return _Utils_Tuple3(newOffset, row, col);+});+var $elm$core$List$cons = _List_cons;+var $elm$core$Elm$JsArray$foldr = _JsArray_foldr;+var $elm$core$Array$foldr = F3(+ function (func, baseCase, _v0) {+ var tree = _v0.c;+ var tail = _v0.d;+ var helper = F2(+ function (node, acc) {+ if (!node.$) {+ var subTree = node.a;+ return A3($elm$core$Elm$JsArray$foldr, helper, acc, subTree);+ } else {+ var values = node.a;+ return A3($elm$core$Elm$JsArray$foldr, func, acc, values);+ }+ });+ return A3(+ $elm$core$Elm$JsArray$foldr,+ helper,+ A3($elm$core$Elm$JsArray$foldr, func, baseCase, tail),+ tree);+ });+var $elm$core$Array$toList = function (array) {+ return A3($elm$core$Array$foldr, $elm$core$List$cons, _List_Nil, array);+};+var $elm$core$Dict$foldr = F3(+ function (func, acc, t) {+ foldr:+ while (true) {+ if (t.$ === -2) {+ return acc;+ } else {+ var key = t.b;+ var value = t.c;+ var left = t.d;+ var right = t.e;+ var $temp$func = func,+ $temp$acc = A3(+ func,+ key,+ value,+ A3($elm$core$Dict$foldr, func, acc, right)),+ $temp$t = left;+ func = $temp$func;+ acc = $temp$acc;+ t = $temp$t;+ continue foldr;+ }+ }+ });+var $elm$core$Dict$toList = function (dict) {+ return A3(+ $elm$core$Dict$foldr,+ F3(+ function (key, value, list) {+ return A2(+ $elm$core$List$cons,+ _Utils_Tuple2(key, value),+ list);+ }),+ _List_Nil,+ dict);+};+var $elm$core$Dict$keys = function (dict) {+ return A3(+ $elm$core$Dict$foldr,+ F3(+ function (key, value, keyList) {+ return A2($elm$core$List$cons, key, keyList);+ }),+ _List_Nil,+ dict);+};+var $elm$core$Set$toList = function (_v0) {+ var dict = _v0;+ return $elm$core$Dict$keys(dict);+};+var $elm$core$Basics$EQ = 1;+var $elm$core$Basics$GT = 2;+var $elm$core$Basics$LT = 0;+var $author$project$Main$LoadFlags = {$: 0};+var $author$project$Main$Loading = {$: 0};+var $author$project$Main$NoOp = {$: 3};+var $elm$core$Result$Err = function (a) {+ return {$: 1, a: a};+};+var $elm$json$Json$Decode$Failure = F2(+ function (a, b) {+ return {$: 3, a: a, b: b};+ });+var $elm$json$Json$Decode$Field = F2(+ function (a, b) {+ return {$: 0, a: a, b: b};+ });+var $elm$json$Json$Decode$Index = F2(+ function (a, b) {+ return {$: 1, a: a, b: b};+ });+var $elm$core$Result$Ok = function (a) {+ return {$: 0, a: a};+};+var $elm$json$Json$Decode$OneOf = function (a) {+ return {$: 2, a: a};+};+var $elm$core$Basics$False = 1;+var $elm$core$Basics$add = _Basics_add;+var $elm$core$Maybe$Just = function (a) {+ return {$: 0, a: a};+};+var $elm$core$Maybe$Nothing = {$: 1};+var $elm$core$String$all = _String_all;+var $elm$core$Basics$and = _Basics_and;+var $elm$core$Basics$append = _Utils_append;+var $elm$json$Json$Encode$encode = _Json_encode;+var $elm$core$String$fromInt = _String_fromNumber;+var $elm$core$String$join = F2(+ function (sep, chunks) {+ return A2(+ _String_join,+ sep,+ _List_toArray(chunks));+ });+var $elm$core$String$split = F2(+ function (sep, string) {+ return _List_fromArray(+ A2(_String_split, sep, string));+ });+var $elm$json$Json$Decode$indent = function (str) {+ return A2(+ $elm$core$String$join,+ '\n ',+ A2($elm$core$String$split, '\n', str));+};+var $elm$core$List$foldl = F3(+ function (func, acc, list) {+ foldl:+ while (true) {+ if (!list.b) {+ return acc;+ } else {+ var x = list.a;+ var xs = list.b;+ var $temp$func = func,+ $temp$acc = A2(func, x, acc),+ $temp$list = xs;+ func = $temp$func;+ acc = $temp$acc;+ list = $temp$list;+ continue foldl;+ }+ }+ });+var $elm$core$List$length = function (xs) {+ return A3(+ $elm$core$List$foldl,+ F2(+ function (_v0, i) {+ return i + 1;+ }),+ 0,+ xs);+};+var $elm$core$List$map2 = _List_map2;+var $elm$core$Basics$le = _Utils_le;+var $elm$core$Basics$sub = _Basics_sub;+var $elm$core$List$rangeHelp = F3(+ function (lo, hi, list) {+ rangeHelp:+ while (true) {+ if (_Utils_cmp(lo, hi) < 1) {+ var $temp$lo = lo,+ $temp$hi = hi - 1,+ $temp$list = A2($elm$core$List$cons, hi, list);+ lo = $temp$lo;+ hi = $temp$hi;+ list = $temp$list;+ continue rangeHelp;+ } else {+ return list;+ }+ }+ });+var $elm$core$List$range = F2(+ function (lo, hi) {+ return A3($elm$core$List$rangeHelp, lo, hi, _List_Nil);+ });+var $elm$core$List$indexedMap = F2(+ function (f, xs) {+ return A3(+ $elm$core$List$map2,+ f,+ A2(+ $elm$core$List$range,+ 0,+ $elm$core$List$length(xs) - 1),+ xs);+ });+var $elm$core$Char$toCode = _Char_toCode;+var $elm$core$Char$isLower = function (_char) {+ var code = $elm$core$Char$toCode(_char);+ return (97 <= code) && (code <= 122);+};+var $elm$core$Char$isUpper = function (_char) {+ var code = $elm$core$Char$toCode(_char);+ return (code <= 90) && (65 <= code);+};+var $elm$core$Basics$or = _Basics_or;+var $elm$core$Char$isAlpha = function (_char) {+ return $elm$core$Char$isLower(_char) || $elm$core$Char$isUpper(_char);+};+var $elm$core$Char$isDigit = function (_char) {+ var code = $elm$core$Char$toCode(_char);+ return (code <= 57) && (48 <= code);+};+var $elm$core$Char$isAlphaNum = function (_char) {+ return $elm$core$Char$isLower(_char) || ($elm$core$Char$isUpper(_char) || $elm$core$Char$isDigit(_char));+};+var $elm$core$List$reverse = function (list) {+ return A3($elm$core$List$foldl, $elm$core$List$cons, _List_Nil, list);+};+var $elm$core$String$uncons = _String_uncons;+var $elm$json$Json$Decode$errorOneOf = F2(+ function (i, error) {+ return '\n\n(' + ($elm$core$String$fromInt(i + 1) + (') ' + $elm$json$Json$Decode$indent(+ $elm$json$Json$Decode$errorToString(error))));+ });+var $elm$json$Json$Decode$errorToString = function (error) {+ return A2($elm$json$Json$Decode$errorToStringHelp, error, _List_Nil);+};+var $elm$json$Json$Decode$errorToStringHelp = F2(+ function (error, context) {+ errorToStringHelp:+ while (true) {+ switch (error.$) {+ case 0:+ var f = error.a;+ var err = error.b;+ var isSimple = function () {+ var _v1 = $elm$core$String$uncons(f);+ if (_v1.$ === 1) {+ return false;+ } else {+ var _v2 = _v1.a;+ var _char = _v2.a;+ var rest = _v2.b;+ return $elm$core$Char$isAlpha(_char) && A2($elm$core$String$all, $elm$core$Char$isAlphaNum, rest);+ }+ }();+ var fieldName = isSimple ? ('.' + f) : ('[\'' + (f + '\']'));+ var $temp$error = err,+ $temp$context = A2($elm$core$List$cons, fieldName, context);+ error = $temp$error;+ context = $temp$context;+ continue errorToStringHelp;+ case 1:+ var i = error.a;+ var err = error.b;+ var indexName = '[' + ($elm$core$String$fromInt(i) + ']');+ var $temp$error = err,+ $temp$context = A2($elm$core$List$cons, indexName, context);+ error = $temp$error;+ context = $temp$context;+ continue errorToStringHelp;+ case 2:+ var errors = error.a;+ if (!errors.b) {+ return 'Ran into a Json.Decode.oneOf with no possibilities' + function () {+ if (!context.b) {+ return '!';+ } else {+ return ' at json' + A2(+ $elm$core$String$join,+ '',+ $elm$core$List$reverse(context));+ }+ }();+ } else {+ if (!errors.b.b) {+ var err = errors.a;+ var $temp$error = err,+ $temp$context = context;+ error = $temp$error;+ context = $temp$context;+ continue errorToStringHelp;+ } else {+ var starter = function () {+ if (!context.b) {+ return 'Json.Decode.oneOf';+ } else {+ return 'The Json.Decode.oneOf at json' + A2(+ $elm$core$String$join,+ '',+ $elm$core$List$reverse(context));+ }+ }();+ var introduction = starter + (' failed in the following ' + ($elm$core$String$fromInt(+ $elm$core$List$length(errors)) + ' ways:'));+ return A2(+ $elm$core$String$join,+ '\n\n',+ A2(+ $elm$core$List$cons,+ introduction,+ A2($elm$core$List$indexedMap, $elm$json$Json$Decode$errorOneOf, errors)));+ }+ }+ default:+ var msg = error.a;+ var json = error.b;+ var introduction = function () {+ if (!context.b) {+ return 'Problem with the given value:\n\n';+ } else {+ return 'Problem with the value at json' + (A2(+ $elm$core$String$join,+ '',+ $elm$core$List$reverse(context)) + ':\n\n ');+ }+ }();+ return introduction + ($elm$json$Json$Decode$indent(+ A2($elm$json$Json$Encode$encode, 4, json)) + ('\n\n' + msg));+ }+ }+ });+var $elm$core$Array$branchFactor = 32;+var $elm$core$Array$Array_elm_builtin = F4(+ function (a, b, c, d) {+ return {$: 0, a: a, b: b, c: c, d: d};+ });+var $elm$core$Elm$JsArray$empty = _JsArray_empty;+var $elm$core$Basics$ceiling = _Basics_ceiling;+var $elm$core$Basics$fdiv = _Basics_fdiv;+var $elm$core$Basics$logBase = F2(+ function (base, number) {+ return _Basics_log(number) / _Basics_log(base);+ });+var $elm$core$Basics$toFloat = _Basics_toFloat;+var $elm$core$Array$shiftStep = $elm$core$Basics$ceiling(+ A2($elm$core$Basics$logBase, 2, $elm$core$Array$branchFactor));+var $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);+var $elm$core$Elm$JsArray$initialize = _JsArray_initialize;+var $elm$core$Array$Leaf = function (a) {+ return {$: 1, a: a};+};+var $elm$core$Basics$apL = F2(+ function (f, x) {+ return f(x);+ });+var $elm$core$Basics$apR = F2(+ function (x, f) {+ return f(x);+ });+var $elm$core$Basics$eq = _Utils_equal;+var $elm$core$Basics$floor = _Basics_floor;+var $elm$core$Elm$JsArray$length = _JsArray_length;+var $elm$core$Basics$gt = _Utils_gt;+var $elm$core$Basics$max = F2(+ function (x, y) {+ return (_Utils_cmp(x, y) > 0) ? x : y;+ });+var $elm$core$Basics$mul = _Basics_mul;+var $elm$core$Array$SubTree = function (a) {+ return {$: 0, a: a};+};+var $elm$core$Elm$JsArray$initializeFromList = _JsArray_initializeFromList;+var $elm$core$Array$compressNodes = F2(+ function (nodes, acc) {+ compressNodes:+ while (true) {+ var _v0 = A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, nodes);+ var node = _v0.a;+ var remainingNodes = _v0.b;+ var newAcc = A2(+ $elm$core$List$cons,+ $elm$core$Array$SubTree(node),+ acc);+ if (!remainingNodes.b) {+ return $elm$core$List$reverse(newAcc);+ } else {+ var $temp$nodes = remainingNodes,+ $temp$acc = newAcc;+ nodes = $temp$nodes;+ acc = $temp$acc;+ continue compressNodes;+ }+ }+ });+var $elm$core$Tuple$first = function (_v0) {+ var x = _v0.a;+ return x;+};+var $elm$core$Array$treeFromBuilder = F2(+ function (nodeList, nodeListSize) {+ treeFromBuilder:+ while (true) {+ var newNodeSize = $elm$core$Basics$ceiling(nodeListSize / $elm$core$Array$branchFactor);+ if (newNodeSize === 1) {+ return A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, nodeList).a;+ } else {+ var $temp$nodeList = A2($elm$core$Array$compressNodes, nodeList, _List_Nil),+ $temp$nodeListSize = newNodeSize;+ nodeList = $temp$nodeList;+ nodeListSize = $temp$nodeListSize;+ continue treeFromBuilder;+ }+ }+ });+var $elm$core$Array$builderToArray = F2(+ function (reverseNodeList, builder) {+ if (!builder.l) {+ return A4(+ $elm$core$Array$Array_elm_builtin,+ $elm$core$Elm$JsArray$length(builder.n),+ $elm$core$Array$shiftStep,+ $elm$core$Elm$JsArray$empty,+ builder.n);+ } else {+ var treeLen = builder.l * $elm$core$Array$branchFactor;+ var depth = $elm$core$Basics$floor(+ A2($elm$core$Basics$logBase, $elm$core$Array$branchFactor, treeLen - 1));+ var correctNodeList = reverseNodeList ? $elm$core$List$reverse(builder.o) : builder.o;+ var tree = A2($elm$core$Array$treeFromBuilder, correctNodeList, builder.l);+ return A4(+ $elm$core$Array$Array_elm_builtin,+ $elm$core$Elm$JsArray$length(builder.n) + treeLen,+ A2($elm$core$Basics$max, 5, depth * $elm$core$Array$shiftStep),+ tree,+ builder.n);+ }+ });+var $elm$core$Basics$idiv = _Basics_idiv;+var $elm$core$Basics$lt = _Utils_lt;+var $elm$core$Array$initializeHelp = F5(+ function (fn, fromIndex, len, nodeList, tail) {+ initializeHelp:+ while (true) {+ if (fromIndex < 0) {+ return A2(+ $elm$core$Array$builderToArray,+ false,+ {o: nodeList, l: (len / $elm$core$Array$branchFactor) | 0, n: tail});+ } else {+ var leaf = $elm$core$Array$Leaf(+ A3($elm$core$Elm$JsArray$initialize, $elm$core$Array$branchFactor, fromIndex, fn));+ var $temp$fn = fn,+ $temp$fromIndex = fromIndex - $elm$core$Array$branchFactor,+ $temp$len = len,+ $temp$nodeList = A2($elm$core$List$cons, leaf, nodeList),+ $temp$tail = tail;+ fn = $temp$fn;+ fromIndex = $temp$fromIndex;+ len = $temp$len;+ nodeList = $temp$nodeList;+ tail = $temp$tail;+ continue initializeHelp;+ }+ }+ });+var $elm$core$Basics$remainderBy = _Basics_remainderBy;+var $elm$core$Array$initialize = F2(+ function (len, fn) {+ if (len <= 0) {+ return $elm$core$Array$empty;+ } else {+ var tailLen = len % $elm$core$Array$branchFactor;+ var tail = A3($elm$core$Elm$JsArray$initialize, tailLen, len - tailLen, fn);+ var initialFromIndex = (len - tailLen) - $elm$core$Array$branchFactor;+ return A5($elm$core$Array$initializeHelp, fn, initialFromIndex, len, _List_Nil, tail);+ }+ });+var $elm$core$Basics$True = 0;+var $elm$core$Result$isOk = function (result) {+ if (!result.$) {+ return true;+ } else {+ return false;+ }+};+var $elm$json$Json$Decode$map = _Json_map1;+var $elm$json$Json$Decode$map2 = _Json_map2;+var $elm$json$Json$Decode$succeed = _Json_succeed;+var $elm$virtual_dom$VirtualDom$toHandlerInt = function (handler) {+ switch (handler.$) {+ case 0:+ return 0;+ case 1:+ return 1;+ case 2:+ return 2;+ default:+ return 3;+ }+};+var $elm$browser$Browser$External = function (a) {+ return {$: 1, a: a};+};+var $elm$browser$Browser$Internal = function (a) {+ return {$: 0, a: a};+};+var $elm$core$Basics$identity = function (x) {+ return x;+};+var $elm$browser$Browser$Dom$NotFound = $elm$core$Basics$identity;+var $elm$url$Url$Http = 0;+var $elm$url$Url$Https = 1;+var $elm$url$Url$Url = F6(+ function (protocol, host, port_, path, query, fragment) {+ return {bQ: fragment, bV: host, dm: path, b9: port_, cd: protocol, ce: query};+ });+var $elm$core$String$contains = _String_contains;+var $elm$core$String$length = _String_length;+var $elm$core$String$slice = _String_slice;+var $elm$core$String$dropLeft = F2(+ function (n, string) {+ return (n < 1) ? string : A3(+ $elm$core$String$slice,+ n,+ $elm$core$String$length(string),+ string);+ });+var $elm$core$String$indexes = _String_indexes;+var $elm$core$String$isEmpty = function (string) {+ return string === '';+};+var $elm$core$String$left = F2(+ function (n, string) {+ return (n < 1) ? '' : A3($elm$core$String$slice, 0, n, string);+ });+var $elm$core$String$toInt = _String_toInt;+var $elm$url$Url$chompBeforePath = F5(+ function (protocol, path, params, frag, str) {+ if ($elm$core$String$isEmpty(str) || A2($elm$core$String$contains, '@', str)) {+ return $elm$core$Maybe$Nothing;+ } else {+ var _v0 = A2($elm$core$String$indexes, ':', str);+ if (!_v0.b) {+ return $elm$core$Maybe$Just(+ A6($elm$url$Url$Url, protocol, str, $elm$core$Maybe$Nothing, path, params, frag));+ } else {+ if (!_v0.b.b) {+ var i = _v0.a;+ var _v1 = $elm$core$String$toInt(+ A2($elm$core$String$dropLeft, i + 1, str));+ if (_v1.$ === 1) {+ return $elm$core$Maybe$Nothing;+ } else {+ var port_ = _v1;+ return $elm$core$Maybe$Just(+ A6(+ $elm$url$Url$Url,+ protocol,+ A2($elm$core$String$left, i, str),+ port_,+ path,+ params,+ frag));+ }+ } else {+ return $elm$core$Maybe$Nothing;+ }+ }+ }+ });+var $elm$url$Url$chompBeforeQuery = F4(+ function (protocol, params, frag, str) {+ if ($elm$core$String$isEmpty(str)) {+ return $elm$core$Maybe$Nothing;+ } else {+ var _v0 = A2($elm$core$String$indexes, '/', str);+ if (!_v0.b) {+ return A5($elm$url$Url$chompBeforePath, protocol, '/', params, frag, str);+ } else {+ var i = _v0.a;+ return A5(+ $elm$url$Url$chompBeforePath,+ protocol,+ A2($elm$core$String$dropLeft, i, str),+ params,+ frag,+ A2($elm$core$String$left, i, str));+ }+ }+ });+var $elm$url$Url$chompBeforeFragment = F3(+ function (protocol, frag, str) {+ if ($elm$core$String$isEmpty(str)) {+ return $elm$core$Maybe$Nothing;+ } else {+ var _v0 = A2($elm$core$String$indexes, '?', str);+ if (!_v0.b) {+ return A4($elm$url$Url$chompBeforeQuery, protocol, $elm$core$Maybe$Nothing, frag, str);+ } else {+ var i = _v0.a;+ return A4(+ $elm$url$Url$chompBeforeQuery,+ protocol,+ $elm$core$Maybe$Just(+ A2($elm$core$String$dropLeft, i + 1, str)),+ frag,+ A2($elm$core$String$left, i, str));+ }+ }+ });+var $elm$url$Url$chompAfterProtocol = F2(+ function (protocol, str) {+ if ($elm$core$String$isEmpty(str)) {+ return $elm$core$Maybe$Nothing;+ } else {+ var _v0 = A2($elm$core$String$indexes, '#', str);+ if (!_v0.b) {+ return A3($elm$url$Url$chompBeforeFragment, protocol, $elm$core$Maybe$Nothing, str);+ } else {+ var i = _v0.a;+ return A3(+ $elm$url$Url$chompBeforeFragment,+ protocol,+ $elm$core$Maybe$Just(+ A2($elm$core$String$dropLeft, i + 1, str)),+ A2($elm$core$String$left, i, str));+ }+ }+ });+var $elm$core$String$startsWith = _String_startsWith;+var $elm$url$Url$fromString = function (str) {+ return A2($elm$core$String$startsWith, 'http://', str) ? A2(+ $elm$url$Url$chompAfterProtocol,+ 0,+ A2($elm$core$String$dropLeft, 7, str)) : (A2($elm$core$String$startsWith, 'https://', str) ? A2(+ $elm$url$Url$chompAfterProtocol,+ 1,+ A2($elm$core$String$dropLeft, 8, str)) : $elm$core$Maybe$Nothing);+};+var $elm$core$Basics$never = function (_v0) {+ never:+ while (true) {+ var nvr = _v0;+ var $temp$_v0 = nvr;+ _v0 = $temp$_v0;+ continue never;+ }+};+var $elm$core$Task$Perform = $elm$core$Basics$identity;+var $elm$core$Task$succeed = _Scheduler_succeed;+var $elm$core$Task$init = $elm$core$Task$succeed(0);+var $elm$core$List$foldrHelper = F4(+ function (fn, acc, ctr, ls) {+ if (!ls.b) {+ return acc;+ } else {+ var a = ls.a;+ var r1 = ls.b;+ if (!r1.b) {+ return A2(fn, a, acc);+ } else {+ var b = r1.a;+ var r2 = r1.b;+ if (!r2.b) {+ return A2(+ fn,+ a,+ A2(fn, b, acc));+ } else {+ var c = r2.a;+ var r3 = r2.b;+ if (!r3.b) {+ return A2(+ fn,+ a,+ A2(+ fn,+ b,+ A2(fn, c, acc)));+ } else {+ var d = r3.a;+ var r4 = r3.b;+ var res = (ctr > 500) ? A3(+ $elm$core$List$foldl,+ fn,+ acc,+ $elm$core$List$reverse(r4)) : A4($elm$core$List$foldrHelper, fn, acc, ctr + 1, r4);+ return A2(+ fn,+ a,+ A2(+ fn,+ b,+ A2(+ fn,+ c,+ A2(fn, d, res))));+ }+ }+ }+ }+ });+var $elm$core$List$foldr = F3(+ function (fn, acc, ls) {+ return A4($elm$core$List$foldrHelper, fn, acc, 0, ls);+ });+var $elm$core$List$map = F2(+ function (f, xs) {+ return A3(+ $elm$core$List$foldr,+ F2(+ function (x, acc) {+ return A2(+ $elm$core$List$cons,+ f(x),+ acc);+ }),+ _List_Nil,+ xs);+ });+var $elm$core$Task$andThen = _Scheduler_andThen;+var $elm$core$Task$map = F2(+ function (func, taskA) {+ return A2(+ $elm$core$Task$andThen,+ function (a) {+ return $elm$core$Task$succeed(+ func(a));+ },+ taskA);+ });+var $elm$core$Task$map2 = F3(+ function (func, taskA, taskB) {+ return A2(+ $elm$core$Task$andThen,+ function (a) {+ return A2(+ $elm$core$Task$andThen,+ function (b) {+ return $elm$core$Task$succeed(+ A2(func, a, b));+ },+ taskB);+ },+ taskA);+ });+var $elm$core$Task$sequence = function (tasks) {+ return A3(+ $elm$core$List$foldr,+ $elm$core$Task$map2($elm$core$List$cons),+ $elm$core$Task$succeed(_List_Nil),+ tasks);+};+var $elm$core$Platform$sendToApp = _Platform_sendToApp;+var $elm$core$Task$spawnCmd = F2(+ function (router, _v0) {+ var task = _v0;+ return _Scheduler_spawn(+ A2(+ $elm$core$Task$andThen,+ $elm$core$Platform$sendToApp(router),+ task));+ });+var $elm$core$Task$onEffects = F3(+ function (router, commands, state) {+ return A2(+ $elm$core$Task$map,+ function (_v0) {+ return 0;+ },+ $elm$core$Task$sequence(+ A2(+ $elm$core$List$map,+ $elm$core$Task$spawnCmd(router),+ commands)));+ });+var $elm$core$Task$onSelfMsg = F3(+ function (_v0, _v1, _v2) {+ return $elm$core$Task$succeed(0);+ });+var $elm$core$Task$cmdMap = F2(+ function (tagger, _v0) {+ var task = _v0;+ return A2($elm$core$Task$map, tagger, task);+ });+_Platform_effectManagers['Task'] = _Platform_createManager($elm$core$Task$init, $elm$core$Task$onEffects, $elm$core$Task$onSelfMsg, $elm$core$Task$cmdMap);+var $elm$core$Task$command = _Platform_leaf('Task');+var $elm$core$Task$perform = F2(+ function (toMessage, task) {+ return $elm$core$Task$command(+ A2($elm$core$Task$map, toMessage, task));+ });+var $elm$browser$Browser$application = _Browser_application;+var $elm$time$Time$Every = F2(+ function (a, b) {+ return {$: 0, a: a, b: b};+ });+var $elm$time$Time$State = F2(+ function (taggers, processes) {+ return {cc: processes, cx: taggers};+ });+var $elm$core$Dict$RBEmpty_elm_builtin = {$: -2};+var $elm$core$Dict$empty = $elm$core$Dict$RBEmpty_elm_builtin;+var $elm$time$Time$init = $elm$core$Task$succeed(+ A2($elm$time$Time$State, $elm$core$Dict$empty, $elm$core$Dict$empty));+var $elm$core$Basics$compare = _Utils_compare;+var $elm$core$Dict$get = F2(+ function (targetKey, dict) {+ get:+ while (true) {+ if (dict.$ === -2) {+ return $elm$core$Maybe$Nothing;+ } else {+ var key = dict.b;+ var value = dict.c;+ var left = dict.d;+ var right = dict.e;+ var _v1 = A2($elm$core$Basics$compare, targetKey, key);+ switch (_v1) {+ case 0:+ var $temp$targetKey = targetKey,+ $temp$dict = left;+ targetKey = $temp$targetKey;+ dict = $temp$dict;+ continue get;+ case 1:+ return $elm$core$Maybe$Just(value);+ default:+ var $temp$targetKey = targetKey,+ $temp$dict = right;+ targetKey = $temp$targetKey;+ dict = $temp$dict;+ continue get;+ }+ }+ }+ });+var $elm$core$Dict$Black = 1;+var $elm$core$Dict$RBNode_elm_builtin = F5(+ function (a, b, c, d, e) {+ return {$: -1, a: a, b: b, c: c, d: d, e: e};+ });+var $elm$core$Dict$Red = 0;+var $elm$core$Dict$balance = F5(+ function (color, key, value, left, right) {+ if ((right.$ === -1) && (!right.a)) {+ var _v1 = right.a;+ var rK = right.b;+ var rV = right.c;+ var rLeft = right.d;+ var rRight = right.e;+ if ((left.$ === -1) && (!left.a)) {+ var _v3 = left.a;+ var lK = left.b;+ var lV = left.c;+ var lLeft = left.d;+ var lRight = left.e;+ return A5(+ $elm$core$Dict$RBNode_elm_builtin,+ 0,+ key,+ value,+ A5($elm$core$Dict$RBNode_elm_builtin, 1, lK, lV, lLeft, lRight),+ A5($elm$core$Dict$RBNode_elm_builtin, 1, rK, rV, rLeft, rRight));+ } else {+ return A5(+ $elm$core$Dict$RBNode_elm_builtin,+ color,+ rK,+ rV,+ A5($elm$core$Dict$RBNode_elm_builtin, 0, key, value, left, rLeft),+ rRight);+ }+ } else {+ if ((((left.$ === -1) && (!left.a)) && (left.d.$ === -1)) && (!left.d.a)) {+ var _v5 = left.a;+ var lK = left.b;+ var lV = left.c;+ var _v6 = left.d;+ var _v7 = _v6.a;+ var llK = _v6.b;+ var llV = _v6.c;+ var llLeft = _v6.d;+ var llRight = _v6.e;+ var lRight = left.e;+ return A5(+ $elm$core$Dict$RBNode_elm_builtin,+ 0,+ lK,+ lV,+ A5($elm$core$Dict$RBNode_elm_builtin, 1, llK, llV, llLeft, llRight),+ A5($elm$core$Dict$RBNode_elm_builtin, 1, key, value, lRight, right));+ } else {+ return A5($elm$core$Dict$RBNode_elm_builtin, color, key, value, left, right);+ }+ }+ });+var $elm$core$Dict$insertHelp = F3(+ function (key, value, dict) {+ if (dict.$ === -2) {+ return A5($elm$core$Dict$RBNode_elm_builtin, 0, key, value, $elm$core$Dict$RBEmpty_elm_builtin, $elm$core$Dict$RBEmpty_elm_builtin);+ } else {+ var nColor = dict.a;+ var nKey = dict.b;+ var nValue = dict.c;+ var nLeft = dict.d;+ var nRight = dict.e;+ var _v1 = A2($elm$core$Basics$compare, key, nKey);+ switch (_v1) {+ case 0:+ return A5(+ $elm$core$Dict$balance,+ nColor,+ nKey,+ nValue,+ A3($elm$core$Dict$insertHelp, key, value, nLeft),+ nRight);+ case 1:+ return A5($elm$core$Dict$RBNode_elm_builtin, nColor, nKey, value, nLeft, nRight);+ default:+ return A5(+ $elm$core$Dict$balance,+ nColor,+ nKey,+ nValue,+ nLeft,+ A3($elm$core$Dict$insertHelp, key, value, nRight));+ }+ }+ });+var $elm$core$Dict$insert = F3(+ function (key, value, dict) {+ var _v0 = A3($elm$core$Dict$insertHelp, key, value, dict);+ if ((_v0.$ === -1) && (!_v0.a)) {+ var _v1 = _v0.a;+ var k = _v0.b;+ var v = _v0.c;+ var l = _v0.d;+ var r = _v0.e;+ return A5($elm$core$Dict$RBNode_elm_builtin, 1, k, v, l, r);+ } else {+ var x = _v0;+ return x;+ }+ });+var $elm$time$Time$addMySub = F2(+ function (_v0, state) {+ var interval = _v0.a;+ var tagger = _v0.b;+ var _v1 = A2($elm$core$Dict$get, interval, state);+ if (_v1.$ === 1) {+ return A3(+ $elm$core$Dict$insert,+ interval,+ _List_fromArray(+ [tagger]),+ state);+ } else {+ var taggers = _v1.a;+ return A3(+ $elm$core$Dict$insert,+ interval,+ A2($elm$core$List$cons, tagger, taggers),+ state);+ }+ });+var $elm$core$Process$kill = _Scheduler_kill;+var $elm$core$Dict$foldl = F3(+ function (func, acc, dict) {+ foldl:+ while (true) {+ if (dict.$ === -2) {+ return acc;+ } else {+ var key = dict.b;+ var value = dict.c;+ var left = dict.d;+ var right = dict.e;+ var $temp$func = func,+ $temp$acc = A3(+ func,+ key,+ value,+ A3($elm$core$Dict$foldl, func, acc, left)),+ $temp$dict = right;+ func = $temp$func;+ acc = $temp$acc;+ dict = $temp$dict;+ continue foldl;+ }+ }+ });+var $elm$core$Dict$merge = F6(+ function (leftStep, bothStep, rightStep, leftDict, rightDict, initialResult) {+ var stepState = F3(+ function (rKey, rValue, _v0) {+ stepState:+ while (true) {+ var list = _v0.a;+ var result = _v0.b;+ if (!list.b) {+ return _Utils_Tuple2(+ list,+ A3(rightStep, rKey, rValue, result));+ } else {+ var _v2 = list.a;+ var lKey = _v2.a;+ var lValue = _v2.b;+ var rest = list.b;+ if (_Utils_cmp(lKey, rKey) < 0) {+ var $temp$rKey = rKey,+ $temp$rValue = rValue,+ $temp$_v0 = _Utils_Tuple2(+ rest,+ A3(leftStep, lKey, lValue, result));+ rKey = $temp$rKey;+ rValue = $temp$rValue;+ _v0 = $temp$_v0;+ continue stepState;+ } else {+ if (_Utils_cmp(lKey, rKey) > 0) {+ return _Utils_Tuple2(+ list,+ A3(rightStep, rKey, rValue, result));+ } else {+ return _Utils_Tuple2(+ rest,+ A4(bothStep, lKey, lValue, rValue, result));+ }+ }+ }+ }+ });+ var _v3 = A3(+ $elm$core$Dict$foldl,+ stepState,+ _Utils_Tuple2(+ $elm$core$Dict$toList(leftDict),+ initialResult),+ rightDict);+ var leftovers = _v3.a;+ var intermediateResult = _v3.b;+ return A3(+ $elm$core$List$foldl,+ F2(+ function (_v4, result) {+ var k = _v4.a;+ var v = _v4.b;+ return A3(leftStep, k, v, result);+ }),+ intermediateResult,+ leftovers);+ });+var $elm$core$Platform$sendToSelf = _Platform_sendToSelf;+var $elm$time$Time$Name = function (a) {+ return {$: 0, a: a};+};+var $elm$time$Time$Offset = function (a) {+ return {$: 1, a: a};+};+var $elm$time$Time$Zone = F2(+ function (a, b) {+ return {$: 0, a: a, b: b};+ });+var $elm$time$Time$customZone = $elm$time$Time$Zone;+var $elm$time$Time$setInterval = _Time_setInterval;+var $elm$core$Process$spawn = _Scheduler_spawn;+var $elm$time$Time$spawnHelp = F3(+ function (router, intervals, processes) {+ if (!intervals.b) {+ return $elm$core$Task$succeed(processes);+ } else {+ var interval = intervals.a;+ var rest = intervals.b;+ var spawnTimer = $elm$core$Process$spawn(+ A2(+ $elm$time$Time$setInterval,+ interval,+ A2($elm$core$Platform$sendToSelf, router, interval)));+ var spawnRest = function (id) {+ return A3(+ $elm$time$Time$spawnHelp,+ router,+ rest,+ A3($elm$core$Dict$insert, interval, id, processes));+ };+ return A2($elm$core$Task$andThen, spawnRest, spawnTimer);+ }+ });+var $elm$time$Time$onEffects = F3(+ function (router, subs, _v0) {+ var processes = _v0.cc;+ var rightStep = F3(+ function (_v6, id, _v7) {+ var spawns = _v7.a;+ var existing = _v7.b;+ var kills = _v7.c;+ return _Utils_Tuple3(+ spawns,+ existing,+ A2(+ $elm$core$Task$andThen,+ function (_v5) {+ return kills;+ },+ $elm$core$Process$kill(id)));+ });+ var newTaggers = A3($elm$core$List$foldl, $elm$time$Time$addMySub, $elm$core$Dict$empty, subs);+ var leftStep = F3(+ function (interval, taggers, _v4) {+ var spawns = _v4.a;+ var existing = _v4.b;+ var kills = _v4.c;+ return _Utils_Tuple3(+ A2($elm$core$List$cons, interval, spawns),+ existing,+ kills);+ });+ var bothStep = F4(+ function (interval, taggers, id, _v3) {+ var spawns = _v3.a;+ var existing = _v3.b;+ var kills = _v3.c;+ return _Utils_Tuple3(+ spawns,+ A3($elm$core$Dict$insert, interval, id, existing),+ kills);+ });+ var _v1 = A6(+ $elm$core$Dict$merge,+ leftStep,+ bothStep,+ rightStep,+ newTaggers,+ processes,+ _Utils_Tuple3(+ _List_Nil,+ $elm$core$Dict$empty,+ $elm$core$Task$succeed(0)));+ var spawnList = _v1.a;+ var existingDict = _v1.b;+ var killTask = _v1.c;+ return A2(+ $elm$core$Task$andThen,+ function (newProcesses) {+ return $elm$core$Task$succeed(+ A2($elm$time$Time$State, newTaggers, newProcesses));+ },+ A2(+ $elm$core$Task$andThen,+ function (_v2) {+ return A3($elm$time$Time$spawnHelp, router, spawnList, existingDict);+ },+ killTask));+ });+var $elm$time$Time$Posix = $elm$core$Basics$identity;+var $elm$time$Time$millisToPosix = $elm$core$Basics$identity;+var $elm$time$Time$now = _Time_now($elm$time$Time$millisToPosix);+var $elm$time$Time$onSelfMsg = F3(+ function (router, interval, state) {+ var _v0 = A2($elm$core$Dict$get, interval, state.cx);+ if (_v0.$ === 1) {+ return $elm$core$Task$succeed(state);+ } else {+ var taggers = _v0.a;+ var tellTaggers = function (time) {+ return $elm$core$Task$sequence(+ A2(+ $elm$core$List$map,+ function (tagger) {+ return A2(+ $elm$core$Platform$sendToApp,+ router,+ tagger(time));+ },+ taggers));+ };+ return A2(+ $elm$core$Task$andThen,+ function (_v1) {+ return $elm$core$Task$succeed(state);+ },+ A2($elm$core$Task$andThen, tellTaggers, $elm$time$Time$now));+ }+ });+var $elm$core$Basics$composeL = F3(+ function (g, f, x) {+ return g(+ f(x));+ });+var $elm$time$Time$subMap = F2(+ function (f, _v0) {+ var interval = _v0.a;+ var tagger = _v0.b;+ return A2(+ $elm$time$Time$Every,+ interval,+ A2($elm$core$Basics$composeL, f, tagger));+ });+_Platform_effectManagers['Time'] = _Platform_createManager($elm$time$Time$init, $elm$time$Time$onEffects, $elm$time$Time$onSelfMsg, 0, $elm$time$Time$subMap);+var $elm$time$Time$subscription = _Platform_leaf('Time');+var $elm$time$Time$every = F2(+ function (interval, tagger) {+ return $elm$time$Time$subscription(+ A2($elm$time$Time$Every, interval, tagger));+ });+var $author$project$Main$LoadedFlags = function (a) {+ return {$: 1, a: a};+};+var $elm$json$Json$Decode$decodeString = _Json_runOnString;+var $elm$http$Http$BadStatus_ = F2(+ function (a, b) {+ return {$: 3, a: a, b: b};+ });+var $elm$http$Http$BadUrl_ = function (a) {+ return {$: 0, a: a};+};+var $elm$http$Http$GoodStatus_ = F2(+ function (a, b) {+ return {$: 4, a: a, b: b};+ });+var $elm$http$Http$NetworkError_ = {$: 2};+var $elm$http$Http$Receiving = function (a) {+ return {$: 1, a: a};+};+var $elm$http$Http$Sending = function (a) {+ return {$: 0, a: a};+};+var $elm$http$Http$Timeout_ = {$: 1};+var $elm$core$Maybe$isJust = function (maybe) {+ if (!maybe.$) {+ return true;+ } else {+ return false;+ }+};+var $elm$core$Dict$getMin = function (dict) {+ getMin:+ while (true) {+ if ((dict.$ === -1) && (dict.d.$ === -1)) {+ var left = dict.d;+ var $temp$dict = left;+ dict = $temp$dict;+ continue getMin;+ } else {+ return dict;+ }+ }+};+var $elm$core$Dict$moveRedLeft = function (dict) {+ if (((dict.$ === -1) && (dict.d.$ === -1)) && (dict.e.$ === -1)) {+ if ((dict.e.d.$ === -1) && (!dict.e.d.a)) {+ var clr = dict.a;+ var k = dict.b;+ var v = dict.c;+ var _v1 = dict.d;+ var lClr = _v1.a;+ var lK = _v1.b;+ var lV = _v1.c;+ var lLeft = _v1.d;+ var lRight = _v1.e;+ var _v2 = dict.e;+ var rClr = _v2.a;+ var rK = _v2.b;+ var rV = _v2.c;+ var rLeft = _v2.d;+ var _v3 = rLeft.a;+ var rlK = rLeft.b;+ var rlV = rLeft.c;+ var rlL = rLeft.d;+ var rlR = rLeft.e;+ var rRight = _v2.e;+ return A5(+ $elm$core$Dict$RBNode_elm_builtin,+ 0,+ rlK,+ rlV,+ A5(+ $elm$core$Dict$RBNode_elm_builtin,+ 1,+ k,+ v,+ A5($elm$core$Dict$RBNode_elm_builtin, 0, lK, lV, lLeft, lRight),+ rlL),+ A5($elm$core$Dict$RBNode_elm_builtin, 1, rK, rV, rlR, rRight));+ } else {+ var clr = dict.a;+ var k = dict.b;+ var v = dict.c;+ var _v4 = dict.d;+ var lClr = _v4.a;+ var lK = _v4.b;+ var lV = _v4.c;+ var lLeft = _v4.d;+ var lRight = _v4.e;+ var _v5 = dict.e;+ var rClr = _v5.a;+ var rK = _v5.b;+ var rV = _v5.c;+ var rLeft = _v5.d;+ var rRight = _v5.e;+ if (clr === 1) {+ return A5(+ $elm$core$Dict$RBNode_elm_builtin,+ 1,+ k,+ v,+ A5($elm$core$Dict$RBNode_elm_builtin, 0, lK, lV, lLeft, lRight),+ A5($elm$core$Dict$RBNode_elm_builtin, 0, rK, rV, rLeft, rRight));+ } else {+ return A5(+ $elm$core$Dict$RBNode_elm_builtin,+ 1,+ k,+ v,+ A5($elm$core$Dict$RBNode_elm_builtin, 0, lK, lV, lLeft, lRight),+ A5($elm$core$Dict$RBNode_elm_builtin, 0, rK, rV, rLeft, rRight));+ }+ }+ } else {+ return dict;+ }+};+var $elm$core$Dict$moveRedRight = function (dict) {+ if (((dict.$ === -1) && (dict.d.$ === -1)) && (dict.e.$ === -1)) {+ if ((dict.d.d.$ === -1) && (!dict.d.d.a)) {+ var clr = dict.a;+ var k = dict.b;+ var v = dict.c;+ var _v1 = dict.d;+ var lClr = _v1.a;+ var lK = _v1.b;+ var lV = _v1.c;+ var _v2 = _v1.d;+ var _v3 = _v2.a;+ var llK = _v2.b;+ var llV = _v2.c;+ var llLeft = _v2.d;+ var llRight = _v2.e;+ var lRight = _v1.e;+ var _v4 = dict.e;+ var rClr = _v4.a;+ var rK = _v4.b;+ var rV = _v4.c;+ var rLeft = _v4.d;+ var rRight = _v4.e;+ return A5(+ $elm$core$Dict$RBNode_elm_builtin,+ 0,+ lK,+ lV,+ A5($elm$core$Dict$RBNode_elm_builtin, 1, llK, llV, llLeft, llRight),+ A5(+ $elm$core$Dict$RBNode_elm_builtin,+ 1,+ k,+ v,+ lRight,+ A5($elm$core$Dict$RBNode_elm_builtin, 0, rK, rV, rLeft, rRight)));+ } else {+ var clr = dict.a;+ var k = dict.b;+ var v = dict.c;+ var _v5 = dict.d;+ var lClr = _v5.a;+ var lK = _v5.b;+ var lV = _v5.c;+ var lLeft = _v5.d;+ var lRight = _v5.e;+ var _v6 = dict.e;+ var rClr = _v6.a;+ var rK = _v6.b;+ var rV = _v6.c;+ var rLeft = _v6.d;+ var rRight = _v6.e;+ if (clr === 1) {+ return A5(+ $elm$core$Dict$RBNode_elm_builtin,+ 1,+ k,+ v,+ A5($elm$core$Dict$RBNode_elm_builtin, 0, lK, lV, lLeft, lRight),+ A5($elm$core$Dict$RBNode_elm_builtin, 0, rK, rV, rLeft, rRight));+ } else {+ return A5(+ $elm$core$Dict$RBNode_elm_builtin,+ 1,+ k,+ v,+ A5($elm$core$Dict$RBNode_elm_builtin, 0, lK, lV, lLeft, lRight),+ A5($elm$core$Dict$RBNode_elm_builtin, 0, rK, rV, rLeft, rRight));+ }+ }+ } else {+ return dict;+ }+};+var $elm$core$Dict$removeHelpPrepEQGT = F7(+ function (targetKey, dict, color, key, value, left, right) {+ if ((left.$ === -1) && (!left.a)) {+ var _v1 = left.a;+ var lK = left.b;+ var lV = left.c;+ var lLeft = left.d;+ var lRight = left.e;+ return A5(+ $elm$core$Dict$RBNode_elm_builtin,+ color,+ lK,+ lV,+ lLeft,+ A5($elm$core$Dict$RBNode_elm_builtin, 0, key, value, lRight, right));+ } else {+ _v2$2:+ while (true) {+ if ((right.$ === -1) && (right.a === 1)) {+ if (right.d.$ === -1) {+ if (right.d.a === 1) {+ var _v3 = right.a;+ var _v4 = right.d;+ var _v5 = _v4.a;+ return $elm$core$Dict$moveRedRight(dict);+ } else {+ break _v2$2;+ }+ } else {+ var _v6 = right.a;+ var _v7 = right.d;+ return $elm$core$Dict$moveRedRight(dict);+ }+ } else {+ break _v2$2;+ }+ }+ return dict;+ }+ });+var $elm$core$Dict$removeMin = function (dict) {+ if ((dict.$ === -1) && (dict.d.$ === -1)) {+ var color = dict.a;+ var key = dict.b;+ var value = dict.c;+ var left = dict.d;+ var lColor = left.a;+ var lLeft = left.d;+ var right = dict.e;+ if (lColor === 1) {+ if ((lLeft.$ === -1) && (!lLeft.a)) {+ var _v3 = lLeft.a;+ return A5(+ $elm$core$Dict$RBNode_elm_builtin,+ color,+ key,+ value,+ $elm$core$Dict$removeMin(left),+ right);+ } else {+ var _v4 = $elm$core$Dict$moveRedLeft(dict);+ if (_v4.$ === -1) {+ var nColor = _v4.a;+ var nKey = _v4.b;+ var nValue = _v4.c;+ var nLeft = _v4.d;+ var nRight = _v4.e;+ return A5(+ $elm$core$Dict$balance,+ nColor,+ nKey,+ nValue,+ $elm$core$Dict$removeMin(nLeft),+ nRight);+ } else {+ return $elm$core$Dict$RBEmpty_elm_builtin;+ }+ }+ } else {+ return A5(+ $elm$core$Dict$RBNode_elm_builtin,+ color,+ key,+ value,+ $elm$core$Dict$removeMin(left),+ right);+ }+ } else {+ return $elm$core$Dict$RBEmpty_elm_builtin;+ }+};+var $elm$core$Dict$removeHelp = F2(+ function (targetKey, dict) {+ if (dict.$ === -2) {+ return $elm$core$Dict$RBEmpty_elm_builtin;+ } else {+ var color = dict.a;+ var key = dict.b;+ var value = dict.c;+ var left = dict.d;+ var right = dict.e;+ if (_Utils_cmp(targetKey, key) < 0) {+ if ((left.$ === -1) && (left.a === 1)) {+ var _v4 = left.a;+ var lLeft = left.d;+ if ((lLeft.$ === -1) && (!lLeft.a)) {+ var _v6 = lLeft.a;+ return A5(+ $elm$core$Dict$RBNode_elm_builtin,+ color,+ key,+ value,+ A2($elm$core$Dict$removeHelp, targetKey, left),+ right);+ } else {+ var _v7 = $elm$core$Dict$moveRedLeft(dict);+ if (_v7.$ === -1) {+ var nColor = _v7.a;+ var nKey = _v7.b;+ var nValue = _v7.c;+ var nLeft = _v7.d;+ var nRight = _v7.e;+ return A5(+ $elm$core$Dict$balance,+ nColor,+ nKey,+ nValue,+ A2($elm$core$Dict$removeHelp, targetKey, nLeft),+ nRight);+ } else {+ return $elm$core$Dict$RBEmpty_elm_builtin;+ }+ }+ } else {+ return A5(+ $elm$core$Dict$RBNode_elm_builtin,+ color,+ key,+ value,+ A2($elm$core$Dict$removeHelp, targetKey, left),+ right);+ }+ } else {+ return A2(+ $elm$core$Dict$removeHelpEQGT,+ targetKey,+ A7($elm$core$Dict$removeHelpPrepEQGT, targetKey, dict, color, key, value, left, right));+ }+ }+ });+var $elm$core$Dict$removeHelpEQGT = F2(+ function (targetKey, dict) {+ if (dict.$ === -1) {+ var color = dict.a;+ var key = dict.b;+ var value = dict.c;+ var left = dict.d;+ var right = dict.e;+ if (_Utils_eq(targetKey, key)) {+ var _v1 = $elm$core$Dict$getMin(right);+ if (_v1.$ === -1) {+ var minKey = _v1.b;+ var minValue = _v1.c;+ return A5(+ $elm$core$Dict$balance,+ color,+ minKey,+ minValue,+ left,+ $elm$core$Dict$removeMin(right));+ } else {+ return $elm$core$Dict$RBEmpty_elm_builtin;+ }+ } else {+ return A5(+ $elm$core$Dict$balance,+ color,+ key,+ value,+ left,+ A2($elm$core$Dict$removeHelp, targetKey, right));+ }+ } else {+ return $elm$core$Dict$RBEmpty_elm_builtin;+ }+ });+var $elm$core$Dict$remove = F2(+ function (key, dict) {+ var _v0 = A2($elm$core$Dict$removeHelp, key, dict);+ if ((_v0.$ === -1) && (!_v0.a)) {+ var _v1 = _v0.a;+ var k = _v0.b;+ var v = _v0.c;+ var l = _v0.d;+ var r = _v0.e;+ return A5($elm$core$Dict$RBNode_elm_builtin, 1, k, v, l, r);+ } else {+ var x = _v0;+ return x;+ }+ });+var $elm$core$Dict$update = F3(+ function (targetKey, alter, dictionary) {+ var _v0 = alter(+ A2($elm$core$Dict$get, targetKey, dictionary));+ if (!_v0.$) {+ var value = _v0.a;+ return A3($elm$core$Dict$insert, targetKey, value, dictionary);+ } else {+ return A2($elm$core$Dict$remove, targetKey, dictionary);+ }+ });+var $elm$core$Basics$composeR = F3(+ function (f, g, x) {+ return g(+ f(x));+ });+var $elm$http$Http$expectStringResponse = F2(+ function (toMsg, toResult) {+ return A3(+ _Http_expect,+ '',+ $elm$core$Basics$identity,+ A2($elm$core$Basics$composeR, toResult, toMsg));+ });+var $elm$core$Result$mapError = F2(+ function (f, result) {+ if (!result.$) {+ var v = result.a;+ return $elm$core$Result$Ok(v);+ } else {+ var e = result.a;+ return $elm$core$Result$Err(+ f(e));+ }+ });+var $elm$http$Http$BadBody = function (a) {+ return {$: 4, a: a};+};+var $elm$http$Http$BadStatus = function (a) {+ return {$: 3, a: a};+};+var $elm$http$Http$BadUrl = function (a) {+ return {$: 0, a: a};+};+var $elm$http$Http$NetworkError = {$: 2};+var $elm$http$Http$Timeout = {$: 1};+var $elm$http$Http$resolve = F2(+ function (toResult, response) {+ switch (response.$) {+ case 0:+ var url = response.a;+ return $elm$core$Result$Err(+ $elm$http$Http$BadUrl(url));+ case 1:+ return $elm$core$Result$Err($elm$http$Http$Timeout);+ case 2:+ return $elm$core$Result$Err($elm$http$Http$NetworkError);+ case 3:+ var metadata = response.a;+ return $elm$core$Result$Err(+ $elm$http$Http$BadStatus(metadata.du));+ default:+ var body = response.b;+ return A2(+ $elm$core$Result$mapError,+ $elm$http$Http$BadBody,+ toResult(body));+ }+ });+var $elm$http$Http$expectJson = F2(+ function (toMsg, decoder) {+ return A2(+ $elm$http$Http$expectStringResponse,+ toMsg,+ $elm$http$Http$resolve(+ function (string) {+ return A2(+ $elm$core$Result$mapError,+ $elm$json$Json$Decode$errorToString,+ A2($elm$json$Json$Decode$decodeString, decoder, string));+ }));+ });+var $author$project$Main$Percentage = $elm$core$Basics$identity;+var $elm$core$Dict$fromList = function (assocs) {+ return A3(+ $elm$core$List$foldl,+ F2(+ function (_v0, dict) {+ var key = _v0.a;+ var value = _v0.b;+ return A3($elm$core$Dict$insert, key, value, dict);+ }),+ $elm$core$Dict$empty,+ assocs);+};+var $elm$json$Json$Decode$keyValuePairs = _Json_decodeKeyValuePairs;+var $elm$json$Json$Decode$dict = function (decoder) {+ return A2(+ $elm$json$Json$Decode$map,+ $elm$core$Dict$fromList,+ $elm$json$Json$Decode$keyValuePairs(decoder));+};+var $elm$json$Json$Decode$int = _Json_decodeInt;+var $author$project$Main$flagsDecoder = $elm$json$Json$Decode$dict(+ A2($elm$json$Json$Decode$map, $elm$core$Basics$identity, $elm$json$Json$Decode$int));+var $elm$http$Http$emptyBody = _Http_emptyBody;+var $elm$http$Http$Request = function (a) {+ return {$: 1, a: a};+};+var $elm$http$Http$State = F2(+ function (reqs, subs) {+ return {ch: reqs, cw: subs};+ });+var $elm$http$Http$init = $elm$core$Task$succeed(+ A2($elm$http$Http$State, $elm$core$Dict$empty, _List_Nil));+var $elm$http$Http$updateReqs = F3(+ function (router, cmds, reqs) {+ updateReqs:+ while (true) {+ if (!cmds.b) {+ return $elm$core$Task$succeed(reqs);+ } else {+ var cmd = cmds.a;+ var otherCmds = cmds.b;+ if (!cmd.$) {+ var tracker = cmd.a;+ var _v2 = A2($elm$core$Dict$get, tracker, reqs);+ if (_v2.$ === 1) {+ var $temp$router = router,+ $temp$cmds = otherCmds,+ $temp$reqs = reqs;+ router = $temp$router;+ cmds = $temp$cmds;+ reqs = $temp$reqs;+ continue updateReqs;+ } else {+ var pid = _v2.a;+ return A2(+ $elm$core$Task$andThen,+ function (_v3) {+ return A3(+ $elm$http$Http$updateReqs,+ router,+ otherCmds,+ A2($elm$core$Dict$remove, tracker, reqs));+ },+ $elm$core$Process$kill(pid));+ }+ } else {+ var req = cmd.a;+ return A2(+ $elm$core$Task$andThen,+ function (pid) {+ var _v4 = req.dB;+ if (_v4.$ === 1) {+ return A3($elm$http$Http$updateReqs, router, otherCmds, reqs);+ } else {+ var tracker = _v4.a;+ return A3(+ $elm$http$Http$updateReqs,+ router,+ otherCmds,+ A3($elm$core$Dict$insert, tracker, pid, reqs));+ }+ },+ $elm$core$Process$spawn(+ A3(+ _Http_toTask,+ router,+ $elm$core$Platform$sendToApp(router),+ req)));+ }+ }+ }+ });+var $elm$http$Http$onEffects = F4(+ function (router, cmds, subs, state) {+ return A2(+ $elm$core$Task$andThen,+ function (reqs) {+ return $elm$core$Task$succeed(+ A2($elm$http$Http$State, reqs, subs));+ },+ A3($elm$http$Http$updateReqs, router, cmds, state.ch));+ });+var $elm$core$List$maybeCons = F3(+ function (f, mx, xs) {+ var _v0 = f(mx);+ if (!_v0.$) {+ var x = _v0.a;+ return A2($elm$core$List$cons, x, xs);+ } else {+ return xs;+ }+ });+var $elm$core$List$filterMap = F2(+ function (f, xs) {+ return A3(+ $elm$core$List$foldr,+ $elm$core$List$maybeCons(f),+ _List_Nil,+ xs);+ });+var $elm$http$Http$maybeSend = F4(+ function (router, desiredTracker, progress, _v0) {+ var actualTracker = _v0.a;+ var toMsg = _v0.b;+ return _Utils_eq(desiredTracker, actualTracker) ? $elm$core$Maybe$Just(+ A2(+ $elm$core$Platform$sendToApp,+ router,+ toMsg(progress))) : $elm$core$Maybe$Nothing;+ });+var $elm$http$Http$onSelfMsg = F3(+ function (router, _v0, state) {+ var tracker = _v0.a;+ var progress = _v0.b;+ return A2(+ $elm$core$Task$andThen,+ function (_v1) {+ return $elm$core$Task$succeed(state);+ },+ $elm$core$Task$sequence(+ A2(+ $elm$core$List$filterMap,+ A3($elm$http$Http$maybeSend, router, tracker, progress),+ state.cw)));+ });+var $elm$http$Http$Cancel = function (a) {+ return {$: 0, a: a};+};+var $elm$http$Http$cmdMap = F2(+ function (func, cmd) {+ if (!cmd.$) {+ var tracker = cmd.a;+ return $elm$http$Http$Cancel(tracker);+ } else {+ var r = cmd.a;+ return $elm$http$Http$Request(+ {+ cK: r.cK,+ bA: r.bA,+ bM: A2(_Http_mapExpect, func, r.bM),+ c$: r.c$,+ c6: r.c6,+ dz: r.dz,+ dB: r.dB,+ cC: r.cC+ });+ }+ });+var $elm$http$Http$MySub = F2(+ function (a, b) {+ return {$: 0, a: a, b: b};+ });+var $elm$http$Http$subMap = F2(+ function (func, _v0) {+ var tracker = _v0.a;+ var toMsg = _v0.b;+ return A2(+ $elm$http$Http$MySub,+ tracker,+ A2($elm$core$Basics$composeR, toMsg, func));+ });+_Platform_effectManagers['Http'] = _Platform_createManager($elm$http$Http$init, $elm$http$Http$onEffects, $elm$http$Http$onSelfMsg, $elm$http$Http$cmdMap, $elm$http$Http$subMap);+var $elm$http$Http$command = _Platform_leaf('Http');+var $elm$http$Http$subscription = _Platform_leaf('Http');+var $elm$http$Http$request = function (r) {+ return $elm$http$Http$command(+ $elm$http$Http$Request(+ {cK: false, bA: r.bA, bM: r.bM, c$: r.c$, c6: r.c6, dz: r.dz, dB: r.dB, cC: r.cC}));+};+var $elm$http$Http$get = function (r) {+ return $elm$http$Http$request(+ {bA: $elm$http$Http$emptyBody, bM: r.bM, c$: _List_Nil, c6: 'GET', dz: $elm$core$Maybe$Nothing, dB: $elm$core$Maybe$Nothing, cC: r.cC});+};+var $elm$url$Url$Builder$toQueryPair = function (_v0) {+ var key = _v0.a;+ var value = _v0.b;+ return key + ('=' + value);+};+var $elm$url$Url$Builder$toQuery = function (parameters) {+ if (!parameters.b) {+ return '';+ } else {+ return '?' + A2(+ $elm$core$String$join,+ '&',+ A2($elm$core$List$map, $elm$url$Url$Builder$toQueryPair, parameters));+ }+};+var $elm$url$Url$Builder$relative = F2(+ function (pathSegments, parameters) {+ return _Utils_ap(+ A2($elm$core$String$join, '/', pathSegments),+ $elm$url$Url$Builder$toQuery(parameters));+ });+var $author$project$Main$sendLoadFlagsRequest = function (rootPath) {+ return $elm$http$Http$get(+ {+ bM: A2(+ $elm$http$Http$expectJson,+ function (res) {+ if (!res.$) {+ var x = res.a;+ return $author$project$Main$LoadedFlags(x);+ } else {+ return $author$project$Main$LoadedFlags($elm$core$Dict$empty);+ }+ },+ $author$project$Main$flagsDecoder),+ cC: A2(+ $elm$url$Url$Builder$relative,+ _Utils_ap(+ rootPath,+ _List_fromArray(+ ['flags'])),+ _List_Nil)+ });+};+var $elm$core$List$isEmpty = function (xs) {+ if (!xs.b) {+ return true;+ } else {+ return false;+ }+};+var $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles = F2(+ function (_v0, styles) {+ var newStyles = _v0.b;+ var classname = _v0.c;+ return $elm$core$List$isEmpty(newStyles) ? styles : A3($elm$core$Dict$insert, classname, newStyles, styles);+ });+var $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute = function (_v0) {+ var val = _v0.a;+ return val;+};+var $elm$virtual_dom$VirtualDom$keyedNode = function (tag) {+ return _VirtualDom_keyedNode(+ _VirtualDom_noScript(tag));+};+var $elm$virtual_dom$VirtualDom$keyedNodeNS = F2(+ function (namespace, tag) {+ return A2(+ _VirtualDom_keyedNodeNS,+ namespace,+ _VirtualDom_noScript(tag));+ });+var $elm$virtual_dom$VirtualDom$node = function (tag) {+ return _VirtualDom_node(+ _VirtualDom_noScript(tag));+};+var $elm$virtual_dom$VirtualDom$nodeNS = function (tag) {+ return _VirtualDom_nodeNS(+ _VirtualDom_noScript(tag));+};+var $rtfeldman$elm_css$VirtualDom$Styled$accumulateKeyedStyledHtml = F2(+ function (_v6, _v7) {+ var key = _v6.a;+ var html = _v6.b;+ var pairs = _v7.a;+ var styles = _v7.b;+ switch (html.$) {+ case 4:+ var vdom = html.a;+ return _Utils_Tuple2(+ A2(+ $elm$core$List$cons,+ _Utils_Tuple2(key, vdom),+ pairs),+ styles);+ case 0:+ var elemType = html.a;+ var properties = html.b;+ var children = html.c;+ var combinedStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, styles, properties);+ var _v9 = A3(+ $elm$core$List$foldl,+ $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyledHtml,+ _Utils_Tuple2(_List_Nil, combinedStyles),+ children);+ var childNodes = _v9.a;+ var finalStyles = _v9.b;+ var vdom = A3(+ $elm$virtual_dom$VirtualDom$node,+ elemType,+ A2($elm$core$List$map, $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute, properties),+ $elm$core$List$reverse(childNodes));+ return _Utils_Tuple2(+ A2(+ $elm$core$List$cons,+ _Utils_Tuple2(key, vdom),+ pairs),+ finalStyles);+ case 1:+ var ns = html.a;+ var elemType = html.b;+ var properties = html.c;+ var children = html.d;+ var combinedStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, styles, properties);+ var _v10 = A3(+ $elm$core$List$foldl,+ $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyledHtml,+ _Utils_Tuple2(_List_Nil, combinedStyles),+ children);+ var childNodes = _v10.a;+ var finalStyles = _v10.b;+ var vdom = A4(+ $elm$virtual_dom$VirtualDom$nodeNS,+ ns,+ elemType,+ A2($elm$core$List$map, $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute, properties),+ $elm$core$List$reverse(childNodes));+ return _Utils_Tuple2(+ A2(+ $elm$core$List$cons,+ _Utils_Tuple2(key, vdom),+ pairs),+ finalStyles);+ case 2:+ var elemType = html.a;+ var properties = html.b;+ var children = html.c;+ var combinedStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, styles, properties);+ var _v11 = A3(+ $elm$core$List$foldl,+ $rtfeldman$elm_css$VirtualDom$Styled$accumulateKeyedStyledHtml,+ _Utils_Tuple2(_List_Nil, combinedStyles),+ children);+ var childNodes = _v11.a;+ var finalStyles = _v11.b;+ var vdom = A3(+ $elm$virtual_dom$VirtualDom$keyedNode,+ elemType,+ A2($elm$core$List$map, $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute, properties),+ $elm$core$List$reverse(childNodes));+ return _Utils_Tuple2(+ A2(+ $elm$core$List$cons,+ _Utils_Tuple2(key, vdom),+ pairs),+ finalStyles);+ default:+ var ns = html.a;+ var elemType = html.b;+ var properties = html.c;+ var children = html.d;+ var combinedStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, styles, properties);+ var _v12 = A3(+ $elm$core$List$foldl,+ $rtfeldman$elm_css$VirtualDom$Styled$accumulateKeyedStyledHtml,+ _Utils_Tuple2(_List_Nil, combinedStyles),+ children);+ var childNodes = _v12.a;+ var finalStyles = _v12.b;+ var vdom = A4(+ $elm$virtual_dom$VirtualDom$keyedNodeNS,+ ns,+ elemType,+ A2($elm$core$List$map, $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute, properties),+ $elm$core$List$reverse(childNodes));+ return _Utils_Tuple2(+ A2(+ $elm$core$List$cons,+ _Utils_Tuple2(key, vdom),+ pairs),+ finalStyles);+ }+ });+var $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyledHtml = F2(+ function (html, _v0) {+ var nodes = _v0.a;+ var styles = _v0.b;+ switch (html.$) {+ case 4:+ var vdomNode = html.a;+ return _Utils_Tuple2(+ A2($elm$core$List$cons, vdomNode, nodes),+ styles);+ case 0:+ var elemType = html.a;+ var properties = html.b;+ var children = html.c;+ var combinedStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, styles, properties);+ var _v2 = A3(+ $elm$core$List$foldl,+ $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyledHtml,+ _Utils_Tuple2(_List_Nil, combinedStyles),+ children);+ var childNodes = _v2.a;+ var finalStyles = _v2.b;+ var vdomNode = A3(+ $elm$virtual_dom$VirtualDom$node,+ elemType,+ A2($elm$core$List$map, $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute, properties),+ $elm$core$List$reverse(childNodes));+ return _Utils_Tuple2(+ A2($elm$core$List$cons, vdomNode, nodes),+ finalStyles);+ case 1:+ var ns = html.a;+ var elemType = html.b;+ var properties = html.c;+ var children = html.d;+ var combinedStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, styles, properties);+ var _v3 = A3(+ $elm$core$List$foldl,+ $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyledHtml,+ _Utils_Tuple2(_List_Nil, combinedStyles),+ children);+ var childNodes = _v3.a;+ var finalStyles = _v3.b;+ var vdomNode = A4(+ $elm$virtual_dom$VirtualDom$nodeNS,+ ns,+ elemType,+ A2($elm$core$List$map, $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute, properties),+ $elm$core$List$reverse(childNodes));+ return _Utils_Tuple2(+ A2($elm$core$List$cons, vdomNode, nodes),+ finalStyles);+ case 2:+ var elemType = html.a;+ var properties = html.b;+ var children = html.c;+ var combinedStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, styles, properties);+ var _v4 = A3(+ $elm$core$List$foldl,+ $rtfeldman$elm_css$VirtualDom$Styled$accumulateKeyedStyledHtml,+ _Utils_Tuple2(_List_Nil, combinedStyles),+ children);+ var childNodes = _v4.a;+ var finalStyles = _v4.b;+ var vdomNode = A3(+ $elm$virtual_dom$VirtualDom$keyedNode,+ elemType,+ A2($elm$core$List$map, $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute, properties),+ $elm$core$List$reverse(childNodes));+ return _Utils_Tuple2(+ A2($elm$core$List$cons, vdomNode, nodes),+ finalStyles);+ default:+ var ns = html.a;+ var elemType = html.b;+ var properties = html.c;+ var children = html.d;+ var combinedStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, styles, properties);+ var _v5 = A3(+ $elm$core$List$foldl,+ $rtfeldman$elm_css$VirtualDom$Styled$accumulateKeyedStyledHtml,+ _Utils_Tuple2(_List_Nil, combinedStyles),+ children);+ var childNodes = _v5.a;+ var finalStyles = _v5.b;+ var vdomNode = A4(+ $elm$virtual_dom$VirtualDom$keyedNodeNS,+ ns,+ elemType,+ A2($elm$core$List$map, $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute, properties),+ $elm$core$List$reverse(childNodes));+ return _Utils_Tuple2(+ A2($elm$core$List$cons, vdomNode, nodes),+ finalStyles);+ }+ });+var $elm$core$Dict$singleton = F2(+ function (key, value) {+ return A5($elm$core$Dict$RBNode_elm_builtin, 1, key, value, $elm$core$Dict$RBEmpty_elm_builtin, $elm$core$Dict$RBEmpty_elm_builtin);+ });+var $rtfeldman$elm_css$VirtualDom$Styled$stylesFromPropertiesHelp = F2(+ function (candidate, properties) {+ stylesFromPropertiesHelp:+ while (true) {+ if (!properties.b) {+ return candidate;+ } else {+ var _v1 = properties.a;+ var styles = _v1.b;+ var classname = _v1.c;+ var rest = properties.b;+ if ($elm$core$String$isEmpty(classname)) {+ var $temp$candidate = candidate,+ $temp$properties = rest;+ candidate = $temp$candidate;+ properties = $temp$properties;+ continue stylesFromPropertiesHelp;+ } else {+ var $temp$candidate = $elm$core$Maybe$Just(+ _Utils_Tuple2(classname, styles)),+ $temp$properties = rest;+ candidate = $temp$candidate;+ properties = $temp$properties;+ continue stylesFromPropertiesHelp;+ }+ }+ }+ });+var $rtfeldman$elm_css$VirtualDom$Styled$stylesFromProperties = function (properties) {+ var _v0 = A2($rtfeldman$elm_css$VirtualDom$Styled$stylesFromPropertiesHelp, $elm$core$Maybe$Nothing, properties);+ if (_v0.$ === 1) {+ return $elm$core$Dict$empty;+ } else {+ var _v1 = _v0.a;+ var classname = _v1.a;+ var styles = _v1.b;+ return A2($elm$core$Dict$singleton, classname, styles);+ }+};+var $elm$core$List$singleton = function (value) {+ return _List_fromArray(+ [value]);+};+var $elm$virtual_dom$VirtualDom$text = _VirtualDom_text;+var $elm$core$List$any = F2(+ function (isOkay, list) {+ any:+ while (true) {+ if (!list.b) {+ return false;+ } else {+ var x = list.a;+ var xs = list.b;+ if (isOkay(x)) {+ return true;+ } else {+ var $temp$isOkay = isOkay,+ $temp$list = xs;+ isOkay = $temp$isOkay;+ list = $temp$list;+ continue any;+ }+ }+ }+ });+var $elm$core$Basics$not = _Basics_not;+var $elm$core$List$all = F2(+ function (isOkay, list) {+ return !A2(+ $elm$core$List$any,+ A2($elm$core$Basics$composeL, $elm$core$Basics$not, isOkay),+ list);+ });+var $rtfeldman$elm_css$Css$Structure$compactHelp = F2(+ function (declaration, _v0) {+ var keyframesByName = _v0.a;+ var declarations = _v0.b;+ switch (declaration.$) {+ case 0:+ var _v2 = declaration.a;+ var properties = _v2.c;+ return $elm$core$List$isEmpty(properties) ? _Utils_Tuple2(keyframesByName, declarations) : _Utils_Tuple2(+ keyframesByName,+ A2($elm$core$List$cons, declaration, declarations));+ case 1:+ var styleBlocks = declaration.b;+ return A2(+ $elm$core$List$all,+ function (_v3) {+ var properties = _v3.c;+ return $elm$core$List$isEmpty(properties);+ },+ styleBlocks) ? _Utils_Tuple2(keyframesByName, declarations) : _Utils_Tuple2(+ keyframesByName,+ A2($elm$core$List$cons, declaration, declarations));+ case 2:+ var otherDeclarations = declaration.b;+ return $elm$core$List$isEmpty(otherDeclarations) ? _Utils_Tuple2(keyframesByName, declarations) : _Utils_Tuple2(+ keyframesByName,+ A2($elm$core$List$cons, declaration, declarations));+ case 3:+ return _Utils_Tuple2(+ keyframesByName,+ A2($elm$core$List$cons, declaration, declarations));+ case 4:+ var properties = declaration.b;+ return $elm$core$List$isEmpty(properties) ? _Utils_Tuple2(keyframesByName, declarations) : _Utils_Tuple2(+ keyframesByName,+ A2($elm$core$List$cons, declaration, declarations));+ case 5:+ var properties = declaration.a;+ return $elm$core$List$isEmpty(properties) ? _Utils_Tuple2(keyframesByName, declarations) : _Utils_Tuple2(+ keyframesByName,+ A2($elm$core$List$cons, declaration, declarations));+ case 6:+ var record = declaration.a;+ return $elm$core$String$isEmpty(record.cR) ? _Utils_Tuple2(keyframesByName, declarations) : _Utils_Tuple2(+ A3($elm$core$Dict$insert, record.c9, record.cR, keyframesByName),+ declarations);+ case 7:+ var properties = declaration.a;+ return $elm$core$List$isEmpty(properties) ? _Utils_Tuple2(keyframesByName, declarations) : _Utils_Tuple2(+ keyframesByName,+ A2($elm$core$List$cons, declaration, declarations));+ case 8:+ var properties = declaration.a;+ return $elm$core$List$isEmpty(properties) ? _Utils_Tuple2(keyframesByName, declarations) : _Utils_Tuple2(+ keyframesByName,+ A2($elm$core$List$cons, declaration, declarations));+ default:+ var tuples = declaration.a;+ return A2(+ $elm$core$List$all,+ function (_v4) {+ var properties = _v4.b;+ return $elm$core$List$isEmpty(properties);+ },+ tuples) ? _Utils_Tuple2(keyframesByName, declarations) : _Utils_Tuple2(+ keyframesByName,+ A2($elm$core$List$cons, declaration, declarations));+ }+ });+var $rtfeldman$elm_css$Css$Structure$Keyframes = function (a) {+ return {$: 6, a: a};+};+var $elm$core$List$append = F2(+ function (xs, ys) {+ if (!ys.b) {+ return xs;+ } else {+ return A3($elm$core$List$foldr, $elm$core$List$cons, ys, xs);+ }+ });+var $rtfeldman$elm_css$Css$Structure$withKeyframeDeclarations = F2(+ function (keyframesByName, compactedDeclarations) {+ return A2(+ $elm$core$List$append,+ A2(+ $elm$core$List$map,+ function (_v0) {+ var name = _v0.a;+ var decl = _v0.b;+ return $rtfeldman$elm_css$Css$Structure$Keyframes(+ {cR: decl, c9: name});+ },+ $elm$core$Dict$toList(keyframesByName)),+ compactedDeclarations);+ });+var $rtfeldman$elm_css$Css$Structure$compactStylesheet = function (_v0) {+ var charset = _v0.bF;+ var imports = _v0.bW;+ var namespaces = _v0.b5;+ var declarations = _v0.cS;+ var _v1 = A3(+ $elm$core$List$foldr,+ $rtfeldman$elm_css$Css$Structure$compactHelp,+ _Utils_Tuple2($elm$core$Dict$empty, _List_Nil),+ declarations);+ var keyframesByName = _v1.a;+ var compactedDeclarations = _v1.b;+ var finalDeclarations = A2($rtfeldman$elm_css$Css$Structure$withKeyframeDeclarations, keyframesByName, compactedDeclarations);+ return {bF: charset, cS: finalDeclarations, bW: imports, b5: namespaces};+};+var $elm$core$Maybe$map = F2(+ function (f, maybe) {+ if (!maybe.$) {+ var value = maybe.a;+ return $elm$core$Maybe$Just(+ f(value));+ } else {+ return $elm$core$Maybe$Nothing;+ }+ });+var $elm$core$Maybe$withDefault = F2(+ function (_default, maybe) {+ if (!maybe.$) {+ var value = maybe.a;+ return value;+ } else {+ return _default;+ }+ });+var $rtfeldman$elm_css$Css$Structure$Output$charsetToString = function (charset) {+ return A2(+ $elm$core$Maybe$withDefault,+ '',+ A2(+ $elm$core$Maybe$map,+ function (str) {+ return '@charset \"' + (str + '\"');+ },+ charset));+};+var $elm$core$List$filter = F2(+ function (isGood, list) {+ return A3(+ $elm$core$List$foldr,+ F2(+ function (x, xs) {+ return isGood(x) ? A2($elm$core$List$cons, x, xs) : xs;+ }),+ _List_Nil,+ list);+ });+var $rtfeldman$elm_css$Css$Structure$Output$mediaExpressionToString = function (expression) {+ return '(' + (expression.bO + (A2(+ $elm$core$Maybe$withDefault,+ '',+ A2(+ $elm$core$Maybe$map,+ $elm$core$Basics$append(': '),+ expression.L)) + ')'));+};+var $rtfeldman$elm_css$Css$Structure$Output$mediaTypeToString = function (mediaType) {+ switch (mediaType) {+ case 0:+ return 'print';+ case 1:+ return 'screen';+ default:+ return 'speech';+ }+};+var $rtfeldman$elm_css$Css$Structure$Output$mediaQueryToString = function (mediaQuery) {+ var prefixWith = F3(+ function (str, mediaType, expressions) {+ return str + (' ' + A2(+ $elm$core$String$join,+ ' and ',+ A2(+ $elm$core$List$cons,+ $rtfeldman$elm_css$Css$Structure$Output$mediaTypeToString(mediaType),+ A2($elm$core$List$map, $rtfeldman$elm_css$Css$Structure$Output$mediaExpressionToString, expressions))));+ });+ switch (mediaQuery.$) {+ case 0:+ var expressions = mediaQuery.a;+ return A2(+ $elm$core$String$join,+ ' and ',+ A2($elm$core$List$map, $rtfeldman$elm_css$Css$Structure$Output$mediaExpressionToString, expressions));+ case 1:+ var mediaType = mediaQuery.a;+ var expressions = mediaQuery.b;+ return A3(prefixWith, 'only', mediaType, expressions);+ case 2:+ var mediaType = mediaQuery.a;+ var expressions = mediaQuery.b;+ return A3(prefixWith, 'not', mediaType, expressions);+ default:+ var str = mediaQuery.a;+ return str;+ }+};+var $rtfeldman$elm_css$Css$Structure$Output$importMediaQueryToString = F2(+ function (name, mediaQuery) {+ return '@import \"' + (name + ($rtfeldman$elm_css$Css$Structure$Output$mediaQueryToString(mediaQuery) + '\"'));+ });+var $rtfeldman$elm_css$Css$Structure$Output$importToString = function (_v0) {+ var name = _v0.a;+ var mediaQueries = _v0.b;+ return A2(+ $elm$core$String$join,+ '\n',+ A2(+ $elm$core$List$map,+ $rtfeldman$elm_css$Css$Structure$Output$importMediaQueryToString(name),+ mediaQueries));+};+var $rtfeldman$elm_css$Css$Structure$Output$namespaceToString = function (_v0) {+ var prefix = _v0.a;+ var str = _v0.b;+ return '@namespace ' + (prefix + ('\"' + (str + '\"')));+};+var $rtfeldman$elm_css$Css$Structure$Output$spaceIndent = ' ';+var $rtfeldman$elm_css$Css$Structure$Output$indent = function (str) {+ return _Utils_ap($rtfeldman$elm_css$Css$Structure$Output$spaceIndent, str);+};+var $rtfeldman$elm_css$Css$Structure$Output$noIndent = '';+var $rtfeldman$elm_css$Css$Structure$Output$emitProperty = function (str) {+ return str + ';';+};+var $rtfeldman$elm_css$Css$Structure$Output$emitProperties = function (properties) {+ return A2(+ $elm$core$String$join,+ '\n',+ A2(+ $elm$core$List$map,+ A2($elm$core$Basics$composeL, $rtfeldman$elm_css$Css$Structure$Output$indent, $rtfeldman$elm_css$Css$Structure$Output$emitProperty),+ properties));+};+var $elm$core$String$append = _String_append;+var $rtfeldman$elm_css$Css$Structure$Output$pseudoElementToString = function (_v0) {+ var str = _v0;+ return '::' + str;+};+var $rtfeldman$elm_css$Css$Structure$Output$combinatorToString = function (combinator) {+ switch (combinator) {+ case 0:+ return '+';+ case 1:+ return '~';+ case 2:+ return '>';+ default:+ return '';+ }+};+var $rtfeldman$elm_css$Css$Structure$Output$repeatableSimpleSelectorToString = function (repeatableSimpleSelector) {+ switch (repeatableSimpleSelector.$) {+ case 0:+ var str = repeatableSimpleSelector.a;+ return '.' + str;+ case 1:+ var str = repeatableSimpleSelector.a;+ return '#' + str;+ case 2:+ var str = repeatableSimpleSelector.a;+ return ':' + str;+ default:+ var str = repeatableSimpleSelector.a;+ return '[' + (str + ']');+ }+};+var $rtfeldman$elm_css$Css$Structure$Output$simpleSelectorSequenceToString = function (simpleSelectorSequence) {+ switch (simpleSelectorSequence.$) {+ case 0:+ var str = simpleSelectorSequence.a;+ var repeatableSimpleSelectors = simpleSelectorSequence.b;+ return A2(+ $elm$core$String$join,+ '',+ A2(+ $elm$core$List$cons,+ str,+ A2($elm$core$List$map, $rtfeldman$elm_css$Css$Structure$Output$repeatableSimpleSelectorToString, repeatableSimpleSelectors)));+ case 1:+ var repeatableSimpleSelectors = simpleSelectorSequence.a;+ return $elm$core$List$isEmpty(repeatableSimpleSelectors) ? '*' : A2(+ $elm$core$String$join,+ '',+ A2($elm$core$List$map, $rtfeldman$elm_css$Css$Structure$Output$repeatableSimpleSelectorToString, repeatableSimpleSelectors));+ default:+ var str = simpleSelectorSequence.a;+ var repeatableSimpleSelectors = simpleSelectorSequence.b;+ return A2(+ $elm$core$String$join,+ '',+ A2(+ $elm$core$List$cons,+ str,+ A2($elm$core$List$map, $rtfeldman$elm_css$Css$Structure$Output$repeatableSimpleSelectorToString, repeatableSimpleSelectors)));+ }+};+var $rtfeldman$elm_css$Css$Structure$Output$selectorChainToString = function (_v0) {+ var combinator = _v0.a;+ var sequence = _v0.b;+ return A2(+ $elm$core$String$join,+ ' ',+ _List_fromArray(+ [+ $rtfeldman$elm_css$Css$Structure$Output$combinatorToString(combinator),+ $rtfeldman$elm_css$Css$Structure$Output$simpleSelectorSequenceToString(sequence)+ ]));+};+var $rtfeldman$elm_css$Css$Structure$Output$selectorToString = function (_v0) {+ var simpleSelectorSequence = _v0.a;+ var chain = _v0.b;+ var pseudoElement = _v0.c;+ var segments = A2(+ $elm$core$List$cons,+ $rtfeldman$elm_css$Css$Structure$Output$simpleSelectorSequenceToString(simpleSelectorSequence),+ A2($elm$core$List$map, $rtfeldman$elm_css$Css$Structure$Output$selectorChainToString, chain));+ var pseudoElementsString = A2(+ $elm$core$String$join,+ '',+ _List_fromArray(+ [+ A2(+ $elm$core$Maybe$withDefault,+ '',+ A2($elm$core$Maybe$map, $rtfeldman$elm_css$Css$Structure$Output$pseudoElementToString, pseudoElement))+ ]));+ return A2(+ $elm$core$String$append,+ A2(+ $elm$core$String$join,+ ' ',+ A2(+ $elm$core$List$filter,+ A2($elm$core$Basics$composeL, $elm$core$Basics$not, $elm$core$String$isEmpty),+ segments)),+ pseudoElementsString);+};+var $rtfeldman$elm_css$Css$Structure$Output$prettyPrintStyleBlock = F2(+ function (indentLevel, _v0) {+ var firstSelector = _v0.a;+ var otherSelectors = _v0.b;+ var properties = _v0.c;+ var selectorStr = A2(+ $elm$core$String$join,+ ', ',+ A2(+ $elm$core$List$map,+ $rtfeldman$elm_css$Css$Structure$Output$selectorToString,+ A2($elm$core$List$cons, firstSelector, otherSelectors)));+ return A2(+ $elm$core$String$join,+ '',+ _List_fromArray(+ [+ selectorStr,+ ' {\n',+ indentLevel,+ $rtfeldman$elm_css$Css$Structure$Output$emitProperties(properties),+ '\n',+ indentLevel,+ '}'+ ]));+ });+var $rtfeldman$elm_css$Css$Structure$Output$prettyPrintDeclaration = function (decl) {+ switch (decl.$) {+ case 0:+ var styleBlock = decl.a;+ return A2($rtfeldman$elm_css$Css$Structure$Output$prettyPrintStyleBlock, $rtfeldman$elm_css$Css$Structure$Output$noIndent, styleBlock);+ case 1:+ var mediaQueries = decl.a;+ var styleBlocks = decl.b;+ var query = A2(+ $elm$core$String$join,+ ',\n',+ A2($elm$core$List$map, $rtfeldman$elm_css$Css$Structure$Output$mediaQueryToString, mediaQueries));+ var blocks = A2(+ $elm$core$String$join,+ '\n\n',+ A2(+ $elm$core$List$map,+ A2(+ $elm$core$Basics$composeL,+ $rtfeldman$elm_css$Css$Structure$Output$indent,+ $rtfeldman$elm_css$Css$Structure$Output$prettyPrintStyleBlock($rtfeldman$elm_css$Css$Structure$Output$spaceIndent)),+ styleBlocks));+ return '@media ' + (query + (' {\n' + (blocks + '\n}')));+ case 2:+ return 'TODO';+ case 3:+ return 'TODO';+ case 4:+ return 'TODO';+ case 5:+ return 'TODO';+ case 6:+ var name = decl.a.c9;+ var declaration = decl.a.cR;+ return '@keyframes ' + (name + (' {\n' + (declaration + '\n}')));+ case 7:+ return 'TODO';+ case 8:+ return 'TODO';+ default:+ return 'TODO';+ }+};+var $rtfeldman$elm_css$Css$Structure$Output$prettyPrint = function (_v0) {+ var charset = _v0.bF;+ var imports = _v0.bW;+ var namespaces = _v0.b5;+ var declarations = _v0.cS;+ return A2(+ $elm$core$String$join,+ '\n\n',+ A2(+ $elm$core$List$filter,+ A2($elm$core$Basics$composeL, $elm$core$Basics$not, $elm$core$String$isEmpty),+ _List_fromArray(+ [+ $rtfeldman$elm_css$Css$Structure$Output$charsetToString(charset),+ A2(+ $elm$core$String$join,+ '\n',+ A2($elm$core$List$map, $rtfeldman$elm_css$Css$Structure$Output$importToString, imports)),+ A2(+ $elm$core$String$join,+ '\n',+ A2($elm$core$List$map, $rtfeldman$elm_css$Css$Structure$Output$namespaceToString, namespaces)),+ A2(+ $elm$core$String$join,+ '\n\n',+ A2($elm$core$List$map, $rtfeldman$elm_css$Css$Structure$Output$prettyPrintDeclaration, declarations))+ ])));+};+var $elm$core$List$concat = function (lists) {+ return A3($elm$core$List$foldr, $elm$core$List$append, _List_Nil, lists);+};+var $elm$core$List$concatMap = F2(+ function (f, list) {+ return $elm$core$List$concat(+ A2($elm$core$List$map, f, list));+ });+var $rtfeldman$elm_css$Css$Structure$CounterStyle = function (a) {+ return {$: 8, a: a};+};+var $rtfeldman$elm_css$Css$Structure$FontFace = function (a) {+ return {$: 5, a: a};+};+var $rtfeldman$elm_css$Css$Structure$PageRule = F2(+ function (a, b) {+ return {$: 4, a: a, b: b};+ });+var $rtfeldman$elm_css$Css$Structure$Selector = F3(+ function (a, b, c) {+ return {$: 0, a: a, b: b, c: c};+ });+var $rtfeldman$elm_css$Css$Structure$StyleBlock = F3(+ function (a, b, c) {+ return {$: 0, a: a, b: b, c: c};+ });+var $rtfeldman$elm_css$Css$Structure$StyleBlockDeclaration = function (a) {+ return {$: 0, a: a};+};+var $rtfeldman$elm_css$Css$Structure$SupportsRule = F2(+ function (a, b) {+ return {$: 2, a: a, b: b};+ });+var $rtfeldman$elm_css$Css$Structure$Viewport = function (a) {+ return {$: 7, a: a};+};+var $rtfeldman$elm_css$Css$Structure$MediaRule = F2(+ function (a, b) {+ return {$: 1, a: a, b: b};+ });+var $rtfeldman$elm_css$Css$Structure$mapLast = F2(+ function (update, list) {+ if (!list.b) {+ return list;+ } else {+ if (!list.b.b) {+ var only = list.a;+ return _List_fromArray(+ [+ update(only)+ ]);+ } else {+ var first = list.a;+ var rest = list.b;+ return A2(+ $elm$core$List$cons,+ first,+ A2($rtfeldman$elm_css$Css$Structure$mapLast, update, rest));+ }+ }+ });+var $rtfeldman$elm_css$Css$Structure$withPropertyAppended = F2(+ function (property, _v0) {+ var firstSelector = _v0.a;+ var otherSelectors = _v0.b;+ var properties = _v0.c;+ return A3(+ $rtfeldman$elm_css$Css$Structure$StyleBlock,+ firstSelector,+ otherSelectors,+ _Utils_ap(+ properties,+ _List_fromArray(+ [property])));+ });+var $rtfeldman$elm_css$Css$Structure$appendProperty = F2(+ function (property, declarations) {+ if (!declarations.b) {+ return declarations;+ } else {+ if (!declarations.b.b) {+ switch (declarations.a.$) {+ case 0:+ var styleBlock = declarations.a.a;+ return _List_fromArray(+ [+ $rtfeldman$elm_css$Css$Structure$StyleBlockDeclaration(+ A2($rtfeldman$elm_css$Css$Structure$withPropertyAppended, property, styleBlock))+ ]);+ case 1:+ var _v1 = declarations.a;+ var mediaQueries = _v1.a;+ var styleBlocks = _v1.b;+ return _List_fromArray(+ [+ A2(+ $rtfeldman$elm_css$Css$Structure$MediaRule,+ mediaQueries,+ A2(+ $rtfeldman$elm_css$Css$Structure$mapLast,+ $rtfeldman$elm_css$Css$Structure$withPropertyAppended(property),+ styleBlocks))+ ]);+ default:+ return declarations;+ }+ } else {+ var first = declarations.a;+ var rest = declarations.b;+ return A2(+ $elm$core$List$cons,+ first,+ A2($rtfeldman$elm_css$Css$Structure$appendProperty, property, rest));+ }+ }+ });+var $rtfeldman$elm_css$Css$Structure$appendToLastSelector = F2(+ function (f, styleBlock) {+ if (!styleBlock.b.b) {+ var only = styleBlock.a;+ var properties = styleBlock.c;+ return _List_fromArray(+ [+ A3($rtfeldman$elm_css$Css$Structure$StyleBlock, only, _List_Nil, properties),+ A3(+ $rtfeldman$elm_css$Css$Structure$StyleBlock,+ f(only),+ _List_Nil,+ _List_Nil)+ ]);+ } else {+ var first = styleBlock.a;+ var rest = styleBlock.b;+ var properties = styleBlock.c;+ var newRest = A2($elm$core$List$map, f, rest);+ var newFirst = f(first);+ return _List_fromArray(+ [+ A3($rtfeldman$elm_css$Css$Structure$StyleBlock, first, rest, properties),+ A3($rtfeldman$elm_css$Css$Structure$StyleBlock, newFirst, newRest, _List_Nil)+ ]);+ }+ });+var $rtfeldman$elm_css$Css$Structure$applyPseudoElement = F2(+ function (pseudo, _v0) {+ var sequence = _v0.a;+ var selectors = _v0.b;+ return A3(+ $rtfeldman$elm_css$Css$Structure$Selector,+ sequence,+ selectors,+ $elm$core$Maybe$Just(pseudo));+ });+var $rtfeldman$elm_css$Css$Structure$appendPseudoElementToLastSelector = F2(+ function (pseudo, styleBlock) {+ return A2(+ $rtfeldman$elm_css$Css$Structure$appendToLastSelector,+ $rtfeldman$elm_css$Css$Structure$applyPseudoElement(pseudo),+ styleBlock);+ });+var $rtfeldman$elm_css$Css$Structure$CustomSelector = F2(+ function (a, b) {+ return {$: 2, a: a, b: b};+ });+var $rtfeldman$elm_css$Css$Structure$TypeSelectorSequence = F2(+ function (a, b) {+ return {$: 0, a: a, b: b};+ });+var $rtfeldman$elm_css$Css$Structure$UniversalSelectorSequence = function (a) {+ return {$: 1, a: a};+};+var $rtfeldman$elm_css$Css$Structure$appendRepeatable = F2(+ function (selector, sequence) {+ switch (sequence.$) {+ case 0:+ var typeSelector = sequence.a;+ var list = sequence.b;+ return A2(+ $rtfeldman$elm_css$Css$Structure$TypeSelectorSequence,+ typeSelector,+ _Utils_ap(+ list,+ _List_fromArray(+ [selector])));+ case 1:+ var list = sequence.a;+ return $rtfeldman$elm_css$Css$Structure$UniversalSelectorSequence(+ _Utils_ap(+ list,+ _List_fromArray(+ [selector])));+ default:+ var str = sequence.a;+ var list = sequence.b;+ return A2(+ $rtfeldman$elm_css$Css$Structure$CustomSelector,+ str,+ _Utils_ap(+ list,+ _List_fromArray(+ [selector])));+ }+ });+var $rtfeldman$elm_css$Css$Structure$appendRepeatableWithCombinator = F2(+ function (selector, list) {+ if (!list.b) {+ return _List_Nil;+ } else {+ if (!list.b.b) {+ var _v1 = list.a;+ var combinator = _v1.a;+ var sequence = _v1.b;+ return _List_fromArray(+ [+ _Utils_Tuple2(+ combinator,+ A2($rtfeldman$elm_css$Css$Structure$appendRepeatable, selector, sequence))+ ]);+ } else {+ var first = list.a;+ var rest = list.b;+ return A2(+ $elm$core$List$cons,+ first,+ A2($rtfeldman$elm_css$Css$Structure$appendRepeatableWithCombinator, selector, rest));+ }+ }+ });+var $rtfeldman$elm_css$Css$Structure$appendRepeatableSelector = F2(+ function (repeatableSimpleSelector, selector) {+ if (!selector.b.b) {+ var sequence = selector.a;+ var pseudoElement = selector.c;+ return A3(+ $rtfeldman$elm_css$Css$Structure$Selector,+ A2($rtfeldman$elm_css$Css$Structure$appendRepeatable, repeatableSimpleSelector, sequence),+ _List_Nil,+ pseudoElement);+ } else {+ var firstSelector = selector.a;+ var tuples = selector.b;+ var pseudoElement = selector.c;+ return A3(+ $rtfeldman$elm_css$Css$Structure$Selector,+ firstSelector,+ A2($rtfeldman$elm_css$Css$Structure$appendRepeatableWithCombinator, repeatableSimpleSelector, tuples),+ pseudoElement);+ }+ });+var $rtfeldman$elm_css$Css$Structure$appendRepeatableToLastSelector = F2(+ function (selector, styleBlock) {+ return A2(+ $rtfeldman$elm_css$Css$Structure$appendToLastSelector,+ $rtfeldman$elm_css$Css$Structure$appendRepeatableSelector(selector),+ styleBlock);+ });+var $rtfeldman$elm_css$Css$Preprocess$Resolve$collectSelectors = function (declarations) {+ collectSelectors:+ while (true) {+ if (!declarations.b) {+ return _List_Nil;+ } else {+ if (!declarations.a.$) {+ var _v1 = declarations.a.a;+ var firstSelector = _v1.a;+ var otherSelectors = _v1.b;+ var rest = declarations.b;+ return _Utils_ap(+ A2($elm$core$List$cons, firstSelector, otherSelectors),+ $rtfeldman$elm_css$Css$Preprocess$Resolve$collectSelectors(rest));+ } else {+ var rest = declarations.b;+ var $temp$declarations = rest;+ declarations = $temp$declarations;+ continue collectSelectors;+ }+ }+ }+};+var $rtfeldman$elm_css$Css$Structure$DocumentRule = F5(+ function (a, b, c, d, e) {+ return {$: 3, a: a, b: b, c: c, d: d, e: e};+ });+var $rtfeldman$elm_css$Css$Structure$concatMapLastStyleBlock = F2(+ function (update, declarations) {+ _v0$12:+ while (true) {+ if (!declarations.b) {+ return declarations;+ } else {+ if (!declarations.b.b) {+ switch (declarations.a.$) {+ case 0:+ var styleBlock = declarations.a.a;+ return A2(+ $elm$core$List$map,+ $rtfeldman$elm_css$Css$Structure$StyleBlockDeclaration,+ update(styleBlock));+ case 1:+ if (declarations.a.b.b) {+ if (!declarations.a.b.b.b) {+ var _v1 = declarations.a;+ var mediaQueries = _v1.a;+ var _v2 = _v1.b;+ var styleBlock = _v2.a;+ return _List_fromArray(+ [+ A2(+ $rtfeldman$elm_css$Css$Structure$MediaRule,+ mediaQueries,+ update(styleBlock))+ ]);+ } else {+ var _v3 = declarations.a;+ var mediaQueries = _v3.a;+ var _v4 = _v3.b;+ var first = _v4.a;+ var rest = _v4.b;+ var _v5 = A2(+ $rtfeldman$elm_css$Css$Structure$concatMapLastStyleBlock,+ update,+ _List_fromArray(+ [+ A2($rtfeldman$elm_css$Css$Structure$MediaRule, mediaQueries, rest)+ ]));+ if ((_v5.b && (_v5.a.$ === 1)) && (!_v5.b.b)) {+ var _v6 = _v5.a;+ var newMediaQueries = _v6.a;+ var newStyleBlocks = _v6.b;+ return _List_fromArray(+ [+ A2(+ $rtfeldman$elm_css$Css$Structure$MediaRule,+ newMediaQueries,+ A2($elm$core$List$cons, first, newStyleBlocks))+ ]);+ } else {+ var newDeclarations = _v5;+ return newDeclarations;+ }+ }+ } else {+ break _v0$12;+ }+ case 2:+ var _v7 = declarations.a;+ var str = _v7.a;+ var nestedDeclarations = _v7.b;+ return _List_fromArray(+ [+ A2(+ $rtfeldman$elm_css$Css$Structure$SupportsRule,+ str,+ A2($rtfeldman$elm_css$Css$Structure$concatMapLastStyleBlock, update, nestedDeclarations))+ ]);+ case 3:+ var _v8 = declarations.a;+ var str1 = _v8.a;+ var str2 = _v8.b;+ var str3 = _v8.c;+ var str4 = _v8.d;+ var styleBlock = _v8.e;+ return A2(+ $elm$core$List$map,+ A4($rtfeldman$elm_css$Css$Structure$DocumentRule, str1, str2, str3, str4),+ update(styleBlock));+ case 4:+ var _v9 = declarations.a;+ return declarations;+ case 5:+ return declarations;+ case 6:+ return declarations;+ case 7:+ return declarations;+ case 8:+ return declarations;+ default:+ return declarations;+ }+ } else {+ break _v0$12;+ }+ }+ }+ var first = declarations.a;+ var rest = declarations.b;+ return A2(+ $elm$core$List$cons,+ first,+ A2($rtfeldman$elm_css$Css$Structure$concatMapLastStyleBlock, update, rest));+ });+var $elm$core$String$cons = _String_cons;+var $rtfeldman$elm_css$ElmCssVendor$Murmur3$HashData = F4(+ function (shift, seed, hash, charsProcessed) {+ return {ah: charsProcessed, an: hash, A: seed, as: shift};+ });+var $rtfeldman$elm_css$ElmCssVendor$Murmur3$c1 = 3432918353;+var $rtfeldman$elm_css$ElmCssVendor$Murmur3$c2 = 461845907;+var $elm$core$Bitwise$and = _Bitwise_and;+var $elm$core$Bitwise$shiftLeftBy = _Bitwise_shiftLeftBy;+var $elm$core$Bitwise$shiftRightZfBy = _Bitwise_shiftRightZfBy;+var $rtfeldman$elm_css$ElmCssVendor$Murmur3$multiplyBy = F2(+ function (b, a) {+ return ((a & 65535) * b) + ((((a >>> 16) * b) & 65535) << 16);+ });+var $elm$core$Basics$neq = _Utils_notEqual;+var $elm$core$Bitwise$or = _Bitwise_or;+var $rtfeldman$elm_css$ElmCssVendor$Murmur3$rotlBy = F2(+ function (b, a) {+ return (a << b) | (a >>> (32 - b));+ });+var $elm$core$Bitwise$xor = _Bitwise_xor;+var $rtfeldman$elm_css$ElmCssVendor$Murmur3$finalize = function (data) {+ var acc = (!(!data.an)) ? (data.A ^ A2(+ $rtfeldman$elm_css$ElmCssVendor$Murmur3$multiplyBy,+ $rtfeldman$elm_css$ElmCssVendor$Murmur3$c2,+ A2(+ $rtfeldman$elm_css$ElmCssVendor$Murmur3$rotlBy,+ 15,+ A2($rtfeldman$elm_css$ElmCssVendor$Murmur3$multiplyBy, $rtfeldman$elm_css$ElmCssVendor$Murmur3$c1, data.an)))) : data.A;+ var h0 = acc ^ data.ah;+ var h1 = A2($rtfeldman$elm_css$ElmCssVendor$Murmur3$multiplyBy, 2246822507, h0 ^ (h0 >>> 16));+ var h2 = A2($rtfeldman$elm_css$ElmCssVendor$Murmur3$multiplyBy, 3266489909, h1 ^ (h1 >>> 13));+ return (h2 ^ (h2 >>> 16)) >>> 0;+};+var $elm$core$String$foldl = _String_foldl;+var $rtfeldman$elm_css$ElmCssVendor$Murmur3$mix = F2(+ function (h1, k1) {+ return A2(+ $rtfeldman$elm_css$ElmCssVendor$Murmur3$multiplyBy,+ 5,+ A2(+ $rtfeldman$elm_css$ElmCssVendor$Murmur3$rotlBy,+ 13,+ h1 ^ A2(+ $rtfeldman$elm_css$ElmCssVendor$Murmur3$multiplyBy,+ $rtfeldman$elm_css$ElmCssVendor$Murmur3$c2,+ A2(+ $rtfeldman$elm_css$ElmCssVendor$Murmur3$rotlBy,+ 15,+ A2($rtfeldman$elm_css$ElmCssVendor$Murmur3$multiplyBy, $rtfeldman$elm_css$ElmCssVendor$Murmur3$c1, k1))))) + 3864292196;+ });+var $rtfeldman$elm_css$ElmCssVendor$Murmur3$hashFold = F2(+ function (c, data) {+ var res = data.an | ((255 & $elm$core$Char$toCode(c)) << data.as);+ var _v0 = data.as;+ if (_v0 === 24) {+ return {+ ah: data.ah + 1,+ an: 0,+ A: A2($rtfeldman$elm_css$ElmCssVendor$Murmur3$mix, data.A, res),+ as: 0+ };+ } else {+ return {ah: data.ah + 1, an: res, A: data.A, as: data.as + 8};+ }+ });+var $rtfeldman$elm_css$ElmCssVendor$Murmur3$hashString = F2(+ function (seed, str) {+ return $rtfeldman$elm_css$ElmCssVendor$Murmur3$finalize(+ A3(+ $elm$core$String$foldl,+ $rtfeldman$elm_css$ElmCssVendor$Murmur3$hashFold,+ A4($rtfeldman$elm_css$ElmCssVendor$Murmur3$HashData, 0, seed, 0, 0),+ str));+ });+var $rtfeldman$elm_css$Hash$murmurSeed = 15739;+var $elm$core$String$fromList = _String_fromList;+var $elm$core$Basics$negate = function (n) {+ return -n;+};+var $elm$core$Basics$modBy = _Basics_modBy;+var $rtfeldman$elm_hex$Hex$unsafeToDigit = function (num) {+ unsafeToDigit:+ while (true) {+ switch (num) {+ case 0:+ return '0';+ case 1:+ return '1';+ case 2:+ return '2';+ case 3:+ return '3';+ case 4:+ return '4';+ case 5:+ return '5';+ case 6:+ return '6';+ case 7:+ return '7';+ case 8:+ return '8';+ case 9:+ return '9';+ case 10:+ return 'a';+ case 11:+ return 'b';+ case 12:+ return 'c';+ case 13:+ return 'd';+ case 14:+ return 'e';+ case 15:+ return 'f';+ default:+ var $temp$num = num;+ num = $temp$num;+ continue unsafeToDigit;+ }+ }+};+var $rtfeldman$elm_hex$Hex$unsafePositiveToDigits = F2(+ function (digits, num) {+ unsafePositiveToDigits:+ while (true) {+ if (num < 16) {+ return A2(+ $elm$core$List$cons,+ $rtfeldman$elm_hex$Hex$unsafeToDigit(num),+ digits);+ } else {+ var $temp$digits = A2(+ $elm$core$List$cons,+ $rtfeldman$elm_hex$Hex$unsafeToDigit(+ A2($elm$core$Basics$modBy, 16, num)),+ digits),+ $temp$num = (num / 16) | 0;+ digits = $temp$digits;+ num = $temp$num;+ continue unsafePositiveToDigits;+ }+ }+ });+var $rtfeldman$elm_hex$Hex$toString = function (num) {+ return $elm$core$String$fromList(+ (num < 0) ? A2(+ $elm$core$List$cons,+ '-',+ A2($rtfeldman$elm_hex$Hex$unsafePositiveToDigits, _List_Nil, -num)) : A2($rtfeldman$elm_hex$Hex$unsafePositiveToDigits, _List_Nil, num));+};+var $rtfeldman$elm_css$Hash$fromString = function (str) {+ return A2(+ $elm$core$String$cons,+ '_',+ $rtfeldman$elm_hex$Hex$toString(+ A2($rtfeldman$elm_css$ElmCssVendor$Murmur3$hashString, $rtfeldman$elm_css$Hash$murmurSeed, str)));+};+var $elm$core$List$head = function (list) {+ if (list.b) {+ var x = list.a;+ var xs = list.b;+ return $elm$core$Maybe$Just(x);+ } else {+ return $elm$core$Maybe$Nothing;+ }+};+var $rtfeldman$elm_css$Css$Preprocess$Resolve$last = function (list) {+ last:+ while (true) {+ if (!list.b) {+ return $elm$core$Maybe$Nothing;+ } else {+ if (!list.b.b) {+ var singleton = list.a;+ return $elm$core$Maybe$Just(singleton);+ } else {+ var rest = list.b;+ var $temp$list = rest;+ list = $temp$list;+ continue last;+ }+ }+ }+};+var $rtfeldman$elm_css$Css$Preprocess$Resolve$lastDeclaration = function (declarations) {+ lastDeclaration:+ while (true) {+ if (!declarations.b) {+ return $elm$core$Maybe$Nothing;+ } else {+ if (!declarations.b.b) {+ var x = declarations.a;+ return $elm$core$Maybe$Just(+ _List_fromArray(+ [x]));+ } else {+ var xs = declarations.b;+ var $temp$declarations = xs;+ declarations = $temp$declarations;+ continue lastDeclaration;+ }+ }+ }+};+var $rtfeldman$elm_css$Css$Preprocess$Resolve$oneOf = function (maybes) {+ oneOf:+ while (true) {+ if (!maybes.b) {+ return $elm$core$Maybe$Nothing;+ } else {+ var maybe = maybes.a;+ var rest = maybes.b;+ if (maybe.$ === 1) {+ var $temp$maybes = rest;+ maybes = $temp$maybes;+ continue oneOf;+ } else {+ return maybe;+ }+ }+ }+};+var $rtfeldman$elm_css$Css$Structure$FontFeatureValues = function (a) {+ return {$: 9, a: a};+};+var $rtfeldman$elm_css$Css$Preprocess$Resolve$resolveFontFeatureValues = function (tuples) {+ var expandTuples = function (tuplesToExpand) {+ if (!tuplesToExpand.b) {+ return _List_Nil;+ } else {+ var properties = tuplesToExpand.a;+ var rest = tuplesToExpand.b;+ return A2(+ $elm$core$List$cons,+ properties,+ expandTuples(rest));+ }+ };+ var newTuples = expandTuples(tuples);+ return _List_fromArray(+ [+ $rtfeldman$elm_css$Css$Structure$FontFeatureValues(newTuples)+ ]);+};+var $rtfeldman$elm_css$Css$Structure$styleBlockToMediaRule = F2(+ function (mediaQueries, declaration) {+ if (!declaration.$) {+ var styleBlock = declaration.a;+ return A2(+ $rtfeldman$elm_css$Css$Structure$MediaRule,+ mediaQueries,+ _List_fromArray(+ [styleBlock]));+ } else {+ return declaration;+ }+ });+var $elm$core$List$tail = function (list) {+ if (list.b) {+ var x = list.a;+ var xs = list.b;+ return $elm$core$Maybe$Just(xs);+ } else {+ return $elm$core$Maybe$Nothing;+ }+};+var $elm$core$List$takeReverse = F3(+ function (n, list, kept) {+ takeReverse:+ while (true) {+ if (n <= 0) {+ return kept;+ } else {+ if (!list.b) {+ return kept;+ } else {+ var x = list.a;+ var xs = list.b;+ var $temp$n = n - 1,+ $temp$list = xs,+ $temp$kept = A2($elm$core$List$cons, x, kept);+ n = $temp$n;+ list = $temp$list;+ kept = $temp$kept;+ continue takeReverse;+ }+ }+ }+ });+var $elm$core$List$takeTailRec = F2(+ function (n, list) {+ return $elm$core$List$reverse(+ A3($elm$core$List$takeReverse, n, list, _List_Nil));+ });+var $elm$core$List$takeFast = F3(+ function (ctr, n, list) {+ if (n <= 0) {+ return _List_Nil;+ } else {+ var _v0 = _Utils_Tuple2(n, list);+ _v0$1:+ while (true) {+ _v0$5:+ while (true) {+ if (!_v0.b.b) {+ return list;+ } else {+ if (_v0.b.b.b) {+ switch (_v0.a) {+ case 1:+ break _v0$1;+ case 2:+ var _v2 = _v0.b;+ var x = _v2.a;+ var _v3 = _v2.b;+ var y = _v3.a;+ return _List_fromArray(+ [x, y]);+ case 3:+ if (_v0.b.b.b.b) {+ var _v4 = _v0.b;+ var x = _v4.a;+ var _v5 = _v4.b;+ var y = _v5.a;+ var _v6 = _v5.b;+ var z = _v6.a;+ return _List_fromArray(+ [x, y, z]);+ } else {+ break _v0$5;+ }+ default:+ if (_v0.b.b.b.b && _v0.b.b.b.b.b) {+ var _v7 = _v0.b;+ var x = _v7.a;+ var _v8 = _v7.b;+ var y = _v8.a;+ var _v9 = _v8.b;+ var z = _v9.a;+ var _v10 = _v9.b;+ var w = _v10.a;+ var tl = _v10.b;+ return (ctr > 1000) ? A2(+ $elm$core$List$cons,+ x,+ A2(+ $elm$core$List$cons,+ y,+ A2(+ $elm$core$List$cons,+ z,+ A2(+ $elm$core$List$cons,+ w,+ A2($elm$core$List$takeTailRec, n - 4, tl))))) : A2(+ $elm$core$List$cons,+ x,+ A2(+ $elm$core$List$cons,+ y,+ A2(+ $elm$core$List$cons,+ z,+ A2(+ $elm$core$List$cons,+ w,+ A3($elm$core$List$takeFast, ctr + 1, n - 4, tl)))));+ } else {+ break _v0$5;+ }+ }+ } else {+ if (_v0.a === 1) {+ break _v0$1;+ } else {+ break _v0$5;+ }+ }+ }+ }+ return list;+ }+ var _v1 = _v0.b;+ var x = _v1.a;+ return _List_fromArray(+ [x]);+ }+ });+var $elm$core$List$take = F2(+ function (n, list) {+ return A3($elm$core$List$takeFast, 0, n, list);+ });+var $rtfeldman$elm_css$Css$Preprocess$Resolve$toDocumentRule = F5(+ function (str1, str2, str3, str4, declaration) {+ if (!declaration.$) {+ var structureStyleBlock = declaration.a;+ return A5($rtfeldman$elm_css$Css$Structure$DocumentRule, str1, str2, str3, str4, structureStyleBlock);+ } else {+ return declaration;+ }+ });+var $rtfeldman$elm_css$Css$Preprocess$Resolve$toMediaRule = F2(+ function (mediaQueries, declaration) {+ switch (declaration.$) {+ case 0:+ var structureStyleBlock = declaration.a;+ return A2(+ $rtfeldman$elm_css$Css$Structure$MediaRule,+ mediaQueries,+ _List_fromArray(+ [structureStyleBlock]));+ case 1:+ var newMediaQueries = declaration.a;+ var structureStyleBlocks = declaration.b;+ return A2(+ $rtfeldman$elm_css$Css$Structure$MediaRule,+ _Utils_ap(mediaQueries, newMediaQueries),+ structureStyleBlocks);+ case 2:+ var str = declaration.a;+ var declarations = declaration.b;+ return A2(+ $rtfeldman$elm_css$Css$Structure$SupportsRule,+ str,+ A2(+ $elm$core$List$map,+ $rtfeldman$elm_css$Css$Preprocess$Resolve$toMediaRule(mediaQueries),+ declarations));+ case 3:+ var str1 = declaration.a;+ var str2 = declaration.b;+ var str3 = declaration.c;+ var str4 = declaration.d;+ var structureStyleBlock = declaration.e;+ return A5($rtfeldman$elm_css$Css$Structure$DocumentRule, str1, str2, str3, str4, structureStyleBlock);+ case 4:+ return declaration;+ case 5:+ return declaration;+ case 6:+ return declaration;+ case 7:+ return declaration;+ case 8:+ return declaration;+ default:+ return declaration;+ }+ });+var $rtfeldman$elm_css$Css$Preprocess$unwrapSnippet = function (_v0) {+ var declarations = _v0;+ return declarations;+};+var $rtfeldman$elm_css$Css$Preprocess$Resolve$applyNestedStylesToLast = F4(+ function (nestedStyles, rest, f, declarations) {+ var withoutParent = function (decls) {+ return A2(+ $elm$core$Maybe$withDefault,+ _List_Nil,+ $elm$core$List$tail(decls));+ };+ var nextResult = A2(+ $rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles,+ rest,+ A2(+ $elm$core$Maybe$withDefault,+ _List_Nil,+ $rtfeldman$elm_css$Css$Preprocess$Resolve$lastDeclaration(declarations)));+ var newDeclarations = function () {+ var _v14 = _Utils_Tuple2(+ $elm$core$List$head(nextResult),+ $rtfeldman$elm_css$Css$Preprocess$Resolve$last(declarations));+ if ((!_v14.a.$) && (!_v14.b.$)) {+ var nextResultParent = _v14.a.a;+ var originalParent = _v14.b.a;+ return _Utils_ap(+ A2(+ $elm$core$List$take,+ $elm$core$List$length(declarations) - 1,+ declarations),+ _List_fromArray(+ [+ (!_Utils_eq(originalParent, nextResultParent)) ? nextResultParent : originalParent+ ]));+ } else {+ return declarations;+ }+ }();+ var insertStylesToNestedDecl = function (lastDecl) {+ return $elm$core$List$concat(+ A2(+ $rtfeldman$elm_css$Css$Structure$mapLast,+ $rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles(nestedStyles),+ A2(+ $elm$core$List$map,+ $elm$core$List$singleton,+ A2($rtfeldman$elm_css$Css$Structure$concatMapLastStyleBlock, f, lastDecl))));+ };+ var initialResult = A2(+ $elm$core$Maybe$withDefault,+ _List_Nil,+ A2(+ $elm$core$Maybe$map,+ insertStylesToNestedDecl,+ $rtfeldman$elm_css$Css$Preprocess$Resolve$lastDeclaration(declarations)));+ return _Utils_ap(+ newDeclarations,+ _Utils_ap(+ withoutParent(initialResult),+ withoutParent(nextResult)));+ });+var $rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles = F2(+ function (styles, declarations) {+ if (!styles.b) {+ return declarations;+ } else {+ switch (styles.a.$) {+ case 0:+ var property = styles.a.a;+ var rest = styles.b;+ return A2(+ $rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles,+ rest,+ A2($rtfeldman$elm_css$Css$Structure$appendProperty, property, declarations));+ case 1:+ var _v4 = styles.a;+ var selector = _v4.a;+ var nestedStyles = _v4.b;+ var rest = styles.b;+ return A4(+ $rtfeldman$elm_css$Css$Preprocess$Resolve$applyNestedStylesToLast,+ nestedStyles,+ rest,+ $rtfeldman$elm_css$Css$Structure$appendRepeatableToLastSelector(selector),+ declarations);+ case 2:+ var _v5 = styles.a;+ var selectorCombinator = _v5.a;+ var snippets = _v5.b;+ var rest = styles.b;+ var chain = F2(+ function (_v9, _v10) {+ var originalSequence = _v9.a;+ var originalTuples = _v9.b;+ var originalPseudoElement = _v9.c;+ var newSequence = _v10.a;+ var newTuples = _v10.b;+ var newPseudoElement = _v10.c;+ return A3(+ $rtfeldman$elm_css$Css$Structure$Selector,+ originalSequence,+ _Utils_ap(+ originalTuples,+ A2(+ $elm$core$List$cons,+ _Utils_Tuple2(selectorCombinator, newSequence),+ newTuples)),+ $rtfeldman$elm_css$Css$Preprocess$Resolve$oneOf(+ _List_fromArray(+ [newPseudoElement, originalPseudoElement])));+ });+ var expandDeclaration = function (declaration) {+ switch (declaration.$) {+ case 0:+ var _v7 = declaration.a;+ var firstSelector = _v7.a;+ var otherSelectors = _v7.b;+ var nestedStyles = _v7.c;+ var newSelectors = A2(+ $elm$core$List$concatMap,+ function (originalSelector) {+ return A2(+ $elm$core$List$map,+ chain(originalSelector),+ A2($elm$core$List$cons, firstSelector, otherSelectors));+ },+ $rtfeldman$elm_css$Css$Preprocess$Resolve$collectSelectors(declarations));+ var newDeclarations = function () {+ if (!newSelectors.b) {+ return _List_Nil;+ } else {+ var first = newSelectors.a;+ var remainder = newSelectors.b;+ return _List_fromArray(+ [+ $rtfeldman$elm_css$Css$Structure$StyleBlockDeclaration(+ A3($rtfeldman$elm_css$Css$Structure$StyleBlock, first, remainder, _List_Nil))+ ]);+ }+ }();+ return A2($rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles, nestedStyles, newDeclarations);+ case 1:+ var mediaQueries = declaration.a;+ var styleBlocks = declaration.b;+ return A2($rtfeldman$elm_css$Css$Preprocess$Resolve$resolveMediaRule, mediaQueries, styleBlocks);+ case 2:+ var str = declaration.a;+ var otherSnippets = declaration.b;+ return A2($rtfeldman$elm_css$Css$Preprocess$Resolve$resolveSupportsRule, str, otherSnippets);+ case 3:+ var str1 = declaration.a;+ var str2 = declaration.b;+ var str3 = declaration.c;+ var str4 = declaration.d;+ var styleBlock = declaration.e;+ return A2(+ $elm$core$List$map,+ A4($rtfeldman$elm_css$Css$Preprocess$Resolve$toDocumentRule, str1, str2, str3, str4),+ $rtfeldman$elm_css$Css$Preprocess$Resolve$expandStyleBlock(styleBlock));+ case 4:+ var str = declaration.a;+ var properties = declaration.b;+ return _List_fromArray(+ [+ A2($rtfeldman$elm_css$Css$Structure$PageRule, str, properties)+ ]);+ case 5:+ var properties = declaration.a;+ return _List_fromArray(+ [+ $rtfeldman$elm_css$Css$Structure$FontFace(properties)+ ]);+ case 6:+ var properties = declaration.a;+ return _List_fromArray(+ [+ $rtfeldman$elm_css$Css$Structure$Viewport(properties)+ ]);+ case 7:+ var properties = declaration.a;+ return _List_fromArray(+ [+ $rtfeldman$elm_css$Css$Structure$CounterStyle(properties)+ ]);+ default:+ var tuples = declaration.a;+ return $rtfeldman$elm_css$Css$Preprocess$Resolve$resolveFontFeatureValues(tuples);+ }+ };+ return $elm$core$List$concat(+ _Utils_ap(+ _List_fromArray(+ [+ A2($rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles, rest, declarations)+ ]),+ A2(+ $elm$core$List$map,+ expandDeclaration,+ A2($elm$core$List$concatMap, $rtfeldman$elm_css$Css$Preprocess$unwrapSnippet, snippets))));+ case 3:+ var _v11 = styles.a;+ var pseudoElement = _v11.a;+ var nestedStyles = _v11.b;+ var rest = styles.b;+ return A4(+ $rtfeldman$elm_css$Css$Preprocess$Resolve$applyNestedStylesToLast,+ nestedStyles,+ rest,+ $rtfeldman$elm_css$Css$Structure$appendPseudoElementToLastSelector(pseudoElement),+ declarations);+ case 5:+ var str = styles.a.a;+ var rest = styles.b;+ var name = $rtfeldman$elm_css$Hash$fromString(str);+ var newProperty = 'animation-name:' + name;+ var newDeclarations = A2(+ $rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles,+ rest,+ A2($rtfeldman$elm_css$Css$Structure$appendProperty, newProperty, declarations));+ return A2(+ $elm$core$List$append,+ newDeclarations,+ _List_fromArray(+ [+ $rtfeldman$elm_css$Css$Structure$Keyframes(+ {cR: str, c9: name})+ ]));+ case 4:+ var _v12 = styles.a;+ var mediaQueries = _v12.a;+ var nestedStyles = _v12.b;+ var rest = styles.b;+ var extraDeclarations = function () {+ var _v13 = $rtfeldman$elm_css$Css$Preprocess$Resolve$collectSelectors(declarations);+ if (!_v13.b) {+ return _List_Nil;+ } else {+ var firstSelector = _v13.a;+ var otherSelectors = _v13.b;+ return A2(+ $elm$core$List$map,+ $rtfeldman$elm_css$Css$Structure$styleBlockToMediaRule(mediaQueries),+ A2(+ $rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles,+ nestedStyles,+ $elm$core$List$singleton(+ $rtfeldman$elm_css$Css$Structure$StyleBlockDeclaration(+ A3($rtfeldman$elm_css$Css$Structure$StyleBlock, firstSelector, otherSelectors, _List_Nil)))));+ }+ }();+ return _Utils_ap(+ A2($rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles, rest, declarations),+ extraDeclarations);+ default:+ var otherStyles = styles.a.a;+ var rest = styles.b;+ return A2(+ $rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles,+ _Utils_ap(otherStyles, rest),+ declarations);+ }+ }+ });+var $rtfeldman$elm_css$Css$Preprocess$Resolve$expandStyleBlock = function (_v2) {+ var firstSelector = _v2.a;+ var otherSelectors = _v2.b;+ var styles = _v2.c;+ return A2(+ $rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles,+ styles,+ _List_fromArray(+ [+ $rtfeldman$elm_css$Css$Structure$StyleBlockDeclaration(+ A3($rtfeldman$elm_css$Css$Structure$StyleBlock, firstSelector, otherSelectors, _List_Nil))+ ]));+};+var $rtfeldman$elm_css$Css$Preprocess$Resolve$extract = function (snippetDeclarations) {+ if (!snippetDeclarations.b) {+ return _List_Nil;+ } else {+ var first = snippetDeclarations.a;+ var rest = snippetDeclarations.b;+ return _Utils_ap(+ $rtfeldman$elm_css$Css$Preprocess$Resolve$toDeclarations(first),+ $rtfeldman$elm_css$Css$Preprocess$Resolve$extract(rest));+ }+};+var $rtfeldman$elm_css$Css$Preprocess$Resolve$resolveMediaRule = F2(+ function (mediaQueries, styleBlocks) {+ var handleStyleBlock = function (styleBlock) {+ return A2(+ $elm$core$List$map,+ $rtfeldman$elm_css$Css$Preprocess$Resolve$toMediaRule(mediaQueries),+ $rtfeldman$elm_css$Css$Preprocess$Resolve$expandStyleBlock(styleBlock));+ };+ return A2($elm$core$List$concatMap, handleStyleBlock, styleBlocks);+ });+var $rtfeldman$elm_css$Css$Preprocess$Resolve$resolveSupportsRule = F2(+ function (str, snippets) {+ var declarations = $rtfeldman$elm_css$Css$Preprocess$Resolve$extract(+ A2($elm$core$List$concatMap, $rtfeldman$elm_css$Css$Preprocess$unwrapSnippet, snippets));+ return _List_fromArray(+ [+ A2($rtfeldman$elm_css$Css$Structure$SupportsRule, str, declarations)+ ]);+ });+var $rtfeldman$elm_css$Css$Preprocess$Resolve$toDeclarations = function (snippetDeclaration) {+ switch (snippetDeclaration.$) {+ case 0:+ var styleBlock = snippetDeclaration.a;+ return $rtfeldman$elm_css$Css$Preprocess$Resolve$expandStyleBlock(styleBlock);+ case 1:+ var mediaQueries = snippetDeclaration.a;+ var styleBlocks = snippetDeclaration.b;+ return A2($rtfeldman$elm_css$Css$Preprocess$Resolve$resolveMediaRule, mediaQueries, styleBlocks);+ case 2:+ var str = snippetDeclaration.a;+ var snippets = snippetDeclaration.b;+ return A2($rtfeldman$elm_css$Css$Preprocess$Resolve$resolveSupportsRule, str, snippets);+ case 3:+ var str1 = snippetDeclaration.a;+ var str2 = snippetDeclaration.b;+ var str3 = snippetDeclaration.c;+ var str4 = snippetDeclaration.d;+ var styleBlock = snippetDeclaration.e;+ return A2(+ $elm$core$List$map,+ A4($rtfeldman$elm_css$Css$Preprocess$Resolve$toDocumentRule, str1, str2, str3, str4),+ $rtfeldman$elm_css$Css$Preprocess$Resolve$expandStyleBlock(styleBlock));+ case 4:+ var str = snippetDeclaration.a;+ var properties = snippetDeclaration.b;+ return _List_fromArray(+ [+ A2($rtfeldman$elm_css$Css$Structure$PageRule, str, properties)+ ]);+ case 5:+ var properties = snippetDeclaration.a;+ return _List_fromArray(+ [+ $rtfeldman$elm_css$Css$Structure$FontFace(properties)+ ]);+ case 6:+ var properties = snippetDeclaration.a;+ return _List_fromArray(+ [+ $rtfeldman$elm_css$Css$Structure$Viewport(properties)+ ]);+ case 7:+ var properties = snippetDeclaration.a;+ return _List_fromArray(+ [+ $rtfeldman$elm_css$Css$Structure$CounterStyle(properties)+ ]);+ default:+ var tuples = snippetDeclaration.a;+ return $rtfeldman$elm_css$Css$Preprocess$Resolve$resolveFontFeatureValues(tuples);+ }+};+var $rtfeldman$elm_css$Css$Preprocess$Resolve$toStructure = function (_v0) {+ var charset = _v0.bF;+ var imports = _v0.bW;+ var namespaces = _v0.b5;+ var snippets = _v0.cs;+ var declarations = $rtfeldman$elm_css$Css$Preprocess$Resolve$extract(+ A2($elm$core$List$concatMap, $rtfeldman$elm_css$Css$Preprocess$unwrapSnippet, snippets));+ return {bF: charset, cS: declarations, bW: imports, b5: namespaces};+};+var $rtfeldman$elm_css$Css$Preprocess$Resolve$compileHelp = function (sheet) {+ return $rtfeldman$elm_css$Css$Structure$Output$prettyPrint(+ $rtfeldman$elm_css$Css$Structure$compactStylesheet(+ $rtfeldman$elm_css$Css$Preprocess$Resolve$toStructure(sheet)));+};+var $rtfeldman$elm_css$Css$Preprocess$Resolve$compile = function (styles) {+ return A2(+ $elm$core$String$join,+ '\n\n',+ A2($elm$core$List$map, $rtfeldman$elm_css$Css$Preprocess$Resolve$compileHelp, styles));+};+var $rtfeldman$elm_css$Css$Structure$ClassSelector = function (a) {+ return {$: 0, a: a};+};+var $rtfeldman$elm_css$Css$Preprocess$Snippet = $elm$core$Basics$identity;+var $rtfeldman$elm_css$Css$Preprocess$StyleBlock = F3(+ function (a, b, c) {+ return {$: 0, a: a, b: b, c: c};+ });+var $rtfeldman$elm_css$Css$Preprocess$StyleBlockDeclaration = function (a) {+ return {$: 0, a: a};+};+var $rtfeldman$elm_css$VirtualDom$Styled$makeSnippet = F2(+ function (styles, sequence) {+ var selector = A3($rtfeldman$elm_css$Css$Structure$Selector, sequence, _List_Nil, $elm$core$Maybe$Nothing);+ return _List_fromArray(+ [+ $rtfeldman$elm_css$Css$Preprocess$StyleBlockDeclaration(+ A3($rtfeldman$elm_css$Css$Preprocess$StyleBlock, selector, _List_Nil, styles))+ ]);+ });+var $rtfeldman$elm_css$VirtualDom$Styled$snippetFromPair = function (_v0) {+ var classname = _v0.a;+ var styles = _v0.b;+ return A2(+ $rtfeldman$elm_css$VirtualDom$Styled$makeSnippet,+ styles,+ $rtfeldman$elm_css$Css$Structure$UniversalSelectorSequence(+ _List_fromArray(+ [+ $rtfeldman$elm_css$Css$Structure$ClassSelector(classname)+ ])));+};+var $rtfeldman$elm_css$Css$Preprocess$stylesheet = function (snippets) {+ return {bF: $elm$core$Maybe$Nothing, bW: _List_Nil, b5: _List_Nil, cs: snippets};+};+var $rtfeldman$elm_css$VirtualDom$Styled$toDeclaration = function (dict) {+ return $rtfeldman$elm_css$Css$Preprocess$Resolve$compile(+ $elm$core$List$singleton(+ $rtfeldman$elm_css$Css$Preprocess$stylesheet(+ A2(+ $elm$core$List$map,+ $rtfeldman$elm_css$VirtualDom$Styled$snippetFromPair,+ $elm$core$Dict$toList(dict)))));+};+var $rtfeldman$elm_css$VirtualDom$Styled$toStyleNode = function (styles) {+ return A3(+ $elm$virtual_dom$VirtualDom$node,+ 'style',+ _List_Nil,+ $elm$core$List$singleton(+ $elm$virtual_dom$VirtualDom$text(+ $rtfeldman$elm_css$VirtualDom$Styled$toDeclaration(styles))));+};+var $rtfeldman$elm_css$VirtualDom$Styled$unstyle = F3(+ function (elemType, properties, children) {+ var unstyledProperties = A2($elm$core$List$map, $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute, properties);+ var initialStyles = $rtfeldman$elm_css$VirtualDom$Styled$stylesFromProperties(properties);+ var _v0 = A3(+ $elm$core$List$foldl,+ $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyledHtml,+ _Utils_Tuple2(_List_Nil, initialStyles),+ children);+ var childNodes = _v0.a;+ var styles = _v0.b;+ var styleNode = $rtfeldman$elm_css$VirtualDom$Styled$toStyleNode(styles);+ return A3(+ $elm$virtual_dom$VirtualDom$node,+ elemType,+ unstyledProperties,+ A2(+ $elm$core$List$cons,+ styleNode,+ $elm$core$List$reverse(childNodes)));+ });+var $rtfeldman$elm_css$VirtualDom$Styled$containsKey = F2(+ function (key, pairs) {+ containsKey:+ while (true) {+ if (!pairs.b) {+ return false;+ } else {+ var _v1 = pairs.a;+ var str = _v1.a;+ var rest = pairs.b;+ if (_Utils_eq(key, str)) {+ return true;+ } else {+ var $temp$key = key,+ $temp$pairs = rest;+ key = $temp$key;+ pairs = $temp$pairs;+ continue containsKey;+ }+ }+ }+ });+var $rtfeldman$elm_css$VirtualDom$Styled$getUnusedKey = F2(+ function (_default, pairs) {+ getUnusedKey:+ while (true) {+ if (!pairs.b) {+ return _default;+ } else {+ var _v1 = pairs.a;+ var firstKey = _v1.a;+ var rest = pairs.b;+ var newKey = '_' + firstKey;+ if (A2($rtfeldman$elm_css$VirtualDom$Styled$containsKey, newKey, rest)) {+ var $temp$default = newKey,+ $temp$pairs = rest;+ _default = $temp$default;+ pairs = $temp$pairs;+ continue getUnusedKey;+ } else {+ return newKey;+ }+ }+ }+ });+var $rtfeldman$elm_css$VirtualDom$Styled$toKeyedStyleNode = F2(+ function (allStyles, keyedChildNodes) {+ var styleNodeKey = A2($rtfeldman$elm_css$VirtualDom$Styled$getUnusedKey, '_', keyedChildNodes);+ var finalNode = $rtfeldman$elm_css$VirtualDom$Styled$toStyleNode(allStyles);+ return _Utils_Tuple2(styleNodeKey, finalNode);+ });+var $rtfeldman$elm_css$VirtualDom$Styled$unstyleKeyed = F3(+ function (elemType, properties, keyedChildren) {+ var unstyledProperties = A2($elm$core$List$map, $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute, properties);+ var initialStyles = $rtfeldman$elm_css$VirtualDom$Styled$stylesFromProperties(properties);+ var _v0 = A3(+ $elm$core$List$foldl,+ $rtfeldman$elm_css$VirtualDom$Styled$accumulateKeyedStyledHtml,+ _Utils_Tuple2(_List_Nil, initialStyles),+ keyedChildren);+ var keyedChildNodes = _v0.a;+ var styles = _v0.b;+ var keyedStyleNode = A2($rtfeldman$elm_css$VirtualDom$Styled$toKeyedStyleNode, styles, keyedChildNodes);+ return A3(+ $elm$virtual_dom$VirtualDom$keyedNode,+ elemType,+ unstyledProperties,+ A2(+ $elm$core$List$cons,+ keyedStyleNode,+ $elm$core$List$reverse(keyedChildNodes)));+ });+var $rtfeldman$elm_css$VirtualDom$Styled$unstyleKeyedNS = F4(+ function (ns, elemType, properties, keyedChildren) {+ var unstyledProperties = A2($elm$core$List$map, $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute, properties);+ var initialStyles = $rtfeldman$elm_css$VirtualDom$Styled$stylesFromProperties(properties);+ var _v0 = A3(+ $elm$core$List$foldl,+ $rtfeldman$elm_css$VirtualDom$Styled$accumulateKeyedStyledHtml,+ _Utils_Tuple2(_List_Nil, initialStyles),+ keyedChildren);+ var keyedChildNodes = _v0.a;+ var styles = _v0.b;+ var keyedStyleNode = A2($rtfeldman$elm_css$VirtualDom$Styled$toKeyedStyleNode, styles, keyedChildNodes);+ return A4(+ $elm$virtual_dom$VirtualDom$keyedNodeNS,+ ns,+ elemType,+ unstyledProperties,+ A2(+ $elm$core$List$cons,+ keyedStyleNode,+ $elm$core$List$reverse(keyedChildNodes)));+ });+var $rtfeldman$elm_css$VirtualDom$Styled$unstyleNS = F4(+ function (ns, elemType, properties, children) {+ var unstyledProperties = A2($elm$core$List$map, $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute, properties);+ var initialStyles = $rtfeldman$elm_css$VirtualDom$Styled$stylesFromProperties(properties);+ var _v0 = A3(+ $elm$core$List$foldl,+ $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyledHtml,+ _Utils_Tuple2(_List_Nil, initialStyles),+ children);+ var childNodes = _v0.a;+ var styles = _v0.b;+ var styleNode = $rtfeldman$elm_css$VirtualDom$Styled$toStyleNode(styles);+ return A4(+ $elm$virtual_dom$VirtualDom$nodeNS,+ ns,+ elemType,+ unstyledProperties,+ A2(+ $elm$core$List$cons,+ styleNode,+ $elm$core$List$reverse(childNodes)));+ });+var $rtfeldman$elm_css$VirtualDom$Styled$toUnstyled = function (vdom) {+ switch (vdom.$) {+ case 4:+ var plainNode = vdom.a;+ return plainNode;+ case 0:+ var elemType = vdom.a;+ var properties = vdom.b;+ var children = vdom.c;+ return A3($rtfeldman$elm_css$VirtualDom$Styled$unstyle, elemType, properties, children);+ case 1:+ var ns = vdom.a;+ var elemType = vdom.b;+ var properties = vdom.c;+ var children = vdom.d;+ return A4($rtfeldman$elm_css$VirtualDom$Styled$unstyleNS, ns, elemType, properties, children);+ case 2:+ var elemType = vdom.a;+ var properties = vdom.b;+ var children = vdom.c;+ return A3($rtfeldman$elm_css$VirtualDom$Styled$unstyleKeyed, elemType, properties, children);+ default:+ var ns = vdom.a;+ var elemType = vdom.b;+ var properties = vdom.c;+ var children = vdom.d;+ return A4($rtfeldman$elm_css$VirtualDom$Styled$unstyleKeyedNS, ns, elemType, properties, children);+ }+};+var $rtfeldman$elm_css$Html$Styled$toUnstyled = $rtfeldman$elm_css$VirtualDom$Styled$toUnstyled;+var $author$project$Main$Loaded = function (a) {+ return {$: 1, a: a};+};+var $author$project$Persisted$Persisted = $elm$core$Basics$identity;+var $author$project$Persisted$init = function (x) {+ return {aZ: x, aK: x};+};+var $elm$core$Dict$map = F2(+ function (func, dict) {+ if (dict.$ === -2) {+ return $elm$core$Dict$RBEmpty_elm_builtin;+ } else {+ var color = dict.a;+ var key = dict.b;+ var value = dict.c;+ var left = dict.d;+ var right = dict.e;+ return A5(+ $elm$core$Dict$RBNode_elm_builtin,+ color,+ key,+ A2(func, key, value),+ A2($elm$core$Dict$map, func, left),+ A2($elm$core$Dict$map, func, right));+ }+ });+var $elm$core$Platform$Cmd$batch = _Platform_batch;+var $elm$core$Platform$Cmd$none = $elm$core$Platform$Cmd$batch(_List_Nil);+var $author$project$Persisted$changed = function (_v0) {+ var persisted = _v0.aK;+ var local = _v0.aZ;+ return !_Utils_eq(local, persisted);+};+var $author$project$Persisted$persist = F2(+ function (x, _v0) {+ var old = _v0;+ return $author$project$Persisted$changed(old) ? _Utils_update(+ old,+ {aK: x}) : $author$project$Persisted$init(x);+ });+var $elm$http$Http$expectBytesResponse = F2(+ function (toMsg, toResult) {+ return A3(+ _Http_expect,+ 'arraybuffer',+ _Http_toDataView,+ A2($elm$core$Basics$composeR, toResult, toMsg));+ });+var $elm$http$Http$expectWhatever = function (toMsg) {+ return A2(+ $elm$http$Http$expectBytesResponse,+ toMsg,+ $elm$http$Http$resolve(+ function (_v0) {+ return $elm$core$Result$Ok(0);+ }));+};+var $elm$json$Json$Encode$int = _Json_wrap;+var $elm$http$Http$jsonBody = function (value) {+ return A2(+ _Http_pair,+ 'application/json',+ A2($elm$json$Json$Encode$encode, 0, value));+};+var $author$project$Main$sendSaveFlagRequest = F3(+ function (rootPath, flagName, _v0) {+ var percentage = _v0;+ return $elm$http$Http$request(+ {+ bA: $elm$http$Http$jsonBody(+ $elm$json$Json$Encode$int(percentage)),+ bM: $elm$http$Http$expectWhatever(+ function (_v1) {+ return $author$project$Main$LoadFlags;+ }),+ c$: _List_Nil,+ c6: 'PUT',+ dz: $elm$core$Maybe$Nothing,+ dB: $elm$core$Maybe$Nothing,+ cC: A2(+ $elm$url$Url$Builder$relative,+ _Utils_ap(+ rootPath,+ _List_fromArray(+ ['flags', flagName])),+ _List_Nil)+ });+ });+var $author$project$Persisted$value = function (_v0) {+ var local = _v0.aZ;+ return local;+};+var $author$project$Main$saveFlag = F2(+ function (flagName, model) {+ var _v0 = model.D;+ if (!_v0.$) {+ return $elm$core$Platform$Cmd$none;+ } else {+ var flags = _v0.a;+ var _v1 = A2($elm$core$Dict$get, flagName, flags);+ if (_v1.$ === 1) {+ return $elm$core$Platform$Cmd$none;+ } else {+ var percentage = _v1.a;+ return $author$project$Persisted$changed(percentage) ? A3(+ $author$project$Main$sendSaveFlagRequest,+ model.a5,+ flagName,+ $author$project$Persisted$value(percentage)) : $elm$core$Platform$Cmd$none;+ }+ }+ });+var $author$project$Persisted$change = F2(+ function (x, _v0) {+ var persisted = _v0.aK;+ return {aZ: x, aK: persisted};+ });+var $author$project$Main$setFlag = F3(+ function (flagName, newPercentage, data) {+ if (!data.$) {+ return $author$project$Main$Loading;+ } else {+ var flags = data.a;+ return $author$project$Main$Loaded(+ A3(+ $elm$core$Dict$update,+ flagName,+ $elm$core$Maybe$map(+ function (oldPercentage) {+ return A2($author$project$Persisted$change, newPercentage, oldPercentage);+ }),+ flags));+ }+ });+var $author$project$Main$updateData = F2(+ function (msg, model) {+ switch (msg.$) {+ case 3:+ return _Utils_Tuple2(model.D, $elm$core$Platform$Cmd$none);+ case 0:+ return _Utils_Tuple2(+ model.D,+ $author$project$Main$sendLoadFlagsRequest(model.a5));+ case 1:+ var updatedFlags = msg.a;+ var _v1 = model.D;+ if (!_v1.$) {+ return _Utils_Tuple2(+ $author$project$Main$Loaded(+ A2(+ $elm$core$Dict$map,+ function (_v2) {+ return $author$project$Persisted$init;+ },+ updatedFlags)),+ $elm$core$Platform$Cmd$none);+ } else {+ var oldFlags = _v1.a;+ return _Utils_Tuple2(+ $author$project$Main$Loaded(+ A6(+ $elm$core$Dict$merge,+ F3(+ function (flag, oldValue, newFlags) {+ return A3($elm$core$Dict$insert, flag, oldValue, newFlags);+ }),+ F4(+ function (flag, oldValue, newValue, newFlags) {+ return A3(+ $elm$core$Dict$insert,+ flag,+ A2($author$project$Persisted$persist, newValue, oldValue),+ newFlags);+ }),+ F3(+ function (flag, firstValue, newFlags) {+ return A3(+ $elm$core$Dict$insert,+ flag,+ $author$project$Persisted$init(firstValue),+ newFlags);+ }),+ oldFlags,+ updatedFlags,+ $elm$core$Dict$empty)),+ $elm$core$Platform$Cmd$none);+ }+ default:+ var flagName = msg.a;+ var newPercentage = msg.b;+ var newData = A3($author$project$Main$setFlag, flagName, newPercentage, model.D);+ return _Utils_Tuple2(+ newData,+ A2(+ $author$project$Main$saveFlag,+ flagName,+ _Utils_update(+ model,+ {D: newData})));+ }+ });+var $author$project$Main$update = F2(+ function (msg, model) {+ var _v0 = A2($author$project$Main$updateData, msg, model);+ var newData = _v0.a;+ var cmd = _v0.b;+ return _Utils_Tuple2(+ _Utils_update(+ model,+ {D: newData}),+ cmd);+ });+var $rtfeldman$elm_css$Css$Structure$Compatible = 0;+var $rtfeldman$elm_css$Css$absolute = {aL: 0, L: 'absolute'};+var $rtfeldman$elm_css$Css$Preprocess$AppendProperty = function (a) {+ return {$: 0, a: a};+};+var $rtfeldman$elm_css$Css$property = F2(+ function (key, value) {+ return $rtfeldman$elm_css$Css$Preprocess$AppendProperty(key + (':' + value));+ });+var $rtfeldman$elm_css$Css$backgroundColor = function (c) {+ return A2($rtfeldman$elm_css$Css$property, 'background-color', c.L);+};+var $rtfeldman$elm_css$Css$prop1 = F2(+ function (key, arg) {+ return A2($rtfeldman$elm_css$Css$property, key, arg.L);+ });+var $rtfeldman$elm_css$Css$center = $rtfeldman$elm_css$Css$prop1('center');+var $rtfeldman$elm_css$Css$color = function (c) {+ return A2($rtfeldman$elm_css$Css$property, 'color', c.L);+};+var $rtfeldman$elm_css$VirtualDom$Styled$Attribute = F3(+ function (a, b, c) {+ return {$: 0, a: a, b: b, c: c};+ });+var $rtfeldman$elm_css$VirtualDom$Styled$murmurSeed = 15739;+var $rtfeldman$elm_css$VirtualDom$Styled$getClassname = function (styles) {+ return $elm$core$List$isEmpty(styles) ? 'unstyled' : A2(+ $elm$core$String$cons,+ '_',+ $rtfeldman$elm_hex$Hex$toString(+ A2(+ $rtfeldman$elm_css$ElmCssVendor$Murmur3$hashString,+ $rtfeldman$elm_css$VirtualDom$Styled$murmurSeed,+ $rtfeldman$elm_css$Css$Preprocess$Resolve$compile(+ $elm$core$List$singleton(+ $rtfeldman$elm_css$Css$Preprocess$stylesheet(+ $elm$core$List$singleton(+ A2(+ $rtfeldman$elm_css$VirtualDom$Styled$makeSnippet,+ styles,+ $rtfeldman$elm_css$Css$Structure$UniversalSelectorSequence(_List_Nil)))))))));+};+var $elm$virtual_dom$VirtualDom$property = F2(+ function (key, value) {+ return A2(+ _VirtualDom_property,+ _VirtualDom_noInnerHtmlOrFormAction(key),+ _VirtualDom_noJavaScriptOrHtmlUri(value));+ });+var $elm$json$Json$Encode$string = _Json_wrap;+var $rtfeldman$elm_css$Html$Styled$Internal$css = function (styles) {+ var classname = $rtfeldman$elm_css$VirtualDom$Styled$getClassname(styles);+ var classProperty = A2(+ $elm$virtual_dom$VirtualDom$property,+ 'className',+ $elm$json$Json$Encode$string(classname));+ return A3($rtfeldman$elm_css$VirtualDom$Styled$Attribute, classProperty, styles, classname);+};+var $rtfeldman$elm_css$Html$Styled$Attributes$css = $rtfeldman$elm_css$Html$Styled$Internal$css;+var $rtfeldman$elm_css$VirtualDom$Styled$Node = F3(+ function (a, b, c) {+ return {$: 0, a: a, b: b, c: c};+ });+var $rtfeldman$elm_css$VirtualDom$Styled$node = $rtfeldman$elm_css$VirtualDom$Styled$Node;+var $rtfeldman$elm_css$Html$Styled$node = $rtfeldman$elm_css$VirtualDom$Styled$node;+var $rtfeldman$elm_css$Html$Styled$div = $rtfeldman$elm_css$Html$Styled$node('div');+var $rtfeldman$elm_css$Css$stringsToValue = function (list) {+ return $elm$core$List$isEmpty(list) ? {L: 'none'} : {+ L: A2(+ $elm$core$String$join,+ ', ',+ A2(+ $elm$core$List$map,+ function (s) {+ return s;+ },+ list))+ };+};+var $rtfeldman$elm_css$Css$fontFamilies = A2(+ $elm$core$Basics$composeL,+ $rtfeldman$elm_css$Css$prop1('font-family'),+ $rtfeldman$elm_css$Css$stringsToValue);+var $rtfeldman$elm_css$Html$Styled$h1 = $rtfeldman$elm_css$Html$Styled$node('h1');+var $rtfeldman$elm_css$Css$withPrecedingHash = function (str) {+ return A2($elm$core$String$startsWith, '#', str) ? str : A2($elm$core$String$cons, '#', str);+};+var $rtfeldman$elm_css$Css$erroneousHex = function (str) {+ return {+ aA: 1,+ aC: 0,+ I: 0,+ aE: 0,+ aM: 0,+ L: $rtfeldman$elm_css$Css$withPrecedingHash(str)+ };+};+var $elm$core$String$foldr = _String_foldr;+var $elm$core$String$toList = function (string) {+ return A3($elm$core$String$foldr, $elm$core$List$cons, _List_Nil, string);+};+var $elm$core$String$fromChar = function (_char) {+ return A2($elm$core$String$cons, _char, '');+};+var $elm$core$Basics$pow = _Basics_pow;+var $rtfeldman$elm_hex$Hex$fromStringHelp = F3(+ function (position, chars, accumulated) {+ fromStringHelp:+ while (true) {+ if (!chars.b) {+ return $elm$core$Result$Ok(accumulated);+ } else {+ var _char = chars.a;+ var rest = chars.b;+ switch (_char) {+ case '0':+ var $temp$position = position - 1,+ $temp$chars = rest,+ $temp$accumulated = accumulated;+ position = $temp$position;+ chars = $temp$chars;+ accumulated = $temp$accumulated;+ continue fromStringHelp;+ case '1':+ var $temp$position = position - 1,+ $temp$chars = rest,+ $temp$accumulated = accumulated + A2($elm$core$Basics$pow, 16, position);+ position = $temp$position;+ chars = $temp$chars;+ accumulated = $temp$accumulated;+ continue fromStringHelp;+ case '2':+ var $temp$position = position - 1,+ $temp$chars = rest,+ $temp$accumulated = accumulated + (2 * A2($elm$core$Basics$pow, 16, position));+ position = $temp$position;+ chars = $temp$chars;+ accumulated = $temp$accumulated;+ continue fromStringHelp;+ case '3':+ var $temp$position = position - 1,+ $temp$chars = rest,+ $temp$accumulated = accumulated + (3 * A2($elm$core$Basics$pow, 16, position));+ position = $temp$position;+ chars = $temp$chars;+ accumulated = $temp$accumulated;+ continue fromStringHelp;+ case '4':+ var $temp$position = position - 1,+ $temp$chars = rest,+ $temp$accumulated = accumulated + (4 * A2($elm$core$Basics$pow, 16, position));+ position = $temp$position;+ chars = $temp$chars;+ accumulated = $temp$accumulated;+ continue fromStringHelp;+ case '5':+ var $temp$position = position - 1,+ $temp$chars = rest,+ $temp$accumulated = accumulated + (5 * A2($elm$core$Basics$pow, 16, position));+ position = $temp$position;+ chars = $temp$chars;+ accumulated = $temp$accumulated;+ continue fromStringHelp;+ case '6':+ var $temp$position = position - 1,+ $temp$chars = rest,+ $temp$accumulated = accumulated + (6 * A2($elm$core$Basics$pow, 16, position));+ position = $temp$position;+ chars = $temp$chars;+ accumulated = $temp$accumulated;+ continue fromStringHelp;+ case '7':+ var $temp$position = position - 1,+ $temp$chars = rest,+ $temp$accumulated = accumulated + (7 * A2($elm$core$Basics$pow, 16, position));+ position = $temp$position;+ chars = $temp$chars;+ accumulated = $temp$accumulated;+ continue fromStringHelp;+ case '8':+ var $temp$position = position - 1,+ $temp$chars = rest,+ $temp$accumulated = accumulated + (8 * A2($elm$core$Basics$pow, 16, position));+ position = $temp$position;+ chars = $temp$chars;+ accumulated = $temp$accumulated;+ continue fromStringHelp;+ case '9':+ var $temp$position = position - 1,+ $temp$chars = rest,+ $temp$accumulated = accumulated + (9 * A2($elm$core$Basics$pow, 16, position));+ position = $temp$position;+ chars = $temp$chars;+ accumulated = $temp$accumulated;+ continue fromStringHelp;+ case 'a':+ var $temp$position = position - 1,+ $temp$chars = rest,+ $temp$accumulated = accumulated + (10 * A2($elm$core$Basics$pow, 16, position));+ position = $temp$position;+ chars = $temp$chars;+ accumulated = $temp$accumulated;+ continue fromStringHelp;+ case 'b':+ var $temp$position = position - 1,+ $temp$chars = rest,+ $temp$accumulated = accumulated + (11 * A2($elm$core$Basics$pow, 16, position));+ position = $temp$position;+ chars = $temp$chars;+ accumulated = $temp$accumulated;+ continue fromStringHelp;+ case 'c':+ var $temp$position = position - 1,+ $temp$chars = rest,+ $temp$accumulated = accumulated + (12 * A2($elm$core$Basics$pow, 16, position));+ position = $temp$position;+ chars = $temp$chars;+ accumulated = $temp$accumulated;+ continue fromStringHelp;+ case 'd':+ var $temp$position = position - 1,+ $temp$chars = rest,+ $temp$accumulated = accumulated + (13 * A2($elm$core$Basics$pow, 16, position));+ position = $temp$position;+ chars = $temp$chars;+ accumulated = $temp$accumulated;+ continue fromStringHelp;+ case 'e':+ var $temp$position = position - 1,+ $temp$chars = rest,+ $temp$accumulated = accumulated + (14 * A2($elm$core$Basics$pow, 16, position));+ position = $temp$position;+ chars = $temp$chars;+ accumulated = $temp$accumulated;+ continue fromStringHelp;+ case 'f':+ var $temp$position = position - 1,+ $temp$chars = rest,+ $temp$accumulated = accumulated + (15 * A2($elm$core$Basics$pow, 16, position));+ position = $temp$position;+ chars = $temp$chars;+ accumulated = $temp$accumulated;+ continue fromStringHelp;+ default:+ var nonHex = _char;+ return $elm$core$Result$Err(+ $elm$core$String$fromChar(nonHex) + ' is not a valid hexadecimal character.');+ }+ }+ }+ });+var $elm$core$Result$map = F2(+ function (func, ra) {+ if (!ra.$) {+ var a = ra.a;+ return $elm$core$Result$Ok(+ func(a));+ } else {+ var e = ra.a;+ return $elm$core$Result$Err(e);+ }+ });+var $rtfeldman$elm_hex$Hex$fromString = function (str) {+ if ($elm$core$String$isEmpty(str)) {+ return $elm$core$Result$Err('Empty strings are not valid hexadecimal strings.');+ } else {+ var result = function () {+ if (A2($elm$core$String$startsWith, '-', str)) {+ var list = A2(+ $elm$core$Maybe$withDefault,+ _List_Nil,+ $elm$core$List$tail(+ $elm$core$String$toList(str)));+ return A2(+ $elm$core$Result$map,+ $elm$core$Basics$negate,+ A3(+ $rtfeldman$elm_hex$Hex$fromStringHelp,+ $elm$core$List$length(list) - 1,+ list,+ 0));+ } else {+ return A3(+ $rtfeldman$elm_hex$Hex$fromStringHelp,+ $elm$core$String$length(str) - 1,+ $elm$core$String$toList(str),+ 0);+ }+ }();+ var formatError = function (err) {+ return A2(+ $elm$core$String$join,+ ' ',+ _List_fromArray(+ ['\"' + (str + '\"'), 'is not a valid hexadecimal string because', err]));+ };+ return A2($elm$core$Result$mapError, formatError, result);+ }+};+var $elm$core$String$toLower = _String_toLower;+var $rtfeldman$elm_css$Css$validHex = F5(+ function (str, _v0, _v1, _v2, _v3) {+ var r1 = _v0.a;+ var r2 = _v0.b;+ var g1 = _v1.a;+ var g2 = _v1.b;+ var b1 = _v2.a;+ var b2 = _v2.b;+ var a1 = _v3.a;+ var a2 = _v3.b;+ var toResult = A2(+ $elm$core$Basics$composeR,+ $elm$core$String$fromList,+ A2($elm$core$Basics$composeR, $elm$core$String$toLower, $rtfeldman$elm_hex$Hex$fromString));+ var results = _Utils_Tuple2(+ _Utils_Tuple2(+ toResult(+ _List_fromArray(+ [r1, r2])),+ toResult(+ _List_fromArray(+ [g1, g2]))),+ _Utils_Tuple2(+ toResult(+ _List_fromArray(+ [b1, b2])),+ toResult(+ _List_fromArray(+ [a1, a2]))));+ if ((((!results.a.a.$) && (!results.a.b.$)) && (!results.b.a.$)) && (!results.b.b.$)) {+ var _v5 = results.a;+ var red = _v5.a.a;+ var green = _v5.b.a;+ var _v6 = results.b;+ var blue = _v6.a.a;+ var alpha = _v6.b.a;+ return {+ aA: alpha / 255,+ aC: blue,+ I: 0,+ aE: green,+ aM: red,+ L: $rtfeldman$elm_css$Css$withPrecedingHash(str)+ };+ } else {+ return $rtfeldman$elm_css$Css$erroneousHex(str);+ }+ });+var $rtfeldman$elm_css$Css$hex = function (str) {+ var withoutHash = A2($elm$core$String$startsWith, '#', str) ? A2($elm$core$String$dropLeft, 1, str) : str;+ var _v0 = $elm$core$String$toList(withoutHash);+ _v0$4:+ while (true) {+ if ((_v0.b && _v0.b.b) && _v0.b.b.b) {+ if (!_v0.b.b.b.b) {+ var r = _v0.a;+ var _v1 = _v0.b;+ var g = _v1.a;+ var _v2 = _v1.b;+ var b = _v2.a;+ return A5(+ $rtfeldman$elm_css$Css$validHex,+ str,+ _Utils_Tuple2(r, r),+ _Utils_Tuple2(g, g),+ _Utils_Tuple2(b, b),+ _Utils_Tuple2('f', 'f'));+ } else {+ if (!_v0.b.b.b.b.b) {+ var r = _v0.a;+ var _v3 = _v0.b;+ var g = _v3.a;+ var _v4 = _v3.b;+ var b = _v4.a;+ var _v5 = _v4.b;+ var a = _v5.a;+ return A5(+ $rtfeldman$elm_css$Css$validHex,+ str,+ _Utils_Tuple2(r, r),+ _Utils_Tuple2(g, g),+ _Utils_Tuple2(b, b),+ _Utils_Tuple2(a, a));+ } else {+ if (_v0.b.b.b.b.b.b) {+ if (!_v0.b.b.b.b.b.b.b) {+ var r1 = _v0.a;+ var _v6 = _v0.b;+ var r2 = _v6.a;+ var _v7 = _v6.b;+ var g1 = _v7.a;+ var _v8 = _v7.b;+ var g2 = _v8.a;+ var _v9 = _v8.b;+ var b1 = _v9.a;+ var _v10 = _v9.b;+ var b2 = _v10.a;+ return A5(+ $rtfeldman$elm_css$Css$validHex,+ str,+ _Utils_Tuple2(r1, r2),+ _Utils_Tuple2(g1, g2),+ _Utils_Tuple2(b1, b2),+ _Utils_Tuple2('f', 'f'));+ } else {+ if (_v0.b.b.b.b.b.b.b.b && (!_v0.b.b.b.b.b.b.b.b.b)) {+ var r1 = _v0.a;+ var _v11 = _v0.b;+ var r2 = _v11.a;+ var _v12 = _v11.b;+ var g1 = _v12.a;+ var _v13 = _v12.b;+ var g2 = _v13.a;+ var _v14 = _v13.b;+ var b1 = _v14.a;+ var _v15 = _v14.b;+ var b2 = _v15.a;+ var _v16 = _v15.b;+ var a1 = _v16.a;+ var _v17 = _v16.b;+ var a2 = _v17.a;+ return A5(+ $rtfeldman$elm_css$Css$validHex,+ str,+ _Utils_Tuple2(r1, r2),+ _Utils_Tuple2(g1, g2),+ _Utils_Tuple2(b1, b2),+ _Utils_Tuple2(a1, a2));+ } else {+ break _v0$4;+ }+ }+ } else {+ break _v0$4;+ }+ }+ }+ } else {+ break _v0$4;+ }+ }+ return $rtfeldman$elm_css$Css$erroneousHex(str);+};+var $rtfeldman$elm_css$Css$minHeight = $rtfeldman$elm_css$Css$prop1('min-height');+var $rtfeldman$elm_css$Html$Styled$p = $rtfeldman$elm_css$Html$Styled$node('p');+var $rtfeldman$elm_css$Css$position = $rtfeldman$elm_css$Css$prop1('position');+var $rtfeldman$elm_css$VirtualDom$Styled$Unstyled = function (a) {+ return {$: 4, a: a};+};+var $rtfeldman$elm_css$VirtualDom$Styled$text = function (str) {+ return $rtfeldman$elm_css$VirtualDom$Styled$Unstyled(+ $elm$virtual_dom$VirtualDom$text(str));+};+var $rtfeldman$elm_css$Html$Styled$text = $rtfeldman$elm_css$VirtualDom$Styled$text;+var $rtfeldman$elm_css$Css$Preprocess$ApplyStyles = function (a) {+ return {$: 6, a: a};+};+var $rtfeldman$elm_css$Css$Internal$property = F2(+ function (key, value) {+ return $rtfeldman$elm_css$Css$Preprocess$AppendProperty(key + (':' + value));+ });+var $rtfeldman$elm_css$Css$Internal$getOverloadedProperty = F3(+ function (functionName, desiredKey, style) {+ getOverloadedProperty:+ while (true) {+ switch (style.$) {+ case 0:+ var str = style.a;+ var key = A2(+ $elm$core$Maybe$withDefault,+ '',+ $elm$core$List$head(+ A2($elm$core$String$split, ':', str)));+ return A2($rtfeldman$elm_css$Css$Internal$property, desiredKey, key);+ case 1:+ var selector = style.a;+ return A2($rtfeldman$elm_css$Css$Internal$property, desiredKey, 'elm-css-error-cannot-apply-' + (functionName + '-with-inapplicable-Style-for-selector'));+ case 2:+ var combinator = style.a;+ return A2($rtfeldman$elm_css$Css$Internal$property, desiredKey, 'elm-css-error-cannot-apply-' + (functionName + '-with-inapplicable-Style-for-combinator'));+ case 3:+ var pseudoElement = style.a;+ return A2($rtfeldman$elm_css$Css$Internal$property, desiredKey, 'elm-css-error-cannot-apply-' + (functionName + '-with-inapplicable-Style-for-pseudo-element setter'));+ case 4:+ return A2($rtfeldman$elm_css$Css$Internal$property, desiredKey, 'elm-css-error-cannot-apply-' + (functionName + '-with-inapplicable-Style-for-media-query'));+ case 5:+ return A2($rtfeldman$elm_css$Css$Internal$property, desiredKey, 'elm-css-error-cannot-apply-' + (functionName + '-with-inapplicable-Style-for-keyframes'));+ default:+ if (!style.a.b) {+ return A2($rtfeldman$elm_css$Css$Internal$property, desiredKey, 'elm-css-error-cannot-apply-' + (functionName + '-with-empty-Style'));+ } else {+ if (!style.a.b.b) {+ var _v1 = style.a;+ var only = _v1.a;+ var $temp$functionName = functionName,+ $temp$desiredKey = desiredKey,+ $temp$style = only;+ functionName = $temp$functionName;+ desiredKey = $temp$desiredKey;+ style = $temp$style;+ continue getOverloadedProperty;+ } else {+ var _v2 = style.a;+ var first = _v2.a;+ var rest = _v2.b;+ var $temp$functionName = functionName,+ $temp$desiredKey = desiredKey,+ $temp$style = $rtfeldman$elm_css$Css$Preprocess$ApplyStyles(rest);+ functionName = $temp$functionName;+ desiredKey = $temp$desiredKey;+ style = $temp$style;+ continue getOverloadedProperty;+ }+ }+ }+ }+ });+var $rtfeldman$elm_css$Css$Internal$IncompatibleUnits = 0;+var $elm$core$String$fromFloat = _String_fromNumber;+var $rtfeldman$elm_css$Css$Internal$lengthConverter = F3(+ function (units, unitLabel, numericValue) {+ return {+ br: 0,+ bD: 0,+ ak: 0,+ s: 0,+ aF: 0,+ ao: 0,+ R: 0,+ ap: 0,+ aq: 0,+ Z: 0,+ _: 0,+ J: 0,+ T: numericValue,+ av: 0,+ ax: unitLabel,+ aR: units,+ L: _Utils_ap(+ $elm$core$String$fromFloat(numericValue),+ unitLabel)+ };+ });+var $rtfeldman$elm_css$Css$Internal$lengthForOverloadedProperty = A3($rtfeldman$elm_css$Css$Internal$lengthConverter, 0, '', 0);+var $rtfeldman$elm_css$Css$textAlign = function (fn) {+ return A3(+ $rtfeldman$elm_css$Css$Internal$getOverloadedProperty,+ 'textAlign',+ 'text-align',+ fn($rtfeldman$elm_css$Css$Internal$lengthForOverloadedProperty));+};+var $elm$core$Dict$values = function (dict) {+ return A3(+ $elm$core$Dict$foldr,+ F3(+ function (key, value, valueList) {+ return A2($elm$core$List$cons, value, valueList);+ }),+ _List_Nil,+ dict);+};+var $rtfeldman$elm_css$Css$VhUnits = 0;+var $rtfeldman$elm_css$Css$vh = A2($rtfeldman$elm_css$Css$Internal$lengthConverter, 0, 'vh');+var $author$project$Main$SetFlag = F2(+ function (a, b) {+ return {$: 2, a: a, b: b};+ });+var $rtfeldman$elm_css$Css$Structure$PseudoElement = $elm$core$Basics$identity;+var $rtfeldman$elm_css$Css$Preprocess$WithPseudoElement = F2(+ function (a, b) {+ return {$: 3, a: a, b: b};+ });+var $rtfeldman$elm_css$Css$pseudoElement = function (element) {+ return $rtfeldman$elm_css$Css$Preprocess$WithPseudoElement(element);+};+var $rtfeldman$elm_css$Css$after = $rtfeldman$elm_css$Css$pseudoElement('after');+var $rtfeldman$elm_css$Css$batch = $rtfeldman$elm_css$Css$Preprocess$ApplyStyles;+var $rtfeldman$elm_css$Html$Styled$button = $rtfeldman$elm_css$Html$Styled$node('button');+var $rtfeldman$elm_css$Css$EmUnits = 0;+var $rtfeldman$elm_css$Css$em = A2($rtfeldman$elm_css$Css$Internal$lengthConverter, 0, 'em');+var $rtfeldman$elm_css$Css$fontSize = $rtfeldman$elm_css$Css$prop1('font-size');+var $rtfeldman$elm_css$Css$fontWeight = function (_v0) {+ var value = _v0.L;+ return A2($rtfeldman$elm_css$Css$property, 'font-weight', value);+};+var $rtfeldman$elm_css$Html$Styled$h2 = $rtfeldman$elm_css$Html$Styled$node('h2');+var $elm$core$Basics$clamp = F3(+ function (low, high, number) {+ return (_Utils_cmp(number, low) < 0) ? low : ((_Utils_cmp(number, high) > 0) ? high : number);+ });+var $elm$core$Basics$round = _Basics_round;+var $author$project$Main$handleFlagValue = F2(+ function (flagName, newValue) {+ return A2(+ $author$project$Main$SetFlag,+ flagName,+ A3(+ $elm$core$Basics$clamp,+ 0,+ 100,+ $elm$core$Basics$round(newValue)));+ });+var $rtfeldman$elm_css$Html$Styled$input = $rtfeldman$elm_css$Html$Styled$node('input');+var $rtfeldman$elm_css$Css$prop3 = F4(+ function (key, argA, argB, argC) {+ return A2(+ $rtfeldman$elm_css$Css$property,+ key,+ A2(+ $elm$core$String$join,+ ' ',+ _List_fromArray(+ [argA.L, argB.L, argC.L])));+ });+var $rtfeldman$elm_css$Css$border3 = $rtfeldman$elm_css$Css$prop3('border');+var $rtfeldman$elm_css$Css$borderBox = {ba: 0, aU: 0, L: 'border-box'};+var $rtfeldman$elm_css$Css$borderRadius = $rtfeldman$elm_css$Css$prop1('border-radius');+var $rtfeldman$elm_css$Css$boxSizing = $rtfeldman$elm_css$Css$prop1('box-sizing');+var $rtfeldman$elm_css$Css$height = $rtfeldman$elm_css$Css$prop1('height');+var $rtfeldman$elm_css$Css$PxUnits = 0;+var $rtfeldman$elm_css$Css$px = A2($rtfeldman$elm_css$Css$Internal$lengthConverter, 0, 'px');+var $rtfeldman$elm_css$Css$solid = {v: 0, ac: 0, L: 'solid'};+var $author$project$Main$inputStyle = $rtfeldman$elm_css$Css$batch(+ _List_fromArray(+ [+ $rtfeldman$elm_css$Css$fontSize(+ $rtfeldman$elm_css$Css$em(1.1)),+ $rtfeldman$elm_css$Css$height(+ $rtfeldman$elm_css$Css$em(1.6)),+ A3(+ $rtfeldman$elm_css$Css$border3,+ $rtfeldman$elm_css$Css$px(1),+ $rtfeldman$elm_css$Css$solid,+ $rtfeldman$elm_css$Css$hex('#ccc')),+ $rtfeldman$elm_css$Css$borderRadius(+ $rtfeldman$elm_css$Css$px(2)),+ $rtfeldman$elm_css$Css$textAlign($rtfeldman$elm_css$Css$center),+ $rtfeldman$elm_css$Css$boxSizing($rtfeldman$elm_css$Css$borderBox),+ $rtfeldman$elm_css$Css$backgroundColor(+ $rtfeldman$elm_css$Css$hex('#fefefe'))+ ]));+var $elm$virtual_dom$VirtualDom$lazy2 = _VirtualDom_lazy2;+var $rtfeldman$elm_css$VirtualDom$Styled$lazyHelp = F2(+ function (fn, arg) {+ return $rtfeldman$elm_css$VirtualDom$Styled$toUnstyled(+ fn(arg));+ });+var $rtfeldman$elm_css$VirtualDom$Styled$lazy = F2(+ function (fn, arg) {+ return $rtfeldman$elm_css$VirtualDom$Styled$Unstyled(+ A3($elm$virtual_dom$VirtualDom$lazy2, $rtfeldman$elm_css$VirtualDom$Styled$lazyHelp, fn, arg));+ });+var $rtfeldman$elm_css$Html$Styled$Lazy$lazy = $rtfeldman$elm_css$VirtualDom$Styled$lazy;+var $rtfeldman$elm_css$Css$prop2 = F3(+ function (key, argA, argB) {+ return A2(+ $rtfeldman$elm_css$Css$property,+ key,+ A2(+ $elm$core$String$join,+ ' ',+ _List_fromArray(+ [argA.L, argB.L])));+ });+var $rtfeldman$elm_css$Css$margin2 = $rtfeldman$elm_css$Css$prop2('margin');+var $rtfeldman$elm_css$Css$prop4 = F5(+ function (key, argA, argB, argC, argD) {+ return A2(+ $rtfeldman$elm_css$Css$property,+ key,+ A2(+ $elm$core$String$join,+ ' ',+ _List_fromArray(+ [argA.L, argB.L, argC.L, argD.L])));+ });+var $rtfeldman$elm_css$Css$margin4 = $rtfeldman$elm_css$Css$prop4('margin');+var $rtfeldman$elm_css$VirtualDom$Styled$property = F2(+ function (key, value) {+ return A3(+ $rtfeldman$elm_css$VirtualDom$Styled$Attribute,+ A2($elm$virtual_dom$VirtualDom$property, key, value),+ _List_Nil,+ '');+ });+var $rtfeldman$elm_css$Html$Styled$Attributes$stringProperty = F2(+ function (key, string) {+ return A2(+ $rtfeldman$elm_css$VirtualDom$Styled$property,+ key,+ $elm$json$Json$Encode$string(string));+ });+var $rtfeldman$elm_css$Html$Styled$Attributes$max = $rtfeldman$elm_css$Html$Styled$Attributes$stringProperty('max');+var $rtfeldman$elm_css$Html$Styled$Attributes$min = $rtfeldman$elm_css$Html$Styled$Attributes$stringProperty('min');+var $rtfeldman$elm_css$Css$normal = {bc: 0, al: 0, Q: 0, bj: 0, L: 'normal', W: 0};+var $elm$virtual_dom$VirtualDom$Normal = function (a) {+ return {$: 0, a: a};+};+var $elm$virtual_dom$VirtualDom$on = _VirtualDom_on;+var $rtfeldman$elm_css$VirtualDom$Styled$on = F2(+ function (eventName, handler) {+ return A3(+ $rtfeldman$elm_css$VirtualDom$Styled$Attribute,+ A2($elm$virtual_dom$VirtualDom$on, eventName, handler),+ _List_Nil,+ '');+ });+var $rtfeldman$elm_css$Html$Styled$Events$on = F2(+ function (event, decoder) {+ return A2(+ $rtfeldman$elm_css$VirtualDom$Styled$on,+ event,+ $elm$virtual_dom$VirtualDom$Normal(decoder));+ });+var $rtfeldman$elm_css$Html$Styled$Events$onClick = function (msg) {+ return A2(+ $rtfeldman$elm_css$Html$Styled$Events$on,+ 'click',+ $elm$json$Json$Decode$succeed(msg));+};+var $rtfeldman$elm_css$Css$padding = $rtfeldman$elm_css$Css$prop1('padding');+var $rtfeldman$elm_css$Html$Styled$section = $rtfeldman$elm_css$Html$Styled$node('section');+var $rtfeldman$elm_css$Html$Styled$Attributes$step = function (n) {+ return A2($rtfeldman$elm_css$Html$Styled$Attributes$stringProperty, 'step', n);+};+var $elm$json$Json$Decode$andThen = _Json_andThen;+var $elm$json$Json$Decode$fail = _Json_fail;+var $elm$json$Json$Decode$field = _Json_decodeField;+var $elm$json$Json$Decode$at = F2(+ function (fields, decoder) {+ return A3($elm$core$List$foldr, $elm$json$Json$Decode$field, decoder, fields);+ });+var $elm$json$Json$Decode$string = _Json_decodeString;+var $rtfeldman$elm_css$Html$Styled$Events$targetValue = A2(+ $elm$json$Json$Decode$at,+ _List_fromArray(+ ['target', 'value']),+ $elm$json$Json$Decode$string);+var $elm$core$String$toFloat = _String_toFloat;+var $author$project$Main$targetValueNumber = A2(+ $elm$json$Json$Decode$andThen,+ function (str) {+ var _v0 = $elm$core$String$toFloat(str);+ if (_v0.$ === 1) {+ return $elm$json$Json$Decode$fail('Expected a number');+ } else {+ var _float = _v0.a;+ return $elm$json$Json$Decode$succeed(_float);+ }+ },+ $rtfeldman$elm_css$Html$Styled$Events$targetValue);+var $elm$core$Char$toUpper = _Char_toUpper;+var $author$project$CaseConversion$capitalize = function (original) {+ var _v0 = $elm$core$String$uncons(original);+ if (_v0.$ === 1) {+ return original;+ } else {+ var _v1 = _v0.a;+ var first = _v1.a;+ var rest = _v1.b;+ return A2(+ $elm$core$String$cons,+ $elm$core$Char$toUpper(first),+ rest);+ }+};+var $elm$parser$Parser$Done = function (a) {+ return {$: 1, a: a};+};+var $elm$parser$Parser$Loop = function (a) {+ return {$: 0, a: a};+};+var $elm$parser$Parser$Advanced$Parser = $elm$core$Basics$identity;+var $elm$parser$Parser$Advanced$Bad = F2(+ function (a, b) {+ return {$: 1, a: a, b: b};+ });+var $elm$parser$Parser$Advanced$Good = F3(+ function (a, b, c) {+ return {$: 0, a: a, b: b, c: c};+ });+var $elm$parser$Parser$Advanced$loopHelp = F4(+ function (p, state, callback, s0) {+ loopHelp:+ while (true) {+ var _v0 = callback(state);+ var parse = _v0;+ var _v1 = parse(s0);+ if (!_v1.$) {+ var p1 = _v1.a;+ var step = _v1.b;+ var s1 = _v1.c;+ if (!step.$) {+ var newState = step.a;+ var $temp$p = p || p1,+ $temp$state = newState,+ $temp$callback = callback,+ $temp$s0 = s1;+ p = $temp$p;+ state = $temp$state;+ callback = $temp$callback;+ s0 = $temp$s0;+ continue loopHelp;+ } else {+ var result = step.a;+ return A3($elm$parser$Parser$Advanced$Good, p || p1, result, s1);+ }+ } else {+ var p1 = _v1.a;+ var x = _v1.b;+ return A2($elm$parser$Parser$Advanced$Bad, p || p1, x);+ }+ }+ });+var $elm$parser$Parser$Advanced$loop = F2(+ function (state, callback) {+ return function (s) {+ return A4($elm$parser$Parser$Advanced$loopHelp, false, state, callback, s);+ };+ });+var $elm$parser$Parser$Advanced$map = F2(+ function (func, _v0) {+ var parse = _v0;+ return function (s0) {+ var _v1 = parse(s0);+ if (!_v1.$) {+ var p = _v1.a;+ var a = _v1.b;+ var s1 = _v1.c;+ return A3(+ $elm$parser$Parser$Advanced$Good,+ p,+ func(a),+ s1);+ } else {+ var p = _v1.a;+ var x = _v1.b;+ return A2($elm$parser$Parser$Advanced$Bad, p, x);+ }+ };+ });+var $elm$parser$Parser$map = $elm$parser$Parser$Advanced$map;+var $elm$parser$Parser$Advanced$Done = function (a) {+ return {$: 1, a: a};+};+var $elm$parser$Parser$Advanced$Loop = function (a) {+ return {$: 0, a: a};+};+var $elm$parser$Parser$toAdvancedStep = function (step) {+ if (!step.$) {+ var s = step.a;+ return $elm$parser$Parser$Advanced$Loop(s);+ } else {+ var a = step.a;+ return $elm$parser$Parser$Advanced$Done(a);+ }+};+var $elm$parser$Parser$loop = F2(+ function (state, callback) {+ return A2(+ $elm$parser$Parser$Advanced$loop,+ state,+ function (s) {+ return A2(+ $elm$parser$Parser$map,+ $elm$parser$Parser$toAdvancedStep,+ callback(s));+ });+ });+var $elm$parser$Parser$Advanced$Empty = {$: 0};+var $elm$parser$Parser$Advanced$Append = F2(+ function (a, b) {+ return {$: 2, a: a, b: b};+ });+var $elm$parser$Parser$Advanced$oneOfHelp = F3(+ function (s0, bag, parsers) {+ oneOfHelp:+ while (true) {+ if (!parsers.b) {+ return A2($elm$parser$Parser$Advanced$Bad, false, bag);+ } else {+ var parse = parsers.a;+ var remainingParsers = parsers.b;+ var _v1 = parse(s0);+ if (!_v1.$) {+ var step = _v1;+ return step;+ } else {+ var step = _v1;+ var p = step.a;+ var x = step.b;+ if (p) {+ return step;+ } else {+ var $temp$s0 = s0,+ $temp$bag = A2($elm$parser$Parser$Advanced$Append, bag, x),+ $temp$parsers = remainingParsers;+ s0 = $temp$s0;+ bag = $temp$bag;+ parsers = $temp$parsers;+ continue oneOfHelp;+ }+ }+ }+ }+ });+var $elm$parser$Parser$Advanced$oneOf = function (parsers) {+ return function (s) {+ return A3($elm$parser$Parser$Advanced$oneOfHelp, s, $elm$parser$Parser$Advanced$Empty, parsers);+ };+};+var $elm$parser$Parser$oneOf = $elm$parser$Parser$Advanced$oneOf;+var $elm$parser$Parser$DeadEnd = F3(+ function (row, col, problem) {+ return {bG: col, ca: problem, cl: row};+ });+var $elm$parser$Parser$problemToDeadEnd = function (p) {+ return A3($elm$parser$Parser$DeadEnd, p.cl, p.bG, p.ca);+};+var $elm$parser$Parser$Advanced$bagToList = F2(+ function (bag, list) {+ bagToList:+ while (true) {+ switch (bag.$) {+ case 0:+ return list;+ case 1:+ var bag1 = bag.a;+ var x = bag.b;+ var $temp$bag = bag1,+ $temp$list = A2($elm$core$List$cons, x, list);+ bag = $temp$bag;+ list = $temp$list;+ continue bagToList;+ default:+ var bag1 = bag.a;+ var bag2 = bag.b;+ var $temp$bag = bag1,+ $temp$list = A2($elm$parser$Parser$Advanced$bagToList, bag2, list);+ bag = $temp$bag;+ list = $temp$list;+ continue bagToList;+ }+ }+ });+var $elm$parser$Parser$Advanced$run = F2(+ function (_v0, src) {+ var parse = _v0;+ var _v1 = parse(+ {bG: 1, f: _List_Nil, g: 1, b: 0, cl: 1, a: src});+ if (!_v1.$) {+ var value = _v1.b;+ return $elm$core$Result$Ok(value);+ } else {+ var bag = _v1.b;+ return $elm$core$Result$Err(+ A2($elm$parser$Parser$Advanced$bagToList, bag, _List_Nil));+ }+ });+var $elm$parser$Parser$run = F2(+ function (parser, source) {+ var _v0 = A2($elm$parser$Parser$Advanced$run, parser, source);+ if (!_v0.$) {+ var a = _v0.a;+ return $elm$core$Result$Ok(a);+ } else {+ var problems = _v0.a;+ return $elm$core$Result$Err(+ A2($elm$core$List$map, $elm$parser$Parser$problemToDeadEnd, problems));+ }+ });+var $elm$parser$Parser$Advanced$succeed = function (a) {+ return function (s) {+ return A3($elm$parser$Parser$Advanced$Good, false, a, s);+ };+};+var $elm$parser$Parser$succeed = $elm$parser$Parser$Advanced$succeed;+var $elm$parser$Parser$UnexpectedChar = {$: 11};+var $elm$parser$Parser$Advanced$AddRight = F2(+ function (a, b) {+ return {$: 1, a: a, b: b};+ });+var $elm$parser$Parser$Advanced$DeadEnd = F4(+ function (row, col, problem, contextStack) {+ return {bG: col, cQ: contextStack, ca: problem, cl: row};+ });+var $elm$parser$Parser$Advanced$fromState = F2(+ function (s, x) {+ return A2(+ $elm$parser$Parser$Advanced$AddRight,+ $elm$parser$Parser$Advanced$Empty,+ A4($elm$parser$Parser$Advanced$DeadEnd, s.cl, s.bG, x, s.f));+ });+var $elm$parser$Parser$Advanced$isSubChar = _Parser_isSubChar;+var $elm$parser$Parser$Advanced$chompIf = F2(+ function (isGood, expecting) {+ return function (s) {+ var newOffset = A3($elm$parser$Parser$Advanced$isSubChar, isGood, s.b, s.a);+ return _Utils_eq(newOffset, -1) ? A2(+ $elm$parser$Parser$Advanced$Bad,+ false,+ A2($elm$parser$Parser$Advanced$fromState, s, expecting)) : (_Utils_eq(newOffset, -2) ? A3(+ $elm$parser$Parser$Advanced$Good,+ true,+ 0,+ {bG: 1, f: s.f, g: s.g, b: s.b + 1, cl: s.cl + 1, a: s.a}) : A3(+ $elm$parser$Parser$Advanced$Good,+ true,+ 0,+ {bG: s.bG + 1, f: s.f, g: s.g, b: newOffset, cl: s.cl, a: s.a}));+ };+ });+var $elm$parser$Parser$chompIf = function (isGood) {+ return A2($elm$parser$Parser$Advanced$chompIf, isGood, $elm$parser$Parser$UnexpectedChar);+};+var $elm$parser$Parser$Advanced$chompWhileHelp = F5(+ function (isGood, offset, row, col, s0) {+ chompWhileHelp:+ while (true) {+ var newOffset = A3($elm$parser$Parser$Advanced$isSubChar, isGood, offset, s0.a);+ if (_Utils_eq(newOffset, -1)) {+ return A3(+ $elm$parser$Parser$Advanced$Good,+ _Utils_cmp(s0.b, offset) < 0,+ 0,+ {bG: col, f: s0.f, g: s0.g, b: offset, cl: row, a: s0.a});+ } else {+ if (_Utils_eq(newOffset, -2)) {+ var $temp$isGood = isGood,+ $temp$offset = offset + 1,+ $temp$row = row + 1,+ $temp$col = 1,+ $temp$s0 = s0;+ isGood = $temp$isGood;+ offset = $temp$offset;+ row = $temp$row;+ col = $temp$col;+ s0 = $temp$s0;+ continue chompWhileHelp;+ } else {+ var $temp$isGood = isGood,+ $temp$offset = newOffset,+ $temp$row = row,+ $temp$col = col + 1,+ $temp$s0 = s0;+ isGood = $temp$isGood;+ offset = $temp$offset;+ row = $temp$row;+ col = $temp$col;+ s0 = $temp$s0;+ continue chompWhileHelp;+ }+ }+ }+ });+var $elm$parser$Parser$Advanced$chompWhile = function (isGood) {+ return function (s) {+ return A5($elm$parser$Parser$Advanced$chompWhileHelp, isGood, s.b, s.cl, s.bG, s);+ };+};+var $elm$parser$Parser$chompWhile = $elm$parser$Parser$Advanced$chompWhile;+var $elm$core$Basics$always = F2(+ function (a, _v0) {+ return a;+ });+var $elm$parser$Parser$Advanced$mapChompedString = F2(+ function (func, _v0) {+ var parse = _v0;+ return function (s0) {+ var _v1 = parse(s0);+ if (_v1.$ === 1) {+ var p = _v1.a;+ var x = _v1.b;+ return A2($elm$parser$Parser$Advanced$Bad, p, x);+ } else {+ var p = _v1.a;+ var a = _v1.b;+ var s1 = _v1.c;+ return A3(+ $elm$parser$Parser$Advanced$Good,+ p,+ A2(+ func,+ A3($elm$core$String$slice, s0.b, s1.b, s0.a),+ a),+ s1);+ }+ };+ });+var $elm$parser$Parser$Advanced$getChompedString = function (parser) {+ return A2($elm$parser$Parser$Advanced$mapChompedString, $elm$core$Basics$always, parser);+};+var $elm$parser$Parser$getChompedString = $elm$parser$Parser$Advanced$getChompedString;+var $elm$parser$Parser$Advanced$map2 = F3(+ function (func, _v0, _v1) {+ var parseA = _v0;+ var parseB = _v1;+ return function (s0) {+ var _v2 = parseA(s0);+ if (_v2.$ === 1) {+ var p = _v2.a;+ var x = _v2.b;+ return A2($elm$parser$Parser$Advanced$Bad, p, x);+ } else {+ var p1 = _v2.a;+ var a = _v2.b;+ var s1 = _v2.c;+ var _v3 = parseB(s1);+ if (_v3.$ === 1) {+ var p2 = _v3.a;+ var x = _v3.b;+ return A2($elm$parser$Parser$Advanced$Bad, p1 || p2, x);+ } else {+ var p2 = _v3.a;+ var b = _v3.b;+ var s2 = _v3.c;+ return A3(+ $elm$parser$Parser$Advanced$Good,+ p1 || p2,+ A2(func, a, b),+ s2);+ }+ }+ };+ });+var $elm$parser$Parser$Advanced$ignorer = F2(+ function (keepParser, ignoreParser) {+ return A3($elm$parser$Parser$Advanced$map2, $elm$core$Basics$always, keepParser, ignoreParser);+ });+var $elm$parser$Parser$ignorer = $elm$parser$Parser$Advanced$ignorer;+var $author$project$CaseConversion$isWhitespace = function (c) {+ return (c === ' ') || ((c === '\n') || ((c === '\u000D') || (c === '_')));+};+var $elm$parser$Parser$Advanced$keeper = F2(+ function (parseFunc, parseArg) {+ return A3($elm$parser$Parser$Advanced$map2, $elm$core$Basics$apL, parseFunc, parseArg);+ });+var $elm$parser$Parser$keeper = $elm$parser$Parser$Advanced$keeper;+var $author$project$CaseConversion$startsWord = function (c) {+ return !($author$project$CaseConversion$isWhitespace(c) || ($elm$core$Char$isUpper(c) || $elm$core$Char$isDigit(c)));+};+var $author$project$CaseConversion$word = A2(+ $elm$parser$Parser$keeper,+ A2(+ $elm$parser$Parser$ignorer,+ $elm$parser$Parser$succeed($elm$core$Basics$identity),+ $elm$parser$Parser$chompWhile($author$project$CaseConversion$isWhitespace)),+ A2(+ $elm$parser$Parser$ignorer,+ $elm$parser$Parser$getChompedString(+ A2(+ $elm$parser$Parser$ignorer,+ A2(+ $elm$parser$Parser$ignorer,+ $elm$parser$Parser$succeed(0),+ $elm$parser$Parser$chompIf(+ A2($elm$core$Basics$composeL, $elm$core$Basics$not, $author$project$CaseConversion$isWhitespace))),+ $elm$parser$Parser$chompWhile($author$project$CaseConversion$startsWord))),+ $elm$parser$Parser$chompWhile($author$project$CaseConversion$isWhitespace)));+var $author$project$CaseConversion$words = function (string) {+ var parser = A2(+ $elm$parser$Parser$loop,+ _List_Nil,+ function (words_) {+ return $elm$parser$Parser$oneOf(+ _List_fromArray(+ [+ A2(+ $elm$parser$Parser$map,+ function (word_) {+ return $elm$parser$Parser$Loop(+ A2($elm$core$List$cons, word_, words_));+ },+ $author$project$CaseConversion$word),+ $elm$parser$Parser$succeed(+ $elm$parser$Parser$Done(words_))+ ]));+ });+ var _v0 = A2($elm$parser$Parser$run, parser, string);+ if (_v0.$ === 1) {+ return _List_fromArray(+ [string]);+ } else {+ var words_ = _v0.a;+ return words_;+ }+};+var $author$project$CaseConversion$toSpaceCase = function (original) {+ return A2(+ $elm$core$String$join,+ ' ',+ A2(+ $elm$core$List$map,+ $author$project$CaseConversion$capitalize,+ $elm$core$List$reverse(+ $author$project$CaseConversion$words(original))));+};+var $rtfeldman$elm_css$Html$Styled$Attributes$type_ = $rtfeldman$elm_css$Html$Styled$Attributes$stringProperty('type');+var $rtfeldman$elm_css$Html$Styled$Attributes$value = $rtfeldman$elm_css$Html$Styled$Attributes$stringProperty('value');+var $rtfeldman$elm_css$Css$width = $rtfeldman$elm_css$Css$prop1('width');+var $rtfeldman$elm_css$Css$UnitlessInteger = 0;+var $rtfeldman$elm_css$Css$zero = {aF: 0, ao: 0, R: 0, ap: 0, aq: 0, Z: 0, _: 0, aH: 0, T: 0, a1: 0, ax: '', aR: 0, L: '0'};+var $author$project$Main$viewFlag = F2(+ function (name, percentage) {+ var _v0 = $author$project$Persisted$value(percentage);+ var current = _v0;+ return A2(+ $rtfeldman$elm_css$Html$Styled$section,+ _List_fromArray(+ [+ $rtfeldman$elm_css$Html$Styled$Attributes$css(+ _List_fromArray(+ [+ function () {+ var _v1 = $author$project$Persisted$value(percentage);+ switch (_v1) {+ case 0:+ return $rtfeldman$elm_css$Css$batch(_List_Nil);+ case 100:+ return $rtfeldman$elm_css$Css$batch(+ _List_fromArray(+ [+ $rtfeldman$elm_css$Css$backgroundColor(+ $rtfeldman$elm_css$Css$hex('#C1F0C1'))+ ]));+ default:+ return $rtfeldman$elm_css$Css$batch(+ _List_fromArray(+ [+ $rtfeldman$elm_css$Css$backgroundColor(+ $rtfeldman$elm_css$Css$hex('#F0EEC1'))+ ]));+ }+ }(),+ $rtfeldman$elm_css$Css$padding(+ $rtfeldman$elm_css$Css$px(10))+ ]))+ ]),+ _List_fromArray(+ [+ A2(+ $rtfeldman$elm_css$Html$Styled$h2,+ _List_fromArray(+ [+ $rtfeldman$elm_css$Html$Styled$Attributes$css(+ _List_fromArray(+ [+ $rtfeldman$elm_css$Css$fontWeight($rtfeldman$elm_css$Css$normal),+ $rtfeldman$elm_css$Css$fontSize(+ $rtfeldman$elm_css$Css$em(1.4)),+ A4(+ $rtfeldman$elm_css$Css$margin4,+ $rtfeldman$elm_css$Css$zero,+ $rtfeldman$elm_css$Css$zero,+ $rtfeldman$elm_css$Css$em(0.5),+ $rtfeldman$elm_css$Css$zero)+ ]))+ ]),+ _List_fromArray(+ [+ A2(+ $rtfeldman$elm_css$Html$Styled$Lazy$lazy,+ A2($elm$core$Basics$composeL, $rtfeldman$elm_css$Html$Styled$text, $author$project$CaseConversion$toSpaceCase),+ name)+ ])),+ A2(+ $rtfeldman$elm_css$Html$Styled$button,+ _List_fromArray(+ [+ $rtfeldman$elm_css$Html$Styled$Attributes$css(+ _List_fromArray(+ [$author$project$Main$inputStyle])),+ $rtfeldman$elm_css$Html$Styled$Events$onClick(+ A2($author$project$Main$SetFlag, name, 0))+ ]),+ _List_fromArray(+ [+ $rtfeldman$elm_css$Html$Styled$text('❌')+ ])),+ A2(+ $rtfeldman$elm_css$Html$Styled$input,+ _List_fromArray(+ [+ $rtfeldman$elm_css$Html$Styled$Attributes$value(+ $elm$core$String$fromInt(current)),+ $rtfeldman$elm_css$Html$Styled$Attributes$type_('number'),+ $rtfeldman$elm_css$Html$Styled$Attributes$min('0'),+ $rtfeldman$elm_css$Html$Styled$Attributes$max('100'),+ $rtfeldman$elm_css$Html$Styled$Attributes$step('1'),+ $rtfeldman$elm_css$Html$Styled$Attributes$css(+ _List_fromArray(+ [+ $author$project$Main$inputStyle,+ $rtfeldman$elm_css$Css$width(+ $rtfeldman$elm_css$Css$px(60)),+ A2(+ $rtfeldman$elm_css$Css$margin2,+ $rtfeldman$elm_css$Css$zero,+ $rtfeldman$elm_css$Css$px(10)),+ $rtfeldman$elm_css$Css$after(+ _List_fromArray(+ [+ A2($rtfeldman$elm_css$Css$property, 'content', '%')+ ]))+ ])),+ A2(+ $rtfeldman$elm_css$Html$Styled$Events$on,+ 'input',+ A2(+ $elm$json$Json$Decode$map,+ $author$project$Main$handleFlagValue(name),+ $author$project$Main$targetValueNumber))+ ]),+ _List_Nil),+ A2(+ $rtfeldman$elm_css$Html$Styled$button,+ _List_fromArray(+ [+ $rtfeldman$elm_css$Html$Styled$Attributes$css(+ _List_fromArray(+ [$author$project$Main$inputStyle])),+ $rtfeldman$elm_css$Html$Styled$Events$onClick(+ A2($author$project$Main$SetFlag, name, 100))+ ]),+ _List_fromArray(+ [+ $rtfeldman$elm_css$Html$Styled$text('✅')+ ]))+ ]));+ });+var $rtfeldman$elm_css$Css$VwUnits = 0;+var $rtfeldman$elm_css$Css$vw = A2($rtfeldman$elm_css$Css$Internal$lengthConverter, 0, 'vw');+var $author$project$Main$view = function (model) {+ return A2(+ $rtfeldman$elm_css$Html$Styled$div,+ _List_fromArray(+ [+ $rtfeldman$elm_css$Html$Styled$Attributes$css(+ _List_fromArray(+ [+ $rtfeldman$elm_css$Css$textAlign($rtfeldman$elm_css$Css$center),+ $rtfeldman$elm_css$Css$fontFamilies(+ _List_fromArray(+ ['Helvetica Neue', 'Helvetica', 'Arial', 'sans-serif'])),+ $rtfeldman$elm_css$Css$color(+ $rtfeldman$elm_css$Css$hex('#333')),+ $rtfeldman$elm_css$Css$backgroundColor(+ $rtfeldman$elm_css$Css$hex('#fefefe')),+ $rtfeldman$elm_css$Css$position($rtfeldman$elm_css$Css$absolute),+ $rtfeldman$elm_css$Css$minHeight(+ $rtfeldman$elm_css$Css$vh(100)),+ $rtfeldman$elm_css$Css$width(+ $rtfeldman$elm_css$Css$vw(100))+ ]))+ ]),+ A2(+ $elm$core$List$cons,+ A2(+ $rtfeldman$elm_css$Html$Styled$h1,+ _List_Nil,+ _List_fromArray(+ [+ $rtfeldman$elm_css$Html$Styled$text('Feature Flags')+ ])),+ function () {+ var _v0 = model.D;+ if (!_v0.$) {+ return _List_fromArray(+ [+ $rtfeldman$elm_css$Html$Styled$text('Loading...')+ ]);+ } else {+ var flags = _v0.a;+ return A2(+ $elm$core$List$cons,+ A2(+ $rtfeldman$elm_css$Html$Styled$p,+ _List_Nil,+ _List_fromArray(+ [+ $rtfeldman$elm_css$Html$Styled$text('Every feature flag can be completely enabled, completely disabled, or enabled for a percentage of traffic.')+ ])),+ $elm$core$Dict$values(+ A2($elm$core$Dict$map, $author$project$Main$viewFlag, flags)));+ }+ }()));+};+var $author$project$Main$main = $elm$browser$Browser$application(+ {+ c3: F3(+ function (_v0, url, _v1) {+ var rootPath = A2($elm$core$String$split, '/', url.dm);+ return _Utils_Tuple2(+ {D: $author$project$Main$Loading, a5: rootPath},+ $author$project$Main$sendLoadFlagsRequest(rootPath));+ }),+ di: function (_v2) {+ return $author$project$Main$NoOp;+ },+ dj: function (_v3) {+ return $author$project$Main$NoOp;+ },+ dw: function (_v4) {+ return A2(+ $elm$time$Time$every,+ 5 * 1000,+ function (_v5) {+ return $author$project$Main$LoadFlags;+ });+ },+ dC: $author$project$Main$update,+ dE: function (model) {+ return {+ bA: _List_fromArray(+ [+ $rtfeldman$elm_css$Html$Styled$toUnstyled(+ $author$project$Main$view(model))+ ]),+ dA: 'Feature Flags'+ };+ }+ });+_Platform_export({'Main':{'init':$author$project$Main$main(+ $elm$json$Json$Decode$succeed(0))(0)}});}(this)); var app = Elm.Main.init({ node: document.getElementById("elm") }); }
src/Network/FeatureFlags.hs view
@@ -66,6 +66,7 @@ import Data.Bifunctor (first) import qualified Data.ByteString as B import qualified Data.HashMap.Strict as Map+import qualified Data.HashSet as Set import qualified Data.IORef as IORef import Data.Kind (Type) import qualified Data.Maybe as Maybe@@ -127,7 +128,9 @@ readFlagConfigs :: [T.Text] -> Store flags -> IO (Map.HashMap T.Text Percent) readFlagConfigs keys store = do let defaults = zip keys (repeat (Percent 0))- stored <- Maybe.catMaybes . map decodeFlagConfig <$> readKeys store+ let keySet = Set.fromList keys+ stored' <- Maybe.catMaybes . map decodeFlagConfig <$> readKeys store+ let stored = filter (\(k, _) -> Set.member k keySet) stored' pure $ Map.fromList $ defaults <> stored decodeFlagConfig :: (B.ByteString, B.ByteString) -> Maybe (T.Text, Percent)
wai-feature-flags.cabal view
@@ -4,10 +4,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: 184959f4466db0edd22a62ebbfe0a7cd9dff71d3499da077fb28b6c3f877e384+-- hash: 5f636ade04903a879e49301a8a893bccfcc1c21f5b4c225839e027930b4d2e4c name: wai-feature-flags-version: 0.1.0.0+version: 0.1.0.1 synopsis: Feature flag support for WAI applications. description: Please see the README at <https://github.com/jwoudenberg/wai-feature-flags>. category: Web