4function F(arity, fun, wrapper) {
11 return F(2, fun, function(a) { return function(b) { return fun(a,b); }; })
14 return F(3, fun, function(a) {
15 return function(b) { return function(c) { return fun(a, b, c); }; };
19 return F(4, fun, function(a) { return function(b) { return function(c) {
20 return function(d) { return fun(a, b, c, d); }; }; };
24 return F(5, fun, function(a) { return function(b) { return function(c) {
25 return function(d) { return function(e) { return fun(a, b, c, d, e); }; }; }; };
29 return F(6, fun, function(a) { return function(b) { return function(c) {
30 return function(d) { return function(e) { return function(f) {
31 return fun(a, b, c, d, e, f); }; }; }; }; };
35 return F(7, fun, function(a) { return function(b) { return function(c) {
36 return function(d) { return function(e) { return function(f) {
37 return function(g) { return fun(a, b, c, d, e, f, g); }; }; }; }; }; };
41 return F(8, fun, function(a) { return function(b) { return function(c) {
42 return function(d) { return function(e) { return function(f) {
43 return function(g) { return function(h) {
44 return fun(a, b, c, d, e, f, g, h); }; }; }; }; }; }; };
48 return F(9, fun, function(a) { return function(b) { return function(c) {
49 return function(d) { return function(e) { return function(f) {
50 return function(g) { return function(h) { return function(i) {
51 return fun(a, b, c, d, e, f, g, h, i); }; }; }; }; }; }; }; };
55function A2(fun, a, b) {
56 return fun.a === 2 ? fun.f(a, b) : fun(a)(b);
58function A3(fun, a, b, c) {
59 return fun.a === 3 ? fun.f(a, b, c) : fun(a)(b)(c);
61function A4(fun, a, b, c, d) {
62 return fun.a === 4 ? fun.f(a, b, c, d) : fun(a)(b)(c)(d);
64function A5(fun, a, b, c, d, e) {
65 return fun.a === 5 ? fun.f(a, b, c, d, e) : fun(a)(b)(c)(d)(e);
67function A6(fun, a, b, c, d, e, f) {
68 return fun.a === 6 ? fun.f(a, b, c, d, e, f) : fun(a)(b)(c)(d)(e)(f);
70function A7(fun, a, b, c, d, e, f, g) {
71 return fun.a === 7 ? fun.f(a, b, c, d, e, f, g) : fun(a)(b)(c)(d)(e)(f)(g);
73function A8(fun, a, b, c, d, e, f, g, h) {
74 return fun.a === 8 ? fun.f(a, b, c, d, e, f, g, h) : fun(a)(b)(c)(d)(e)(f)(g)(h);
76function A9(fun, a, b, c, d, e, f, g, h, i) {
77 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);
80console.warn('Compiled in DEV mode. Follow the advice at https://elm-lang.org/0.19.1/optimize for better performance and smaller assets.');
85function _Utils_eq(x, y)
88 var pair, stack = [], isEqual = _Utils_eqHelp(x, y, 0, stack);
89 isEqual && (pair = stack.pop());
90 isEqual = _Utils_eqHelp(pair.a, pair.b, 0, stack)
97function _Utils_eqHelp(x, y, depth, stack)
104 if (typeof x !== 'object' || x === null || y === null)
106 typeof x === 'function' && _Debug_crash(5);
112 stack.push(_Utils_Tuple2(x,y));
117 if (x.$ === 'Set_elm_builtin')
119 x = $elm$core$Set$toList(x);
120 y = $elm$core$Set$toList(y);
122 if (x.$ === 'RBNode_elm_builtin' || x.$ === 'RBEmpty_elm_builtin')
124 x = $elm$core$Dict$toList(x);
125 y = $elm$core$Dict$toList(y);
132 x = $elm$core$Dict$toList(x);
133 y = $elm$core$Dict$toList(y);
139 if (!_Utils_eqHelp(x[key], y[key], depth + 1, stack))
147var _Utils_equal = F2(_Utils_eq);
148var _Utils_notEqual = F2(function(a, b) { return !_Utils_eq(a,b); });
154// Code in Generate/JavaScript.hs, Basics.js, and List.js depends on
155// the particular integer values assigned to LT, EQ, and GT.
157function _Utils_cmp(x, y, ord)
159 if (typeof x !== 'object')
161 return x === y ? /*EQ*/ 0 : x < y ? /*LT*/ -1 : /*GT*/ 1;
165 if (x instanceof String)
169 return a === b ? 0 : a < b ? -1 : 1;
174 if (typeof x.$ === 'undefined')
180 return (ord = _Utils_cmp(x.a, y.a))
182 : (ord = _Utils_cmp(x.b, y.b))
184 : _Utils_cmp(x.c, y.c);
187 // traverse conses until end of a list or a mismatch
188 for (; x.b && y.b && !(ord = _Utils_cmp(x.a, y.a)); x = x.b, y = y.b) {} // WHILE_CONSES
189 return ord || (x.b ? /*GT*/ 1 : y.b ? /*LT*/ -1 : /*EQ*/ 0);
192var _Utils_lt = F2(function(a, b) { return _Utils_cmp(a, b) < 0; });
193var _Utils_le = F2(function(a, b) { return _Utils_cmp(a, b) < 1; });
194var _Utils_gt = F2(function(a, b) { return _Utils_cmp(a, b) > 0; });
195var _Utils_ge = F2(function(a, b) { return _Utils_cmp(a, b) >= 0; });
197var _Utils_compare = F2(function(x, y)
199 var n = _Utils_cmp(x, y);
200 return n < 0 ? $elm$core$Basics$LT : n ? $elm$core$Basics$GT : $elm$core$Basics$EQ;
206var _Utils_Tuple0_UNUSED = 0;
207var _Utils_Tuple0 = { $: '#0' };
209function _Utils_Tuple2_UNUSED(a, b) { return { a: a, b: b }; }
210function _Utils_Tuple2(a, b) { return { $: '#2', a: a, b: b }; }
212function _Utils_Tuple3_UNUSED(a, b, c) { return { a: a, b: b, c: c }; }
213function _Utils_Tuple3(a, b, c) { return { $: '#3', a: a, b: b, c: c }; }
215function _Utils_chr_UNUSED(c) { return c; }
216function _Utils_chr(c) { return new String(c); }
221function _Utils_update(oldRecord, updatedFields)
225 for (var key in oldRecord)
227 newRecord[key] = oldRecord[key];
230 for (var key in updatedFields)
232 newRecord[key] = updatedFields[key];
241var _Utils_append = F2(_Utils_ap);
243function _Utils_ap(xs, ys)
246 if (typeof xs === 'string')
256 var root = _List_Cons(xs.a, ys);
258 for (var curr = root; xs.b; xs = xs.b) // WHILE_CONS
260 curr = curr.b = _List_Cons(xs.a, ys);
267var _List_Nil_UNUSED = { $: 0 };
268var _List_Nil = { $: '[]' };
270function _List_Cons_UNUSED(hd, tl) { return { $: 1, a: hd, b: tl }; }
271function _List_Cons(hd, tl) { return { $: '::', a: hd, b: tl }; }
274var _List_cons = F2(_List_Cons);
276function _List_fromArray(arr)
279 for (var i = arr.length; i--; )
281 out = _List_Cons(arr[i], out);
286function _List_toArray(xs)
288 for (var out = []; xs.b; xs = xs.b) // WHILE_CONS
295var _List_map2 = F3(function(f, xs, ys)
297 for (var arr = []; xs.b && ys.b; xs = xs.b, ys = ys.b) // WHILE_CONSES
299 arr.push(A2(f, xs.a, ys.a));
301 return _List_fromArray(arr);
304var _List_map3 = F4(function(f, xs, ys, zs)
306 for (var arr = []; xs.b && ys.b && zs.b; xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES
308 arr.push(A3(f, xs.a, ys.a, zs.a));
310 return _List_fromArray(arr);
313var _List_map4 = F5(function(f, ws, xs, ys, zs)
315 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
317 arr.push(A4(f, ws.a, xs.a, ys.a, zs.a));
319 return _List_fromArray(arr);
322var _List_map5 = F6(function(f, vs, ws, xs, ys, zs)
324 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
326 arr.push(A5(f, vs.a, ws.a, xs.a, ys.a, zs.a));
328 return _List_fromArray(arr);
331var _List_sortBy = F2(function(f, xs)
333 return _List_fromArray(_List_toArray(xs).sort(function(a, b) {
334 return _Utils_cmp(f(a), f(b));
338var _List_sortWith = F2(function(f, xs)
340 return _List_fromArray(_List_toArray(xs).sort(function(a, b) {
341 var ord = A2(f, a, b);
342 return ord === $elm$core$Basics$EQ ? 0 : ord === $elm$core$Basics$LT ? -1 : 1;
348var _JsArray_empty = [];
350function _JsArray_singleton(value)
355function _JsArray_length(array)
360var _JsArray_initialize = F3(function(size, offset, func)
362 var result = new Array(size);
364 for (var i = 0; i < size; i++)
366 result[i] = func(offset + i);
372var _JsArray_initializeFromList = F2(function (max, ls)
374 var result = new Array(max);
376 for (var i = 0; i < max && ls.b; i++)
383 return _Utils_Tuple2(result, ls);
386var _JsArray_unsafeGet = F2(function(index, array)
391var _JsArray_unsafeSet = F3(function(index, value, array)
393 var length = array.length;
394 var result = new Array(length);
396 for (var i = 0; i < length; i++)
398 result[i] = array[i];
401 result[index] = value;
405var _JsArray_push = F2(function(value, array)
407 var length = array.length;
408 var result = new Array(length + 1);
410 for (var i = 0; i < length; i++)
412 result[i] = array[i];
415 result[length] = value;
419var _JsArray_foldl = F3(function(func, acc, array)
421 var length = array.length;
423 for (var i = 0; i < length; i++)
425 acc = A2(func, array[i], acc);
431var _JsArray_foldr = F3(function(func, acc, array)
433 for (var i = array.length - 1; i >= 0; i--)
435 acc = A2(func, array[i], acc);
441var _JsArray_map = F2(function(func, array)
443 var length = array.length;
444 var result = new Array(length);
446 for (var i = 0; i < length; i++)
448 result[i] = func(array[i]);
454var _JsArray_indexedMap = F3(function(func, offset, array)
456 var length = array.length;
457 var result = new Array(length);
459 for (var i = 0; i < length; i++)
461 result[i] = A2(func, offset + i, array[i]);
467var _JsArray_slice = F3(function(from, to, array)
469 return array.slice(from, to);
472var _JsArray_appendN = F3(function(n, dest, source)
474 var destLen = dest.length;
475 var itemsToCopy = n - destLen;
477 if (itemsToCopy > source.length)
479 itemsToCopy = source.length;
482 var size = destLen + itemsToCopy;
483 var result = new Array(size);
485 for (var i = 0; i < destLen; i++)
490 for (var i = 0; i < itemsToCopy; i++)
492 result[i + destLen] = source[i];
502var _Debug_log_UNUSED = F2(function(tag, value)
507var _Debug_log = F2(function(tag, value)
509 console.log(tag + ': ' + _Debug_toString(value));
516function _Debug_todo(moduleName, region)
518 return function(message) {
519 _Debug_crash(8, moduleName, region, message);
523function _Debug_todoCase(moduleName, region, value)
525 return function(message) {
526 _Debug_crash(9, moduleName, region, value, message);
533function _Debug_toString_UNUSED(value)
535 return '<internals>';
538function _Debug_toString(value)
540 return _Debug_toAnsiString(false, value);
543function _Debug_toAnsiString(ansi, value)
545 if (typeof value === 'function')
547 return _Debug_internalColor(ansi, '<function>');
550 if (typeof value === 'boolean')
552 return _Debug_ctorColor(ansi, value ? 'True' : 'False');
555 if (typeof value === 'number')
557 return _Debug_numberColor(ansi, value + '');
560 if (value instanceof String)
562 return _Debug_charColor(ansi, "'" + _Debug_addSlashes(value, true) + "'");
565 if (typeof value === 'string')
567 return _Debug_stringColor(ansi, '"' + _Debug_addSlashes(value, false) + '"');
570 if (typeof value === 'object' && '$' in value)
574 if (typeof tag === 'number')
576 return _Debug_internalColor(ansi, '<internals>');
584 if (k === '$') continue;
585 output.push(_Debug_toAnsiString(ansi, value[k]));
587 return '(' + output.join(',') + ')';
590 if (tag === 'Set_elm_builtin')
592 return _Debug_ctorColor(ansi, 'Set')
593 + _Debug_fadeColor(ansi, '.fromList') + ' '
594 + _Debug_toAnsiString(ansi, $elm$core$Set$toList(value));
597 if (tag === 'RBNode_elm_builtin' || tag === 'RBEmpty_elm_builtin')
599 return _Debug_ctorColor(ansi, 'Dict')
600 + _Debug_fadeColor(ansi, '.fromList') + ' '
601 + _Debug_toAnsiString(ansi, $elm$core$Dict$toList(value));
604 if (tag === 'Array_elm_builtin')
606 return _Debug_ctorColor(ansi, 'Array')
607 + _Debug_fadeColor(ansi, '.fromList') + ' '
608 + _Debug_toAnsiString(ansi, $elm$core$Array$toList(value));
611 if (tag === '::' || tag === '[]')
615 value.b && (output += _Debug_toAnsiString(ansi, value.a), value = value.b)
617 for (; value.b; value = value.b) // WHILE_CONS
619 output += ',' + _Debug_toAnsiString(ansi, value.a);
627 if (i === '$') continue;
628 var str = _Debug_toAnsiString(ansi, value[i]);
630 var parenless = c0 === '{' || c0 === '(' || c0 === '[' || c0 === '<' || c0 === '"' || str.indexOf(' ') < 0;
631 output += ' ' + (parenless ? str : '(' + str + ')');
633 return _Debug_ctorColor(ansi, tag) + output;
636 if (typeof DataView === 'function' && value instanceof DataView)
638 return _Debug_stringColor(ansi, '<' + value.byteLength + ' bytes>');
641 if (typeof File !== 'undefined' && value instanceof File)
643 return _Debug_internalColor(ansi, '<' + value.name + '>');
646 if (typeof value === 'object')
649 for (var key in value)
651 var field = key[0] === '_' ? key.slice(1) : key;
652 output.push(_Debug_fadeColor(ansi, field) + ' = ' + _Debug_toAnsiString(ansi, value[key]));
654 if (output.length === 0)
658 return '{ ' + output.join(', ') + ' }';
661 return _Debug_internalColor(ansi, '<internals>');
664function _Debug_addSlashes(str, isChar)
667 .replace(/\\/g, '\\\\')
668 .replace(/\n/g, '\\n')
669 .replace(/\t/g, '\\t')
670 .replace(/\r/g, '\\r')
671 .replace(/\v/g, '\\v')
672 .replace(/\0/g, '\\0');
676 return s.replace(/\'/g, '\\\'');
680 return s.replace(/\"/g, '\\"');
684function _Debug_ctorColor(ansi, string)
686 return ansi ? '\x1b[96m' + string + '\x1b[0m' : string;
689function _Debug_numberColor(ansi, string)
691 return ansi ? '\x1b[95m' + string + '\x1b[0m' : string;
694function _Debug_stringColor(ansi, string)
696 return ansi ? '\x1b[93m' + string + '\x1b[0m' : string;
699function _Debug_charColor(ansi, string)
701 return ansi ? '\x1b[92m' + string + '\x1b[0m' : string;
704function _Debug_fadeColor(ansi, string)
706 return ansi ? '\x1b[37m' + string + '\x1b[0m' : string;
709function _Debug_internalColor(ansi, string)
711 return ansi ? '\x1b[36m' + string + '\x1b[0m' : string;
714function _Debug_toHexDigit(n)
716 return String.fromCharCode(n < 10 ? 48 + n : 55 + n);
723function _Debug_crash_UNUSED(identifier)
725 throw new Error('https://github.com/elm/core/blob/1.0.0/hints/' + identifier + '.md');
729function _Debug_crash(identifier, fact1, fact2, fact3, fact4)
734 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.');
737 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.');
740 var jsonErrorString = fact1;
741 throw new Error('Problem with the flags given to your Elm program on initialization.\n\n' + jsonErrorString);
744 var portName = fact1;
745 throw new Error('There can only be one port named `' + portName + '`, but your program has multiple.');
748 var portName = fact1;
750 throw new Error('Trying to send an unexpected type of value through port `' + portName + '`:\n' + problem);
753 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.');
756 var moduleName = fact1;
757 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!');
760 var moduleName = fact1;
763 throw new Error('TODO in module `' + moduleName + '` ' + _Debug_regionToString(region) + '\n\n' + message);
766 var moduleName = fact1;
771 'TODO in module `' + moduleName + '` from the `case` expression '
772 + _Debug_regionToString(region) + '\n\nIt received the following value:\n\n '
773 + _Debug_toString(value).replace('\n', '\n ')
774 + '\n\nBut the branch that handles it says:\n\n ' + message.replace('\n', '\n ')
778 throw new Error('Bug in https://github.com/elm/virtual-dom/issues');
781 throw new Error('Cannot perform mod 0. Division by zero error.');
785function _Debug_regionToString(region)
787 if (region.start.line === region.end.line)
789 return 'on line ' + region.start.line;
791 return 'on lines ' + region.start.line + ' through ' + region.end.line;
798var _Basics_add = F2(function(a, b) { return a + b; });
799var _Basics_sub = F2(function(a, b) { return a - b; });
800var _Basics_mul = F2(function(a, b) { return a * b; });
801var _Basics_fdiv = F2(function(a, b) { return a / b; });
802var _Basics_idiv = F2(function(a, b) { return (a / b) | 0; });
803var _Basics_pow = F2(Math.pow);
805var _Basics_remainderBy = F2(function(b, a) { return a % b; });
807// https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/divmodnote-letter.pdf
808var _Basics_modBy = F2(function(modulus, x)
810 var answer = x % modulus;
814 ((answer > 0 && modulus < 0) || (answer < 0 && modulus > 0))
822var _Basics_pi = Math.PI;
823var _Basics_e = Math.E;
824var _Basics_cos = Math.cos;
825var _Basics_sin = Math.sin;
826var _Basics_tan = Math.tan;
827var _Basics_acos = Math.acos;
828var _Basics_asin = Math.asin;
829var _Basics_atan = Math.atan;
830var _Basics_atan2 = F2(Math.atan2);
835function _Basics_toFloat(x) { return x; }
836function _Basics_truncate(n) { return n | 0; }
837function _Basics_isInfinite(n) { return n === Infinity || n === -Infinity; }
839var _Basics_ceiling = Math.ceil;
840var _Basics_floor = Math.floor;
841var _Basics_round = Math.round;
842var _Basics_sqrt = Math.sqrt;
843var _Basics_log = Math.log;
844var _Basics_isNaN = isNaN;
849function _Basics_not(bool) { return !bool; }
850var _Basics_and = F2(function(a, b) { return a && b; });
851var _Basics_or = F2(function(a, b) { return a || b; });
852var _Basics_xor = F2(function(a, b) { return a !== b; });
856var _String_cons = F2(function(chr, str)
861function _String_uncons(string)
863 var word = string.charCodeAt(0);
865 ? $elm$core$Maybe$Just(
866 0xD800 <= word && word <= 0xDBFF
867 ? _Utils_Tuple2(_Utils_chr(string[0] + string[1]), string.slice(2))
868 : _Utils_Tuple2(_Utils_chr(string[0]), string.slice(1))
870 : $elm$core$Maybe$Nothing;
873var _String_append = F2(function(a, b)
878function _String_length(str)
883var _String_map = F2(function(func, string)
885 var len = string.length;
886 var array = new Array(len);
890 var word = string.charCodeAt(i);
891 if (0xD800 <= word && word <= 0xDBFF)
893 array[i] = func(_Utils_chr(string[i] + string[i+1]));
897 array[i] = func(_Utils_chr(string[i]));
900 return array.join('');
903var _String_filter = F2(function(isGood, str)
906 var len = str.length;
911 var word = str.charCodeAt(i);
913 if (0xD800 <= word && word <= 0xDBFF)
919 if (isGood(_Utils_chr(char)))
927function _String_reverse(str)
929 var len = str.length;
930 var arr = new Array(len);
934 var word = str.charCodeAt(i);
935 if (0xD800 <= word && word <= 0xDBFF)
937 arr[len - i] = str[i + 1];
939 arr[len - i] = str[i - 1];
944 arr[len - i] = str[i];
951var _String_foldl = F3(function(func, state, string)
953 var len = string.length;
957 var char = string[i];
958 var word = string.charCodeAt(i);
960 if (0xD800 <= word && word <= 0xDBFF)
965 state = A2(func, _Utils_chr(char), state);
970var _String_foldr = F3(function(func, state, string)
972 var i = string.length;
975 var char = string[i];
976 var word = string.charCodeAt(i);
977 if (0xDC00 <= word && word <= 0xDFFF)
980 char = string[i] + char;
982 state = A2(func, _Utils_chr(char), state);
987var _String_split = F2(function(sep, str)
989 return str.split(sep);
992var _String_join = F2(function(sep, strs)
994 return strs.join(sep);
997var _String_slice = F3(function(start, end, str) {
998 return str.slice(start, end);
1001function _String_trim(str)
1006function _String_trimLeft(str)
1008 return str.replace(/^\s+/, '');
1011function _String_trimRight(str)
1013 return str.replace(/\s+$/, '');
1016function _String_words(str)
1018 return _List_fromArray(str.trim().split(/\s+/g));
1021function _String_lines(str)
1023 return _List_fromArray(str.split(/\r\n|\r|\n/g));
1026function _String_toUpper(str)
1028 return str.toUpperCase();
1031function _String_toLower(str)
1033 return str.toLowerCase();
1036var _String_any = F2(function(isGood, string)
1038 var i = string.length;
1041 var char = string[i];
1042 var word = string.charCodeAt(i);
1043 if (0xDC00 <= word && word <= 0xDFFF)
1046 char = string[i] + char;
1048 if (isGood(_Utils_chr(char)))
1056var _String_all = F2(function(isGood, string)
1058 var i = string.length;
1061 var char = string[i];
1062 var word = string.charCodeAt(i);
1063 if (0xDC00 <= word && word <= 0xDFFF)
1066 char = string[i] + char;
1068 if (!isGood(_Utils_chr(char)))
1076var _String_contains = F2(function(sub, str)
1078 return str.indexOf(sub) > -1;
1081var _String_startsWith = F2(function(sub, str)
1083 return str.indexOf(sub) === 0;
1086var _String_endsWith = F2(function(sub, str)
1088 return str.length >= sub.length &&
1089 str.lastIndexOf(sub) === str.length - sub.length;
1092var _String_indexes = F2(function(sub, str)
1094 var subLen = sub.length;
1104 while ((i = str.indexOf(sub, i)) > -1)
1110 return _List_fromArray(is);
1116function _String_fromNumber(number)
1124function _String_toInt(str)
1127 var code0 = str.charCodeAt(0);
1128 var start = code0 == 0x2B /* + */ || code0 == 0x2D /* - */ ? 1 : 0;
1130 for (var i = start; i < str.length; ++i)
1132 var code = str.charCodeAt(i);
1133 if (code < 0x30 || 0x39 < code)
1135 return $elm$core$Maybe$Nothing;
1137 total = 10 * total + code - 0x30;
1141 ? $elm$core$Maybe$Nothing
1142 : $elm$core$Maybe$Just(code0 == 0x2D ? -total : total);
1148function _String_toFloat(s)
1150 // check if it is a hex, octal, or binary number
1151 if (s.length === 0 || /[\sxbo]/.test(s))
1153 return $elm$core$Maybe$Nothing;
1156 // faster isNaN check
1157 return n === n ? $elm$core$Maybe$Just(n) : $elm$core$Maybe$Nothing;
1160function _String_fromList(chars)
1162 return _List_toArray(chars).join('');
1168function _Char_toCode(char)
1170 var code = char.charCodeAt(0);
1171 if (0xD800 <= code && code <= 0xDBFF)
1173 return (code - 0xD800) * 0x400 + char.charCodeAt(1) - 0xDC00 + 0x10000
1178function _Char_fromCode(code)
1181 (code < 0 || 0x10FFFF < code)
1185 ? String.fromCharCode(code)
1188 String.fromCharCode(Math.floor(code / 0x400) + 0xD800, code % 0x400 + 0xDC00)
1193function _Char_toUpper(char)
1195 return _Utils_chr(char.toUpperCase());
1198function _Char_toLower(char)
1200 return _Utils_chr(char.toLowerCase());
1203function _Char_toLocaleUpper(char)
1205 return _Utils_chr(char.toLocaleUpperCase());
1208function _Char_toLocaleLower(char)
1210 return _Utils_chr(char.toLocaleLowerCase());
1216function _Json_errorToString(error)
1218 return $elm$json$Json$Decode$errorToString(error);
1225function _Json_succeed(msg)
1233function _Json_fail(msg)
1241function _Json_decodePrim(decoder)
1243 return { $: 2, b: decoder };
1246var _Json_decodeInt = _Json_decodePrim(function(value) {
1247 return (typeof value !== 'number')
1248 ? _Json_expecting('an INT', value)
1250 (-2147483647 < value && value < 2147483647 && (value | 0) === value)
1251 ? $elm$core$Result$Ok(value)
1253 (isFinite(value) && !(value % 1))
1254 ? $elm$core$Result$Ok(value)
1255 : _Json_expecting('an INT', value);
1258var _Json_decodeBool = _Json_decodePrim(function(value) {
1259 return (typeof value === 'boolean')
1260 ? $elm$core$Result$Ok(value)
1261 : _Json_expecting('a BOOL', value);
1264var _Json_decodeFloat = _Json_decodePrim(function(value) {
1265 return (typeof value === 'number')
1266 ? $elm$core$Result$Ok(value)
1267 : _Json_expecting('a FLOAT', value);
1270var _Json_decodeValue = _Json_decodePrim(function(value) {
1271 return $elm$core$Result$Ok(_Json_wrap(value));
1274var _Json_decodeString = _Json_decodePrim(function(value) {
1275 return (typeof value === 'string')
1276 ? $elm$core$Result$Ok(value)
1277 : (value instanceof String)
1278 ? $elm$core$Result$Ok(value + '')
1279 : _Json_expecting('a STRING', value);
1282function _Json_decodeList(decoder) { return { $: 3, b: decoder }; }
1283function _Json_decodeArray(decoder) { return { $: 4, b: decoder }; }
1285function _Json_decodeNull(value) { return { $: 5, c: value }; }
1287var _Json_decodeField = F2(function(field, decoder)
1296var _Json_decodeIndex = F2(function(index, decoder)
1305function _Json_decodeKeyValuePairs(decoder)
1313function _Json_mapMany(f, decoders)
1322var _Json_andThen = F2(function(callback, decoder)
1331function _Json_oneOf(decoders)
1342var _Json_map1 = F2(function(f, d1)
1344 return _Json_mapMany(f, [d1]);
1347var _Json_map2 = F3(function(f, d1, d2)
1349 return _Json_mapMany(f, [d1, d2]);
1352var _Json_map3 = F4(function(f, d1, d2, d3)
1354 return _Json_mapMany(f, [d1, d2, d3]);
1357var _Json_map4 = F5(function(f, d1, d2, d3, d4)
1359 return _Json_mapMany(f, [d1, d2, d3, d4]);
1362var _Json_map5 = F6(function(f, d1, d2, d3, d4, d5)
1364 return _Json_mapMany(f, [d1, d2, d3, d4, d5]);
1367var _Json_map6 = F7(function(f, d1, d2, d3, d4, d5, d6)
1369 return _Json_mapMany(f, [d1, d2, d3, d4, d5, d6]);
1372var _Json_map7 = F8(function(f, d1, d2, d3, d4, d5, d6, d7)
1374 return _Json_mapMany(f, [d1, d2, d3, d4, d5, d6, d7]);
1377var _Json_map8 = F9(function(f, d1, d2, d3, d4, d5, d6, d7, d8)
1379 return _Json_mapMany(f, [d1, d2, d3, d4, d5, d6, d7, d8]);
1385var _Json_runOnString = F2(function(decoder, string)
1389 var value = JSON.parse(string);
1390 return _Json_runHelp(decoder, value);
1394 return $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, 'This is not valid JSON! ' + e.message, _Json_wrap(string)));
1398var _Json_run = F2(function(decoder, value)
1400 return _Json_runHelp(decoder, _Json_unwrap(value));
1403function _Json_runHelp(decoder, value)
1408 return decoder.b(value);
1411 return (value === null)
1412 ? $elm$core$Result$Ok(decoder.c)
1413 : _Json_expecting('null', value);
1416 if (!_Json_isArray(value))
1418 return _Json_expecting('a LIST', value);
1420 return _Json_runArrayDecoder(decoder.b, value, _List_fromArray);
1423 if (!_Json_isArray(value))
1425 return _Json_expecting('an ARRAY', value);
1427 return _Json_runArrayDecoder(decoder.b, value, _Json_toElmArray);
1430 var field = decoder.d;
1431 if (typeof value !== 'object' || value === null || !(field in value))
1433 return _Json_expecting('an OBJECT with a field named `' + field + '`', value);
1435 var result = _Json_runHelp(decoder.b, value[field]);
1436 return ($elm$core$Result$isOk(result)) ? result : $elm$core$Result$Err(A2($elm$json$Json$Decode$Field, field, result.a));
1439 var index = decoder.e;
1440 if (!_Json_isArray(value))
1442 return _Json_expecting('an ARRAY', value);
1444 if (index >= value.length)
1446 return _Json_expecting('a LONGER array. Need index ' + index + ' but only see ' + value.length + ' entries', value);
1448 var result = _Json_runHelp(decoder.b, value[index]);
1449 return ($elm$core$Result$isOk(result)) ? result : $elm$core$Result$Err(A2($elm$json$Json$Decode$Index, index, result.a));
1452 if (typeof value !== 'object' || value === null || _Json_isArray(value))
1454 return _Json_expecting('an OBJECT', value);
1457 var keyValuePairs = _List_Nil;
1458 // TODO test perf of Object.keys and switch when support is good enough
1459 for (var key in value)
1461 if (value.hasOwnProperty(key))
1463 var result = _Json_runHelp(decoder.b, value[key]);
1464 if (!$elm$core$Result$isOk(result))
1466 return $elm$core$Result$Err(A2($elm$json$Json$Decode$Field, key, result.a));
1468 keyValuePairs = _List_Cons(_Utils_Tuple2(key, result.a), keyValuePairs);
1471 return $elm$core$Result$Ok($elm$core$List$reverse(keyValuePairs));
1474 var answer = decoder.f;
1475 var decoders = decoder.g;
1476 for (var i = 0; i < decoders.length; i++)
1478 var result = _Json_runHelp(decoders[i], value);
1479 if (!$elm$core$Result$isOk(result))
1483 answer = answer(result.a);
1485 return $elm$core$Result$Ok(answer);
1488 var result = _Json_runHelp(decoder.b, value);
1489 return (!$elm$core$Result$isOk(result))
1491 : _Json_runHelp(decoder.h(result.a), value);
1494 var errors = _List_Nil;
1495 for (var temp = decoder.g; temp.b; temp = temp.b) // WHILE_CONS
1497 var result = _Json_runHelp(temp.a, value);
1498 if ($elm$core$Result$isOk(result))
1502 errors = _List_Cons(result.a, errors);
1504 return $elm$core$Result$Err($elm$json$Json$Decode$OneOf($elm$core$List$reverse(errors)));
1507 return $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, decoder.a, _Json_wrap(value)));
1510 return $elm$core$Result$Ok(decoder.a);
1514function _Json_runArrayDecoder(decoder, value, toElmValue)
1516 var len = value.length;
1517 var array = new Array(len);
1518 for (var i = 0; i < len; i++)
1520 var result = _Json_runHelp(decoder, value[i]);
1521 if (!$elm$core$Result$isOk(result))
1523 return $elm$core$Result$Err(A2($elm$json$Json$Decode$Index, i, result.a));
1525 array[i] = result.a;
1527 return $elm$core$Result$Ok(toElmValue(array));
1530function _Json_isArray(value)
1532 return Array.isArray(value) || (typeof FileList !== 'undefined' && value instanceof FileList);
1535function _Json_toElmArray(array)
1537 return A2($elm$core$Array$initialize, array.length, function(i) { return array[i]; });
1540function _Json_expecting(type, value)
1542 return $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, 'Expecting ' + type, _Json_wrap(value)));
1548function _Json_equality(x, y)
1575 return _Json_equality(x.b, y.b);
1578 return x.d === y.d && _Json_equality(x.b, y.b);
1581 return x.e === y.e && _Json_equality(x.b, y.b);
1584 return x.f === y.f && _Json_listEquality(x.g, y.g);
1587 return x.h === y.h && _Json_equality(x.b, y.b);
1590 return _Json_listEquality(x.g, y.g);
1594function _Json_listEquality(aDecoders, bDecoders)
1596 var len = aDecoders.length;
1597 if (len !== bDecoders.length)
1601 for (var i = 0; i < len; i++)
1603 if (!_Json_equality(aDecoders[i], bDecoders[i]))
1614var _Json_encode = F2(function(indentLevel, value)
1616 return JSON.stringify(_Json_unwrap(value), null, indentLevel) + '';
1619function _Json_wrap(value) { return { $: 0, a: value }; }
1620function _Json_unwrap(value) { return value.a; }
1622function _Json_wrap_UNUSED(value) { return value; }
1623function _Json_unwrap_UNUSED(value) { return value; }
1625function _Json_emptyArray() { return []; }
1626function _Json_emptyObject() { return {}; }
1628var _Json_addField = F3(function(key, value, object)
1630 object[key] = _Json_unwrap(value);
1634function _Json_addEntry(func)
1636 return F2(function(entry, array)
1638 array.push(_Json_unwrap(func(entry)));
1643var _Json_encodeNull = _Json_wrap(null);
1649function _Scheduler_succeed(value)
1657function _Scheduler_fail(error)
1665function _Scheduler_binding(callback)
1674var _Scheduler_andThen = F2(function(callback, task)
1683var _Scheduler_onError = F2(function(callback, task)
1692function _Scheduler_receive(callback)
1703var _Scheduler_guid = 0;
1705function _Scheduler_rawSpawn(task)
1709 e: _Scheduler_guid++,
1715 _Scheduler_enqueue(proc);
1720function _Scheduler_spawn(task)
1722 return _Scheduler_binding(function(callback) {
1723 callback(_Scheduler_succeed(_Scheduler_rawSpawn(task)));
1727function _Scheduler_rawSend(proc, msg)
1730 _Scheduler_enqueue(proc);
1733var _Scheduler_send = F2(function(proc, msg)
1735 return _Scheduler_binding(function(callback) {
1736 _Scheduler_rawSend(proc, msg);
1737 callback(_Scheduler_succeed(_Utils_Tuple0));
1741function _Scheduler_kill(proc)
1743 return _Scheduler_binding(function(callback) {
1745 if (task.$ === 2 && task.c)
1752 callback(_Scheduler_succeed(_Utils_Tuple0));
1763 , stack : null | { $: SUCCEED | FAIL, a: callback, b: stack }
1770var _Scheduler_working = false;
1771var _Scheduler_queue = [];
1774function _Scheduler_enqueue(proc)
1776 _Scheduler_queue.push(proc);
1777 if (_Scheduler_working)
1781 _Scheduler_working = true;
1782 while (proc = _Scheduler_queue.shift())
1784 _Scheduler_step(proc);
1786 _Scheduler_working = false;
1790function _Scheduler_step(proc)
1794 var rootTag = proc.f.$;
1795 if (rootTag === 0 || rootTag === 1)
1797 while (proc.g && proc.g.$ !== rootTag)
1805 proc.f = proc.g.b(proc.f.a);
1808 else if (rootTag === 2)
1810 proc.f.c = proc.f.b(function(newRoot) {
1812 _Scheduler_enqueue(proc);
1816 else if (rootTag === 5)
1818 if (proc.h.length === 0)
1822 proc.f = proc.f.b(proc.h.shift());
1824 else // if (rootTag === 3 || rootTag === 4)
1827 $: rootTag === 3 ? 0 : 1,
1838function _Process_sleep(time)
1840 return _Scheduler_binding(function(callback) {
1841 var id = setTimeout(function() {
1842 callback(_Scheduler_succeed(_Utils_Tuple0));
1845 return function() { clearTimeout(id); };
1855var _Platform_worker = F4(function(impl, flagDecoder, debugMetadata, args)
1857 return _Platform_initialize(
1863 function() { return function() {} }
1869// INITIALIZE A PROGRAM
1872function _Platform_initialize(flagDecoder, args, init, update, subscriptions, stepperBuilder)
1874 var result = A2(_Json_run, flagDecoder, _Json_wrap(args ? args['flags'] : undefined));
1875 $elm$core$Result$isOk(result) || _Debug_crash(2 /**/, _Json_errorToString(result.a) /**/);
1877 var initPair = init(result.a);
1878 var model = initPair.a;
1879 var stepper = stepperBuilder(sendToApp, model);
1880 var ports = _Platform_setupEffects(managers, sendToApp);
1882 function sendToApp(msg, viewMetadata)
1884 var pair = A2(update, msg, model);
1885 stepper(model = pair.a, viewMetadata);
1886 _Platform_enqueueEffects(managers, pair.b, subscriptions(model));
1889 _Platform_enqueueEffects(managers, initPair.b, subscriptions(model));
1891 return ports ? { ports: ports } : {};
1898// This is used by code in elm/browser and elm/http
1899// to register any HTTP requests that are triggered by init.
1903var _Platform_preload;
1906function _Platform_registerPreload(url)
1908 _Platform_preload.add(url);
1916var _Platform_effectManagers = {};
1919function _Platform_setupEffects(managers, sendToApp)
1923 // setup all necessary effect managers
1924 for (var key in _Platform_effectManagers)
1926 var manager = _Platform_effectManagers[key];
1930 ports = ports || {};
1931 ports[key] = manager.a(key, sendToApp);
1934 managers[key] = _Platform_instantiateManager(manager, sendToApp);
1941function _Platform_createManager(init, onEffects, onSelfMsg, cmdMap, subMap)
1953function _Platform_instantiateManager(info, sendToApp)
1960 var onEffects = info.c;
1961 var onSelfMsg = info.d;
1962 var cmdMap = info.e;
1963 var subMap = info.f;
1965 function loop(state)
1967 return A2(_Scheduler_andThen, loop, _Scheduler_receive(function(msg)
1973 return A3(onSelfMsg, router, value, state);
1976 return cmdMap && subMap
1977 ? A4(onEffects, router, value.i, value.j, state)
1978 : A3(onEffects, router, cmdMap ? value.i : value.j, state);
1982 return router.h = _Scheduler_rawSpawn(A2(_Scheduler_andThen, loop, info.b));
1990var _Platform_sendToApp = F2(function(router, msg)
1992 return _Scheduler_binding(function(callback)
1995 callback(_Scheduler_succeed(_Utils_Tuple0));
2000var _Platform_sendToSelf = F2(function(router, msg)
2002 return A2(_Scheduler_send, router.h, {
2013function _Platform_leaf(home)
2015 return function(value)
2026function _Platform_batch(list)
2035var _Platform_map = F2(function(tagger, bag)
2046// PIPE BAGS INTO EFFECT MANAGERS
2048// Effects must be queued!
2050// Say your init contains a synchronous command, like Time.now or Time.here
2052// - This will produce a batch of effects (FX_1)
2053// - The synchronous task triggers the subsequent `update` call
2054// - This will produce a batch of effects (FX_2)
2056// If we just start dispatching FX_2, subscriptions from FX_2 can be processed
2057// before subscriptions from FX_1. No good! Earlier versions of this code had
2058// this problem, leading to these reports:
2060// https://github.com/elm/core/issues/980
2061// https://github.com/elm/core/pull/981
2062// https://github.com/elm/compiler/issues/1776
2064// The queue is necessary to avoid ordering issues for synchronous commands.
2067// Why use true/false here? Why not just check the length of the queue?
2068// The goal is to detect "are we currently dispatching effects?" If we
2069// are, we need to bail and let the ongoing while loop handle things.
2071// Now say the queue has 1 element. When we dequeue the final element,
2072// the queue will be empty, but we are still actively dispatching effects.
2073// So you could get queue jumping in a really tricky category of cases.
2075var _Platform_effectsQueue = [];
2076var _Platform_effectsActive = false;
2079function _Platform_enqueueEffects(managers, cmdBag, subBag)
2081 _Platform_effectsQueue.push({ p: managers, q: cmdBag, r: subBag });
2083 if (_Platform_effectsActive) return;
2085 _Platform_effectsActive = true;
2086 for (var fx; fx = _Platform_effectsQueue.shift(); )
2088 _Platform_dispatchEffects(fx.p, fx.q, fx.r);
2090 _Platform_effectsActive = false;
2094function _Platform_dispatchEffects(managers, cmdBag, subBag)
2096 var effectsDict = {};
2097 _Platform_gatherEffects(true, cmdBag, effectsDict, null);
2098 _Platform_gatherEffects(false, subBag, effectsDict, null);
2100 for (var home in managers)
2102 _Scheduler_rawSend(managers[home], {
2104 a: effectsDict[home] || { i: _List_Nil, j: _List_Nil }
2110function _Platform_gatherEffects(isCmd, bag, effectsDict, taggers)
2116 var effect = _Platform_toEffect(isCmd, home, taggers, bag.l);
2117 effectsDict[home] = _Platform_insert(isCmd, effect, effectsDict[home]);
2121 for (var list = bag.m; list.b; list = list.b) // WHILE_CONS
2123 _Platform_gatherEffects(isCmd, list.a, effectsDict, taggers);
2128 _Platform_gatherEffects(isCmd, bag.o, effectsDict, {
2137function _Platform_toEffect(isCmd, home, taggers, value)
2139 function applyTaggers(x)
2141 for (var temp = taggers; temp; temp = temp.t)
2149 ? _Platform_effectManagers[home].e
2150 : _Platform_effectManagers[home].f;
2152 return A2(map, applyTaggers, value)
2156function _Platform_insert(isCmd, newEffect, effects)
2158 effects = effects || { i: _List_Nil, j: _List_Nil };
2161 ? (effects.i = _List_Cons(newEffect, effects.i))
2162 : (effects.j = _List_Cons(newEffect, effects.j));
2172function _Platform_checkPortName(name)
2174 if (_Platform_effectManagers[name])
2176 _Debug_crash(3, name)
2185function _Platform_outgoingPort(name, converter)
2187 _Platform_checkPortName(name);
2188 _Platform_effectManagers[name] = {
2189 e: _Platform_outgoingPortMap,
2191 a: _Platform_setupOutgoingPort
2193 return _Platform_leaf(name);
2197var _Platform_outgoingPortMap = F2(function(tagger, value) { return value; });
2200function _Platform_setupOutgoingPort(name)
2203 var converter = _Platform_effectManagers[name].u;
2207 var init = _Process_sleep(0);
2209 _Platform_effectManagers[name].b = init;
2210 _Platform_effectManagers[name].c = F3(function(router, cmdList, state)
2212 for ( ; cmdList.b; cmdList = cmdList.b) // WHILE_CONS
2214 // grab a separate reference to subs in case unsubscribe is called
2215 var currentSubs = subs;
2216 var value = _Json_unwrap(converter(cmdList.a));
2217 for (var i = 0; i < currentSubs.length; i++)
2219 currentSubs[i](value);
2227 function subscribe(callback)
2229 subs.push(callback);
2232 function unsubscribe(callback)
2234 // copy subs into a new array in case unsubscribe is called within a
2235 // subscribed callback
2236 subs = subs.slice();
2237 var index = subs.indexOf(callback);
2240 subs.splice(index, 1);
2245 subscribe: subscribe,
2246 unsubscribe: unsubscribe
2255function _Platform_incomingPort(name, converter)
2257 _Platform_checkPortName(name);
2258 _Platform_effectManagers[name] = {
2259 f: _Platform_incomingPortMap,
2261 a: _Platform_setupIncomingPort
2263 return _Platform_leaf(name);
2267var _Platform_incomingPortMap = F2(function(tagger, finalTagger)
2269 return function(value)
2271 return tagger(finalTagger(value));
2276function _Platform_setupIncomingPort(name, sendToApp)
2278 var subs = _List_Nil;
2279 var converter = _Platform_effectManagers[name].u;
2283 var init = _Scheduler_succeed(null);
2285 _Platform_effectManagers[name].b = init;
2286 _Platform_effectManagers[name].c = F3(function(router, subList, state)
2294 function send(incomingValue)
2296 var result = A2(_Json_run, converter, _Json_wrap(incomingValue));
2298 $elm$core$Result$isOk(result) || _Debug_crash(4, name, result.a);
2300 var value = result.a;
2301 for (var temp = subs; temp.b; temp = temp.b) // WHILE_CONS
2303 sendToApp(temp.a(value));
2307 return { send: send };
2312// EXPORT ELM MODULES
2314// Have DEBUG and PROD versions so that we can (1) give nicer errors in
2315// debug mode and (2) not pay for the bits needed for that in prod mode.
2319function _Platform_export_UNUSED(exports)
2322 ? _Platform_mergeExportsProd(scope['Elm'], exports)
2323 : scope['Elm'] = exports;
2327function _Platform_mergeExportsProd(obj, exports)
2329 for (var name in exports)
2334 : _Platform_mergeExportsProd(obj[name], exports[name])
2335 : (obj[name] = exports[name]);
2340function _Platform_export(exports)
2343 ? _Platform_mergeExportsDebug('Elm', scope['Elm'], exports)
2344 : scope['Elm'] = exports;
2348function _Platform_mergeExportsDebug(moduleName, obj, exports)
2350 for (var name in exports)
2354 ? _Debug_crash(6, moduleName)
2355 : _Platform_mergeExportsDebug(moduleName + '.' + name, obj[name], exports[name])
2356 : (obj[name] = exports[name]);
2366var _VirtualDom_divertHrefToApp;
2368var _VirtualDom_doc = typeof document !== 'undefined' ? document : {};
2371function _VirtualDom_appendChild(parent, child)
2373 parent.appendChild(child);
2376var _VirtualDom_init = F4(function(virtualNode, flagDecoder, debugMetadata, args)
2378 // NOTE: this function needs _Platform_export available to work
2381 var node = args['node'];
2384 var node = args && args['node'] ? args['node'] : _Debug_crash(0);
2387 node.parentNode.replaceChild(
2388 _VirtualDom_render(virtualNode, function() {}),
2400function _VirtualDom_text(string)
2413var _VirtualDom_nodeNS = F2(function(namespace, tag)
2415 return F2(function(factList, kidList)
2417 for (var kids = [], descendantsCount = 0; kidList.b; kidList = kidList.b) // WHILE_CONS
2419 var kid = kidList.a;
2420 descendantsCount += (kid.b || 0);
2423 descendantsCount += kids.length;
2428 d: _VirtualDom_organizeFacts(factList),
2437var _VirtualDom_node = _VirtualDom_nodeNS(undefined);
2444var _VirtualDom_keyedNodeNS = F2(function(namespace, tag)
2446 return F2(function(factList, kidList)
2448 for (var kids = [], descendantsCount = 0; kidList.b; kidList = kidList.b) // WHILE_CONS
2450 var kid = kidList.a;
2451 descendantsCount += (kid.b.b || 0);
2454 descendantsCount += kids.length;
2459 d: _VirtualDom_organizeFacts(factList),
2468var _VirtualDom_keyedNode = _VirtualDom_keyedNodeNS(undefined);
2475function _VirtualDom_custom(factList, model, render, diff)
2479 d: _VirtualDom_organizeFacts(factList),
2491var _VirtualDom_map = F2(function(tagger, node)
2497 b: 1 + (node.b || 0)
2506function _VirtualDom_thunk(refs, thunk)
2516var _VirtualDom_lazy = F2(function(func, a)
2518 return _VirtualDom_thunk([func, a], function() {
2523var _VirtualDom_lazy2 = F3(function(func, a, b)
2525 return _VirtualDom_thunk([func, a, b], function() {
2526 return A2(func, a, b);
2530var _VirtualDom_lazy3 = F4(function(func, a, b, c)
2532 return _VirtualDom_thunk([func, a, b, c], function() {
2533 return A3(func, a, b, c);
2537var _VirtualDom_lazy4 = F5(function(func, a, b, c, d)
2539 return _VirtualDom_thunk([func, a, b, c, d], function() {
2540 return A4(func, a, b, c, d);
2544var _VirtualDom_lazy5 = F6(function(func, a, b, c, d, e)
2546 return _VirtualDom_thunk([func, a, b, c, d, e], function() {
2547 return A5(func, a, b, c, d, e);
2551var _VirtualDom_lazy6 = F7(function(func, a, b, c, d, e, f)
2553 return _VirtualDom_thunk([func, a, b, c, d, e, f], function() {
2554 return A6(func, a, b, c, d, e, f);
2558var _VirtualDom_lazy7 = F8(function(func, a, b, c, d, e, f, g)
2560 return _VirtualDom_thunk([func, a, b, c, d, e, f, g], function() {
2561 return A7(func, a, b, c, d, e, f, g);
2565var _VirtualDom_lazy8 = F9(function(func, a, b, c, d, e, f, g, h)
2567 return _VirtualDom_thunk([func, a, b, c, d, e, f, g, h], function() {
2568 return A8(func, a, b, c, d, e, f, g, h);
2577var _VirtualDom_on = F2(function(key, handler)
2585var _VirtualDom_style = F2(function(key, value)
2593var _VirtualDom_property = F2(function(key, value)
2601var _VirtualDom_attribute = F2(function(key, value)
2609var _VirtualDom_attributeNS = F3(function(namespace, key, value)
2614 o: { f: namespace, o: value }
2620// XSS ATTACK VECTOR CHECKS
2622// For some reason, tabs can appear in href protocols and it still works.
2623// So '\tjava\tSCRIPT:alert("!!!")' and 'javascript:alert("!!!")' are the same
2624// in practice. That is why _VirtualDom_RE_js and _VirtualDom_RE_js_html look
2627// Pulling the regular expressions out to the top level gives a slight speed
2628// boost in small benchmarks (4-10%) but hoisting values to reduce allocation
2629// can be unpredictable in large programs where JIT may have a harder time with
2630// functions are not fully self-contained. The benefit is more that the js and
2631// js_html ones are so weird that I prefer to see them near each other.
2634var _VirtualDom_RE_script = /^script$/i;
2635var _VirtualDom_RE_on_formAction = /^(on|formAction$)/i;
2636var _VirtualDom_RE_js = /^\s*j\s*a\s*v\s*a\s*s\s*c\s*r\s*i\s*p\s*t\s*:/i;
2637var _VirtualDom_RE_js_html = /^\s*(j\s*a\s*v\s*a\s*s\s*c\s*r\s*i\s*p\s*t\s*:|d\s*a\s*t\s*a\s*:\s*t\s*e\s*x\s*t\s*\/\s*h\s*t\s*m\s*l\s*(,|;))/i;
2640function _VirtualDom_noScript(tag)
2642 return _VirtualDom_RE_script.test(tag) ? 'p' : tag;
2645function _VirtualDom_noOnOrFormAction(key)
2647 return _VirtualDom_RE_on_formAction.test(key) ? 'data-' + key : key;
2650function _VirtualDom_noInnerHtmlOrFormAction(key)
2652 return key == 'innerHTML' || key == 'formAction' ? 'data-' + key : key;
2655function _VirtualDom_noJavaScriptUri(value)
2657 return _VirtualDom_RE_js.test(value)
2658 ? /**_UNUSED/''//*//**/'javascript:alert("This is an XSS vector. Please use ports or web components instead.")'//*/
2662function _VirtualDom_noJavaScriptOrHtmlUri(value)
2664 return _VirtualDom_RE_js_html.test(value)
2665 ? /**_UNUSED/''//*//**/'javascript:alert("This is an XSS vector. Please use ports or web components instead.")'//*/
2669function _VirtualDom_noJavaScriptOrHtmlJson(value)
2671 return (typeof _Json_unwrap(value) === 'string' && _VirtualDom_RE_js_html.test(_Json_unwrap(value)))
2673 /**_UNUSED/''//*//**/'javascript:alert("This is an XSS vector. Please use ports or web components instead.")'//*/
2682var _VirtualDom_mapAttribute = F2(function(func, attr)
2684 return (attr.$ === 'a0')
2685 ? A2(_VirtualDom_on, attr.n, _VirtualDom_mapHandler(func, attr.o))
2689function _VirtualDom_mapHandler(func, handler)
2691 var tag = $elm$virtual_dom$VirtualDom$toHandlerInt(handler);
2694 // 1 = MayStopPropagation
2695 // 2 = MayPreventDefault
2702 ? A2($elm$json$Json$Decode$map, func, handler.a)
2704 A3($elm$json$Json$Decode$map2,
2706 ? _VirtualDom_mapEventTuple
2707 : _VirtualDom_mapEventRecord,
2708 $elm$json$Json$Decode$succeed(func),
2714var _VirtualDom_mapEventTuple = F2(function(func, tuple)
2716 return _Utils_Tuple2(func(tuple.a), tuple.b);
2719var _VirtualDom_mapEventRecord = F2(function(func, record)
2722 message: func(record.message),
2723 stopPropagation: record.stopPropagation,
2724 preventDefault: record.preventDefault
2733function _VirtualDom_organizeFacts(factList)
2735 for (var facts = {}; factList.b; factList = factList.b) // WHILE_CONS
2737 var entry = factList.a;
2741 var value = entry.o;
2745 (key === 'className')
2746 ? _VirtualDom_addClass(facts, key, _Json_unwrap(value))
2747 : facts[key] = _Json_unwrap(value);
2752 var subFacts = facts[tag] || (facts[tag] = {});
2753 (tag === 'a3' && key === 'class')
2754 ? _VirtualDom_addClass(subFacts, key, value)
2755 : subFacts[key] = value;
2761function _VirtualDom_addClass(object, key, newClass)
2763 var classes = object[key];
2764 object[key] = classes ? classes + ' ' + newClass : newClass;
2772function _VirtualDom_render(vNode, eventNode)
2778 return _VirtualDom_render(vNode.k || (vNode.k = vNode.m()), eventNode);
2783 return _VirtualDom_doc.createTextNode(vNode.a);
2788 var subNode = vNode.k;
2789 var tagger = vNode.j;
2791 while (subNode.$ === 4)
2793 typeof tagger !== 'object'
2794 ? tagger = [tagger, subNode.j]
2795 : tagger.push(subNode.j);
2797 subNode = subNode.k;
2800 var subEventRoot = { j: tagger, p: eventNode };
2801 var domNode = _VirtualDom_render(subNode, subEventRoot);
2802 domNode.elm_event_node_ref = subEventRoot;
2808 var domNode = vNode.h(vNode.g);
2809 _VirtualDom_applyFacts(domNode, eventNode, vNode.d);
2813 // at this point `tag` must be 1 or 2
2815 var domNode = vNode.f
2816 ? _VirtualDom_doc.createElementNS(vNode.f, vNode.c)
2817 : _VirtualDom_doc.createElement(vNode.c);
2819 if (_VirtualDom_divertHrefToApp && vNode.c == 'a')
2821 domNode.addEventListener('click', _VirtualDom_divertHrefToApp(domNode));
2824 _VirtualDom_applyFacts(domNode, eventNode, vNode.d);
2826 for (var kids = vNode.e, i = 0; i < kids.length; i++)
2828 _VirtualDom_appendChild(domNode, _VirtualDom_render(tag === 1 ? kids[i] : kids[i].b, eventNode));
2839function _VirtualDom_applyFacts(domNode, eventNode, facts)
2841 for (var key in facts)
2843 var value = facts[key];
2846 ? _VirtualDom_applyStyles(domNode, value)
2849 ? _VirtualDom_applyEvents(domNode, eventNode, value)
2852 ? _VirtualDom_applyAttrs(domNode, value)
2855 ? _VirtualDom_applyAttrsNS(domNode, value)
2857 ((key !== 'value' && key !== 'checked') || domNode[key] !== value) && (domNode[key] = value);
2866function _VirtualDom_applyStyles(domNode, styles)
2868 var domNodeStyle = domNode.style;
2870 for (var key in styles)
2872 domNodeStyle[key] = styles[key];
2881function _VirtualDom_applyAttrs(domNode, attrs)
2883 for (var key in attrs)
2885 var value = attrs[key];
2886 typeof value !== 'undefined'
2887 ? domNode.setAttribute(key, value)
2888 : domNode.removeAttribute(key);
2894// APPLY NAMESPACED ATTRS
2897function _VirtualDom_applyAttrsNS(domNode, nsAttrs)
2899 for (var key in nsAttrs)
2901 var pair = nsAttrs[key];
2902 var namespace = pair.f;
2905 typeof value !== 'undefined'
2906 ? domNode.setAttributeNS(namespace, key, value)
2907 : domNode.removeAttributeNS(namespace, key);
2916function _VirtualDom_applyEvents(domNode, eventNode, events)
2918 var allCallbacks = domNode.elmFs || (domNode.elmFs = {});
2920 for (var key in events)
2922 var newHandler = events[key];
2923 var oldCallback = allCallbacks[key];
2927 domNode.removeEventListener(key, oldCallback);
2928 allCallbacks[key] = undefined;
2934 var oldHandler = oldCallback.q;
2935 if (oldHandler.$ === newHandler.$)
2937 oldCallback.q = newHandler;
2940 domNode.removeEventListener(key, oldCallback);
2943 oldCallback = _VirtualDom_makeCallback(eventNode, newHandler);
2944 domNode.addEventListener(key, oldCallback,
2945 _VirtualDom_passiveSupported
2946 && { passive: $elm$virtual_dom$VirtualDom$toHandlerInt(newHandler) < 2 }
2948 allCallbacks[key] = oldCallback;
2957var _VirtualDom_passiveSupported;
2961 window.addEventListener('t', null, Object.defineProperty({}, 'passive', {
2962 get: function() { _VirtualDom_passiveSupported = true; }
2972function _VirtualDom_makeCallback(eventNode, initialHandler)
2974 function callback(event)
2976 var handler = callback.q;
2977 var result = _Json_runHelp(handler.a, event);
2979 if (!$elm$core$Result$isOk(result))
2984 var tag = $elm$virtual_dom$VirtualDom$toHandlerInt(handler);
2987 // 1 = MayStopPropagation
2988 // 2 = MayPreventDefault
2991 var value = result.a;
2992 var message = !tag ? value : tag < 3 ? value.a : value.message;
2993 var stopPropagation = tag == 1 ? value.b : tag == 3 && value.stopPropagation;
2994 var currentEventNode = (
2995 stopPropagation && event.stopPropagation(),
2996 (tag == 2 ? value.b : tag == 3 && value.preventDefault) && event.preventDefault(),
3001 while (tagger = currentEventNode.j)
3003 if (typeof tagger == 'function')
3005 message = tagger(message);
3009 for (var i = tagger.length; i--; )
3011 message = tagger[i](message);
3014 currentEventNode = currentEventNode.p;
3016 currentEventNode(message, stopPropagation); // stopPropagation implies isSync
3019 callback.q = initialHandler;
3024function _VirtualDom_equalEvents(x, y)
3026 return x.$ == y.$ && _Json_equality(x.a, y.a);
3034// TODO: Should we do patches like in iOS?
3038// | Batch (List Patch)
3041// How could it not be better?
3043function _VirtualDom_diff(x, y)
3046 _VirtualDom_diffHelp(x, y, patches, 0);
3051function _VirtualDom_pushPatch(patches, type, index, data)
3060 patches.push(patch);
3065function _VirtualDom_diffHelp(x, y, patches, index)
3075 // Bail if you run into different types of nodes. Implies that the
3076 // structure has changed significantly and it's not worth a diff.
3077 if (xType !== yType)
3079 if (xType === 1 && yType === 2)
3081 y = _VirtualDom_dekey(y);
3086 _VirtualDom_pushPatch(patches, 0, index, y);
3091 // Now we know that both nodes are the same $.
3097 var i = xRefs.length;
3098 var same = i === yRefs.length;
3101 same = xRefs[i] === yRefs[i];
3109 var subPatches = [];
3110 _VirtualDom_diffHelp(x.k, y.k, subPatches, 0);
3111 subPatches.length > 0 && _VirtualDom_pushPatch(patches, 1, index, subPatches);
3115 // gather nested taggers
3118 var nesting = false;
3121 while (xSubNode.$ === 4)
3125 typeof xTaggers !== 'object'
3126 ? xTaggers = [xTaggers, xSubNode.j]
3127 : xTaggers.push(xSubNode.j);
3129 xSubNode = xSubNode.k;
3133 while (ySubNode.$ === 4)
3137 typeof yTaggers !== 'object'
3138 ? yTaggers = [yTaggers, ySubNode.j]
3139 : yTaggers.push(ySubNode.j);
3141 ySubNode = ySubNode.k;
3144 // Just bail if different numbers of taggers. This implies the
3145 // structure of the virtual DOM has changed.
3146 if (nesting && xTaggers.length !== yTaggers.length)
3148 _VirtualDom_pushPatch(patches, 0, index, y);
3152 // check if taggers are "the same"
3153 if (nesting ? !_VirtualDom_pairwiseRefEqual(xTaggers, yTaggers) : xTaggers !== yTaggers)
3155 _VirtualDom_pushPatch(patches, 2, index, yTaggers);
3158 // diff everything below the taggers
3159 _VirtualDom_diffHelp(xSubNode, ySubNode, patches, index + 1);
3165 _VirtualDom_pushPatch(patches, 3, index, y.a);
3170 _VirtualDom_diffNodes(x, y, patches, index, _VirtualDom_diffKids);
3174 _VirtualDom_diffNodes(x, y, patches, index, _VirtualDom_diffKeyedKids);
3180 _VirtualDom_pushPatch(patches, 0, index, y);
3184 var factsDiff = _VirtualDom_diffFacts(x.d, y.d);
3185 factsDiff && _VirtualDom_pushPatch(patches, 4, index, factsDiff);
3187 var patch = y.i(x.g, y.g);
3188 patch && _VirtualDom_pushPatch(patches, 5, index, patch);
3194// assumes the incoming arrays are the same length
3195function _VirtualDom_pairwiseRefEqual(as, bs)
3197 for (var i = 0; i < as.length; i++)
3199 if (as[i] !== bs[i])
3208function _VirtualDom_diffNodes(x, y, patches, index, diffKids)
3210 // Bail if obvious indicators have changed. Implies more serious
3211 // structural changes such that it's not worth it to diff.
3212 if (x.c !== y.c || x.f !== y.f)
3214 _VirtualDom_pushPatch(patches, 0, index, y);
3218 var factsDiff = _VirtualDom_diffFacts(x.d, y.d);
3219 factsDiff && _VirtualDom_pushPatch(patches, 4, index, factsDiff);
3221 diffKids(x, y, patches, index);
3229// TODO Instead of creating a new diff object, it's possible to just test if
3230// there *is* a diff. During the actual patch, do the diff again and make the
3231// modifications directly. This way, there's no new allocations. Worth it?
3232function _VirtualDom_diffFacts(x, y, category)
3236 // look for changes and removals
3239 if (xKey === 'a1' || xKey === 'a0' || xKey === 'a3' || xKey === 'a4')
3241 var subDiff = _VirtualDom_diffFacts(x[xKey], y[xKey] || {}, xKey);
3245 diff[xKey] = subDiff;
3250 // remove if not in the new facts
3256 ? (typeof x[xKey] === 'string' ? '' : null)
3261 (category === 'a0' || category === 'a3')
3264 { f: x[xKey].f, o: undefined };
3269 var xValue = x[xKey];
3270 var yValue = y[xKey];
3272 // reference equal, so don't worry about it
3273 if (xValue === yValue && xKey !== 'value' && xKey !== 'checked'
3274 || category === 'a0' && _VirtualDom_equalEvents(xValue, yValue))
3280 diff[xKey] = yValue;
3289 diff[yKey] = y[yKey];
3301function _VirtualDom_diffKids(xParent, yParent, patches, index)
3303 var xKids = xParent.e;
3304 var yKids = yParent.e;
3306 var xLen = xKids.length;
3307 var yLen = yKids.length;
3309 // FIGURE OUT IF THERE ARE INSERTS OR REMOVALS
3313 _VirtualDom_pushPatch(patches, 6, index, {
3318 else if (xLen < yLen)
3320 _VirtualDom_pushPatch(patches, 7, index, {
3326 // PAIRWISE DIFF EVERYTHING ELSE
3328 for (var minLen = xLen < yLen ? xLen : yLen, i = 0; i < minLen; i++)
3330 var xKid = xKids[i];
3331 _VirtualDom_diffHelp(xKid, yKids[i], patches, ++index);
3332 index += xKid.b || 0;
3341function _VirtualDom_diffKeyedKids(xParent, yParent, patches, rootIndex)
3343 var localPatches = [];
3345 var changes = {}; // Dict String Entry
3346 var inserts = []; // Array { index : Int, entry : Entry }
3347 // type Entry = { tag : String, vnode : VNode, index : Int, data : _ }
3349 var xKids = xParent.e;
3350 var yKids = yParent.e;
3351 var xLen = xKids.length;
3352 var yLen = yKids.length;
3356 var index = rootIndex;
3358 while (xIndex < xLen && yIndex < yLen)
3360 var x = xKids[xIndex];
3361 var y = yKids[yIndex];
3368 var newMatch = undefined;
3369 var oldMatch = undefined;
3371 // check if keys match
3376 _VirtualDom_diffHelp(xNode, yNode, localPatches, index);
3377 index += xNode.b || 0;
3384 // look ahead 1 to detect insertions and removals.
3386 var xNext = xKids[xIndex + 1];
3387 var yNext = yKids[yIndex + 1];
3391 var xNextKey = xNext.a;
3392 var xNextNode = xNext.b;
3393 oldMatch = yKey === xNextKey;
3398 var yNextKey = yNext.a;
3399 var yNextNode = yNext.b;
3400 newMatch = xKey === yNextKey;
3405 if (newMatch && oldMatch)
3408 _VirtualDom_diffHelp(xNode, yNextNode, localPatches, index);
3409 _VirtualDom_insertNode(changes, localPatches, xKey, yNode, yIndex, inserts);
3410 index += xNode.b || 0;
3413 _VirtualDom_removeNode(changes, localPatches, xKey, xNextNode, index);
3414 index += xNextNode.b || 0;
3425 _VirtualDom_insertNode(changes, localPatches, yKey, yNode, yIndex, inserts);
3426 _VirtualDom_diffHelp(xNode, yNextNode, localPatches, index);
3427 index += xNode.b || 0;
3438 _VirtualDom_removeNode(changes, localPatches, xKey, xNode, index);
3439 index += xNode.b || 0;
3442 _VirtualDom_diffHelp(xNextNode, yNode, localPatches, index);
3443 index += xNextNode.b || 0;
3450 // remove x, insert y
3451 if (xNext && xNextKey === yNextKey)
3454 _VirtualDom_removeNode(changes, localPatches, xKey, xNode, index);
3455 _VirtualDom_insertNode(changes, localPatches, yKey, yNode, yIndex, inserts);
3456 index += xNode.b || 0;
3459 _VirtualDom_diffHelp(xNextNode, yNextNode, localPatches, index);
3460 index += xNextNode.b || 0;
3470 // eat up any remaining nodes with removeNode and insertNode
3472 while (xIndex < xLen)
3475 var x = xKids[xIndex];
3477 _VirtualDom_removeNode(changes, localPatches, x.a, xNode, index);
3478 index += xNode.b || 0;
3482 while (yIndex < yLen)
3484 var endInserts = endInserts || [];
3485 var y = yKids[yIndex];
3486 _VirtualDom_insertNode(changes, localPatches, y.a, y.b, undefined, endInserts);
3490 if (localPatches.length > 0 || inserts.length > 0 || endInserts)
3492 _VirtualDom_pushPatch(patches, 8, rootIndex, {
3502// CHANGES FROM KEYED DIFF
3505var _VirtualDom_POSTFIX = '_elmW6BL';
3508function _VirtualDom_insertNode(changes, localPatches, key, vnode, yIndex, inserts)
3510 var entry = changes[key];
3512 // never seen this key before
3522 inserts.push({ r: yIndex, A: entry });
3523 changes[key] = entry;
3528 // this key was removed earlier, a match!
3531 inserts.push({ r: yIndex, A: entry });
3534 var subPatches = [];
3535 _VirtualDom_diffHelp(entry.z, vnode, subPatches, entry.r);
3545 // this key has already been inserted or moved, a duplicate!
3546 _VirtualDom_insertNode(changes, localPatches, key + _VirtualDom_POSTFIX, vnode, yIndex, inserts);
3550function _VirtualDom_removeNode(changes, localPatches, key, vnode, index)
3552 var entry = changes[key];
3554 // never seen this key before
3557 var patch = _VirtualDom_pushPatch(localPatches, 9, index, undefined);
3569 // this key was inserted earlier, a match!
3573 var subPatches = [];
3574 _VirtualDom_diffHelp(vnode, entry.z, subPatches, index);
3576 _VirtualDom_pushPatch(localPatches, 9, index, {
3584 // this key has already been removed or moved, a duplicate!
3585 _VirtualDom_removeNode(changes, localPatches, key + _VirtualDom_POSTFIX, vnode, index);
3592// Each DOM node has an "index" assigned in order of traversal. It is important
3593// to minimize our crawl over the actual DOM, so these indexes (along with the
3594// descendantsCount of virtual nodes) let us skip touching entire subtrees of
3595// the DOM if we know there are no patches there.
3598function _VirtualDom_addDomNodes(domNode, vNode, patches, eventNode)
3600 _VirtualDom_addDomNodesHelp(domNode, vNode, patches, 0, 0, vNode.b, eventNode);
3604// assumes `patches` is non-empty and indexes increase monotonically.
3605function _VirtualDom_addDomNodesHelp(domNode, vNode, patches, i, low, high, eventNode)
3607 var patch = patches[i];
3608 var index = patch.r;
3610 while (index === low)
3612 var patchType = patch.$;
3614 if (patchType === 1)
3616 _VirtualDom_addDomNodes(domNode, vNode.k, patch.s, eventNode);
3618 else if (patchType === 8)
3621 patch.u = eventNode;
3623 var subPatches = patch.s.w;
3624 if (subPatches.length > 0)
3626 _VirtualDom_addDomNodesHelp(domNode, vNode, subPatches, 0, low, high, eventNode);
3629 else if (patchType === 9)
3632 patch.u = eventNode;
3638 var subPatches = data.w;
3639 if (subPatches.length > 0)
3641 _VirtualDom_addDomNodesHelp(domNode, vNode, subPatches, 0, low, high, eventNode);
3648 patch.u = eventNode;
3653 if (!(patch = patches[i]) || (index = patch.r) > high)
3663 var subNode = vNode.k;
3665 while (subNode.$ === 4)
3667 subNode = subNode.k;
3670 return _VirtualDom_addDomNodesHelp(domNode, subNode, patches, i, low + 1, high, domNode.elm_event_node_ref);
3673 // tag must be 1 or 2 at this point
3675 var vKids = vNode.e;
3676 var childNodes = domNode.childNodes;
3677 for (var j = 0; j < vKids.length; j++)
3680 var vKid = tag === 1 ? vKids[j] : vKids[j].b;
3681 var nextLow = low + (vKid.b || 0);
3682 if (low <= index && index <= nextLow)
3684 i = _VirtualDom_addDomNodesHelp(childNodes[j], vKid, patches, i, low, nextLow, eventNode);
3685 if (!(patch = patches[i]) || (index = patch.r) > high)
3700function _VirtualDom_applyPatches(rootDomNode, oldVirtualNode, patches, eventNode)
3702 if (patches.length === 0)
3707 _VirtualDom_addDomNodes(rootDomNode, oldVirtualNode, patches, eventNode);
3708 return _VirtualDom_applyPatchesHelp(rootDomNode, patches);
3711function _VirtualDom_applyPatchesHelp(rootDomNode, patches)
3713 for (var i = 0; i < patches.length; i++)
3715 var patch = patches[i];
3716 var localDomNode = patch.t
3717 var newNode = _VirtualDom_applyPatch(localDomNode, patch);
3718 if (localDomNode === rootDomNode)
3720 rootDomNode = newNode;
3726function _VirtualDom_applyPatch(domNode, patch)
3731 return _VirtualDom_applyPatchRedraw(domNode, patch.s, patch.u);
3734 _VirtualDom_applyFacts(domNode, patch.u, patch.s);
3738 domNode.replaceData(0, domNode.length, patch.s);
3742 return _VirtualDom_applyPatchesHelp(domNode, patch.s);
3745 if (domNode.elm_event_node_ref)
3747 domNode.elm_event_node_ref.j = patch.s;
3751 domNode.elm_event_node_ref = { j: patch.s, p: patch.u };
3757 for (var i = 0; i < data.i; i++)
3759 domNode.removeChild(domNode.childNodes[data.v]);
3767 var theEnd = domNode.childNodes[i];
3768 for (; i < kids.length; i++)
3770 domNode.insertBefore(_VirtualDom_render(kids[i], patch.u), theEnd);
3778 domNode.parentNode.removeChild(domNode);
3782 if (typeof entry.r !== 'undefined')
3784 domNode.parentNode.removeChild(domNode);
3786 entry.s = _VirtualDom_applyPatchesHelp(domNode, data.w);
3790 return _VirtualDom_applyPatchReorder(domNode, patch);
3793 return patch.s(domNode);
3796 _Debug_crash(10); // 'Ran into an unknown patch!'
3801function _VirtualDom_applyPatchRedraw(domNode, vNode, eventNode)
3803 var parentNode = domNode.parentNode;
3804 var newNode = _VirtualDom_render(vNode, eventNode);
3806 if (!newNode.elm_event_node_ref)
3808 newNode.elm_event_node_ref = domNode.elm_event_node_ref;
3811 if (parentNode && newNode !== domNode)
3813 parentNode.replaceChild(newNode, domNode);
3819function _VirtualDom_applyPatchReorder(domNode, patch)
3823 // remove end inserts
3824 var frag = _VirtualDom_applyPatchReorderEndInsertsHelp(data.y, patch);
3827 domNode = _VirtualDom_applyPatchesHelp(domNode, data.w);
3830 var inserts = data.x;
3831 for (var i = 0; i < inserts.length; i++)
3833 var insert = inserts[i];
3834 var entry = insert.A;
3835 var node = entry.c === 2
3837 : _VirtualDom_render(entry.z, patch.u);
3838 domNode.insertBefore(node, domNode.childNodes[insert.r]);
3844 _VirtualDom_appendChild(domNode, frag);
3851function _VirtualDom_applyPatchReorderEndInsertsHelp(endInserts, patch)
3858 var frag = _VirtualDom_doc.createDocumentFragment();
3859 for (var i = 0; i < endInserts.length; i++)
3861 var insert = endInserts[i];
3862 var entry = insert.A;
3863 _VirtualDom_appendChild(frag, entry.c === 2
3865 : _VirtualDom_render(entry.z, patch.u)
3872function _VirtualDom_virtualize(node)
3876 if (node.nodeType === 3)
3878 return _VirtualDom_text(node.textContent);
3884 if (node.nodeType !== 1)
3886 return _VirtualDom_text('');
3892 var attrList = _List_Nil;
3893 var attrs = node.attributes;
3894 for (var i = attrs.length; i--; )
3896 var attr = attrs[i];
3897 var name = attr.name;
3898 var value = attr.value;
3899 attrList = _List_Cons( A2(_VirtualDom_attribute, name, value), attrList );
3902 var tag = node.tagName.toLowerCase();
3903 var kidList = _List_Nil;
3904 var kids = node.childNodes;
3906 for (var i = kids.length; i--; )
3908 kidList = _List_Cons(_VirtualDom_virtualize(kids[i]), kidList);
3910 return A3(_VirtualDom_node, tag, attrList, kidList);
3913function _VirtualDom_dekey(keyedNode)
3915 var keyedKids = keyedNode.e;
3916 var len = keyedKids.length;
3917 var kids = new Array(len);
3918 for (var i = 0; i < len; i++)
3920 kids[i] = keyedKids[i].b;
3939var _Debugger_element;
3941var _Browser_element = _Debugger_element || F4(function(impl, flagDecoder, debugMetadata, args)
3943 return _Platform_initialize(
3949 function(sendToApp, initialModel) {
3950 var view = impl.view;
3952 var domNode = args['node'];
3955 var domNode = args && args['node'] ? args['node'] : _Debug_crash(0);
3957 var currNode = _VirtualDom_virtualize(domNode);
3959 return _Browser_makeAnimator(initialModel, function(model)
3961 var nextNode = view(model);
3962 var patches = _VirtualDom_diff(currNode, nextNode);
3963 domNode = _VirtualDom_applyPatches(domNode, currNode, patches, sendToApp);
3964 currNode = nextNode;
3975var _Debugger_document;
3977var _Browser_document = _Debugger_document || F4(function(impl, flagDecoder, debugMetadata, args)
3979 return _Platform_initialize(
3985 function(sendToApp, initialModel) {
3986 var divertHrefToApp = impl.setup && impl.setup(sendToApp)
3987 var view = impl.view;
3988 var title = _VirtualDom_doc.title;
3989 var bodyNode = _VirtualDom_doc.body;
3990 var currNode = _VirtualDom_virtualize(bodyNode);
3991 return _Browser_makeAnimator(initialModel, function(model)
3993 _VirtualDom_divertHrefToApp = divertHrefToApp;
3994 var doc = view(model);
3995 var nextNode = _VirtualDom_node('body')(_List_Nil)(doc.body);
3996 var patches = _VirtualDom_diff(currNode, nextNode);
3997 bodyNode = _VirtualDom_applyPatches(bodyNode, currNode, patches, sendToApp);
3998 currNode = nextNode;
3999 _VirtualDom_divertHrefToApp = 0;
4000 (title !== doc.title) && (_VirtualDom_doc.title = title = doc.title);
4011var _Browser_cancelAnimationFrame =
4012 typeof cancelAnimationFrame !== 'undefined'
4013 ? cancelAnimationFrame
4014 : function(id) { clearTimeout(id); };
4016var _Browser_requestAnimationFrame =
4017 typeof requestAnimationFrame !== 'undefined'
4018 ? requestAnimationFrame
4019 : function(callback) { return setTimeout(callback, 1000 / 60); };
4022function _Browser_makeAnimator(model, draw)
4028 function updateIfNeeded()
4032 : ( _Browser_requestAnimationFrame(updateIfNeeded), draw(model), 1 );
4035 return function(nextModel, isSync)
4041 state === 2 && (state = 1)
4043 : ( state === 0 && _Browser_requestAnimationFrame(updateIfNeeded),
4054function _Browser_application(impl)
4056 var onUrlChange = impl.onUrlChange;
4057 var onUrlRequest = impl.onUrlRequest;
4058 var key = function() { key.a(onUrlChange(_Browser_getUrl())); };
4060 return _Browser_document({
4061 setup: function(sendToApp)
4064 _Browser_window.addEventListener('popstate', key);
4065 _Browser_window.navigator.userAgent.indexOf('Trident') < 0 || _Browser_window.addEventListener('hashchange', key);
4067 return F2(function(domNode, event)
4069 if (!event.ctrlKey && !event.metaKey && !event.shiftKey && event.button < 1 && !domNode.target && !domNode.hasAttribute('download'))
4071 event.preventDefault();
4072 var href = domNode.href;
4073 var curr = _Browser_getUrl();
4074 var next = $elm$url$Url$fromString(href).a;
4075 sendToApp(onUrlRequest(
4077 && curr.protocol === next.protocol
4078 && curr.host === next.host
4079 && curr.port_.a === next.port_.a
4081 ? $elm$browser$Browser$Internal(next)
4082 : $elm$browser$Browser$External(href)
4087 init: function(flags)
4089 return A3(impl.init, flags, _Browser_getUrl(), key);
4092 update: impl.update,
4093 subscriptions: impl.subscriptions
4097function _Browser_getUrl()
4099 return $elm$url$Url$fromString(_VirtualDom_doc.location.href).a || _Debug_crash(1);
4102var _Browser_go = F2(function(key, n)
4104 return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() {
4110var _Browser_pushUrl = F2(function(key, url)
4112 return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() {
4113 history.pushState({}, '', url);
4118var _Browser_replaceUrl = F2(function(key, url)
4120 return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() {
4121 history.replaceState({}, '', url);
4131var _Browser_fakeNode = { addEventListener: function() {}, removeEventListener: function() {} };
4132var _Browser_doc = typeof document !== 'undefined' ? document : _Browser_fakeNode;
4133var _Browser_window = typeof window !== 'undefined' ? window : _Browser_fakeNode;
4135var _Browser_on = F3(function(node, eventName, sendToSelf)
4137 return _Scheduler_spawn(_Scheduler_binding(function(callback)
4139 function handler(event) { _Scheduler_rawSpawn(sendToSelf(event)); }
4140 node.addEventListener(eventName, handler, _VirtualDom_passiveSupported && { passive: true });
4141 return function() { node.removeEventListener(eventName, handler); };
4145var _Browser_decodeEvent = F2(function(decoder, event)
4147 var result = _Json_runHelp(decoder, event);
4148 return $elm$core$Result$isOk(result) ? $elm$core$Maybe$Just(result.a) : $elm$core$Maybe$Nothing;
4156function _Browser_visibilityInfo()
4158 return (typeof _VirtualDom_doc.hidden !== 'undefined')
4159 ? { hidden: 'hidden', change: 'visibilitychange' }
4161 (typeof _VirtualDom_doc.mozHidden !== 'undefined')
4162 ? { hidden: 'mozHidden', change: 'mozvisibilitychange' }
4164 (typeof _VirtualDom_doc.msHidden !== 'undefined')
4165 ? { hidden: 'msHidden', change: 'msvisibilitychange' }
4167 (typeof _VirtualDom_doc.webkitHidden !== 'undefined')
4168 ? { hidden: 'webkitHidden', change: 'webkitvisibilitychange' }
4169 : { hidden: 'hidden', change: 'visibilitychange' };
4177function _Browser_rAF()
4179 return _Scheduler_binding(function(callback)
4181 var id = _Browser_requestAnimationFrame(function() {
4182 callback(_Scheduler_succeed(Date.now()));
4186 _Browser_cancelAnimationFrame(id);
4192function _Browser_now()
4194 return _Scheduler_binding(function(callback)
4196 callback(_Scheduler_succeed(Date.now()));
4205function _Browser_withNode(id, doStuff)
4207 return _Scheduler_binding(function(callback)
4209 _Browser_requestAnimationFrame(function() {
4210 var node = document.getElementById(id);
4212 ? _Scheduler_succeed(doStuff(node))
4213 : _Scheduler_fail($elm$browser$Browser$Dom$NotFound(id))
4220function _Browser_withWindow(doStuff)
4222 return _Scheduler_binding(function(callback)
4224 _Browser_requestAnimationFrame(function() {
4225 callback(_Scheduler_succeed(doStuff()));
4234var _Browser_call = F2(function(functionName, id)
4236 return _Browser_withNode(id, function(node) {
4237 node[functionName]();
4238 return _Utils_Tuple0;
4247function _Browser_getViewport()
4250 scene: _Browser_getScene(),
4252 x: _Browser_window.pageXOffset,
4253 y: _Browser_window.pageYOffset,
4254 width: _Browser_doc.documentElement.clientWidth,
4255 height: _Browser_doc.documentElement.clientHeight
4260function _Browser_getScene()
4262 var body = _Browser_doc.body;
4263 var elem = _Browser_doc.documentElement;
4265 width: Math.max(body.scrollWidth, body.offsetWidth, elem.scrollWidth, elem.offsetWidth, elem.clientWidth),
4266 height: Math.max(body.scrollHeight, body.offsetHeight, elem.scrollHeight, elem.offsetHeight, elem.clientHeight)
4270var _Browser_setViewport = F2(function(x, y)
4272 return _Browser_withWindow(function()
4274 _Browser_window.scroll(x, y);
4275 return _Utils_Tuple0;
4284function _Browser_getViewportOf(id)
4286 return _Browser_withNode(id, function(node)
4290 width: node.scrollWidth,
4291 height: node.scrollHeight
4296 width: node.clientWidth,
4297 height: node.clientHeight
4304var _Browser_setViewportOf = F3(function(id, x, y)
4306 return _Browser_withNode(id, function(node)
4308 node.scrollLeft = x;
4310 return _Utils_Tuple0;
4319function _Browser_getElement(id)
4321 return _Browser_withNode(id, function(node)
4323 var rect = node.getBoundingClientRect();
4324 var x = _Browser_window.pageXOffset;
4325 var y = _Browser_window.pageYOffset;
4327 scene: _Browser_getScene(),
4331 width: _Browser_doc.documentElement.clientWidth,
4332 height: _Browser_doc.documentElement.clientHeight
4349function _Browser_reload(skipCache)
4351 return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function(callback)
4353 _VirtualDom_doc.location.reload(skipCache);
4357function _Browser_load(url)
4359 return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function(callback)
4363 _Browser_window.location = url;
4367 // Only Firefox can throw a NS_ERROR_MALFORMED_URI exception here.
4368 // Other browsers reload the page, so let's be consistent about that.
4369 _VirtualDom_doc.location.reload(false);
4376function _Time_now(millisToPosix)
4378 return _Scheduler_binding(function(callback)
4380 callback(_Scheduler_succeed(millisToPosix(Date.now())));
4384var _Time_setInterval = F2(function(interval, task)
4386 return _Scheduler_binding(function(callback)
4388 var id = setInterval(function() { _Scheduler_rawSpawn(task); }, interval);
4389 return function() { clearInterval(id); };
4393function _Time_here()
4395 return _Scheduler_binding(function(callback)
4397 callback(_Scheduler_succeed(
4398 A2($elm$time$Time$customZone, -(new Date().getTimezoneOffset()), _List_Nil)
4404function _Time_getZoneName()
4406 return _Scheduler_binding(function(callback)
4410 var name = $elm$time$Time$Name(Intl.DateTimeFormat().resolvedOptions().timeZone);
4414 var name = $elm$time$Time$Offset(new Date().getTimezoneOffset());
4416 callback(_Scheduler_succeed(name));
4426var _Parser_isSubString = F5(function(smallString, offset, row, col, bigString)
4428 var smallLength = smallString.length;
4429 var isGood = offset + smallLength <= bigString.length;
4431 for (var i = 0; isGood && i < smallLength; )
4433 var code = bigString.charCodeAt(offset);
4435 smallString[i++] === bigString[offset++]
4437 code === 0x000A /* \n */
4439 : ( col++, (code & 0xF800) === 0xD800 ? smallString[i++] === bigString[offset++] : 1 )
4443 return _Utils_Tuple3(isGood ? offset : -1, row, col);
4451var _Parser_isSubChar = F3(function(predicate, offset, string)
4454 string.length <= offset
4457 (string.charCodeAt(offset) & 0xF800) === 0xD800
4458 ? (predicate(_Utils_chr(string.substr(offset, 2))) ? offset + 2 : -1)
4460 (predicate(_Utils_chr(string[offset]))
4461 ? ((string[offset] === '\n') ? -2 : (offset + 1))
4468var _Parser_isAsciiCode = F3(function(code, offset, string)
4470 return string.charCodeAt(offset) === code;
4478var _Parser_chompBase10 = F2(function(offset, string)
4480 for (; offset < string.length; offset++)
4482 var code = string.charCodeAt(offset);
4483 if (code < 0x30 || 0x39 < code)
4492var _Parser_consumeBase = F3(function(base, offset, string)
4494 for (var total = 0; offset < string.length; offset++)
4496 var digit = string.charCodeAt(offset) - 0x30;
4497 if (digit < 0 || base <= digit) break;
4498 total = base * total + digit;
4500 return _Utils_Tuple2(offset, total);
4504var _Parser_consumeBase16 = F2(function(offset, string)
4506 for (var total = 0; offset < string.length; offset++)
4508 var code = string.charCodeAt(offset);
4509 if (0x30 <= code && code <= 0x39)
4511 total = 16 * total + code - 0x30;
4513 else if (0x41 <= code && code <= 0x46)
4515 total = 16 * total + code - 55;
4517 else if (0x61 <= code && code <= 0x66)
4519 total = 16 * total + code - 87;
4526 return _Utils_Tuple2(offset, total);
4534var _Parser_findSubString = F5(function(smallString, offset, row, col, bigString)
4536 var newOffset = bigString.indexOf(smallString, offset);
4537 var target = newOffset < 0 ? bigString.length : newOffset + smallString.length;
4539 while (offset < target)
4541 var code = bigString.charCodeAt(offset++);
4542 code === 0x000A /* \n */
4544 : ( col++, (code & 0xF800) === 0xD800 && offset++ )
4547 return _Utils_Tuple3(newOffset, row, col);
4554var _Http_toTask = F3(function(router, toTask, request)
4556 return _Scheduler_binding(function(callback)
4558 function done(response) {
4559 callback(toTask(request.expect.a(response)));
4562 var xhr = new XMLHttpRequest();
4563 xhr.addEventListener('error', function() { done($elm$http$Http$NetworkError_); });
4564 xhr.addEventListener('timeout', function() { done($elm$http$Http$Timeout_); });
4565 xhr.addEventListener('load', function() { done(_Http_toResponse(request.expect.b, xhr)); });
4566 $elm$core$Maybe$isJust(request.tracker) && _Http_track(router, xhr, request.tracker.a);
4569 xhr.open(request.method, request.url, true);
4571 return done($elm$http$Http$BadUrl_(request.url));
4574 _Http_configureRequest(xhr, request);
4576 request.body.a && xhr.setRequestHeader('Content-Type', request.body.a);
4577 xhr.send(request.body.b);
4579 return function() { xhr.c = true; xhr.abort(); };
4586function _Http_configureRequest(xhr, request)
4588 for (var headers = request.headers; headers.b; headers = headers.b) // WHILE_CONS
4590 xhr.setRequestHeader(headers.a.a, headers.a.b);
4592 xhr.timeout = request.timeout.a || 0;
4593 xhr.responseType = request.expect.d;
4594 xhr.withCredentials = request.allowCookiesFromOtherDomains;
4600function _Http_toResponse(toBody, xhr)
4603 200 <= xhr.status && xhr.status < 300 ? $elm$http$Http$GoodStatus_ : $elm$http$Http$BadStatus_,
4604 _Http_toMetadata(xhr),
4605 toBody(xhr.response)
4612function _Http_toMetadata(xhr)
4615 url: xhr.responseURL,
4616 statusCode: xhr.status,
4617 statusText: xhr.statusText,
4618 headers: _Http_parseHeaders(xhr.getAllResponseHeaders())
4625function _Http_parseHeaders(rawHeaders)
4629 return $elm$core$Dict$empty;
4632 var headers = $elm$core$Dict$empty;
4633 var headerPairs = rawHeaders.split('\r\n');
4634 for (var i = headerPairs.length; i--; )
4636 var headerPair = headerPairs[i];
4637 var index = headerPair.indexOf(': ');
4640 var key = headerPair.substring(0, index);
4641 var value = headerPair.substring(index + 2);
4643 headers = A3($elm$core$Dict$update, key, function(oldValue) {
4644 return $elm$core$Maybe$Just($elm$core$Maybe$isJust(oldValue)
4645 ? value + ', ' + oldValue.a
4657var _Http_expect = F3(function(type, toBody, toValue)
4667var _Http_mapExpect = F2(function(func, expect)
4673 a: function(x) { return func(expect.a(x)); }
4677function _Http_toDataView(arrayBuffer)
4679 return new DataView(arrayBuffer);
4685var _Http_emptyBody = { $: 0 };
4686var _Http_pair = F2(function(a, b) { return { $: 0, a: a, b: b }; });
4688function _Http_toFormData(parts)
4690 for (var formData = new FormData(); parts.b; parts = parts.b) // WHILE_CONS
4693 formData.append(part.a, part.b);
4698var _Http_bytesToBlob = F2(function(mime, bytes)
4700 return new Blob([bytes], { type: mime });
4706function _Http_track(router, xhr, tracker)
4708 // TODO check out lengthComputable on loadstart event
4710 xhr.upload.addEventListener('progress', function(event) {
4711 if (xhr.c) { return; }
4712 _Scheduler_rawSpawn(A2($elm$core$Platform$sendToSelf, router, _Utils_Tuple2(tracker, $elm$http$Http$Sending({
4717 xhr.addEventListener('progress', function(event) {
4718 if (xhr.c) { return; }
4719 _Scheduler_rawSpawn(A2($elm$core$Platform$sendToSelf, router, _Utils_Tuple2(tracker, $elm$http$Http$Receiving({
4720 received: event.loaded,
4721 size: event.lengthComputable ? $elm$core$Maybe$Just(event.total) : $elm$core$Maybe$Nothing
4726function _Url_percentEncode(string)
4728 return encodeURIComponent(string);
4731function _Url_percentDecode(string)
4735 return $elm$core$Maybe$Just(decodeURIComponent(string));
4739 return $elm$core$Maybe$Nothing;
4744var _Bitwise_and = F2(function(a, b)
4749var _Bitwise_or = F2(function(a, b)
4754var _Bitwise_xor = F2(function(a, b)
4759function _Bitwise_complement(a)
4764var _Bitwise_shiftLeftBy = F2(function(offset, a)
4769var _Bitwise_shiftRightBy = F2(function(offset, a)
4774var _Bitwise_shiftRightZfBy = F2(function(offset, a)
4776 return a >>> offset;
4778var $author$project$Main$LinkClicked = function (a) {
4779 return {$: 'LinkClicked', a: a};
4781var $author$project$Main$UrlChanged = function (a) {
4782 return {$: 'UrlChanged', a: a};
4784var $elm$core$Basics$EQ = {$: 'EQ'};
4785var $elm$core$Basics$GT = {$: 'GT'};
4786var $elm$core$Basics$LT = {$: 'LT'};
4787var $elm$core$List$cons = _List_cons;
4788var $elm$core$Dict$foldr = F3(
4789 function (func, acc, t) {
4792 if (t.$ === 'RBEmpty_elm_builtin') {
4799 var $temp$func = func,
4804 A3($elm$core$Dict$foldr, func, acc, right)),
4813var $elm$core$Dict$toList = function (dict) {
4815 $elm$core$Dict$foldr,
4817 function (key, value, list) {
4819 $elm$core$List$cons,
4820 _Utils_Tuple2(key, value),
4826var $elm$core$Dict$keys = function (dict) {
4828 $elm$core$Dict$foldr,
4830 function (key, value, keyList) {
4831 return A2($elm$core$List$cons, key, keyList);
4836var $elm$core$Set$toList = function (_v0) {
4838 return $elm$core$Dict$keys(dict);
4840var $elm$core$Elm$JsArray$foldr = _JsArray_foldr;
4841var $elm$core$Array$foldr = F3(
4842 function (func, baseCase, _v0) {
4846 function (node, acc) {
4847 if (node.$ === 'SubTree') {
4848 var subTree = node.a;
4849 return A3($elm$core$Elm$JsArray$foldr, helper, acc, subTree);
4851 var values = node.a;
4852 return A3($elm$core$Elm$JsArray$foldr, func, acc, values);
4856 $elm$core$Elm$JsArray$foldr,
4858 A3($elm$core$Elm$JsArray$foldr, func, baseCase, tail),
4861var $elm$core$Array$toList = function (array) {
4862 return A3($elm$core$Array$foldr, $elm$core$List$cons, _List_Nil, array);
4864var $elm$core$Result$Err = function (a) {
4865 return {$: 'Err', a: a};
4867var $elm$json$Json$Decode$Failure = F2(
4869 return {$: 'Failure', a: a, b: b};
4871var $elm$json$Json$Decode$Field = F2(
4873 return {$: 'Field', a: a, b: b};
4875var $elm$json$Json$Decode$Index = F2(
4877 return {$: 'Index', a: a, b: b};
4879var $elm$core$Result$Ok = function (a) {
4880 return {$: 'Ok', a: a};
4882var $elm$json$Json$Decode$OneOf = function (a) {
4883 return {$: 'OneOf', a: a};
4885var $elm$core$Basics$False = {$: 'False'};
4886var $elm$core$Basics$add = _Basics_add;
4887var $elm$core$Maybe$Just = function (a) {
4888 return {$: 'Just', a: a};
4890var $elm$core$Maybe$Nothing = {$: 'Nothing'};
4891var $elm$core$String$all = _String_all;
4892var $elm$core$Basics$and = _Basics_and;
4893var $elm$core$Basics$append = _Utils_append;
4894var $elm$json$Json$Encode$encode = _Json_encode;
4895var $elm$core$String$fromInt = _String_fromNumber;
4896var $elm$core$String$join = F2(
4897 function (sep, chunks) {
4901 _List_toArray(chunks));
4903var $elm$core$String$split = F2(
4904 function (sep, string) {
4905 return _List_fromArray(
4906 A2(_String_split, sep, string));
4908var $elm$json$Json$Decode$indent = function (str) {
4910 $elm$core$String$join,
4912 A2($elm$core$String$split, '\n', str));
4914var $elm$core$List$foldl = F3(
4915 function (func, acc, list) {
4923 var $temp$func = func,
4924 $temp$acc = A2(func, x, acc),
4933var $elm$core$List$length = function (xs) {
4935 $elm$core$List$foldl,
4943var $elm$core$List$map2 = _List_map2;
4944var $elm$core$Basics$le = _Utils_le;
4945var $elm$core$Basics$sub = _Basics_sub;
4946var $elm$core$List$rangeHelp = F3(
4947 function (lo, hi, list) {
4950 if (_Utils_cmp(lo, hi) < 1) {
4953 $temp$list = A2($elm$core$List$cons, hi, list);
4963var $elm$core$List$range = F2(
4965 return A3($elm$core$List$rangeHelp, lo, hi, _List_Nil);
4967var $elm$core$List$indexedMap = F2(
4970 $elm$core$List$map2,
4973 $elm$core$List$range,
4975 $elm$core$List$length(xs) - 1),
4978var $elm$core$Char$toCode = _Char_toCode;
4979var $elm$core$Char$isLower = function (_char) {
4980 var code = $elm$core$Char$toCode(_char);
4981 return (97 <= code) && (code <= 122);
4983var $elm$core$Char$isUpper = function (_char) {
4984 var code = $elm$core$Char$toCode(_char);
4985 return (code <= 90) && (65 <= code);
4987var $elm$core$Basics$or = _Basics_or;
4988var $elm$core$Char$isAlpha = function (_char) {
4989 return $elm$core$Char$isLower(_char) || $elm$core$Char$isUpper(_char);
4991var $elm$core$Char$isDigit = function (_char) {
4992 var code = $elm$core$Char$toCode(_char);
4993 return (code <= 57) && (48 <= code);
4995var $elm$core$Char$isAlphaNum = function (_char) {
4996 return $elm$core$Char$isLower(_char) || ($elm$core$Char$isUpper(_char) || $elm$core$Char$isDigit(_char));
4998var $elm$core$List$reverse = function (list) {
4999 return A3($elm$core$List$foldl, $elm$core$List$cons, _List_Nil, list);
5001var $elm$core$String$uncons = _String_uncons;
5002var $elm$json$Json$Decode$errorOneOf = F2(
5003 function (i, error) {
5004 return '\n\n(' + ($elm$core$String$fromInt(i + 1) + (') ' + $elm$json$Json$Decode$indent(
5005 $elm$json$Json$Decode$errorToString(error))));
5007var $elm$json$Json$Decode$errorToString = function (error) {
5008 return A2($elm$json$Json$Decode$errorToStringHelp, error, _List_Nil);
5010var $elm$json$Json$Decode$errorToStringHelp = F2(
5011 function (error, context) {
5018 var isSimple = function () {
5019 var _v1 = $elm$core$String$uncons(f);
5020 if (_v1.$ === 'Nothing') {
5026 return $elm$core$Char$isAlpha(_char) && A2($elm$core$String$all, $elm$core$Char$isAlphaNum, rest);
5029 var fieldName = isSimple ? ('.' + f) : ('[\'' + (f + '\']'));
5030 var $temp$error = err,
5031 $temp$context = A2($elm$core$List$cons, fieldName, context);
5032 error = $temp$error;
5033 context = $temp$context;
5034 continue errorToStringHelp;
5038 var indexName = '[' + ($elm$core$String$fromInt(i) + ']');
5039 var $temp$error = err,
5040 $temp$context = A2($elm$core$List$cons, indexName, context);
5041 error = $temp$error;
5042 context = $temp$context;
5043 continue errorToStringHelp;
5045 var errors = error.a;
5047 return 'Ran into a Json.Decode.oneOf with no possibilities' + function () {
5051 return ' at json' + A2(
5052 $elm$core$String$join,
5054 $elm$core$List$reverse(context));
5060 var $temp$error = err,
5061 $temp$context = context;
5062 error = $temp$error;
5063 context = $temp$context;
5064 continue errorToStringHelp;
5066 var starter = function () {
5068 return 'Json.Decode.oneOf';
5070 return 'The Json.Decode.oneOf at json' + A2(
5071 $elm$core$String$join,
5073 $elm$core$List$reverse(context));
5076 var introduction = starter + (' failed in the following ' + ($elm$core$String$fromInt(
5077 $elm$core$List$length(errors)) + ' ways:'));
5079 $elm$core$String$join,
5082 $elm$core$List$cons,
5084 A2($elm$core$List$indexedMap, $elm$json$Json$Decode$errorOneOf, errors)));
5090 var introduction = function () {
5092 return 'Problem with the given value:\n\n';
5094 return 'Problem with the value at json' + (A2(
5095 $elm$core$String$join,
5097 $elm$core$List$reverse(context)) + ':\n\n ');
5100 return introduction + ($elm$json$Json$Decode$indent(
5101 A2($elm$json$Json$Encode$encode, 4, json)) + ('\n\n' + msg));
5105var $elm$core$Array$branchFactor = 32;
5106var $elm$core$Array$Array_elm_builtin = F4(
5107 function (a, b, c, d) {
5108 return {$: 'Array_elm_builtin', a: a, b: b, c: c, d: d};
5110var $elm$core$Elm$JsArray$empty = _JsArray_empty;
5111var $elm$core$Basics$ceiling = _Basics_ceiling;
5112var $elm$core$Basics$fdiv = _Basics_fdiv;
5113var $elm$core$Basics$logBase = F2(
5114 function (base, number) {
5115 return _Basics_log(number) / _Basics_log(base);
5117var $elm$core$Basics$toFloat = _Basics_toFloat;
5118var $elm$core$Array$shiftStep = $elm$core$Basics$ceiling(
5119 A2($elm$core$Basics$logBase, 2, $elm$core$Array$branchFactor));
5120var $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);
5121var $elm$core$Elm$JsArray$initialize = _JsArray_initialize;
5122var $elm$core$Array$Leaf = function (a) {
5123 return {$: 'Leaf', a: a};
5125var $elm$core$Basics$apL = F2(
5129var $elm$core$Basics$apR = F2(
5133var $elm$core$Basics$eq = _Utils_equal;
5134var $elm$core$Basics$floor = _Basics_floor;
5135var $elm$core$Elm$JsArray$length = _JsArray_length;
5136var $elm$core$Basics$gt = _Utils_gt;
5137var $elm$core$Basics$max = F2(
5139 return (_Utils_cmp(x, y) > 0) ? x : y;
5141var $elm$core$Basics$mul = _Basics_mul;
5142var $elm$core$Array$SubTree = function (a) {
5143 return {$: 'SubTree', a: a};
5145var $elm$core$Elm$JsArray$initializeFromList = _JsArray_initializeFromList;
5146var $elm$core$Array$compressNodes = F2(
5147 function (nodes, acc) {
5150 var _v0 = A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, nodes);
5152 var remainingNodes = _v0.b;
5154 $elm$core$List$cons,
5155 $elm$core$Array$SubTree(node),
5157 if (!remainingNodes.b) {
5158 return $elm$core$List$reverse(newAcc);
5160 var $temp$nodes = remainingNodes,
5162 nodes = $temp$nodes;
5164 continue compressNodes;
5168var $elm$core$Tuple$first = function (_v0) {
5172var $elm$core$Array$treeFromBuilder = F2(
5173 function (nodeList, nodeListSize) {
5176 var newNodeSize = $elm$core$Basics$ceiling(nodeListSize / $elm$core$Array$branchFactor);
5177 if (newNodeSize === 1) {
5178 return A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, nodeList).a;
5180 var $temp$nodeList = A2($elm$core$Array$compressNodes, nodeList, _List_Nil),
5181 $temp$nodeListSize = newNodeSize;
5182 nodeList = $temp$nodeList;
5183 nodeListSize = $temp$nodeListSize;
5184 continue treeFromBuilder;
5188var $elm$core$Array$builderToArray = F2(
5189 function (reverseNodeList, builder) {
5190 if (!builder.nodeListSize) {
5192 $elm$core$Array$Array_elm_builtin,
5193 $elm$core$Elm$JsArray$length(builder.tail),
5194 $elm$core$Array$shiftStep,
5195 $elm$core$Elm$JsArray$empty,
5198 var treeLen = builder.nodeListSize * $elm$core$Array$branchFactor;
5199 var depth = $elm$core$Basics$floor(
5200 A2($elm$core$Basics$logBase, $elm$core$Array$branchFactor, treeLen - 1));
5201 var correctNodeList = reverseNodeList ? $elm$core$List$reverse(builder.nodeList) : builder.nodeList;
5202 var tree = A2($elm$core$Array$treeFromBuilder, correctNodeList, builder.nodeListSize);
5204 $elm$core$Array$Array_elm_builtin,
5205 $elm$core$Elm$JsArray$length(builder.tail) + treeLen,
5206 A2($elm$core$Basics$max, 5, depth * $elm$core$Array$shiftStep),
5211var $elm$core$Basics$idiv = _Basics_idiv;
5212var $elm$core$Basics$lt = _Utils_lt;
5213var $elm$core$Array$initializeHelp = F5(
5214 function (fn, fromIndex, len, nodeList, tail) {
5217 if (fromIndex < 0) {
5219 $elm$core$Array$builderToArray,
5221 {nodeList: nodeList, nodeListSize: (len / $elm$core$Array$branchFactor) | 0, tail: tail});
5223 var leaf = $elm$core$Array$Leaf(
5224 A3($elm$core$Elm$JsArray$initialize, $elm$core$Array$branchFactor, fromIndex, fn));
5226 $temp$fromIndex = fromIndex - $elm$core$Array$branchFactor,
5228 $temp$nodeList = A2($elm$core$List$cons, leaf, nodeList),
5231 fromIndex = $temp$fromIndex;
5233 nodeList = $temp$nodeList;
5235 continue initializeHelp;
5239var $elm$core$Basics$remainderBy = _Basics_remainderBy;
5240var $elm$core$Array$initialize = F2(
5241 function (len, fn) {
5243 return $elm$core$Array$empty;
5245 var tailLen = len % $elm$core$Array$branchFactor;
5246 var tail = A3($elm$core$Elm$JsArray$initialize, tailLen, len - tailLen, fn);
5247 var initialFromIndex = (len - tailLen) - $elm$core$Array$branchFactor;
5248 return A5($elm$core$Array$initializeHelp, fn, initialFromIndex, len, _List_Nil, tail);
5251var $elm$core$Basics$True = {$: 'True'};
5252var $elm$core$Result$isOk = function (result) {
5253 if (result.$ === 'Ok') {
5259var $elm$json$Json$Decode$map = _Json_map1;
5260var $elm$json$Json$Decode$map2 = _Json_map2;
5261var $elm$json$Json$Decode$succeed = _Json_succeed;
5262var $elm$virtual_dom$VirtualDom$toHandlerInt = function (handler) {
5263 switch (handler.$) {
5266 case 'MayStopPropagation':
5268 case 'MayPreventDefault':
5274var $elm$browser$Browser$External = function (a) {
5275 return {$: 'External', a: a};
5277var $elm$browser$Browser$Internal = function (a) {
5278 return {$: 'Internal', a: a};
5280var $elm$core$Basics$identity = function (x) {
5283var $elm$browser$Browser$Dom$NotFound = function (a) {
5284 return {$: 'NotFound', a: a};
5286var $elm$url$Url$Http = {$: 'Http'};
5287var $elm$url$Url$Https = {$: 'Https'};
5288var $elm$url$Url$Url = F6(
5289 function (protocol, host, port_, path, query, fragment) {
5290 return {fragment: fragment, host: host, path: path, port_: port_, protocol: protocol, query: query};
5292var $elm$core$String$contains = _String_contains;
5293var $elm$core$String$length = _String_length;
5294var $elm$core$String$slice = _String_slice;
5295var $elm$core$String$dropLeft = F2(
5296 function (n, string) {
5297 return (n < 1) ? string : A3(
5298 $elm$core$String$slice,
5300 $elm$core$String$length(string),
5303var $elm$core$String$indexes = _String_indexes;
5304var $elm$core$String$isEmpty = function (string) {
5305 return string === '';
5307var $elm$core$String$left = F2(
5308 function (n, string) {
5309 return (n < 1) ? '' : A3($elm$core$String$slice, 0, n, string);
5311var $elm$core$String$toInt = _String_toInt;
5312var $elm$url$Url$chompBeforePath = F5(
5313 function (protocol, path, params, frag, str) {
5314 if ($elm$core$String$isEmpty(str) || A2($elm$core$String$contains, '@', str)) {
5315 return $elm$core$Maybe$Nothing;
5317 var _v0 = A2($elm$core$String$indexes, ':', str);
5319 return $elm$core$Maybe$Just(
5320 A6($elm$url$Url$Url, protocol, str, $elm$core$Maybe$Nothing, path, params, frag));
5324 var _v1 = $elm$core$String$toInt(
5325 A2($elm$core$String$dropLeft, i + 1, str));
5326 if (_v1.$ === 'Nothing') {
5327 return $elm$core$Maybe$Nothing;
5330 return $elm$core$Maybe$Just(
5334 A2($elm$core$String$left, i, str),
5341 return $elm$core$Maybe$Nothing;
5346var $elm$url$Url$chompBeforeQuery = F4(
5347 function (protocol, params, frag, str) {
5348 if ($elm$core$String$isEmpty(str)) {
5349 return $elm$core$Maybe$Nothing;
5351 var _v0 = A2($elm$core$String$indexes, '/', str);
5353 return A5($elm$url$Url$chompBeforePath, protocol, '/', params, frag, str);
5357 $elm$url$Url$chompBeforePath,
5359 A2($elm$core$String$dropLeft, i, str),
5362 A2($elm$core$String$left, i, str));
5366var $elm$url$Url$chompBeforeFragment = F3(
5367 function (protocol, frag, str) {
5368 if ($elm$core$String$isEmpty(str)) {
5369 return $elm$core$Maybe$Nothing;
5371 var _v0 = A2($elm$core$String$indexes, '?', str);
5373 return A4($elm$url$Url$chompBeforeQuery, protocol, $elm$core$Maybe$Nothing, frag, str);
5377 $elm$url$Url$chompBeforeQuery,
5379 $elm$core$Maybe$Just(
5380 A2($elm$core$String$dropLeft, i + 1, str)),
5382 A2($elm$core$String$left, i, str));
5386var $elm$url$Url$chompAfterProtocol = F2(
5387 function (protocol, str) {
5388 if ($elm$core$String$isEmpty(str)) {
5389 return $elm$core$Maybe$Nothing;
5391 var _v0 = A2($elm$core$String$indexes, '#', str);
5393 return A3($elm$url$Url$chompBeforeFragment, protocol, $elm$core$Maybe$Nothing, str);
5397 $elm$url$Url$chompBeforeFragment,
5399 $elm$core$Maybe$Just(
5400 A2($elm$core$String$dropLeft, i + 1, str)),
5401 A2($elm$core$String$left, i, str));
5405var $elm$core$String$startsWith = _String_startsWith;
5406var $elm$url$Url$fromString = function (str) {
5407 return A2($elm$core$String$startsWith, 'http://', str) ? A2(
5408 $elm$url$Url$chompAfterProtocol,
5410 A2($elm$core$String$dropLeft, 7, str)) : (A2($elm$core$String$startsWith, 'https://', str) ? A2(
5411 $elm$url$Url$chompAfterProtocol,
5413 A2($elm$core$String$dropLeft, 8, str)) : $elm$core$Maybe$Nothing);
5415var $elm$core$Basics$never = function (_v0) {
5419 var $temp$_v0 = nvr;
5424var $elm$core$Task$Perform = function (a) {
5425 return {$: 'Perform', a: a};
5427var $elm$core$Task$succeed = _Scheduler_succeed;
5428var $elm$core$Task$init = $elm$core$Task$succeed(_Utils_Tuple0);
5429var $elm$core$List$foldrHelper = F4(
5430 function (fn, acc, ctr, ls) {
5437 return A2(fn, a, acc);
5460 var res = (ctr > 500) ? A3(
5461 $elm$core$List$foldl,
5464 $elm$core$List$reverse(r4)) : A4($elm$core$List$foldrHelper, fn, acc, ctr + 1, r4);
5480var $elm$core$List$foldr = F3(
5481 function (fn, acc, ls) {
5482 return A4($elm$core$List$foldrHelper, fn, acc, 0, ls);
5484var $elm$core$List$map = F2(
5487 $elm$core$List$foldr,
5491 $elm$core$List$cons,
5498var $elm$core$Task$andThen = _Scheduler_andThen;
5499var $elm$core$Task$map = F2(
5500 function (func, taskA) {
5502 $elm$core$Task$andThen,
5504 return $elm$core$Task$succeed(
5509var $elm$core$Task$map2 = F3(
5510 function (func, taskA, taskB) {
5512 $elm$core$Task$andThen,
5515 $elm$core$Task$andThen,
5517 return $elm$core$Task$succeed(
5524var $elm$core$Task$sequence = function (tasks) {
5526 $elm$core$List$foldr,
5527 $elm$core$Task$map2($elm$core$List$cons),
5528 $elm$core$Task$succeed(_List_Nil),
5531var $elm$core$Platform$sendToApp = _Platform_sendToApp;
5532var $elm$core$Task$spawnCmd = F2(
5533 function (router, _v0) {
5535 return _Scheduler_spawn(
5537 $elm$core$Task$andThen,
5538 $elm$core$Platform$sendToApp(router),
5541var $elm$core$Task$onEffects = F3(
5542 function (router, commands, state) {
5546 return _Utils_Tuple0;
5548 $elm$core$Task$sequence(
5551 $elm$core$Task$spawnCmd(router),
5554var $elm$core$Task$onSelfMsg = F3(
5555 function (_v0, _v1, _v2) {
5556 return $elm$core$Task$succeed(_Utils_Tuple0);
5558var $elm$core$Task$cmdMap = F2(
5559 function (tagger, _v0) {
5561 return $elm$core$Task$Perform(
5562 A2($elm$core$Task$map, tagger, task));
5564_Platform_effectManagers['Task'] = _Platform_createManager($elm$core$Task$init, $elm$core$Task$onEffects, $elm$core$Task$onSelfMsg, $elm$core$Task$cmdMap);
5565var $elm$core$Task$command = _Platform_leaf('Task');
5566var $elm$core$Task$perform = F2(
5567 function (toMessage, task) {
5568 return $elm$core$Task$command(
5569 $elm$core$Task$Perform(
5570 A2($elm$core$Task$map, toMessage, task)));
5572var $elm$browser$Browser$application = _Browser_application;
5573var $author$project$Main$Initialization = function (a) {
5574 return {$: 'Initialization', a: a};
5576var $author$project$Main$InitializationMsg = function (a) {
5577 return {$: 'InitializationMsg', a: a};
5579var $author$project$Page$Initialization$AdjustTimeZone = function (a) {
5580 return {$: 'AdjustTimeZone', a: a};
5582var $krisajenkins$remotedata$RemoteData$Loading = {$: 'Loading'};
5583var $elm$time$Time$Zone = F2(
5585 return {$: 'Zone', a: a, b: b};
5587var $elm$time$Time$utc = A2($elm$time$Time$Zone, 0, _List_Nil);
5588var $author$project$Config$emptySettings = function (key) {
5589 return {navKey: key, projectName: '', zone: $elm$time$Time$utc};
5591var $elm$time$Time$Name = function (a) {
5592 return {$: 'Name', a: a};
5594var $elm$time$Time$Offset = function (a) {
5595 return {$: 'Offset', a: a};
5597var $elm$time$Time$customZone = $elm$time$Time$Zone;
5598var $elm$time$Time$here = _Time_here(_Utils_Tuple0);
5599var $author$project$Page$Initialization$init = F2(
5600 function (url, key) {
5601 return _Utils_Tuple2(
5603 config: $krisajenkins$remotedata$RemoteData$Loading,
5604 projectName: $krisajenkins$remotedata$RemoteData$Loading,
5605 settings: $author$project$Config$emptySettings(key),
5608 A2($elm$core$Task$perform, $author$project$Page$Initialization$AdjustTimeZone, $elm$time$Time$here));
5610var $elm$core$Platform$Cmd$map = _Platform_map;
5611var $author$project$Main$updateWith = F3(
5612 function (toModel, toMsg, _v0) {
5613 var subModel = _v0.a;
5615 return _Utils_Tuple2(
5617 A2($elm$core$Platform$Cmd$map, toMsg, subCmd));
5619var $author$project$Main$init = F3(
5620 function (_v0, url, key) {
5622 $author$project$Main$updateWith,
5623 $author$project$Main$Initialization,
5624 $author$project$Main$InitializationMsg,
5625 A2($author$project$Page$Initialization$init, url, key));
5627var $author$project$Main$DeploymentMsg = function (a) {
5628 return {$: 'DeploymentMsg', a: a};
5630var $author$project$Main$DeploymentsMsg = function (a) {
5631 return {$: 'DeploymentsMsg', a: a};
5633var $elm$core$Platform$Sub$map = _Platform_map;
5634var $elm$core$Platform$Sub$batch = _Platform_batch;
5635var $elm$core$Platform$Sub$none = $elm$core$Platform$Sub$batch(_List_Nil);
5636var $author$project$Page$Deployment$WSUpdate = function (a) {
5637 return {$: 'WSUpdate', a: a};
5639var $elm$json$Json$Decode$string = _Json_decodeString;
5640var $author$project$Page$Deployment$deploymentReceiver = _Platform_incomingPort('deploymentReceiver', $elm$json$Json$Decode$string);
5641var $author$project$Page$Deployment$subscriptions = function (_v0) {
5642 return $elm$core$Platform$Sub$batch(
5645 $author$project$Page$Deployment$deploymentReceiver($author$project$Page$Deployment$WSUpdate)
5648var $author$project$Page$Deployments$ActiveTableMsg = function (a) {
5649 return {$: 'ActiveTableMsg', a: a};
5651var $author$project$Page$Deployments$ArchivedTableMsg = function (a) {
5652 return {$: 'ArchivedTableMsg', a: a};
5654var $author$project$Page$Deployments$Tick = function (a) {
5655 return {$: 'Tick', a: a};
5657var $author$project$Page$Deployments$WSUpdate = function (a) {
5658 return {$: 'WSUpdate', a: a};
5660var $author$project$Page$Deployments$deploymentsReceiver = _Platform_incomingPort('deploymentsReceiver', $elm$json$Json$Decode$string);
5661var $elm$time$Time$Every = F2(
5663 return {$: 'Every', a: a, b: b};
5665var $elm$time$Time$State = F2(
5666 function (taggers, processes) {
5667 return {processes: processes, taggers: taggers};
5669var $elm$core$Dict$RBEmpty_elm_builtin = {$: 'RBEmpty_elm_builtin'};
5670var $elm$core$Dict$empty = $elm$core$Dict$RBEmpty_elm_builtin;
5671var $elm$time$Time$init = $elm$core$Task$succeed(
5672 A2($elm$time$Time$State, $elm$core$Dict$empty, $elm$core$Dict$empty));
5673var $elm$core$Basics$compare = _Utils_compare;
5674var $elm$core$Dict$get = F2(
5675 function (targetKey, dict) {
5678 if (dict.$ === 'RBEmpty_elm_builtin') {
5679 return $elm$core$Maybe$Nothing;
5685 var _v1 = A2($elm$core$Basics$compare, targetKey, key);
5688 var $temp$targetKey = targetKey,
5690 targetKey = $temp$targetKey;
5694 return $elm$core$Maybe$Just(value);
5696 var $temp$targetKey = targetKey,
5698 targetKey = $temp$targetKey;
5705var $elm$core$Dict$Black = {$: 'Black'};
5706var $elm$core$Dict$RBNode_elm_builtin = F5(
5707 function (a, b, c, d, e) {
5708 return {$: 'RBNode_elm_builtin', a: a, b: b, c: c, d: d, e: e};
5710var $elm$core$Dict$Red = {$: 'Red'};
5711var $elm$core$Dict$balance = F5(
5712 function (color, key, value, left, right) {
5713 if ((right.$ === 'RBNode_elm_builtin') && (right.a.$ === 'Red')) {
5717 var rLeft = right.d;
5718 var rRight = right.e;
5719 if ((left.$ === 'RBNode_elm_builtin') && (left.a.$ === 'Red')) {
5724 var lRight = left.e;
5726 $elm$core$Dict$RBNode_elm_builtin,
5730 A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, lK, lV, lLeft, lRight),
5731 A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, rK, rV, rLeft, rRight));
5734 $elm$core$Dict$RBNode_elm_builtin,
5738 A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, key, value, left, rLeft),
5742 if ((((left.$ === 'RBNode_elm_builtin') && (left.a.$ === 'Red')) && (left.d.$ === 'RBNode_elm_builtin')) && (left.d.a.$ === 'Red')) {
5751 var llRight = _v6.e;
5752 var lRight = left.e;
5754 $elm$core$Dict$RBNode_elm_builtin,
5758 A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, llK, llV, llLeft, llRight),
5759 A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, key, value, lRight, right));
5761 return A5($elm$core$Dict$RBNode_elm_builtin, color, key, value, left, right);
5765var $elm$core$Dict$insertHelp = F3(
5766 function (key, value, dict) {
5767 if (dict.$ === 'RBEmpty_elm_builtin') {
5768 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);
5770 var nColor = dict.a;
5772 var nValue = dict.c;
5774 var nRight = dict.e;
5775 var _v1 = A2($elm$core$Basics$compare, key, nKey);
5779 $elm$core$Dict$balance,
5783 A3($elm$core$Dict$insertHelp, key, value, nLeft),
5786 return A5($elm$core$Dict$RBNode_elm_builtin, nColor, nKey, value, nLeft, nRight);
5789 $elm$core$Dict$balance,
5794 A3($elm$core$Dict$insertHelp, key, value, nRight));
5798var $elm$core$Dict$insert = F3(
5799 function (key, value, dict) {
5800 var _v0 = A3($elm$core$Dict$insertHelp, key, value, dict);
5801 if ((_v0.$ === 'RBNode_elm_builtin') && (_v0.a.$ === 'Red')) {
5807 return A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, k, v, l, r);
5813var $elm$time$Time$addMySub = F2(
5814 function (_v0, state) {
5815 var interval = _v0.a;
5817 var _v1 = A2($elm$core$Dict$get, interval, state);
5818 if (_v1.$ === 'Nothing') {
5820 $elm$core$Dict$insert,
5826 var taggers = _v1.a;
5828 $elm$core$Dict$insert,
5830 A2($elm$core$List$cons, tagger, taggers),
5834var $elm$core$Process$kill = _Scheduler_kill;
5835var $elm$core$Dict$foldl = F3(
5836 function (func, acc, dict) {
5839 if (dict.$ === 'RBEmpty_elm_builtin') {
5846 var $temp$func = func,
5851 A3($elm$core$Dict$foldl, func, acc, left)),
5860var $elm$core$Dict$merge = F6(
5861 function (leftStep, bothStep, rightStep, leftDict, rightDict, initialResult) {
5863 function (rKey, rValue, _v0) {
5869 return _Utils_Tuple2(
5871 A3(rightStep, rKey, rValue, result));
5877 if (_Utils_cmp(lKey, rKey) < 0) {
5878 var $temp$rKey = rKey,
5879 $temp$rValue = rValue,
5880 $temp$_v0 = _Utils_Tuple2(
5882 A3(leftStep, lKey, lValue, result));
5884 rValue = $temp$rValue;
5888 if (_Utils_cmp(lKey, rKey) > 0) {
5889 return _Utils_Tuple2(
5891 A3(rightStep, rKey, rValue, result));
5893 return _Utils_Tuple2(
5895 A4(bothStep, lKey, lValue, rValue, result));
5902 $elm$core$Dict$foldl,
5905 $elm$core$Dict$toList(leftDict),
5908 var leftovers = _v3.a;
5909 var intermediateResult = _v3.b;
5911 $elm$core$List$foldl,
5913 function (_v4, result) {
5916 return A3(leftStep, k, v, result);
5921var $elm$core$Platform$sendToSelf = _Platform_sendToSelf;
5922var $elm$time$Time$setInterval = _Time_setInterval;
5923var $elm$core$Process$spawn = _Scheduler_spawn;
5924var $elm$time$Time$spawnHelp = F3(
5925 function (router, intervals, processes) {
5927 return $elm$core$Task$succeed(processes);
5929 var interval = intervals.a;
5930 var rest = intervals.b;
5931 var spawnTimer = $elm$core$Process$spawn(
5933 $elm$time$Time$setInterval,
5935 A2($elm$core$Platform$sendToSelf, router, interval)));
5936 var spawnRest = function (id) {
5938 $elm$time$Time$spawnHelp,
5941 A3($elm$core$Dict$insert, interval, id, processes));
5943 return A2($elm$core$Task$andThen, spawnRest, spawnTimer);
5946var $elm$time$Time$onEffects = F3(
5947 function (router, subs, _v0) {
5948 var processes = _v0.processes;
5950 function (_v6, id, _v7) {
5952 var existing = _v7.b;
5954 return _Utils_Tuple3(
5958 $elm$core$Task$andThen,
5962 $elm$core$Process$kill(id)));
5964 var newTaggers = A3($elm$core$List$foldl, $elm$time$Time$addMySub, $elm$core$Dict$empty, subs);
5966 function (interval, taggers, _v4) {
5968 var existing = _v4.b;
5970 return _Utils_Tuple3(
5971 A2($elm$core$List$cons, interval, spawns),
5976 function (interval, taggers, id, _v3) {
5978 var existing = _v3.b;
5980 return _Utils_Tuple3(
5982 A3($elm$core$Dict$insert, interval, id, existing),
5986 $elm$core$Dict$merge,
5994 $elm$core$Dict$empty,
5995 $elm$core$Task$succeed(_Utils_Tuple0)));
5996 var spawnList = _v1.a;
5997 var existingDict = _v1.b;
5998 var killTask = _v1.c;
6000 $elm$core$Task$andThen,
6001 function (newProcesses) {
6002 return $elm$core$Task$succeed(
6003 A2($elm$time$Time$State, newTaggers, newProcesses));
6006 $elm$core$Task$andThen,
6008 return A3($elm$time$Time$spawnHelp, router, spawnList, existingDict);
6012var $elm$time$Time$Posix = function (a) {
6013 return {$: 'Posix', a: a};
6015var $elm$time$Time$millisToPosix = $elm$time$Time$Posix;
6016var $elm$time$Time$now = _Time_now($elm$time$Time$millisToPosix);
6017var $elm$time$Time$onSelfMsg = F3(
6018 function (router, interval, state) {
6019 var _v0 = A2($elm$core$Dict$get, interval, state.taggers);
6020 if (_v0.$ === 'Nothing') {
6021 return $elm$core$Task$succeed(state);
6023 var taggers = _v0.a;
6024 var tellTaggers = function (time) {
6025 return $elm$core$Task$sequence(
6030 $elm$core$Platform$sendToApp,
6037 $elm$core$Task$andThen,
6039 return $elm$core$Task$succeed(state);
6041 A2($elm$core$Task$andThen, tellTaggers, $elm$time$Time$now));
6044var $elm$core$Basics$composeL = F3(
6045 function (g, f, x) {
6049var $elm$time$Time$subMap = F2(
6051 var interval = _v0.a;
6054 $elm$time$Time$Every,
6056 A2($elm$core$Basics$composeL, f, tagger));
6058_Platform_effectManagers['Time'] = _Platform_createManager($elm$time$Time$init, $elm$time$Time$onEffects, $elm$time$Time$onSelfMsg, 0, $elm$time$Time$subMap);
6059var $elm$time$Time$subscription = _Platform_leaf('Time');
6060var $elm$time$Time$every = F2(
6061 function (interval, tagger) {
6062 return $elm$time$Time$subscription(
6063 A2($elm$time$Time$Every, interval, tagger));
6065var $author$project$Page$Deployments$Table$getDropdownId = function (model) {
6066 var _v0 = model.tableType;
6067 if (_v0.$ === 'ActiveTable') {
6068 return 'active-dropdown';
6070 return 'archived-dropdown';
6073var $elm$browser$Browser$Events$Document = {$: 'Document'};
6074var $elm$browser$Browser$Events$MySub = F3(
6075 function (a, b, c) {
6076 return {$: 'MySub', a: a, b: b, c: c};
6078var $elm$browser$Browser$Events$State = F2(
6079 function (subs, pids) {
6080 return {pids: pids, subs: subs};
6082var $elm$browser$Browser$Events$init = $elm$core$Task$succeed(
6083 A2($elm$browser$Browser$Events$State, _List_Nil, $elm$core$Dict$empty));
6084var $elm$browser$Browser$Events$nodeToKey = function (node) {
6085 if (node.$ === 'Document') {
6091var $elm$browser$Browser$Events$addKey = function (sub) {
6094 return _Utils_Tuple2(
6096 $elm$browser$Browser$Events$nodeToKey(node),
6100var $elm$core$Dict$fromList = function (assocs) {
6102 $elm$core$List$foldl,
6104 function (_v0, dict) {
6107 return A3($elm$core$Dict$insert, key, value, dict);
6109 $elm$core$Dict$empty,
6112var $elm$browser$Browser$Events$Event = F2(
6113 function (key, event) {
6114 return {event: event, key: key};
6116var $elm$browser$Browser$Events$spawn = F3(
6117 function (router, key, _v0) {
6120 var actualNode = function () {
6121 if (node.$ === 'Document') {
6122 return _Browser_doc;
6124 return _Browser_window;
6130 return _Utils_Tuple2(key, value);
6138 $elm$core$Platform$sendToSelf,
6140 A2($elm$browser$Browser$Events$Event, key, event));
6143var $elm$core$Dict$union = F2(
6145 return A3($elm$core$Dict$foldl, $elm$core$Dict$insert, t2, t1);
6147var $elm$browser$Browser$Events$onEffects = F3(
6148 function (router, subs, state) {
6150 function (key, sub, _v6) {
6154 return _Utils_Tuple3(
6158 $elm$core$List$cons,
6159 A3($elm$browser$Browser$Events$spawn, router, key, sub),
6163 function (_v4, pid, _v5) {
6167 return _Utils_Tuple3(
6168 A2($elm$core$List$cons, pid, deads),
6173 function (key, pid, _v2, _v3) {
6177 return _Utils_Tuple3(
6179 A3($elm$core$Dict$insert, key, pid, lives),
6182 var newSubs = A2($elm$core$List$map, $elm$browser$Browser$Events$addKey, subs);
6184 $elm$core$Dict$merge,
6189 $elm$core$Dict$fromList(newSubs),
6190 _Utils_Tuple3(_List_Nil, $elm$core$Dict$empty, _List_Nil));
6191 var deadPids = _v0.a;
6192 var livePids = _v0.b;
6193 var makeNewPids = _v0.c;
6195 $elm$core$Task$andThen,
6197 return $elm$core$Task$succeed(
6199 $elm$browser$Browser$Events$State,
6202 $elm$core$Dict$union,
6204 $elm$core$Dict$fromList(pids))));
6207 $elm$core$Task$andThen,
6209 return $elm$core$Task$sequence(makeNewPids);
6211 $elm$core$Task$sequence(
6212 A2($elm$core$List$map, $elm$core$Process$kill, deadPids))));
6214var $elm$core$List$maybeCons = F3(
6215 function (f, mx, xs) {
6217 if (_v0.$ === 'Just') {
6219 return A2($elm$core$List$cons, x, xs);
6224var $elm$core$List$filterMap = F2(
6227 $elm$core$List$foldr,
6228 $elm$core$List$maybeCons(f),
6232var $elm$browser$Browser$Events$onSelfMsg = F3(
6233 function (router, _v0, state) {
6235 var event = _v0.event;
6236 var toMessage = function (_v2) {
6241 var decoder = _v3.c;
6242 return _Utils_eq(subKey, key) ? A2(_Browser_decodeEvent, decoder, event) : $elm$core$Maybe$Nothing;
6244 var messages = A2($elm$core$List$filterMap, toMessage, state.subs);
6246 $elm$core$Task$andThen,
6248 return $elm$core$Task$succeed(state);
6250 $elm$core$Task$sequence(
6253 $elm$core$Platform$sendToApp(router),
6256var $elm$browser$Browser$Events$subMap = F2(
6257 function (func, _v0) {
6260 var decoder = _v0.c;
6262 $elm$browser$Browser$Events$MySub,
6265 A2($elm$json$Json$Decode$map, func, decoder));
6267_Platform_effectManagers['Browser.Events'] = _Platform_createManager($elm$browser$Browser$Events$init, $elm$browser$Browser$Events$onEffects, $elm$browser$Browser$Events$onSelfMsg, 0, $elm$browser$Browser$Events$subMap);
6268var $elm$browser$Browser$Events$subscription = _Platform_leaf('Browser.Events');
6269var $elm$browser$Browser$Events$on = F3(
6270 function (node, name, decoder) {
6271 return $elm$browser$Browser$Events$subscription(
6272 A3($elm$browser$Browser$Events$MySub, node, name, decoder));
6274var $elm$browser$Browser$Events$onMouseDown = A2($elm$browser$Browser$Events$on, $elm$browser$Browser$Events$Document, 'mousedown');
6275var $author$project$Page$Deployments$Table$CloseMenu = {$: 'CloseMenu'};
6276var $elm$json$Json$Decode$andThen = _Json_andThen;
6277var $elm$json$Json$Decode$fail = _Json_fail;
6278var $elm$json$Json$Decode$field = _Json_decodeField;
6279var $elm$json$Json$Decode$lazy = function (thunk) {
6281 $elm$json$Json$Decode$andThen,
6283 $elm$json$Json$Decode$succeed(_Utils_Tuple0));
6285var $elm$json$Json$Decode$oneOf = _Json_oneOf;
6286var $author$project$Page$Deployments$Table$isOutsideDropdown = function (dropdownId) {
6287 return $elm$json$Json$Decode$oneOf(
6291 $elm$json$Json$Decode$andThen,
6293 return _Utils_eq(dropdownId, id) ? $elm$json$Json$Decode$succeed(false) : $elm$json$Json$Decode$fail('check parent node');
6295 A2($elm$json$Json$Decode$field, 'id', $elm$json$Json$Decode$string)),
6296 $elm$json$Json$Decode$lazy(
6299 $elm$json$Json$Decode$field,
6301 $author$project$Page$Deployments$Table$isOutsideDropdown(dropdownId));
6303 $elm$json$Json$Decode$succeed(true)
6306var $author$project$Page$Deployments$Table$outsideTarget = function (dropdownId) {
6308 $elm$json$Json$Decode$andThen,
6309 function (isOutside) {
6310 return isOutside ? $elm$json$Json$Decode$succeed($author$project$Page$Deployments$Table$CloseMenu) : $elm$json$Json$Decode$fail('inside dropdown');
6313 $elm$json$Json$Decode$field,
6315 $author$project$Page$Deployments$Table$isOutsideDropdown(dropdownId)));
6317var $author$project$Page$Deployments$Table$subscriptions = function (model) {
6318 var _v0 = model.menuButton;
6319 if (_v0.$ === 'Just') {
6320 return $elm$browser$Browser$Events$onMouseDown(
6321 $author$project$Page$Deployments$Table$outsideTarget(
6322 $author$project$Page$Deployments$Table$getDropdownId(model)));
6324 return $elm$core$Platform$Sub$none;
6327var $author$project$Page$Deployments$tick = 15;
6328var $author$project$Page$Deployments$subscriptions = function (model) {
6329 return $elm$core$Platform$Sub$batch(
6333 $elm$core$Platform$Sub$map,
6334 $author$project$Page$Deployments$ActiveTableMsg,
6335 $author$project$Page$Deployments$Table$subscriptions(model.activeTable)),
6337 $elm$core$Platform$Sub$map,
6338 $author$project$Page$Deployments$ArchivedTableMsg,
6339 $author$project$Page$Deployments$Table$subscriptions(model.archivedTable)),
6340 $author$project$Page$Deployments$deploymentsReceiver($author$project$Page$Deployments$WSUpdate),
6341 A2($elm$time$Time$every, $author$project$Page$Deployments$tick * 1000, $author$project$Page$Deployments$Tick)
6344var $author$project$Main$subscriptions = function (model) {
6346 case 'Initialization':
6347 return $elm$core$Platform$Sub$none;
6349 var deployments = model.a;
6351 $elm$core$Platform$Sub$map,
6352 $author$project$Main$DeploymentsMsg,
6353 $author$project$Page$Deployments$subscriptions(deployments));
6355 var deployment = model.a;
6357 $elm$core$Platform$Sub$map,
6358 $author$project$Main$DeploymentMsg,
6359 $author$project$Page$Deployment$subscriptions(deployment));
6362var $author$project$Main$Deployment = function (a) {
6363 return {$: 'Deployment', a: a};
6365var $author$project$Main$Deployments = function (a) {
6366 return {$: 'Deployments', a: a};
6368var $author$project$Page$Deployment$getConfig = function (model) {
6369 return model.config;
6371var $author$project$Page$Deployments$getConfig = function (model) {
6372 return model.config;
6374var $author$project$Config$AppAuth = function (a) {
6375 return {$: 'AppAuth', a: a};
6377var $author$project$Config$AppUrl = function (a) {
6378 return {$: 'AppUrl', a: a};
6380var $author$project$Config$Config = F4(
6381 function (appUrl, wsUrl, appAuth, k8sDashboardUrlTemplate) {
6382 return {appAuth: appAuth, appUrl: appUrl, k8sDashboardUrlTemplate: k8sDashboardUrlTemplate, wsUrl: wsUrl};
6384var $author$project$Config$emptyConfig = A4(
6385 $author$project$Config$Config,
6386 $author$project$Config$AppUrl(''),
6388 $author$project$Config$AppAuth(''),
6390var $author$project$Page$Initialization$getConfig = function (model) {
6391 var _v0 = model.config;
6392 if (_v0.$ === 'Success') {
6396 return $author$project$Config$emptyConfig;
6399var $author$project$Main$getConfig = function (model) {
6401 case 'Initialization':
6402 var subModel = model.a;
6403 return $author$project$Page$Initialization$getConfig(subModel);
6405 var subModel = model.a;
6406 return $author$project$Page$Deployments$getConfig(subModel);
6408 var subModel = model.a;
6409 return $author$project$Page$Deployment$getConfig(subModel);
6412var $author$project$Page$Deployment$getSettings = function (model) {
6413 return model.settings;
6415var $author$project$Page$Deployments$getSettings = function (model) {
6416 return model.settings;
6418var $author$project$Page$Initialization$getSettings = function (model) {
6419 return model.settings;
6421var $author$project$Main$getSettings = function (model) {
6423 case 'Initialization':
6424 var subModel = model.a;
6425 return $author$project$Page$Initialization$getSettings(subModel);
6427 var subModel = model.a;
6428 return $author$project$Page$Deployments$getSettings(subModel);
6430 var subModel = model.a;
6431 return $author$project$Page$Deployment$getSettings(subModel);
6434var $elm$core$Platform$Cmd$batch = _Platform_batch;
6435var $jinjor$elm_debounce$Debounce$Debounce = function (a) {
6436 return {$: 'Debounce', a: a};
6438var $jinjor$elm_debounce$Debounce$init = $jinjor$elm_debounce$Debounce$Debounce(
6439 {input: _List_Nil, locked: false});
6440var $turboMaCk$any_set$Set$Any$AnySet = function (a) {
6441 return {$: 'AnySet', a: a};
6443var $turboMaCk$any_dict$Dict$Any$AnyDict = function (a) {
6444 return {$: 'AnyDict', a: a};
6446var $turboMaCk$any_dict$Dict$Any$empty = function (toKey) {
6447 return $turboMaCk$any_dict$Dict$Any$AnyDict(
6448 {dict: $elm$core$Dict$empty, toKey: toKey});
6450var $turboMaCk$any_set$Set$Any$empty = A2($elm$core$Basics$composeL, $turboMaCk$any_set$Set$Any$AnySet, $turboMaCk$any_dict$Dict$Any$empty);
6451var $author$project$Types$Action$unActionId = function (_v0) {
6455var $author$project$Page$Deployment$ActionTable$init = {
6456 openedAppOverrides: $turboMaCk$any_set$Set$Any$empty($author$project$Types$Action$unActionId),
6457 openedDeployemntOverrides: $turboMaCk$any_set$Set$Any$empty($author$project$Types$Action$unActionId)
6459var $krisajenkins$remotedata$RemoteData$NotAsked = {$: 'NotAsked'};
6460var $author$project$Page$Sidebar$CreateUpdate$Update = {$: 'Update'};
6461var $author$project$Page$Sidebar$CreateUpdate$initUpdate = F3(
6462 function (config, visibility, deploymentName) {
6463 return {appDefaults: $krisajenkins$remotedata$RemoteData$Loading, appKeys: $krisajenkins$remotedata$RemoteData$Loading, appOverrides: $krisajenkins$remotedata$RemoteData$Loading, config: config, deployment: $krisajenkins$remotedata$RemoteData$Loading, deploymentDefaults: $krisajenkins$remotedata$RemoteData$Loading, deploymentKeys: $krisajenkins$remotedata$RemoteData$Loading, deploymentOverrides: $krisajenkins$remotedata$RemoteData$Loading, mode: $author$project$Page$Sidebar$CreateUpdate$Update, name: deploymentName, nameEdited: false, saveResp: $krisajenkins$remotedata$RemoteData$NotAsked, visibility: visibility};
6465var $author$project$Page$Deployment$DeploymentFullInfoResponse = function (a) {
6466 return {$: 'DeploymentFullInfoResponse', a: a};
6468var $elm$core$Basics$composeR = F3(
6469 function (f, g, x) {
6473var $author$project$Types$Deployment$Deployment = F5(
6474 function (deployment, status, metadata, createdAt, updatedAt) {
6475 return {createdAt: createdAt, deployment: deployment, metadata: metadata, status: status, updatedAt: updatedAt};
6477var $elm$parser$Parser$Advanced$Bad = F2(
6479 return {$: 'Bad', a: a, b: b};
6481var $elm$parser$Parser$Advanced$Good = F3(
6482 function (a, b, c) {
6483 return {$: 'Good', a: a, b: b, c: c};
6485var $elm$parser$Parser$Advanced$Parser = function (a) {
6486 return {$: 'Parser', a: a};
6488var $elm$parser$Parser$Advanced$andThen = F2(
6489 function (callback, _v0) {
6491 return $elm$parser$Parser$Advanced$Parser(
6493 var _v1 = parseA(s0);
6494 if (_v1.$ === 'Bad') {
6497 return A2($elm$parser$Parser$Advanced$Bad, p, x);
6502 var _v2 = callback(a);
6504 var _v3 = parseB(s1);
6505 if (_v3.$ === 'Bad') {
6508 return A2($elm$parser$Parser$Advanced$Bad, p1 || p2, x);
6513 return A3($elm$parser$Parser$Advanced$Good, p1 || p2, b, s2);
6518var $elm$parser$Parser$andThen = $elm$parser$Parser$Advanced$andThen;
6519var $elm$parser$Parser$ExpectingEnd = {$: 'ExpectingEnd'};
6520var $elm$parser$Parser$Advanced$AddRight = F2(
6522 return {$: 'AddRight', a: a, b: b};
6524var $elm$parser$Parser$Advanced$DeadEnd = F4(
6525 function (row, col, problem, contextStack) {
6526 return {col: col, contextStack: contextStack, problem: problem, row: row};
6528var $elm$parser$Parser$Advanced$Empty = {$: 'Empty'};
6529var $elm$parser$Parser$Advanced$fromState = F2(
6532 $elm$parser$Parser$Advanced$AddRight,
6533 $elm$parser$Parser$Advanced$Empty,
6534 A4($elm$parser$Parser$Advanced$DeadEnd, s.row, s.col, x, s.context));
6536var $elm$parser$Parser$Advanced$end = function (x) {
6537 return $elm$parser$Parser$Advanced$Parser(
6540 $elm$core$String$length(s.src),
6541 s.offset) ? A3($elm$parser$Parser$Advanced$Good, false, _Utils_Tuple0, s) : A2(
6542 $elm$parser$Parser$Advanced$Bad,
6544 A2($elm$parser$Parser$Advanced$fromState, s, x));
6547var $elm$parser$Parser$end = $elm$parser$Parser$Advanced$end($elm$parser$Parser$ExpectingEnd);
6548var $elm$parser$Parser$Advanced$isSubChar = _Parser_isSubChar;
6549var $elm$core$Basics$negate = function (n) {
6552var $elm$parser$Parser$Advanced$chompWhileHelp = F5(
6553 function (isGood, offset, row, col, s0) {
6556 var newOffset = A3($elm$parser$Parser$Advanced$isSubChar, isGood, offset, s0.src);
6557 if (_Utils_eq(newOffset, -1)) {
6559 $elm$parser$Parser$Advanced$Good,
6560 _Utils_cmp(s0.offset, offset) < 0,
6562 {col: col, context: s0.context, indent: s0.indent, offset: offset, row: row, src: s0.src});
6564 if (_Utils_eq(newOffset, -2)) {
6565 var $temp$isGood = isGood,
6566 $temp$offset = offset + 1,
6567 $temp$row = row + 1,
6570 isGood = $temp$isGood;
6571 offset = $temp$offset;
6575 continue chompWhileHelp;
6577 var $temp$isGood = isGood,
6578 $temp$offset = newOffset,
6580 $temp$col = col + 1,
6582 isGood = $temp$isGood;
6583 offset = $temp$offset;
6587 continue chompWhileHelp;
6592var $elm$parser$Parser$Advanced$chompWhile = function (isGood) {
6593 return $elm$parser$Parser$Advanced$Parser(
6595 return A5($elm$parser$Parser$Advanced$chompWhileHelp, isGood, s.offset, s.row, s.col, s);
6598var $elm$parser$Parser$chompWhile = $elm$parser$Parser$Advanced$chompWhile;
6599var $elm$core$Basics$always = F2(
6603var $elm$parser$Parser$Advanced$mapChompedString = F2(
6604 function (func, _v0) {
6606 return $elm$parser$Parser$Advanced$Parser(
6608 var _v1 = parse(s0);
6609 if (_v1.$ === 'Bad') {
6612 return A2($elm$parser$Parser$Advanced$Bad, p, x);
6618 $elm$parser$Parser$Advanced$Good,
6622 A3($elm$core$String$slice, s0.offset, s1.offset, s0.src),
6628var $elm$parser$Parser$Advanced$getChompedString = function (parser) {
6629 return A2($elm$parser$Parser$Advanced$mapChompedString, $elm$core$Basics$always, parser);
6631var $elm$parser$Parser$getChompedString = $elm$parser$Parser$Advanced$getChompedString;
6632var $elm$parser$Parser$Problem = function (a) {
6633 return {$: 'Problem', a: a};
6635var $elm$parser$Parser$Advanced$problem = function (x) {
6636 return $elm$parser$Parser$Advanced$Parser(
6639 $elm$parser$Parser$Advanced$Bad,
6641 A2($elm$parser$Parser$Advanced$fromState, s, x));
6644var $elm$parser$Parser$problem = function (msg) {
6645 return $elm$parser$Parser$Advanced$problem(
6646 $elm$parser$Parser$Problem(msg));
6648var $elm$core$Basics$round = _Basics_round;
6649var $elm$parser$Parser$Advanced$succeed = function (a) {
6650 return $elm$parser$Parser$Advanced$Parser(
6652 return A3($elm$parser$Parser$Advanced$Good, false, a, s);
6655var $elm$parser$Parser$succeed = $elm$parser$Parser$Advanced$succeed;
6656var $elm$core$String$toFloat = _String_toFloat;
6657var $rtfeldman$elm_iso8601_date_strings$Iso8601$fractionsOfASecondInMs = A2(
6658 $elm$parser$Parser$andThen,
6660 if ($elm$core$String$length(str) <= 9) {
6661 var _v0 = $elm$core$String$toFloat('0.' + str);
6662 if (_v0.$ === 'Just') {
6663 var floatVal = _v0.a;
6664 return $elm$parser$Parser$succeed(
6665 $elm$core$Basics$round(floatVal * 1000));
6667 return $elm$parser$Parser$problem('Invalid float: \"' + (str + '\"'));
6670 return $elm$parser$Parser$problem(
6671 'Expected at most 9 digits, but got ' + $elm$core$String$fromInt(
6672 $elm$core$String$length(str)));
6675 $elm$parser$Parser$getChompedString(
6676 $elm$parser$Parser$chompWhile($elm$core$Char$isDigit)));
6677var $rtfeldman$elm_iso8601_date_strings$Iso8601$fromParts = F6(
6678 function (monthYearDayMs, hour, minute, second, ms, utcOffsetMinutes) {
6679 return $elm$time$Time$millisToPosix((((monthYearDayMs + (((hour * 60) * 60) * 1000)) + (((minute - utcOffsetMinutes) * 60) * 1000)) + (second * 1000)) + ms);
6681var $elm$parser$Parser$Advanced$map2 = F3(
6682 function (func, _v0, _v1) {
6685 return $elm$parser$Parser$Advanced$Parser(
6687 var _v2 = parseA(s0);
6688 if (_v2.$ === 'Bad') {
6691 return A2($elm$parser$Parser$Advanced$Bad, p, x);
6696 var _v3 = parseB(s1);
6697 if (_v3.$ === 'Bad') {
6700 return A2($elm$parser$Parser$Advanced$Bad, p1 || p2, x);
6706 $elm$parser$Parser$Advanced$Good,
6714var $elm$parser$Parser$Advanced$ignorer = F2(
6715 function (keepParser, ignoreParser) {
6716 return A3($elm$parser$Parser$Advanced$map2, $elm$core$Basics$always, keepParser, ignoreParser);
6718var $elm$parser$Parser$ignorer = $elm$parser$Parser$Advanced$ignorer;
6719var $elm$parser$Parser$Advanced$keeper = F2(
6720 function (parseFunc, parseArg) {
6721 return A3($elm$parser$Parser$Advanced$map2, $elm$core$Basics$apL, parseFunc, parseArg);
6723var $elm$parser$Parser$keeper = $elm$parser$Parser$Advanced$keeper;
6724var $elm$parser$Parser$Advanced$Append = F2(
6726 return {$: 'Append', a: a, b: b};
6728var $elm$parser$Parser$Advanced$oneOfHelp = F3(
6729 function (s0, bag, parsers) {
6733 return A2($elm$parser$Parser$Advanced$Bad, false, bag);
6735 var parse = parsers.a.a;
6736 var remainingParsers = parsers.b;
6737 var _v1 = parse(s0);
6738 if (_v1.$ === 'Good') {
6749 $temp$bag = A2($elm$parser$Parser$Advanced$Append, bag, x),
6750 $temp$parsers = remainingParsers;
6753 parsers = $temp$parsers;
6760var $elm$parser$Parser$Advanced$oneOf = function (parsers) {
6761 return $elm$parser$Parser$Advanced$Parser(
6763 return A3($elm$parser$Parser$Advanced$oneOfHelp, s, $elm$parser$Parser$Advanced$Empty, parsers);
6766var $elm$parser$Parser$oneOf = $elm$parser$Parser$Advanced$oneOf;
6767var $elm$parser$Parser$Done = function (a) {
6768 return {$: 'Done', a: a};
6770var $elm$parser$Parser$Loop = function (a) {
6771 return {$: 'Loop', a: a};
6773var $elm$core$String$append = _String_append;
6774var $elm$parser$Parser$UnexpectedChar = {$: 'UnexpectedChar'};
6775var $elm$parser$Parser$Advanced$chompIf = F2(
6776 function (isGood, expecting) {
6777 return $elm$parser$Parser$Advanced$Parser(
6779 var newOffset = A3($elm$parser$Parser$Advanced$isSubChar, isGood, s.offset, s.src);
6780 return _Utils_eq(newOffset, -1) ? A2(
6781 $elm$parser$Parser$Advanced$Bad,
6783 A2($elm$parser$Parser$Advanced$fromState, s, expecting)) : (_Utils_eq(newOffset, -2) ? A3(
6784 $elm$parser$Parser$Advanced$Good,
6787 {col: 1, context: s.context, indent: s.indent, offset: s.offset + 1, row: s.row + 1, src: s.src}) : A3(
6788 $elm$parser$Parser$Advanced$Good,
6791 {col: s.col + 1, context: s.context, indent: s.indent, offset: newOffset, row: s.row, src: s.src}));
6794var $elm$parser$Parser$chompIf = function (isGood) {
6795 return A2($elm$parser$Parser$Advanced$chompIf, isGood, $elm$parser$Parser$UnexpectedChar);
6797var $elm$parser$Parser$Advanced$loopHelp = F4(
6798 function (p, state, callback, s0) {
6801 var _v0 = callback(state);
6803 var _v1 = parse(s0);
6804 if (_v1.$ === 'Good') {
6808 if (step.$ === 'Loop') {
6809 var newState = step.a;
6810 var $temp$p = p || p1,
6811 $temp$state = newState,
6812 $temp$callback = callback,
6815 state = $temp$state;
6816 callback = $temp$callback;
6820 var result = step.a;
6821 return A3($elm$parser$Parser$Advanced$Good, p || p1, result, s1);
6826 return A2($elm$parser$Parser$Advanced$Bad, p || p1, x);
6830var $elm$parser$Parser$Advanced$loop = F2(
6831 function (state, callback) {
6832 return $elm$parser$Parser$Advanced$Parser(
6834 return A4($elm$parser$Parser$Advanced$loopHelp, false, state, callback, s);
6837var $elm$parser$Parser$Advanced$map = F2(
6838 function (func, _v0) {
6840 return $elm$parser$Parser$Advanced$Parser(
6842 var _v1 = parse(s0);
6843 if (_v1.$ === 'Good') {
6848 $elm$parser$Parser$Advanced$Good,
6855 return A2($elm$parser$Parser$Advanced$Bad, p, x);
6859var $elm$parser$Parser$map = $elm$parser$Parser$Advanced$map;
6860var $elm$parser$Parser$Advanced$Done = function (a) {
6861 return {$: 'Done', a: a};
6863var $elm$parser$Parser$Advanced$Loop = function (a) {
6864 return {$: 'Loop', a: a};
6866var $elm$parser$Parser$toAdvancedStep = function (step) {
6867 if (step.$ === 'Loop') {
6869 return $elm$parser$Parser$Advanced$Loop(s);
6872 return $elm$parser$Parser$Advanced$Done(a);
6875var $elm$parser$Parser$loop = F2(
6876 function (state, callback) {
6878 $elm$parser$Parser$Advanced$loop,
6882 $elm$parser$Parser$map,
6883 $elm$parser$Parser$toAdvancedStep,
6887var $rtfeldman$elm_iso8601_date_strings$Iso8601$paddedInt = function (quantity) {
6888 var helper = function (str) {
6890 $elm$core$String$length(str),
6892 var _v0 = $elm$core$String$toInt(str);
6893 if (_v0.$ === 'Just') {
6896 $elm$parser$Parser$map,
6897 $elm$parser$Parser$Done,
6898 $elm$parser$Parser$succeed(intVal));
6900 return $elm$parser$Parser$problem('Invalid integer: \"' + (str + '\"'));
6904 $elm$parser$Parser$map,
6905 function (nextChar) {
6906 return $elm$parser$Parser$Loop(
6907 A2($elm$core$String$append, str, nextChar));
6909 $elm$parser$Parser$getChompedString(
6910 $elm$parser$Parser$chompIf($elm$core$Char$isDigit)));
6913 return A2($elm$parser$Parser$loop, '', helper);
6915var $elm$parser$Parser$ExpectingSymbol = function (a) {
6916 return {$: 'ExpectingSymbol', a: a};
6918var $elm$parser$Parser$Advanced$Token = F2(
6920 return {$: 'Token', a: a, b: b};
6922var $elm$parser$Parser$Advanced$isSubString = _Parser_isSubString;
6923var $elm$core$Basics$not = _Basics_not;
6924var $elm$parser$Parser$Advanced$token = function (_v0) {
6926 var expecting = _v0.b;
6927 var progress = !$elm$core$String$isEmpty(str);
6928 return $elm$parser$Parser$Advanced$Parser(
6930 var _v1 = A5($elm$parser$Parser$Advanced$isSubString, str, s.offset, s.row, s.col, s.src);
6931 var newOffset = _v1.a;
6934 return _Utils_eq(newOffset, -1) ? A2(
6935 $elm$parser$Parser$Advanced$Bad,
6937 A2($elm$parser$Parser$Advanced$fromState, s, expecting)) : A3(
6938 $elm$parser$Parser$Advanced$Good,
6941 {col: newCol, context: s.context, indent: s.indent, offset: newOffset, row: newRow, src: s.src});
6944var $elm$parser$Parser$Advanced$symbol = $elm$parser$Parser$Advanced$token;
6945var $elm$parser$Parser$symbol = function (str) {
6946 return $elm$parser$Parser$Advanced$symbol(
6948 $elm$parser$Parser$Advanced$Token,
6950 $elm$parser$Parser$ExpectingSymbol(str)));
6952var $rtfeldman$elm_iso8601_date_strings$Iso8601$epochYear = 1970;
6953var $rtfeldman$elm_iso8601_date_strings$Iso8601$invalidDay = function (day) {
6954 return $elm$parser$Parser$problem(
6955 'Invalid day: ' + $elm$core$String$fromInt(day));
6957var $elm$core$Basics$modBy = _Basics_modBy;
6958var $elm$core$Basics$neq = _Utils_notEqual;
6959var $rtfeldman$elm_iso8601_date_strings$Iso8601$isLeapYear = function (year) {
6960 return (!A2($elm$core$Basics$modBy, 4, year)) && ((!(!A2($elm$core$Basics$modBy, 100, year))) || (!A2($elm$core$Basics$modBy, 400, year)));
6962var $rtfeldman$elm_iso8601_date_strings$Iso8601$leapYearsBefore = function (y1) {
6964 return (((y / 4) | 0) - ((y / 100) | 0)) + ((y / 400) | 0);
6966var $rtfeldman$elm_iso8601_date_strings$Iso8601$msPerDay = 86400000;
6967var $rtfeldman$elm_iso8601_date_strings$Iso8601$msPerYear = 31536000000;
6968var $rtfeldman$elm_iso8601_date_strings$Iso8601$yearMonthDay = function (_v0) {
6971 var dayInMonth = _v0.c;
6972 if (dayInMonth < 0) {
6973 return $rtfeldman$elm_iso8601_date_strings$Iso8601$invalidDay(dayInMonth);
6975 var succeedWith = function (extraMs) {
6976 var yearMs = $rtfeldman$elm_iso8601_date_strings$Iso8601$msPerYear * (year - $rtfeldman$elm_iso8601_date_strings$Iso8601$epochYear);
6977 var days = ((month < 3) || (!$rtfeldman$elm_iso8601_date_strings$Iso8601$isLeapYear(year))) ? (dayInMonth - 1) : dayInMonth;
6978 var dayMs = $rtfeldman$elm_iso8601_date_strings$Iso8601$msPerDay * (days + ($rtfeldman$elm_iso8601_date_strings$Iso8601$leapYearsBefore(year) - $rtfeldman$elm_iso8601_date_strings$Iso8601$leapYearsBefore($rtfeldman$elm_iso8601_date_strings$Iso8601$epochYear)));
6979 return $elm$parser$Parser$succeed((extraMs + yearMs) + dayMs);
6983 return (dayInMonth > 31) ? $rtfeldman$elm_iso8601_date_strings$Iso8601$invalidDay(dayInMonth) : succeedWith(0);
6985 return ((dayInMonth > 29) || ((dayInMonth === 29) && (!$rtfeldman$elm_iso8601_date_strings$Iso8601$isLeapYear(year)))) ? $rtfeldman$elm_iso8601_date_strings$Iso8601$invalidDay(dayInMonth) : succeedWith(2678400000);
6987 return (dayInMonth > 31) ? $rtfeldman$elm_iso8601_date_strings$Iso8601$invalidDay(dayInMonth) : succeedWith(5097600000);
6989 return (dayInMonth > 30) ? $rtfeldman$elm_iso8601_date_strings$Iso8601$invalidDay(dayInMonth) : succeedWith(7776000000);
6991 return (dayInMonth > 31) ? $rtfeldman$elm_iso8601_date_strings$Iso8601$invalidDay(dayInMonth) : succeedWith(10368000000);
6993 return (dayInMonth > 30) ? $rtfeldman$elm_iso8601_date_strings$Iso8601$invalidDay(dayInMonth) : succeedWith(13046400000);
6995 return (dayInMonth > 31) ? $rtfeldman$elm_iso8601_date_strings$Iso8601$invalidDay(dayInMonth) : succeedWith(15638400000);
6997 return (dayInMonth > 31) ? $rtfeldman$elm_iso8601_date_strings$Iso8601$invalidDay(dayInMonth) : succeedWith(18316800000);
6999 return (dayInMonth > 30) ? $rtfeldman$elm_iso8601_date_strings$Iso8601$invalidDay(dayInMonth) : succeedWith(20995200000);
7001 return (dayInMonth > 31) ? $rtfeldman$elm_iso8601_date_strings$Iso8601$invalidDay(dayInMonth) : succeedWith(23587200000);
7003 return (dayInMonth > 30) ? $rtfeldman$elm_iso8601_date_strings$Iso8601$invalidDay(dayInMonth) : succeedWith(26265600000);
7005 return (dayInMonth > 31) ? $rtfeldman$elm_iso8601_date_strings$Iso8601$invalidDay(dayInMonth) : succeedWith(28857600000);
7007 return $elm$parser$Parser$problem(
7008 'Invalid month: \"' + ($elm$core$String$fromInt(month) + '\"'));
7012var $rtfeldman$elm_iso8601_date_strings$Iso8601$monthYearDayInMs = A2(
7013 $elm$parser$Parser$andThen,
7014 $rtfeldman$elm_iso8601_date_strings$Iso8601$yearMonthDay,
7016 $elm$parser$Parser$keeper,
7018 $elm$parser$Parser$keeper,
7020 $elm$parser$Parser$keeper,
7021 $elm$parser$Parser$succeed(
7023 function (year, month, day) {
7024 return _Utils_Tuple3(year, month, day);
7026 $rtfeldman$elm_iso8601_date_strings$Iso8601$paddedInt(4)),
7027 $elm$parser$Parser$oneOf(
7031 $elm$parser$Parser$keeper,
7033 $elm$parser$Parser$ignorer,
7034 $elm$parser$Parser$succeed($elm$core$Basics$identity),
7035 $elm$parser$Parser$symbol('-')),
7036 $rtfeldman$elm_iso8601_date_strings$Iso8601$paddedInt(2)),
7037 $rtfeldman$elm_iso8601_date_strings$Iso8601$paddedInt(2)
7039 $elm$parser$Parser$oneOf(
7043 $elm$parser$Parser$keeper,
7045 $elm$parser$Parser$ignorer,
7046 $elm$parser$Parser$succeed($elm$core$Basics$identity),
7047 $elm$parser$Parser$symbol('-')),
7048 $rtfeldman$elm_iso8601_date_strings$Iso8601$paddedInt(2)),
7049 $rtfeldman$elm_iso8601_date_strings$Iso8601$paddedInt(2)
7051var $rtfeldman$elm_iso8601_date_strings$Iso8601$utcOffsetInMinutes = function () {
7052 var utcOffsetMinutesFromParts = F3(
7053 function (multiplier, hours, minutes) {
7054 return (multiplier * (hours * 60)) + minutes;
7057 $elm$parser$Parser$keeper,
7058 $elm$parser$Parser$succeed($elm$core$Basics$identity),
7059 $elm$parser$Parser$oneOf(
7063 $elm$parser$Parser$map,
7067 $elm$parser$Parser$symbol('Z')),
7069 $elm$parser$Parser$keeper,
7071 $elm$parser$Parser$keeper,
7073 $elm$parser$Parser$keeper,
7074 $elm$parser$Parser$succeed(utcOffsetMinutesFromParts),
7075 $elm$parser$Parser$oneOf(
7079 $elm$parser$Parser$map,
7083 $elm$parser$Parser$symbol('+')),
7085 $elm$parser$Parser$map,
7089 $elm$parser$Parser$symbol('-'))
7091 $rtfeldman$elm_iso8601_date_strings$Iso8601$paddedInt(2)),
7092 $elm$parser$Parser$oneOf(
7096 $elm$parser$Parser$keeper,
7098 $elm$parser$Parser$ignorer,
7099 $elm$parser$Parser$succeed($elm$core$Basics$identity),
7100 $elm$parser$Parser$symbol(':')),
7101 $rtfeldman$elm_iso8601_date_strings$Iso8601$paddedInt(2)),
7102 $rtfeldman$elm_iso8601_date_strings$Iso8601$paddedInt(2),
7103 $elm$parser$Parser$succeed(0)
7106 $elm$parser$Parser$ignorer,
7107 $elm$parser$Parser$succeed(0),
7108 $elm$parser$Parser$end)
7111var $rtfeldman$elm_iso8601_date_strings$Iso8601$iso8601 = A2(
7112 $elm$parser$Parser$andThen,
7113 function (datePart) {
7114 return $elm$parser$Parser$oneOf(
7118 $elm$parser$Parser$keeper,
7120 $elm$parser$Parser$keeper,
7122 $elm$parser$Parser$keeper,
7124 $elm$parser$Parser$keeper,
7126 $elm$parser$Parser$keeper,
7128 $elm$parser$Parser$ignorer,
7129 $elm$parser$Parser$succeed(
7130 $rtfeldman$elm_iso8601_date_strings$Iso8601$fromParts(datePart)),
7131 $elm$parser$Parser$symbol('T')),
7132 $rtfeldman$elm_iso8601_date_strings$Iso8601$paddedInt(2)),
7133 $elm$parser$Parser$oneOf(
7137 $elm$parser$Parser$keeper,
7139 $elm$parser$Parser$ignorer,
7140 $elm$parser$Parser$succeed($elm$core$Basics$identity),
7141 $elm$parser$Parser$symbol(':')),
7142 $rtfeldman$elm_iso8601_date_strings$Iso8601$paddedInt(2)),
7143 $rtfeldman$elm_iso8601_date_strings$Iso8601$paddedInt(2)
7145 $elm$parser$Parser$oneOf(
7149 $elm$parser$Parser$keeper,
7151 $elm$parser$Parser$ignorer,
7152 $elm$parser$Parser$succeed($elm$core$Basics$identity),
7153 $elm$parser$Parser$symbol(':')),
7154 $rtfeldman$elm_iso8601_date_strings$Iso8601$paddedInt(2)),
7155 $rtfeldman$elm_iso8601_date_strings$Iso8601$paddedInt(2),
7156 $elm$parser$Parser$succeed(0)
7158 $elm$parser$Parser$oneOf(
7162 $elm$parser$Parser$keeper,
7164 $elm$parser$Parser$ignorer,
7165 $elm$parser$Parser$succeed($elm$core$Basics$identity),
7166 $elm$parser$Parser$symbol('.')),
7167 $rtfeldman$elm_iso8601_date_strings$Iso8601$fractionsOfASecondInMs),
7168 $elm$parser$Parser$succeed(0)
7170 A2($elm$parser$Parser$ignorer, $rtfeldman$elm_iso8601_date_strings$Iso8601$utcOffsetInMinutes, $elm$parser$Parser$end)),
7172 $elm$parser$Parser$ignorer,
7173 $elm$parser$Parser$succeed(
7174 A6($rtfeldman$elm_iso8601_date_strings$Iso8601$fromParts, datePart, 0, 0, 0, 0, 0)),
7175 $elm$parser$Parser$end)
7178 $rtfeldman$elm_iso8601_date_strings$Iso8601$monthYearDayInMs);
7179var $elm$parser$Parser$DeadEnd = F3(
7180 function (row, col, problem) {
7181 return {col: col, problem: problem, row: row};
7183var $elm$parser$Parser$problemToDeadEnd = function (p) {
7184 return A3($elm$parser$Parser$DeadEnd, p.row, p.col, p.problem);
7186var $elm$parser$Parser$Advanced$bagToList = F2(
7187 function (bag, list) {
7196 var $temp$bag = bag1,
7197 $temp$list = A2($elm$core$List$cons, x, list);
7204 var $temp$bag = bag1,
7205 $temp$list = A2($elm$parser$Parser$Advanced$bagToList, bag2, list);
7212var $elm$parser$Parser$Advanced$run = F2(
7213 function (_v0, src) {
7216 {col: 1, context: _List_Nil, indent: 1, offset: 0, row: 1, src: src});
7217 if (_v1.$ === 'Good') {
7219 return $elm$core$Result$Ok(value);
7222 return $elm$core$Result$Err(
7223 A2($elm$parser$Parser$Advanced$bagToList, bag, _List_Nil));
7226var $elm$parser$Parser$run = F2(
7227 function (parser, source) {
7228 var _v0 = A2($elm$parser$Parser$Advanced$run, parser, source);
7229 if (_v0.$ === 'Ok') {
7231 return $elm$core$Result$Ok(a);
7233 var problems = _v0.a;
7234 return $elm$core$Result$Err(
7235 A2($elm$core$List$map, $elm$parser$Parser$problemToDeadEnd, problems));
7238var $rtfeldman$elm_iso8601_date_strings$Iso8601$toTime = function (str) {
7239 return A2($elm$parser$Parser$run, $rtfeldman$elm_iso8601_date_strings$Iso8601$iso8601, str);
7241var $elm_community$json_extra$Json$Decode$Extra$datetime = A2(
7242 $elm$json$Json$Decode$andThen,
7243 function (dateString) {
7244 var _v0 = $rtfeldman$elm_iso8601_date_strings$Iso8601$toTime(dateString);
7245 if (_v0.$ === 'Ok') {
7247 return $elm$json$Json$Decode$succeed(v);
7249 return $elm$json$Json$Decode$fail('Expecting an ISO-8601 formatted date+time string');
7252 $elm$json$Json$Decode$string);
7253var $author$project$Types$Deployment$DeploymentName = function (a) {
7254 return {$: 'DeploymentName', a: a};
7256var $author$project$Types$Deployment$Info = F3(
7257 function (name, appOverrides, deploymentOverrides) {
7258 return {appOverrides: appOverrides, deploymentOverrides: deploymentOverrides, name: name};
7260var $elm$json$Json$Decode$list = _Json_decodeList;
7261var $author$project$Types$Override$Override = F2(
7262 function (name, value) {
7263 return {name: name, value: value};
7265var $author$project$Types$Override$OverrideName = function (a) {
7266 return {$: 'OverrideName', a: a};
7268var $author$project$Types$Override$OverrideName_ = function (a) {
7269 return {$: 'OverrideName_', a: a};
7271var $author$project$Types$Override$OverrideValue_ = function (a) {
7272 return {$: 'OverrideValue_', a: a};
7274var $author$project$Types$Override$ValueAdded = function (a) {
7275 return {$: 'ValueAdded', a: a};
7277var $author$project$Types$Override$ValueDeleted = {$: 'ValueDeleted'};
7278var $elm$json$Json$Decode$maybe = function (decoder) {
7279 return $elm$json$Json$Decode$oneOf(
7282 A2($elm$json$Json$Decode$map, $elm$core$Maybe$Just, decoder),
7283 $elm$json$Json$Decode$succeed($elm$core$Maybe$Nothing)
7286var $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$custom = $elm$json$Json$Decode$map2($elm$core$Basics$apR);
7287var $elm$json$Json$Decode$at = F2(
7288 function (fields, decoder) {
7289 return A3($elm$core$List$foldr, $elm$json$Json$Decode$field, decoder, fields);
7291var $elm$json$Json$Decode$decodeValue = _Json_run;
7292var $elm$json$Json$Decode$null = _Json_decodeNull;
7293var $elm$json$Json$Decode$value = _Json_decodeValue;
7294var $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$optionalDecoder = F3(
7295 function (path, valDecoder, fallback) {
7296 var nullOr = function (decoder) {
7297 return $elm$json$Json$Decode$oneOf(
7301 $elm$json$Json$Decode$null(fallback)
7304 var handleResult = function (input) {
7306 $elm$json$Json$Decode$decodeValue,
7307 A2($elm$json$Json$Decode$at, path, $elm$json$Json$Decode$value),
7309 if (_v0.$ === 'Ok') {
7310 var rawValue = _v0.a;
7312 $elm$json$Json$Decode$decodeValue,
7315 if (_v1.$ === 'Ok') {
7316 var finalResult = _v1.a;
7317 return $elm$json$Json$Decode$succeed(finalResult);
7320 $elm$json$Json$Decode$at,
7322 nullOr(valDecoder));
7325 return $elm$json$Json$Decode$succeed(fallback);
7328 return A2($elm$json$Json$Decode$andThen, handleResult, $elm$json$Json$Decode$value);
7330var $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$optional = F4(
7331 function (key, valDecoder, fallback, decoder) {
7333 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$custom,
7335 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$optionalDecoder,
7342var $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required = F3(
7343 function (key, valDecoder, decoder) {
7345 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$custom,
7346 A2($elm$json$Json$Decode$field, key, valDecoder),
7349var $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$resolve = $elm$json$Json$Decode$andThen($elm$core$Basics$identity);
7350var $author$project$Types$Override$overrideValueDecoder = function () {
7352 function (tag, contents) {
7353 var _v0 = _Utils_Tuple2(tag, contents);
7357 case 'ValueDeleted':
7358 return $elm$json$Json$Decode$succeed($author$project$Types$Override$ValueDeleted);
7360 if (_v0.b.$ === 'Just') {
7361 var value = _v0.b.a;
7362 return $elm$json$Json$Decode$succeed(
7363 $author$project$Types$Override$ValueAdded(value));
7371 return $elm$json$Json$Decode$fail('Unknown DeploymentStatus: ' + tag);
7373 return $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$resolve(
7375 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$optional,
7377 $elm$json$Json$Decode$maybe($elm$json$Json$Decode$string),
7378 $elm$core$Maybe$Nothing,
7380 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
7382 $elm$json$Json$Decode$string,
7383 $elm$json$Json$Decode$succeed(toDecoder))));
7385var $author$project$Types$Override$overrideDecoder = function () {
7386 var overrideHelperDecoder = $elm$json$Json$Decode$list(
7387 $elm$json$Json$Decode$oneOf(
7390 A2($elm$json$Json$Decode$map, $author$project$Types$Override$OverrideName_, $elm$json$Json$Decode$string),
7391 A2($elm$json$Json$Decode$map, $author$project$Types$Override$OverrideValue_, $author$project$Types$Override$overrideValueDecoder)
7393 var listDecoder = function (vals) {
7397 if (vals.a.$ === 'OverrideName_') {
7398 if ((vals.b.b && (vals.b.a.$ === 'OverrideValue_')) && (!vals.b.b.b)) {
7399 var name = vals.a.a;
7402 return $elm$json$Json$Decode$succeed(
7404 $author$project$Types$Override$Override,
7405 $author$project$Types$Override$OverrideName(name),
7411 if ((vals.b.b && (vals.b.a.$ === 'OverrideName_')) && (!vals.b.b.b)) {
7415 return $elm$json$Json$Decode$succeed(
7417 $author$project$Types$Override$Override,
7418 $author$project$Types$Override$OverrideName(name),
7428 return $elm$json$Json$Decode$fail('Unknown override');
7430 return A2($elm$json$Json$Decode$andThen, listDecoder, overrideHelperDecoder);
7432var $author$project$Types$Deployment$infoDecoder = A3(
7433 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
7434 'deployment_overrides',
7435 $elm$json$Json$Decode$list($author$project$Types$Override$overrideDecoder),
7437 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
7439 $elm$json$Json$Decode$list($author$project$Types$Override$overrideDecoder),
7441 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
7443 A2($elm$json$Json$Decode$map, $author$project$Types$Deployment$DeploymentName, $elm$json$Json$Decode$string),
7444 $elm$json$Json$Decode$succeed($author$project$Types$Deployment$Info))));
7445var $author$project$Types$Deployment$Metadata = F2(
7446 function (name, link) {
7447 return {link: link, name: name};
7449var $author$project$Types$Deployment$metadataDecoder = A3(
7450 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
7452 $elm$json$Json$Decode$string,
7454 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
7456 $elm$json$Json$Decode$string,
7457 $elm$json$Json$Decode$succeed($author$project$Types$Deployment$Metadata)));
7458var $author$project$Types$Deployment$DeploymentNotPending = function (a) {
7459 return {$: 'DeploymentNotPending', a: a};
7461var $author$project$Types$Deployment$DeploymentPending = function (a) {
7462 return {$: 'DeploymentPending', a: a};
7464var $author$project$Types$Deployment$ArchivePending = {$: 'ArchivePending'};
7465var $author$project$Types$Deployment$Archived = {$: 'Archived'};
7466var $author$project$Types$Deployment$CleanupFailed = {$: 'CleanupFailed'};
7467var $author$project$Types$Deployment$CreatePending = {$: 'CreatePending'};
7468var $author$project$Types$Deployment$Failure = function (a) {
7469 return {$: 'Failure', a: a};
7471var $author$project$Types$Deployment$Running = {$: 'Running'};
7472var $author$project$Types$Deployment$UpdatePending = {$: 'UpdatePending'};
7473var $author$project$Types$Deployment$GenericFailure = {$: 'GenericFailure'};
7474var $author$project$Types$Deployment$PartialAvailability = {$: 'PartialAvailability'};
7475var $author$project$Types$Deployment$TagMismatch = {$: 'TagMismatch'};
7476var $author$project$Types$Deployment$failureTypeDecoder = function () {
7477 var tagDecoder = function (tag) {
7479 case 'GenericFailure':
7480 return $elm$json$Json$Decode$succeed($author$project$Types$Deployment$GenericFailure);
7481 case 'PartialAvailability':
7482 return $elm$json$Json$Decode$succeed($author$project$Types$Deployment$PartialAvailability);
7484 return $elm$json$Json$Decode$succeed($author$project$Types$Deployment$TagMismatch);
7486 return $elm$json$Json$Decode$fail('Unknown FailureType: ' + tag);
7489 return A2($elm$json$Json$Decode$andThen, tagDecoder, $elm$json$Json$Decode$string);
7491var $author$project$Types$Deployment$deploymentStatusDecoder = function () {
7493 function (tag, contents) {
7494 var _v0 = _Utils_Tuple2(tag, contents);
7499 return $elm$json$Json$Decode$succeed($author$project$Types$Deployment$Running);
7500 case 'CreatePending':
7501 return $elm$json$Json$Decode$succeed($author$project$Types$Deployment$CreatePending);
7502 case 'UpdatePending':
7503 return $elm$json$Json$Decode$succeed($author$project$Types$Deployment$UpdatePending);
7504 case 'ArchivePending':
7505 return $elm$json$Json$Decode$succeed($author$project$Types$Deployment$ArchivePending);
7507 return $elm$json$Json$Decode$succeed($author$project$Types$Deployment$Archived);
7508 case 'CleanupFailed':
7509 return $elm$json$Json$Decode$succeed($author$project$Types$Deployment$CleanupFailed);
7511 if (_v0.b.$ === 'Just') {
7512 var failureType = _v0.b.a;
7513 return $elm$json$Json$Decode$succeed(
7514 $author$project$Types$Deployment$Failure(failureType));
7522 return $elm$json$Json$Decode$fail('Unknown DeploymentStatus: ' + tag);
7524 return $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$resolve(
7526 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$optional,
7528 $elm$json$Json$Decode$maybe($author$project$Types$Deployment$failureTypeDecoder),
7529 $elm$core$Maybe$Nothing,
7531 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
7533 $elm$json$Json$Decode$string,
7534 $elm$json$Json$Decode$succeed(toDecoder))));
7536var $author$project$Types$Deployment$statusDecoder = function () {
7538 function (tag, contents) {
7540 case 'DeploymentNotPending':
7541 return $elm$json$Json$Decode$succeed(
7542 $author$project$Types$Deployment$DeploymentNotPending(contents));
7543 case 'DeploymentPending':
7544 return $elm$json$Json$Decode$succeed(
7545 $author$project$Types$Deployment$DeploymentPending(contents));
7547 return $elm$json$Json$Decode$fail('Unknown Status: ' + tag);
7550 return $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$resolve(
7552 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
7554 $author$project$Types$Deployment$deploymentStatusDecoder,
7556 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
7558 $elm$json$Json$Decode$string,
7559 $elm$json$Json$Decode$succeed(toDecoder))));
7561var $author$project$Types$Deployment$deploymentDecoder = A3(
7562 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
7564 $elm_community$json_extra$Json$Decode$Extra$datetime,
7566 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
7568 $elm_community$json_extra$Json$Decode$Extra$datetime,
7570 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
7572 $elm$json$Json$Decode$list($author$project$Types$Deployment$metadataDecoder),
7574 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
7576 $author$project$Types$Deployment$statusDecoder,
7578 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
7580 $author$project$Types$Deployment$infoDecoder,
7581 $elm$json$Json$Decode$succeed($author$project$Types$Deployment$Deployment))))));
7582var $author$project$Types$Deployment$unDeploymentName = function (_v0) {
7586var $author$project$Api$Endpoint$Endpoint = function (a) {
7587 return {$: 'Endpoint', a: a};
7589var $elm$url$Url$Builder$toQueryPair = function (_v0) {
7592 return key + ('=' + value);
7594var $elm$url$Url$Builder$toQuery = function (parameters) {
7595 if (!parameters.b) {
7599 $elm$core$String$join,
7601 A2($elm$core$List$map, $elm$url$Url$Builder$toQueryPair, parameters));
7604var $elm$url$Url$Builder$crossOrigin = F3(
7605 function (prePath, pathSegments, parameters) {
7606 return prePath + ('/' + (A2($elm$core$String$join, '/', pathSegments) + $elm$url$Url$Builder$toQuery(parameters)));
7608var $author$project$Config$unwrapAppUrl = function (_v0) {
7612var $author$project$Api$Endpoint$url = F3(
7613 function (mAppUrl, paths, queryParams) {
7614 if (mAppUrl.$ === 'Just') {
7615 var appUrl = mAppUrl.a;
7616 return $author$project$Api$Endpoint$Endpoint(
7618 $elm$url$Url$Builder$crossOrigin,
7619 $author$project$Config$unwrapAppUrl(appUrl),
7623 return $author$project$Api$Endpoint$Endpoint(
7624 A3($elm$url$Url$Builder$crossOrigin, 'localhost:3000', paths, queryParams));
7627var $author$project$Api$Endpoint$deploymentFullInfo = F2(
7628 function (deploymentName, appUrl) {
7630 $author$project$Api$Endpoint$url,
7631 $elm$core$Maybe$Just(appUrl),
7637 $author$project$Types$Deployment$unDeploymentName(deploymentName),
7642var $krisajenkins$remotedata$RemoteData$Failure = function (a) {
7643 return {$: 'Failure', a: a};
7645var $krisajenkins$remotedata$RemoteData$Success = function (a) {
7646 return {$: 'Success', a: a};
7648var $krisajenkins$remotedata$RemoteData$fromResult = function (result) {
7649 if (result.$ === 'Err') {
7651 return $krisajenkins$remotedata$RemoteData$Failure(e);
7654 return $krisajenkins$remotedata$RemoteData$Success(x);
7657var $elm$http$Http$Header = F2(
7659 return {$: 'Header', a: a, b: b};
7661var $elm$http$Http$header = $elm$http$Http$Header;
7662var $author$project$Api$authHeader = function (_v0) {
7663 var appAuth = _v0.a;
7664 return A2($elm$http$Http$header, 'authorization', appAuth);
7666var $elm$http$Http$BadStatus_ = F2(
7668 return {$: 'BadStatus_', a: a, b: b};
7670var $elm$http$Http$BadUrl_ = function (a) {
7671 return {$: 'BadUrl_', a: a};
7673var $elm$http$Http$GoodStatus_ = F2(
7675 return {$: 'GoodStatus_', a: a, b: b};
7677var $elm$http$Http$NetworkError_ = {$: 'NetworkError_'};
7678var $elm$http$Http$Receiving = function (a) {
7679 return {$: 'Receiving', a: a};
7681var $elm$http$Http$Sending = function (a) {
7682 return {$: 'Sending', a: a};
7684var $elm$http$Http$Timeout_ = {$: 'Timeout_'};
7685var $elm$core$Maybe$isJust = function (maybe) {
7686 if (maybe.$ === 'Just') {
7692var $elm$core$Dict$getMin = function (dict) {
7695 if ((dict.$ === 'RBNode_elm_builtin') && (dict.d.$ === 'RBNode_elm_builtin')) {
7697 var $temp$dict = left;
7705var $elm$core$Dict$moveRedLeft = function (dict) {
7706 if (((dict.$ === 'RBNode_elm_builtin') && (dict.d.$ === 'RBNode_elm_builtin')) && (dict.e.$ === 'RBNode_elm_builtin')) {
7707 if ((dict.e.d.$ === 'RBNode_elm_builtin') && (dict.e.d.a.$ === 'Red')) {
7729 $elm$core$Dict$RBNode_elm_builtin,
7734 $elm$core$Dict$RBNode_elm_builtin,
7735 $elm$core$Dict$Black,
7738 A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),
7740 A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, rK, rV, rlR, rRight));
7757 if (clr.$ === 'Black') {
7759 $elm$core$Dict$RBNode_elm_builtin,
7760 $elm$core$Dict$Black,
7763 A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),
7764 A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight));
7767 $elm$core$Dict$RBNode_elm_builtin,
7768 $elm$core$Dict$Black,
7771 A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),
7772 A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight));
7779var $elm$core$Dict$moveRedRight = function (dict) {
7780 if (((dict.$ === 'RBNode_elm_builtin') && (dict.d.$ === 'RBNode_elm_builtin')) && (dict.e.$ === 'RBNode_elm_builtin')) {
7781 if ((dict.d.d.$ === 'RBNode_elm_builtin') && (dict.d.d.a.$ === 'Red')) {
7794 var llRight = _v2.e;
7803 $elm$core$Dict$RBNode_elm_builtin,
7807 A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, llK, llV, llLeft, llRight),
7809 $elm$core$Dict$RBNode_elm_builtin,
7810 $elm$core$Dict$Black,
7814 A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight)));
7831 if (clr.$ === 'Black') {
7833 $elm$core$Dict$RBNode_elm_builtin,
7834 $elm$core$Dict$Black,
7837 A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),
7838 A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight));
7841 $elm$core$Dict$RBNode_elm_builtin,
7842 $elm$core$Dict$Black,
7845 A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),
7846 A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight));
7853var $elm$core$Dict$removeHelpPrepEQGT = F7(
7854 function (targetKey, dict, color, key, value, left, right) {
7855 if ((left.$ === 'RBNode_elm_builtin') && (left.a.$ === 'Red')) {
7860 var lRight = left.e;
7862 $elm$core$Dict$RBNode_elm_builtin,
7867 A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, key, value, lRight, right));
7871 if ((right.$ === 'RBNode_elm_builtin') && (right.a.$ === 'Black')) {
7872 if (right.d.$ === 'RBNode_elm_builtin') {
7873 if (right.d.a.$ === 'Black') {
7877 return $elm$core$Dict$moveRedRight(dict);
7884 return $elm$core$Dict$moveRedRight(dict);
7893var $elm$core$Dict$removeMin = function (dict) {
7894 if ((dict.$ === 'RBNode_elm_builtin') && (dict.d.$ === 'RBNode_elm_builtin')) {
7899 var lColor = left.a;
7902 if (lColor.$ === 'Black') {
7903 if ((lLeft.$ === 'RBNode_elm_builtin') && (lLeft.a.$ === 'Red')) {
7906 $elm$core$Dict$RBNode_elm_builtin,
7910 $elm$core$Dict$removeMin(left),
7913 var _v4 = $elm$core$Dict$moveRedLeft(dict);
7914 if (_v4.$ === 'RBNode_elm_builtin') {
7921 $elm$core$Dict$balance,
7925 $elm$core$Dict$removeMin(nLeft),
7928 return $elm$core$Dict$RBEmpty_elm_builtin;
7933 $elm$core$Dict$RBNode_elm_builtin,
7937 $elm$core$Dict$removeMin(left),
7941 return $elm$core$Dict$RBEmpty_elm_builtin;
7944var $elm$core$Dict$removeHelp = F2(
7945 function (targetKey, dict) {
7946 if (dict.$ === 'RBEmpty_elm_builtin') {
7947 return $elm$core$Dict$RBEmpty_elm_builtin;
7954 if (_Utils_cmp(targetKey, key) < 0) {
7955 if ((left.$ === 'RBNode_elm_builtin') && (left.a.$ === 'Black')) {
7958 if ((lLeft.$ === 'RBNode_elm_builtin') && (lLeft.a.$ === 'Red')) {
7961 $elm$core$Dict$RBNode_elm_builtin,
7965 A2($elm$core$Dict$removeHelp, targetKey, left),
7968 var _v7 = $elm$core$Dict$moveRedLeft(dict);
7969 if (_v7.$ === 'RBNode_elm_builtin') {
7976 $elm$core$Dict$balance,
7980 A2($elm$core$Dict$removeHelp, targetKey, nLeft),
7983 return $elm$core$Dict$RBEmpty_elm_builtin;
7988 $elm$core$Dict$RBNode_elm_builtin,
7992 A2($elm$core$Dict$removeHelp, targetKey, left),
7997 $elm$core$Dict$removeHelpEQGT,
7999 A7($elm$core$Dict$removeHelpPrepEQGT, targetKey, dict, color, key, value, left, right));
8003var $elm$core$Dict$removeHelpEQGT = F2(
8004 function (targetKey, dict) {
8005 if (dict.$ === 'RBNode_elm_builtin') {
8011 if (_Utils_eq(targetKey, key)) {
8012 var _v1 = $elm$core$Dict$getMin(right);
8013 if (_v1.$ === 'RBNode_elm_builtin') {
8015 var minValue = _v1.c;
8017 $elm$core$Dict$balance,
8022 $elm$core$Dict$removeMin(right));
8024 return $elm$core$Dict$RBEmpty_elm_builtin;
8028 $elm$core$Dict$balance,
8033 A2($elm$core$Dict$removeHelp, targetKey, right));
8036 return $elm$core$Dict$RBEmpty_elm_builtin;
8039var $elm$core$Dict$remove = F2(
8040 function (key, dict) {
8041 var _v0 = A2($elm$core$Dict$removeHelp, key, dict);
8042 if ((_v0.$ === 'RBNode_elm_builtin') && (_v0.a.$ === 'Red')) {
8048 return A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, k, v, l, r);
8054var $elm$core$Dict$update = F3(
8055 function (targetKey, alter, dictionary) {
8057 A2($elm$core$Dict$get, targetKey, dictionary));
8058 if (_v0.$ === 'Just') {
8060 return A3($elm$core$Dict$insert, targetKey, value, dictionary);
8062 return A2($elm$core$Dict$remove, targetKey, dictionary);
8065var $elm$http$Http$emptyBody = _Http_emptyBody;
8066var $author$project$Api$BadBody = function (a) {
8067 return {$: 'BadBody', a: a};
8069var $author$project$Api$BadStatus = F2(
8071 return {$: 'BadStatus', a: a, b: b};
8073var $author$project$Api$BadUrl = function (a) {
8074 return {$: 'BadUrl', a: a};
8076var $author$project$Api$NetworkError = {$: 'NetworkError'};
8077var $author$project$Api$Timeout = {$: 'Timeout'};
8078var $elm$json$Json$Decode$decodeString = _Json_runOnString;
8079var $elm$http$Http$expectStringResponse = F2(
8080 function (toMsg, toResult) {
8084 $elm$core$Basics$identity,
8085 A2($elm$core$Basics$composeR, toResult, toMsg));
8087var $author$project$Api$expectJson = F2(
8088 function (toMsg, decoder) {
8090 $elm$http$Http$expectStringResponse,
8092 function (response) {
8093 switch (response.$) {
8095 var url = response.a;
8096 return $elm$core$Result$Err(
8097 $author$project$Api$BadUrl(url));
8099 return $elm$core$Result$Err($author$project$Api$Timeout);
8100 case 'NetworkError_':
8101 return $elm$core$Result$Err($author$project$Api$NetworkError);
8103 var metadata = response.a;
8104 var body = response.b;
8105 return $elm$core$Result$Err(
8106 A2($author$project$Api$BadStatus, metadata.statusCode, body));
8108 var body = response.b;
8109 var _v1 = A2($elm$json$Json$Decode$decodeString, decoder, body);
8110 if (_v1.$ === 'Ok') {
8112 return $elm$core$Result$Ok(value);
8115 return $elm$core$Result$Err(
8116 $author$project$Api$BadBody(
8117 $elm$json$Json$Decode$errorToString(err)));
8122var $elm$http$Http$Request = function (a) {
8123 return {$: 'Request', a: a};
8125var $elm$http$Http$State = F2(
8126 function (reqs, subs) {
8127 return {reqs: reqs, subs: subs};
8129var $elm$http$Http$init = $elm$core$Task$succeed(
8130 A2($elm$http$Http$State, $elm$core$Dict$empty, _List_Nil));
8131var $elm$http$Http$updateReqs = F3(
8132 function (router, cmds, reqs) {
8136 return $elm$core$Task$succeed(reqs);
8139 var otherCmds = cmds.b;
8140 if (cmd.$ === 'Cancel') {
8141 var tracker = cmd.a;
8142 var _v2 = A2($elm$core$Dict$get, tracker, reqs);
8143 if (_v2.$ === 'Nothing') {
8144 var $temp$router = router,
8145 $temp$cmds = otherCmds,
8147 router = $temp$router;
8150 continue updateReqs;
8154 $elm$core$Task$andThen,
8157 $elm$http$Http$updateReqs,
8160 A2($elm$core$Dict$remove, tracker, reqs));
8162 $elm$core$Process$kill(pid));
8167 $elm$core$Task$andThen,
8169 var _v4 = req.tracker;
8170 if (_v4.$ === 'Nothing') {
8171 return A3($elm$http$Http$updateReqs, router, otherCmds, reqs);
8173 var tracker = _v4.a;
8175 $elm$http$Http$updateReqs,
8178 A3($elm$core$Dict$insert, tracker, pid, reqs));
8181 $elm$core$Process$spawn(
8185 $elm$core$Platform$sendToApp(router),
8191var $elm$http$Http$onEffects = F4(
8192 function (router, cmds, subs, state) {
8194 $elm$core$Task$andThen,
8196 return $elm$core$Task$succeed(
8197 A2($elm$http$Http$State, reqs, subs));
8199 A3($elm$http$Http$updateReqs, router, cmds, state.reqs));
8201var $elm$http$Http$maybeSend = F4(
8202 function (router, desiredTracker, progress, _v0) {
8203 var actualTracker = _v0.a;
8205 return _Utils_eq(desiredTracker, actualTracker) ? $elm$core$Maybe$Just(
8207 $elm$core$Platform$sendToApp,
8209 toMsg(progress))) : $elm$core$Maybe$Nothing;
8211var $elm$http$Http$onSelfMsg = F3(
8212 function (router, _v0, state) {
8213 var tracker = _v0.a;
8214 var progress = _v0.b;
8216 $elm$core$Task$andThen,
8218 return $elm$core$Task$succeed(state);
8220 $elm$core$Task$sequence(
8222 $elm$core$List$filterMap,
8223 A3($elm$http$Http$maybeSend, router, tracker, progress),
8226var $elm$http$Http$Cancel = function (a) {
8227 return {$: 'Cancel', a: a};
8229var $elm$http$Http$cmdMap = F2(
8230 function (func, cmd) {
8231 if (cmd.$ === 'Cancel') {
8232 var tracker = cmd.a;
8233 return $elm$http$Http$Cancel(tracker);
8236 return $elm$http$Http$Request(
8238 allowCookiesFromOtherDomains: r.allowCookiesFromOtherDomains,
8240 expect: A2(_Http_mapExpect, func, r.expect),
8249var $elm$http$Http$MySub = F2(
8251 return {$: 'MySub', a: a, b: b};
8253var $elm$http$Http$subMap = F2(
8254 function (func, _v0) {
8255 var tracker = _v0.a;
8258 $elm$http$Http$MySub,
8260 A2($elm$core$Basics$composeR, toMsg, func));
8262_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);
8263var $elm$http$Http$command = _Platform_leaf('Http');
8264var $elm$http$Http$subscription = _Platform_leaf('Http');
8265var $elm$http$Http$request = function (r) {
8266 return $elm$http$Http$command(
8267 $elm$http$Http$Request(
8268 {allowCookiesFromOtherDomains: false, body: r.body, expect: r.expect, headers: r.headers, method: r.method, timeout: r.timeout, tracker: r.tracker, url: r.url}));
8270var $author$project$Api$Endpoint$unwrap = function (_v0) {
8274var $author$project$Api$Endpoint$request = function (config) {
8275 return $elm$http$Http$request(
8278 expect: config.expect,
8279 headers: config.headers,
8280 method: config.method,
8281 timeout: config.timeout,
8282 tracker: config.tracker,
8283 url: $author$project$Api$Endpoint$unwrap(config.url)
8286var $author$project$Api$get = F4(
8287 function (config, url, decoder, msg) {
8288 return $author$project$Api$Endpoint$request(
8290 body: $elm$http$Http$emptyBody,
8291 expect: A2($author$project$Api$expectJson, msg, decoder),
8292 headers: _List_fromArray(
8294 $author$project$Api$authHeader(config.appAuth)
8297 timeout: $elm$core$Maybe$Nothing,
8298 tracker: $elm$core$Maybe$Nothing,
8299 url: url(config.appUrl)
8302var $author$project$Page$Deployment$reqDeployment = F2(
8303 function (deploymentName, cfg) {
8305 $author$project$Api$get,
8307 $author$project$Api$Endpoint$deploymentFullInfo(deploymentName),
8308 $author$project$Types$Deployment$deploymentDecoder,
8309 A2($elm$core$Basics$composeR, $krisajenkins$remotedata$RemoteData$fromResult, $author$project$Page$Deployment$DeploymentFullInfoResponse));
8311var $author$project$Page$Deployment$DeploymentInfoResponse = function (a) {
8312 return {$: 'DeploymentInfoResponse', a: a};
8314var $author$project$Api$Endpoint$deploymentInfo = F2(
8315 function (deploymentName, appUrl) {
8317 $author$project$Api$Endpoint$url,
8318 $elm$core$Maybe$Just(appUrl),
8324 $author$project$Types$Deployment$unDeploymentName(deploymentName),
8329var $author$project$Types$Action$LogWrapper = function (logs) {
8330 return {logs: logs};
8332var $author$project$Types$Action$Log = F7(
8333 function (action, actionId, createdAt, appOverrides, deploymentOverrides, duration, exitCode) {
8334 return {action: action, actionId: actionId, appOverrides: appOverrides, createdAt: createdAt, deploymentOverrides: deploymentOverrides, duration: duration, exitCode: exitCode};
8336var $author$project$Types$Action$ActionId = function (a) {
8337 return {$: 'ActionId', a: a};
8339var $elm$json$Json$Decode$int = _Json_decodeInt;
8340var $author$project$Types$Action$actionIdDecoder = A2($elm$json$Json$Decode$map, $author$project$Types$Action$ActionId, $elm$json$Json$Decode$int);
8341var $author$project$Types$Action$Archive = {$: 'Archive'};
8342var $author$project$Types$Action$Create = {$: 'Create'};
8343var $author$project$Types$Action$Restore = {$: 'Restore'};
8344var $author$project$Types$Action$Update = {$: 'Update'};
8345var $author$project$Types$Action$actionTypeDecoder = function () {
8346 var tagDecoder = function (tag) {
8348 case 'CreateAction':
8349 return $elm$json$Json$Decode$succeed($author$project$Types$Action$Create);
8350 case 'UpdateAction':
8351 return $elm$json$Json$Decode$succeed($author$project$Types$Action$Update);
8352 case 'RestoreAction':
8353 return $elm$json$Json$Decode$succeed($author$project$Types$Action$Restore);
8354 case 'ArchiveAction':
8355 return $elm$json$Json$Decode$succeed($author$project$Types$Action$Archive);
8357 return $elm$json$Json$Decode$fail('Unknown ActionType: ' + tag);
8360 return A2($elm$json$Json$Decode$andThen, tagDecoder, $elm$json$Json$Decode$string);
8362var $author$project$Types$Action$Duration = F2(
8363 function (months, time) {
8364 return {months: months, time: time};
8366var $elm$json$Json$Decode$float = _Json_decodeFloat;
8367var $author$project$Types$Action$durationDecoder = A3(
8368 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
8370 $elm$json$Json$Decode$float,
8372 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
8374 $elm$json$Json$Decode$int,
8375 $elm$json$Json$Decode$succeed($author$project$Types$Action$Duration)));
8376var $author$project$Types$Action$ExitCode = function (a) {
8377 return {$: 'ExitCode', a: a};
8379var $author$project$Types$Action$exitCodeDecocder = A2($elm$json$Json$Decode$map, $author$project$Types$Action$ExitCode, $elm$json$Json$Decode$int);
8380var $author$project$Types$Action$logDecoder = A3(
8381 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
8383 $author$project$Types$Action$exitCodeDecocder,
8385 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
8387 $author$project$Types$Action$durationDecoder,
8389 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
8390 'deployment_dep_overrides',
8391 $elm$json$Json$Decode$list($author$project$Types$Override$overrideDecoder),
8393 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
8394 'deployment_app_overrides',
8395 $elm$json$Json$Decode$list($author$project$Types$Override$overrideDecoder),
8397 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
8399 $elm_community$json_extra$Json$Decode$Extra$datetime,
8401 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
8403 $author$project$Types$Action$actionIdDecoder,
8405 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
8407 $author$project$Types$Action$actionTypeDecoder,
8408 $elm$json$Json$Decode$succeed($author$project$Types$Action$Log))))))));
8409var $author$project$Types$Action$logWrapperDecoder = A3(
8410 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
8412 $elm$json$Json$Decode$list($author$project$Types$Action$logDecoder),
8413 $elm$json$Json$Decode$succeed($author$project$Types$Action$LogWrapper));
8414var $author$project$Page$Deployment$reqLogs = F2(
8415 function (deploymentName, cfg) {
8417 $author$project$Api$get,
8419 $author$project$Api$Endpoint$deploymentInfo(deploymentName),
8420 $elm$json$Json$Decode$list($author$project$Types$Action$logWrapperDecoder),
8421 A2($elm$core$Basics$composeR, $krisajenkins$remotedata$RemoteData$fromResult, $author$project$Page$Deployment$DeploymentInfoResponse));
8423var $author$project$Page$Deployment$init = F3(
8424 function (settings, config, deploymentName) {
8425 return _Utils_Tuple2(
8427 actionTable: $author$project$Page$Deployment$ActionTable$init,
8428 appDefaults: $krisajenkins$remotedata$RemoteData$Loading,
8429 appOverrides: $krisajenkins$remotedata$RemoteData$Loading,
8430 archivePopup: $elm$core$Maybe$Nothing,
8432 debounce: $jinjor$elm_debounce$Debounce$init,
8433 deployment: $krisajenkins$remotedata$RemoteData$Loading,
8434 deploymentDefaults: $krisajenkins$remotedata$RemoteData$Loading,
8435 deploymentName: deploymentName,
8436 deploymentOverrides: $krisajenkins$remotedata$RemoteData$Loading,
8437 logs: $krisajenkins$remotedata$RemoteData$Loading,
8438 restoreDisabled: false,
8440 sidebar: A3($author$project$Page$Sidebar$CreateUpdate$initUpdate, config, false, deploymentName)
8442 $elm$core$Platform$Cmd$batch(
8445 A2($author$project$Page$Deployment$reqDeployment, deploymentName, config),
8446 A2($author$project$Page$Deployment$reqLogs, deploymentName, config)
8449var $author$project$Page$Deployments$Table$ActiveTable = {$: 'ActiveTable'};
8450var $author$project$Page$Deployments$Table$ArchivedTable = {$: 'ArchivedTable'};
8451var $author$project$Page$Deployments$Table$Desc = function (a) {
8452 return {$: 'Desc', a: a};
8454var $author$project$Page$Deployments$Table$Updated = {$: 'Updated'};
8455var $author$project$Page$Deployments$Table$init = F3(
8456 function (config, settings, tableType) {
8458 archivePopup: $elm$core$Maybe$Nothing,
8460 menuButton: $elm$core$Maybe$Nothing,
8461 openedAppOverrides: $turboMaCk$any_set$Set$Any$empty($author$project$Types$Deployment$unDeploymentName),
8462 openedDeployemntOverrides: $turboMaCk$any_set$Set$Any$empty($author$project$Types$Deployment$unDeploymentName),
8464 sort: $author$project$Page$Deployments$Table$Desc($author$project$Page$Deployments$Table$Updated),
8465 tableType: tableType
8468var $author$project$Page$Sidebar$CreateUpdate$Create = {$: 'Create'};
8469var $author$project$Page$Sidebar$CreateUpdate$initCreate = F2(
8470 function (config, visibility) {
8472 appDefaults: $krisajenkins$remotedata$RemoteData$Loading,
8473 appKeys: $krisajenkins$remotedata$RemoteData$Loading,
8474 appOverrides: $krisajenkins$remotedata$RemoteData$Loading,
8476 deployment: $krisajenkins$remotedata$RemoteData$NotAsked,
8477 deploymentDefaults: $krisajenkins$remotedata$RemoteData$Loading,
8478 deploymentKeys: $krisajenkins$remotedata$RemoteData$Loading,
8479 deploymentOverrides: $krisajenkins$remotedata$RemoteData$Loading,
8480 mode: $author$project$Page$Sidebar$CreateUpdate$Create,
8481 name: $author$project$Types$Deployment$DeploymentName(''),
8483 saveResp: $krisajenkins$remotedata$RemoteData$NotAsked,
8484 visibility: visibility
8487var $author$project$Page$Deployments$DeploymentsResponse = function (a) {
8488 return {$: 'DeploymentsResponse', a: a};
8490var $author$project$Api$Endpoint$deployments = function (appUrl) {
8492 $author$project$Api$Endpoint$url,
8493 $elm$core$Maybe$Just(appUrl),
8495 ['api', 'v1', 'deployments']),
8498var $author$project$Page$Deployments$reqDeployments = function (cfg) {
8500 $author$project$Api$get,
8502 $author$project$Api$Endpoint$deployments,
8503 $elm$json$Json$Decode$list($author$project$Types$Deployment$deploymentDecoder),
8504 A2($elm$core$Basics$composeR, $krisajenkins$remotedata$RemoteData$fromResult, $author$project$Page$Deployments$DeploymentsResponse));
8506var $author$project$Page$Deployments$init = F2(
8507 function (settings, config) {
8508 return _Utils_Tuple2(
8510 activeTable: A3($author$project$Page$Deployments$Table$init, config, settings, $author$project$Page$Deployments$Table$ActiveTable),
8511 archivedTable: A3($author$project$Page$Deployments$Table$init, config, settings, $author$project$Page$Deployments$Table$ArchivedTable),
8513 debounce: $jinjor$elm_debounce$Debounce$init,
8514 deployments: $krisajenkins$remotedata$RemoteData$Loading,
8517 showArchived: false,
8518 sidebar: A2($author$project$Page$Sidebar$CreateUpdate$initCreate, config, false),
8521 $author$project$Page$Deployments$reqDeployments(config));
8523var $author$project$Main$changeRouteTo = F2(
8524 function (maybeRoute, model) {
8525 if (maybeRoute.$ === 'Nothing') {
8527 $author$project$Main$updateWith,
8528 $author$project$Main$Deployments,
8529 $author$project$Main$DeploymentsMsg,
8531 $author$project$Page$Deployments$init,
8532 $author$project$Main$getSettings(model),
8533 $author$project$Main$getConfig(model)));
8535 if (maybeRoute.a.$ === 'Deployments') {
8536 var _v1 = maybeRoute.a;
8538 $author$project$Main$updateWith,
8539 $author$project$Main$Deployments,
8540 $author$project$Main$DeploymentsMsg,
8542 $author$project$Page$Deployments$init,
8543 $author$project$Main$getSettings(model),
8544 $author$project$Main$getConfig(model)));
8546 var deploymentName = maybeRoute.a.a;
8548 $author$project$Main$updateWith,
8549 $author$project$Main$Deployment,
8550 $author$project$Main$DeploymentMsg,
8552 $author$project$Page$Deployment$init,
8553 $author$project$Main$getSettings(model),
8554 $author$project$Main$getConfig(model),
8559var $elm$url$Url$Parser$State = F5(
8560 function (visited, unvisited, params, frag, value) {
8561 return {frag: frag, params: params, unvisited: unvisited, value: value, visited: visited};
8563var $elm$url$Url$Parser$getFirstMatch = function (states) {
8567 return $elm$core$Maybe$Nothing;
8569 var state = states.a;
8570 var rest = states.b;
8571 var _v1 = state.unvisited;
8573 return $elm$core$Maybe$Just(state.value);
8575 if ((_v1.a === '') && (!_v1.b.b)) {
8576 return $elm$core$Maybe$Just(state.value);
8578 var $temp$states = rest;
8579 states = $temp$states;
8580 continue getFirstMatch;
8586var $elm$url$Url$Parser$removeFinalEmpty = function (segments) {
8590 if ((segments.a === '') && (!segments.b.b)) {
8593 var segment = segments.a;
8594 var rest = segments.b;
8596 $elm$core$List$cons,
8598 $elm$url$Url$Parser$removeFinalEmpty(rest));
8602var $elm$url$Url$Parser$preparePath = function (path) {
8603 var _v0 = A2($elm$core$String$split, '/', path);
8604 if (_v0.b && (_v0.a === '')) {
8605 var segments = _v0.b;
8606 return $elm$url$Url$Parser$removeFinalEmpty(segments);
8609 return $elm$url$Url$Parser$removeFinalEmpty(segments);
8612var $elm$url$Url$Parser$addToParametersHelp = F2(
8613 function (value, maybeList) {
8614 if (maybeList.$ === 'Nothing') {
8615 return $elm$core$Maybe$Just(
8619 var list = maybeList.a;
8620 return $elm$core$Maybe$Just(
8621 A2($elm$core$List$cons, value, list));
8624var $elm$url$Url$percentDecode = _Url_percentDecode;
8625var $elm$url$Url$Parser$addParam = F2(
8626 function (segment, dict) {
8627 var _v0 = A2($elm$core$String$split, '=', segment);
8628 if ((_v0.b && _v0.b.b) && (!_v0.b.b.b)) {
8631 var rawValue = _v1.a;
8632 var _v2 = $elm$url$Url$percentDecode(rawKey);
8633 if (_v2.$ === 'Nothing') {
8637 var _v3 = $elm$url$Url$percentDecode(rawValue);
8638 if (_v3.$ === 'Nothing') {
8643 $elm$core$Dict$update,
8645 $elm$url$Url$Parser$addToParametersHelp(value),
8653var $elm$url$Url$Parser$prepareQuery = function (maybeQuery) {
8654 if (maybeQuery.$ === 'Nothing') {
8655 return $elm$core$Dict$empty;
8657 var qry = maybeQuery.a;
8659 $elm$core$List$foldr,
8660 $elm$url$Url$Parser$addParam,
8661 $elm$core$Dict$empty,
8662 A2($elm$core$String$split, '&', qry));
8665var $elm$url$Url$Parser$parse = F2(
8666 function (_v0, url) {
8668 return $elm$url$Url$Parser$getFirstMatch(
8671 $elm$url$Url$Parser$State,
8673 $elm$url$Url$Parser$preparePath(url.path),
8674 $elm$url$Url$Parser$prepareQuery(url.query),
8676 $elm$core$Basics$identity)));
8678var $author$project$Route$Deployment = function (a) {
8679 return {$: 'Deployment', a: a};
8681var $author$project$Route$Deployments = {$: 'Deployments'};
8682var $elm$url$Url$Parser$Parser = function (a) {
8683 return {$: 'Parser', a: a};
8685var $elm$url$Url$Parser$custom = F2(
8686 function (tipe, stringToSomething) {
8687 return $elm$url$Url$Parser$Parser(
8689 var visited = _v0.visited;
8690 var unvisited = _v0.unvisited;
8691 var params = _v0.params;
8692 var frag = _v0.frag;
8693 var value = _v0.value;
8697 var next = unvisited.a;
8698 var rest = unvisited.b;
8699 var _v2 = stringToSomething(next);
8700 if (_v2.$ === 'Just') {
8701 var nextValue = _v2.a;
8702 return _List_fromArray(
8705 $elm$url$Url$Parser$State,
8706 A2($elm$core$List$cons, next, visited),
8718var $elm$url$Url$Parser$mapState = F2(
8719 function (func, _v0) {
8720 var visited = _v0.visited;
8721 var unvisited = _v0.unvisited;
8722 var params = _v0.params;
8723 var frag = _v0.frag;
8724 var value = _v0.value;
8726 $elm$url$Url$Parser$State,
8733var $elm$url$Url$Parser$map = F2(
8734 function (subValue, _v0) {
8735 var parseArg = _v0.a;
8736 return $elm$url$Url$Parser$Parser(
8738 var visited = _v1.visited;
8739 var unvisited = _v1.unvisited;
8740 var params = _v1.params;
8741 var frag = _v1.frag;
8742 var value = _v1.value;
8745 $elm$url$Url$Parser$mapState(value),
8747 A5($elm$url$Url$Parser$State, visited, unvisited, params, frag, subValue)));
8750var $elm$core$List$append = F2(
8755 return A3($elm$core$List$foldr, $elm$core$List$cons, ys, xs);
8758var $elm$core$List$concat = function (lists) {
8759 return A3($elm$core$List$foldr, $elm$core$List$append, _List_Nil, lists);
8761var $elm$core$List$concatMap = F2(
8762 function (f, list) {
8763 return $elm$core$List$concat(
8764 A2($elm$core$List$map, f, list));
8766var $elm$url$Url$Parser$oneOf = function (parsers) {
8767 return $elm$url$Url$Parser$Parser(
8770 $elm$core$List$concatMap,
8773 return parser(state);
8778var $elm$url$Url$Parser$s = function (str) {
8779 return $elm$url$Url$Parser$Parser(
8781 var visited = _v0.visited;
8782 var unvisited = _v0.unvisited;
8783 var params = _v0.params;
8784 var frag = _v0.frag;
8785 var value = _v0.value;
8789 var next = unvisited.a;
8790 var rest = unvisited.b;
8791 return _Utils_eq(next, str) ? _List_fromArray(
8794 $elm$url$Url$Parser$State,
8795 A2($elm$core$List$cons, next, visited),
8804var $elm$url$Url$Parser$slash = F2(
8805 function (_v0, _v1) {
8806 var parseBefore = _v0.a;
8807 var parseAfter = _v1.a;
8808 return $elm$url$Url$Parser$Parser(
8811 $elm$core$List$concatMap,
8813 parseBefore(state));
8816var $author$project$Route$parser = $elm$url$Url$Parser$oneOf(
8820 $elm$url$Url$Parser$map,
8821 $author$project$Route$Deployments,
8822 $elm$url$Url$Parser$s('deployments')),
8824 $elm$url$Url$Parser$map,
8825 $author$project$Route$Deployment,
8827 $elm$url$Url$Parser$slash,
8828 $elm$url$Url$Parser$s('deployments'),
8830 $elm$url$Url$Parser$custom,
8833 return $elm$core$Maybe$Just(
8834 $author$project$Types$Deployment$DeploymentName(str));
8837var $elm$core$Maybe$withDefault = F2(
8838 function (_default, maybe) {
8839 if (maybe.$ === 'Just') {
8840 var value = maybe.a;
8846var $author$project$Route$fromUrl = function (url) {
8848 $elm$url$Url$Parser$parse,
8849 $author$project$Route$parser,
8853 fragment: $elm$core$Maybe$Nothing,
8854 path: A2($elm$core$Maybe$withDefault, '', url.fragment)
8857var $author$project$Page$Deployment$getNavKey = function (model) {
8858 return model.settings.navKey;
8860var $author$project$Page$Deployments$getNavKey = function (model) {
8861 return model.settings.navKey;
8863var $author$project$Page$Initialization$getNavKey = function (model) {
8864 return model.settings.navKey;
8866var $author$project$Main$getNavKey = function (model) {
8868 case 'Initialization':
8869 var subModel = model.a;
8870 return $author$project$Page$Initialization$getNavKey(subModel);
8872 var subModel = model.a;
8873 return $author$project$Page$Deployments$getNavKey(subModel);
8875 var subModel = model.a;
8876 return $author$project$Page$Deployment$getNavKey(subModel);
8879var $elm$browser$Browser$Navigation$load = _Browser_load;
8880var $elm$core$Platform$Cmd$none = $elm$core$Platform$Cmd$batch(_List_Nil);
8881var $elm$browser$Browser$Navigation$pushUrl = _Browser_pushUrl;
8882var $elm$url$Url$addPort = F2(
8883 function (maybePort, starter) {
8884 if (maybePort.$ === 'Nothing') {
8887 var port_ = maybePort.a;
8888 return starter + (':' + $elm$core$String$fromInt(port_));
8891var $elm$url$Url$addPrefixed = F3(
8892 function (prefix, maybeSegment, starter) {
8893 if (maybeSegment.$ === 'Nothing') {
8896 var segment = maybeSegment.a;
8899 _Utils_ap(prefix, segment));
8902var $elm$url$Url$toString = function (url) {
8903 var http = function () {
8904 var _v0 = url.protocol;
8905 if (_v0.$ === 'Http') {
8912 $elm$url$Url$addPrefixed,
8916 $elm$url$Url$addPrefixed,
8921 $elm$url$Url$addPort,
8923 _Utils_ap(http, url.host)),
8926var $author$project$Page$Deployment$ActionMsg = function (a) {
8927 return {$: 'ActionMsg', a: a};
8929var $author$project$Page$Deployment$AppOverridesMsg = function (a) {
8930 return {$: 'AppOverridesMsg', a: a};
8932var $author$project$Page$Deployment$CreateSidebarMsg = function (a) {
8933 return {$: 'CreateSidebarMsg', a: a};
8935var $author$project$Page$Deployment$DeploymentOverridesMsg = function (a) {
8936 return {$: 'DeploymentOverridesMsg', a: a};
8938var $author$project$Html$Overrides$Read = {$: 'Read'};
8939var $author$project$Page$Deployment$DebounceMsg = function (a) {
8940 return {$: 'DebounceMsg', a: a};
8942var $jinjor$elm_debounce$Debounce$Soon = F2(
8944 return {$: 'Soon', a: a, b: b};
8946var $jinjor$elm_debounce$Debounce$soon = $jinjor$elm_debounce$Debounce$Soon(0);
8947var $author$project$Page$Deployment$debounceConfig = {
8948 strategy: $jinjor$elm_debounce$Debounce$soon(2000),
8949 transform: $author$project$Page$Deployment$DebounceMsg
8951var $author$project$Types$Override$unOverrideName = function (_v0) {
8955var $author$project$Html$Overrides$mkDefaultNameDict = function (defaultsList) {
8956 return $elm$core$Dict$fromList(
8960 return _Utils_Tuple2(
8961 $author$project$Types$Override$unOverrideName(d.name),
8966var $author$project$Html$Overrides$mkDefaultsDict = F2(
8967 function (ids, defaults) {
8969 $elm$core$Dict$merge,
8971 function (_v0, _v1, res) {
8975 function (_v2, id, def, res) {
8976 return A3($elm$core$Dict$insert, id, def, res);
8979 function (_v3, _v4, res) {
8984 $elm$core$Dict$empty);
8986var $author$project$Html$Overrides$mkEditsDict = F2(
8987 function (ids, edits) {
8989 $elm$core$Dict$merge,
8991 function (_v0, _v1, res) {
8995 function (_v2, id, def, res) {
8996 return A3($elm$core$Dict$insert, id, def, res);
8999 function (_v3, _v4, res) {
9004 $elm$core$Dict$empty);
9006var $author$project$Html$Overrides$mkEditsNameDict = function (editsList) {
9007 return $elm$core$Dict$fromList(
9011 return _Utils_Tuple2(
9012 $author$project$Types$Override$unOverrideName(d.name),
9017var $elm$core$Dict$sizeHelp = F2(
9018 function (n, dict) {
9021 if (dict.$ === 'RBEmpty_elm_builtin') {
9026 var $temp$n = A2($elm$core$Dict$sizeHelp, n + 1, right),
9034var $elm$core$Dict$size = function (dict) {
9035 return A2($elm$core$Dict$sizeHelp, 0, dict);
9037var $author$project$Html$Overrides$mkIds = F2(
9038 function (defaults, edits) {
9040 $elm$core$Dict$merge,
9042 function (n, _v0, res) {
9044 $elm$core$Dict$insert,
9046 $elm$core$Dict$size(res),
9050 function (n, _v1, _v2, res) {
9052 $elm$core$Dict$insert,
9054 $elm$core$Dict$size(res),
9058 function (n, _v3, res) {
9060 $elm$core$Dict$insert,
9062 $elm$core$Dict$size(res),
9067 $elm$core$Dict$empty);
9069var $elm$core$List$filter = F2(
9070 function (isGood, list) {
9072 $elm$core$List$foldr,
9075 return isGood(x) ? A2($elm$core$List$cons, x, xs) : xs;
9080var $elm$core$Set$Set_elm_builtin = function (a) {
9081 return {$: 'Set_elm_builtin', a: a};
9083var $elm$core$Set$empty = $elm$core$Set$Set_elm_builtin($elm$core$Dict$empty);
9084var $elm$core$Set$insert = F2(
9085 function (key, _v0) {
9087 return $elm$core$Set$Set_elm_builtin(
9088 A3($elm$core$Dict$insert, key, _Utils_Tuple0, dict));
9090var $elm$core$Set$fromList = function (list) {
9091 return A3($elm$core$List$foldl, $elm$core$Set$insert, $elm$core$Set$empty, list);
9093var $author$project$Html$Overrides$getWrappedName = function (w) {
9094 if (w.$ === 'DefaultOverride') {
9102var $author$project$Html$Overrides$getWrappedValue = function (w) {
9103 if (w.$ === 'DefaultOverride') {
9111var $elm$core$Maybe$map = F2(
9112 function (f, maybe) {
9113 if (maybe.$ === 'Just') {
9114 var value = maybe.a;
9115 return $elm$core$Maybe$Just(
9118 return $elm$core$Maybe$Nothing;
9121var $elm$core$List$tail = function (list) {
9125 return $elm$core$Maybe$Just(xs);
9127 return $elm$core$Maybe$Nothing;
9130var $elm_community$list_extra$List$Extra$init = function (items) {
9132 return $elm$core$Maybe$Nothing;
9134 var nonEmptyList = items;
9136 $elm$core$Maybe$map,
9137 $elm$core$List$reverse,
9138 $elm$core$List$tail(
9139 $elm$core$List$reverse(nonEmptyList)));
9142var $elm$core$Tuple$second = function (_v0) {
9146var $elm_community$list_extra$List$Extra$tailsHelp = F2(
9147 function (e, list) {
9152 $elm$core$List$cons,
9153 A2($elm$core$List$cons, e, x),
9154 A2($elm$core$List$cons, x, xs));
9159var $elm_community$list_extra$List$Extra$tails = A2(
9160 $elm$core$List$foldr,
9161 $elm_community$list_extra$List$Extra$tailsHelp,
9164var $author$project$Html$Overrides$mkOpenedPaths = function (overridesData) {
9165 return $elm$core$Set$fromList(
9166 $elm$core$List$concat(
9170 $elm$core$Basics$composeR,
9171 $author$project$Html$Overrides$getWrappedName,
9173 $elm$core$Basics$composeR,
9174 $author$project$Types$Override$unOverrideName,
9176 $elm$core$Basics$composeR,
9177 $elm$core$String$split('.'),
9179 $elm$core$Basics$composeR,
9180 $elm_community$list_extra$List$Extra$init,
9182 $elm$core$Basics$composeR,
9183 $elm$core$Maybe$withDefault(_List_Nil),
9184 A2($elm$core$Basics$composeR, $elm$core$List$reverse, $elm_community$list_extra$List$Extra$tails)))))),
9186 $elm$core$List$filter,
9188 $elm$core$Basics$composeR,
9189 $author$project$Html$Overrides$getWrappedValue,
9195 $elm$core$Tuple$second,
9196 $elm$core$Dict$toList(overridesData))))));
9198var $author$project$Html$Overrides$Deleted = {$: 'Deleted'};
9199var $author$project$Html$Overrides$Edited = {$: 'Edited'};
9200var $author$project$Html$Overrides$New = {$: 'New'};
9201var $author$project$Html$Overrides$OverrideData = F3(
9202 function (name, value, status) {
9203 return {name: name, status: status, value: value};
9205var $author$project$Html$Overrides$mkOverrideDataList = F2(
9206 function (defaults, edits) {
9208 $elm$core$Dict$merge,
9210 function (_v0, _v1, res) {
9214 function (id, def, edit, res) {
9215 var _v2 = edit.value;
9216 if (_v2.$ === 'ValueAdded') {
9219 $elm$core$Dict$insert,
9221 A3($author$project$Html$Overrides$OverrideData, edit.name, v, $author$project$Html$Overrides$Edited),
9225 $elm$core$Dict$insert,
9227 A3($author$project$Html$Overrides$OverrideData, edit.name, def.value, $author$project$Html$Overrides$Deleted),
9232 function (id, edit, res) {
9233 var _v3 = edit.value;
9234 if (_v3.$ === 'ValueAdded') {
9237 $elm$core$Dict$insert,
9239 A3($author$project$Html$Overrides$OverrideData, edit.name, v, $author$project$Html$Overrides$New),
9247 $elm$core$Dict$empty);
9249var $author$project$Html$Overrides$compareOverrideData = F2(
9251 var _v0 = _Utils_Tuple2(a.status, b.status);
9263 $elm$core$Basics$compare,
9264 $author$project$Types$Override$unOverrideName(a.name),
9265 $author$project$Types$Override$unOverrideName(b.name));
9270 return $elm$core$Basics$GT;
9278 $elm$core$Basics$compare,
9279 $author$project$Types$Override$unOverrideName(a.name),
9280 $author$project$Types$Override$unOverrideName(b.name));
9294 $elm$core$Basics$compare,
9295 $author$project$Types$Override$unOverrideName(a.name),
9296 $author$project$Types$Override$unOverrideName(b.name));
9299 return $elm$core$Basics$LT;
9304 return $elm$core$Basics$GT;
9307 return $elm$core$Basics$LT;
9309var $author$project$Html$Overrides$compareWrappedOverride = F2(
9311 var _v0 = _Utils_Tuple2(a, b);
9312 if (_v0.a.$ === 'NonOverrideWithDefault') {
9313 if (_v0.b.$ === 'NonOverrideWithDefault') {
9316 return A2($author$project$Html$Overrides$compareOverrideData, x, y);
9318 return $elm$core$Basics$LT;
9321 if (_v0.b.$ === 'NonOverrideWithDefault') {
9322 return $elm$core$Basics$GT;
9327 $elm$core$Basics$compare,
9328 $author$project$Types$Override$unOverrideName(x.name),
9329 $author$project$Types$Override$unOverrideName(y.name));
9333var $elm$core$List$any = F2(
9334 function (isOkay, list) {
9345 var $temp$isOkay = isOkay,
9347 isOkay = $temp$isOkay;
9354var $author$project$Html$Overrides$treeHasEmptyOrEdited = F2(
9355 function (overrideData, t) {
9356 if (t.$ === 'Node') {
9360 $author$project$Html$Overrides$treeHasEmptyOrEdited(overrideData),
9364 var _v1 = A2($elm$core$Dict$get, i, overrideData);
9365 if (_v1.$ === 'Just') {
9366 if (_v1.a.$ === 'NonOverrideWithDefault') {
9370 return x.value === '';
9377var $author$project$Html$Overrides$compareTree = F3(
9378 function (overrideData, a, b) {
9379 var _v0 = _Utils_Tuple2(a, b);
9386 if (_v0.a.$ === 'Node') {
9387 if (_v0.b.$ === 'Node') {
9388 if ((_v0.a.b.b && (_v0.a.b.a.$ === 'Leaf')) && (!_v0.a.b.b.b)) {
9389 if ((_v0.b.b.b && (_v0.b.b.a.$ === 'Leaf')) && (!_v0.b.b.b.b)) {
9398 var _v5 = _Utils_Tuple2(
9399 A2($elm$core$Dict$get, i, overrideData),
9400 A2($elm$core$Dict$get, j, overrideData));
9401 if ((_v5.a.$ === 'Just') && (_v5.b.$ === 'Just')) {
9404 return A2($author$project$Html$Overrides$compareWrappedOverride, aa, bb);
9406 return A2($elm$core$Basics$compare, x, y);
9412 if ((_v0.b.b.b && (_v0.b.b.a.$ === 'Leaf')) && (!_v0.b.b.b.b)) {
9419 var _v12 = _Utils_Tuple2(
9420 A2($author$project$Html$Overrides$treeHasEmptyOrEdited, overrideData, a),
9421 A2($author$project$Html$Overrides$treeHasEmptyOrEdited, overrideData, b));
9424 return A2($elm$core$Basics$compare, x, y);
9426 return $elm$core$Basics$LT;
9430 return A2($elm$core$Basics$compare, x, y);
9432 return $elm$core$Basics$GT;
9438 if ((_v0.a.b.b && (_v0.a.b.a.$ === 'Leaf')) && (!_v0.a.b.b.b)) {
9445 if ((((_v0.b.$ === 'Node') && _v0.b.b.b) && (_v0.b.b.a.$ === 'Leaf')) && (!_v0.b.b.b.b)) {
9452 return $elm$core$Basics$EQ;
9456 return $elm$core$Basics$GT;
9460 return $elm$core$Basics$LT;
9462var $author$project$Tree$getLabel = function (t) {
9463 if (t.$ === 'Node') {
9465 return $elm$core$Maybe$Just(l);
9467 return $elm$core$Maybe$Nothing;
9470var $author$project$Tree$Leaf = function (a) {
9471 return {$: 'Leaf', a: a};
9473var $author$project$Tree$Node = F2(
9475 return {$: 'Node', a: a, b: b};
9477var $elm$core$List$partition = F2(
9478 function (pred, list) {
9483 return pred(x) ? _Utils_Tuple2(
9484 A2($elm$core$List$cons, x, trues),
9485 falses) : _Utils_Tuple2(
9487 A2($elm$core$List$cons, x, falses));
9490 $elm$core$List$foldr,
9492 _Utils_Tuple2(_List_Nil, _List_Nil),
9495var $elm_community$list_extra$List$Extra$gatherWith = F2(
9496 function (testFn, list) {
9498 function (scattered, gathered) {
9502 return $elm$core$List$reverse(gathered);
9504 var toGather = scattered.a;
9505 var population = scattered.b;
9507 $elm$core$List$partition,
9510 var gathering = _v1.a;
9511 var remaining = _v1.b;
9512 var $temp$scattered = remaining,
9513 $temp$gathered = A2(
9514 $elm$core$List$cons,
9515 _Utils_Tuple2(toGather, gathering),
9517 scattered = $temp$scattered;
9518 gathered = $temp$gathered;
9523 return A2(helper, list, _List_Nil);
9525var $elm_community$list_extra$List$Extra$gatherEqualsBy = F2(
9526 function (extract, list) {
9528 $elm_community$list_extra$List$Extra$gatherWith,
9537var $author$project$Tree$getChildren = function (t) {
9538 if (t.$ === 'Node') {
9545var $elm$core$List$sortWith = _List_sortWith;
9546var $author$project$Tree$mergeTreesByWithSort = F3(
9547 function (mrg, cmp, ts) {
9548 var f = function (x) {
9549 if (x.a.$ === 'Node') {
9555 $author$project$Tree$Node,
9558 $elm$core$List$sortWith,
9561 $author$project$Tree$mergeTreesByWithSort,
9564 $elm$core$List$concat(
9566 $elm$core$List$cons,
9568 A2($elm$core$List$map, $author$project$Tree$getChildren, ns))))));
9571 return $author$project$Tree$Leaf(a);
9575 $elm$core$List$sortWith,
9580 A2($elm_community$list_extra$List$Extra$gatherEqualsBy, mrg, ts)));
9582var $author$project$Tree$mergeTreesWithSort = $author$project$Tree$mergeTreesByWithSort($author$project$Tree$getLabel);
9583var $author$project$Tree$pathToTree = F2(
9589 $author$project$Tree$Node,
9593 A2($author$project$Tree$pathToTree, ls, v)
9596 return $author$project$Tree$Leaf(v);
9599var $author$project$Html$Overrides$mkTree = F2(
9600 function (ids, overridesData) {
9602 $author$project$Tree$mergeTreesWithSort,
9603 $author$project$Html$Overrides$compareTree(overridesData),
9610 $author$project$Tree$pathToTree,
9611 A2($elm$core$String$split, '.', n),
9614 $elm$core$Dict$toList(ids)));
9616var $author$project$Html$Overrides$DefaultOverride = function (a) {
9617 return {$: 'DefaultOverride', a: a};
9619var $author$project$Html$Overrides$NonOverrideWithDefault = function (a) {
9620 return {$: 'NonOverrideWithDefault', a: a};
9622var $author$project$Html$Overrides$mkWrappedOverride = F2(
9623 function (defaults, edits) {
9625 $elm$core$Dict$merge,
9627 function (id, d, res) {
9629 $elm$core$Dict$insert,
9631 $author$project$Html$Overrides$DefaultOverride(d),
9635 function (id, _v0, e, res) {
9637 $elm$core$Dict$insert,
9639 $author$project$Html$Overrides$NonOverrideWithDefault(e),
9643 function (id, e, res) {
9645 $elm$core$Dict$insert,
9647 $author$project$Html$Overrides$NonOverrideWithDefault(e),
9652 $elm$core$Dict$empty);
9654var $author$project$Html$Overrides$init = F5(
9655 function (defaults, edits, keys, mode, name) {
9656 var editNameDict = $author$project$Html$Overrides$mkEditsNameDict(edits);
9657 var defaultNameDict = $author$project$Html$Overrides$mkDefaultNameDict(defaults);
9658 var ids = A2($author$project$Html$Overrides$mkIds, defaultNameDict, editNameDict);
9659 var defaultsDict = A2($author$project$Html$Overrides$mkDefaultsDict, ids, defaultNameDict);
9660 var overridesDict = A2(
9661 $author$project$Html$Overrides$mkOverrideDataList,
9663 A2($author$project$Html$Overrides$mkEditsDict, ids, editNameDict));
9664 var treeData = A2($author$project$Html$Overrides$mkWrappedOverride, defaultsDict, overridesDict);
9666 autocomplete: $elm$core$Maybe$Nothing,
9667 defaultOverrides: defaultsDict,
9668 editedOverrides: overridesDict,
9672 nextId: $elm$core$Dict$size(defaultsDict) + $elm$core$Dict$size(overridesDict),
9673 openedNames: $author$project$Html$Overrides$mkOpenedPaths(treeData),
9674 treeSchema: A2($author$project$Html$Overrides$mkTree, ids, treeData)
9677var $author$project$Page$Sidebar$CreateUpdate$DeploymentFullInfoResponse = function (a) {
9678 return {$: 'DeploymentFullInfoResponse', a: a};
9680var $author$project$Page$Sidebar$CreateUpdate$reqDeployment = F2(
9681 function (deploymentName, cfg) {
9683 $author$project$Api$get,
9685 $author$project$Api$Endpoint$deploymentFullInfo(deploymentName),
9686 $author$project$Types$Deployment$deploymentDecoder,
9687 A2($elm$core$Basics$composeR, $krisajenkins$remotedata$RemoteData$fromResult, $author$project$Page$Sidebar$CreateUpdate$DeploymentFullInfoResponse));
9689var $author$project$Page$Sidebar$CreateUpdate$initUpdateReq = F2(
9690 function (config, deploymentName) {
9691 return A2($author$project$Page$Sidebar$CreateUpdate$reqDeployment, deploymentName, config);
9693var $elm$core$List$member = F2(
9698 return _Utils_eq(a, x);
9702var $author$project$Types$Deployment$isDeploymentArchived = function (d) {
9704 if (_v0.$ === 'DeploymentPending') {
9709 $elm$core$List$member,
9712 [$author$project$Types$Deployment$ArchivePending, $author$project$Types$Deployment$Archived]));
9715var $krisajenkins$remotedata$RemoteData$map = F2(
9716 function (f, data) {
9720 return $krisajenkins$remotedata$RemoteData$Success(
9723 return $krisajenkins$remotedata$RemoteData$Loading;
9725 return $krisajenkins$remotedata$RemoteData$NotAsked;
9728 return $krisajenkins$remotedata$RemoteData$Failure(error);
9731var $krisajenkins$remotedata$RemoteData$andMap = F2(
9732 function (wrappedValue, wrappedFunction) {
9733 var _v0 = _Utils_Tuple2(wrappedFunction, wrappedValue);
9747 var value = _v0.b.a;
9748 return $krisajenkins$remotedata$RemoteData$Success(
9756 return $krisajenkins$remotedata$RemoteData$NotAsked;
9759 var error = _v0.a.a;
9760 return $krisajenkins$remotedata$RemoteData$Failure(error);
9786 return $krisajenkins$remotedata$RemoteData$NotAsked;
9789 return $krisajenkins$remotedata$RemoteData$Loading;
9792 return $krisajenkins$remotedata$RemoteData$Loading;
9794 var error = _v0.b.a;
9795 return $krisajenkins$remotedata$RemoteData$Failure(error);
9797var $krisajenkins$remotedata$RemoteData$map2 = F3(
9798 function (f, a, b) {
9800 $krisajenkins$remotedata$RemoteData$andMap,
9802 A2($krisajenkins$remotedata$RemoteData$map, f, a));
9804var $jinjor$elm_debounce$Debounce$Flush = function (a) {
9805 return {$: 'Flush', a: a};
9807var $jinjor$elm_debounce$Debounce$SendIfLengthNotChangedFrom = function (a) {
9808 return {$: 'SendIfLengthNotChangedFrom', a: a};
9810var $elm$core$Process$sleep = _Process_sleep;
9811var $jinjor$elm_debounce$Debounce$delayCmd = F2(
9812 function (delay, msg) {
9814 $elm$core$Task$perform,
9818 $elm$core$Process$sleep(delay));
9820var $jinjor$elm_debounce$Debounce$length = function (_v0) {
9821 var input = _v0.a.input;
9822 return $elm$core$List$length(input);
9824var $jinjor$elm_debounce$Debounce$push = F3(
9825 function (config, a, _v0) {
9827 var newDebounce = $jinjor$elm_debounce$Debounce$Debounce(
9831 input: A2($elm$core$List$cons, a, d.input)
9833 var selfCmd = function () {
9834 var _v1 = config.strategy;
9838 return d.locked ? $elm$core$Platform$Cmd$none : A2(
9839 $jinjor$elm_debounce$Debounce$delayCmd,
9841 $jinjor$elm_debounce$Debounce$Flush($elm$core$Maybe$Nothing));
9845 return d.locked ? $elm$core$Platform$Cmd$none : A2(
9846 $jinjor$elm_debounce$Debounce$delayCmd,
9848 $jinjor$elm_debounce$Debounce$Flush(
9849 $elm$core$Maybe$Just(delay)));
9853 $jinjor$elm_debounce$Debounce$delayCmd,
9855 $jinjor$elm_debounce$Debounce$SendIfLengthNotChangedFrom(
9856 $jinjor$elm_debounce$Debounce$length(newDebounce)));
9859 return _Utils_Tuple2(
9861 A2($elm$core$Platform$Cmd$map, config.transform, selfCmd));
9863var $author$project$Page$Deployment$AppOverridesResponse = function (a) {
9864 return {$: 'AppOverridesResponse', a: a};
9866var $author$project$Api$Endpoint$appOverrides = function (appUrl) {
9868 $author$project$Api$Endpoint$url,
9869 $elm$core$Maybe$Just(appUrl),
9871 ['api', 'v1', 'application_overrides']),
9874var $elm$json$Json$Encode$list = F2(
9875 function (func, entries) {
9878 $elm$core$List$foldl,
9879 _Json_addEntry(func),
9880 _Json_emptyArray(_Utils_Tuple0),
9883var $elm$json$Json$Encode$string = _Json_wrap;
9884var $author$project$Types$OverrideWithDefault$defaultOverrideEncoder = function (defaultOverride) {
9886 $elm$json$Json$Encode$list,
9887 $elm$json$Json$Encode$string,
9890 $author$project$Types$Override$unOverrideName(defaultOverride.name),
9891 defaultOverride.value
9894var $author$project$Types$OverrideWithDefault$OverrideWithDefault = F2(
9895 function (name, value) {
9896 return {name: name, value: value};
9898var $author$project$Types$OverrideWithDefault$defaultOverridesDecode = function () {
9899 var f = function (x) {
9900 if ((x.b && x.b.b) && (!x.b.b.b)) {
9904 return $elm$json$Json$Decode$succeed(
9906 $author$project$Types$OverrideWithDefault$OverrideWithDefault,
9907 $author$project$Types$Override$OverrideName(p),
9910 return $elm$json$Json$Decode$fail('not an override');
9913 return $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$resolve(
9915 $elm$json$Json$Decode$map,
9917 $elm$json$Json$Decode$list($elm$json$Json$Decode$string)));
9919var $elm$http$Http$jsonBody = function (value) {
9923 A2($elm$json$Json$Encode$encode, 0, value));
9925var $author$project$Api$post = F5(
9926 function (config, url, body, decoder, msg) {
9927 return $author$project$Api$Endpoint$request(
9930 expect: A2($author$project$Api$expectJson, msg, decoder),
9931 headers: _List_fromArray(
9933 $author$project$Api$authHeader(config.appAuth)
9936 timeout: $elm$core$Maybe$Nothing,
9937 tracker: $elm$core$Maybe$Nothing,
9938 url: url(config.appUrl)
9941var $author$project$Page$Deployment$reqAppOverrides = F2(
9942 function (config, body) {
9944 $author$project$Api$post,
9946 $author$project$Api$Endpoint$appOverrides,
9947 $elm$http$Http$jsonBody(
9948 A2($elm$json$Json$Encode$list, $author$project$Types$OverrideWithDefault$defaultOverrideEncoder, body)),
9949 $elm$json$Json$Decode$list($author$project$Types$OverrideWithDefault$defaultOverridesDecode),
9950 A2($elm$core$Basics$composeR, $krisajenkins$remotedata$RemoteData$fromResult, $author$project$Page$Deployment$AppOverridesResponse));
9952var $author$project$Page$Deployment$DeleteDeploymentResp = function (a) {
9953 return {$: 'DeleteDeploymentResp', a: a};
9955var $author$project$Api$delete = F5(
9956 function (config, url, body, decoder, msg) {
9957 return $author$project$Api$Endpoint$request(
9960 expect: A2($author$project$Api$expectJson, msg, decoder),
9961 headers: _List_fromArray(
9963 $author$project$Api$authHeader(config.appAuth)
9966 timeout: $elm$core$Maybe$Nothing,
9967 tracker: $elm$core$Maybe$Nothing,
9968 url: url(config.appUrl)
9971var $author$project$Api$Endpoint$deleteDeployment = F2(
9972 function (deploymentName, appUrl) {
9974 $author$project$Api$Endpoint$url,
9975 $elm$core$Maybe$Just(appUrl),
9981 $author$project$Types$Deployment$unDeploymentName(deploymentName)
9985var $author$project$Page$Deployment$reqDeleteDeployment = F2(
9986 function (config, deploymentName) {
9988 $author$project$Api$delete,
9990 $author$project$Api$Endpoint$deleteDeployment(deploymentName),
9991 $elm$http$Http$emptyBody,
9992 $elm$json$Json$Decode$string,
9993 A2($elm$core$Basics$composeR, $krisajenkins$remotedata$RemoteData$fromResult, $author$project$Page$Deployment$DeleteDeploymentResp));
9995var $author$project$Page$Deployment$DeploymentOverridesResponse = function (a) {
9996 return {$: 'DeploymentOverridesResponse', a: a};
9998var $author$project$Api$Endpoint$deploymentOverrides = function (appUrl) {
10000 $author$project$Api$Endpoint$url,
10001 $elm$core$Maybe$Just(appUrl),
10003 ['api', 'v1', 'deployment_overrides']),
10006var $author$project$Page$Deployment$reqDeploymentOverrides = function (config) {
10008 $author$project$Api$get,
10010 $author$project$Api$Endpoint$deploymentOverrides,
10011 $elm$json$Json$Decode$list($author$project$Types$OverrideWithDefault$defaultOverridesDecode),
10012 A2($elm$core$Basics$composeR, $krisajenkins$remotedata$RemoteData$fromResult, $author$project$Page$Deployment$DeploymentOverridesResponse));
10014var $author$project$Page$Deployment$RestoreDeploymentResp = function (a) {
10015 return {$: 'RestoreDeploymentResp', a: a};
10017var $author$project$Api$patch = F4(
10018 function (config, url, decoder, msg) {
10019 return $author$project$Api$Endpoint$request(
10021 body: $elm$http$Http$emptyBody,
10022 expect: A2($author$project$Api$expectJson, msg, decoder),
10023 headers: _List_fromArray(
10025 $author$project$Api$authHeader(config.appAuth)
10028 timeout: $elm$core$Maybe$Nothing,
10029 tracker: $elm$core$Maybe$Nothing,
10030 url: url(config.appUrl)
10033var $author$project$Api$Endpoint$restoreDeployment = F2(
10034 function (deploymentName, appUrl) {
10036 $author$project$Api$Endpoint$url,
10037 $elm$core$Maybe$Just(appUrl),
10043 $author$project$Types$Deployment$unDeploymentName(deploymentName),
10048var $author$project$Page$Deployment$reqRestoreDeployment = F2(
10049 function (config, deploymentName) {
10051 $author$project$Api$patch,
10053 $author$project$Api$Endpoint$restoreDeployment(deploymentName),
10054 $elm$json$Json$Decode$string,
10055 A2($elm$core$Basics$composeR, $krisajenkins$remotedata$RemoteData$fromResult, $author$project$Page$Deployment$RestoreDeploymentResp));
10057var $jinjor$elm_debounce$Debounce$takeAll = F3(
10058 function (send, head, tail) {
10059 return _Utils_Tuple2(
10061 A2(send, head, tail));
10063var $krisajenkins$remotedata$RemoteData$unwrap = F3(
10064 function (_default, _function, remoteData) {
10065 if (remoteData.$ === 'Success') {
10066 var data = remoteData.a;
10067 return _function(data);
10072var $jinjor$elm_debounce$Debounce$update = F4(
10073 function (config, send, msg, _v0) {
10077 return _Utils_Tuple2(
10078 $jinjor$elm_debounce$Debounce$Debounce(d),
10079 $elm$core$Platform$Cmd$none);
10081 var tryAgainAfter = msg.a;
10086 var selfCmd = function () {
10087 if (tryAgainAfter.$ === 'Just') {
10088 var delay = tryAgainAfter.a;
10090 $jinjor$elm_debounce$Debounce$delayCmd,
10092 $jinjor$elm_debounce$Debounce$Flush(
10093 $elm$core$Maybe$Just(delay)));
10095 return $elm$core$Platform$Cmd$none;
10098 var _v3 = A2(send, head, tail);
10100 var sendCmd = _v3.b;
10101 return _Utils_Tuple2(
10102 $jinjor$elm_debounce$Debounce$Debounce(
10105 {input: input, locked: true})),
10106 $elm$core$Platform$Cmd$batch(
10110 A2($elm$core$Platform$Cmd$map, config.transform, selfCmd)
10113 return _Utils_Tuple2(
10114 $jinjor$elm_debounce$Debounce$Debounce(
10118 $elm$core$Platform$Cmd$none);
10121 var lastInputLength = msg.a;
10122 var _v5 = _Utils_Tuple2(
10124 $elm$core$List$length(d.input),
10125 lastInputLength) < 1,
10127 if (_v5.a && _v5.b.b) {
10131 var _v7 = A2(send, head, tail);
10134 return _Utils_Tuple2(
10135 $jinjor$elm_debounce$Debounce$Debounce(
10141 return _Utils_Tuple2(
10142 $jinjor$elm_debounce$Debounce$Debounce(d),
10143 $elm$core$Platform$Cmd$none);
10147var $author$project$Html$Overrides$deleteOverride = F2(
10148 function (ix, model) {
10149 var _delete = function (mOverride) {
10150 var _v0 = _Utils_Tuple2(
10152 A2($elm$core$Dict$get, ix, model.defaultOverrides));
10155 if (_v0.a.$ === 'Nothing') {
10156 if (_v0.b.$ === 'Just') {
10158 var _default = _v0.b.a;
10159 return $elm$core$Maybe$Just(
10160 {name: _default.name, status: $author$project$Html$Overrides$Deleted, value: _default.value});
10165 if (_v0.b.$ === 'Nothing') {
10166 var override = _v0.a.a;
10168 return $elm$core$Maybe$Just(
10171 {status: $author$project$Html$Overrides$Deleted}));
10177 return $elm$core$Maybe$Nothing;
10179 return _Utils_update(
10182 editedOverrides: A3($elm$core$Dict$update, ix, _delete, model.editedOverrides)
10185var $author$project$Html$Overrides$editOverrideName = F3(
10186 function (ix, name, model) {
10187 var editName = function (mOverride) {
10188 var _v0 = _Utils_Tuple2(
10190 A2($elm$core$Dict$get, ix, model.defaultOverrides));
10191 if (_v0.a.$ === 'Just') {
10192 if (_v0.b.$ === 'Just') {
10193 var override = _v0.a.a;
10194 var _default = _v0.b.a;
10196 $author$project$Types$Override$OverrideName(name),
10197 _default.name) && _Utils_eq(override.value, _default.value)) ? $elm$core$Maybe$Nothing : $elm$core$Maybe$Just(
10201 name: $author$project$Types$Override$OverrideName(name),
10202 status: $author$project$Html$Overrides$Edited
10205 var override = _v0.a.a;
10207 return $elm$core$Maybe$Just(
10211 name: $author$project$Types$Override$OverrideName(name),
10212 status: $author$project$Html$Overrides$New
10216 if (_v0.b.$ === 'Just') {
10218 var _default = _v0.b.a;
10220 $author$project$Types$Override$OverrideName(name),
10221 _default.name) ? $elm$core$Maybe$Nothing : $elm$core$Maybe$Just(
10223 name: $author$project$Types$Override$OverrideName(name),
10224 status: $author$project$Html$Overrides$Edited,
10225 value: _default.value
10228 return $elm$core$Maybe$Nothing;
10232 return _Utils_update(
10235 editedOverrides: A3($elm$core$Dict$update, ix, editName, model.editedOverrides)
10238var $author$project$Html$Overrides$editOverrideValue = F3(
10239 function (ix, value, model) {
10240 var editName = function (mOverride) {
10241 var _v0 = _Utils_Tuple2(
10243 A2($elm$core$Dict$get, ix, model.defaultOverrides));
10244 if (_v0.a.$ === 'Just') {
10245 if (_v0.b.$ === 'Just') {
10246 var override = _v0.a.a;
10247 var _default = _v0.b.a;
10248 return (_Utils_eq(value, _default.value) && _Utils_eq(override.name, _default.name)) ? $elm$core$Maybe$Nothing : $elm$core$Maybe$Just(
10251 {status: $author$project$Html$Overrides$Edited, value: value}));
10253 var override = _v0.a.a;
10255 return $elm$core$Maybe$Just(
10258 {status: $author$project$Html$Overrides$New, value: value}));
10261 if (_v0.b.$ === 'Just') {
10263 var _default = _v0.b.a;
10264 return _Utils_eq(value, _default.value) ? $elm$core$Maybe$Nothing : $elm$core$Maybe$Just(
10265 {name: _default.name, status: $author$project$Html$Overrides$Edited, value: value});
10267 return $elm$core$Maybe$Nothing;
10271 return _Utils_update(
10274 editedOverrides: A3($elm$core$Dict$update, ix, editName, model.editedOverrides)
10277var $author$project$Html$Overrides$newOverride = function (model) {
10278 return _Utils_update(
10281 editedOverrides: A3(
10282 $elm$core$Dict$insert,
10285 $author$project$Html$Overrides$OverrideData,
10286 $author$project$Types$Override$OverrideName(''),
10288 $author$project$Html$Overrides$New),
10289 model.editedOverrides),
10290 nextId: model.nextId + 1
10293var $elm$core$Set$remove = F2(
10294 function (key, _v0) {
10296 return $elm$core$Set$Set_elm_builtin(
10297 A2($elm$core$Dict$remove, key, dict));
10299var $author$project$Html$Overrides$restoreOverride = F2(
10300 function (ix, model) {
10301 var restore = function (mOverride) {
10302 var _v0 = _Utils_Tuple2(
10304 A2($elm$core$Dict$get, ix, model.defaultOverrides));
10305 if ((_v0.a.$ === 'Just') && (_v0.b.$ === 'Nothing')) {
10306 var override = _v0.a.a;
10308 return $elm$core$Maybe$Just(
10311 {status: $author$project$Html$Overrides$New}));
10313 return $elm$core$Maybe$Nothing;
10316 return _Utils_update(
10319 editedOverrides: A3($elm$core$Dict$update, ix, restore, model.editedOverrides)
10322var $author$project$Html$Overrides$update = F2(
10323 function (msg, model) {
10325 case 'AddOverride':
10326 return _Utils_Tuple2(
10327 $author$project$Html$Overrides$newOverride(model),
10328 $elm$core$Platform$Cmd$none);
10329 case 'DeleteOverride':
10331 return _Utils_Tuple2(
10332 A2($author$project$Html$Overrides$deleteOverride, ix, model),
10333 $elm$core$Platform$Cmd$none);
10334 case 'RestoreOverride':
10336 return _Utils_Tuple2(
10337 A2($author$project$Html$Overrides$restoreOverride, ix, model),
10338 $elm$core$Platform$Cmd$none);
10339 case 'EditOverrideName':
10342 return _Utils_Tuple2(
10343 A3($author$project$Html$Overrides$editOverrideName, ix, name, model),
10344 $elm$core$Platform$Cmd$none);
10345 case 'EditOverrideValue':
10348 return _Utils_Tuple2(
10349 A3($author$project$Html$Overrides$editOverrideValue, ix, value, model),
10350 $elm$core$Platform$Cmd$none);
10353 return _Utils_Tuple2(
10357 openedNames: A2($elm$core$Set$insert, name, model.openedNames)
10359 $elm$core$Platform$Cmd$none);
10362 return _Utils_Tuple2(
10366 openedNames: A2($elm$core$Set$remove, name, model.openedNames)
10368 $elm$core$Platform$Cmd$none);
10369 case 'ShowAutocomplete':
10371 return _Utils_Tuple2(
10375 autocomplete: $elm$core$Maybe$Just(ix)
10377 $elm$core$Platform$Cmd$none);
10379 return _Utils_Tuple2(
10382 {autocomplete: $elm$core$Maybe$Nothing}),
10383 $elm$core$Platform$Cmd$none);
10386var $turboMaCk$any_dict$Dict$Any$insert = F3(
10387 function (k, v, _v0) {
10389 return $turboMaCk$any_dict$Dict$Any$AnyDict(
10394 $elm$core$Dict$insert,
10396 _Utils_Tuple2(k, v),
10400var $turboMaCk$any_set$Set$Any$insert = F2(
10401 function (a, _v0) {
10403 return $turboMaCk$any_set$Set$Any$AnySet(
10404 A3($turboMaCk$any_dict$Dict$Any$insert, a, _Utils_Tuple0, dict));
10406var $turboMaCk$any_dict$Dict$Any$remove = F2(
10407 function (k, _v0) {
10409 return $turboMaCk$any_dict$Dict$Any$AnyDict(
10414 $elm$core$Dict$remove,
10419var $turboMaCk$any_set$Set$Any$remove = F2(
10420 function (a, _v0) {
10422 return $turboMaCk$any_set$Set$Any$AnySet(
10423 A2($turboMaCk$any_dict$Dict$Any$remove, a, dict));
10425var $author$project$Page$Deployment$ActionTable$update = F2(
10426 function (cmd, model) {
10428 case 'OpenDeploymentOverrides':
10430 return _Utils_Tuple2(
10434 openedDeployemntOverrides: A2($turboMaCk$any_set$Set$Any$insert, id, model.openedDeployemntOverrides)
10436 $elm$core$Platform$Cmd$none);
10437 case 'CloseDeploymentOverrides':
10439 return _Utils_Tuple2(
10443 openedDeployemntOverrides: A2($turboMaCk$any_set$Set$Any$remove, id, model.openedDeployemntOverrides)
10445 $elm$core$Platform$Cmd$none);
10446 case 'OpenAppOverrides':
10448 return _Utils_Tuple2(
10452 openedAppOverrides: A2($turboMaCk$any_set$Set$Any$insert, id, model.openedAppOverrides)
10454 $elm$core$Platform$Cmd$none);
10457 return _Utils_Tuple2(
10461 openedAppOverrides: A2($turboMaCk$any_set$Set$Any$remove, id, model.openedAppOverrides)
10463 $elm$core$Platform$Cmd$none);
10466var $author$project$Page$Sidebar$CreateUpdate$AppOverridesMsg = function (a) {
10467 return {$: 'AppOverridesMsg', a: a};
10469var $author$project$Page$Sidebar$CreateUpdate$DeploymentOverridesMsg = function (a) {
10470 return {$: 'DeploymentOverridesMsg', a: a};
10472var $author$project$Html$Overrides$Write = {$: 'Write'};
10473var $author$project$Html$Overrides$dataChanged = function (msg) {
10475 case 'DeleteOverride':
10477 case 'RestoreOverride':
10479 case 'EditOverrideName':
10481 case 'EditOverrideValue':
10487var $elm$core$Dict$values = function (dict) {
10489 $elm$core$Dict$foldr,
10491 function (key, value, valueList) {
10492 return A2($elm$core$List$cons, value, valueList);
10497var $author$project$Html$Overrides$getEditedOverrides = function (model) {
10499 $elm$core$List$map,
10501 var _v0 = o.status;
10504 return A2($author$project$Types$Override$Override, o.name, $author$project$Types$Override$ValueDeleted);
10507 $author$project$Types$Override$Override,
10509 $author$project$Types$Override$ValueAdded(o.value));
10512 $author$project$Types$Override$Override,
10514 $author$project$Types$Override$ValueAdded(o.value));
10517 $elm$core$Dict$values(model.editedOverrides));
10519var $author$project$Html$Overrides$getFullOverrides = function (model) {
10521 $elm$core$Dict$merge,
10523 function (_v0, e, res) {
10524 var _v1 = e.status;
10525 if (_v1.$ === 'New') {
10527 $elm$core$List$cons,
10528 {name: e.name, value: e.value},
10535 function (_v2, e, _v3, res) {
10536 var _v4 = e.status;
10537 if (_v4.$ === 'Edited') {
10539 $elm$core$List$cons,
10540 {name: e.name, value: e.value},
10547 function (_v5, d, res) {
10548 return A2($elm$core$List$cons, d, res);
10550 model.editedOverrides,
10551 model.defaultOverrides,
10554var $author$project$Page$Sidebar$CreateUpdate$DeploymentOverrideKeysResponse = function (a) {
10555 return {$: 'DeploymentOverrideKeysResponse', a: a};
10557var $author$project$Api$Endpoint$deploymentOverrideKeys = function (appUrl) {
10559 $author$project$Api$Endpoint$url,
10560 $elm$core$Maybe$Just(appUrl),
10562 ['api', 'v1', 'deployment_override_keys']),
10565var $author$project$Types$Override$overrideNameDecoder = A2($elm$json$Json$Decode$map, $author$project$Types$Override$OverrideName, $elm$json$Json$Decode$string);
10566var $author$project$Page$Sidebar$CreateUpdate$reqDeploymentOverrideKeys = function (config) {
10568 $author$project$Api$get,
10570 $author$project$Api$Endpoint$deploymentOverrideKeys,
10571 $elm$json$Json$Decode$list($author$project$Types$Override$overrideNameDecoder),
10572 A2($elm$core$Basics$composeR, $krisajenkins$remotedata$RemoteData$fromResult, $author$project$Page$Sidebar$CreateUpdate$DeploymentOverrideKeysResponse));
10574var $author$project$Page$Sidebar$CreateUpdate$DeploymentOverridesResponse = function (a) {
10575 return {$: 'DeploymentOverridesResponse', a: a};
10577var $author$project$Page$Sidebar$CreateUpdate$reqDeploymentOverrides = function (config) {
10579 $author$project$Api$get,
10581 $author$project$Api$Endpoint$deploymentOverrides,
10582 $elm$json$Json$Decode$list($author$project$Types$OverrideWithDefault$defaultOverridesDecode),
10583 A2($elm$core$Basics$composeR, $krisajenkins$remotedata$RemoteData$fromResult, $author$project$Page$Sidebar$CreateUpdate$DeploymentOverridesResponse));
10585var $author$project$Page$Sidebar$CreateUpdate$initCreateReq = function (config) {
10586 return $elm$core$Platform$Cmd$batch(
10589 $author$project$Page$Sidebar$CreateUpdate$reqDeploymentOverrideKeys(config),
10590 $author$project$Page$Sidebar$CreateUpdate$reqDeploymentOverrides(config)
10593var $author$project$Page$Sidebar$CreateUpdate$AppOverrideKeysResponse = function (a) {
10594 return {$: 'AppOverrideKeysResponse', a: a};
10596var $author$project$Api$Endpoint$appOverrideKeys = function (appUrl) {
10598 $author$project$Api$Endpoint$url,
10599 $elm$core$Maybe$Just(appUrl),
10601 ['api', 'v1', 'application_override_keys']),
10604var $author$project$Page$Sidebar$CreateUpdate$reqAppOverrideKeys = F2(
10605 function (config, body) {
10607 $author$project$Api$post,
10609 $author$project$Api$Endpoint$appOverrideKeys,
10610 $elm$http$Http$jsonBody(
10611 A2($elm$json$Json$Encode$list, $author$project$Types$OverrideWithDefault$defaultOverrideEncoder, body)),
10612 $elm$json$Json$Decode$list($author$project$Types$Override$overrideNameDecoder),
10613 A2($elm$core$Basics$composeR, $krisajenkins$remotedata$RemoteData$fromResult, $author$project$Page$Sidebar$CreateUpdate$AppOverrideKeysResponse));
10615var $author$project$Page$Sidebar$CreateUpdate$AppOverridesResponse = function (a) {
10616 return {$: 'AppOverridesResponse', a: a};
10618var $author$project$Page$Sidebar$CreateUpdate$reqAppOverrides = F2(
10619 function (config, body) {
10621 $author$project$Api$post,
10623 $author$project$Api$Endpoint$appOverrides,
10624 $elm$http$Http$jsonBody(
10625 A2($elm$json$Json$Encode$list, $author$project$Types$OverrideWithDefault$defaultOverrideEncoder, body)),
10626 $elm$json$Json$Decode$list($author$project$Types$OverrideWithDefault$defaultOverridesDecode),
10627 A2($elm$core$Basics$composeR, $krisajenkins$remotedata$RemoteData$fromResult, $author$project$Page$Sidebar$CreateUpdate$AppOverridesResponse));
10629var $author$project$Page$Sidebar$CreateUpdate$SaveDeploymentResponse = function (a) {
10630 return {$: 'SaveDeploymentResponse', a: a};
10632var $elm$json$Json$Encode$object = function (pairs) {
10635 $elm$core$List$foldl,
10637 function (_v0, obj) {
10640 return A3(_Json_addField, k, v, obj);
10642 _Json_emptyObject(_Utils_Tuple0),
10645var $author$project$Types$Override$overrideValueEncode = function (value) {
10646 if (value.$ === 'ValueAdded') {
10648 return $elm$json$Json$Encode$object(
10653 $elm$json$Json$Encode$string('ValueAdded')),
10656 $elm$json$Json$Encode$string(v))
10659 return $elm$json$Json$Encode$object(
10664 $elm$json$Json$Encode$string('ValueDeleted'))
10668var $author$project$Types$Override$overrideHelperEncode = function (helper) {
10669 if (helper.$ === 'OverrideName_') {
10670 var name = helper.a;
10671 return $elm$json$Json$Encode$string(name);
10673 var val = helper.a;
10674 return $author$project$Types$Override$overrideValueEncode(val);
10677var $author$project$Types$Override$overrideToHelper = function (override) {
10678 return _List_fromArray(
10680 $author$project$Types$Override$OverrideName_(
10681 $author$project$Types$Override$unOverrideName(override.name)),
10682 $author$project$Types$Override$OverrideValue_(override.value)
10685var $author$project$Types$Override$overrideEncode = function (override) {
10686 var helper = $author$project$Types$Override$overrideToHelper(override);
10687 return A2($elm$json$Json$Encode$list, $author$project$Types$Override$overrideHelperEncode, helper);
10689var $author$project$Types$Deployment$infoEncode = function (info) {
10690 return $elm$json$Json$Encode$object(
10695 $elm$json$Json$Encode$string(
10696 $author$project$Types$Deployment$unDeploymentName(info.name))),
10699 A2($elm$json$Json$Encode$list, $author$project$Types$Override$overrideEncode, info.appOverrides)),
10701 'deployment_overrides',
10702 A2($elm$json$Json$Encode$list, $author$project$Types$Override$overrideEncode, info.deploymentOverrides))
10705var $author$project$Api$Endpoint$saveDeployment = function (appUrl) {
10707 $author$project$Api$Endpoint$url,
10708 $elm$core$Maybe$Just(appUrl),
10710 ['api', 'v1', 'deployments']),
10713var $author$project$Page$Sidebar$CreateUpdate$reqCreateDeployment = F2(
10714 function (config, body) {
10716 $author$project$Api$post,
10718 $author$project$Api$Endpoint$saveDeployment,
10719 $elm$http$Http$jsonBody(
10720 $author$project$Types$Deployment$infoEncode(body)),
10721 $elm$json$Json$Decode$succeed(_Utils_Tuple0),
10722 A2($elm$core$Basics$composeR, $krisajenkins$remotedata$RemoteData$fromResult, $author$project$Page$Sidebar$CreateUpdate$SaveDeploymentResponse));
10724var $author$project$Api$put = F5(
10725 function (config, url, body, decoder, msg) {
10726 return $author$project$Api$Endpoint$request(
10729 expect: A2($author$project$Api$expectJson, msg, decoder),
10730 headers: _List_fromArray(
10732 $author$project$Api$authHeader(config.appAuth)
10735 timeout: $elm$core$Maybe$Nothing,
10736 tracker: $elm$core$Maybe$Nothing,
10737 url: url(config.appUrl)
10740var $author$project$Api$Endpoint$updateDeployment = F2(
10741 function (deploymentName, appUrl) {
10743 $author$project$Api$Endpoint$url,
10744 $elm$core$Maybe$Just(appUrl),
10750 $author$project$Types$Deployment$unDeploymentName(deploymentName)
10754var $author$project$Types$Deployment$updateInfoEncode = function (info) {
10755 return $elm$json$Json$Encode$object(
10760 A2($elm$json$Json$Encode$list, $author$project$Types$Override$overrideEncode, info.appOverrides)),
10762 'deployment_overrides',
10763 A2($elm$json$Json$Encode$list, $author$project$Types$Override$overrideEncode, info.deploymentOverrides))
10766var $author$project$Page$Sidebar$CreateUpdate$reqUpdateDeployment = F3(
10767 function (deploymentName, config, body) {
10769 $author$project$Api$put,
10771 $author$project$Api$Endpoint$updateDeployment(deploymentName),
10772 $elm$http$Http$jsonBody(
10773 $author$project$Types$Deployment$updateInfoEncode(body)),
10774 $elm$json$Json$Decode$succeed(_Utils_Tuple0),
10775 A2($elm$core$Basics$composeR, $krisajenkins$remotedata$RemoteData$fromResult, $author$project$Page$Sidebar$CreateUpdate$SaveDeploymentResponse));
10777var $author$project$Page$Sidebar$CreateUpdate$update = F2(
10778 function (cmd, model) {
10779 var updateWith = F3(
10780 function (toModel, toMsg, _v10) {
10781 var subModel = _v10.a;
10782 var subCmd = _v10.b;
10783 return _Utils_Tuple2(
10785 A2($elm$core$Platform$Cmd$map, toMsg, subCmd));
10787 var initOverrides = F4(
10788 function (name, edits, defaults, keys) {
10789 return A5($author$project$Html$Overrides$init, defaults, edits, keys, $author$project$Html$Overrides$Write, name);
10791 var _v0 = function () {
10792 var _v1 = model.deployment;
10793 if (_v1.$ === 'Success') {
10794 var deployment = _v1.a;
10795 return _Utils_Tuple2(deployment.deployment.appOverrides, deployment.deployment.deploymentOverrides);
10797 return _Utils_Tuple2(_List_Nil, _List_Nil);
10800 var appEdits = _v0.a;
10801 var deployEdits = _v0.b;
10803 case 'DeploymentOverrideKeysResponse':
10805 return _Utils_Tuple2(
10809 deploymentKeys: keys,
10810 deploymentOverrides: A3(
10811 $krisajenkins$remotedata$RemoteData$map2,
10812 A2(initOverrides, 'Deployment configuration', deployEdits),
10813 model.deploymentDefaults,
10816 $elm$core$Platform$Cmd$none);
10817 case 'DeploymentOverridesResponse':
10818 var overrides = cmd.a;
10819 return _Utils_Tuple2(
10823 deploymentDefaults: overrides,
10824 deploymentOverrides: A3(
10825 $krisajenkins$remotedata$RemoteData$map2,
10826 A2(initOverrides, 'Deployment configuration', deployEdits),
10828 model.deploymentKeys)
10831 if (overrides.$ === 'Success') {
10832 var defaults = overrides.a;
10833 return $elm$core$Platform$Cmd$batch(
10836 A2($author$project$Page$Sidebar$CreateUpdate$reqAppOverrideKeys, model.config, defaults),
10837 A2($author$project$Page$Sidebar$CreateUpdate$reqAppOverrides, model.config, defaults)
10840 return $elm$core$Platform$Cmd$none;
10843 case 'AppOverrideKeysResponse':
10845 return _Utils_Tuple2(
10851 $krisajenkins$remotedata$RemoteData$map2,
10852 A2(initOverrides, 'App configuration', appEdits),
10856 $elm$core$Platform$Cmd$none);
10857 case 'AppOverridesResponse':
10858 var overrides = cmd.a;
10859 return _Utils_Tuple2(
10863 appDefaults: overrides,
10865 $krisajenkins$remotedata$RemoteData$map2,
10866 A2(initOverrides, 'App configuration', appEdits),
10870 $elm$core$Platform$Cmd$none);
10872 return _Utils_Tuple2(
10875 {visibility: false}),
10876 $elm$core$Platform$Cmd$none);
10879 return _Utils_Tuple2(
10883 name: $author$project$Types$Deployment$DeploymentName(name),
10886 $elm$core$Platform$Cmd$none);
10887 case 'AppOverridesMsg':
10888 var subMsg = cmd.a;
10889 var _v4 = model.appOverrides;
10890 if (_v4.$ === 'Success') {
10891 var appOverrides = _v4.a;
10894 function (updated) {
10895 return _Utils_update(
10898 appOverrides: $krisajenkins$remotedata$RemoteData$Success(updated)
10901 $author$project$Page$Sidebar$CreateUpdate$AppOverridesMsg,
10902 A2($author$project$Html$Overrides$update, subMsg, appOverrides));
10904 return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);
10906 case 'DeploymentOverridesMsg':
10907 var subMsg = cmd.a;
10908 var _v5 = model.deploymentOverrides;
10909 if (_v5.$ === 'Success') {
10910 var deploymentOverrides = _v5.a;
10913 function (deploymentOverrides_) {
10914 return _Utils_update(
10917 deploymentOverrides: $krisajenkins$remotedata$RemoteData$Success(deploymentOverrides_)
10920 $author$project$Page$Sidebar$CreateUpdate$DeploymentOverridesMsg,
10921 A2($author$project$Html$Overrides$update, subMsg, deploymentOverrides));
10922 var model_ = _v6.a;
10924 var _v7 = _Utils_Tuple2(
10925 $author$project$Html$Overrides$dataChanged(subMsg),
10926 model_.deploymentOverrides);
10927 if (_v7.a && (_v7.b.$ === 'Success')) {
10928 var deploymentOverrides_ = _v7.b.a;
10929 return _Utils_Tuple2(
10932 {appOverrides: $krisajenkins$remotedata$RemoteData$Loading}),
10933 $elm$core$Platform$Cmd$batch(
10937 $author$project$Page$Sidebar$CreateUpdate$reqAppOverrideKeys,
10939 $author$project$Html$Overrides$getFullOverrides(deploymentOverrides_)),
10941 $author$project$Page$Sidebar$CreateUpdate$reqAppOverrides,
10943 $author$project$Html$Overrides$getFullOverrides(deploymentOverrides_)),
10947 return _Utils_Tuple2(model_, cmd_);
10950 return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);
10953 var _v8 = _Utils_Tuple2(model.deploymentOverrides, model.appOverrides);
10954 if ((_v8.a.$ === 'Success') && (_v8.b.$ === 'Success')) {
10955 var deploymentOverrides = _v8.a.a;
10956 var appOverrides = _v8.b.a;
10957 var deploymentOverridesData = $author$project$Html$Overrides$getEditedOverrides(deploymentOverrides);
10958 var appOverridesData = $author$project$Html$Overrides$getEditedOverrides(appOverrides);
10959 var info = {appOverrides: appOverridesData, deploymentOverrides: deploymentOverridesData, name: model.name};
10960 return _Utils_Tuple2(
10963 {saveResp: $krisajenkins$remotedata$RemoteData$Loading}),
10965 var _v9 = model.mode;
10966 if (_v9.$ === 'Create') {
10967 return A2($author$project$Page$Sidebar$CreateUpdate$reqCreateDeployment, model.config, info);
10969 return A3($author$project$Page$Sidebar$CreateUpdate$reqUpdateDeployment, model.name, model.config, info);
10973 return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);
10975 case 'SaveDeploymentResponse':
10976 if (cmd.a.$ === 'Success') {
10977 return _Utils_Tuple2(
10980 {visibility: false}),
10981 $elm$core$Platform$Cmd$none);
10984 return _Utils_Tuple2(
10988 $elm$core$Platform$Cmd$none);
10992 return _Utils_Tuple2(
10998 $krisajenkins$remotedata$RemoteData$unwrap,
10999 $author$project$Types$Deployment$DeploymentName(''),
11001 return x.deployment.name;
11005 $author$project$Page$Sidebar$CreateUpdate$initCreateReq(model.config));
11008var $author$project$Page$Deployment$update = F2(
11009 function (cmd, model) {
11010 var updateWith = F3(
11011 function (toModel, toMsg, _v8) {
11012 var subModel = _v8.a;
11013 var subCmd = _v8.b;
11014 return _Utils_Tuple2(
11016 A2($elm$core$Platform$Cmd$map, toMsg, subCmd));
11018 var initOverrides = F3(
11019 function (name, defaults, edits) {
11020 return A5($author$project$Html$Overrides$init, defaults, edits, _List_Nil, $author$project$Html$Overrides$Read, name);
11023 case 'DeploymentFullInfoResponse':
11024 var deployment = cmd.a;
11025 return _Utils_Tuple2(
11028 {deployment: deployment}),
11029 $elm$core$Platform$Cmd$batch(
11032 $author$project$Page$Deployment$reqDeploymentOverrides(model.config)
11034 case 'DeploymentInfoResponse':
11036 return _Utils_Tuple2(
11040 $elm$core$Platform$Cmd$none);
11042 var _v1 = A3($jinjor$elm_debounce$Debounce$push, $author$project$Page$Deployment$debounceConfig, _Utils_Tuple0, model.debounce);
11043 var debounce = _v1.a;
11044 var subCmd = _v1.b;
11045 return _Utils_Tuple2(
11048 {debounce: debounce}),
11050 case 'DebounceMsg':
11052 var restoreDisabled = A3(
11053 $krisajenkins$remotedata$RemoteData$unwrap,
11056 return $author$project$Types$Deployment$isDeploymentArchived(x) ? model.restoreDisabled : false;
11060 $jinjor$elm_debounce$Debounce$update,
11061 $author$project$Page$Deployment$debounceConfig,
11062 $jinjor$elm_debounce$Debounce$takeAll(
11064 function (_v3, _v4) {
11065 return $elm$core$Platform$Cmd$batch(
11068 A2($author$project$Page$Deployment$reqDeployment, model.deploymentName, model.config),
11069 A2($author$project$Page$Deployment$reqLogs, model.deploymentName, model.config)
11074 var debounce = _v2.a;
11075 var subCmd = _v2.b;
11076 return _Utils_Tuple2(
11079 {debounce: debounce, restoreDisabled: restoreDisabled}),
11081 case 'DeploymentOverridesResponse':
11082 var overrides = cmd.a;
11083 return _Utils_Tuple2(
11087 deploymentDefaults: overrides,
11088 deploymentOverrides: A3(
11089 $krisajenkins$remotedata$RemoteData$map2,
11090 initOverrides('Deployment configuration'),
11093 $krisajenkins$remotedata$RemoteData$map,
11095 return x.deployment.deploymentOverrides;
11100 if (overrides.$ === 'Success') {
11101 var defaults = overrides.a;
11102 return A2($author$project$Page$Deployment$reqAppOverrides, model.config, defaults);
11104 return $elm$core$Platform$Cmd$none;
11107 case 'AppOverridesResponse':
11108 var overrides = cmd.a;
11109 return _Utils_Tuple2(
11113 appDefaults: overrides,
11115 $krisajenkins$remotedata$RemoteData$map2,
11116 initOverrides('App configuration'),
11119 $krisajenkins$remotedata$RemoteData$map,
11121 return x.deployment.appOverrides;
11125 $elm$core$Platform$Cmd$none);
11126 case 'AppOverridesMsg':
11127 var subMsg = cmd.a;
11128 var _v6 = model.appOverrides;
11129 if (_v6.$ === 'Success') {
11130 var appOverrides = _v6.a;
11133 function (updated) {
11134 return _Utils_update(
11137 appOverrides: $krisajenkins$remotedata$RemoteData$Success(updated)
11140 $author$project$Page$Deployment$AppOverridesMsg,
11141 A2($author$project$Html$Overrides$update, subMsg, appOverrides));
11143 return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);
11145 case 'DeploymentOverridesMsg':
11146 var subMsg = cmd.a;
11147 var _v7 = model.deploymentOverrides;
11148 if (_v7.$ === 'Success') {
11149 var deploymentOverrides = _v7.a;
11152 function (updated) {
11153 return _Utils_update(
11156 deploymentOverrides: $krisajenkins$remotedata$RemoteData$Success(updated)
11159 $author$project$Page$Deployment$DeploymentOverridesMsg,
11160 A2($author$project$Html$Overrides$update, subMsg, deploymentOverrides));
11162 return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);
11164 case 'ShowSidebar':
11165 var deployment = cmd.a;
11166 return _Utils_Tuple2(
11170 sidebar: A3($author$project$Page$Sidebar$CreateUpdate$initUpdate, model.config, true, deployment.deployment.name)
11173 $elm$core$Platform$Cmd$map,
11174 $author$project$Page$Deployment$CreateSidebarMsg,
11175 A2($author$project$Page$Sidebar$CreateUpdate$initUpdateReq, model.config, deployment.deployment.name)));
11176 case 'CreateSidebarMsg':
11177 var subMsg = cmd.a;
11180 function (sidebar) {
11181 return _Utils_update(
11183 {sidebar: sidebar});
11185 $author$project$Page$Deployment$CreateSidebarMsg,
11186 A2($author$project$Page$Sidebar$CreateUpdate$update, subMsg, model.sidebar));
11188 var subMsg = cmd.a;
11191 function (updated) {
11192 return _Utils_update(
11194 {actionTable: updated});
11196 $author$project$Page$Deployment$ActionMsg,
11197 A2($author$project$Page$Deployment$ActionTable$update, subMsg, model.actionTable));
11198 case 'OpenArchivePopup':
11199 var deploymentName = cmd.a;
11200 return _Utils_Tuple2(
11204 archivePopup: $elm$core$Maybe$Just(deploymentName)
11206 $elm$core$Platform$Cmd$none);
11207 case 'CloseArchivePopup':
11208 return _Utils_Tuple2(
11211 {archivePopup: $elm$core$Maybe$Nothing}),
11212 $elm$core$Platform$Cmd$none);
11213 case 'DeleteDeploymentReq':
11214 var deploymentName = cmd.a;
11215 return _Utils_Tuple2(
11218 {archivePopup: $elm$core$Maybe$Nothing}),
11219 A2($author$project$Page$Deployment$reqDeleteDeployment, model.config, deploymentName));
11220 case 'DeleteDeploymentResp':
11221 return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);
11222 case 'RestoreDeploymentReq':
11223 var deploymentName = cmd.a;
11224 return _Utils_Tuple2(
11227 {restoreDisabled: true}),
11228 A2($author$project$Page$Deployment$reqRestoreDeployment, model.config, deploymentName));
11230 return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);
11233var $author$project$Page$Deployments$CreateSidebarMsg = function (a) {
11234 return {$: 'CreateSidebarMsg', a: a};
11236var $author$project$Page$Deployments$DebounceMsg = function (a) {
11237 return {$: 'DebounceMsg', a: a};
11239var $author$project$Page$Deployments$debounceConfig = {
11240 strategy: $jinjor$elm_debounce$Debounce$soon(2000),
11241 transform: $author$project$Page$Deployments$DebounceMsg
11243var $author$project$Route$routeToPieces = function (page) {
11244 if (page.$ === 'Deployments') {
11245 return _List_fromArray(
11248 var deployment = page.a;
11249 return _List_fromArray(
11252 $author$project$Types$Deployment$unDeploymentName(deployment)
11256var $author$project$Route$routeToString = function (page) {
11258 $elm$core$String$join,
11260 $author$project$Route$routeToPieces(page));
11262var $author$project$Route$pushUrl = F2(
11263 function (key, route) {
11265 $elm$browser$Browser$Navigation$pushUrl,
11267 $author$project$Route$routeToString(route));
11269var $author$project$Page$Deployments$Table$DeleteDeploymentResp = function (a) {
11270 return {$: 'DeleteDeploymentResp', a: a};
11272var $author$project$Page$Deployments$Table$reqDeleteDeployment = F2(
11273 function (config, deploymentName) {
11275 $author$project$Api$delete,
11277 $author$project$Api$Endpoint$deleteDeployment(deploymentName),
11278 $elm$http$Http$emptyBody,
11279 $elm$json$Json$Decode$string,
11280 A2($elm$core$Basics$composeR, $krisajenkins$remotedata$RemoteData$fromResult, $author$project$Page$Deployments$Table$DeleteDeploymentResp));
11282var $author$project$Page$Deployments$Table$RestoreDeploymentResp = function (a) {
11283 return {$: 'RestoreDeploymentResp', a: a};
11285var $author$project$Page$Deployments$Table$reqRestoreDeployment = F2(
11286 function (config, deploymentName) {
11288 $author$project$Api$patch,
11290 $author$project$Api$Endpoint$restoreDeployment(deploymentName),
11291 $elm$json$Json$Decode$string,
11292 A2($elm$core$Basics$composeR, $krisajenkins$remotedata$RemoteData$fromResult, $author$project$Page$Deployments$Table$RestoreDeploymentResp));
11294var $author$project$Page$Deployments$Table$update = F2(
11295 function (cmd, model) {
11297 case 'SortChanged':
11299 return _Utils_Tuple2(
11303 $elm$core$Platform$Cmd$none);
11304 case 'OpenDeploymentOverrides':
11306 return _Utils_Tuple2(
11310 openedDeployemntOverrides: A2($turboMaCk$any_set$Set$Any$insert, name, model.openedDeployemntOverrides)
11312 $elm$core$Platform$Cmd$none);
11313 case 'CloseDeploymentOverrides':
11315 return _Utils_Tuple2(
11319 openedDeployemntOverrides: A2($turboMaCk$any_set$Set$Any$remove, name, model.openedDeployemntOverrides)
11321 $elm$core$Platform$Cmd$none);
11322 case 'OpenAppOverrides':
11324 return _Utils_Tuple2(
11328 openedAppOverrides: A2($turboMaCk$any_set$Set$Any$insert, name, model.openedAppOverrides)
11330 $elm$core$Platform$Cmd$none);
11331 case 'CloseAppOverrides':
11333 return _Utils_Tuple2(
11337 openedAppOverrides: A2($turboMaCk$any_set$Set$Any$remove, name, model.openedAppOverrides)
11339 $elm$core$Platform$Cmd$none);
11342 return _Utils_Tuple2(
11346 menuButton: $elm$core$Maybe$Just(name)
11348 $elm$core$Platform$Cmd$none);
11350 return _Utils_Tuple2(
11353 {menuButton: $elm$core$Maybe$Nothing}),
11354 $elm$core$Platform$Cmd$none);
11355 case 'OpenArchivePopup':
11356 var deploymentName = cmd.a;
11357 return _Utils_Tuple2(
11361 archivePopup: $elm$core$Maybe$Just(deploymentName)
11363 $elm$core$Platform$Cmd$none);
11364 case 'CloseArchivePopup':
11365 return _Utils_Tuple2(
11368 {archivePopup: $elm$core$Maybe$Nothing}),
11369 $elm$core$Platform$Cmd$none);
11370 case 'DeleteDeploymentReq':
11371 var deploymentName = cmd.a;
11372 return _Utils_Tuple2(
11375 {archivePopup: $elm$core$Maybe$Nothing}),
11376 A2($author$project$Page$Deployments$Table$reqDeleteDeployment, model.config, deploymentName));
11377 case 'DeleteDeploymentResp':
11378 return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);
11379 case 'RestoreDeploymentReq':
11380 var deploymentName = cmd.a;
11381 return _Utils_Tuple2(
11384 {menuButton: $elm$core$Maybe$Nothing}),
11385 A2($author$project$Page$Deployments$Table$reqRestoreDeployment, model.config, deploymentName));
11386 case 'RestoreDeploymentResp':
11387 return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);
11388 case 'GoToDeployment':
11389 var deploymentName = cmd.a;
11390 return _Utils_Tuple2(
11393 $author$project$Route$pushUrl,
11394 model.settings.navKey,
11395 $author$project$Route$Deployment(deploymentName)));
11397 return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);
11400var $author$project$Page$Deployments$update = F2(
11401 function (cmd, model) {
11402 var updateWith = F3(
11403 function (toModel, toMsg, _v6) {
11404 var subModel = _v6.a;
11405 var subCmd = _v6.b;
11406 return _Utils_Tuple2(
11408 A2($elm$core$Platform$Cmd$map, toMsg, subCmd));
11411 case 'DeploymentsResponse':
11412 var deployments = cmd.a;
11413 var latestUpd = function () {
11414 if (deployments.$ === 'Success') {
11417 return model.updated;
11420 return _Utils_Tuple2(
11423 {deployments: deployments, updated: latestUpd}),
11424 $elm$core$Platform$Cmd$none);
11425 case 'SearchInput':
11426 var search = cmd.a;
11427 return _Utils_Tuple2(
11431 $elm$core$Platform$Cmd$none);
11432 case 'ActiveTableMsg':
11433 if (cmd.a.$ === 'ShowEditSidebar') {
11434 var deploymentName = cmd.a.a;
11435 return _Utils_Tuple2(
11439 sidebar: A3($author$project$Page$Sidebar$CreateUpdate$initUpdate, model.config, true, deploymentName)
11442 $elm$core$Platform$Cmd$map,
11443 $author$project$Page$Deployments$CreateSidebarMsg,
11444 A2($author$project$Page$Sidebar$CreateUpdate$initUpdateReq, model.config, deploymentName)));
11446 var subMsg = cmd.a;
11450 return _Utils_update(
11452 {activeTable: table});
11454 $author$project$Page$Deployments$ActiveTableMsg,
11455 A2($author$project$Page$Deployments$Table$update, subMsg, model.activeTable));
11457 case 'ArchivedTableMsg':
11458 var subMsg = cmd.a;
11462 return _Utils_update(
11464 {archivedTable: table});
11466 $author$project$Page$Deployments$ArchivedTableMsg,
11467 A2($author$project$Page$Deployments$Table$update, subMsg, model.archivedTable));
11468 case 'ToggleArchived':
11469 return _Utils_Tuple2(
11472 {showArchived: !model.showArchived}),
11473 $elm$core$Platform$Cmd$none);
11475 var _v2 = A3($jinjor$elm_debounce$Debounce$push, $author$project$Page$Deployments$debounceConfig, _Utils_Tuple0, model.debounce);
11476 var debounce = _v2.a;
11477 var subCmd = _v2.b;
11478 return _Utils_Tuple2(
11481 {debounce: debounce}),
11483 case 'ShowCreateSidebar':
11484 return _Utils_Tuple2(
11488 sidebar: A2($author$project$Page$Sidebar$CreateUpdate$initCreate, model.config, true)
11491 $elm$core$Platform$Cmd$map,
11492 $author$project$Page$Deployments$CreateSidebarMsg,
11493 $author$project$Page$Sidebar$CreateUpdate$initCreateReq(model.config)));
11494 case 'CreateSidebarMsg':
11495 var subMsg = cmd.a;
11498 function (sidebar) {
11499 return _Utils_update(
11501 {sidebar: sidebar});
11503 $author$project$Page$Deployments$CreateSidebarMsg,
11504 A2($author$project$Page$Sidebar$CreateUpdate$update, subMsg, model.sidebar));
11505 case 'DebounceMsg':
11508 $jinjor$elm_debounce$Debounce$update,
11509 $author$project$Page$Deployments$debounceConfig,
11510 $jinjor$elm_debounce$Debounce$takeAll(
11512 function (_v4, _v5) {
11513 return $author$project$Page$Deployments$reqDeployments(model.config);
11517 var debounce = _v3.a;
11518 var subCmd = _v3.b;
11519 return _Utils_Tuple2(
11522 {debounce: debounce}),
11525 return _Utils_Tuple2(
11528 {updated: model.updated + $author$project$Page$Deployments$tick}),
11529 $elm$core$Platform$Cmd$none);
11532var $author$project$Page$Initialization$getWebsocketAddress = _Platform_outgoingPort('getWebsocketAddress', $elm$json$Json$Encode$string);
11533var $elm$browser$Browser$Navigation$replaceUrl = _Browser_replaceUrl;
11534var $author$project$Route$replaceUrl = F2(
11535 function (key, route) {
11537 $elm$browser$Browser$Navigation$replaceUrl,
11539 $author$project$Route$routeToString(route));
11541var $author$project$Page$Initialization$ConfigResponse = function (a) {
11542 return {$: 'ConfigResponse', a: a};
11544var $author$project$Config$configDecoder = A3(
11545 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
11546 'kubernetes_dashboard_url_template',
11547 $elm$json$Json$Decode$string,
11549 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
11551 A2($elm$json$Json$Decode$map, $author$project$Config$AppAuth, $elm$json$Json$Decode$string),
11553 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
11555 $elm$json$Json$Decode$string,
11557 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
11559 A2($elm$json$Json$Decode$map, $author$project$Config$AppUrl, $elm$json$Json$Decode$string),
11560 $elm$json$Json$Decode$succeed($author$project$Config$Config)))));
11561var $author$project$Api$Endpoint$configJson = A3(
11562 $author$project$Api$Endpoint$url,
11563 $elm$core$Maybe$Nothing,
11567var $author$project$Page$Initialization$reqConfig = $author$project$Api$Endpoint$request(
11569 body: $elm$http$Http$emptyBody,
11571 $author$project$Api$expectJson,
11572 A2($elm$core$Basics$composeR, $krisajenkins$remotedata$RemoteData$fromResult, $author$project$Page$Initialization$ConfigResponse),
11573 $author$project$Config$configDecoder),
11574 headers: _List_Nil,
11576 timeout: $elm$core$Maybe$Nothing,
11577 tracker: $elm$core$Maybe$Nothing,
11578 url: $author$project$Api$Endpoint$configJson
11580var $author$project$Page$Initialization$ProjectNameResponse = function (a) {
11581 return {$: 'ProjectNameResponse', a: a};
11583var $author$project$Api$Endpoint$projectName = function (appUrl) {
11585 $author$project$Api$Endpoint$url,
11586 $elm$core$Maybe$Just(appUrl),
11588 ['api', 'v1', 'project_name']),
11591var $author$project$Page$Initialization$reqProjectName = function (cfg) {
11593 $author$project$Api$get,
11595 $author$project$Api$Endpoint$projectName,
11596 $elm$json$Json$Decode$string,
11597 A2($elm$core$Basics$composeR, $krisajenkins$remotedata$RemoteData$fromResult, $author$project$Page$Initialization$ProjectNameResponse));
11599var $author$project$Config$setProjectName = F2(
11600 function (settings, projectName) {
11601 return _Utils_update(
11603 {projectName: projectName});
11605var $author$project$Config$setZone = F2(
11606 function (settings, zone) {
11607 return _Utils_update(
11611var $author$project$Page$Initialization$update = F2(
11612 function (msg, model) {
11614 case 'ConfigResponse':
11615 var webData = msg.a;
11616 if (webData.$ === 'Success') {
11617 var config = webData.a;
11618 return _Utils_Tuple2(
11622 config: $krisajenkins$remotedata$RemoteData$Success(config)
11624 $elm$core$Platform$Cmd$batch(
11627 $author$project$Page$Initialization$reqProjectName(config),
11628 $author$project$Page$Initialization$getWebsocketAddress(config.wsUrl + '/event')
11632 return _Utils_Tuple2(
11636 $elm$core$Platform$Cmd$none);
11638 case 'ProjectNameResponse':
11639 var webData = msg.a;
11640 if (webData.$ === 'Success') {
11641 var projectName = webData.a;
11642 var _v3 = $author$project$Route$fromUrl(model.url);
11643 if (_v3.$ === 'Nothing') {
11644 return _Utils_Tuple2(
11648 projectName: $krisajenkins$remotedata$RemoteData$Success(projectName),
11649 settings: A2($author$project$Config$setProjectName, model.settings, projectName)
11651 A2($author$project$Route$replaceUrl, model.settings.navKey, $author$project$Route$Deployments));
11654 return _Utils_Tuple2(
11658 projectName: $krisajenkins$remotedata$RemoteData$Success(projectName),
11659 settings: A2($author$project$Config$setProjectName, model.settings, projectName)
11661 A2($author$project$Route$replaceUrl, model.settings.navKey, route));
11665 return _Utils_Tuple2(
11669 $elm$core$Platform$Cmd$none);
11673 return _Utils_Tuple2(
11677 settings: A2($author$project$Config$setZone, model.settings, zone)
11679 $author$project$Page$Initialization$reqConfig);
11682var $author$project$Main$update = F2(
11683 function (msg, model) {
11684 var _v0 = _Utils_Tuple2(msg, model);
11688 case 'LinkClicked':
11689 var urlRequest = _v0.a.a;
11690 if (urlRequest.$ === 'Internal') {
11691 var url = urlRequest.a;
11692 return _Utils_Tuple2(
11695 $elm$browser$Browser$Navigation$pushUrl,
11696 $author$project$Main$getNavKey(model),
11697 $elm$url$Url$toString(url)));
11699 var href = urlRequest.a;
11700 return _Utils_Tuple2(
11702 $elm$browser$Browser$Navigation$load(href));
11707 $author$project$Main$changeRouteTo,
11708 $author$project$Route$fromUrl(url),
11710 case 'InitializationMsg':
11711 if (_v0.b.$ === 'Initialization') {
11712 var subMsg = _v0.a.a;
11713 var initialization = _v0.b.a;
11715 $author$project$Main$updateWith,
11716 $author$project$Main$Initialization,
11717 $author$project$Main$InitializationMsg,
11718 A2($author$project$Page$Initialization$update, subMsg, initialization));
11722 case 'DeploymentsMsg':
11723 if (_v0.b.$ === 'Deployments') {
11724 var subMsg = _v0.a.a;
11725 var deployments = _v0.b.a;
11727 $author$project$Main$updateWith,
11728 $author$project$Main$Deployments,
11729 $author$project$Main$DeploymentsMsg,
11730 A2($author$project$Page$Deployments$update, subMsg, deployments));
11735 if (_v0.b.$ === 'Deployment') {
11736 var subMsg = _v0.a.a;
11737 var deployments = _v0.b.a;
11739 $author$project$Main$updateWith,
11740 $author$project$Main$Deployment,
11741 $author$project$Main$DeploymentMsg,
11742 A2($author$project$Page$Deployment$update, subMsg, deployments));
11748 return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);
11750var $author$project$Page$Deployment = {$: 'Deployment'};
11751var $author$project$Page$Deployments = {$: 'Deployments'};
11752var $author$project$Page$Initialization = {$: 'Initialization'};
11753var $elm$virtual_dom$VirtualDom$map = _VirtualDom_map;
11754var $elm$html$Html$map = $elm$virtual_dom$VirtualDom$map;
11755var $elm$html$Html$b = _VirtualDom_node('b');
11756var $elm$html$Html$Attributes$stringProperty = F2(
11757 function (key, string) {
11759 _VirtualDom_property,
11761 $elm$json$Json$Encode$string(string));
11763var $elm$html$Html$Attributes$class = $elm$html$Html$Attributes$stringProperty('className');
11764var $author$project$Html$Common$elClass = F3(
11765 function (el, cls, body) {
11770 $elm$html$Html$Attributes$class(cls)
11774var $author$project$Html$Common$bClass = $author$project$Html$Common$elClass($elm$html$Html$b);
11775var $elm$html$Html$div = _VirtualDom_node('div');
11776var $author$project$Html$Common$divClass = $author$project$Html$Common$elClass($elm$html$Html$div);
11777var $elm$html$Html$header = _VirtualDom_node('header');
11778var $elm$virtual_dom$VirtualDom$text = _VirtualDom_text;
11779var $elm$html$Html$text = $elm$virtual_dom$VirtualDom$text;
11780var $author$project$Page$viewHeader = function (projectName) {
11782 $elm$html$Html$header,
11785 $elm$html$Html$Attributes$class('header')
11790 $author$project$Html$Common$divClass,
11791 'header__wrap container',
11795 $author$project$Html$Common$bClass,
11799 $elm$html$Html$text('Deployment Manager')
11802 $author$project$Html$Common$divClass,
11806 $elm$html$Html$text(projectName)
11811var $author$project$Page$view = F3(
11812 function (projectName, page, _v0) {
11813 var title = _v0.title;
11814 var content = _v0.content;
11817 $elm$core$List$cons,
11818 $author$project$Page$viewHeader(projectName),
11823var $author$project$Page$Deployment$CloseArchivePopup = {$: 'CloseArchivePopup'};
11824var $author$project$Page$Deployment$DeleteDeploymentReq = function (a) {
11825 return {$: 'DeleteDeploymentReq', a: a};
11827var $elm$html$Html$br = _VirtualDom_node('br');
11828var $elm$html$Html$button = _VirtualDom_node('button');
11829var $elm$virtual_dom$VirtualDom$Normal = function (a) {
11830 return {$: 'Normal', a: a};
11832var $elm$virtual_dom$VirtualDom$on = _VirtualDom_on;
11833var $elm$html$Html$Events$on = F2(
11834 function (event, decoder) {
11836 $elm$virtual_dom$VirtualDom$on,
11838 $elm$virtual_dom$VirtualDom$Normal(decoder));
11840var $elm$html$Html$Events$onClick = function (msg) {
11842 $elm$html$Html$Events$on,
11844 $elm$json$Json$Decode$succeed(msg));
11846var $author$project$Html$Common$buttonClass = F2(
11847 function (cls, msg) {
11848 return $elm$html$Html$button(
11851 $elm$html$Html$Events$onClick(msg),
11852 $elm$html$Html$Attributes$class(cls)
11855var $elm$virtual_dom$VirtualDom$style = _VirtualDom_style;
11856var $elm$html$Html$Attributes$style = $elm$virtual_dom$VirtualDom$style;
11857var $author$project$Page$Deployment$archivePopupView = function (deploymentName) {
11859 $elm$html$Html$div,
11862 $elm$html$Html$Attributes$class('classic-popup'),
11863 A2($elm$html$Html$Attributes$style, 'display', 'block')
11868 $author$project$Html$Common$divClass,
11869 'classic-popup__container',
11873 $author$project$Html$Common$divClass,
11874 'classic-popup__viewport',
11878 $author$project$Html$Common$divClass,
11879 'classic-popup__slot',
11883 $author$project$Html$Common$divClass,
11884 'dialog dialog--archive',
11888 $author$project$Html$Common$divClass,
11892 $elm$html$Html$text('Are you sure you want to archive the'),
11893 A2($elm$html$Html$br, _List_Nil, _List_Nil),
11894 $elm$html$Html$text(
11895 $author$project$Types$Deployment$unDeploymentName(deploymentName)),
11896 $elm$html$Html$text(' deployment?')
11899 $author$project$Html$Common$divClass,
11904 $author$project$Html$Common$buttonClass,
11905 'button dialog__action',
11906 $author$project$Page$Deployment$DeleteDeploymentReq(deploymentName),
11909 $elm$html$Html$text('Archive')
11912 $author$project$Html$Common$buttonClass,
11913 'button dialog__action button--secondary',
11914 $author$project$Page$Deployment$CloseArchivePopup,
11917 $elm$html$Html$text('Cancel')
11921 A3($author$project$Html$Common$buttonClass, 'classic-popup__close', $author$project$Page$Deployment$CloseArchivePopup, _List_Nil)
11927var $elm$html$Html$a = _VirtualDom_node('a');
11928var $elm$html$Html$Attributes$href = function (url) {
11930 $elm$html$Html$Attributes$stringProperty,
11932 _VirtualDom_noJavaScriptUri(url));
11934var $author$project$Route$href = function (targetRoute) {
11935 return $elm$html$Html$Attributes$href(
11936 $author$project$Route$routeToString(targetRoute));
11938var $author$project$Html$Common$aClassHrefInternal = F2(
11939 function (cls, hrf) {
11940 return $elm$html$Html$a(
11943 $elm$html$Html$Attributes$class(cls),
11944 $author$project$Route$href(hrf)
11947var $author$project$Page$Deployment$backButton = A3(
11948 $author$project$Html$Common$aClassHrefInternal,
11949 'page__back dash dash--back dash--smaller',
11950 $author$project$Route$Deployments,
11953 $elm$html$Html$text('All deployments')
11955var $author$project$Page$Deployment$OpenArchivePopup = function (a) {
11956 return {$: 'OpenArchivePopup', a: a};
11958var $author$project$Page$Deployment$RestoreDeploymentReq = function (a) {
11959 return {$: 'RestoreDeploymentReq', a: a};
11961var $author$project$Page$Deployment$ShowSidebar = function (a) {
11962 return {$: 'ShowSidebar', a: a};
11964var $elm$html$Html$Attributes$target = $elm$html$Html$Attributes$stringProperty('target');
11965var $author$project$Html$Common$aClassHrefExternal = F2(
11966 function (cls, hrf) {
11967 return $elm$html$Html$a(
11970 $elm$html$Html$Attributes$class(cls),
11971 $elm$html$Html$Attributes$href(hrf),
11972 $elm$html$Html$Attributes$target('_blank')
11975var $elm$json$Json$Encode$bool = _Json_wrap;
11976var $elm$html$Html$Attributes$boolProperty = F2(
11977 function (key, bool) {
11979 _VirtualDom_property,
11981 $elm$json$Json$Encode$bool(bool));
11983var $elm$html$Html$Attributes$disabled = $elm$html$Html$Attributes$boolProperty('disabled');
11984var $elm$html$Html$h1 = _VirtualDom_node('h1');
11985var $author$project$Html$Common$h1Class = $author$project$Html$Common$elClass($elm$html$Html$h1);
11986var $author$project$Types$Deployment$unStatus = function (status) {
11987 if (status.$ === 'DeploymentPending') {
11995var $author$project$Types$Deployment$isPending = function (status) {
11996 var _v0 = $author$project$Types$Deployment$unStatus(status);
12004 case 'CreatePending':
12006 case 'UpdatePending':
12008 case 'ArchivePending':
12014var $author$project$Types$Deployment$isDeploymentPending = function (status) {
12015 if (status.$ === 'DeploymentPending') {
12018 return $author$project$Types$Deployment$isPending(status);
12021var $author$project$Page$Deployment$deploymentHeaderView = function (model) {
12022 var disabledButtonClass = F2(
12023 function (cls, disabled) {
12024 return disabled ? (cls + ' button--disabled') : cls;
12026 var buttons = function () {
12027 var _v0 = model.deployment;
12028 if (_v0.$ === 'Success') {
12029 var deployment = _v0.a;
12030 return $author$project$Types$Deployment$isDeploymentPending(deployment.status) ? _List_fromArray(
12033 $author$project$Html$Common$aClassHrefExternal,
12034 'button button--logs page__action button--secondary',
12036 model.config.k8sDashboardUrlTemplate,
12037 $author$project$Types$Deployment$unDeploymentName(model.deploymentName)),
12040 $elm$html$Html$text('Details')
12042 ]) : ($author$project$Types$Deployment$isDeploymentArchived(deployment) ? _List_fromArray(
12045 $elm$html$Html$button,
12048 $elm$html$Html$Attributes$class(
12049 A2(disabledButtonClass, 'button button--restore page__action button--secondary', model.restoreDisabled)),
12050 $elm$html$Html$Events$onClick(
12051 $author$project$Page$Deployment$RestoreDeploymentReq(model.deploymentName)),
12052 $elm$html$Html$Attributes$disabled(model.restoreDisabled)
12056 $elm$html$Html$text('Restore from archive')
12059 $author$project$Html$Common$aClassHrefExternal,
12060 'button button--logs page__action button--secondary',
12062 model.config.k8sDashboardUrlTemplate,
12063 $author$project$Types$Deployment$unDeploymentName(model.deploymentName)),
12066 $elm$html$Html$text('Details')
12068 ]) : _List_fromArray(
12071 $author$project$Html$Common$buttonClass,
12072 'button button--edit page__action',
12073 $author$project$Page$Deployment$ShowSidebar(deployment),
12076 $elm$html$Html$text('Edit deployment')
12079 $author$project$Html$Common$buttonClass,
12080 'button button--archive page__action button--secondary',
12081 $author$project$Page$Deployment$OpenArchivePopup(model.deploymentName),
12084 $elm$html$Html$text('Move to archive')
12087 $author$project$Html$Common$aClassHrefExternal,
12088 'button button--logs page__action button--secondary',
12090 model.config.k8sDashboardUrlTemplate,
12091 $author$project$Types$Deployment$unDeploymentName(model.deploymentName)),
12094 $elm$html$Html$text('Details')
12102 $author$project$Html$Common$divClass,
12105 $elm$core$List$cons,
12107 $author$project$Html$Common$h1Class,
12108 'page__heading title',
12111 $elm$html$Html$text(
12112 $author$project$Types$Deployment$unDeploymentName(model.deploymentName))
12116var $elm$html$Html$h3 = _VirtualDom_node('h3');
12117var $author$project$Html$Common$h3Class = $author$project$Html$Common$elClass($elm$html$Html$h3);
12118var $elm$html$Html$table = _VirtualDom_node('table');
12119var $author$project$Page$Deployment$ActionTable$CloseAppOverrides = function (a) {
12120 return {$: 'CloseAppOverrides', a: a};
12122var $author$project$Page$Deployment$ActionTable$CloseDeploymentOverrides = function (a) {
12123 return {$: 'CloseDeploymentOverrides', a: a};
12125var $author$project$Page$Deployment$ActionTable$OpenAppOverrides = function (a) {
12126 return {$: 'OpenAppOverrides', a: a};
12128var $author$project$Page$Deployment$ActionTable$OpenDeploymentOverrides = function (a) {
12129 return {$: 'OpenDeploymentOverrides', a: a};
12131var $rtfeldman$elm_iso8601_date_strings$Iso8601$fromMonth = function (month) {
12159var $elm$time$Time$flooredDiv = F2(
12160 function (numerator, denominator) {
12161 return $elm$core$Basics$floor(numerator / denominator);
12163var $elm$time$Time$posixToMillis = function (_v0) {
12164 var millis = _v0.a;
12167var $elm$time$Time$toAdjustedMinutesHelp = F3(
12168 function (defaultOffset, posixMinutes, eras) {
12169 toAdjustedMinutesHelp:
12172 return posixMinutes + defaultOffset;
12175 var olderEras = eras.b;
12176 if (_Utils_cmp(era.start, posixMinutes) < 0) {
12177 return posixMinutes + era.offset;
12179 var $temp$defaultOffset = defaultOffset,
12180 $temp$posixMinutes = posixMinutes,
12181 $temp$eras = olderEras;
12182 defaultOffset = $temp$defaultOffset;
12183 posixMinutes = $temp$posixMinutes;
12185 continue toAdjustedMinutesHelp;
12190var $elm$time$Time$toAdjustedMinutes = F2(
12191 function (_v0, time) {
12192 var defaultOffset = _v0.a;
12195 $elm$time$Time$toAdjustedMinutesHelp,
12198 $elm$time$Time$flooredDiv,
12199 $elm$time$Time$posixToMillis(time),
12203var $elm$core$Basics$ge = _Utils_ge;
12204var $elm$time$Time$toCivil = function (minutes) {
12205 var rawDay = A2($elm$time$Time$flooredDiv, minutes, 60 * 24) + 719468;
12206 var era = (((rawDay >= 0) ? rawDay : (rawDay - 146096)) / 146097) | 0;
12207 var dayOfEra = rawDay - (era * 146097);
12208 var yearOfEra = ((((dayOfEra - ((dayOfEra / 1460) | 0)) + ((dayOfEra / 36524) | 0)) - ((dayOfEra / 146096) | 0)) / 365) | 0;
12209 var dayOfYear = dayOfEra - (((365 * yearOfEra) + ((yearOfEra / 4) | 0)) - ((yearOfEra / 100) | 0));
12210 var mp = (((5 * dayOfYear) + 2) / 153) | 0;
12211 var month = mp + ((mp < 10) ? 3 : (-9));
12212 var year = yearOfEra + (era * 400);
12214 day: (dayOfYear - ((((153 * mp) + 2) / 5) | 0)) + 1,
12216 year: year + ((month <= 2) ? 1 : 0)
12219var $elm$time$Time$toDay = F2(
12220 function (zone, time) {
12221 return $elm$time$Time$toCivil(
12222 A2($elm$time$Time$toAdjustedMinutes, zone, time)).day;
12224var $elm$time$Time$toHour = F2(
12225 function (zone, time) {
12227 $elm$core$Basics$modBy,
12230 $elm$time$Time$flooredDiv,
12231 A2($elm$time$Time$toAdjustedMinutes, zone, time),
12234var $elm$time$Time$toMillis = F2(
12235 function (_v0, time) {
12237 $elm$core$Basics$modBy,
12239 $elm$time$Time$posixToMillis(time));
12241var $elm$time$Time$toMinute = F2(
12242 function (zone, time) {
12244 $elm$core$Basics$modBy,
12246 A2($elm$time$Time$toAdjustedMinutes, zone, time));
12248var $elm$time$Time$Apr = {$: 'Apr'};
12249var $elm$time$Time$Aug = {$: 'Aug'};
12250var $elm$time$Time$Dec = {$: 'Dec'};
12251var $elm$time$Time$Feb = {$: 'Feb'};
12252var $elm$time$Time$Jan = {$: 'Jan'};
12253var $elm$time$Time$Jul = {$: 'Jul'};
12254var $elm$time$Time$Jun = {$: 'Jun'};
12255var $elm$time$Time$Mar = {$: 'Mar'};
12256var $elm$time$Time$May = {$: 'May'};
12257var $elm$time$Time$Nov = {$: 'Nov'};
12258var $elm$time$Time$Oct = {$: 'Oct'};
12259var $elm$time$Time$Sep = {$: 'Sep'};
12260var $elm$time$Time$toMonth = F2(
12261 function (zone, time) {
12262 var _v0 = $elm$time$Time$toCivil(
12263 A2($elm$time$Time$toAdjustedMinutes, zone, time)).month;
12266 return $elm$time$Time$Jan;
12268 return $elm$time$Time$Feb;
12270 return $elm$time$Time$Mar;
12272 return $elm$time$Time$Apr;
12274 return $elm$time$Time$May;
12276 return $elm$time$Time$Jun;
12278 return $elm$time$Time$Jul;
12280 return $elm$time$Time$Aug;
12282 return $elm$time$Time$Sep;
12284 return $elm$time$Time$Oct;
12286 return $elm$time$Time$Nov;
12288 return $elm$time$Time$Dec;
12291var $elm$core$String$cons = _String_cons;
12292var $elm$core$String$fromChar = function (_char) {
12293 return A2($elm$core$String$cons, _char, '');
12295var $elm$core$Bitwise$and = _Bitwise_and;
12296var $elm$core$Bitwise$shiftRightBy = _Bitwise_shiftRightBy;
12297var $elm$core$String$repeatHelp = F3(
12298 function (n, chunk, result) {
12299 return (n <= 0) ? result : A3(
12300 $elm$core$String$repeatHelp,
12302 _Utils_ap(chunk, chunk),
12303 (!(n & 1)) ? result : _Utils_ap(result, chunk));
12305var $elm$core$String$repeat = F2(
12306 function (n, chunk) {
12307 return A3($elm$core$String$repeatHelp, n, chunk, '');
12309var $elm$core$String$padLeft = F3(
12310 function (n, _char, string) {
12313 $elm$core$String$repeat,
12314 n - $elm$core$String$length(string),
12315 $elm$core$String$fromChar(_char)),
12318var $rtfeldman$elm_iso8601_date_strings$Iso8601$toPaddedString = F2(
12319 function (digits, time) {
12321 $elm$core$String$padLeft,
12324 $elm$core$String$fromInt(time));
12326var $elm$time$Time$toSecond = F2(
12327 function (_v0, time) {
12329 $elm$core$Basics$modBy,
12332 $elm$time$Time$flooredDiv,
12333 $elm$time$Time$posixToMillis(time),
12336var $elm$time$Time$toYear = F2(
12337 function (zone, time) {
12338 return $elm$time$Time$toCivil(
12339 A2($elm$time$Time$toAdjustedMinutes, zone, time)).year;
12341var $rtfeldman$elm_iso8601_date_strings$Iso8601$fromTime = function (time) {
12343 $rtfeldman$elm_iso8601_date_strings$Iso8601$toPaddedString,
12345 A2($elm$time$Time$toYear, $elm$time$Time$utc, time)) + ('-' + (A2(
12346 $rtfeldman$elm_iso8601_date_strings$Iso8601$toPaddedString,
12348 $rtfeldman$elm_iso8601_date_strings$Iso8601$fromMonth(
12349 A2($elm$time$Time$toMonth, $elm$time$Time$utc, time))) + ('-' + (A2(
12350 $rtfeldman$elm_iso8601_date_strings$Iso8601$toPaddedString,
12352 A2($elm$time$Time$toDay, $elm$time$Time$utc, time)) + ('T' + (A2(
12353 $rtfeldman$elm_iso8601_date_strings$Iso8601$toPaddedString,
12355 A2($elm$time$Time$toHour, $elm$time$Time$utc, time)) + (':' + (A2(
12356 $rtfeldman$elm_iso8601_date_strings$Iso8601$toPaddedString,
12358 A2($elm$time$Time$toMinute, $elm$time$Time$utc, time)) + (':' + (A2(
12359 $rtfeldman$elm_iso8601_date_strings$Iso8601$toPaddedString,
12361 A2($elm$time$Time$toSecond, $elm$time$Time$utc, time)) + ('.' + (A2(
12362 $rtfeldman$elm_iso8601_date_strings$Iso8601$toPaddedString,
12364 A2($elm$time$Time$toMillis, $elm$time$Time$utc, time)) + 'Z'))))))))))));
12366var $elm$virtual_dom$VirtualDom$attribute = F2(
12367 function (key, value) {
12369 _VirtualDom_attribute,
12370 _VirtualDom_noOnOrFormAction(key),
12371 _VirtualDom_noJavaScriptOrHtmlUri(value));
12373var $elm$html$Html$Attributes$attribute = $elm$virtual_dom$VirtualDom$attribute;
12374var $elm$core$Dict$member = F2(
12375 function (key, dict) {
12376 var _v0 = A2($elm$core$Dict$get, key, dict);
12377 if (_v0.$ === 'Just') {
12383var $turboMaCk$any_dict$Dict$Any$member = F2(
12384 function (k, _v0) {
12385 var dict = _v0.a.dict;
12386 var toKey = _v0.a.toKey;
12388 $elm$core$Dict$member,
12392var $turboMaCk$any_set$Set$Any$member = F2(
12393 function (a, _v0) {
12395 return A2($turboMaCk$any_dict$Dict$Any$member, a, dict);
12397var $elm$virtual_dom$VirtualDom$MayStopPropagation = function (a) {
12398 return {$: 'MayStopPropagation', a: a};
12400var $elm$html$Html$Events$stopPropagationOn = F2(
12401 function (event, decoder) {
12403 $elm$virtual_dom$VirtualDom$on,
12405 $elm$virtual_dom$VirtualDom$MayStopPropagation(decoder));
12407var $elm_community$html_extra$Html$Events$Extra$onClickStopPropagation = function (msg) {
12409 $elm$html$Html$Events$stopPropagationOn,
12411 $elm$json$Json$Decode$succeed(
12412 _Utils_Tuple2(msg, true)));
12414var $elm$html$Html$span = _VirtualDom_node('span');
12415var $author$project$Html$Common$spanClass = $author$project$Html$Common$elClass($elm$html$Html$span);
12416var $elm$core$List$takeReverse = F3(
12417 function (n, list, kept) {
12428 var $temp$n = n - 1,
12430 $temp$kept = A2($elm$core$List$cons, x, kept);
12434 continue takeReverse;
12439var $elm$core$List$takeTailRec = F2(
12440 function (n, list) {
12441 return $elm$core$List$reverse(
12442 A3($elm$core$List$takeReverse, n, list, _List_Nil));
12444var $elm$core$List$takeFast = F3(
12445 function (ctr, n, list) {
12449 var _v0 = _Utils_Tuple2(n, list);
12466 return _List_fromArray(
12476 return _List_fromArray(
12482 if (_v0.b.b.b.b && _v0.b.b.b.b.b) {
12492 return (ctr > 1000) ? A2(
12493 $elm$core$List$cons,
12496 $elm$core$List$cons,
12499 $elm$core$List$cons,
12502 $elm$core$List$cons,
12504 A2($elm$core$List$takeTailRec, n - 4, tl))))) : A2(
12505 $elm$core$List$cons,
12508 $elm$core$List$cons,
12511 $elm$core$List$cons,
12514 $elm$core$List$cons,
12516 A3($elm$core$List$takeFast, ctr + 1, n - 4, tl)))));
12534 return _List_fromArray(
12538var $elm$core$List$take = F2(
12539 function (n, list) {
12540 return A3($elm$core$List$takeFast, 0, n, list);
12542var $author$project$Page$Deployment$ActionTable$overridesView = F5(
12543 function (openCmd, closeCmd, id, opened, overrides) {
12544 var visibleOverrides = A2($elm$core$List$take, 3, overrides);
12545 var overrideView = function (override) {
12547 $author$project$Html$Common$divClass,
12550 var _v0 = override.value;
12551 if (_v0.$ === 'ValueAdded') {
12553 return _List_fromArray(
12556 $author$project$Html$Common$spanClass,
12557 'key-default-pristine',
12560 $elm$html$Html$text(
12561 $author$project$Types$Override$unOverrideName(override.name) + ': ')
12564 $elm$html$Html$span,
12567 $elm$html$Html$Attributes$class('value-edited'),
12568 A2($elm$html$Html$Attributes$attribute, 'style', 'width:400px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;')
12572 $elm$html$Html$text(v)
12576 return _List_fromArray(
12579 $author$project$Html$Common$spanClass,
12583 $elm$html$Html$text(
12584 $author$project$Types$Override$unOverrideName(override.name) + ': ')
12586 A2($author$project$Html$Common$divClass, 'listing__placeholder listing__placeholder__value', _List_Nil)
12591 var buttonClass_ = F3(
12592 function (cls, msg, body) {
12594 $elm$html$Html$button,
12597 $elm$html$Html$Attributes$class(cls),
12598 $elm_community$html_extra$Html$Events$Extra$onClickStopPropagation(msg)
12603 $elm$core$List$length(overrides),
12604 $elm$core$List$length(visibleOverrides)) ? A2($elm$core$List$map, overrideView, overrides) : (A2($turboMaCk$any_set$Set$Any$member, id, opened) ? A2(
12605 $elm$core$List$append,
12606 A2($elm$core$List$map, overrideView, overrides),
12611 'expander listing__more expander--open',
12615 $elm$html$Html$text('Hide default configuration')
12618 $elm$core$List$append,
12619 A2($elm$core$List$map, overrideView, visibleOverrides),
12624 'expander listing__more',
12628 $elm$html$Html$text('Show full configuration')
12632var $elm$html$Html$td = _VirtualDom_node('td');
12633var $elm$html$Html$tr = _VirtualDom_node('tr');
12634var $author$project$Types$Action$unExitCode = function (_v0) {
12638var $author$project$Page$Deployment$ActionTable$logView = F2(
12639 function (model, log) {
12640 var name = function () {
12641 var _v0 = log.action;
12653 var exitCode = _List_fromArray(
12655 $elm$html$Html$text(
12656 $elm$core$String$fromInt(
12657 $author$project$Types$Action$unExitCode(log.exitCode)))
12659 var duration = _List_fromArray(
12661 $elm$html$Html$text(
12662 $elm$core$String$fromInt(
12663 $elm$core$Basics$round(log.duration.time)) + 's')
12665 var deploymentOverrides = _List_fromArray(
12668 $author$project$Html$Common$divClass,
12670 A5($author$project$Page$Deployment$ActionTable$overridesView, $author$project$Page$Deployment$ActionTable$OpenDeploymentOverrides, $author$project$Page$Deployment$ActionTable$CloseDeploymentOverrides, log.actionId, model.openedDeployemntOverrides, log.deploymentOverrides))
12672 var appOverrides = _List_fromArray(
12675 $author$project$Html$Common$divClass,
12677 A5($author$project$Page$Deployment$ActionTable$overridesView, $author$project$Page$Deployment$ActionTable$OpenAppOverrides, $author$project$Page$Deployment$ActionTable$CloseAppOverrides, log.actionId, model.openedAppOverrides, log.appOverrides))
12689 $elm$html$Html$text(name)
12691 A2($elm$html$Html$td, _List_Nil, deploymentOverrides),
12692 A2($elm$html$Html$td, _List_Nil, appOverrides),
12693 A2($elm$html$Html$td, _List_Nil, exitCode),
12699 $elm$html$Html$text(
12700 $rtfeldman$elm_iso8601_date_strings$Iso8601$fromTime(log.createdAt))
12702 A2($elm$html$Html$td, _List_Nil, duration)
12705var $elm$html$Html$tbody = _VirtualDom_node('tbody');
12706var $author$project$Page$Deployment$ActionTable$tableDeploymentsView = F2(
12707 function (model, logs) {
12709 $elm$html$Html$tbody,
12712 $elm$core$List$map,
12713 $author$project$Page$Deployment$ActionTable$logView(model),
12716var $elm$html$Html$Attributes$colspan = function (n) {
12718 _VirtualDom_attribute,
12720 $elm$core$String$fromInt(n));
12722var $author$project$Html$Common$trClass = $author$project$Html$Common$elClass($elm$html$Html$tr);
12723var $author$project$Page$Deployment$ActionTable$tableFailureView = A2(
12724 $elm$html$Html$tbody,
12729 $author$project$Html$Common$trClass,
12737 $elm$html$Html$Attributes$colspan(8)
12742 $author$project$Html$Common$divClass,
12747 $author$project$Html$Common$bClass,
12751 $elm$html$Html$text('Cannot retrieve the data')
12754 $author$project$Html$Common$divClass,
12758 $elm$html$Html$text('Try to reload page')
12764var $author$project$Page$Deployment$ActionTable$tableLoadingView = A2(
12765 $elm$html$Html$tbody,
12770 $author$project$Html$Common$trClass,
12778 $elm$html$Html$Attributes$colspan(8)
12783 $author$project$Html$Common$divClass,
12784 'loading loading--enlarged loading--alternate',
12787 $elm$html$Html$text('Loading...')
12792var $author$project$Page$Deployment$ActionTable$tablePrimaryBodyView = F2(
12793 function (model, deployments) {
12794 switch (deployments.$) {
12796 var d = deployments.a;
12798 $author$project$Page$Deployment$ActionTable$tableDeploymentsView,
12801 $elm$core$List$concatMap,
12807 return $author$project$Page$Deployment$ActionTable$tableFailureView;
12809 return $author$project$Page$Deployment$ActionTable$tableLoadingView;
12812var $elm$html$Html$th = _VirtualDom_node('th');
12813var $elm$html$Html$thead = _VirtualDom_node('thead');
12814var $author$project$Page$Deployment$ActionTable$tablePrimaryHeaderView = function () {
12815 var simpleTh = function (txt) {
12821 $elm$html$Html$text(txt)
12825 $elm$html$Html$thead,
12834 simpleTh('Action Type'),
12835 simpleTh('Deployment configuration'),
12836 simpleTh('App configuration'),
12837 simpleTh('Exit code'),
12838 simpleTh('Created'),
12839 simpleTh('Deployment duration')
12843var $author$project$Page$Deployment$ActionTable$view = F2(
12844 function (model, logs) {
12846 $author$project$Html$Common$divClass,
12847 'table table--actions',
12851 $elm$html$Html$table,
12855 $author$project$Page$Deployment$ActionTable$tablePrimaryHeaderView,
12856 A2($author$project$Page$Deployment$ActionTable$tablePrimaryBodyView, model, logs)
12860var $author$project$Page$Deployment$actionsView = function (model) {
12862 $author$project$Html$Common$divClass,
12863 'deployment__section',
12867 $author$project$Html$Common$h3Class,
12868 'deployment__sub-heading',
12871 $elm$html$Html$text('Actions')
12874 $author$project$Html$Common$divClass,
12875 'deployment__widget',
12879 $elm$html$Html$map,
12880 $author$project$Page$Deployment$ActionMsg,
12881 A2($author$project$Page$Deployment$ActionTable$view, model.actionTable, model.logs))
12885var $author$project$Page$Deployment$deploymentLinksView = F2(
12886 function (_v0, deployment) {
12887 var link = function (m) {
12889 $author$project$Html$Common$aClassHrefExternal,
12890 'listing__item external bar bar--larger',
12894 $elm$html$Html$text(m.name)
12898 $author$project$Html$Common$divClass,
12899 'deployment__section',
12903 $author$project$Html$Common$h3Class,
12904 'deployment__sub-heading',
12907 $elm$html$Html$text('Links')
12910 $author$project$Html$Common$divClass,
12911 'deployment__widget',
12915 $author$project$Html$Common$divClass,
12917 A2($elm$core$List$map, link, deployment.metadata))
12921var $author$project$Html$Common$dateView = F2(
12922 function (zone, time) {
12923 var year = $elm$core$String$fromInt(
12924 A2($elm$time$Time$toYear, zone, time));
12925 var toMonth = function (month_) {
12926 switch (month_.$) {
12953 var month = toMonth(
12954 A2($elm$time$Time$toMonth, zone, time));
12956 $elm$core$String$padLeft,
12959 $elm$core$String$fromInt(
12960 A2($elm$time$Time$toDay, zone, time)));
12961 return $elm$html$Html$text(
12963 $elm$core$String$join,
12966 [year, month, day])));
12968var $author$project$Page$Deployment$deploymentSummaryView = F2(
12969 function (model, deployment) {
12970 var statusView = function () {
12971 var _v0 = deployment.status;
12972 if (_v0.$ === 'DeploymentPending') {
12974 $author$project$Html$Common$divClass,
12975 'status status--pending',
12978 $elm$html$Html$text('Pending...')
12985 $author$project$Html$Common$divClass,
12986 'status status--success',
12989 $elm$html$Html$text('Running')
12993 $author$project$Html$Common$divClass,
12994 'status status--failure',
12997 $elm$html$Html$text('Failure')
12999 case 'CreatePending':
13002 $author$project$Html$Common$divClass,
13003 'loading loading--status-alike',
13006 $elm$html$Html$text('Creating...')
13008 case 'UpdatePending':
13011 $author$project$Html$Common$divClass,
13012 'loading loading--status-alike',
13015 $elm$html$Html$text('Updating...')
13017 case 'ArchivePending':
13020 $author$project$Html$Common$divClass,
13021 'loading loading--status-alike',
13024 $elm$html$Html$text('Archiving...')
13029 $author$project$Html$Common$divClass,
13030 'status status--archived',
13033 $elm$html$Html$text('Archived')
13038 $author$project$Html$Common$divClass,
13039 'status status--failure',
13042 $elm$html$Html$text('Cleanup failed (contact admin)')
13048 $author$project$Html$Common$divClass,
13049 'deployment__summary',
13053 $author$project$Html$Common$divClass,
13054 'deployment__stat',
13058 $author$project$Html$Common$bClass,
13059 'deployment__param',
13062 $elm$html$Html$text('Status')
13065 $author$project$Html$Common$divClass,
13066 'deployment__value',
13071 $author$project$Html$Common$divClass,
13072 'deployment__stat',
13076 $author$project$Html$Common$bClass,
13077 'deployment__param',
13080 $elm$html$Html$text('Created')
13083 $author$project$Html$Common$divClass,
13084 'deployment__value',
13087 A2($author$project$Html$Common$dateView, model.settings.zone, deployment.createdAt)
13091 $author$project$Html$Common$divClass,
13092 'deployment__stat',
13096 $author$project$Html$Common$bClass,
13097 'deployment__param',
13100 $elm$html$Html$text('Changed')
13103 $author$project$Html$Common$divClass,
13104 'deployment__value',
13107 A2($author$project$Html$Common$dateView, model.settings.zone, deployment.updatedAt)
13112var $author$project$Html$Overrides$overridesSectionLoading = function (mode) {
13113 var rowLoader = A2(
13114 $author$project$Html$Common$divClass,
13115 'editable-row loader',
13118 A2($author$project$Html$Common$divClass, 'editable-row__placeholder', _List_Nil),
13119 A2($author$project$Html$Common$divClass, 'editable-row__placeholder', _List_Nil),
13120 A2($author$project$Html$Common$divClass, 'overrides__delete spot spot--loader', _List_Nil)
13122 var addBtn = function () {
13123 if (mode.$ === 'Read') {
13126 return _List_fromArray(
13129 $author$project$Html$Common$divClass,
13134 $elm$html$Html$button,
13137 $elm$html$Html$Attributes$class('dash--disabled dash dash--add overrides__add'),
13138 $elm$html$Html$Attributes$disabled(true)
13142 $elm$html$Html$text('Add an override')
13149 $author$project$Html$Common$divClass,
13150 'deployment__widget',
13154 [rowLoader, rowLoader, rowLoader])));
13156var $author$project$Html$Overrides$AddOverride = {$: 'AddOverride'};
13157var $elm$core$Dict$filter = F2(
13158 function (isGood, dict) {
13160 $elm$core$Dict$foldl,
13162 function (k, v, d) {
13163 return A2(isGood, k, v) ? A3($elm$core$Dict$insert, k, v, d) : d;
13165 $elm$core$Dict$empty,
13168var $elm$core$Dict$isEmpty = function (dict) {
13169 if (dict.$ === 'RBEmpty_elm_builtin') {
13175var $elm$core$Set$member = F2(
13176 function (key, _v0) {
13178 return A2($elm$core$Dict$member, key, dict);
13180var $author$project$Html$Overrides$DeleteOverride = function (a) {
13181 return {$: 'DeleteOverride', a: a};
13183var $author$project$Html$Overrides$RestoreOverride = function (a) {
13184 return {$: 'RestoreOverride', a: a};
13186var $author$project$Html$Overrides$EditOverrideName = F2(
13188 return {$: 'EditOverrideName', a: a, b: b};
13190var $author$project$Html$Overrides$HideAutocomplete = {$: 'HideAutocomplete'};
13191var $author$project$Html$Overrides$ShowAutocomplete = function (a) {
13192 return {$: 'ShowAutocomplete', a: a};
13194var $elm$html$Html$input = _VirtualDom_node('input');
13195var $elm$html$Html$li = _VirtualDom_node('li');
13196var $elm$html$Html$Events$onBlur = function (msg) {
13198 $elm$html$Html$Events$on,
13200 $elm$json$Json$Decode$succeed(msg));
13202var $elm$html$Html$Events$onFocus = function (msg) {
13204 $elm$html$Html$Events$on,
13206 $elm$json$Json$Decode$succeed(msg));
13208var $elm$html$Html$Events$alwaysStop = function (x) {
13209 return _Utils_Tuple2(x, true);
13211var $elm$html$Html$Events$targetValue = A2(
13212 $elm$json$Json$Decode$at,
13214 ['target', 'value']),
13215 $elm$json$Json$Decode$string);
13216var $elm$html$Html$Events$onInput = function (tagger) {
13218 $elm$html$Html$Events$stopPropagationOn,
13221 $elm$json$Json$Decode$map,
13222 $elm$html$Html$Events$alwaysStop,
13223 A2($elm$json$Json$Decode$map, tagger, $elm$html$Html$Events$targetValue)));
13225var $elm$html$Html$Events$onMouseDown = function (msg) {
13227 $elm$html$Html$Events$on,
13229 $elm$json$Json$Decode$succeed(msg));
13231var $elm$html$Html$Attributes$placeholder = $elm$html$Html$Attributes$stringProperty('placeholder');
13232var $elm$html$Html$Attributes$spellcheck = $elm$html$Html$Attributes$boolProperty('spellcheck');
13233var $elm$html$Html$Attributes$type_ = $elm$html$Html$Attributes$stringProperty('type');
13234var $elm$html$Html$ul = _VirtualDom_node('ul');
13235var $author$project$Html$Common$ulClass = $author$project$Html$Common$elClass($elm$html$Html$ul);
13236var $elm$html$Html$Attributes$value = $elm$html$Html$Attributes$stringProperty('value');
13237var $author$project$Html$Overrides$overrideNameWriteView = F6(
13238 function (model, inputClass, deleted, overrideName, keys, ix) {
13239 var suggestions = A2(
13240 $elm$core$List$filter,
13242 $elm$core$Basics$composeR,
13243 $author$project$Types$Override$unOverrideName,
13244 $elm$core$String$startsWith(overrideName)),
13246 var suggestionItem = function (suggestion) {
13251 $elm$html$Html$Attributes$class('input__suggest'),
13252 $elm$html$Html$Events$onMouseDown(
13254 $author$project$Html$Overrides$EditOverrideName,
13256 $author$project$Types$Override$unOverrideName(suggestion)))
13265 $elm$html$Html$text(overrideName)
13267 $elm$html$Html$text(
13269 $elm$core$String$dropLeft,
13270 $elm$core$String$length(overrideName),
13271 $author$project$Types$Override$unOverrideName(suggestion)))
13274 var suggestionsView = function () {
13275 var _v0 = model.autocomplete;
13276 if (_v0.$ === 'Nothing') {
13280 return (_Utils_eq(ax, ix) && ($elm$core$List$length(suggestions) > 0)) ? _List_fromArray(
13283 $author$project$Html$Common$ulClass,
13285 A2($elm$core$List$map, suggestionItem, suggestions))
13289 var nameClass = 'editable-row__value input' + (deleted ? ' input--deleted' : '');
13290 var inputName = A2(
13291 $elm$html$Html$input,
13294 $elm$html$Html$Attributes$class(inputClass),
13295 $elm$html$Html$Attributes$placeholder('value'),
13296 $elm$html$Html$Attributes$spellcheck(false),
13297 $elm$html$Html$Attributes$type_('text'),
13298 $elm$html$Html$Attributes$value(overrideName),
13299 $elm$html$Html$Attributes$disabled(deleted),
13300 $elm$html$Html$Events$onInput(
13301 $author$project$Html$Overrides$EditOverrideName(ix)),
13302 $elm$html$Html$Events$onFocus(
13303 $author$project$Html$Overrides$ShowAutocomplete(ix)),
13304 $elm$html$Html$Events$onBlur($author$project$Html$Overrides$HideAutocomplete)
13308 $author$project$Html$Common$divClass,
13310 A2($elm$core$List$cons, inputName, suggestionsView));
13312var $author$project$Html$Overrides$EditOverrideValue = F2(
13314 return {$: 'EditOverrideValue', a: a, b: b};
13316var $author$project$Html$Overrides$overrideValueWriteView = F5(
13317 function (_v0, inputClass, deleted, overrideValue, ix) {
13318 var valueClass = 'editable-row__value input' + (deleted ? ' input--deleted' : '');
13319 var valueClass_ = ((!deleted) && (overrideValue === '')) ? (valueClass + ' input--error') : valueClass;
13321 $author$project$Html$Common$divClass,
13324 $elm$core$List$cons,
13326 $elm$html$Html$input,
13329 $elm$html$Html$Attributes$class(inputClass),
13330 $elm$html$Html$Attributes$placeholder('value'),
13331 $elm$html$Html$Attributes$spellcheck(false),
13332 $elm$html$Html$Attributes$type_('text'),
13333 $elm$html$Html$Attributes$disabled(deleted),
13334 $elm$html$Html$Attributes$value(overrideValue),
13335 $elm$html$Html$Events$onInput(
13336 $author$project$Html$Overrides$EditOverrideValue(ix))
13339 ((!deleted) && (overrideValue === '')) ? _List_fromArray(
13342 $author$project$Html$Common$divClass,
13346 $elm$html$Html$text('Value can not be empty')
13350var $author$project$Html$Overrides$overrideWriteView = F7(
13351 function (nameInputClass, valueInputClass, deleted, model, nameInput, valueInput, ix) {
13352 var _v0 = deleted ? _Utils_Tuple2(
13353 'editable-row__delete spot spot--undo',
13354 $author$project$Html$Overrides$RestoreOverride(ix)) : _Utils_Tuple2(
13355 'editable-row__delete spot spot--cancel',
13356 $author$project$Html$Overrides$DeleteOverride(ix));
13357 var btnClass = _v0.a;
13358 var btnMsg = _v0.b;
13360 $author$project$Html$Common$divClass,
13365 $author$project$Html$Common$divClass,
13369 A6($author$project$Html$Overrides$overrideNameWriteView, model, nameInputClass, deleted, nameInput, model.keys, ix),
13370 A5($author$project$Html$Overrides$overrideValueWriteView, model, valueInputClass, deleted, valueInput, ix),
13371 A3($author$project$Html$Common$buttonClass, btnClass, btnMsg, _List_Nil)
13375var $author$project$Html$Overrides$defaultOverrideWriteView = A3($author$project$Html$Overrides$overrideWriteView, 'input__widget key-default-pristine', 'input__widget value-pristine', false);
13376var $author$project$Html$Overrides$deletedOverrideWriteView = A3($author$project$Html$Overrides$overrideWriteView, 'input__widget key-deleted', 'input__widget value-deleted', true);
13377var $author$project$Html$Overrides$editedOverrideWriteView = A3($author$project$Html$Overrides$overrideWriteView, 'input__widget key-default-edited', 'input__widget value-edited', false);
13378var $author$project$Html$Overrides$newOverrideWriteView = A3($author$project$Html$Overrides$overrideWriteView, 'input__widget key-custom-pristine', 'input__widget value-edited', false);
13379var $author$project$Html$Overrides$overrideWriteWrapper = F3(
13380 function (model, ix, wrapped) {
13381 var _v0 = function () {
13382 if (wrapped.$ === 'DefaultOverride') {
13383 var override = wrapped.a;
13384 return _Utils_Tuple3($author$project$Html$Overrides$defaultOverrideWriteView, override.name, override.value);
13386 var override = wrapped.a;
13387 var _v2 = override.status;
13390 return _Utils_Tuple3($author$project$Html$Overrides$editedOverrideWriteView, override.name, override.value);
13392 return _Utils_Tuple3($author$project$Html$Overrides$deletedOverrideWriteView, override.name, override.value);
13394 return _Utils_Tuple3($author$project$Html$Overrides$newOverrideWriteView, override.name, override.value);
13398 var viewer = _v0.a;
13399 var overrideName = _v0.b;
13400 var overrideValue = _v0.c;
13404 $author$project$Types$Override$unOverrideName(overrideName),
13408var $elm$core$List$sortBy = _List_sortBy;
13409var $author$project$Html$Overrides$newOverridesView = F2(
13410 function (model, overrides) {
13411 var overridesSorted = $elm$core$List$reverse(
13413 $elm$core$List$sortBy,
13418 $elm$core$Dict$toList(overrides)));
13419 var newOverrideWriteView_ = function (_v1) {
13421 var override = _v1.b;
13423 $author$project$Html$Overrides$overrideWriteWrapper,
13426 $author$project$Html$Overrides$NonOverrideWithDefault(override));
13428 var _v0 = model.mode;
13429 if (_v0.$ === 'Write') {
13430 return A2($elm$core$List$map, newOverrideWriteView_, overridesSorted);
13435var $elm_community$list_extra$List$Extra$inits = A2(
13436 $elm$core$List$foldr,
13438 function (e, acc) {
13440 $elm$core$List$cons,
13443 $elm$core$List$map,
13444 $elm$core$List$cons(e),
13449var $author$project$Html$Overrides$isDefautOverride = function (w) {
13450 if (w.$ === 'DefaultOverride') {
13456var $author$project$Html$Overrides$CloseName = function (a) {
13457 return {$: 'CloseName', a: a};
13459var $author$project$Html$Overrides$OpenName = function (a) {
13460 return {$: 'OpenName', a: a};
13462var $author$project$Html$Overrides$overrideReadView = F4(
13463 function (nameClass, valueClass, nameInput, valueInput) {
13465 $author$project$Html$Common$divClass,
13470 $author$project$Html$Common$spanClass,
13474 $elm$html$Html$text(nameInput + ': ')
13477 $author$project$Html$Common$spanClass,
13481 $elm$html$Html$text(valueInput)
13485var $author$project$Html$Overrides$defaultOverrideReadView = A2($author$project$Html$Overrides$overrideReadView, 'key-default-pristine', 'value-pristine');
13486var $author$project$Html$Overrides$deletedOverrideReadView = A2($author$project$Html$Overrides$overrideReadView, 'key-deleted', 'value-deleted');
13487var $author$project$Html$Overrides$editedOverrideReadView = A2($author$project$Html$Overrides$overrideReadView, 'key-default-edited', 'value-edited');
13488var $author$project$Html$Overrides$newOverrideReadView = A2($author$project$Html$Overrides$overrideReadView, 'key-custom-edited', 'value-edited');
13489var $author$project$Html$Overrides$overrideReadWrapper = function (wrapped) {
13490 if (wrapped.$ === 'DefaultOverride') {
13491 var override = wrapped.a;
13493 $author$project$Html$Overrides$defaultOverrideReadView,
13494 $author$project$Types$Override$unOverrideName(override.name),
13497 var override = wrapped.a;
13498 var _v1 = override.status;
13502 $author$project$Html$Overrides$editedOverrideReadView,
13503 $author$project$Types$Override$unOverrideName(override.name),
13507 $author$project$Html$Overrides$deletedOverrideReadView,
13508 $author$project$Types$Override$unOverrideName(override.name),
13512 $author$project$Html$Overrides$newOverrideReadView,
13513 $author$project$Types$Override$unOverrideName(override.name),
13518var $author$project$Html$Overrides$treeOverrideView = F5(
13519 function (model, treeData, editedNames, piecies, treeSchema) {
13520 if (treeSchema.$ === 'Node') {
13521 if ((treeSchema.b.b && (treeSchema.b.a.$ === 'Leaf')) && (!treeSchema.b.b.b)) {
13522 var _v1 = treeSchema.b;
13524 var _v2 = _Utils_Tuple2(
13526 A2($elm$core$Dict$get, ix, treeData));
13529 if (_v2.a.$ === 'Write') {
13530 if (_v2.b.$ === 'Just') {
13532 var override = _v2.b.a;
13533 return A3($author$project$Html$Overrides$overrideWriteWrapper, model, ix, override);
13538 if (_v2.b.$ === 'Just') {
13540 var override = _v2.b.a;
13541 return $author$project$Html$Overrides$overrideReadWrapper(override);
13547 return A2($elm$html$Html$div, _List_Nil, _List_Nil);
13549 var piece = treeSchema.a;
13550 var cs = treeSchema.b;
13552 $elm$core$Set$member,
13553 A2($elm$core$List$cons, piece, piecies),
13554 editedNames) ? 'collapse__head collapse__head--has-changes' : 'collapse__head';
13556 $elm$core$Set$member,
13557 A2($elm$core$List$cons, piece, piecies),
13558 model.openedNames) ? A2(
13559 $author$project$Html$Common$divClass,
13560 'collapse--project collapse collapse--expanded',
13564 $author$project$Html$Common$buttonClass,
13566 $author$project$Html$Overrides$CloseName(
13567 A2($elm$core$List$cons, piece, piecies)),
13570 $elm$html$Html$text(piece)
13573 $author$project$Html$Common$divClass,
13576 $elm$core$List$map,
13578 $author$project$Html$Overrides$treeOverrideView,
13582 A2($elm$core$List$cons, piece, piecies)),
13585 $author$project$Html$Common$divClass,
13586 'collapse--project collapse',
13590 $author$project$Html$Common$buttonClass,
13592 $author$project$Html$Overrides$OpenName(
13593 A2($elm$core$List$cons, piece, piecies)),
13596 $elm$html$Html$text(piece)
13598 A2($author$project$Html$Common$divClass, 'collapse__inner', _List_Nil)
13602 return A2($elm$html$Html$div, _List_Nil, _List_Nil);
13605var $author$project$Html$Overrides$overridesLevelView = function (model) {
13606 var treeData = A2($author$project$Html$Overrides$mkWrappedOverride, model.defaultOverrides, model.editedOverrides);
13607 var editedNames = $elm$core$Set$fromList(
13608 $elm$core$List$concat(
13610 $elm$core$List$map,
13612 $elm$core$Basics$composeR,
13613 $elm$core$Tuple$second,
13615 $elm$core$Basics$composeR,
13616 $author$project$Html$Overrides$getWrappedName,
13618 $elm$core$Basics$composeR,
13619 $author$project$Types$Override$unOverrideName,
13621 $elm$core$Basics$composeR,
13622 $elm$core$String$split('.'),
13624 $elm$core$Basics$composeR,
13625 $elm_community$list_extra$List$Extra$inits,
13626 $elm$core$List$map($elm$core$List$reverse)))))),
13628 $elm$core$List$filter,
13630 $elm$core$Basics$composeR,
13631 $elm$core$Tuple$second,
13632 A2($elm$core$Basics$composeR, $author$project$Html$Overrides$isDefautOverride, $elm$core$Basics$not)),
13633 $elm$core$Dict$toList(treeData)))));
13635 $elm$core$List$map,
13636 A4($author$project$Html$Overrides$treeOverrideView, model, treeData, editedNames, _List_Nil),
13639var $author$project$Tree$values = function (t) {
13640 if (t.$ === 'Node') {
13642 return $elm$core$List$concat(
13643 A2($elm$core$List$map, $author$project$Tree$values, cs));
13646 return _List_fromArray(
13650var $author$project$Html$Overrides$overridesSectionData = function (model) {
13651 var treeIds = $elm$core$Set$fromList(
13652 A2($elm$core$List$concatMap, $author$project$Tree$values, model.treeSchema));
13653 var newOverrides = A2(
13654 $elm$core$Dict$filter,
13656 function (id, _v2) {
13657 return !A2($elm$core$Set$member, id, treeIds);
13659 model.editedOverrides);
13660 var isEmptyOverride = F2(
13661 function (_v1, v) {
13662 return v.value === '';
13664 var hasEmptyOverrides = function (overrides) {
13666 $elm$core$Basics$composeR,
13667 $elm$core$Dict$isEmpty,
13668 $elm$core$Basics$not,
13669 A2($elm$core$Dict$filter, isEmptyOverride, overrides));
13671 var addButton = function () {
13672 var _v0 = model.mode;
13673 if (_v0.$ === 'Write') {
13674 return _List_fromArray(
13676 hasEmptyOverrides(newOverrides) ? A2(
13677 $elm$html$Html$button,
13680 $elm$html$Html$Attributes$class('dash--disabled dash dash--add overrides__add'),
13681 $elm$html$Html$Attributes$disabled(true)
13685 $elm$html$Html$text('Add an override')
13687 $author$project$Html$Common$buttonClass,
13688 'dash dash--add overrides__add',
13689 $author$project$Html$Overrides$AddOverride,
13692 $elm$html$Html$text('Add an override')
13700 $author$project$Html$Common$divClass,
13701 'deployment__widget',
13705 $author$project$Html$Common$divClass,
13710 A2($author$project$Html$Overrides$newOverridesView, model, newOverrides),
13711 $author$project$Html$Overrides$overridesLevelView(model))))
13714var $author$project$Html$Overrides$view = function (model) {
13716 $author$project$Html$Common$divClass,
13717 'deployment__section',
13721 $author$project$Html$Common$h3Class,
13722 'deployment__sub-heading',
13725 $elm$html$Html$text(model.name)
13727 $author$project$Html$Overrides$overridesSectionData(model)
13730var $author$project$Page$Deployment$overridesView = F2(
13731 function (overrides, mapper) {
13733 $elm$html$Html$map,
13736 if (overrides.$ === 'Success') {
13737 var x = overrides.a;
13738 return $author$project$Html$Overrides$view(x);
13740 return $author$project$Html$Overrides$overridesSectionLoading($author$project$Html$Overrides$Read);
13744var $author$project$Page$Deployment$deploymentView = F2(
13745 function (model, deployment) {
13747 $author$project$Html$Common$divClass,
13751 A2($author$project$Page$Deployment$deploymentSummaryView, model, deployment),
13752 A2($author$project$Page$Deployment$deploymentLinksView, model, deployment),
13753 A2($author$project$Page$Deployment$overridesView, model.deploymentOverrides, $author$project$Page$Deployment$DeploymentOverridesMsg),
13754 A2($author$project$Page$Deployment$overridesView, model.appOverrides, $author$project$Page$Deployment$AppOverridesMsg),
13755 $author$project$Page$Deployment$actionsView(model)
13758var $author$project$Page$Deployment$failureDeploymentView = function (model) {
13760 $author$project$Html$Common$divClass,
13765 $author$project$Html$Common$divClass,
13770 $author$project$Html$Common$divClass,
13775 $author$project$Html$Common$bClass,
13779 $elm$html$Html$text('Cannot retrieve the data'),
13781 $author$project$Html$Common$divClass,
13785 $elm$html$Html$text('Try to reload page')
13792var $author$project$Page$Deployment$loadingDeploymentView = function (model) {
13794 $author$project$Html$Common$divClass,
13799 $author$project$Html$Common$divClass,
13800 'loading loading--enlarged loading--alternate',
13803 $elm$html$Html$text('Loading ...')
13807var $author$project$Page$Deployment$pageBodyView = function (model) {
13809 $author$project$Html$Common$divClass,
13814 var _v0 = model.deployment;
13817 var deployment = _v0.a;
13818 return A2($author$project$Page$Deployment$deploymentView, model, deployment);
13820 return $author$project$Page$Deployment$failureDeploymentView(model);
13822 return $author$project$Page$Deployment$loadingDeploymentView(model);
13827var $author$project$Page$Deployment$pageWrapper = function (body) {
13829 $author$project$Html$Common$divClass,
13833 A2($author$project$Html$Common$divClass, 'page__wrap container', body)
13836var $author$project$Page$Deployment$pageView = function (model) {
13837 return $author$project$Page$Deployment$pageWrapper(
13840 $author$project$Page$Deployment$backButton,
13841 $author$project$Page$Deployment$deploymentHeaderView(model),
13842 $author$project$Page$Deployment$pageBodyView(model)
13845var $author$project$Page$Sidebar$CreateUpdate$NameInput = function (a) {
13846 return {$: 'NameInput', a: a};
13848var $author$project$Page$Sidebar$CreateUpdate$hasEmptyName = function (model) {
13849 var nameLength = $elm$core$String$length(
13850 $author$project$Types$Deployment$unDeploymentName(model.name));
13851 return (nameLength < 2) || (nameLength > 17);
13853var $author$project$Page$Sidebar$CreateUpdate$nameSection = function (model) {
13854 var nameError = model.nameEdited && $author$project$Page$Sidebar$CreateUpdate$hasEmptyName(model);
13855 var inputClass = nameError ? 'input input--error' : 'input';
13856 var errorMessage = nameError ? _List_fromArray(
13859 $author$project$Html$Common$divClass,
13863 $elm$html$Html$text('Deployment name length should be longer than 2 characters and under 17 characters and begin with a letter.')
13867 $author$project$Html$Common$divClass,
13868 'deployment__section',
13872 $author$project$Html$Common$h3Class,
13873 'deployment__sub-heading',
13876 $elm$html$Html$text('Name')
13879 $author$project$Html$Common$divClass,
13880 'deployment__widget',
13882 $elm$core$List$cons,
13884 $author$project$Html$Common$divClass,
13889 $elm$html$Html$input,
13892 $elm$html$Html$Attributes$class('input__widget tag'),
13893 $elm$html$Html$Attributes$type_('text'),
13894 $elm$html$Html$Attributes$placeholder('Name'),
13895 $elm$html$Html$Attributes$value(
13896 $author$project$Types$Deployment$unDeploymentName(model.name)),
13897 $elm$html$Html$Events$onInput($author$project$Page$Sidebar$CreateUpdate$NameInput)
13904var $author$project$Page$Sidebar$CreateUpdate$overridesView = F2(
13905 function (overrides, mapper) {
13907 $elm$html$Html$map,
13910 if (overrides.$ === 'Success') {
13911 var x = overrides.a;
13912 return $author$project$Html$Overrides$view(x);
13914 return $author$project$Html$Overrides$overridesSectionLoading($author$project$Html$Overrides$Write);
13918var $author$project$Page$Sidebar$CreateUpdate$sidebarContent = function (model) {
13919 var errorViewer = function (msg) {
13920 return _List_fromArray(
13923 $author$project$Html$Common$divClass,
13924 'deployment__output notification notification--danger',
13927 $elm$html$Html$text(msg)
13931 var errorText = function () {
13932 var _v0 = model.saveResp;
13933 if (_v0.$ === 'Failure') {
13934 if (_v0.a.$ === 'BadStatus') {
13937 return $elm$core$Maybe$Just(msg);
13939 return $elm$core$Maybe$Just('Something went wrong');
13942 return $elm$core$Maybe$Nothing;
13945 var errorView = A2(
13946 $elm$core$Maybe$withDefault,
13948 A2($elm$core$Maybe$map, errorViewer, errorText));
13950 $author$project$Html$Common$divClass,
13955 $author$project$Html$Common$divClass,
13961 $author$project$Page$Sidebar$CreateUpdate$nameSection(model),
13962 A2($author$project$Page$Sidebar$CreateUpdate$overridesView, model.deploymentOverrides, $author$project$Page$Sidebar$CreateUpdate$DeploymentOverridesMsg),
13963 A2($author$project$Page$Sidebar$CreateUpdate$overridesView, model.appOverrides, $author$project$Page$Sidebar$CreateUpdate$AppOverridesMsg)
13967var $author$project$Page$Sidebar$CreateUpdate$Close = {$: 'Close'};
13968var $author$project$Page$Sidebar$CreateUpdate$Save = {$: 'Save'};
13969var $elm$html$Html$h2 = _VirtualDom_node('h2');
13970var $author$project$Html$Common$h2Class = $author$project$Html$Common$elClass($elm$html$Html$h2);
13971var $elm$core$List$isEmpty = function (xs) {
13978var $author$project$Html$Overrides$hasEmptyValues = function (model) {
13980 $elm$core$Basics$composeR,
13981 $elm$core$List$isEmpty,
13982 $elm$core$Basics$not,
13984 $elm$core$List$filter,
13986 return v.value === '';
13988 $author$project$Html$Overrides$getFullOverrides(model)));
13990var $author$project$Page$Sidebar$CreateUpdate$hasEmptyValues = function (model) {
13991 var _v0 = _Utils_Tuple2(model.appOverrides, model.deploymentOverrides);
13992 if ((_v0.a.$ === 'Success') && (_v0.b.$ === 'Success')) {
13993 var appOverrides = _v0.a.a;
13994 var deploymentOverrides = _v0.b.a;
13995 return $author$project$Html$Overrides$hasEmptyValues(appOverrides) || ($author$project$Html$Overrides$hasEmptyValues(deploymentOverrides) || $author$project$Page$Sidebar$CreateUpdate$hasEmptyName(model));
14000var $author$project$Page$Sidebar$CreateUpdate$sidebarHeader = function (model) {
14001 var button = function () {
14002 var _v1 = _Utils_Tuple2(
14004 $author$project$Page$Sidebar$CreateUpdate$hasEmptyValues(model));
14017 $elm$html$Html$button,
14020 $elm$html$Html$Attributes$class('button--disabled button button--save popup__action'),
14021 $elm$html$Html$Attributes$disabled(true)
14025 $elm$html$Html$text('Save')
14036 $author$project$Html$Common$buttonClass,
14037 'button button--save popup__action',
14038 $author$project$Page$Sidebar$CreateUpdate$Save,
14041 $elm$html$Html$text('Save')
14046 return A2($elm$html$Html$div, _List_Nil, _List_Nil);
14050 $elm$html$Html$button,
14053 $elm$html$Html$Attributes$class('popup__action button button--save-loading'),
14054 $elm$html$Html$Attributes$disabled(true)
14058 $elm$html$Html$text('Save')
14062 $author$project$Html$Common$divClass,
14066 A3($author$project$Html$Common$buttonClass, 'popup__close', $author$project$Page$Sidebar$CreateUpdate$Close, _List_Nil),
14068 $author$project$Html$Common$h2Class,
14072 $elm$html$Html$text(
14074 var _v0 = model.mode;
14075 if (_v0.$ === 'Create') {
14076 return 'Create new deployment';
14078 return 'Update deployment';
14083 $author$project$Html$Common$divClass,
14084 'popup__operations',
14087 A2($author$project$Html$Common$divClass, 'popup__menu drop drop--actions', _List_Nil)
14090var $author$project$Page$Sidebar$CreateUpdate$view = function (model) {
14091 return model.visibility ? _List_fromArray(
14094 $author$project$Html$Common$divClass,
14095 'popup popup--visible',
14099 $elm$html$Html$div,
14102 A2($elm$html$Html$Attributes$attribute, 'aria-hidden', 'true'),
14103 $elm$html$Html$Attributes$class('popup__overlay')
14107 $author$project$Html$Common$divClass,
14111 $author$project$Page$Sidebar$CreateUpdate$sidebarHeader(model),
14112 $author$project$Page$Sidebar$CreateUpdate$sidebarContent(model)
14117var $author$project$Page$Deployment$view = function (model) {
14119 content: _Utils_ap(
14121 $elm$core$List$cons,
14122 $author$project$Page$Deployment$pageView(model),
14124 $elm$core$List$map,
14125 $elm$html$Html$map($author$project$Page$Deployment$CreateSidebarMsg),
14126 $author$project$Page$Sidebar$CreateUpdate$view(model.sidebar))),
14128 var _v0 = model.archivePopup;
14129 if (_v0.$ === 'Nothing') {
14132 var deploymentName = _v0.a;
14133 return _List_fromArray(
14135 $author$project$Page$Deployment$archivePopupView(deploymentName)
14139 title: 'Deployments'
14142var $author$project$Page$Deployments$Table$CloseArchivePopup = {$: 'CloseArchivePopup'};
14143var $author$project$Page$Deployments$Table$DeleteDeploymentReq = function (a) {
14144 return {$: 'DeleteDeploymentReq', a: a};
14146var $author$project$Page$Deployments$Table$archivePopupView = function (deploymentName) {
14148 $elm$html$Html$div,
14151 $elm$html$Html$Attributes$class('classic-popup'),
14152 A2($elm$html$Html$Attributes$style, 'display', 'block')
14157 $author$project$Html$Common$divClass,
14158 'classic-popup__container',
14162 $author$project$Html$Common$divClass,
14163 'classic-popup__viewport',
14167 $author$project$Html$Common$divClass,
14168 'classic-popup__slot',
14172 $author$project$Html$Common$divClass,
14173 'dialog dialog--archive',
14177 $author$project$Html$Common$divClass,
14181 $elm$html$Html$text('Are you sure you want to archive the'),
14182 A2($elm$html$Html$br, _List_Nil, _List_Nil),
14183 $elm$html$Html$text(
14184 $author$project$Types$Deployment$unDeploymentName(deploymentName)),
14185 $elm$html$Html$text(' deployment?')
14188 $author$project$Html$Common$divClass,
14193 $author$project$Html$Common$buttonClass,
14194 'button dialog__action',
14195 $author$project$Page$Deployments$Table$DeleteDeploymentReq(deploymentName),
14198 $elm$html$Html$text('Archive')
14201 $author$project$Html$Common$buttonClass,
14202 'button dialog__action button--secondary',
14203 $author$project$Page$Deployments$Table$CloseArchivePopup,
14206 $elm$html$Html$text('Cancel')
14210 A3($author$project$Html$Common$buttonClass, 'classic-popup__close', $author$project$Page$Deployments$Table$CloseArchivePopup, _List_Nil)
14216var $author$project$Page$Deployments$Table$CloseAppOverrides = function (a) {
14217 return {$: 'CloseAppOverrides', a: a};
14219var $author$project$Page$Deployments$Table$CloseDeploymentOverrides = function (a) {
14220 return {$: 'CloseDeploymentOverrides', a: a};
14222var $author$project$Page$Deployments$Table$GoToDeployment = function (a) {
14223 return {$: 'GoToDeployment', a: a};
14225var $author$project$Page$Deployments$Table$OpenAppOverrides = function (a) {
14226 return {$: 'OpenAppOverrides', a: a};
14228var $author$project$Page$Deployments$Table$OpenArchivePopup = function (a) {
14229 return {$: 'OpenArchivePopup', a: a};
14231var $author$project$Page$Deployments$Table$OpenDeploymentOverrides = function (a) {
14232 return {$: 'OpenDeploymentOverrides', a: a};
14234var $author$project$Page$Deployments$Table$OpenMenu = function (a) {
14235 return {$: 'OpenMenu', a: a};
14237var $author$project$Page$Deployments$Table$RestoreDeploymentReq = function (a) {
14238 return {$: 'RestoreDeploymentReq', a: a};
14240var $author$project$Page$Deployments$Table$ShowEditSidebar = function (a) {
14241 return {$: 'ShowEditSidebar', a: a};
14243var $elm$html$Html$Attributes$id = $elm$html$Html$Attributes$stringProperty('id');
14244var $author$project$Page$Deployments$Table$overridesView = F5(
14245 function (openCmd, closeCmd, dName, opened, overrides) {
14246 var visibleOverrides = A2($elm$core$List$take, 3, overrides);
14247 var overrideView = function (override) {
14249 $author$project$Html$Common$divClass,
14252 var _v0 = override.value;
14253 if (_v0.$ === 'ValueAdded') {
14255 return _List_fromArray(
14258 $author$project$Html$Common$spanClass,
14259 'key-default-pristine',
14262 $elm$html$Html$text(
14263 $author$project$Types$Override$unOverrideName(override.name) + ': ')
14266 $elm$html$Html$span,
14269 $elm$html$Html$Attributes$class('value-edited'),
14270 A2($elm$html$Html$Attributes$attribute, 'style', 'width:400px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;')
14274 $elm$html$Html$text(v)
14278 return _List_fromArray(
14281 $author$project$Html$Common$spanClass,
14285 $elm$html$Html$text(
14286 $author$project$Types$Override$unOverrideName(override.name) + ': ')
14288 A2($author$project$Html$Common$divClass, 'listing__placeholder listing__placeholder__value', _List_Nil)
14293 var buttonClass_ = F3(
14294 function (cls, msg, body) {
14296 $elm$html$Html$button,
14299 $elm$html$Html$Attributes$class(cls),
14300 $elm_community$html_extra$Html$Events$Extra$onClickStopPropagation(msg)
14305 $elm$core$List$length(overrides),
14306 $elm$core$List$length(visibleOverrides)) ? A2($elm$core$List$map, overrideView, overrides) : (A2($turboMaCk$any_set$Set$Any$member, dName, opened) ? A2(
14307 $elm$core$List$append,
14308 A2($elm$core$List$map, overrideView, overrides),
14313 'expander listing__more expander--open',
14317 $elm$html$Html$text('Hide default configuration')
14320 $elm$core$List$append,
14321 A2($elm$core$List$map, overrideView, visibleOverrides),
14326 'expander listing__more',
14330 $elm$html$Html$text('Show full configuration')
14334var $author$project$Page$Deployments$Table$deploymentView = F2(
14335 function (model, deployment) {
14336 var statusView = function (status) {
14337 if (status.$ === 'DeploymentPending') {
14339 $author$project$Html$Common$divClass,
14340 'status status--pending',
14343 $elm$html$Html$text('Pending...')
14346 switch (status.a.$) {
14348 var _v3 = status.a;
14350 $author$project$Html$Common$divClass,
14351 'status status--success',
14354 $elm$html$Html$text('Running')
14358 $author$project$Html$Common$divClass,
14359 'status status--failure',
14362 $elm$html$Html$text('Failure')
14364 case 'CreatePending':
14365 var _v4 = status.a;
14367 $author$project$Html$Common$divClass,
14368 'loading loading--status-alike',
14371 $elm$html$Html$text('Creating...')
14373 case 'UpdatePending':
14374 var _v5 = status.a;
14376 $author$project$Html$Common$divClass,
14377 'loading loading--status-alike',
14380 $elm$html$Html$text('Updating...')
14382 case 'ArchivePending':
14383 var _v6 = status.a;
14385 $author$project$Html$Common$divClass,
14386 'loading loading--status-alike',
14389 $elm$html$Html$text('Archiving...')
14392 var _v7 = status.a;
14394 $author$project$Html$Common$divClass,
14395 'status status--archived',
14398 $elm$html$Html$text('Archived')
14401 var _v8 = status.a;
14403 $author$project$Html$Common$divClass,
14404 'status status--failure',
14407 $elm$html$Html$text('Cleanup failed (contact admin)')
14412 var name = _List_fromArray(
14414 $elm$html$Html$text(
14415 $author$project$Types$Deployment$unDeploymentName(deployment.deployment.name)),
14416 statusView(deployment.status)
14418 var menuButtonClass = F2(
14419 function (status, _class) {
14420 return $author$project$Types$Deployment$isPending(status) ? (_class + ' action--disabled ') : _class;
14422 var link = function (m) {
14424 $author$project$Html$Common$aClassHrefExternal,
14425 'listing__item external bar',
14429 $elm$html$Html$text(m.name)
14432 var links = function () {
14433 var _v1 = model.tableType;
14434 if (_v1.$ === 'ActiveTable') {
14435 return _List_fromArray(
14438 $author$project$Html$Common$divClass,
14440 A2($elm$core$List$map, link, deployment.metadata))
14443 return _List_fromArray(
14445 $elm$html$Html$text('...')
14449 var deploymentOverrides = _List_fromArray(
14452 $author$project$Html$Common$divClass,
14454 A5($author$project$Page$Deployments$Table$overridesView, $author$project$Page$Deployments$Table$OpenDeploymentOverrides, $author$project$Page$Deployments$Table$CloseDeploymentOverrides, deployment.deployment.name, model.openedDeployemntOverrides, deployment.deployment.deploymentOverrides))
14456 var buttonClass_ = F3(
14457 function (cls, msg, body) {
14459 $elm$html$Html$button,
14462 $elm$html$Html$Attributes$class(cls),
14463 $elm_community$html_extra$Html$Events$Extra$onClickStopPropagation(msg)
14468 $elm$html$Html$div,
14471 $elm$html$Html$Attributes$class(
14472 'drop drop--actions ' + (_Utils_eq(
14474 $elm$core$Maybe$Just(deployment.deployment.name)) ? 'drop--expanded' : '')),
14475 $elm$html$Html$Attributes$id(
14476 $author$project$Page$Deployments$Table$getDropdownId(model))
14483 $author$project$Page$Deployments$Table$OpenMenu(deployment.deployment.name),
14486 $elm$html$Html$text('Actions')
14489 $author$project$Html$Common$divClass,
14492 var _v0 = model.tableType;
14493 if (_v0.$ === 'ActiveTable') {
14494 return _List_fromArray(
14497 $elm$html$Html$button,
14500 $elm$html$Html$Attributes$class(
14501 A2(menuButtonClass, deployment.status, 'action action--edit')),
14502 $elm$html$Html$Attributes$type_('button'),
14503 $elm$html$Html$Attributes$disabled(
14504 $author$project$Types$Deployment$isPending(deployment.status)),
14505 $elm_community$html_extra$Html$Events$Extra$onClickStopPropagation(
14506 $author$project$Page$Deployments$Table$ShowEditSidebar(deployment.deployment.name))
14510 $elm$html$Html$text('Edit')
14513 $elm$html$Html$button,
14516 $elm$html$Html$Attributes$class(
14517 A2(menuButtonClass, deployment.status, 'action action--archive classic-popup-handler')),
14518 $elm$html$Html$Attributes$type_('button'),
14519 $elm$html$Html$Attributes$disabled(
14520 $author$project$Types$Deployment$isPending(deployment.status)),
14521 $elm_community$html_extra$Html$Events$Extra$onClickStopPropagation(
14522 $author$project$Page$Deployments$Table$OpenArchivePopup(deployment.deployment.name))
14526 $elm$html$Html$text('Move to archive')
14529 $author$project$Html$Common$aClassHrefExternal,
14530 'action action--logs',
14532 model.config.k8sDashboardUrlTemplate,
14533 $author$project$Types$Deployment$unDeploymentName(deployment.deployment.name)),
14536 $elm$html$Html$text('Details')
14540 return _List_fromArray(
14543 $elm$html$Html$button,
14546 $elm$html$Html$Attributes$class('action action--restore'),
14547 $elm_community$html_extra$Html$Events$Extra$onClickStopPropagation(
14548 $author$project$Page$Deployments$Table$RestoreDeploymentReq(deployment.deployment.name))
14552 $elm$html$Html$text('Restore from archive')
14558 var appOverrides = _List_fromArray(
14561 $author$project$Html$Common$divClass,
14563 A5($author$project$Page$Deployments$Table$overridesView, $author$project$Page$Deployments$Table$OpenAppOverrides, $author$project$Page$Deployments$Table$CloseAppOverrides, deployment.deployment.name, model.openedAppOverrides, deployment.deployment.appOverrides))
14569 $elm$html$Html$Events$onClick(
14570 $author$project$Page$Deployments$Table$GoToDeployment(deployment.deployment.name))
14574 A2($elm$html$Html$td, _List_Nil, name),
14575 A2($elm$html$Html$td, _List_Nil, links),
14576 A2($elm$html$Html$td, _List_Nil, deploymentOverrides),
14577 A2($elm$html$Html$td, _List_Nil, appOverrides),
14583 A2($author$project$Html$Common$dateView, model.settings.zone, deployment.createdAt)
14590 A2($author$project$Html$Common$dateView, model.settings.zone, deployment.updatedAt)
14599var $author$project$Page$Deployments$Table$tableFailureView = A2(
14600 $elm$html$Html$tbody,
14605 $author$project$Html$Common$trClass,
14613 $elm$html$Html$Attributes$colspan(8)
14618 $author$project$Html$Common$divClass,
14623 $author$project$Html$Common$bClass,
14627 $elm$html$Html$text('Cannot retrieve the data')
14630 $author$project$Html$Common$divClass,
14634 $elm$html$Html$text('Try to reload page')
14640var $elm$core$String$toUpper = _String_toUpper;
14641var $author$project$Page$Deployments$Table$tableDeploymentsView = F3(
14642 function (model, deployments, search) {
14643 var compareDeployments = F2(
14645 var _v0 = model.sort;
14646 if (_v0.$ === 'Asc') {
14651 $elm$core$Basics$compare,
14652 $author$project$Types$Deployment$unDeploymentName(a.deployment.name),
14653 $author$project$Types$Deployment$unDeploymentName(b.deployment.name));
14657 $elm$core$Basics$compare,
14658 $elm$time$Time$posixToMillis(a.createdAt),
14659 $elm$time$Time$posixToMillis(b.createdAt));
14663 $elm$core$Basics$compare,
14664 $elm$time$Time$posixToMillis(a.updatedAt),
14665 $elm$time$Time$posixToMillis(b.updatedAt));
14672 $elm$core$Basics$compare,
14673 $author$project$Types$Deployment$unDeploymentName(b.deployment.name),
14674 $author$project$Types$Deployment$unDeploymentName(a.deployment.name));
14678 $elm$core$Basics$compare,
14679 $elm$time$Time$posixToMillis(b.createdAt),
14680 $elm$time$Time$posixToMillis(a.createdAt));
14684 $elm$core$Basics$compare,
14685 $elm$time$Time$posixToMillis(b.updatedAt),
14686 $elm$time$Time$posixToMillis(a.updatedAt));
14690 var check = function (deployment) {
14691 return (search === '') ? true : A2(
14692 $elm$core$String$contains,
14693 $elm$core$String$toUpper(search),
14694 $elm$core$String$toUpper(
14695 $author$project$Types$Deployment$unDeploymentName(deployment.deployment.name)));
14698 $elm$core$List$filter,
14700 A2($elm$core$List$sortWith, compareDeployments, deployments));
14701 return ($elm$core$List$length(sorted) > 0) ? A2(
14702 $elm$html$Html$tbody,
14705 $elm$core$List$map,
14706 $author$project$Page$Deployments$Table$deploymentView(model),
14707 sorted)) : $author$project$Page$Deployments$Table$tableFailureView;
14709var $author$project$Page$Deployments$Table$tableLoadingView = A2(
14710 $elm$html$Html$tbody,
14715 $author$project$Html$Common$trClass,
14723 $elm$html$Html$Attributes$colspan(8)
14728 $author$project$Html$Common$divClass,
14729 'loading loading--enlarged loading--alternate',
14732 $elm$html$Html$text('Loading...')
14737var $author$project$Page$Deployments$Table$tablePrimaryBodyView = F3(
14738 function (model, deployments, search) {
14739 switch (deployments.$) {
14741 var d = deployments.a;
14742 return A3($author$project$Page$Deployments$Table$tableDeploymentsView, model, d, search);
14744 return $author$project$Page$Deployments$Table$tableFailureView;
14746 return $author$project$Page$Deployments$Table$tableLoadingView;
14749var $author$project$Page$Deployments$Table$Asc = function (a) {
14750 return {$: 'Asc', a: a};
14752var $author$project$Page$Deployments$Table$Created = {$: 'Created'};
14753var $author$project$Page$Deployments$Table$Name = {$: 'Name'};
14754var $author$project$Page$Deployments$Table$SortChanged = function (a) {
14755 return {$: 'SortChanged', a: a};
14757var $author$project$Page$Deployments$Table$tablePrimaryHeaderView = function (model) {
14759 function (clm, sort, txt) {
14760 var _v0 = function () {
14761 if (sort.$ === 'Asc') {
14763 return _Utils_eq(sClm, clm) ? _Utils_Tuple2(
14764 'sort sort--active sort--asc',
14765 $author$project$Page$Deployments$Table$SortChanged(
14766 $author$project$Page$Deployments$Table$Desc(clm))) : _Utils_Tuple2(
14768 $author$project$Page$Deployments$Table$SortChanged(
14769 $author$project$Page$Deployments$Table$Asc(clm)));
14772 return _Utils_eq(sClm, clm) ? _Utils_Tuple2(
14773 'sort sort--active sort--desc',
14774 $author$project$Page$Deployments$Table$SortChanged(
14775 $author$project$Page$Deployments$Table$Asc(clm))) : _Utils_Tuple2(
14777 $author$project$Page$Deployments$Table$SortChanged(
14778 $author$project$Page$Deployments$Table$Asc(clm)));
14789 $author$project$Html$Common$buttonClass,
14794 $elm$html$Html$text(txt)
14798 var simpleTh = function (txt) {
14804 $elm$html$Html$text(txt)
14808 $elm$html$Html$thead,
14817 A3(sortTh, $author$project$Page$Deployments$Table$Name, model.sort, 'Name'),
14819 simpleTh('Deployment configuration'),
14820 simpleTh('App configuration'),
14821 A3(sortTh, $author$project$Page$Deployments$Table$Created, model.sort, 'Created'),
14822 A3(sortTh, $author$project$Page$Deployments$Table$Updated, model.sort, 'Updated'),
14829 $author$project$Html$Common$spanClass,
14833 $elm$html$Html$text('Menu')
14839var $author$project$Page$Deployments$Table$view = F3(
14840 function (model, deployments, search) {
14842 $author$project$Html$Common$divClass,
14843 'table table--deployments table--clickable table--double-click',
14845 $elm$core$List$cons,
14847 $elm$html$Html$table,
14851 $author$project$Page$Deployments$Table$tablePrimaryHeaderView(model),
14852 A3($author$project$Page$Deployments$Table$tablePrimaryBodyView, model, deployments, search)
14855 var _v0 = model.archivePopup;
14856 if (_v0.$ === 'Nothing') {
14859 var deploymentName = _v0.a;
14860 return _List_fromArray(
14862 $author$project$Page$Deployments$Table$archivePopupView(deploymentName)
14867var $author$project$Page$Deployments$dataArchivedView = F2(
14868 function (model, archivedDeploymets) {
14869 var dataClass = model.showArchived ? 'data__archive data__archive--open' : 'data__archive';
14871 $author$project$Html$Common$divClass,
14876 $elm$html$Html$map,
14877 $author$project$Page$Deployments$ArchivedTableMsg,
14878 A3($author$project$Page$Deployments$Table$view, model.archivedTable, archivedDeploymets, model.search))
14881var $author$project$Page$Deployments$dataPrimaryView = F2(
14882 function (model, activeDeploymets) {
14884 $author$project$Html$Common$divClass,
14889 $elm$html$Html$map,
14890 $author$project$Page$Deployments$ActiveTableMsg,
14891 A3($author$project$Page$Deployments$Table$view, model.activeTable, activeDeploymets, model.search))
14894var $author$project$Page$Deployments$pageBodyWrapper = function (body) {
14896 $author$project$Html$Common$divClass,
14900 A2($author$project$Html$Common$divClass, 'body', body)
14903var $author$project$Page$Deployments$ShowCreateSidebar = {$: 'ShowCreateSidebar'};
14904var $author$project$Page$Deployments$SearchInput = function (a) {
14905 return {$: 'SearchInput', a: a};
14907var $author$project$Page$Deployments$pageHeaderSearchView = function (_v0) {
14909 $author$project$Html$Common$divClass,
14910 'page__action page__action--search input input--search input--has-clear-type',
14914 $elm$html$Html$input,
14917 $elm$html$Html$Attributes$class('input__widget'),
14918 $elm$html$Html$Attributes$type_('text'),
14919 $elm$html$Html$Attributes$placeholder('Search for deployments'),
14920 $elm$html$Html$Events$onInput($author$project$Page$Deployments$SearchInput)
14925var $author$project$Page$Deployments$pageHeaderTimeUpdateView = function (model) {
14926 var msg = (model.updated < 30) ? 'Updated just now' : ((model.updated < 90) ? 'Updated 1 minute ago' : ((_Utils_cmp(model.updated, 60 * 60) < 0) ? ('Updated ' + ($elm$core$String$fromInt((model.updated / 60) | 0) + ' minutes ago')) : ((_Utils_cmp(model.updated, (2 * 60) * 60) < 0) ? 'Update 1 hour ago' : ('Updated ' + ($elm$core$String$fromInt((model.updated / (60 * 60)) | 0) + ' ho ago')))));
14928 $author$project$Html$Common$divClass,
14932 $elm$html$Html$text(msg)
14935var $author$project$Page$Deployments$pageHeaderView = function (model) {
14937 $author$project$Html$Common$divClass,
14942 $author$project$Html$Common$h1Class,
14943 'page__heading title',
14946 $elm$html$Html$text('All deployments')
14948 $author$project$Page$Deployments$pageHeaderTimeUpdateView(model),
14949 $author$project$Page$Deployments$pageHeaderSearchView(model),
14951 $author$project$Html$Common$buttonClass,
14952 'page__action button button--add popup-handler',
14953 $author$project$Page$Deployments$ShowCreateSidebar,
14956 $elm$html$Html$text('New deployment')
14960var $author$project$Page$Deployments$pageWrapper = function (body) {
14962 $author$project$Html$Common$divClass,
14966 A2($author$project$Html$Common$divClass, 'page__wrap container', body)
14969var $author$project$Page$Deployments$ToggleArchived = {$: 'ToggleArchived'};
14970var $author$project$Page$Deployments$toggleButtonView = function (model) {
14971 return model.showArchived ? A3(
14972 $author$project$Html$Common$buttonClass,
14973 'data__show-archive expander expander--stand-alone expander--open',
14974 $author$project$Page$Deployments$ToggleArchived,
14977 $elm$html$Html$text('Hide Archived deployments')
14979 $author$project$Html$Common$buttonClass,
14980 'data__show-archive expander expander--stand-alone',
14981 $author$project$Page$Deployments$ToggleArchived,
14984 $elm$html$Html$text('Show Archived deployments')
14987var $author$project$Page$Deployments$pageView = function (model) {
14988 var archivedDeploymets = A2(
14989 $krisajenkins$remotedata$RemoteData$map,
14990 $elm$core$List$filter($author$project$Types$Deployment$isDeploymentArchived),
14991 model.deployments);
14992 var archivedCount = A3($krisajenkins$remotedata$RemoteData$unwrap, 0, $elm$core$List$length, archivedDeploymets);
14993 var activeDeploymets = A2(
14994 $krisajenkins$remotedata$RemoteData$map,
14995 $elm$core$List$filter(
14996 A2($elm$core$Basics$composeR, $author$project$Types$Deployment$isDeploymentArchived, $elm$core$Basics$not)),
14997 model.deployments);
14998 return $author$project$Page$Deployments$pageWrapper(
15001 $author$project$Page$Deployments$pageHeaderView(model),
15002 $author$project$Page$Deployments$pageBodyWrapper(
15004 $elm$core$List$cons,
15005 A2($author$project$Page$Deployments$dataPrimaryView, model, activeDeploymets),
15006 (!archivedCount) ? _List_Nil : _List_fromArray(
15008 $author$project$Page$Deployments$toggleButtonView(model),
15009 A2($author$project$Page$Deployments$dataArchivedView, model, archivedDeploymets)
15013var $author$project$Page$Deployments$view = function (model) {
15016 $elm$core$List$cons,
15017 $author$project$Page$Deployments$pageView(model),
15019 $elm$core$List$map,
15020 $elm$html$Html$map($author$project$Page$Deployments$CreateSidebarMsg),
15021 $author$project$Page$Sidebar$CreateUpdate$view(model.sidebar))),
15022 title: 'Deployments'
15025var $author$project$Page$Initialization$failureView = A2(
15026 $author$project$Html$Common$divClass,
15031 $author$project$Html$Common$divClass,
15036 $author$project$Html$Common$divClass,
15041 $author$project$Html$Common$bClass,
15045 $elm$html$Html$text('Cannot retrieve the data')
15048 $author$project$Html$Common$divClass,
15052 $elm$html$Html$text('Try to reload page')
15057var $author$project$Page$Initialization$loadingView = A2(
15058 $author$project$Html$Common$divClass,
15063 $author$project$Html$Common$divClass,
15068 $author$project$Html$Common$divClass,
15069 'loading loading--enlarged loading--alternate',
15072 $elm$html$Html$text('Loading...')
15076var $author$project$Page$Initialization$view = function (model) {
15077 var _v0 = _Utils_Tuple2(model.config, model.projectName);
15085 content: _List_fromArray(
15086 [$author$project$Page$Initialization$failureView]),
15105 content: _List_fromArray(
15106 [$author$project$Page$Initialization$loadingView]),
15110 return {content: _List_Nil, title: 'Octopod'};
15116 content: _List_fromArray(
15117 [$author$project$Page$Initialization$loadingView]),
15122 content: _List_fromArray(
15123 [$author$project$Page$Initialization$failureView]),
15127var $author$project$Main$view = function (model) {
15129 function (page, toMsg, config) {
15131 $author$project$Page$view,
15132 $author$project$Main$getSettings(model).projectName,
15135 var title = _v1.title;
15136 var body = _v1.body;
15139 $elm$core$List$map,
15140 $elm$html$Html$map(toMsg),
15146 case 'Initialization':
15147 var subModel = model.a;
15150 $author$project$Page$Initialization,
15151 $author$project$Main$InitializationMsg,
15152 $author$project$Page$Initialization$view(subModel));
15153 case 'Deployments':
15154 var subModel = model.a;
15157 $author$project$Page$Deployments,
15158 $author$project$Main$DeploymentsMsg,
15159 $author$project$Page$Deployments$view(subModel));
15161 var subModel = model.a;
15164 $author$project$Page$Deployment,
15165 $author$project$Main$DeploymentMsg,
15166 $author$project$Page$Deployment$view(subModel));
15169var $author$project$Main$main = $elm$browser$Browser$application(
15170 {init: $author$project$Main$init, onUrlChange: $author$project$Main$UrlChanged, onUrlRequest: $author$project$Main$LinkClicked, subscriptions: $author$project$Main$subscriptions, update: $author$project$Main$update, view: $author$project$Main$view});
15171_Platform_export({'Main':{'init':$author$project$Main$main(
15172 $elm$json$Json$Decode$succeed(_Utils_Tuple0))(0)}});}(this));
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list