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 = F4(
6462 function (navKey, 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, navKey: navKey, 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$absolute = F2(
7605 function (pathSegments, parameters) {
7606 return '/' + (A2($elm$core$String$join, '/', pathSegments) + $elm$url$Url$Builder$toQuery(parameters));
7608var $elm$url$Url$Builder$crossOrigin = F3(
7609 function (prePath, pathSegments, parameters) {
7610 return prePath + ('/' + (A2($elm$core$String$join, '/', pathSegments) + $elm$url$Url$Builder$toQuery(parameters)));
7612var $author$project$Config$unwrapAppUrl = function (_v0) {
7616var $author$project$Api$Endpoint$url = F3(
7617 function (mAppUrl, paths, queryParams) {
7618 if (mAppUrl.$ === 'Just') {
7619 var appUrl = mAppUrl.a;
7620 return $author$project$Api$Endpoint$Endpoint(
7622 $elm$url$Url$Builder$crossOrigin,
7623 $author$project$Config$unwrapAppUrl(appUrl),
7627 return $author$project$Api$Endpoint$Endpoint(
7628 A2($elm$url$Url$Builder$absolute, paths, queryParams));
7631var $author$project$Api$Endpoint$deploymentFullInfo = F2(
7632 function (deploymentName, appUrl) {
7634 $author$project$Api$Endpoint$url,
7635 $elm$core$Maybe$Just(appUrl),
7641 $author$project$Types$Deployment$unDeploymentName(deploymentName),
7646var $krisajenkins$remotedata$RemoteData$Failure = function (a) {
7647 return {$: 'Failure', a: a};
7649var $krisajenkins$remotedata$RemoteData$Success = function (a) {
7650 return {$: 'Success', a: a};
7652var $krisajenkins$remotedata$RemoteData$fromResult = function (result) {
7653 if (result.$ === 'Err') {
7655 return $krisajenkins$remotedata$RemoteData$Failure(e);
7658 return $krisajenkins$remotedata$RemoteData$Success(x);
7661var $elm$http$Http$Header = F2(
7663 return {$: 'Header', a: a, b: b};
7665var $elm$http$Http$header = $elm$http$Http$Header;
7666var $author$project$Api$authHeader = function (_v0) {
7667 var appAuth = _v0.a;
7668 return A2($elm$http$Http$header, 'authorization', appAuth);
7670var $elm$http$Http$BadStatus_ = F2(
7672 return {$: 'BadStatus_', a: a, b: b};
7674var $elm$http$Http$BadUrl_ = function (a) {
7675 return {$: 'BadUrl_', a: a};
7677var $elm$http$Http$GoodStatus_ = F2(
7679 return {$: 'GoodStatus_', a: a, b: b};
7681var $elm$http$Http$NetworkError_ = {$: 'NetworkError_'};
7682var $elm$http$Http$Receiving = function (a) {
7683 return {$: 'Receiving', a: a};
7685var $elm$http$Http$Sending = function (a) {
7686 return {$: 'Sending', a: a};
7688var $elm$http$Http$Timeout_ = {$: 'Timeout_'};
7689var $elm$core$Maybe$isJust = function (maybe) {
7690 if (maybe.$ === 'Just') {
7696var $elm$core$Dict$getMin = function (dict) {
7699 if ((dict.$ === 'RBNode_elm_builtin') && (dict.d.$ === 'RBNode_elm_builtin')) {
7701 var $temp$dict = left;
7709var $elm$core$Dict$moveRedLeft = function (dict) {
7710 if (((dict.$ === 'RBNode_elm_builtin') && (dict.d.$ === 'RBNode_elm_builtin')) && (dict.e.$ === 'RBNode_elm_builtin')) {
7711 if ((dict.e.d.$ === 'RBNode_elm_builtin') && (dict.e.d.a.$ === 'Red')) {
7733 $elm$core$Dict$RBNode_elm_builtin,
7738 $elm$core$Dict$RBNode_elm_builtin,
7739 $elm$core$Dict$Black,
7742 A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),
7744 A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, rK, rV, rlR, rRight));
7761 if (clr.$ === 'Black') {
7763 $elm$core$Dict$RBNode_elm_builtin,
7764 $elm$core$Dict$Black,
7767 A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),
7768 A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight));
7771 $elm$core$Dict$RBNode_elm_builtin,
7772 $elm$core$Dict$Black,
7775 A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),
7776 A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight));
7783var $elm$core$Dict$moveRedRight = function (dict) {
7784 if (((dict.$ === 'RBNode_elm_builtin') && (dict.d.$ === 'RBNode_elm_builtin')) && (dict.e.$ === 'RBNode_elm_builtin')) {
7785 if ((dict.d.d.$ === 'RBNode_elm_builtin') && (dict.d.d.a.$ === 'Red')) {
7798 var llRight = _v2.e;
7807 $elm$core$Dict$RBNode_elm_builtin,
7811 A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, llK, llV, llLeft, llRight),
7813 $elm$core$Dict$RBNode_elm_builtin,
7814 $elm$core$Dict$Black,
7818 A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight)));
7835 if (clr.$ === 'Black') {
7837 $elm$core$Dict$RBNode_elm_builtin,
7838 $elm$core$Dict$Black,
7841 A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),
7842 A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight));
7845 $elm$core$Dict$RBNode_elm_builtin,
7846 $elm$core$Dict$Black,
7849 A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),
7850 A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight));
7857var $elm$core$Dict$removeHelpPrepEQGT = F7(
7858 function (targetKey, dict, color, key, value, left, right) {
7859 if ((left.$ === 'RBNode_elm_builtin') && (left.a.$ === 'Red')) {
7864 var lRight = left.e;
7866 $elm$core$Dict$RBNode_elm_builtin,
7871 A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, key, value, lRight, right));
7875 if ((right.$ === 'RBNode_elm_builtin') && (right.a.$ === 'Black')) {
7876 if (right.d.$ === 'RBNode_elm_builtin') {
7877 if (right.d.a.$ === 'Black') {
7881 return $elm$core$Dict$moveRedRight(dict);
7888 return $elm$core$Dict$moveRedRight(dict);
7897var $elm$core$Dict$removeMin = function (dict) {
7898 if ((dict.$ === 'RBNode_elm_builtin') && (dict.d.$ === 'RBNode_elm_builtin')) {
7903 var lColor = left.a;
7906 if (lColor.$ === 'Black') {
7907 if ((lLeft.$ === 'RBNode_elm_builtin') && (lLeft.a.$ === 'Red')) {
7910 $elm$core$Dict$RBNode_elm_builtin,
7914 $elm$core$Dict$removeMin(left),
7917 var _v4 = $elm$core$Dict$moveRedLeft(dict);
7918 if (_v4.$ === 'RBNode_elm_builtin') {
7925 $elm$core$Dict$balance,
7929 $elm$core$Dict$removeMin(nLeft),
7932 return $elm$core$Dict$RBEmpty_elm_builtin;
7937 $elm$core$Dict$RBNode_elm_builtin,
7941 $elm$core$Dict$removeMin(left),
7945 return $elm$core$Dict$RBEmpty_elm_builtin;
7948var $elm$core$Dict$removeHelp = F2(
7949 function (targetKey, dict) {
7950 if (dict.$ === 'RBEmpty_elm_builtin') {
7951 return $elm$core$Dict$RBEmpty_elm_builtin;
7958 if (_Utils_cmp(targetKey, key) < 0) {
7959 if ((left.$ === 'RBNode_elm_builtin') && (left.a.$ === 'Black')) {
7962 if ((lLeft.$ === 'RBNode_elm_builtin') && (lLeft.a.$ === 'Red')) {
7965 $elm$core$Dict$RBNode_elm_builtin,
7969 A2($elm$core$Dict$removeHelp, targetKey, left),
7972 var _v7 = $elm$core$Dict$moveRedLeft(dict);
7973 if (_v7.$ === 'RBNode_elm_builtin') {
7980 $elm$core$Dict$balance,
7984 A2($elm$core$Dict$removeHelp, targetKey, nLeft),
7987 return $elm$core$Dict$RBEmpty_elm_builtin;
7992 $elm$core$Dict$RBNode_elm_builtin,
7996 A2($elm$core$Dict$removeHelp, targetKey, left),
8001 $elm$core$Dict$removeHelpEQGT,
8003 A7($elm$core$Dict$removeHelpPrepEQGT, targetKey, dict, color, key, value, left, right));
8007var $elm$core$Dict$removeHelpEQGT = F2(
8008 function (targetKey, dict) {
8009 if (dict.$ === 'RBNode_elm_builtin') {
8015 if (_Utils_eq(targetKey, key)) {
8016 var _v1 = $elm$core$Dict$getMin(right);
8017 if (_v1.$ === 'RBNode_elm_builtin') {
8019 var minValue = _v1.c;
8021 $elm$core$Dict$balance,
8026 $elm$core$Dict$removeMin(right));
8028 return $elm$core$Dict$RBEmpty_elm_builtin;
8032 $elm$core$Dict$balance,
8037 A2($elm$core$Dict$removeHelp, targetKey, right));
8040 return $elm$core$Dict$RBEmpty_elm_builtin;
8043var $elm$core$Dict$remove = F2(
8044 function (key, dict) {
8045 var _v0 = A2($elm$core$Dict$removeHelp, key, dict);
8046 if ((_v0.$ === 'RBNode_elm_builtin') && (_v0.a.$ === 'Red')) {
8052 return A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, k, v, l, r);
8058var $elm$core$Dict$update = F3(
8059 function (targetKey, alter, dictionary) {
8061 A2($elm$core$Dict$get, targetKey, dictionary));
8062 if (_v0.$ === 'Just') {
8064 return A3($elm$core$Dict$insert, targetKey, value, dictionary);
8066 return A2($elm$core$Dict$remove, targetKey, dictionary);
8069var $elm$http$Http$emptyBody = _Http_emptyBody;
8070var $author$project$Api$BadBody = function (a) {
8071 return {$: 'BadBody', a: a};
8073var $author$project$Api$BadStatus = F2(
8075 return {$: 'BadStatus', a: a, b: b};
8077var $author$project$Api$BadUrl = function (a) {
8078 return {$: 'BadUrl', a: a};
8080var $author$project$Api$NetworkError = {$: 'NetworkError'};
8081var $author$project$Api$Timeout = {$: 'Timeout'};
8082var $elm$json$Json$Decode$decodeString = _Json_runOnString;
8083var $elm$http$Http$expectStringResponse = F2(
8084 function (toMsg, toResult) {
8088 $elm$core$Basics$identity,
8089 A2($elm$core$Basics$composeR, toResult, toMsg));
8091var $author$project$Api$expectJson = F2(
8092 function (toMsg, decoder) {
8094 $elm$http$Http$expectStringResponse,
8096 function (response) {
8097 switch (response.$) {
8099 var url = response.a;
8100 return $elm$core$Result$Err(
8101 $author$project$Api$BadUrl(url));
8103 return $elm$core$Result$Err($author$project$Api$Timeout);
8104 case 'NetworkError_':
8105 return $elm$core$Result$Err($author$project$Api$NetworkError);
8107 var metadata = response.a;
8108 var body = response.b;
8109 return $elm$core$Result$Err(
8110 A2($author$project$Api$BadStatus, metadata.statusCode, body));
8112 var body = response.b;
8113 var _v1 = A2($elm$json$Json$Decode$decodeString, decoder, body);
8114 if (_v1.$ === 'Ok') {
8116 return $elm$core$Result$Ok(value);
8119 return $elm$core$Result$Err(
8120 $author$project$Api$BadBody(
8121 $elm$json$Json$Decode$errorToString(err)));
8126var $elm$http$Http$Request = function (a) {
8127 return {$: 'Request', a: a};
8129var $elm$http$Http$State = F2(
8130 function (reqs, subs) {
8131 return {reqs: reqs, subs: subs};
8133var $elm$http$Http$init = $elm$core$Task$succeed(
8134 A2($elm$http$Http$State, $elm$core$Dict$empty, _List_Nil));
8135var $elm$http$Http$updateReqs = F3(
8136 function (router, cmds, reqs) {
8140 return $elm$core$Task$succeed(reqs);
8143 var otherCmds = cmds.b;
8144 if (cmd.$ === 'Cancel') {
8145 var tracker = cmd.a;
8146 var _v2 = A2($elm$core$Dict$get, tracker, reqs);
8147 if (_v2.$ === 'Nothing') {
8148 var $temp$router = router,
8149 $temp$cmds = otherCmds,
8151 router = $temp$router;
8154 continue updateReqs;
8158 $elm$core$Task$andThen,
8161 $elm$http$Http$updateReqs,
8164 A2($elm$core$Dict$remove, tracker, reqs));
8166 $elm$core$Process$kill(pid));
8171 $elm$core$Task$andThen,
8173 var _v4 = req.tracker;
8174 if (_v4.$ === 'Nothing') {
8175 return A3($elm$http$Http$updateReqs, router, otherCmds, reqs);
8177 var tracker = _v4.a;
8179 $elm$http$Http$updateReqs,
8182 A3($elm$core$Dict$insert, tracker, pid, reqs));
8185 $elm$core$Process$spawn(
8189 $elm$core$Platform$sendToApp(router),
8195var $elm$http$Http$onEffects = F4(
8196 function (router, cmds, subs, state) {
8198 $elm$core$Task$andThen,
8200 return $elm$core$Task$succeed(
8201 A2($elm$http$Http$State, reqs, subs));
8203 A3($elm$http$Http$updateReqs, router, cmds, state.reqs));
8205var $elm$http$Http$maybeSend = F4(
8206 function (router, desiredTracker, progress, _v0) {
8207 var actualTracker = _v0.a;
8209 return _Utils_eq(desiredTracker, actualTracker) ? $elm$core$Maybe$Just(
8211 $elm$core$Platform$sendToApp,
8213 toMsg(progress))) : $elm$core$Maybe$Nothing;
8215var $elm$http$Http$onSelfMsg = F3(
8216 function (router, _v0, state) {
8217 var tracker = _v0.a;
8218 var progress = _v0.b;
8220 $elm$core$Task$andThen,
8222 return $elm$core$Task$succeed(state);
8224 $elm$core$Task$sequence(
8226 $elm$core$List$filterMap,
8227 A3($elm$http$Http$maybeSend, router, tracker, progress),
8230var $elm$http$Http$Cancel = function (a) {
8231 return {$: 'Cancel', a: a};
8233var $elm$http$Http$cmdMap = F2(
8234 function (func, cmd) {
8235 if (cmd.$ === 'Cancel') {
8236 var tracker = cmd.a;
8237 return $elm$http$Http$Cancel(tracker);
8240 return $elm$http$Http$Request(
8242 allowCookiesFromOtherDomains: r.allowCookiesFromOtherDomains,
8244 expect: A2(_Http_mapExpect, func, r.expect),
8253var $elm$http$Http$MySub = F2(
8255 return {$: 'MySub', a: a, b: b};
8257var $elm$http$Http$subMap = F2(
8258 function (func, _v0) {
8259 var tracker = _v0.a;
8262 $elm$http$Http$MySub,
8264 A2($elm$core$Basics$composeR, toMsg, func));
8266_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);
8267var $elm$http$Http$command = _Platform_leaf('Http');
8268var $elm$http$Http$subscription = _Platform_leaf('Http');
8269var $elm$http$Http$request = function (r) {
8270 return $elm$http$Http$command(
8271 $elm$http$Http$Request(
8272 {allowCookiesFromOtherDomains: false, body: r.body, expect: r.expect, headers: r.headers, method: r.method, timeout: r.timeout, tracker: r.tracker, url: r.url}));
8274var $author$project$Api$Endpoint$unwrap = function (_v0) {
8278var $author$project$Api$Endpoint$request = function (config) {
8279 return $elm$http$Http$request(
8282 expect: config.expect,
8283 headers: config.headers,
8284 method: config.method,
8285 timeout: config.timeout,
8286 tracker: config.tracker,
8287 url: $author$project$Api$Endpoint$unwrap(config.url)
8290var $author$project$Api$get = F4(
8291 function (config, url, decoder, msg) {
8292 return $author$project$Api$Endpoint$request(
8294 body: $elm$http$Http$emptyBody,
8295 expect: A2($author$project$Api$expectJson, msg, decoder),
8296 headers: _List_fromArray(
8298 $author$project$Api$authHeader(config.appAuth)
8301 timeout: $elm$core$Maybe$Nothing,
8302 tracker: $elm$core$Maybe$Nothing,
8303 url: url(config.appUrl)
8306var $author$project$Page$Deployment$reqDeployment = F2(
8307 function (deploymentName, cfg) {
8309 $author$project$Api$get,
8311 $author$project$Api$Endpoint$deploymentFullInfo(deploymentName),
8312 $author$project$Types$Deployment$deploymentDecoder,
8313 A2($elm$core$Basics$composeR, $krisajenkins$remotedata$RemoteData$fromResult, $author$project$Page$Deployment$DeploymentFullInfoResponse));
8315var $author$project$Page$Deployment$DeploymentInfoResponse = function (a) {
8316 return {$: 'DeploymentInfoResponse', a: a};
8318var $author$project$Api$Endpoint$deploymentInfo = F2(
8319 function (deploymentName, appUrl) {
8321 $author$project$Api$Endpoint$url,
8322 $elm$core$Maybe$Just(appUrl),
8328 $author$project$Types$Deployment$unDeploymentName(deploymentName),
8333var $author$project$Types$Action$LogWrapper = function (logs) {
8334 return {logs: logs};
8336var $author$project$Types$Action$Log = F7(
8337 function (action, actionId, createdAt, appOverrides, deploymentOverrides, duration, exitCode) {
8338 return {action: action, actionId: actionId, appOverrides: appOverrides, createdAt: createdAt, deploymentOverrides: deploymentOverrides, duration: duration, exitCode: exitCode};
8340var $author$project$Types$Action$ActionId = function (a) {
8341 return {$: 'ActionId', a: a};
8343var $elm$json$Json$Decode$int = _Json_decodeInt;
8344var $author$project$Types$Action$actionIdDecoder = A2($elm$json$Json$Decode$map, $author$project$Types$Action$ActionId, $elm$json$Json$Decode$int);
8345var $author$project$Types$Action$Archive = {$: 'Archive'};
8346var $author$project$Types$Action$Create = {$: 'Create'};
8347var $author$project$Types$Action$Restore = {$: 'Restore'};
8348var $author$project$Types$Action$Update = {$: 'Update'};
8349var $author$project$Types$Action$actionTypeDecoder = function () {
8350 var tagDecoder = function (tag) {
8352 case 'CreateAction':
8353 return $elm$json$Json$Decode$succeed($author$project$Types$Action$Create);
8354 case 'UpdateAction':
8355 return $elm$json$Json$Decode$succeed($author$project$Types$Action$Update);
8356 case 'RestoreAction':
8357 return $elm$json$Json$Decode$succeed($author$project$Types$Action$Restore);
8358 case 'ArchiveAction':
8359 return $elm$json$Json$Decode$succeed($author$project$Types$Action$Archive);
8361 return $elm$json$Json$Decode$fail('Unknown ActionType: ' + tag);
8364 return A2($elm$json$Json$Decode$andThen, tagDecoder, $elm$json$Json$Decode$string);
8366var $author$project$Types$Action$Duration = F2(
8367 function (months, time) {
8368 return {months: months, time: time};
8370var $elm$json$Json$Decode$float = _Json_decodeFloat;
8371var $author$project$Types$Action$durationDecoder = A3(
8372 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
8374 $elm$json$Json$Decode$float,
8376 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
8378 $elm$json$Json$Decode$int,
8379 $elm$json$Json$Decode$succeed($author$project$Types$Action$Duration)));
8380var $author$project$Types$Action$ExitCode = function (a) {
8381 return {$: 'ExitCode', a: a};
8383var $author$project$Types$Action$exitCodeDecocder = A2($elm$json$Json$Decode$map, $author$project$Types$Action$ExitCode, $elm$json$Json$Decode$int);
8384var $author$project$Types$Action$logDecoder = A3(
8385 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
8387 $author$project$Types$Action$exitCodeDecocder,
8389 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
8391 $author$project$Types$Action$durationDecoder,
8393 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
8394 'deployment_dep_overrides',
8395 $elm$json$Json$Decode$list($author$project$Types$Override$overrideDecoder),
8397 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
8398 'deployment_app_overrides',
8399 $elm$json$Json$Decode$list($author$project$Types$Override$overrideDecoder),
8401 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
8403 $elm_community$json_extra$Json$Decode$Extra$datetime,
8405 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
8407 $author$project$Types$Action$actionIdDecoder,
8409 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
8411 $author$project$Types$Action$actionTypeDecoder,
8412 $elm$json$Json$Decode$succeed($author$project$Types$Action$Log))))))));
8413var $author$project$Types$Action$logWrapperDecoder = A3(
8414 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
8416 $elm$json$Json$Decode$list($author$project$Types$Action$logDecoder),
8417 $elm$json$Json$Decode$succeed($author$project$Types$Action$LogWrapper));
8418var $author$project$Page$Deployment$reqLogs = F2(
8419 function (deploymentName, cfg) {
8421 $author$project$Api$get,
8423 $author$project$Api$Endpoint$deploymentInfo(deploymentName),
8424 $elm$json$Json$Decode$list($author$project$Types$Action$logWrapperDecoder),
8425 A2($elm$core$Basics$composeR, $krisajenkins$remotedata$RemoteData$fromResult, $author$project$Page$Deployment$DeploymentInfoResponse));
8427var $author$project$Page$Deployment$init = F3(
8428 function (settings, config, deploymentName) {
8429 return _Utils_Tuple2(
8431 actionTable: $author$project$Page$Deployment$ActionTable$init,
8432 appDefaults: $krisajenkins$remotedata$RemoteData$Loading,
8433 appOverrides: $krisajenkins$remotedata$RemoteData$Loading,
8434 archivePopup: $elm$core$Maybe$Nothing,
8436 debounce: $jinjor$elm_debounce$Debounce$init,
8437 deployment: $krisajenkins$remotedata$RemoteData$Loading,
8438 deploymentDefaults: $krisajenkins$remotedata$RemoteData$Loading,
8439 deploymentName: deploymentName,
8440 deploymentOverrides: $krisajenkins$remotedata$RemoteData$Loading,
8441 logs: $krisajenkins$remotedata$RemoteData$Loading,
8442 restoreDisabled: false,
8444 sidebar: A4($author$project$Page$Sidebar$CreateUpdate$initUpdate, settings.navKey, config, false, deploymentName)
8446 $elm$core$Platform$Cmd$batch(
8449 A2($author$project$Page$Deployment$reqDeployment, deploymentName, config),
8450 A2($author$project$Page$Deployment$reqLogs, deploymentName, config)
8453var $author$project$Page$Deployments$Table$ActiveTable = {$: 'ActiveTable'};
8454var $author$project$Page$Deployments$Table$ArchivedTable = {$: 'ArchivedTable'};
8455var $author$project$Page$Deployments$Table$Desc = function (a) {
8456 return {$: 'Desc', a: a};
8458var $author$project$Page$Deployments$Table$Updated = {$: 'Updated'};
8459var $author$project$Page$Deployments$Table$init = F3(
8460 function (config, settings, tableType) {
8462 archivePopup: $elm$core$Maybe$Nothing,
8464 menuButton: $elm$core$Maybe$Nothing,
8465 openedAppOverrides: $turboMaCk$any_set$Set$Any$empty($author$project$Types$Deployment$unDeploymentName),
8466 openedDeployemntOverrides: $turboMaCk$any_set$Set$Any$empty($author$project$Types$Deployment$unDeploymentName),
8468 sort: $author$project$Page$Deployments$Table$Desc($author$project$Page$Deployments$Table$Updated),
8469 tableType: tableType
8472var $author$project$Page$Sidebar$CreateUpdate$Create = {$: 'Create'};
8473var $author$project$Page$Sidebar$CreateUpdate$initCreate = F3(
8474 function (navKey, config, visibility) {
8476 appDefaults: $krisajenkins$remotedata$RemoteData$Loading,
8477 appKeys: $krisajenkins$remotedata$RemoteData$Loading,
8478 appOverrides: $krisajenkins$remotedata$RemoteData$Loading,
8480 deployment: $krisajenkins$remotedata$RemoteData$NotAsked,
8481 deploymentDefaults: $krisajenkins$remotedata$RemoteData$Loading,
8482 deploymentKeys: $krisajenkins$remotedata$RemoteData$Loading,
8483 deploymentOverrides: $krisajenkins$remotedata$RemoteData$Loading,
8484 mode: $author$project$Page$Sidebar$CreateUpdate$Create,
8485 name: $author$project$Types$Deployment$DeploymentName(''),
8488 saveResp: $krisajenkins$remotedata$RemoteData$NotAsked,
8489 visibility: visibility
8492var $author$project$Page$Deployments$DeploymentsResponse = function (a) {
8493 return {$: 'DeploymentsResponse', a: a};
8495var $author$project$Api$Endpoint$deployments = function (appUrl) {
8497 $author$project$Api$Endpoint$url,
8498 $elm$core$Maybe$Just(appUrl),
8500 ['api', 'v1', 'deployments']),
8503var $author$project$Page$Deployments$reqDeployments = function (cfg) {
8505 $author$project$Api$get,
8507 $author$project$Api$Endpoint$deployments,
8508 $elm$json$Json$Decode$list($author$project$Types$Deployment$deploymentDecoder),
8509 A2($elm$core$Basics$composeR, $krisajenkins$remotedata$RemoteData$fromResult, $author$project$Page$Deployments$DeploymentsResponse));
8511var $author$project$Page$Deployments$init = F2(
8512 function (settings, config) {
8513 return _Utils_Tuple2(
8515 activeTable: A3($author$project$Page$Deployments$Table$init, config, settings, $author$project$Page$Deployments$Table$ActiveTable),
8516 archivedTable: A3($author$project$Page$Deployments$Table$init, config, settings, $author$project$Page$Deployments$Table$ArchivedTable),
8518 debounce: $jinjor$elm_debounce$Debounce$init,
8519 deployments: $krisajenkins$remotedata$RemoteData$Loading,
8522 showArchived: false,
8523 sidebar: A3($author$project$Page$Sidebar$CreateUpdate$initCreate, settings.navKey, config, false),
8526 $author$project$Page$Deployments$reqDeployments(config));
8528var $author$project$Main$changeRouteTo = F2(
8529 function (maybeRoute, model) {
8530 if (maybeRoute.$ === 'Nothing') {
8532 $author$project$Main$updateWith,
8533 $author$project$Main$Deployments,
8534 $author$project$Main$DeploymentsMsg,
8536 $author$project$Page$Deployments$init,
8537 $author$project$Main$getSettings(model),
8538 $author$project$Main$getConfig(model)));
8540 if (maybeRoute.a.$ === 'Deployments') {
8541 var _v1 = maybeRoute.a;
8543 $author$project$Main$updateWith,
8544 $author$project$Main$Deployments,
8545 $author$project$Main$DeploymentsMsg,
8547 $author$project$Page$Deployments$init,
8548 $author$project$Main$getSettings(model),
8549 $author$project$Main$getConfig(model)));
8551 var deploymentName = maybeRoute.a.a;
8553 $author$project$Main$updateWith,
8554 $author$project$Main$Deployment,
8555 $author$project$Main$DeploymentMsg,
8557 $author$project$Page$Deployment$init,
8558 $author$project$Main$getSettings(model),
8559 $author$project$Main$getConfig(model),
8564var $elm$url$Url$Parser$State = F5(
8565 function (visited, unvisited, params, frag, value) {
8566 return {frag: frag, params: params, unvisited: unvisited, value: value, visited: visited};
8568var $elm$url$Url$Parser$getFirstMatch = function (states) {
8572 return $elm$core$Maybe$Nothing;
8574 var state = states.a;
8575 var rest = states.b;
8576 var _v1 = state.unvisited;
8578 return $elm$core$Maybe$Just(state.value);
8580 if ((_v1.a === '') && (!_v1.b.b)) {
8581 return $elm$core$Maybe$Just(state.value);
8583 var $temp$states = rest;
8584 states = $temp$states;
8585 continue getFirstMatch;
8591var $elm$url$Url$Parser$removeFinalEmpty = function (segments) {
8595 if ((segments.a === '') && (!segments.b.b)) {
8598 var segment = segments.a;
8599 var rest = segments.b;
8601 $elm$core$List$cons,
8603 $elm$url$Url$Parser$removeFinalEmpty(rest));
8607var $elm$url$Url$Parser$preparePath = function (path) {
8608 var _v0 = A2($elm$core$String$split, '/', path);
8609 if (_v0.b && (_v0.a === '')) {
8610 var segments = _v0.b;
8611 return $elm$url$Url$Parser$removeFinalEmpty(segments);
8614 return $elm$url$Url$Parser$removeFinalEmpty(segments);
8617var $elm$url$Url$Parser$addToParametersHelp = F2(
8618 function (value, maybeList) {
8619 if (maybeList.$ === 'Nothing') {
8620 return $elm$core$Maybe$Just(
8624 var list = maybeList.a;
8625 return $elm$core$Maybe$Just(
8626 A2($elm$core$List$cons, value, list));
8629var $elm$url$Url$percentDecode = _Url_percentDecode;
8630var $elm$url$Url$Parser$addParam = F2(
8631 function (segment, dict) {
8632 var _v0 = A2($elm$core$String$split, '=', segment);
8633 if ((_v0.b && _v0.b.b) && (!_v0.b.b.b)) {
8636 var rawValue = _v1.a;
8637 var _v2 = $elm$url$Url$percentDecode(rawKey);
8638 if (_v2.$ === 'Nothing') {
8642 var _v3 = $elm$url$Url$percentDecode(rawValue);
8643 if (_v3.$ === 'Nothing') {
8648 $elm$core$Dict$update,
8650 $elm$url$Url$Parser$addToParametersHelp(value),
8658var $elm$url$Url$Parser$prepareQuery = function (maybeQuery) {
8659 if (maybeQuery.$ === 'Nothing') {
8660 return $elm$core$Dict$empty;
8662 var qry = maybeQuery.a;
8664 $elm$core$List$foldr,
8665 $elm$url$Url$Parser$addParam,
8666 $elm$core$Dict$empty,
8667 A2($elm$core$String$split, '&', qry));
8670var $elm$url$Url$Parser$parse = F2(
8671 function (_v0, url) {
8673 return $elm$url$Url$Parser$getFirstMatch(
8676 $elm$url$Url$Parser$State,
8678 $elm$url$Url$Parser$preparePath(url.path),
8679 $elm$url$Url$Parser$prepareQuery(url.query),
8681 $elm$core$Basics$identity)));
8683var $author$project$Route$Deployment = function (a) {
8684 return {$: 'Deployment', a: a};
8686var $author$project$Route$Deployments = {$: 'Deployments'};
8687var $elm$url$Url$Parser$Parser = function (a) {
8688 return {$: 'Parser', a: a};
8690var $elm$url$Url$Parser$custom = F2(
8691 function (tipe, stringToSomething) {
8692 return $elm$url$Url$Parser$Parser(
8694 var visited = _v0.visited;
8695 var unvisited = _v0.unvisited;
8696 var params = _v0.params;
8697 var frag = _v0.frag;
8698 var value = _v0.value;
8702 var next = unvisited.a;
8703 var rest = unvisited.b;
8704 var _v2 = stringToSomething(next);
8705 if (_v2.$ === 'Just') {
8706 var nextValue = _v2.a;
8707 return _List_fromArray(
8710 $elm$url$Url$Parser$State,
8711 A2($elm$core$List$cons, next, visited),
8723var $elm$url$Url$Parser$mapState = F2(
8724 function (func, _v0) {
8725 var visited = _v0.visited;
8726 var unvisited = _v0.unvisited;
8727 var params = _v0.params;
8728 var frag = _v0.frag;
8729 var value = _v0.value;
8731 $elm$url$Url$Parser$State,
8738var $elm$url$Url$Parser$map = F2(
8739 function (subValue, _v0) {
8740 var parseArg = _v0.a;
8741 return $elm$url$Url$Parser$Parser(
8743 var visited = _v1.visited;
8744 var unvisited = _v1.unvisited;
8745 var params = _v1.params;
8746 var frag = _v1.frag;
8747 var value = _v1.value;
8750 $elm$url$Url$Parser$mapState(value),
8752 A5($elm$url$Url$Parser$State, visited, unvisited, params, frag, subValue)));
8755var $elm$core$List$append = F2(
8760 return A3($elm$core$List$foldr, $elm$core$List$cons, ys, xs);
8763var $elm$core$List$concat = function (lists) {
8764 return A3($elm$core$List$foldr, $elm$core$List$append, _List_Nil, lists);
8766var $elm$core$List$concatMap = F2(
8767 function (f, list) {
8768 return $elm$core$List$concat(
8769 A2($elm$core$List$map, f, list));
8771var $elm$url$Url$Parser$oneOf = function (parsers) {
8772 return $elm$url$Url$Parser$Parser(
8775 $elm$core$List$concatMap,
8778 return parser(state);
8783var $elm$url$Url$Parser$s = function (str) {
8784 return $elm$url$Url$Parser$Parser(
8786 var visited = _v0.visited;
8787 var unvisited = _v0.unvisited;
8788 var params = _v0.params;
8789 var frag = _v0.frag;
8790 var value = _v0.value;
8794 var next = unvisited.a;
8795 var rest = unvisited.b;
8796 return _Utils_eq(next, str) ? _List_fromArray(
8799 $elm$url$Url$Parser$State,
8800 A2($elm$core$List$cons, next, visited),
8809var $elm$url$Url$Parser$slash = F2(
8810 function (_v0, _v1) {
8811 var parseBefore = _v0.a;
8812 var parseAfter = _v1.a;
8813 return $elm$url$Url$Parser$Parser(
8816 $elm$core$List$concatMap,
8818 parseBefore(state));
8821var $author$project$Route$parser = $elm$url$Url$Parser$oneOf(
8825 $elm$url$Url$Parser$map,
8826 $author$project$Route$Deployments,
8827 $elm$url$Url$Parser$s('deployments')),
8829 $elm$url$Url$Parser$map,
8830 $author$project$Route$Deployment,
8832 $elm$url$Url$Parser$slash,
8833 $elm$url$Url$Parser$s('deployments'),
8835 $elm$url$Url$Parser$custom,
8838 return $elm$core$Maybe$Just(
8839 $author$project$Types$Deployment$DeploymentName(str));
8842var $elm$core$Maybe$withDefault = F2(
8843 function (_default, maybe) {
8844 if (maybe.$ === 'Just') {
8845 var value = maybe.a;
8851var $author$project$Route$fromUrl = function (url) {
8853 $elm$url$Url$Parser$parse,
8854 $author$project$Route$parser,
8858 fragment: $elm$core$Maybe$Nothing,
8859 path: A2($elm$core$Maybe$withDefault, '', url.fragment)
8862var $author$project$Page$Deployment$getNavKey = function (model) {
8863 return model.settings.navKey;
8865var $author$project$Page$Deployments$getNavKey = function (model) {
8866 return model.settings.navKey;
8868var $author$project$Page$Initialization$getNavKey = function (model) {
8869 return model.settings.navKey;
8871var $author$project$Main$getNavKey = function (model) {
8873 case 'Initialization':
8874 var subModel = model.a;
8875 return $author$project$Page$Initialization$getNavKey(subModel);
8877 var subModel = model.a;
8878 return $author$project$Page$Deployments$getNavKey(subModel);
8880 var subModel = model.a;
8881 return $author$project$Page$Deployment$getNavKey(subModel);
8884var $elm$browser$Browser$Navigation$load = _Browser_load;
8885var $elm$core$Platform$Cmd$none = $elm$core$Platform$Cmd$batch(_List_Nil);
8886var $elm$browser$Browser$Navigation$pushUrl = _Browser_pushUrl;
8887var $elm$url$Url$addPort = F2(
8888 function (maybePort, starter) {
8889 if (maybePort.$ === 'Nothing') {
8892 var port_ = maybePort.a;
8893 return starter + (':' + $elm$core$String$fromInt(port_));
8896var $elm$url$Url$addPrefixed = F3(
8897 function (prefix, maybeSegment, starter) {
8898 if (maybeSegment.$ === 'Nothing') {
8901 var segment = maybeSegment.a;
8904 _Utils_ap(prefix, segment));
8907var $elm$url$Url$toString = function (url) {
8908 var http = function () {
8909 var _v0 = url.protocol;
8910 if (_v0.$ === 'Http') {
8917 $elm$url$Url$addPrefixed,
8921 $elm$url$Url$addPrefixed,
8926 $elm$url$Url$addPort,
8928 _Utils_ap(http, url.host)),
8931var $author$project$Page$Deployment$ActionMsg = function (a) {
8932 return {$: 'ActionMsg', a: a};
8934var $author$project$Page$Deployment$AppOverridesMsg = function (a) {
8935 return {$: 'AppOverridesMsg', a: a};
8937var $author$project$Page$Deployment$CreateSidebarMsg = function (a) {
8938 return {$: 'CreateSidebarMsg', a: a};
8940var $author$project$Page$Deployment$DeploymentOverridesMsg = function (a) {
8941 return {$: 'DeploymentOverridesMsg', a: a};
8943var $author$project$Html$Overrides$Read = {$: 'Read'};
8944var $author$project$Page$Deployment$DebounceMsg = function (a) {
8945 return {$: 'DebounceMsg', a: a};
8947var $jinjor$elm_debounce$Debounce$Soon = F2(
8949 return {$: 'Soon', a: a, b: b};
8951var $jinjor$elm_debounce$Debounce$soon = $jinjor$elm_debounce$Debounce$Soon(0);
8952var $author$project$Page$Deployment$debounceConfig = {
8953 strategy: $jinjor$elm_debounce$Debounce$soon(2000),
8954 transform: $author$project$Page$Deployment$DebounceMsg
8956var $author$project$Types$Override$unOverrideName = function (_v0) {
8960var $author$project$Html$Overrides$mkDefaultNameDict = function (defaultsList) {
8961 return $elm$core$Dict$fromList(
8965 return _Utils_Tuple2(
8966 $author$project$Types$Override$unOverrideName(d.name),
8971var $author$project$Html$Overrides$mkDefaultsDict = F2(
8972 function (ids, defaults) {
8974 $elm$core$Dict$merge,
8976 function (_v0, _v1, res) {
8980 function (_v2, id, def, res) {
8981 return A3($elm$core$Dict$insert, id, def, res);
8984 function (_v3, _v4, res) {
8989 $elm$core$Dict$empty);
8991var $author$project$Html$Overrides$mkEditsDict = F2(
8992 function (ids, edits) {
8994 $elm$core$Dict$merge,
8996 function (_v0, _v1, res) {
9000 function (_v2, id, def, res) {
9001 return A3($elm$core$Dict$insert, id, def, res);
9004 function (_v3, _v4, res) {
9009 $elm$core$Dict$empty);
9011var $author$project$Html$Overrides$mkEditsNameDict = function (editsList) {
9012 return $elm$core$Dict$fromList(
9016 return _Utils_Tuple2(
9017 $author$project$Types$Override$unOverrideName(d.name),
9022var $elm$core$Dict$sizeHelp = F2(
9023 function (n, dict) {
9026 if (dict.$ === 'RBEmpty_elm_builtin') {
9031 var $temp$n = A2($elm$core$Dict$sizeHelp, n + 1, right),
9039var $elm$core$Dict$size = function (dict) {
9040 return A2($elm$core$Dict$sizeHelp, 0, dict);
9042var $author$project$Html$Overrides$mkIds = F2(
9043 function (defaults, edits) {
9045 $elm$core$Dict$merge,
9047 function (n, _v0, res) {
9049 $elm$core$Dict$insert,
9051 $elm$core$Dict$size(res),
9055 function (n, _v1, _v2, res) {
9057 $elm$core$Dict$insert,
9059 $elm$core$Dict$size(res),
9063 function (n, _v3, res) {
9065 $elm$core$Dict$insert,
9067 $elm$core$Dict$size(res),
9072 $elm$core$Dict$empty);
9074var $elm$core$List$filter = F2(
9075 function (isGood, list) {
9077 $elm$core$List$foldr,
9080 return isGood(x) ? A2($elm$core$List$cons, x, xs) : xs;
9085var $elm$core$Set$Set_elm_builtin = function (a) {
9086 return {$: 'Set_elm_builtin', a: a};
9088var $elm$core$Set$empty = $elm$core$Set$Set_elm_builtin($elm$core$Dict$empty);
9089var $elm$core$Set$insert = F2(
9090 function (key, _v0) {
9092 return $elm$core$Set$Set_elm_builtin(
9093 A3($elm$core$Dict$insert, key, _Utils_Tuple0, dict));
9095var $elm$core$Set$fromList = function (list) {
9096 return A3($elm$core$List$foldl, $elm$core$Set$insert, $elm$core$Set$empty, list);
9098var $author$project$Html$Overrides$getWrappedName = function (w) {
9099 if (w.$ === 'DefaultOverride') {
9107var $author$project$Html$Overrides$getWrappedValue = function (w) {
9108 if (w.$ === 'DefaultOverride') {
9116var $elm$core$Maybe$map = F2(
9117 function (f, maybe) {
9118 if (maybe.$ === 'Just') {
9119 var value = maybe.a;
9120 return $elm$core$Maybe$Just(
9123 return $elm$core$Maybe$Nothing;
9126var $elm$core$List$tail = function (list) {
9130 return $elm$core$Maybe$Just(xs);
9132 return $elm$core$Maybe$Nothing;
9135var $elm_community$list_extra$List$Extra$init = function (items) {
9137 return $elm$core$Maybe$Nothing;
9139 var nonEmptyList = items;
9141 $elm$core$Maybe$map,
9142 $elm$core$List$reverse,
9143 $elm$core$List$tail(
9144 $elm$core$List$reverse(nonEmptyList)));
9147var $elm$core$Tuple$second = function (_v0) {
9151var $elm_community$list_extra$List$Extra$tailsHelp = F2(
9152 function (e, list) {
9157 $elm$core$List$cons,
9158 A2($elm$core$List$cons, e, x),
9159 A2($elm$core$List$cons, x, xs));
9164var $elm_community$list_extra$List$Extra$tails = A2(
9165 $elm$core$List$foldr,
9166 $elm_community$list_extra$List$Extra$tailsHelp,
9169var $author$project$Html$Overrides$mkOpenedPaths = function (overridesData) {
9170 return $elm$core$Set$fromList(
9171 $elm$core$List$concat(
9175 $elm$core$Basics$composeR,
9176 $author$project$Html$Overrides$getWrappedName,
9178 $elm$core$Basics$composeR,
9179 $author$project$Types$Override$unOverrideName,
9181 $elm$core$Basics$composeR,
9182 $elm$core$String$split('.'),
9184 $elm$core$Basics$composeR,
9185 $elm_community$list_extra$List$Extra$init,
9187 $elm$core$Basics$composeR,
9188 $elm$core$Maybe$withDefault(_List_Nil),
9189 A2($elm$core$Basics$composeR, $elm$core$List$reverse, $elm_community$list_extra$List$Extra$tails)))))),
9191 $elm$core$List$filter,
9193 $elm$core$Basics$composeR,
9194 $author$project$Html$Overrides$getWrappedValue,
9200 $elm$core$Tuple$second,
9201 $elm$core$Dict$toList(overridesData))))));
9203var $author$project$Html$Overrides$Deleted = {$: 'Deleted'};
9204var $author$project$Html$Overrides$Edited = {$: 'Edited'};
9205var $author$project$Html$Overrides$New = {$: 'New'};
9206var $author$project$Html$Overrides$OverrideData = F3(
9207 function (name, value, status) {
9208 return {name: name, status: status, value: value};
9210var $author$project$Html$Overrides$mkOverrideDataList = F2(
9211 function (defaults, edits) {
9213 $elm$core$Dict$merge,
9215 function (_v0, _v1, res) {
9219 function (id, def, edit, res) {
9220 var _v2 = edit.value;
9221 if (_v2.$ === 'ValueAdded') {
9224 $elm$core$Dict$insert,
9226 A3($author$project$Html$Overrides$OverrideData, edit.name, v, $author$project$Html$Overrides$Edited),
9230 $elm$core$Dict$insert,
9232 A3($author$project$Html$Overrides$OverrideData, edit.name, def.value, $author$project$Html$Overrides$Deleted),
9237 function (id, edit, res) {
9238 var _v3 = edit.value;
9239 if (_v3.$ === 'ValueAdded') {
9242 $elm$core$Dict$insert,
9244 A3($author$project$Html$Overrides$OverrideData, edit.name, v, $author$project$Html$Overrides$New),
9252 $elm$core$Dict$empty);
9254var $author$project$Html$Overrides$compareOverrideData = F2(
9256 var _v0 = _Utils_Tuple2(a.status, b.status);
9268 $elm$core$Basics$compare,
9269 $author$project$Types$Override$unOverrideName(a.name),
9270 $author$project$Types$Override$unOverrideName(b.name));
9275 return $elm$core$Basics$GT;
9283 $elm$core$Basics$compare,
9284 $author$project$Types$Override$unOverrideName(a.name),
9285 $author$project$Types$Override$unOverrideName(b.name));
9299 $elm$core$Basics$compare,
9300 $author$project$Types$Override$unOverrideName(a.name),
9301 $author$project$Types$Override$unOverrideName(b.name));
9304 return $elm$core$Basics$LT;
9309 return $elm$core$Basics$GT;
9312 return $elm$core$Basics$LT;
9314var $author$project$Html$Overrides$compareWrappedOverride = F2(
9316 var _v0 = _Utils_Tuple2(a, b);
9317 if (_v0.a.$ === 'NonOverrideWithDefault') {
9318 if (_v0.b.$ === 'NonOverrideWithDefault') {
9321 return A2($author$project$Html$Overrides$compareOverrideData, x, y);
9323 return $elm$core$Basics$LT;
9326 if (_v0.b.$ === 'NonOverrideWithDefault') {
9327 return $elm$core$Basics$GT;
9332 $elm$core$Basics$compare,
9333 $author$project$Types$Override$unOverrideName(x.name),
9334 $author$project$Types$Override$unOverrideName(y.name));
9338var $elm$core$List$any = F2(
9339 function (isOkay, list) {
9350 var $temp$isOkay = isOkay,
9352 isOkay = $temp$isOkay;
9359var $author$project$Html$Overrides$treeHasEmptyOrEdited = F2(
9360 function (overrideData, t) {
9361 if (t.$ === 'Node') {
9365 $author$project$Html$Overrides$treeHasEmptyOrEdited(overrideData),
9369 var _v1 = A2($elm$core$Dict$get, i, overrideData);
9370 if (_v1.$ === 'Just') {
9371 if (_v1.a.$ === 'NonOverrideWithDefault') {
9375 return x.value === '';
9382var $author$project$Html$Overrides$compareTree = F3(
9383 function (overrideData, a, b) {
9384 var _v0 = _Utils_Tuple2(a, b);
9391 if (_v0.a.$ === 'Node') {
9392 if (_v0.b.$ === 'Node') {
9393 if ((_v0.a.b.b && (_v0.a.b.a.$ === 'Leaf')) && (!_v0.a.b.b.b)) {
9394 if ((_v0.b.b.b && (_v0.b.b.a.$ === 'Leaf')) && (!_v0.b.b.b.b)) {
9403 var _v5 = _Utils_Tuple2(
9404 A2($elm$core$Dict$get, i, overrideData),
9405 A2($elm$core$Dict$get, j, overrideData));
9406 if ((_v5.a.$ === 'Just') && (_v5.b.$ === 'Just')) {
9409 return A2($author$project$Html$Overrides$compareWrappedOverride, aa, bb);
9411 return A2($elm$core$Basics$compare, x, y);
9417 if ((_v0.b.b.b && (_v0.b.b.a.$ === 'Leaf')) && (!_v0.b.b.b.b)) {
9424 var _v12 = _Utils_Tuple2(
9425 A2($author$project$Html$Overrides$treeHasEmptyOrEdited, overrideData, a),
9426 A2($author$project$Html$Overrides$treeHasEmptyOrEdited, overrideData, b));
9429 return A2($elm$core$Basics$compare, x, y);
9431 return $elm$core$Basics$LT;
9435 return A2($elm$core$Basics$compare, x, y);
9437 return $elm$core$Basics$GT;
9443 if ((_v0.a.b.b && (_v0.a.b.a.$ === 'Leaf')) && (!_v0.a.b.b.b)) {
9450 if ((((_v0.b.$ === 'Node') && _v0.b.b.b) && (_v0.b.b.a.$ === 'Leaf')) && (!_v0.b.b.b.b)) {
9457 return $elm$core$Basics$EQ;
9461 return $elm$core$Basics$GT;
9465 return $elm$core$Basics$LT;
9467var $author$project$Tree$getLabel = function (t) {
9468 if (t.$ === 'Node') {
9470 return $elm$core$Maybe$Just(l);
9472 return $elm$core$Maybe$Nothing;
9475var $author$project$Tree$Leaf = function (a) {
9476 return {$: 'Leaf', a: a};
9478var $author$project$Tree$Node = F2(
9480 return {$: 'Node', a: a, b: b};
9482var $elm$core$List$partition = F2(
9483 function (pred, list) {
9488 return pred(x) ? _Utils_Tuple2(
9489 A2($elm$core$List$cons, x, trues),
9490 falses) : _Utils_Tuple2(
9492 A2($elm$core$List$cons, x, falses));
9495 $elm$core$List$foldr,
9497 _Utils_Tuple2(_List_Nil, _List_Nil),
9500var $elm_community$list_extra$List$Extra$gatherWith = F2(
9501 function (testFn, list) {
9503 function (scattered, gathered) {
9507 return $elm$core$List$reverse(gathered);
9509 var toGather = scattered.a;
9510 var population = scattered.b;
9512 $elm$core$List$partition,
9515 var gathering = _v1.a;
9516 var remaining = _v1.b;
9517 var $temp$scattered = remaining,
9518 $temp$gathered = A2(
9519 $elm$core$List$cons,
9520 _Utils_Tuple2(toGather, gathering),
9522 scattered = $temp$scattered;
9523 gathered = $temp$gathered;
9528 return A2(helper, list, _List_Nil);
9530var $elm_community$list_extra$List$Extra$gatherEqualsBy = F2(
9531 function (extract, list) {
9533 $elm_community$list_extra$List$Extra$gatherWith,
9542var $author$project$Tree$getChildren = function (t) {
9543 if (t.$ === 'Node') {
9550var $elm$core$List$sortWith = _List_sortWith;
9551var $author$project$Tree$mergeTreesByWithSort = F3(
9552 function (mrg, cmp, ts) {
9553 var f = function (x) {
9554 if (x.a.$ === 'Node') {
9560 $author$project$Tree$Node,
9563 $elm$core$List$sortWith,
9566 $author$project$Tree$mergeTreesByWithSort,
9569 $elm$core$List$concat(
9571 $elm$core$List$cons,
9573 A2($elm$core$List$map, $author$project$Tree$getChildren, ns))))));
9576 return $author$project$Tree$Leaf(a);
9580 $elm$core$List$sortWith,
9585 A2($elm_community$list_extra$List$Extra$gatherEqualsBy, mrg, ts)));
9587var $author$project$Tree$mergeTreesWithSort = $author$project$Tree$mergeTreesByWithSort($author$project$Tree$getLabel);
9588var $author$project$Tree$pathToTree = F2(
9594 $author$project$Tree$Node,
9598 A2($author$project$Tree$pathToTree, ls, v)
9601 return $author$project$Tree$Leaf(v);
9604var $author$project$Html$Overrides$mkTree = F2(
9605 function (ids, overridesData) {
9607 $author$project$Tree$mergeTreesWithSort,
9608 $author$project$Html$Overrides$compareTree(overridesData),
9615 $author$project$Tree$pathToTree,
9616 A2($elm$core$String$split, '.', n),
9619 $elm$core$Dict$toList(ids)));
9621var $author$project$Html$Overrides$DefaultOverride = function (a) {
9622 return {$: 'DefaultOverride', a: a};
9624var $author$project$Html$Overrides$NonOverrideWithDefault = function (a) {
9625 return {$: 'NonOverrideWithDefault', a: a};
9627var $author$project$Html$Overrides$mkWrappedOverride = F2(
9628 function (defaults, edits) {
9630 $elm$core$Dict$merge,
9632 function (id, d, res) {
9634 $elm$core$Dict$insert,
9636 $author$project$Html$Overrides$DefaultOverride(d),
9640 function (id, _v0, e, res) {
9642 $elm$core$Dict$insert,
9644 $author$project$Html$Overrides$NonOverrideWithDefault(e),
9648 function (id, e, res) {
9650 $elm$core$Dict$insert,
9652 $author$project$Html$Overrides$NonOverrideWithDefault(e),
9657 $elm$core$Dict$empty);
9659var $author$project$Html$Overrides$init = F5(
9660 function (defaults, edits, keys, mode, name) {
9661 var editNameDict = $author$project$Html$Overrides$mkEditsNameDict(edits);
9662 var defaultNameDict = $author$project$Html$Overrides$mkDefaultNameDict(defaults);
9663 var ids = A2($author$project$Html$Overrides$mkIds, defaultNameDict, editNameDict);
9664 var defaultsDict = A2($author$project$Html$Overrides$mkDefaultsDict, ids, defaultNameDict);
9665 var overridesDict = A2(
9666 $author$project$Html$Overrides$mkOverrideDataList,
9668 A2($author$project$Html$Overrides$mkEditsDict, ids, editNameDict));
9669 var treeData = A2($author$project$Html$Overrides$mkWrappedOverride, defaultsDict, overridesDict);
9671 autocomplete: $elm$core$Maybe$Nothing,
9672 defaultOverrides: defaultsDict,
9673 editedOverrides: overridesDict,
9677 nextId: $elm$core$Dict$size(defaultsDict) + $elm$core$Dict$size(overridesDict),
9678 openedNames: $author$project$Html$Overrides$mkOpenedPaths(treeData),
9679 treeSchema: A2($author$project$Html$Overrides$mkTree, ids, treeData)
9682var $author$project$Page$Sidebar$CreateUpdate$DeploymentFullInfoResponse = function (a) {
9683 return {$: 'DeploymentFullInfoResponse', a: a};
9685var $author$project$Page$Sidebar$CreateUpdate$reqDeployment = F2(
9686 function (deploymentName, cfg) {
9688 $author$project$Api$get,
9690 $author$project$Api$Endpoint$deploymentFullInfo(deploymentName),
9691 $author$project$Types$Deployment$deploymentDecoder,
9692 A2($elm$core$Basics$composeR, $krisajenkins$remotedata$RemoteData$fromResult, $author$project$Page$Sidebar$CreateUpdate$DeploymentFullInfoResponse));
9694var $author$project$Page$Sidebar$CreateUpdate$initUpdateReq = F2(
9695 function (config, deploymentName) {
9696 return A2($author$project$Page$Sidebar$CreateUpdate$reqDeployment, deploymentName, config);
9698var $krisajenkins$remotedata$RemoteData$map = F2(
9699 function (f, data) {
9703 return $krisajenkins$remotedata$RemoteData$Success(
9706 return $krisajenkins$remotedata$RemoteData$Loading;
9708 return $krisajenkins$remotedata$RemoteData$NotAsked;
9711 return $krisajenkins$remotedata$RemoteData$Failure(error);
9714var $krisajenkins$remotedata$RemoteData$andMap = F2(
9715 function (wrappedValue, wrappedFunction) {
9716 var _v0 = _Utils_Tuple2(wrappedFunction, wrappedValue);
9730 var value = _v0.b.a;
9731 return $krisajenkins$remotedata$RemoteData$Success(
9739 return $krisajenkins$remotedata$RemoteData$NotAsked;
9742 var error = _v0.a.a;
9743 return $krisajenkins$remotedata$RemoteData$Failure(error);
9769 return $krisajenkins$remotedata$RemoteData$NotAsked;
9772 return $krisajenkins$remotedata$RemoteData$Loading;
9775 return $krisajenkins$remotedata$RemoteData$Loading;
9777 var error = _v0.b.a;
9778 return $krisajenkins$remotedata$RemoteData$Failure(error);
9780var $krisajenkins$remotedata$RemoteData$map2 = F3(
9781 function (f, a, b) {
9783 $krisajenkins$remotedata$RemoteData$andMap,
9785 A2($krisajenkins$remotedata$RemoteData$map, f, a));
9787var $jinjor$elm_debounce$Debounce$Flush = function (a) {
9788 return {$: 'Flush', a: a};
9790var $jinjor$elm_debounce$Debounce$SendIfLengthNotChangedFrom = function (a) {
9791 return {$: 'SendIfLengthNotChangedFrom', a: a};
9793var $elm$core$Process$sleep = _Process_sleep;
9794var $jinjor$elm_debounce$Debounce$delayCmd = F2(
9795 function (delay, msg) {
9797 $elm$core$Task$perform,
9801 $elm$core$Process$sleep(delay));
9803var $jinjor$elm_debounce$Debounce$length = function (_v0) {
9804 var input = _v0.a.input;
9805 return $elm$core$List$length(input);
9807var $jinjor$elm_debounce$Debounce$push = F3(
9808 function (config, a, _v0) {
9810 var newDebounce = $jinjor$elm_debounce$Debounce$Debounce(
9814 input: A2($elm$core$List$cons, a, d.input)
9816 var selfCmd = function () {
9817 var _v1 = config.strategy;
9821 return d.locked ? $elm$core$Platform$Cmd$none : A2(
9822 $jinjor$elm_debounce$Debounce$delayCmd,
9824 $jinjor$elm_debounce$Debounce$Flush($elm$core$Maybe$Nothing));
9828 return d.locked ? $elm$core$Platform$Cmd$none : A2(
9829 $jinjor$elm_debounce$Debounce$delayCmd,
9831 $jinjor$elm_debounce$Debounce$Flush(
9832 $elm$core$Maybe$Just(delay)));
9836 $jinjor$elm_debounce$Debounce$delayCmd,
9838 $jinjor$elm_debounce$Debounce$SendIfLengthNotChangedFrom(
9839 $jinjor$elm_debounce$Debounce$length(newDebounce)));
9842 return _Utils_Tuple2(
9844 A2($elm$core$Platform$Cmd$map, config.transform, selfCmd));
9846var $elm$browser$Browser$Navigation$reload = _Browser_reload(false);
9847var $author$project$Page$Deployment$AppOverridesResponse = function (a) {
9848 return {$: 'AppOverridesResponse', a: a};
9850var $author$project$Api$Endpoint$appOverrides = function (appUrl) {
9852 $author$project$Api$Endpoint$url,
9853 $elm$core$Maybe$Just(appUrl),
9855 ['api', 'v1', 'application_overrides']),
9858var $elm$json$Json$Encode$list = F2(
9859 function (func, entries) {
9862 $elm$core$List$foldl,
9863 _Json_addEntry(func),
9864 _Json_emptyArray(_Utils_Tuple0),
9867var $elm$json$Json$Encode$string = _Json_wrap;
9868var $author$project$Types$OverrideWithDefault$defaultOverrideEncoder = function (defaultOverride) {
9870 $elm$json$Json$Encode$list,
9871 $elm$json$Json$Encode$string,
9874 $author$project$Types$Override$unOverrideName(defaultOverride.name),
9875 defaultOverride.value
9878var $author$project$Types$OverrideWithDefault$OverrideWithDefault = F2(
9879 function (name, value) {
9880 return {name: name, value: value};
9882var $author$project$Types$OverrideWithDefault$defaultOverridesDecode = function () {
9883 var f = function (x) {
9884 if ((x.b && x.b.b) && (!x.b.b.b)) {
9888 return $elm$json$Json$Decode$succeed(
9890 $author$project$Types$OverrideWithDefault$OverrideWithDefault,
9891 $author$project$Types$Override$OverrideName(p),
9894 return $elm$json$Json$Decode$fail('not an override');
9897 return $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$resolve(
9899 $elm$json$Json$Decode$map,
9901 $elm$json$Json$Decode$list($elm$json$Json$Decode$string)));
9903var $elm$http$Http$jsonBody = function (value) {
9907 A2($elm$json$Json$Encode$encode, 0, value));
9909var $author$project$Api$post = F5(
9910 function (config, url, body, decoder, msg) {
9911 return $author$project$Api$Endpoint$request(
9914 expect: A2($author$project$Api$expectJson, msg, decoder),
9915 headers: _List_fromArray(
9917 $author$project$Api$authHeader(config.appAuth)
9920 timeout: $elm$core$Maybe$Nothing,
9921 tracker: $elm$core$Maybe$Nothing,
9922 url: url(config.appUrl)
9925var $author$project$Page$Deployment$reqAppOverrides = F2(
9926 function (config, body) {
9928 $author$project$Api$post,
9930 $author$project$Api$Endpoint$appOverrides,
9931 $elm$http$Http$jsonBody(
9932 A2($elm$json$Json$Encode$list, $author$project$Types$OverrideWithDefault$defaultOverrideEncoder, body)),
9933 $elm$json$Json$Decode$list($author$project$Types$OverrideWithDefault$defaultOverridesDecode),
9934 A2($elm$core$Basics$composeR, $krisajenkins$remotedata$RemoteData$fromResult, $author$project$Page$Deployment$AppOverridesResponse));
9936var $author$project$Page$Deployment$DeleteDeploymentResp = F2(
9938 return {$: 'DeleteDeploymentResp', a: a, b: b};
9940var $author$project$Api$delete = F5(
9941 function (config, url, body, decoder, msg) {
9942 return $author$project$Api$Endpoint$request(
9945 expect: A2($author$project$Api$expectJson, msg, decoder),
9946 headers: _List_fromArray(
9948 $author$project$Api$authHeader(config.appAuth)
9951 timeout: $elm$core$Maybe$Nothing,
9952 tracker: $elm$core$Maybe$Nothing,
9953 url: url(config.appUrl)
9956var $author$project$Api$Endpoint$deleteDeployment = F2(
9957 function (deploymentName, appUrl) {
9959 $author$project$Api$Endpoint$url,
9960 $elm$core$Maybe$Just(appUrl),
9966 $author$project$Types$Deployment$unDeploymentName(deploymentName)
9970var $author$project$Page$Deployment$reqDeleteDeployment = F2(
9971 function (config, deploymentName) {
9973 $author$project$Api$delete,
9975 $author$project$Api$Endpoint$deleteDeployment(deploymentName),
9976 $elm$http$Http$emptyBody,
9977 $elm$json$Json$Decode$string,
9979 $elm$core$Basics$composeR,
9980 $krisajenkins$remotedata$RemoteData$fromResult,
9981 $author$project$Page$Deployment$DeleteDeploymentResp(deploymentName)));
9983var $author$project$Page$Deployment$DeploymentOverridesResponse = function (a) {
9984 return {$: 'DeploymentOverridesResponse', a: a};
9986var $author$project$Api$Endpoint$deploymentOverrides = function (appUrl) {
9988 $author$project$Api$Endpoint$url,
9989 $elm$core$Maybe$Just(appUrl),
9991 ['api', 'v1', 'deployment_overrides']),
9994var $author$project$Page$Deployment$reqDeploymentOverrides = function (config) {
9996 $author$project$Api$get,
9998 $author$project$Api$Endpoint$deploymentOverrides,
9999 $elm$json$Json$Decode$list($author$project$Types$OverrideWithDefault$defaultOverridesDecode),
10000 A2($elm$core$Basics$composeR, $krisajenkins$remotedata$RemoteData$fromResult, $author$project$Page$Deployment$DeploymentOverridesResponse));
10002var $author$project$Page$Deployment$RestoreDeploymentResp = F2(
10004 return {$: 'RestoreDeploymentResp', a: a, b: b};
10006var $author$project$Api$patch = F4(
10007 function (config, url, decoder, msg) {
10008 return $author$project$Api$Endpoint$request(
10010 body: $elm$http$Http$emptyBody,
10011 expect: A2($author$project$Api$expectJson, msg, decoder),
10012 headers: _List_fromArray(
10014 $author$project$Api$authHeader(config.appAuth)
10017 timeout: $elm$core$Maybe$Nothing,
10018 tracker: $elm$core$Maybe$Nothing,
10019 url: url(config.appUrl)
10022var $author$project$Api$Endpoint$restoreDeployment = F2(
10023 function (deploymentName, appUrl) {
10025 $author$project$Api$Endpoint$url,
10026 $elm$core$Maybe$Just(appUrl),
10032 $author$project$Types$Deployment$unDeploymentName(deploymentName),
10037var $author$project$Page$Deployment$reqRestoreDeployment = F2(
10038 function (config, deploymentName) {
10040 $author$project$Api$patch,
10042 $author$project$Api$Endpoint$restoreDeployment(deploymentName),
10043 $elm$json$Json$Decode$string,
10045 $elm$core$Basics$composeR,
10046 $krisajenkins$remotedata$RemoteData$fromResult,
10047 $author$project$Page$Deployment$RestoreDeploymentResp(deploymentName)));
10049var $jinjor$elm_debounce$Debounce$takeAll = F3(
10050 function (send, head, tail) {
10051 return _Utils_Tuple2(
10053 A2(send, head, tail));
10055var $jinjor$elm_debounce$Debounce$update = F4(
10056 function (config, send, msg, _v0) {
10060 return _Utils_Tuple2(
10061 $jinjor$elm_debounce$Debounce$Debounce(d),
10062 $elm$core$Platform$Cmd$none);
10064 var tryAgainAfter = msg.a;
10069 var selfCmd = function () {
10070 if (tryAgainAfter.$ === 'Just') {
10071 var delay = tryAgainAfter.a;
10073 $jinjor$elm_debounce$Debounce$delayCmd,
10075 $jinjor$elm_debounce$Debounce$Flush(
10076 $elm$core$Maybe$Just(delay)));
10078 return $elm$core$Platform$Cmd$none;
10081 var _v3 = A2(send, head, tail);
10083 var sendCmd = _v3.b;
10084 return _Utils_Tuple2(
10085 $jinjor$elm_debounce$Debounce$Debounce(
10088 {input: input, locked: true})),
10089 $elm$core$Platform$Cmd$batch(
10093 A2($elm$core$Platform$Cmd$map, config.transform, selfCmd)
10096 return _Utils_Tuple2(
10097 $jinjor$elm_debounce$Debounce$Debounce(
10101 $elm$core$Platform$Cmd$none);
10104 var lastInputLength = msg.a;
10105 var _v5 = _Utils_Tuple2(
10107 $elm$core$List$length(d.input),
10108 lastInputLength) < 1,
10110 if (_v5.a && _v5.b.b) {
10114 var _v7 = A2(send, head, tail);
10117 return _Utils_Tuple2(
10118 $jinjor$elm_debounce$Debounce$Debounce(
10124 return _Utils_Tuple2(
10125 $jinjor$elm_debounce$Debounce$Debounce(d),
10126 $elm$core$Platform$Cmd$none);
10130var $author$project$Html$Overrides$deleteOverride = F2(
10131 function (ix, model) {
10132 var _delete = function (mOverride) {
10133 var _v0 = _Utils_Tuple2(
10135 A2($elm$core$Dict$get, ix, model.defaultOverrides));
10138 if (_v0.a.$ === 'Nothing') {
10139 if (_v0.b.$ === 'Just') {
10141 var _default = _v0.b.a;
10142 return $elm$core$Maybe$Just(
10143 {name: _default.name, status: $author$project$Html$Overrides$Deleted, value: _default.value});
10148 if (_v0.b.$ === 'Nothing') {
10149 var override = _v0.a.a;
10151 return $elm$core$Maybe$Just(
10154 {status: $author$project$Html$Overrides$Deleted}));
10160 return $elm$core$Maybe$Nothing;
10162 return _Utils_update(
10165 editedOverrides: A3($elm$core$Dict$update, ix, _delete, model.editedOverrides)
10168var $author$project$Html$Overrides$editOverrideName = F3(
10169 function (ix, name, model) {
10170 var editName = function (mOverride) {
10171 var _v0 = _Utils_Tuple2(
10173 A2($elm$core$Dict$get, ix, model.defaultOverrides));
10174 if (_v0.a.$ === 'Just') {
10175 if (_v0.b.$ === 'Just') {
10176 var override = _v0.a.a;
10177 var _default = _v0.b.a;
10179 $author$project$Types$Override$OverrideName(name),
10180 _default.name) && _Utils_eq(override.value, _default.value)) ? $elm$core$Maybe$Nothing : $elm$core$Maybe$Just(
10184 name: $author$project$Types$Override$OverrideName(name),
10185 status: $author$project$Html$Overrides$Edited
10188 var override = _v0.a.a;
10190 return $elm$core$Maybe$Just(
10194 name: $author$project$Types$Override$OverrideName(name),
10195 status: $author$project$Html$Overrides$New
10199 if (_v0.b.$ === 'Just') {
10201 var _default = _v0.b.a;
10203 $author$project$Types$Override$OverrideName(name),
10204 _default.name) ? $elm$core$Maybe$Nothing : $elm$core$Maybe$Just(
10206 name: $author$project$Types$Override$OverrideName(name),
10207 status: $author$project$Html$Overrides$Edited,
10208 value: _default.value
10211 return $elm$core$Maybe$Nothing;
10215 return _Utils_update(
10218 editedOverrides: A3($elm$core$Dict$update, ix, editName, model.editedOverrides)
10221var $author$project$Html$Overrides$editOverrideValue = F3(
10222 function (ix, value, model) {
10223 var editName = function (mOverride) {
10224 var _v0 = _Utils_Tuple2(
10226 A2($elm$core$Dict$get, ix, model.defaultOverrides));
10227 if (_v0.a.$ === 'Just') {
10228 if (_v0.b.$ === 'Just') {
10229 var override = _v0.a.a;
10230 var _default = _v0.b.a;
10231 return (_Utils_eq(value, _default.value) && _Utils_eq(override.name, _default.name)) ? $elm$core$Maybe$Nothing : $elm$core$Maybe$Just(
10234 {status: $author$project$Html$Overrides$Edited, value: value}));
10236 var override = _v0.a.a;
10238 return $elm$core$Maybe$Just(
10241 {status: $author$project$Html$Overrides$New, value: value}));
10244 if (_v0.b.$ === 'Just') {
10246 var _default = _v0.b.a;
10247 return _Utils_eq(value, _default.value) ? $elm$core$Maybe$Nothing : $elm$core$Maybe$Just(
10248 {name: _default.name, status: $author$project$Html$Overrides$Edited, value: value});
10250 return $elm$core$Maybe$Nothing;
10254 return _Utils_update(
10257 editedOverrides: A3($elm$core$Dict$update, ix, editName, model.editedOverrides)
10260var $author$project$Html$Overrides$newOverride = function (model) {
10261 return _Utils_update(
10264 editedOverrides: A3(
10265 $elm$core$Dict$insert,
10268 $author$project$Html$Overrides$OverrideData,
10269 $author$project$Types$Override$OverrideName(''),
10271 $author$project$Html$Overrides$New),
10272 model.editedOverrides),
10273 nextId: model.nextId + 1
10276var $elm$core$Set$remove = F2(
10277 function (key, _v0) {
10279 return $elm$core$Set$Set_elm_builtin(
10280 A2($elm$core$Dict$remove, key, dict));
10282var $author$project$Html$Overrides$restoreOverride = F2(
10283 function (ix, model) {
10284 var restore = function (mOverride) {
10285 var _v0 = _Utils_Tuple2(
10287 A2($elm$core$Dict$get, ix, model.defaultOverrides));
10288 if ((_v0.a.$ === 'Just') && (_v0.b.$ === 'Nothing')) {
10289 var override = _v0.a.a;
10291 return $elm$core$Maybe$Just(
10294 {status: $author$project$Html$Overrides$New}));
10296 return $elm$core$Maybe$Nothing;
10299 return _Utils_update(
10302 editedOverrides: A3($elm$core$Dict$update, ix, restore, model.editedOverrides)
10305var $author$project$Html$Overrides$update = F2(
10306 function (msg, model) {
10308 case 'AddOverride':
10309 return _Utils_Tuple2(
10310 $author$project$Html$Overrides$newOverride(model),
10311 $elm$core$Platform$Cmd$none);
10312 case 'DeleteOverride':
10314 return _Utils_Tuple2(
10315 A2($author$project$Html$Overrides$deleteOverride, ix, model),
10316 $elm$core$Platform$Cmd$none);
10317 case 'RestoreOverride':
10319 return _Utils_Tuple2(
10320 A2($author$project$Html$Overrides$restoreOverride, ix, model),
10321 $elm$core$Platform$Cmd$none);
10322 case 'EditOverrideName':
10325 return _Utils_Tuple2(
10326 A3($author$project$Html$Overrides$editOverrideName, ix, name, model),
10327 $elm$core$Platform$Cmd$none);
10328 case 'EditOverrideValue':
10331 return _Utils_Tuple2(
10332 A3($author$project$Html$Overrides$editOverrideValue, ix, value, model),
10333 $elm$core$Platform$Cmd$none);
10336 return _Utils_Tuple2(
10340 openedNames: A2($elm$core$Set$insert, name, model.openedNames)
10342 $elm$core$Platform$Cmd$none);
10345 return _Utils_Tuple2(
10349 openedNames: A2($elm$core$Set$remove, name, model.openedNames)
10351 $elm$core$Platform$Cmd$none);
10352 case 'ShowAutocomplete':
10354 return _Utils_Tuple2(
10358 autocomplete: $elm$core$Maybe$Just(ix)
10360 $elm$core$Platform$Cmd$none);
10362 return _Utils_Tuple2(
10365 {autocomplete: $elm$core$Maybe$Nothing}),
10366 $elm$core$Platform$Cmd$none);
10369var $turboMaCk$any_dict$Dict$Any$insert = F3(
10370 function (k, v, _v0) {
10372 return $turboMaCk$any_dict$Dict$Any$AnyDict(
10377 $elm$core$Dict$insert,
10379 _Utils_Tuple2(k, v),
10383var $turboMaCk$any_set$Set$Any$insert = F2(
10384 function (a, _v0) {
10386 return $turboMaCk$any_set$Set$Any$AnySet(
10387 A3($turboMaCk$any_dict$Dict$Any$insert, a, _Utils_Tuple0, dict));
10389var $turboMaCk$any_dict$Dict$Any$remove = F2(
10390 function (k, _v0) {
10392 return $turboMaCk$any_dict$Dict$Any$AnyDict(
10397 $elm$core$Dict$remove,
10402var $turboMaCk$any_set$Set$Any$remove = F2(
10403 function (a, _v0) {
10405 return $turboMaCk$any_set$Set$Any$AnySet(
10406 A2($turboMaCk$any_dict$Dict$Any$remove, a, dict));
10408var $author$project$Page$Deployment$ActionTable$update = F2(
10409 function (cmd, model) {
10411 case 'OpenDeploymentOverrides':
10413 return _Utils_Tuple2(
10417 openedDeployemntOverrides: A2($turboMaCk$any_set$Set$Any$insert, id, model.openedDeployemntOverrides)
10419 $elm$core$Platform$Cmd$none);
10420 case 'CloseDeploymentOverrides':
10422 return _Utils_Tuple2(
10426 openedDeployemntOverrides: A2($turboMaCk$any_set$Set$Any$remove, id, model.openedDeployemntOverrides)
10428 $elm$core$Platform$Cmd$none);
10429 case 'OpenAppOverrides':
10431 return _Utils_Tuple2(
10435 openedAppOverrides: A2($turboMaCk$any_set$Set$Any$insert, id, model.openedAppOverrides)
10437 $elm$core$Platform$Cmd$none);
10440 return _Utils_Tuple2(
10444 openedAppOverrides: A2($turboMaCk$any_set$Set$Any$remove, id, model.openedAppOverrides)
10446 $elm$core$Platform$Cmd$none);
10449var $author$project$Page$Sidebar$CreateUpdate$AppOverridesMsg = function (a) {
10450 return {$: 'AppOverridesMsg', a: a};
10452var $author$project$Page$Sidebar$CreateUpdate$DeploymentOverridesMsg = function (a) {
10453 return {$: 'DeploymentOverridesMsg', a: a};
10455var $author$project$Html$Overrides$Write = {$: 'Write'};
10456var $author$project$Html$Overrides$dataChanged = function (msg) {
10458 case 'DeleteOverride':
10460 case 'RestoreOverride':
10462 case 'EditOverrideName':
10464 case 'EditOverrideValue':
10470var $elm$core$Dict$values = function (dict) {
10472 $elm$core$Dict$foldr,
10474 function (key, value, valueList) {
10475 return A2($elm$core$List$cons, value, valueList);
10480var $author$project$Html$Overrides$getEditedOverrides = function (model) {
10482 $elm$core$List$map,
10484 var _v0 = o.status;
10487 return A2($author$project$Types$Override$Override, o.name, $author$project$Types$Override$ValueDeleted);
10490 $author$project$Types$Override$Override,
10492 $author$project$Types$Override$ValueAdded(o.value));
10495 $author$project$Types$Override$Override,
10497 $author$project$Types$Override$ValueAdded(o.value));
10500 $elm$core$Dict$values(model.editedOverrides));
10502var $author$project$Html$Overrides$getFullOverrides = function (model) {
10504 $elm$core$Dict$merge,
10506 function (_v0, e, res) {
10507 var _v1 = e.status;
10508 if (_v1.$ === 'New') {
10510 $elm$core$List$cons,
10511 {name: e.name, value: e.value},
10518 function (_v2, e, _v3, res) {
10519 var _v4 = e.status;
10520 if (_v4.$ === 'Edited') {
10522 $elm$core$List$cons,
10523 {name: e.name, value: e.value},
10530 function (_v5, d, res) {
10531 return A2($elm$core$List$cons, d, res);
10533 model.editedOverrides,
10534 model.defaultOverrides,
10537var $author$project$Page$Sidebar$CreateUpdate$DeploymentOverrideKeysResponse = function (a) {
10538 return {$: 'DeploymentOverrideKeysResponse', a: a};
10540var $author$project$Api$Endpoint$deploymentOverrideKeys = function (appUrl) {
10542 $author$project$Api$Endpoint$url,
10543 $elm$core$Maybe$Just(appUrl),
10545 ['api', 'v1', 'deployment_override_keys']),
10548var $author$project$Types$Override$overrideNameDecoder = A2($elm$json$Json$Decode$map, $author$project$Types$Override$OverrideName, $elm$json$Json$Decode$string);
10549var $author$project$Page$Sidebar$CreateUpdate$reqDeploymentOverrideKeys = function (config) {
10551 $author$project$Api$get,
10553 $author$project$Api$Endpoint$deploymentOverrideKeys,
10554 $elm$json$Json$Decode$list($author$project$Types$Override$overrideNameDecoder),
10555 A2($elm$core$Basics$composeR, $krisajenkins$remotedata$RemoteData$fromResult, $author$project$Page$Sidebar$CreateUpdate$DeploymentOverrideKeysResponse));
10557var $author$project$Page$Sidebar$CreateUpdate$DeploymentOverridesResponse = function (a) {
10558 return {$: 'DeploymentOverridesResponse', a: a};
10560var $author$project$Page$Sidebar$CreateUpdate$reqDeploymentOverrides = function (config) {
10562 $author$project$Api$get,
10564 $author$project$Api$Endpoint$deploymentOverrides,
10565 $elm$json$Json$Decode$list($author$project$Types$OverrideWithDefault$defaultOverridesDecode),
10566 A2($elm$core$Basics$composeR, $krisajenkins$remotedata$RemoteData$fromResult, $author$project$Page$Sidebar$CreateUpdate$DeploymentOverridesResponse));
10568var $author$project$Page$Sidebar$CreateUpdate$initCreateReq = function (config) {
10569 return $elm$core$Platform$Cmd$batch(
10572 $author$project$Page$Sidebar$CreateUpdate$reqDeploymentOverrideKeys(config),
10573 $author$project$Page$Sidebar$CreateUpdate$reqDeploymentOverrides(config)
10576var $elm$browser$Browser$Navigation$replaceUrl = _Browser_replaceUrl;
10577var $author$project$Route$routeToPieces = function (page) {
10578 if (page.$ === 'Deployments') {
10579 return _List_fromArray(
10582 var deployment = page.a;
10583 return _List_fromArray(
10586 $author$project$Types$Deployment$unDeploymentName(deployment)
10590var $author$project$Route$routeToString = function (page) {
10592 $elm$core$String$join,
10594 $author$project$Route$routeToPieces(page));
10596var $author$project$Route$replaceUrl = F2(
10597 function (key, route) {
10599 $elm$browser$Browser$Navigation$replaceUrl,
10601 $author$project$Route$routeToString(route));
10603var $author$project$Page$Sidebar$CreateUpdate$AppOverrideKeysResponse = function (a) {
10604 return {$: 'AppOverrideKeysResponse', a: a};
10606var $author$project$Api$Endpoint$appOverrideKeys = function (appUrl) {
10608 $author$project$Api$Endpoint$url,
10609 $elm$core$Maybe$Just(appUrl),
10611 ['api', 'v1', 'application_override_keys']),
10614var $author$project$Page$Sidebar$CreateUpdate$reqAppOverrideKeys = F2(
10615 function (config, body) {
10617 $author$project$Api$post,
10619 $author$project$Api$Endpoint$appOverrideKeys,
10620 $elm$http$Http$jsonBody(
10621 A2($elm$json$Json$Encode$list, $author$project$Types$OverrideWithDefault$defaultOverrideEncoder, body)),
10622 $elm$json$Json$Decode$list($author$project$Types$Override$overrideNameDecoder),
10623 A2($elm$core$Basics$composeR, $krisajenkins$remotedata$RemoteData$fromResult, $author$project$Page$Sidebar$CreateUpdate$AppOverrideKeysResponse));
10625var $author$project$Page$Sidebar$CreateUpdate$AppOverridesResponse = function (a) {
10626 return {$: 'AppOverridesResponse', a: a};
10628var $author$project$Page$Sidebar$CreateUpdate$reqAppOverrides = F2(
10629 function (config, body) {
10631 $author$project$Api$post,
10633 $author$project$Api$Endpoint$appOverrides,
10634 $elm$http$Http$jsonBody(
10635 A2($elm$json$Json$Encode$list, $author$project$Types$OverrideWithDefault$defaultOverrideEncoder, body)),
10636 $elm$json$Json$Decode$list($author$project$Types$OverrideWithDefault$defaultOverridesDecode),
10637 A2($elm$core$Basics$composeR, $krisajenkins$remotedata$RemoteData$fromResult, $author$project$Page$Sidebar$CreateUpdate$AppOverridesResponse));
10639var $author$project$Page$Sidebar$CreateUpdate$SaveDeploymentResponse = function (a) {
10640 return {$: 'SaveDeploymentResponse', a: a};
10642var $elm$json$Json$Encode$object = function (pairs) {
10645 $elm$core$List$foldl,
10647 function (_v0, obj) {
10650 return A3(_Json_addField, k, v, obj);
10652 _Json_emptyObject(_Utils_Tuple0),
10655var $author$project$Types$Override$overrideValueEncode = function (value) {
10656 if (value.$ === 'ValueAdded') {
10658 return $elm$json$Json$Encode$object(
10663 $elm$json$Json$Encode$string('ValueAdded')),
10666 $elm$json$Json$Encode$string(v))
10669 return $elm$json$Json$Encode$object(
10674 $elm$json$Json$Encode$string('ValueDeleted'))
10678var $author$project$Types$Override$overrideHelperEncode = function (helper) {
10679 if (helper.$ === 'OverrideName_') {
10680 var name = helper.a;
10681 return $elm$json$Json$Encode$string(name);
10683 var val = helper.a;
10684 return $author$project$Types$Override$overrideValueEncode(val);
10687var $author$project$Types$Override$overrideToHelper = function (override) {
10688 return _List_fromArray(
10690 $author$project$Types$Override$OverrideName_(
10691 $author$project$Types$Override$unOverrideName(override.name)),
10692 $author$project$Types$Override$OverrideValue_(override.value)
10695var $author$project$Types$Override$overrideEncode = function (override) {
10696 var helper = $author$project$Types$Override$overrideToHelper(override);
10697 return A2($elm$json$Json$Encode$list, $author$project$Types$Override$overrideHelperEncode, helper);
10699var $author$project$Types$Deployment$infoEncode = function (info) {
10700 return $elm$json$Json$Encode$object(
10705 $elm$json$Json$Encode$string(
10706 $author$project$Types$Deployment$unDeploymentName(info.name))),
10709 A2($elm$json$Json$Encode$list, $author$project$Types$Override$overrideEncode, info.appOverrides)),
10711 'deployment_overrides',
10712 A2($elm$json$Json$Encode$list, $author$project$Types$Override$overrideEncode, info.deploymentOverrides))
10715var $author$project$Api$Endpoint$saveDeployment = function (appUrl) {
10717 $author$project$Api$Endpoint$url,
10718 $elm$core$Maybe$Just(appUrl),
10720 ['api', 'v1', 'deployments']),
10723var $author$project$Page$Sidebar$CreateUpdate$reqCreateDeployment = F2(
10724 function (config, body) {
10726 $author$project$Api$post,
10728 $author$project$Api$Endpoint$saveDeployment,
10729 $elm$http$Http$jsonBody(
10730 $author$project$Types$Deployment$infoEncode(body)),
10731 $elm$json$Json$Decode$succeed(_Utils_Tuple0),
10732 A2($elm$core$Basics$composeR, $krisajenkins$remotedata$RemoteData$fromResult, $author$project$Page$Sidebar$CreateUpdate$SaveDeploymentResponse));
10734var $author$project$Api$put = F5(
10735 function (config, url, body, decoder, msg) {
10736 return $author$project$Api$Endpoint$request(
10739 expect: A2($author$project$Api$expectJson, msg, decoder),
10740 headers: _List_fromArray(
10742 $author$project$Api$authHeader(config.appAuth)
10745 timeout: $elm$core$Maybe$Nothing,
10746 tracker: $elm$core$Maybe$Nothing,
10747 url: url(config.appUrl)
10750var $author$project$Api$Endpoint$updateDeployment = F2(
10751 function (deploymentName, appUrl) {
10753 $author$project$Api$Endpoint$url,
10754 $elm$core$Maybe$Just(appUrl),
10760 $author$project$Types$Deployment$unDeploymentName(deploymentName)
10764var $author$project$Types$Deployment$updateInfoEncode = function (info) {
10765 return $elm$json$Json$Encode$object(
10770 A2($elm$json$Json$Encode$list, $author$project$Types$Override$overrideEncode, info.appOverrides)),
10772 'deployment_overrides',
10773 A2($elm$json$Json$Encode$list, $author$project$Types$Override$overrideEncode, info.deploymentOverrides))
10776var $author$project$Page$Sidebar$CreateUpdate$reqUpdateDeployment = F3(
10777 function (deploymentName, config, body) {
10779 $author$project$Api$put,
10781 $author$project$Api$Endpoint$updateDeployment(deploymentName),
10782 $elm$http$Http$jsonBody(
10783 $author$project$Types$Deployment$updateInfoEncode(body)),
10784 $elm$json$Json$Decode$succeed(_Utils_Tuple0),
10785 A2($elm$core$Basics$composeR, $krisajenkins$remotedata$RemoteData$fromResult, $author$project$Page$Sidebar$CreateUpdate$SaveDeploymentResponse));
10787var $krisajenkins$remotedata$RemoteData$unwrap = F3(
10788 function (_default, _function, remoteData) {
10789 if (remoteData.$ === 'Success') {
10790 var data = remoteData.a;
10791 return _function(data);
10796var $author$project$Page$Sidebar$CreateUpdate$update = F2(
10797 function (cmd, model) {
10798 var updateWith = F3(
10799 function (toModel, toMsg, _v10) {
10800 var subModel = _v10.a;
10801 var subCmd = _v10.b;
10802 return _Utils_Tuple2(
10804 A2($elm$core$Platform$Cmd$map, toMsg, subCmd));
10806 var initOverrides = F4(
10807 function (name, edits, defaults, keys) {
10808 return A5($author$project$Html$Overrides$init, defaults, edits, keys, $author$project$Html$Overrides$Write, name);
10810 var _v0 = function () {
10811 var _v1 = model.deployment;
10812 if (_v1.$ === 'Success') {
10813 var deployment = _v1.a;
10814 return _Utils_Tuple2(deployment.deployment.appOverrides, deployment.deployment.deploymentOverrides);
10816 return _Utils_Tuple2(_List_Nil, _List_Nil);
10819 var appEdits = _v0.a;
10820 var deployEdits = _v0.b;
10822 case 'DeploymentOverrideKeysResponse':
10824 return _Utils_Tuple2(
10828 deploymentKeys: keys,
10829 deploymentOverrides: A3(
10830 $krisajenkins$remotedata$RemoteData$map2,
10831 A2(initOverrides, 'Deployment configuration', deployEdits),
10832 model.deploymentDefaults,
10835 $elm$core$Platform$Cmd$none);
10836 case 'DeploymentOverridesResponse':
10837 var overrides = cmd.a;
10838 return _Utils_Tuple2(
10842 deploymentDefaults: overrides,
10843 deploymentOverrides: A3(
10844 $krisajenkins$remotedata$RemoteData$map2,
10845 A2(initOverrides, 'Deployment configuration', deployEdits),
10847 model.deploymentKeys)
10850 if (overrides.$ === 'Success') {
10851 var defaults = overrides.a;
10852 return $elm$core$Platform$Cmd$batch(
10855 A2($author$project$Page$Sidebar$CreateUpdate$reqAppOverrideKeys, model.config, defaults),
10856 A2($author$project$Page$Sidebar$CreateUpdate$reqAppOverrides, model.config, defaults)
10859 return $elm$core$Platform$Cmd$none;
10862 case 'AppOverrideKeysResponse':
10864 return _Utils_Tuple2(
10870 $krisajenkins$remotedata$RemoteData$map2,
10871 A2(initOverrides, 'App configuration', appEdits),
10875 $elm$core$Platform$Cmd$none);
10876 case 'AppOverridesResponse':
10877 var overrides = cmd.a;
10878 return _Utils_Tuple2(
10882 appDefaults: overrides,
10884 $krisajenkins$remotedata$RemoteData$map2,
10885 A2(initOverrides, 'App configuration', appEdits),
10889 $elm$core$Platform$Cmd$none);
10891 return _Utils_Tuple2(
10894 {visibility: false}),
10895 $elm$core$Platform$Cmd$none);
10898 return _Utils_Tuple2(
10902 name: $author$project$Types$Deployment$DeploymentName(name),
10905 $elm$core$Platform$Cmd$none);
10906 case 'AppOverridesMsg':
10907 var subMsg = cmd.a;
10908 var _v4 = model.appOverrides;
10909 if (_v4.$ === 'Success') {
10910 var appOverrides = _v4.a;
10913 function (updated) {
10914 return _Utils_update(
10917 appOverrides: $krisajenkins$remotedata$RemoteData$Success(updated)
10920 $author$project$Page$Sidebar$CreateUpdate$AppOverridesMsg,
10921 A2($author$project$Html$Overrides$update, subMsg, appOverrides));
10923 return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);
10925 case 'DeploymentOverridesMsg':
10926 var subMsg = cmd.a;
10927 var _v5 = model.deploymentOverrides;
10928 if (_v5.$ === 'Success') {
10929 var deploymentOverrides = _v5.a;
10932 function (deploymentOverrides_) {
10933 return _Utils_update(
10936 deploymentOverrides: $krisajenkins$remotedata$RemoteData$Success(deploymentOverrides_)
10939 $author$project$Page$Sidebar$CreateUpdate$DeploymentOverridesMsg,
10940 A2($author$project$Html$Overrides$update, subMsg, deploymentOverrides));
10941 var model_ = _v6.a;
10943 var _v7 = _Utils_Tuple2(
10944 $author$project$Html$Overrides$dataChanged(subMsg),
10945 model_.deploymentOverrides);
10946 if (_v7.a && (_v7.b.$ === 'Success')) {
10947 var deploymentOverrides_ = _v7.b.a;
10948 return _Utils_Tuple2(
10951 {appOverrides: $krisajenkins$remotedata$RemoteData$Loading}),
10952 $elm$core$Platform$Cmd$batch(
10956 $author$project$Page$Sidebar$CreateUpdate$reqAppOverrideKeys,
10958 $author$project$Html$Overrides$getFullOverrides(deploymentOverrides_)),
10960 $author$project$Page$Sidebar$CreateUpdate$reqAppOverrides,
10962 $author$project$Html$Overrides$getFullOverrides(deploymentOverrides_)),
10966 return _Utils_Tuple2(model_, cmd_);
10969 return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);
10972 var _v8 = _Utils_Tuple2(model.deploymentOverrides, model.appOverrides);
10973 if ((_v8.a.$ === 'Success') && (_v8.b.$ === 'Success')) {
10974 var deploymentOverrides = _v8.a.a;
10975 var appOverrides = _v8.b.a;
10976 var deploymentOverridesData = $author$project$Html$Overrides$getEditedOverrides(deploymentOverrides);
10977 var appOverridesData = $author$project$Html$Overrides$getEditedOverrides(appOverrides);
10978 var info = {appOverrides: appOverridesData, deploymentOverrides: deploymentOverridesData, name: model.name};
10979 return _Utils_Tuple2(
10982 {saveResp: $krisajenkins$remotedata$RemoteData$Loading}),
10984 var _v9 = model.mode;
10985 if (_v9.$ === 'Create') {
10986 return A2($author$project$Page$Sidebar$CreateUpdate$reqCreateDeployment, model.config, info);
10988 return A3($author$project$Page$Sidebar$CreateUpdate$reqUpdateDeployment, model.name, model.config, info);
10992 return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);
10994 case 'SaveDeploymentResponse':
10995 if (cmd.a.$ === 'Success') {
10996 return _Utils_Tuple2(
10999 {visibility: false}),
11001 $author$project$Route$replaceUrl,
11003 $author$project$Route$Deployment(model.name)));
11006 return _Utils_Tuple2(
11010 $elm$core$Platform$Cmd$none);
11014 return _Utils_Tuple2(
11020 $krisajenkins$remotedata$RemoteData$unwrap,
11021 $author$project$Types$Deployment$DeploymentName(''),
11023 return x.deployment.name;
11027 $author$project$Page$Sidebar$CreateUpdate$initCreateReq(model.config));
11030var $author$project$Page$Deployment$update = F2(
11031 function (cmd, model) {
11032 var updateWith = F3(
11033 function (toModel, toMsg, _v8) {
11034 var subModel = _v8.a;
11035 var subCmd = _v8.b;
11036 return _Utils_Tuple2(
11038 A2($elm$core$Platform$Cmd$map, toMsg, subCmd));
11040 var initOverrides = F3(
11041 function (name, defaults, edits) {
11042 return A5($author$project$Html$Overrides$init, defaults, edits, _List_Nil, $author$project$Html$Overrides$Read, name);
11045 case 'DeploymentFullInfoResponse':
11046 var deployment = cmd.a;
11047 return _Utils_Tuple2(
11050 {deployment: deployment}),
11051 $elm$core$Platform$Cmd$batch(
11054 $author$project$Page$Deployment$reqDeploymentOverrides(model.config)
11056 case 'DeploymentInfoResponse':
11058 return _Utils_Tuple2(
11062 $elm$core$Platform$Cmd$none);
11064 var _v1 = A3($jinjor$elm_debounce$Debounce$push, $author$project$Page$Deployment$debounceConfig, _Utils_Tuple0, model.debounce);
11065 var debounce = _v1.a;
11066 var subCmd = _v1.b;
11067 return _Utils_Tuple2(
11070 {debounce: debounce}),
11072 case 'DebounceMsg':
11075 $jinjor$elm_debounce$Debounce$update,
11076 $author$project$Page$Deployment$debounceConfig,
11077 $jinjor$elm_debounce$Debounce$takeAll(
11079 function (_v3, _v4) {
11080 return $elm$core$Platform$Cmd$batch(
11083 A2($author$project$Page$Deployment$reqDeployment, model.deploymentName, model.config),
11084 A2($author$project$Page$Deployment$reqLogs, model.deploymentName, model.config)
11089 var debounce = _v2.a;
11090 var subCmd = _v2.b;
11091 return _Utils_Tuple2(
11094 {debounce: debounce}),
11096 case 'DeploymentOverridesResponse':
11097 var overrides = cmd.a;
11098 return _Utils_Tuple2(
11102 deploymentDefaults: overrides,
11103 deploymentOverrides: A3(
11104 $krisajenkins$remotedata$RemoteData$map2,
11105 initOverrides('Deployment configuration'),
11108 $krisajenkins$remotedata$RemoteData$map,
11110 return x.deployment.deploymentOverrides;
11115 if (overrides.$ === 'Success') {
11116 var defaults = overrides.a;
11117 return A2($author$project$Page$Deployment$reqAppOverrides, model.config, defaults);
11119 return $elm$core$Platform$Cmd$none;
11122 case 'AppOverridesResponse':
11123 var overrides = cmd.a;
11124 return _Utils_Tuple2(
11128 appDefaults: overrides,
11130 $krisajenkins$remotedata$RemoteData$map2,
11131 initOverrides('App configuration'),
11134 $krisajenkins$remotedata$RemoteData$map,
11136 return x.deployment.appOverrides;
11140 $elm$core$Platform$Cmd$none);
11141 case 'AppOverridesMsg':
11142 var subMsg = cmd.a;
11143 var _v6 = model.appOverrides;
11144 if (_v6.$ === 'Success') {
11145 var appOverrides = _v6.a;
11148 function (updated) {
11149 return _Utils_update(
11152 appOverrides: $krisajenkins$remotedata$RemoteData$Success(updated)
11155 $author$project$Page$Deployment$AppOverridesMsg,
11156 A2($author$project$Html$Overrides$update, subMsg, appOverrides));
11158 return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);
11160 case 'DeploymentOverridesMsg':
11161 var subMsg = cmd.a;
11162 var _v7 = model.deploymentOverrides;
11163 if (_v7.$ === 'Success') {
11164 var deploymentOverrides = _v7.a;
11167 function (updated) {
11168 return _Utils_update(
11171 deploymentOverrides: $krisajenkins$remotedata$RemoteData$Success(updated)
11174 $author$project$Page$Deployment$DeploymentOverridesMsg,
11175 A2($author$project$Html$Overrides$update, subMsg, deploymentOverrides));
11177 return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);
11179 case 'ShowSidebar':
11180 var deployment = cmd.a;
11181 return _Utils_Tuple2(
11185 sidebar: A4($author$project$Page$Sidebar$CreateUpdate$initUpdate, model.settings.navKey, model.config, true, deployment.deployment.name)
11188 $elm$core$Platform$Cmd$map,
11189 $author$project$Page$Deployment$CreateSidebarMsg,
11190 A2($author$project$Page$Sidebar$CreateUpdate$initUpdateReq, model.config, deployment.deployment.name)));
11191 case 'CreateSidebarMsg':
11192 var subMsg = cmd.a;
11195 function (sidebar) {
11196 return _Utils_update(
11198 {sidebar: sidebar});
11200 $author$project$Page$Deployment$CreateSidebarMsg,
11201 A2($author$project$Page$Sidebar$CreateUpdate$update, subMsg, model.sidebar));
11203 var subMsg = cmd.a;
11206 function (updated) {
11207 return _Utils_update(
11209 {actionTable: updated});
11211 $author$project$Page$Deployment$ActionMsg,
11212 A2($author$project$Page$Deployment$ActionTable$update, subMsg, model.actionTable));
11213 case 'OpenArchivePopup':
11214 var deploymentName = cmd.a;
11215 return _Utils_Tuple2(
11219 archivePopup: $elm$core$Maybe$Just(deploymentName)
11221 $elm$core$Platform$Cmd$none);
11222 case 'CloseArchivePopup':
11223 return _Utils_Tuple2(
11226 {archivePopup: $elm$core$Maybe$Nothing}),
11227 $elm$core$Platform$Cmd$none);
11228 case 'DeleteDeploymentReq':
11229 var deploymentName = cmd.a;
11230 return _Utils_Tuple2(
11233 {archivePopup: $elm$core$Maybe$Nothing}),
11234 A2($author$project$Page$Deployment$reqDeleteDeployment, model.config, deploymentName));
11235 case 'DeleteDeploymentResp':
11236 if (cmd.b.$ === 'Success') {
11237 var deploymentName = cmd.a;
11238 return _Utils_Tuple2(model, $elm$browser$Browser$Navigation$reload);
11241 return _Utils_Tuple2(model, $elm$browser$Browser$Navigation$reload);
11243 case 'RestoreDeploymentReq':
11244 var deploymentName = cmd.a;
11245 return _Utils_Tuple2(
11248 {restoreDisabled: true}),
11249 A2($author$project$Page$Deployment$reqRestoreDeployment, model.config, deploymentName));
11251 if (cmd.b.$ === 'Success') {
11252 var deploymentName = cmd.a;
11253 return _Utils_Tuple2(model, $elm$browser$Browser$Navigation$reload);
11256 return _Utils_Tuple2(model, $elm$browser$Browser$Navigation$reload);
11260var $author$project$Page$Deployments$CreateSidebarMsg = function (a) {
11261 return {$: 'CreateSidebarMsg', a: a};
11263var $author$project$Page$Deployments$DebounceMsg = function (a) {
11264 return {$: 'DebounceMsg', a: a};
11266var $author$project$Page$Deployments$debounceConfig = {
11267 strategy: $jinjor$elm_debounce$Debounce$soon(2000),
11268 transform: $author$project$Page$Deployments$DebounceMsg
11270var $author$project$Route$pushUrl = F2(
11271 function (key, route) {
11273 $elm$browser$Browser$Navigation$pushUrl,
11275 $author$project$Route$routeToString(route));
11277var $author$project$Page$Deployments$Table$DeleteDeploymentResp = function (a) {
11278 return {$: 'DeleteDeploymentResp', a: a};
11280var $author$project$Page$Deployments$Table$reqDeleteDeployment = F2(
11281 function (config, deploymentName) {
11283 $author$project$Api$delete,
11285 $author$project$Api$Endpoint$deleteDeployment(deploymentName),
11286 $elm$http$Http$emptyBody,
11287 $elm$json$Json$Decode$string,
11288 A2($elm$core$Basics$composeR, $krisajenkins$remotedata$RemoteData$fromResult, $author$project$Page$Deployments$Table$DeleteDeploymentResp));
11290var $author$project$Page$Deployments$Table$RestoreDeploymentResp = function (a) {
11291 return {$: 'RestoreDeploymentResp', a: a};
11293var $author$project$Page$Deployments$Table$reqRestoreDeployment = F2(
11294 function (config, deploymentName) {
11296 $author$project$Api$patch,
11298 $author$project$Api$Endpoint$restoreDeployment(deploymentName),
11299 $elm$json$Json$Decode$string,
11300 A2($elm$core$Basics$composeR, $krisajenkins$remotedata$RemoteData$fromResult, $author$project$Page$Deployments$Table$RestoreDeploymentResp));
11302var $author$project$Page$Deployments$Table$update = F2(
11303 function (cmd, model) {
11305 case 'SortChanged':
11307 return _Utils_Tuple2(
11311 $elm$core$Platform$Cmd$none);
11312 case 'OpenDeploymentOverrides':
11314 return _Utils_Tuple2(
11318 openedDeployemntOverrides: A2($turboMaCk$any_set$Set$Any$insert, name, model.openedDeployemntOverrides)
11320 $elm$core$Platform$Cmd$none);
11321 case 'CloseDeploymentOverrides':
11323 return _Utils_Tuple2(
11327 openedDeployemntOverrides: A2($turboMaCk$any_set$Set$Any$remove, name, model.openedDeployemntOverrides)
11329 $elm$core$Platform$Cmd$none);
11330 case 'OpenAppOverrides':
11332 return _Utils_Tuple2(
11336 openedAppOverrides: A2($turboMaCk$any_set$Set$Any$insert, name, model.openedAppOverrides)
11338 $elm$core$Platform$Cmd$none);
11339 case 'CloseAppOverrides':
11341 return _Utils_Tuple2(
11345 openedAppOverrides: A2($turboMaCk$any_set$Set$Any$remove, name, model.openedAppOverrides)
11347 $elm$core$Platform$Cmd$none);
11350 return _Utils_Tuple2(
11354 menuButton: $elm$core$Maybe$Just(name)
11356 $elm$core$Platform$Cmd$none);
11358 return _Utils_Tuple2(
11361 {menuButton: $elm$core$Maybe$Nothing}),
11362 $elm$core$Platform$Cmd$none);
11363 case 'OpenArchivePopup':
11364 var deploymentName = cmd.a;
11365 return _Utils_Tuple2(
11369 archivePopup: $elm$core$Maybe$Just(deploymentName)
11371 $elm$core$Platform$Cmd$none);
11372 case 'CloseArchivePopup':
11373 return _Utils_Tuple2(
11376 {archivePopup: $elm$core$Maybe$Nothing}),
11377 $elm$core$Platform$Cmd$none);
11378 case 'DeleteDeploymentReq':
11379 var deploymentName = cmd.a;
11380 return _Utils_Tuple2(
11383 {archivePopup: $elm$core$Maybe$Nothing}),
11384 A2($author$project$Page$Deployments$Table$reqDeleteDeployment, model.config, deploymentName));
11385 case 'DeleteDeploymentResp':
11386 return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);
11387 case 'RestoreDeploymentReq':
11388 var deploymentName = cmd.a;
11389 return _Utils_Tuple2(
11392 {menuButton: $elm$core$Maybe$Nothing}),
11393 A2($author$project$Page$Deployments$Table$reqRestoreDeployment, model.config, deploymentName));
11394 case 'RestoreDeploymentResp':
11395 return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);
11396 case 'GoToDeployment':
11397 var deploymentName = cmd.a;
11398 return _Utils_Tuple2(
11401 $author$project$Route$pushUrl,
11402 model.settings.navKey,
11403 $author$project$Route$Deployment(deploymentName)));
11405 return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);
11408var $author$project$Page$Deployments$update = F2(
11409 function (cmd, model) {
11410 var updateWith = F3(
11411 function (toModel, toMsg, _v6) {
11412 var subModel = _v6.a;
11413 var subCmd = _v6.b;
11414 return _Utils_Tuple2(
11416 A2($elm$core$Platform$Cmd$map, toMsg, subCmd));
11419 case 'DeploymentsResponse':
11420 var deployments = cmd.a;
11421 var latestUpd = function () {
11422 if (deployments.$ === 'Success') {
11425 return model.updated;
11428 return _Utils_Tuple2(
11431 {deployments: deployments, updated: latestUpd}),
11432 $elm$core$Platform$Cmd$none);
11433 case 'SearchInput':
11434 var search = cmd.a;
11435 return _Utils_Tuple2(
11439 $elm$core$Platform$Cmd$none);
11440 case 'ActiveTableMsg':
11441 if (cmd.a.$ === 'ShowEditSidebar') {
11442 var deploymentName = cmd.a.a;
11443 return _Utils_Tuple2(
11447 sidebar: A4($author$project$Page$Sidebar$CreateUpdate$initUpdate, model.settings.navKey, model.config, true, deploymentName)
11450 $elm$core$Platform$Cmd$map,
11451 $author$project$Page$Deployments$CreateSidebarMsg,
11452 A2($author$project$Page$Sidebar$CreateUpdate$initUpdateReq, model.config, deploymentName)));
11454 var subMsg = cmd.a;
11458 return _Utils_update(
11460 {activeTable: table});
11462 $author$project$Page$Deployments$ActiveTableMsg,
11463 A2($author$project$Page$Deployments$Table$update, subMsg, model.activeTable));
11465 case 'ArchivedTableMsg':
11466 var subMsg = cmd.a;
11470 return _Utils_update(
11472 {archivedTable: table});
11474 $author$project$Page$Deployments$ArchivedTableMsg,
11475 A2($author$project$Page$Deployments$Table$update, subMsg, model.archivedTable));
11476 case 'ToggleArchived':
11477 return _Utils_Tuple2(
11480 {showArchived: !model.showArchived}),
11481 $elm$core$Platform$Cmd$none);
11483 var _v2 = A3($jinjor$elm_debounce$Debounce$push, $author$project$Page$Deployments$debounceConfig, _Utils_Tuple0, model.debounce);
11484 var debounce = _v2.a;
11485 var subCmd = _v2.b;
11486 return _Utils_Tuple2(
11489 {debounce: debounce}),
11491 case 'ShowCreateSidebar':
11492 return _Utils_Tuple2(
11496 sidebar: A3($author$project$Page$Sidebar$CreateUpdate$initCreate, model.settings.navKey, model.config, true)
11499 $elm$core$Platform$Cmd$map,
11500 $author$project$Page$Deployments$CreateSidebarMsg,
11501 $author$project$Page$Sidebar$CreateUpdate$initCreateReq(model.config)));
11502 case 'CreateSidebarMsg':
11503 var subMsg = cmd.a;
11506 function (sidebar) {
11507 return _Utils_update(
11509 {sidebar: sidebar});
11511 $author$project$Page$Deployments$CreateSidebarMsg,
11512 A2($author$project$Page$Sidebar$CreateUpdate$update, subMsg, model.sidebar));
11513 case 'DebounceMsg':
11516 $jinjor$elm_debounce$Debounce$update,
11517 $author$project$Page$Deployments$debounceConfig,
11518 $jinjor$elm_debounce$Debounce$takeAll(
11520 function (_v4, _v5) {
11521 return $author$project$Page$Deployments$reqDeployments(model.config);
11525 var debounce = _v3.a;
11526 var subCmd = _v3.b;
11527 return _Utils_Tuple2(
11530 {debounce: debounce}),
11533 return _Utils_Tuple2(
11536 {updated: model.updated + $author$project$Page$Deployments$tick}),
11537 $elm$core$Platform$Cmd$none);
11540var $author$project$Page$Initialization$getWebsocketAddress = _Platform_outgoingPort('getWebsocketAddress', $elm$json$Json$Encode$string);
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 $elm$core$List$member = F2(
11989 $elm$core$List$any,
11991 return _Utils_eq(a, x);
11995var $author$project$Types$Deployment$isDeploymentArchived = function (d) {
11996 var _v0 = d.status;
11997 if (_v0.$ === 'DeploymentPending') {
12002 $elm$core$List$member,
12005 [$author$project$Types$Deployment$ArchivePending, $author$project$Types$Deployment$Archived]));
12008var $author$project$Types$Deployment$unStatus = function (status) {
12009 if (status.$ === 'DeploymentPending') {
12017var $author$project$Types$Deployment$isPending = function (status) {
12018 var _v0 = $author$project$Types$Deployment$unStatus(status);
12026 case 'CreatePending':
12028 case 'UpdatePending':
12030 case 'ArchivePending':
12036var $author$project$Types$Deployment$isDeploymentPending = function (status) {
12037 if (status.$ === 'DeploymentPending') {
12040 return $author$project$Types$Deployment$isPending(status);
12043var $author$project$Page$Deployment$deploymentHeaderView = function (model) {
12044 var disabledButtonClass = F2(
12045 function (cls, disabled) {
12046 return disabled ? (cls + ' button--disabled') : cls;
12048 var buttons = function () {
12049 var _v0 = model.deployment;
12050 if (_v0.$ === 'Success') {
12051 var deployment = _v0.a;
12052 return $author$project$Types$Deployment$isDeploymentPending(deployment.status) ? _List_fromArray(
12055 $author$project$Html$Common$aClassHrefExternal,
12056 'button button--logs page__action button--secondary',
12058 model.config.k8sDashboardUrlTemplate,
12059 $author$project$Types$Deployment$unDeploymentName(model.deploymentName)),
12062 $elm$html$Html$text('Details')
12064 ]) : ($author$project$Types$Deployment$isDeploymentArchived(deployment) ? _List_fromArray(
12067 $elm$html$Html$button,
12070 $elm$html$Html$Attributes$class(
12071 A2(disabledButtonClass, 'button button--restore page__action button--secondary', model.restoreDisabled)),
12072 $elm$html$Html$Events$onClick(
12073 $author$project$Page$Deployment$RestoreDeploymentReq(model.deploymentName)),
12074 $elm$html$Html$Attributes$disabled(model.restoreDisabled)
12078 $elm$html$Html$text('Restore from archive')
12081 $author$project$Html$Common$aClassHrefExternal,
12082 'button button--logs page__action button--secondary',
12084 model.config.k8sDashboardUrlTemplate,
12085 $author$project$Types$Deployment$unDeploymentName(model.deploymentName)),
12088 $elm$html$Html$text('Details')
12090 ]) : _List_fromArray(
12093 $author$project$Html$Common$buttonClass,
12094 'button button--edit page__action',
12095 $author$project$Page$Deployment$ShowSidebar(deployment),
12098 $elm$html$Html$text('Edit deployment')
12101 $author$project$Html$Common$buttonClass,
12102 'button button--archive page__action button--secondary',
12103 $author$project$Page$Deployment$OpenArchivePopup(model.deploymentName),
12106 $elm$html$Html$text('Move to archive')
12109 $author$project$Html$Common$aClassHrefExternal,
12110 'button button--logs page__action button--secondary',
12112 model.config.k8sDashboardUrlTemplate,
12113 $author$project$Types$Deployment$unDeploymentName(model.deploymentName)),
12116 $elm$html$Html$text('Details')
12124 $author$project$Html$Common$divClass,
12127 $elm$core$List$cons,
12129 $author$project$Html$Common$h1Class,
12130 'page__heading title',
12133 $elm$html$Html$text(
12134 $author$project$Types$Deployment$unDeploymentName(model.deploymentName))
12138var $elm$html$Html$h3 = _VirtualDom_node('h3');
12139var $author$project$Html$Common$h3Class = $author$project$Html$Common$elClass($elm$html$Html$h3);
12140var $elm$html$Html$table = _VirtualDom_node('table');
12141var $author$project$Page$Deployment$ActionTable$CloseAppOverrides = function (a) {
12142 return {$: 'CloseAppOverrides', a: a};
12144var $author$project$Page$Deployment$ActionTable$CloseDeploymentOverrides = function (a) {
12145 return {$: 'CloseDeploymentOverrides', a: a};
12147var $author$project$Page$Deployment$ActionTable$OpenAppOverrides = function (a) {
12148 return {$: 'OpenAppOverrides', a: a};
12150var $author$project$Page$Deployment$ActionTable$OpenDeploymentOverrides = function (a) {
12151 return {$: 'OpenDeploymentOverrides', a: a};
12153var $rtfeldman$elm_iso8601_date_strings$Iso8601$fromMonth = function (month) {
12181var $elm$time$Time$flooredDiv = F2(
12182 function (numerator, denominator) {
12183 return $elm$core$Basics$floor(numerator / denominator);
12185var $elm$time$Time$posixToMillis = function (_v0) {
12186 var millis = _v0.a;
12189var $elm$time$Time$toAdjustedMinutesHelp = F3(
12190 function (defaultOffset, posixMinutes, eras) {
12191 toAdjustedMinutesHelp:
12194 return posixMinutes + defaultOffset;
12197 var olderEras = eras.b;
12198 if (_Utils_cmp(era.start, posixMinutes) < 0) {
12199 return posixMinutes + era.offset;
12201 var $temp$defaultOffset = defaultOffset,
12202 $temp$posixMinutes = posixMinutes,
12203 $temp$eras = olderEras;
12204 defaultOffset = $temp$defaultOffset;
12205 posixMinutes = $temp$posixMinutes;
12207 continue toAdjustedMinutesHelp;
12212var $elm$time$Time$toAdjustedMinutes = F2(
12213 function (_v0, time) {
12214 var defaultOffset = _v0.a;
12217 $elm$time$Time$toAdjustedMinutesHelp,
12220 $elm$time$Time$flooredDiv,
12221 $elm$time$Time$posixToMillis(time),
12225var $elm$core$Basics$ge = _Utils_ge;
12226var $elm$time$Time$toCivil = function (minutes) {
12227 var rawDay = A2($elm$time$Time$flooredDiv, minutes, 60 * 24) + 719468;
12228 var era = (((rawDay >= 0) ? rawDay : (rawDay - 146096)) / 146097) | 0;
12229 var dayOfEra = rawDay - (era * 146097);
12230 var yearOfEra = ((((dayOfEra - ((dayOfEra / 1460) | 0)) + ((dayOfEra / 36524) | 0)) - ((dayOfEra / 146096) | 0)) / 365) | 0;
12231 var dayOfYear = dayOfEra - (((365 * yearOfEra) + ((yearOfEra / 4) | 0)) - ((yearOfEra / 100) | 0));
12232 var mp = (((5 * dayOfYear) + 2) / 153) | 0;
12233 var month = mp + ((mp < 10) ? 3 : (-9));
12234 var year = yearOfEra + (era * 400);
12236 day: (dayOfYear - ((((153 * mp) + 2) / 5) | 0)) + 1,
12238 year: year + ((month <= 2) ? 1 : 0)
12241var $elm$time$Time$toDay = F2(
12242 function (zone, time) {
12243 return $elm$time$Time$toCivil(
12244 A2($elm$time$Time$toAdjustedMinutes, zone, time)).day;
12246var $elm$time$Time$toHour = F2(
12247 function (zone, time) {
12249 $elm$core$Basics$modBy,
12252 $elm$time$Time$flooredDiv,
12253 A2($elm$time$Time$toAdjustedMinutes, zone, time),
12256var $elm$time$Time$toMillis = F2(
12257 function (_v0, time) {
12259 $elm$core$Basics$modBy,
12261 $elm$time$Time$posixToMillis(time));
12263var $elm$time$Time$toMinute = F2(
12264 function (zone, time) {
12266 $elm$core$Basics$modBy,
12268 A2($elm$time$Time$toAdjustedMinutes, zone, time));
12270var $elm$time$Time$Apr = {$: 'Apr'};
12271var $elm$time$Time$Aug = {$: 'Aug'};
12272var $elm$time$Time$Dec = {$: 'Dec'};
12273var $elm$time$Time$Feb = {$: 'Feb'};
12274var $elm$time$Time$Jan = {$: 'Jan'};
12275var $elm$time$Time$Jul = {$: 'Jul'};
12276var $elm$time$Time$Jun = {$: 'Jun'};
12277var $elm$time$Time$Mar = {$: 'Mar'};
12278var $elm$time$Time$May = {$: 'May'};
12279var $elm$time$Time$Nov = {$: 'Nov'};
12280var $elm$time$Time$Oct = {$: 'Oct'};
12281var $elm$time$Time$Sep = {$: 'Sep'};
12282var $elm$time$Time$toMonth = F2(
12283 function (zone, time) {
12284 var _v0 = $elm$time$Time$toCivil(
12285 A2($elm$time$Time$toAdjustedMinutes, zone, time)).month;
12288 return $elm$time$Time$Jan;
12290 return $elm$time$Time$Feb;
12292 return $elm$time$Time$Mar;
12294 return $elm$time$Time$Apr;
12296 return $elm$time$Time$May;
12298 return $elm$time$Time$Jun;
12300 return $elm$time$Time$Jul;
12302 return $elm$time$Time$Aug;
12304 return $elm$time$Time$Sep;
12306 return $elm$time$Time$Oct;
12308 return $elm$time$Time$Nov;
12310 return $elm$time$Time$Dec;
12313var $elm$core$String$cons = _String_cons;
12314var $elm$core$String$fromChar = function (_char) {
12315 return A2($elm$core$String$cons, _char, '');
12317var $elm$core$Bitwise$and = _Bitwise_and;
12318var $elm$core$Bitwise$shiftRightBy = _Bitwise_shiftRightBy;
12319var $elm$core$String$repeatHelp = F3(
12320 function (n, chunk, result) {
12321 return (n <= 0) ? result : A3(
12322 $elm$core$String$repeatHelp,
12324 _Utils_ap(chunk, chunk),
12325 (!(n & 1)) ? result : _Utils_ap(result, chunk));
12327var $elm$core$String$repeat = F2(
12328 function (n, chunk) {
12329 return A3($elm$core$String$repeatHelp, n, chunk, '');
12331var $elm$core$String$padLeft = F3(
12332 function (n, _char, string) {
12335 $elm$core$String$repeat,
12336 n - $elm$core$String$length(string),
12337 $elm$core$String$fromChar(_char)),
12340var $rtfeldman$elm_iso8601_date_strings$Iso8601$toPaddedString = F2(
12341 function (digits, time) {
12343 $elm$core$String$padLeft,
12346 $elm$core$String$fromInt(time));
12348var $elm$time$Time$toSecond = F2(
12349 function (_v0, time) {
12351 $elm$core$Basics$modBy,
12354 $elm$time$Time$flooredDiv,
12355 $elm$time$Time$posixToMillis(time),
12358var $elm$time$Time$toYear = F2(
12359 function (zone, time) {
12360 return $elm$time$Time$toCivil(
12361 A2($elm$time$Time$toAdjustedMinutes, zone, time)).year;
12363var $rtfeldman$elm_iso8601_date_strings$Iso8601$fromTime = function (time) {
12365 $rtfeldman$elm_iso8601_date_strings$Iso8601$toPaddedString,
12367 A2($elm$time$Time$toYear, $elm$time$Time$utc, time)) + ('-' + (A2(
12368 $rtfeldman$elm_iso8601_date_strings$Iso8601$toPaddedString,
12370 $rtfeldman$elm_iso8601_date_strings$Iso8601$fromMonth(
12371 A2($elm$time$Time$toMonth, $elm$time$Time$utc, time))) + ('-' + (A2(
12372 $rtfeldman$elm_iso8601_date_strings$Iso8601$toPaddedString,
12374 A2($elm$time$Time$toDay, $elm$time$Time$utc, time)) + ('T' + (A2(
12375 $rtfeldman$elm_iso8601_date_strings$Iso8601$toPaddedString,
12377 A2($elm$time$Time$toHour, $elm$time$Time$utc, time)) + (':' + (A2(
12378 $rtfeldman$elm_iso8601_date_strings$Iso8601$toPaddedString,
12380 A2($elm$time$Time$toMinute, $elm$time$Time$utc, time)) + (':' + (A2(
12381 $rtfeldman$elm_iso8601_date_strings$Iso8601$toPaddedString,
12383 A2($elm$time$Time$toSecond, $elm$time$Time$utc, time)) + ('.' + (A2(
12384 $rtfeldman$elm_iso8601_date_strings$Iso8601$toPaddedString,
12386 A2($elm$time$Time$toMillis, $elm$time$Time$utc, time)) + 'Z'))))))))))));
12388var $elm$virtual_dom$VirtualDom$attribute = F2(
12389 function (key, value) {
12391 _VirtualDom_attribute,
12392 _VirtualDom_noOnOrFormAction(key),
12393 _VirtualDom_noJavaScriptOrHtmlUri(value));
12395var $elm$html$Html$Attributes$attribute = $elm$virtual_dom$VirtualDom$attribute;
12396var $elm$core$Dict$member = F2(
12397 function (key, dict) {
12398 var _v0 = A2($elm$core$Dict$get, key, dict);
12399 if (_v0.$ === 'Just') {
12405var $turboMaCk$any_dict$Dict$Any$member = F2(
12406 function (k, _v0) {
12407 var dict = _v0.a.dict;
12408 var toKey = _v0.a.toKey;
12410 $elm$core$Dict$member,
12414var $turboMaCk$any_set$Set$Any$member = F2(
12415 function (a, _v0) {
12417 return A2($turboMaCk$any_dict$Dict$Any$member, a, dict);
12419var $elm$virtual_dom$VirtualDom$MayStopPropagation = function (a) {
12420 return {$: 'MayStopPropagation', a: a};
12422var $elm$html$Html$Events$stopPropagationOn = F2(
12423 function (event, decoder) {
12425 $elm$virtual_dom$VirtualDom$on,
12427 $elm$virtual_dom$VirtualDom$MayStopPropagation(decoder));
12429var $elm_community$html_extra$Html$Events$Extra$onClickStopPropagation = function (msg) {
12431 $elm$html$Html$Events$stopPropagationOn,
12433 $elm$json$Json$Decode$succeed(
12434 _Utils_Tuple2(msg, true)));
12436var $elm$html$Html$span = _VirtualDom_node('span');
12437var $author$project$Html$Common$spanClass = $author$project$Html$Common$elClass($elm$html$Html$span);
12438var $elm$core$List$takeReverse = F3(
12439 function (n, list, kept) {
12450 var $temp$n = n - 1,
12452 $temp$kept = A2($elm$core$List$cons, x, kept);
12456 continue takeReverse;
12461var $elm$core$List$takeTailRec = F2(
12462 function (n, list) {
12463 return $elm$core$List$reverse(
12464 A3($elm$core$List$takeReverse, n, list, _List_Nil));
12466var $elm$core$List$takeFast = F3(
12467 function (ctr, n, list) {
12471 var _v0 = _Utils_Tuple2(n, list);
12488 return _List_fromArray(
12498 return _List_fromArray(
12504 if (_v0.b.b.b.b && _v0.b.b.b.b.b) {
12514 return (ctr > 1000) ? A2(
12515 $elm$core$List$cons,
12518 $elm$core$List$cons,
12521 $elm$core$List$cons,
12524 $elm$core$List$cons,
12526 A2($elm$core$List$takeTailRec, n - 4, tl))))) : A2(
12527 $elm$core$List$cons,
12530 $elm$core$List$cons,
12533 $elm$core$List$cons,
12536 $elm$core$List$cons,
12538 A3($elm$core$List$takeFast, ctr + 1, n - 4, tl)))));
12556 return _List_fromArray(
12560var $elm$core$List$take = F2(
12561 function (n, list) {
12562 return A3($elm$core$List$takeFast, 0, n, list);
12564var $author$project$Page$Deployment$ActionTable$overridesView = F5(
12565 function (openCmd, closeCmd, id, opened, overrides) {
12566 var visibleOverrides = A2($elm$core$List$take, 3, overrides);
12567 var overrideView = function (override) {
12569 $author$project$Html$Common$divClass,
12572 var _v0 = override.value;
12573 if (_v0.$ === 'ValueAdded') {
12575 return _List_fromArray(
12578 $author$project$Html$Common$spanClass,
12579 'key-default-pristine',
12582 $elm$html$Html$text(
12583 $author$project$Types$Override$unOverrideName(override.name) + ': ')
12586 $elm$html$Html$span,
12589 $elm$html$Html$Attributes$class('value-edited'),
12590 A2($elm$html$Html$Attributes$attribute, 'style', 'width:400px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;')
12594 $elm$html$Html$text(v)
12598 return _List_fromArray(
12601 $author$project$Html$Common$spanClass,
12605 $elm$html$Html$text(
12606 $author$project$Types$Override$unOverrideName(override.name) + ': ')
12608 A2($author$project$Html$Common$divClass, 'listing__placeholder listing__placeholder__value', _List_Nil)
12613 var buttonClass_ = F3(
12614 function (cls, msg, body) {
12616 $elm$html$Html$button,
12619 $elm$html$Html$Attributes$class(cls),
12620 $elm_community$html_extra$Html$Events$Extra$onClickStopPropagation(msg)
12625 $elm$core$List$length(overrides),
12626 $elm$core$List$length(visibleOverrides)) ? A2($elm$core$List$map, overrideView, overrides) : (A2($turboMaCk$any_set$Set$Any$member, id, opened) ? A2(
12627 $elm$core$List$append,
12628 A2($elm$core$List$map, overrideView, overrides),
12633 'expander listing__more expander--open',
12637 $elm$html$Html$text('Hide default configuration')
12640 $elm$core$List$append,
12641 A2($elm$core$List$map, overrideView, visibleOverrides),
12646 'expander listing__more',
12650 $elm$html$Html$text('Show full configuration')
12654var $elm$html$Html$td = _VirtualDom_node('td');
12655var $elm$html$Html$tr = _VirtualDom_node('tr');
12656var $author$project$Types$Action$unExitCode = function (_v0) {
12660var $author$project$Page$Deployment$ActionTable$logView = F2(
12661 function (model, log) {
12662 var name = function () {
12663 var _v0 = log.action;
12675 var exitCode = _List_fromArray(
12677 $elm$html$Html$text(
12678 $elm$core$String$fromInt(
12679 $author$project$Types$Action$unExitCode(log.exitCode)))
12681 var duration = _List_fromArray(
12683 $elm$html$Html$text(
12684 $elm$core$String$fromInt(
12685 $elm$core$Basics$round(log.duration.time)) + 's')
12687 var deploymentOverrides = _List_fromArray(
12690 $author$project$Html$Common$divClass,
12692 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))
12694 var appOverrides = _List_fromArray(
12697 $author$project$Html$Common$divClass,
12699 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))
12711 $elm$html$Html$text(name)
12713 A2($elm$html$Html$td, _List_Nil, deploymentOverrides),
12714 A2($elm$html$Html$td, _List_Nil, appOverrides),
12715 A2($elm$html$Html$td, _List_Nil, exitCode),
12721 $elm$html$Html$text(
12722 $rtfeldman$elm_iso8601_date_strings$Iso8601$fromTime(log.createdAt))
12724 A2($elm$html$Html$td, _List_Nil, duration)
12727var $elm$html$Html$tbody = _VirtualDom_node('tbody');
12728var $author$project$Page$Deployment$ActionTable$tableDeploymentsView = F2(
12729 function (model, logs) {
12731 $elm$html$Html$tbody,
12734 $elm$core$List$map,
12735 $author$project$Page$Deployment$ActionTable$logView(model),
12738var $elm$html$Html$Attributes$colspan = function (n) {
12740 _VirtualDom_attribute,
12742 $elm$core$String$fromInt(n));
12744var $author$project$Html$Common$trClass = $author$project$Html$Common$elClass($elm$html$Html$tr);
12745var $author$project$Page$Deployment$ActionTable$tableFailureView = A2(
12746 $elm$html$Html$tbody,
12751 $author$project$Html$Common$trClass,
12759 $elm$html$Html$Attributes$colspan(8)
12764 $author$project$Html$Common$divClass,
12769 $author$project$Html$Common$bClass,
12773 $elm$html$Html$text('Cannot retrieve the data')
12776 $author$project$Html$Common$divClass,
12780 $elm$html$Html$text('Try to reload page')
12786var $author$project$Page$Deployment$ActionTable$tableLoadingView = A2(
12787 $elm$html$Html$tbody,
12792 $author$project$Html$Common$trClass,
12800 $elm$html$Html$Attributes$colspan(8)
12805 $author$project$Html$Common$divClass,
12806 'loading loading--enlarged loading--alternate',
12809 $elm$html$Html$text('Loading...')
12814var $author$project$Page$Deployment$ActionTable$tablePrimaryBodyView = F2(
12815 function (model, deployments) {
12816 switch (deployments.$) {
12818 var d = deployments.a;
12820 $author$project$Page$Deployment$ActionTable$tableDeploymentsView,
12823 $elm$core$List$concatMap,
12829 return $author$project$Page$Deployment$ActionTable$tableFailureView;
12831 return $author$project$Page$Deployment$ActionTable$tableLoadingView;
12834var $elm$html$Html$th = _VirtualDom_node('th');
12835var $elm$html$Html$thead = _VirtualDom_node('thead');
12836var $author$project$Page$Deployment$ActionTable$tablePrimaryHeaderView = function () {
12837 var simpleTh = function (txt) {
12843 $elm$html$Html$text(txt)
12847 $elm$html$Html$thead,
12856 simpleTh('Action Type'),
12857 simpleTh('Deployment configuration'),
12858 simpleTh('App configuration'),
12859 simpleTh('Exit code'),
12860 simpleTh('Created'),
12861 simpleTh('Deployment duration')
12865var $author$project$Page$Deployment$ActionTable$view = F2(
12866 function (model, logs) {
12868 $author$project$Html$Common$divClass,
12869 'table table--actions',
12873 $elm$html$Html$table,
12877 $author$project$Page$Deployment$ActionTable$tablePrimaryHeaderView,
12878 A2($author$project$Page$Deployment$ActionTable$tablePrimaryBodyView, model, logs)
12882var $author$project$Page$Deployment$actionsView = function (model) {
12884 $author$project$Html$Common$divClass,
12885 'deployment__section',
12889 $author$project$Html$Common$h3Class,
12890 'deployment__sub-heading',
12893 $elm$html$Html$text('Actions')
12896 $author$project$Html$Common$divClass,
12897 'deployment__widget',
12901 $elm$html$Html$map,
12902 $author$project$Page$Deployment$ActionMsg,
12903 A2($author$project$Page$Deployment$ActionTable$view, model.actionTable, model.logs))
12907var $author$project$Page$Deployment$deploymentLinksView = F2(
12908 function (_v0, deployment) {
12909 var link = function (m) {
12911 $author$project$Html$Common$aClassHrefExternal,
12912 'listing__item external bar bar--larger',
12916 $elm$html$Html$text(m.name)
12920 $author$project$Html$Common$divClass,
12921 'deployment__section',
12925 $author$project$Html$Common$h3Class,
12926 'deployment__sub-heading',
12929 $elm$html$Html$text('Links')
12932 $author$project$Html$Common$divClass,
12933 'deployment__widget',
12937 $author$project$Html$Common$divClass,
12939 A2($elm$core$List$map, link, deployment.metadata))
12943var $author$project$Html$Common$dateView = F2(
12944 function (zone, time) {
12945 var year = $elm$core$String$fromInt(
12946 A2($elm$time$Time$toYear, zone, time));
12947 var toMonth = function (month_) {
12948 switch (month_.$) {
12975 var month = toMonth(
12976 A2($elm$time$Time$toMonth, zone, time));
12978 $elm$core$String$padLeft,
12981 $elm$core$String$fromInt(
12982 A2($elm$time$Time$toDay, zone, time)));
12983 return $elm$html$Html$text(
12985 $elm$core$String$join,
12988 [year, month, day])));
12990var $author$project$Page$Deployment$deploymentSummaryView = F2(
12991 function (model, deployment) {
12992 var statusView = function () {
12993 var _v0 = deployment.status;
12994 if (_v0.$ === 'DeploymentPending') {
12996 $author$project$Html$Common$divClass,
12997 'status status--pending',
13000 $elm$html$Html$text('Pending...')
13007 $author$project$Html$Common$divClass,
13008 'status status--success',
13011 $elm$html$Html$text('Running')
13015 $author$project$Html$Common$divClass,
13016 'status status--failure',
13019 $elm$html$Html$text('Failure')
13021 case 'CreatePending':
13024 $author$project$Html$Common$divClass,
13025 'loading loading--status-alike',
13028 $elm$html$Html$text('Creating...')
13030 case 'UpdatePending':
13033 $author$project$Html$Common$divClass,
13034 'loading loading--status-alike',
13037 $elm$html$Html$text('Updating...')
13039 case 'ArchivePending':
13042 $author$project$Html$Common$divClass,
13043 'loading loading--status-alike',
13046 $elm$html$Html$text('Archiving...')
13051 $author$project$Html$Common$divClass,
13052 'status status--archived',
13055 $elm$html$Html$text('Archived')
13060 $author$project$Html$Common$divClass,
13061 'status status--failure',
13064 $elm$html$Html$text('Cleanup failed (contact admin)')
13070 $author$project$Html$Common$divClass,
13071 'deployment__summary',
13075 $author$project$Html$Common$divClass,
13076 'deployment__stat',
13080 $author$project$Html$Common$bClass,
13081 'deployment__param',
13084 $elm$html$Html$text('Status')
13087 $author$project$Html$Common$divClass,
13088 'deployment__value',
13093 $author$project$Html$Common$divClass,
13094 'deployment__stat',
13098 $author$project$Html$Common$bClass,
13099 'deployment__param',
13102 $elm$html$Html$text('Created')
13105 $author$project$Html$Common$divClass,
13106 'deployment__value',
13109 A2($author$project$Html$Common$dateView, model.settings.zone, deployment.createdAt)
13113 $author$project$Html$Common$divClass,
13114 'deployment__stat',
13118 $author$project$Html$Common$bClass,
13119 'deployment__param',
13122 $elm$html$Html$text('Changed')
13125 $author$project$Html$Common$divClass,
13126 'deployment__value',
13129 A2($author$project$Html$Common$dateView, model.settings.zone, deployment.updatedAt)
13134var $author$project$Html$Overrides$overridesSectionLoading = function (mode) {
13135 var rowLoader = A2(
13136 $author$project$Html$Common$divClass,
13137 'editable-row loader',
13140 A2($author$project$Html$Common$divClass, 'editable-row__placeholder', _List_Nil),
13141 A2($author$project$Html$Common$divClass, 'editable-row__placeholder', _List_Nil),
13142 A2($author$project$Html$Common$divClass, 'overrides__delete spot spot--loader', _List_Nil)
13144 var addBtn = function () {
13145 if (mode.$ === 'Read') {
13148 return _List_fromArray(
13151 $author$project$Html$Common$divClass,
13156 $elm$html$Html$button,
13159 $elm$html$Html$Attributes$class('dash--disabled dash dash--add overrides__add'),
13160 $elm$html$Html$Attributes$disabled(true)
13164 $elm$html$Html$text('Add an override')
13171 $author$project$Html$Common$divClass,
13172 'deployment__widget',
13176 [rowLoader, rowLoader, rowLoader])));
13178var $author$project$Html$Overrides$AddOverride = {$: 'AddOverride'};
13179var $elm$core$Dict$filter = F2(
13180 function (isGood, dict) {
13182 $elm$core$Dict$foldl,
13184 function (k, v, d) {
13185 return A2(isGood, k, v) ? A3($elm$core$Dict$insert, k, v, d) : d;
13187 $elm$core$Dict$empty,
13190var $elm$core$Dict$isEmpty = function (dict) {
13191 if (dict.$ === 'RBEmpty_elm_builtin') {
13197var $elm$core$Set$member = F2(
13198 function (key, _v0) {
13200 return A2($elm$core$Dict$member, key, dict);
13202var $author$project$Html$Overrides$DeleteOverride = function (a) {
13203 return {$: 'DeleteOverride', a: a};
13205var $author$project$Html$Overrides$RestoreOverride = function (a) {
13206 return {$: 'RestoreOverride', a: a};
13208var $author$project$Html$Overrides$EditOverrideName = F2(
13210 return {$: 'EditOverrideName', a: a, b: b};
13212var $author$project$Html$Overrides$HideAutocomplete = {$: 'HideAutocomplete'};
13213var $author$project$Html$Overrides$ShowAutocomplete = function (a) {
13214 return {$: 'ShowAutocomplete', a: a};
13216var $elm$html$Html$input = _VirtualDom_node('input');
13217var $elm$html$Html$li = _VirtualDom_node('li');
13218var $elm$html$Html$Events$onBlur = function (msg) {
13220 $elm$html$Html$Events$on,
13222 $elm$json$Json$Decode$succeed(msg));
13224var $elm$html$Html$Events$onFocus = function (msg) {
13226 $elm$html$Html$Events$on,
13228 $elm$json$Json$Decode$succeed(msg));
13230var $elm$html$Html$Events$alwaysStop = function (x) {
13231 return _Utils_Tuple2(x, true);
13233var $elm$html$Html$Events$targetValue = A2(
13234 $elm$json$Json$Decode$at,
13236 ['target', 'value']),
13237 $elm$json$Json$Decode$string);
13238var $elm$html$Html$Events$onInput = function (tagger) {
13240 $elm$html$Html$Events$stopPropagationOn,
13243 $elm$json$Json$Decode$map,
13244 $elm$html$Html$Events$alwaysStop,
13245 A2($elm$json$Json$Decode$map, tagger, $elm$html$Html$Events$targetValue)));
13247var $elm$html$Html$Events$onMouseDown = function (msg) {
13249 $elm$html$Html$Events$on,
13251 $elm$json$Json$Decode$succeed(msg));
13253var $elm$html$Html$Attributes$placeholder = $elm$html$Html$Attributes$stringProperty('placeholder');
13254var $elm$html$Html$Attributes$spellcheck = $elm$html$Html$Attributes$boolProperty('spellcheck');
13255var $elm$html$Html$Attributes$type_ = $elm$html$Html$Attributes$stringProperty('type');
13256var $elm$html$Html$ul = _VirtualDom_node('ul');
13257var $author$project$Html$Common$ulClass = $author$project$Html$Common$elClass($elm$html$Html$ul);
13258var $elm$html$Html$Attributes$value = $elm$html$Html$Attributes$stringProperty('value');
13259var $author$project$Html$Overrides$overrideNameWriteView = F6(
13260 function (model, inputClass, deleted, overrideName, keys, ix) {
13261 var suggestions = A2(
13262 $elm$core$List$filter,
13264 $elm$core$Basics$composeR,
13265 $author$project$Types$Override$unOverrideName,
13266 $elm$core$String$startsWith(overrideName)),
13268 var suggestionItem = function (suggestion) {
13273 $elm$html$Html$Attributes$class('input__suggest'),
13274 $elm$html$Html$Events$onMouseDown(
13276 $author$project$Html$Overrides$EditOverrideName,
13278 $author$project$Types$Override$unOverrideName(suggestion)))
13287 $elm$html$Html$text(overrideName)
13289 $elm$html$Html$text(
13291 $elm$core$String$dropLeft,
13292 $elm$core$String$length(overrideName),
13293 $author$project$Types$Override$unOverrideName(suggestion)))
13296 var suggestionsView = function () {
13297 var _v0 = model.autocomplete;
13298 if (_v0.$ === 'Nothing') {
13302 return (_Utils_eq(ax, ix) && ($elm$core$List$length(suggestions) > 0)) ? _List_fromArray(
13305 $author$project$Html$Common$ulClass,
13307 A2($elm$core$List$map, suggestionItem, suggestions))
13311 var nameClass = 'editable-row__value input' + (deleted ? ' input--deleted' : '');
13312 var inputName = A2(
13313 $elm$html$Html$input,
13316 $elm$html$Html$Attributes$class(inputClass),
13317 $elm$html$Html$Attributes$placeholder('value'),
13318 $elm$html$Html$Attributes$spellcheck(false),
13319 $elm$html$Html$Attributes$type_('text'),
13320 $elm$html$Html$Attributes$value(overrideName),
13321 $elm$html$Html$Attributes$disabled(deleted),
13322 $elm$html$Html$Events$onInput(
13323 $author$project$Html$Overrides$EditOverrideName(ix)),
13324 $elm$html$Html$Events$onFocus(
13325 $author$project$Html$Overrides$ShowAutocomplete(ix)),
13326 $elm$html$Html$Events$onBlur($author$project$Html$Overrides$HideAutocomplete)
13330 $author$project$Html$Common$divClass,
13332 A2($elm$core$List$cons, inputName, suggestionsView));
13334var $author$project$Html$Overrides$EditOverrideValue = F2(
13336 return {$: 'EditOverrideValue', a: a, b: b};
13338var $author$project$Html$Overrides$overrideValueWriteView = F5(
13339 function (_v0, inputClass, deleted, overrideValue, ix) {
13340 var valueClass = 'editable-row__value input' + (deleted ? ' input--deleted' : '');
13341 var valueClass_ = ((!deleted) && (overrideValue === '')) ? (valueClass + ' input--error') : valueClass;
13343 $author$project$Html$Common$divClass,
13346 $elm$core$List$cons,
13348 $elm$html$Html$input,
13351 $elm$html$Html$Attributes$class(inputClass),
13352 $elm$html$Html$Attributes$placeholder('value'),
13353 $elm$html$Html$Attributes$spellcheck(false),
13354 $elm$html$Html$Attributes$type_('text'),
13355 $elm$html$Html$Attributes$disabled(deleted),
13356 $elm$html$Html$Attributes$value(overrideValue),
13357 $elm$html$Html$Events$onInput(
13358 $author$project$Html$Overrides$EditOverrideValue(ix))
13361 ((!deleted) && (overrideValue === '')) ? _List_fromArray(
13364 $author$project$Html$Common$divClass,
13368 $elm$html$Html$text('Value can not be empty')
13372var $author$project$Html$Overrides$overrideWriteView = F7(
13373 function (nameInputClass, valueInputClass, deleted, model, nameInput, valueInput, ix) {
13374 var _v0 = deleted ? _Utils_Tuple2(
13375 'editable-row__delete spot spot--undo',
13376 $author$project$Html$Overrides$RestoreOverride(ix)) : _Utils_Tuple2(
13377 'editable-row__delete spot spot--cancel',
13378 $author$project$Html$Overrides$DeleteOverride(ix));
13379 var btnClass = _v0.a;
13380 var btnMsg = _v0.b;
13382 $author$project$Html$Common$divClass,
13387 $author$project$Html$Common$divClass,
13391 A6($author$project$Html$Overrides$overrideNameWriteView, model, nameInputClass, deleted, nameInput, model.keys, ix),
13392 A5($author$project$Html$Overrides$overrideValueWriteView, model, valueInputClass, deleted, valueInput, ix),
13393 A3($author$project$Html$Common$buttonClass, btnClass, btnMsg, _List_Nil)
13397var $author$project$Html$Overrides$defaultOverrideWriteView = A3($author$project$Html$Overrides$overrideWriteView, 'input__widget key-default-pristine', 'input__widget value-pristine', false);
13398var $author$project$Html$Overrides$deletedOverrideWriteView = A3($author$project$Html$Overrides$overrideWriteView, 'input__widget key-deleted', 'input__widget value-deleted', true);
13399var $author$project$Html$Overrides$editedOverrideWriteView = A3($author$project$Html$Overrides$overrideWriteView, 'input__widget key-default-edited', 'input__widget value-edited', false);
13400var $author$project$Html$Overrides$newOverrideWriteView = A3($author$project$Html$Overrides$overrideWriteView, 'input__widget key-custom-pristine', 'input__widget value-edited', false);
13401var $author$project$Html$Overrides$overrideWriteWrapper = F3(
13402 function (model, ix, wrapped) {
13403 var _v0 = function () {
13404 if (wrapped.$ === 'DefaultOverride') {
13405 var override = wrapped.a;
13406 return _Utils_Tuple3($author$project$Html$Overrides$defaultOverrideWriteView, override.name, override.value);
13408 var override = wrapped.a;
13409 var _v2 = override.status;
13412 return _Utils_Tuple3($author$project$Html$Overrides$editedOverrideWriteView, override.name, override.value);
13414 return _Utils_Tuple3($author$project$Html$Overrides$deletedOverrideWriteView, override.name, override.value);
13416 return _Utils_Tuple3($author$project$Html$Overrides$newOverrideWriteView, override.name, override.value);
13420 var viewer = _v0.a;
13421 var overrideName = _v0.b;
13422 var overrideValue = _v0.c;
13426 $author$project$Types$Override$unOverrideName(overrideName),
13430var $elm$core$List$sortBy = _List_sortBy;
13431var $author$project$Html$Overrides$newOverridesView = F2(
13432 function (model, overrides) {
13433 var overridesSorted = $elm$core$List$reverse(
13435 $elm$core$List$sortBy,
13440 $elm$core$Dict$toList(overrides)));
13441 var newOverrideWriteView_ = function (_v1) {
13443 var override = _v1.b;
13445 $author$project$Html$Overrides$overrideWriteWrapper,
13448 $author$project$Html$Overrides$NonOverrideWithDefault(override));
13450 var _v0 = model.mode;
13451 if (_v0.$ === 'Write') {
13452 return A2($elm$core$List$map, newOverrideWriteView_, overridesSorted);
13457var $elm_community$list_extra$List$Extra$inits = A2(
13458 $elm$core$List$foldr,
13460 function (e, acc) {
13462 $elm$core$List$cons,
13465 $elm$core$List$map,
13466 $elm$core$List$cons(e),
13471var $author$project$Html$Overrides$isDefautOverride = function (w) {
13472 if (w.$ === 'DefaultOverride') {
13478var $author$project$Html$Overrides$CloseName = function (a) {
13479 return {$: 'CloseName', a: a};
13481var $author$project$Html$Overrides$OpenName = function (a) {
13482 return {$: 'OpenName', a: a};
13484var $author$project$Html$Overrides$overrideReadView = F4(
13485 function (nameClass, valueClass, nameInput, valueInput) {
13487 $author$project$Html$Common$divClass,
13492 $author$project$Html$Common$spanClass,
13496 $elm$html$Html$text(nameInput + ': ')
13499 $author$project$Html$Common$spanClass,
13503 $elm$html$Html$text(valueInput)
13507var $author$project$Html$Overrides$defaultOverrideReadView = A2($author$project$Html$Overrides$overrideReadView, 'key-default-pristine', 'value-pristine');
13508var $author$project$Html$Overrides$deletedOverrideReadView = A2($author$project$Html$Overrides$overrideReadView, 'key-deleted', 'value-deleted');
13509var $author$project$Html$Overrides$editedOverrideReadView = A2($author$project$Html$Overrides$overrideReadView, 'key-default-edited', 'value-edited');
13510var $author$project$Html$Overrides$newOverrideReadView = A2($author$project$Html$Overrides$overrideReadView, 'key-custom-edited', 'value-edited');
13511var $author$project$Html$Overrides$overrideReadWrapper = function (wrapped) {
13512 if (wrapped.$ === 'DefaultOverride') {
13513 var override = wrapped.a;
13515 $author$project$Html$Overrides$defaultOverrideReadView,
13516 $author$project$Types$Override$unOverrideName(override.name),
13519 var override = wrapped.a;
13520 var _v1 = override.status;
13524 $author$project$Html$Overrides$editedOverrideReadView,
13525 $author$project$Types$Override$unOverrideName(override.name),
13529 $author$project$Html$Overrides$deletedOverrideReadView,
13530 $author$project$Types$Override$unOverrideName(override.name),
13534 $author$project$Html$Overrides$newOverrideReadView,
13535 $author$project$Types$Override$unOverrideName(override.name),
13540var $author$project$Html$Overrides$treeOverrideView = F5(
13541 function (model, treeData, editedNames, piecies, treeSchema) {
13542 if (treeSchema.$ === 'Node') {
13543 if ((treeSchema.b.b && (treeSchema.b.a.$ === 'Leaf')) && (!treeSchema.b.b.b)) {
13544 var _v1 = treeSchema.b;
13546 var _v2 = _Utils_Tuple2(
13548 A2($elm$core$Dict$get, ix, treeData));
13551 if (_v2.a.$ === 'Write') {
13552 if (_v2.b.$ === 'Just') {
13554 var override = _v2.b.a;
13555 return A3($author$project$Html$Overrides$overrideWriteWrapper, model, ix, override);
13560 if (_v2.b.$ === 'Just') {
13562 var override = _v2.b.a;
13563 return $author$project$Html$Overrides$overrideReadWrapper(override);
13569 return A2($elm$html$Html$div, _List_Nil, _List_Nil);
13571 var piece = treeSchema.a;
13572 var cs = treeSchema.b;
13574 $elm$core$Set$member,
13575 A2($elm$core$List$cons, piece, piecies),
13576 editedNames) ? 'collapse__head collapse__head--has-changes' : 'collapse__head';
13578 $elm$core$Set$member,
13579 A2($elm$core$List$cons, piece, piecies),
13580 model.openedNames) ? A2(
13581 $author$project$Html$Common$divClass,
13582 'collapse--project collapse collapse--expanded',
13586 $author$project$Html$Common$buttonClass,
13588 $author$project$Html$Overrides$CloseName(
13589 A2($elm$core$List$cons, piece, piecies)),
13592 $elm$html$Html$text(piece)
13595 $author$project$Html$Common$divClass,
13598 $elm$core$List$map,
13600 $author$project$Html$Overrides$treeOverrideView,
13604 A2($elm$core$List$cons, piece, piecies)),
13607 $author$project$Html$Common$divClass,
13608 'collapse--project collapse',
13612 $author$project$Html$Common$buttonClass,
13614 $author$project$Html$Overrides$OpenName(
13615 A2($elm$core$List$cons, piece, piecies)),
13618 $elm$html$Html$text(piece)
13620 A2($author$project$Html$Common$divClass, 'collapse__inner', _List_Nil)
13624 return A2($elm$html$Html$div, _List_Nil, _List_Nil);
13627var $author$project$Html$Overrides$overridesLevelView = function (model) {
13628 var treeData = A2($author$project$Html$Overrides$mkWrappedOverride, model.defaultOverrides, model.editedOverrides);
13629 var editedNames = $elm$core$Set$fromList(
13630 $elm$core$List$concat(
13632 $elm$core$List$map,
13634 $elm$core$Basics$composeR,
13635 $elm$core$Tuple$second,
13637 $elm$core$Basics$composeR,
13638 $author$project$Html$Overrides$getWrappedName,
13640 $elm$core$Basics$composeR,
13641 $author$project$Types$Override$unOverrideName,
13643 $elm$core$Basics$composeR,
13644 $elm$core$String$split('.'),
13646 $elm$core$Basics$composeR,
13647 $elm_community$list_extra$List$Extra$inits,
13648 $elm$core$List$map($elm$core$List$reverse)))))),
13650 $elm$core$List$filter,
13652 $elm$core$Basics$composeR,
13653 $elm$core$Tuple$second,
13654 A2($elm$core$Basics$composeR, $author$project$Html$Overrides$isDefautOverride, $elm$core$Basics$not)),
13655 $elm$core$Dict$toList(treeData)))));
13657 $elm$core$List$map,
13658 A4($author$project$Html$Overrides$treeOverrideView, model, treeData, editedNames, _List_Nil),
13661var $author$project$Tree$values = function (t) {
13662 if (t.$ === 'Node') {
13664 return $elm$core$List$concat(
13665 A2($elm$core$List$map, $author$project$Tree$values, cs));
13668 return _List_fromArray(
13672var $author$project$Html$Overrides$overridesSectionData = function (model) {
13673 var treeIds = $elm$core$Set$fromList(
13674 A2($elm$core$List$concatMap, $author$project$Tree$values, model.treeSchema));
13675 var newOverrides = A2(
13676 $elm$core$Dict$filter,
13678 function (id, _v2) {
13679 return !A2($elm$core$Set$member, id, treeIds);
13681 model.editedOverrides);
13682 var isEmptyOverride = F2(
13683 function (_v1, v) {
13684 return v.value === '';
13686 var hasEmptyOverrides = function (overrides) {
13688 $elm$core$Basics$composeR,
13689 $elm$core$Dict$isEmpty,
13690 $elm$core$Basics$not,
13691 A2($elm$core$Dict$filter, isEmptyOverride, overrides));
13693 var addButton = function () {
13694 var _v0 = model.mode;
13695 if (_v0.$ === 'Write') {
13696 return _List_fromArray(
13698 hasEmptyOverrides(newOverrides) ? A2(
13699 $elm$html$Html$button,
13702 $elm$html$Html$Attributes$class('dash--disabled dash dash--add overrides__add'),
13703 $elm$html$Html$Attributes$disabled(true)
13707 $elm$html$Html$text('Add an override')
13709 $author$project$Html$Common$buttonClass,
13710 'dash dash--add overrides__add',
13711 $author$project$Html$Overrides$AddOverride,
13714 $elm$html$Html$text('Add an override')
13722 $author$project$Html$Common$divClass,
13723 'deployment__widget',
13727 $author$project$Html$Common$divClass,
13732 A2($author$project$Html$Overrides$newOverridesView, model, newOverrides),
13733 $author$project$Html$Overrides$overridesLevelView(model))))
13736var $author$project$Html$Overrides$view = function (model) {
13738 $author$project$Html$Common$divClass,
13739 'deployment__section',
13743 $author$project$Html$Common$h3Class,
13744 'deployment__sub-heading',
13747 $elm$html$Html$text(model.name)
13749 $author$project$Html$Overrides$overridesSectionData(model)
13752var $author$project$Page$Deployment$overridesView = F2(
13753 function (overrides, mapper) {
13755 $elm$html$Html$map,
13758 if (overrides.$ === 'Success') {
13759 var x = overrides.a;
13760 return $author$project$Html$Overrides$view(x);
13762 return $author$project$Html$Overrides$overridesSectionLoading($author$project$Html$Overrides$Read);
13766var $author$project$Page$Deployment$deploymentView = F2(
13767 function (model, deployment) {
13769 $author$project$Html$Common$divClass,
13773 A2($author$project$Page$Deployment$deploymentSummaryView, model, deployment),
13774 A2($author$project$Page$Deployment$deploymentLinksView, model, deployment),
13775 A2($author$project$Page$Deployment$overridesView, model.deploymentOverrides, $author$project$Page$Deployment$DeploymentOverridesMsg),
13776 A2($author$project$Page$Deployment$overridesView, model.appOverrides, $author$project$Page$Deployment$AppOverridesMsg),
13777 $author$project$Page$Deployment$actionsView(model)
13780var $author$project$Page$Deployment$failureDeploymentView = function (model) {
13782 $author$project$Html$Common$divClass,
13787 $author$project$Html$Common$divClass,
13792 $author$project$Html$Common$divClass,
13797 $author$project$Html$Common$bClass,
13801 $elm$html$Html$text('Cannot retrieve the data'),
13803 $author$project$Html$Common$divClass,
13807 $elm$html$Html$text('Try to reload page')
13814var $author$project$Page$Deployment$loadingDeploymentView = function (model) {
13816 $author$project$Html$Common$divClass,
13821 $author$project$Html$Common$divClass,
13822 'loading loading--enlarged loading--alternate',
13825 $elm$html$Html$text('Loading ...')
13829var $author$project$Page$Deployment$pageBodyView = function (model) {
13831 $author$project$Html$Common$divClass,
13836 var _v0 = model.deployment;
13839 var deployment = _v0.a;
13840 return A2($author$project$Page$Deployment$deploymentView, model, deployment);
13842 return $author$project$Page$Deployment$failureDeploymentView(model);
13844 return $author$project$Page$Deployment$loadingDeploymentView(model);
13849var $author$project$Page$Deployment$pageWrapper = function (body) {
13851 $author$project$Html$Common$divClass,
13855 A2($author$project$Html$Common$divClass, 'page__wrap container', body)
13858var $author$project$Page$Deployment$pageView = function (model) {
13859 return $author$project$Page$Deployment$pageWrapper(
13862 $author$project$Page$Deployment$backButton,
13863 $author$project$Page$Deployment$deploymentHeaderView(model),
13864 $author$project$Page$Deployment$pageBodyView(model)
13867var $author$project$Page$Sidebar$CreateUpdate$NameInput = function (a) {
13868 return {$: 'NameInput', a: a};
13870var $author$project$Page$Sidebar$CreateUpdate$hasEmptyName = function (model) {
13871 var nameLength = $elm$core$String$length(
13872 $author$project$Types$Deployment$unDeploymentName(model.name));
13873 return (nameLength < 2) || (nameLength > 17);
13875var $author$project$Page$Sidebar$CreateUpdate$nameSection = function (model) {
13876 var nameError = model.nameEdited && $author$project$Page$Sidebar$CreateUpdate$hasEmptyName(model);
13877 var inputClass = nameError ? 'input input--error' : 'input';
13878 var errorMessage = nameError ? _List_fromArray(
13881 $author$project$Html$Common$divClass,
13885 $elm$html$Html$text('Deployment name length should be longer than 2 characters and under 17 characters and begin with a letter.')
13889 $author$project$Html$Common$divClass,
13890 'deployment__section',
13894 $author$project$Html$Common$h3Class,
13895 'deployment__sub-heading',
13898 $elm$html$Html$text('Name')
13901 $author$project$Html$Common$divClass,
13902 'deployment__widget',
13904 $elm$core$List$cons,
13906 $author$project$Html$Common$divClass,
13911 $elm$html$Html$input,
13914 $elm$html$Html$Attributes$class('input__widget tag'),
13915 $elm$html$Html$Attributes$type_('text'),
13916 $elm$html$Html$Attributes$placeholder('Name'),
13917 $elm$html$Html$Attributes$value(
13918 $author$project$Types$Deployment$unDeploymentName(model.name)),
13919 $elm$html$Html$Events$onInput($author$project$Page$Sidebar$CreateUpdate$NameInput)
13926var $author$project$Page$Sidebar$CreateUpdate$overridesView = F2(
13927 function (overrides, mapper) {
13929 $elm$html$Html$map,
13932 if (overrides.$ === 'Success') {
13933 var x = overrides.a;
13934 return $author$project$Html$Overrides$view(x);
13936 return $author$project$Html$Overrides$overridesSectionLoading($author$project$Html$Overrides$Write);
13940var $author$project$Page$Sidebar$CreateUpdate$sidebarContent = function (model) {
13941 var errorViewer = function (msg) {
13942 return _List_fromArray(
13945 $author$project$Html$Common$divClass,
13946 'deployment__output notification notification--danger',
13949 $elm$html$Html$text(msg)
13953 var errorText = function () {
13954 var _v0 = model.saveResp;
13955 if (_v0.$ === 'Failure') {
13956 if (_v0.a.$ === 'BadStatus') {
13959 return $elm$core$Maybe$Just(msg);
13961 return $elm$core$Maybe$Just('Something went wrong');
13964 return $elm$core$Maybe$Nothing;
13967 var errorView = A2(
13968 $elm$core$Maybe$withDefault,
13970 A2($elm$core$Maybe$map, errorViewer, errorText));
13972 $author$project$Html$Common$divClass,
13977 $author$project$Html$Common$divClass,
13983 $author$project$Page$Sidebar$CreateUpdate$nameSection(model),
13984 A2($author$project$Page$Sidebar$CreateUpdate$overridesView, model.deploymentOverrides, $author$project$Page$Sidebar$CreateUpdate$DeploymentOverridesMsg),
13985 A2($author$project$Page$Sidebar$CreateUpdate$overridesView, model.appOverrides, $author$project$Page$Sidebar$CreateUpdate$AppOverridesMsg)
13989var $author$project$Page$Sidebar$CreateUpdate$Close = {$: 'Close'};
13990var $author$project$Page$Sidebar$CreateUpdate$Save = {$: 'Save'};
13991var $elm$html$Html$h2 = _VirtualDom_node('h2');
13992var $author$project$Html$Common$h2Class = $author$project$Html$Common$elClass($elm$html$Html$h2);
13993var $elm$core$List$isEmpty = function (xs) {
14000var $author$project$Html$Overrides$hasEmptyValues = function (model) {
14002 $elm$core$Basics$composeR,
14003 $elm$core$List$isEmpty,
14004 $elm$core$Basics$not,
14006 $elm$core$List$filter,
14008 return v.value === '';
14010 $author$project$Html$Overrides$getFullOverrides(model)));
14012var $author$project$Page$Sidebar$CreateUpdate$hasEmptyValues = function (model) {
14013 var _v0 = _Utils_Tuple2(model.appOverrides, model.deploymentOverrides);
14014 if ((_v0.a.$ === 'Success') && (_v0.b.$ === 'Success')) {
14015 var appOverrides = _v0.a.a;
14016 var deploymentOverrides = _v0.b.a;
14017 return $author$project$Html$Overrides$hasEmptyValues(appOverrides) || ($author$project$Html$Overrides$hasEmptyValues(deploymentOverrides) || $author$project$Page$Sidebar$CreateUpdate$hasEmptyName(model));
14022var $author$project$Page$Sidebar$CreateUpdate$sidebarHeader = function (model) {
14023 var button = function () {
14024 var _v1 = _Utils_Tuple2(
14026 $author$project$Page$Sidebar$CreateUpdate$hasEmptyValues(model));
14039 $elm$html$Html$button,
14042 $elm$html$Html$Attributes$class('button--disabled button button--save popup__action'),
14043 $elm$html$Html$Attributes$disabled(true)
14047 $elm$html$Html$text('Save')
14058 $author$project$Html$Common$buttonClass,
14059 'button button--save popup__action',
14060 $author$project$Page$Sidebar$CreateUpdate$Save,
14063 $elm$html$Html$text('Save')
14068 return A2($elm$html$Html$div, _List_Nil, _List_Nil);
14072 $elm$html$Html$button,
14075 $elm$html$Html$Attributes$class('popup__action button button--save-loading'),
14076 $elm$html$Html$Attributes$disabled(true)
14080 $elm$html$Html$text('Save')
14084 $author$project$Html$Common$divClass,
14088 A3($author$project$Html$Common$buttonClass, 'popup__close', $author$project$Page$Sidebar$CreateUpdate$Close, _List_Nil),
14090 $author$project$Html$Common$h2Class,
14094 $elm$html$Html$text(
14096 var _v0 = model.mode;
14097 if (_v0.$ === 'Create') {
14098 return 'Create new deployment';
14100 return 'Update deployment';
14105 $author$project$Html$Common$divClass,
14106 'popup__operations',
14109 A2($author$project$Html$Common$divClass, 'popup__menu drop drop--actions', _List_Nil)
14112var $author$project$Page$Sidebar$CreateUpdate$view = function (model) {
14113 return model.visibility ? _List_fromArray(
14116 $author$project$Html$Common$divClass,
14117 'popup popup--visible',
14121 $elm$html$Html$div,
14124 A2($elm$html$Html$Attributes$attribute, 'aria-hidden', 'true'),
14125 $elm$html$Html$Attributes$class('popup__overlay')
14129 $author$project$Html$Common$divClass,
14133 $author$project$Page$Sidebar$CreateUpdate$sidebarHeader(model),
14134 $author$project$Page$Sidebar$CreateUpdate$sidebarContent(model)
14139var $author$project$Page$Deployment$view = function (model) {
14141 content: _Utils_ap(
14143 $elm$core$List$cons,
14144 $author$project$Page$Deployment$pageView(model),
14146 $elm$core$List$map,
14147 $elm$html$Html$map($author$project$Page$Deployment$CreateSidebarMsg),
14148 $author$project$Page$Sidebar$CreateUpdate$view(model.sidebar))),
14150 var _v0 = model.archivePopup;
14151 if (_v0.$ === 'Nothing') {
14154 var deploymentName = _v0.a;
14155 return _List_fromArray(
14157 $author$project$Page$Deployment$archivePopupView(deploymentName)
14161 title: 'Deployments'
14164var $author$project$Page$Deployments$Table$CloseArchivePopup = {$: 'CloseArchivePopup'};
14165var $author$project$Page$Deployments$Table$DeleteDeploymentReq = function (a) {
14166 return {$: 'DeleteDeploymentReq', a: a};
14168var $author$project$Page$Deployments$Table$archivePopupView = function (deploymentName) {
14170 $elm$html$Html$div,
14173 $elm$html$Html$Attributes$class('classic-popup'),
14174 A2($elm$html$Html$Attributes$style, 'display', 'block')
14179 $author$project$Html$Common$divClass,
14180 'classic-popup__container',
14184 $author$project$Html$Common$divClass,
14185 'classic-popup__viewport',
14189 $author$project$Html$Common$divClass,
14190 'classic-popup__slot',
14194 $author$project$Html$Common$divClass,
14195 'dialog dialog--archive',
14199 $author$project$Html$Common$divClass,
14203 $elm$html$Html$text('Are you sure you want to archive the'),
14204 A2($elm$html$Html$br, _List_Nil, _List_Nil),
14205 $elm$html$Html$text(
14206 $author$project$Types$Deployment$unDeploymentName(deploymentName)),
14207 $elm$html$Html$text(' deployment?')
14210 $author$project$Html$Common$divClass,
14215 $author$project$Html$Common$buttonClass,
14216 'button dialog__action',
14217 $author$project$Page$Deployments$Table$DeleteDeploymentReq(deploymentName),
14220 $elm$html$Html$text('Archive')
14223 $author$project$Html$Common$buttonClass,
14224 'button dialog__action button--secondary',
14225 $author$project$Page$Deployments$Table$CloseArchivePopup,
14228 $elm$html$Html$text('Cancel')
14232 A3($author$project$Html$Common$buttonClass, 'classic-popup__close', $author$project$Page$Deployments$Table$CloseArchivePopup, _List_Nil)
14238var $author$project$Page$Deployments$Table$CloseAppOverrides = function (a) {
14239 return {$: 'CloseAppOverrides', a: a};
14241var $author$project$Page$Deployments$Table$CloseDeploymentOverrides = function (a) {
14242 return {$: 'CloseDeploymentOverrides', a: a};
14244var $author$project$Page$Deployments$Table$GoToDeployment = function (a) {
14245 return {$: 'GoToDeployment', a: a};
14247var $author$project$Page$Deployments$Table$OpenAppOverrides = function (a) {
14248 return {$: 'OpenAppOverrides', a: a};
14250var $author$project$Page$Deployments$Table$OpenArchivePopup = function (a) {
14251 return {$: 'OpenArchivePopup', a: a};
14253var $author$project$Page$Deployments$Table$OpenDeploymentOverrides = function (a) {
14254 return {$: 'OpenDeploymentOverrides', a: a};
14256var $author$project$Page$Deployments$Table$OpenMenu = function (a) {
14257 return {$: 'OpenMenu', a: a};
14259var $author$project$Page$Deployments$Table$RestoreDeploymentReq = function (a) {
14260 return {$: 'RestoreDeploymentReq', a: a};
14262var $author$project$Page$Deployments$Table$ShowEditSidebar = function (a) {
14263 return {$: 'ShowEditSidebar', a: a};
14265var $elm$html$Html$Attributes$id = $elm$html$Html$Attributes$stringProperty('id');
14266var $author$project$Page$Deployments$Table$overridesView = F5(
14267 function (openCmd, closeCmd, dName, opened, overrides) {
14268 var visibleOverrides = A2($elm$core$List$take, 3, overrides);
14269 var overrideView = function (override) {
14271 $author$project$Html$Common$divClass,
14274 var _v0 = override.value;
14275 if (_v0.$ === 'ValueAdded') {
14277 return _List_fromArray(
14280 $author$project$Html$Common$spanClass,
14281 'key-default-pristine',
14284 $elm$html$Html$text(
14285 $author$project$Types$Override$unOverrideName(override.name) + ': ')
14288 $elm$html$Html$span,
14291 $elm$html$Html$Attributes$class('value-edited'),
14292 A2($elm$html$Html$Attributes$attribute, 'style', 'width:400px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;')
14296 $elm$html$Html$text(v)
14300 return _List_fromArray(
14303 $author$project$Html$Common$spanClass,
14307 $elm$html$Html$text(
14308 $author$project$Types$Override$unOverrideName(override.name) + ': ')
14310 A2($author$project$Html$Common$divClass, 'listing__placeholder listing__placeholder__value', _List_Nil)
14315 var buttonClass_ = F3(
14316 function (cls, msg, body) {
14318 $elm$html$Html$button,
14321 $elm$html$Html$Attributes$class(cls),
14322 $elm_community$html_extra$Html$Events$Extra$onClickStopPropagation(msg)
14327 $elm$core$List$length(overrides),
14328 $elm$core$List$length(visibleOverrides)) ? A2($elm$core$List$map, overrideView, overrides) : (A2($turboMaCk$any_set$Set$Any$member, dName, opened) ? A2(
14329 $elm$core$List$append,
14330 A2($elm$core$List$map, overrideView, overrides),
14335 'expander listing__more expander--open',
14339 $elm$html$Html$text('Hide default configuration')
14342 $elm$core$List$append,
14343 A2($elm$core$List$map, overrideView, visibleOverrides),
14348 'expander listing__more',
14352 $elm$html$Html$text('Show full configuration')
14356var $author$project$Page$Deployments$Table$deploymentView = F2(
14357 function (model, deployment) {
14358 var statusView = function (status) {
14359 if (status.$ === 'DeploymentPending') {
14361 $author$project$Html$Common$divClass,
14362 'status status--pending',
14365 $elm$html$Html$text('Pending...')
14368 switch (status.a.$) {
14370 var _v3 = status.a;
14372 $author$project$Html$Common$divClass,
14373 'status status--success',
14376 $elm$html$Html$text('Running')
14380 $author$project$Html$Common$divClass,
14381 'status status--failure',
14384 $elm$html$Html$text('Failure')
14386 case 'CreatePending':
14387 var _v4 = status.a;
14389 $author$project$Html$Common$divClass,
14390 'loading loading--status-alike',
14393 $elm$html$Html$text('Creating...')
14395 case 'UpdatePending':
14396 var _v5 = status.a;
14398 $author$project$Html$Common$divClass,
14399 'loading loading--status-alike',
14402 $elm$html$Html$text('Updating...')
14404 case 'ArchivePending':
14405 var _v6 = status.a;
14407 $author$project$Html$Common$divClass,
14408 'loading loading--status-alike',
14411 $elm$html$Html$text('Archiving...')
14414 var _v7 = status.a;
14416 $author$project$Html$Common$divClass,
14417 'status status--archived',
14420 $elm$html$Html$text('Archived')
14423 var _v8 = status.a;
14425 $author$project$Html$Common$divClass,
14426 'status status--failure',
14429 $elm$html$Html$text('Cleanup failed (contact admin)')
14434 var name = _List_fromArray(
14436 $elm$html$Html$text(
14437 $author$project$Types$Deployment$unDeploymentName(deployment.deployment.name)),
14438 statusView(deployment.status)
14440 var menuButtonClass = F2(
14441 function (status, _class) {
14442 return $author$project$Types$Deployment$isPending(status) ? (_class + ' action--disabled ') : _class;
14444 var link = function (m) {
14446 $author$project$Html$Common$aClassHrefExternal,
14447 'listing__item external bar',
14451 $elm$html$Html$text(m.name)
14454 var links = function () {
14455 var _v1 = model.tableType;
14456 if (_v1.$ === 'ActiveTable') {
14457 return _List_fromArray(
14460 $author$project$Html$Common$divClass,
14462 A2($elm$core$List$map, link, deployment.metadata))
14465 return _List_fromArray(
14467 $elm$html$Html$text('...')
14471 var deploymentOverrides = _List_fromArray(
14474 $author$project$Html$Common$divClass,
14476 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))
14478 var buttonClass_ = F3(
14479 function (cls, msg, body) {
14481 $elm$html$Html$button,
14484 $elm$html$Html$Attributes$class(cls),
14485 $elm_community$html_extra$Html$Events$Extra$onClickStopPropagation(msg)
14490 $elm$html$Html$div,
14493 $elm$html$Html$Attributes$class(
14494 'drop drop--actions ' + (_Utils_eq(
14496 $elm$core$Maybe$Just(deployment.deployment.name)) ? 'drop--expanded' : '')),
14497 $elm$html$Html$Attributes$id(
14498 $author$project$Page$Deployments$Table$getDropdownId(model))
14505 $author$project$Page$Deployments$Table$OpenMenu(deployment.deployment.name),
14508 $elm$html$Html$text('Actions')
14511 $author$project$Html$Common$divClass,
14514 var _v0 = model.tableType;
14515 if (_v0.$ === 'ActiveTable') {
14516 return _List_fromArray(
14519 $elm$html$Html$button,
14522 $elm$html$Html$Attributes$class(
14523 A2(menuButtonClass, deployment.status, 'action action--edit')),
14524 $elm$html$Html$Attributes$type_('button'),
14525 $elm$html$Html$Attributes$disabled(
14526 $author$project$Types$Deployment$isPending(deployment.status)),
14527 $elm_community$html_extra$Html$Events$Extra$onClickStopPropagation(
14528 $author$project$Page$Deployments$Table$ShowEditSidebar(deployment.deployment.name))
14532 $elm$html$Html$text('Edit')
14535 $elm$html$Html$button,
14538 $elm$html$Html$Attributes$class(
14539 A2(menuButtonClass, deployment.status, 'action action--archive classic-popup-handler')),
14540 $elm$html$Html$Attributes$type_('button'),
14541 $elm$html$Html$Attributes$disabled(
14542 $author$project$Types$Deployment$isPending(deployment.status)),
14543 $elm_community$html_extra$Html$Events$Extra$onClickStopPropagation(
14544 $author$project$Page$Deployments$Table$OpenArchivePopup(deployment.deployment.name))
14548 $elm$html$Html$text('Move to archive')
14551 $author$project$Html$Common$aClassHrefExternal,
14552 'action action--logs',
14554 model.config.k8sDashboardUrlTemplate,
14555 $author$project$Types$Deployment$unDeploymentName(deployment.deployment.name)),
14558 $elm$html$Html$text('Details')
14562 return _List_fromArray(
14565 $elm$html$Html$button,
14568 $elm$html$Html$Attributes$class('action action--restore'),
14569 $elm_community$html_extra$Html$Events$Extra$onClickStopPropagation(
14570 $author$project$Page$Deployments$Table$RestoreDeploymentReq(deployment.deployment.name))
14574 $elm$html$Html$text('Restore from archive')
14580 var appOverrides = _List_fromArray(
14583 $author$project$Html$Common$divClass,
14585 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))
14591 $elm$html$Html$Events$onClick(
14592 $author$project$Page$Deployments$Table$GoToDeployment(deployment.deployment.name))
14596 A2($elm$html$Html$td, _List_Nil, name),
14597 A2($elm$html$Html$td, _List_Nil, links),
14598 A2($elm$html$Html$td, _List_Nil, deploymentOverrides),
14599 A2($elm$html$Html$td, _List_Nil, appOverrides),
14605 A2($author$project$Html$Common$dateView, model.settings.zone, deployment.createdAt)
14612 A2($author$project$Html$Common$dateView, model.settings.zone, deployment.updatedAt)
14621var $author$project$Page$Deployments$Table$tableFailureView = A2(
14622 $elm$html$Html$tbody,
14627 $author$project$Html$Common$trClass,
14635 $elm$html$Html$Attributes$colspan(8)
14640 $author$project$Html$Common$divClass,
14645 $author$project$Html$Common$bClass,
14649 $elm$html$Html$text('Cannot retrieve the data')
14652 $author$project$Html$Common$divClass,
14656 $elm$html$Html$text('Try to reload page')
14662var $elm$core$String$toUpper = _String_toUpper;
14663var $author$project$Page$Deployments$Table$tableDeploymentsView = F3(
14664 function (model, deployments, search) {
14665 var compareDeployments = F2(
14667 var _v0 = model.sort;
14668 if (_v0.$ === 'Asc') {
14673 $elm$core$Basics$compare,
14674 $author$project$Types$Deployment$unDeploymentName(a.deployment.name),
14675 $author$project$Types$Deployment$unDeploymentName(b.deployment.name));
14679 $elm$core$Basics$compare,
14680 $elm$time$Time$posixToMillis(a.createdAt),
14681 $elm$time$Time$posixToMillis(b.createdAt));
14685 $elm$core$Basics$compare,
14686 $elm$time$Time$posixToMillis(a.updatedAt),
14687 $elm$time$Time$posixToMillis(b.updatedAt));
14694 $elm$core$Basics$compare,
14695 $author$project$Types$Deployment$unDeploymentName(b.deployment.name),
14696 $author$project$Types$Deployment$unDeploymentName(a.deployment.name));
14700 $elm$core$Basics$compare,
14701 $elm$time$Time$posixToMillis(b.createdAt),
14702 $elm$time$Time$posixToMillis(a.createdAt));
14706 $elm$core$Basics$compare,
14707 $elm$time$Time$posixToMillis(b.updatedAt),
14708 $elm$time$Time$posixToMillis(a.updatedAt));
14712 var check = function (deployment) {
14713 return (search === '') ? true : A2(
14714 $elm$core$String$contains,
14715 $elm$core$String$toUpper(search),
14716 $elm$core$String$toUpper(
14717 $author$project$Types$Deployment$unDeploymentName(deployment.deployment.name)));
14720 $elm$core$List$filter,
14722 A2($elm$core$List$sortWith, compareDeployments, deployments));
14723 return ($elm$core$List$length(sorted) > 0) ? A2(
14724 $elm$html$Html$tbody,
14727 $elm$core$List$map,
14728 $author$project$Page$Deployments$Table$deploymentView(model),
14729 sorted)) : $author$project$Page$Deployments$Table$tableFailureView;
14731var $author$project$Page$Deployments$Table$tableLoadingView = A2(
14732 $elm$html$Html$tbody,
14737 $author$project$Html$Common$trClass,
14745 $elm$html$Html$Attributes$colspan(8)
14750 $author$project$Html$Common$divClass,
14751 'loading loading--enlarged loading--alternate',
14754 $elm$html$Html$text('Loading...')
14759var $author$project$Page$Deployments$Table$tablePrimaryBodyView = F3(
14760 function (model, deployments, search) {
14761 switch (deployments.$) {
14763 var d = deployments.a;
14764 return A3($author$project$Page$Deployments$Table$tableDeploymentsView, model, d, search);
14766 return $author$project$Page$Deployments$Table$tableFailureView;
14768 return $author$project$Page$Deployments$Table$tableLoadingView;
14771var $author$project$Page$Deployments$Table$Asc = function (a) {
14772 return {$: 'Asc', a: a};
14774var $author$project$Page$Deployments$Table$Created = {$: 'Created'};
14775var $author$project$Page$Deployments$Table$Name = {$: 'Name'};
14776var $author$project$Page$Deployments$Table$SortChanged = function (a) {
14777 return {$: 'SortChanged', a: a};
14779var $author$project$Page$Deployments$Table$tablePrimaryHeaderView = function (model) {
14781 function (clm, sort, txt) {
14782 var _v0 = function () {
14783 if (sort.$ === 'Asc') {
14785 return _Utils_eq(sClm, clm) ? _Utils_Tuple2(
14786 'sort sort--active sort--asc',
14787 $author$project$Page$Deployments$Table$SortChanged(
14788 $author$project$Page$Deployments$Table$Desc(clm))) : _Utils_Tuple2(
14790 $author$project$Page$Deployments$Table$SortChanged(
14791 $author$project$Page$Deployments$Table$Asc(clm)));
14794 return _Utils_eq(sClm, clm) ? _Utils_Tuple2(
14795 'sort sort--active sort--desc',
14796 $author$project$Page$Deployments$Table$SortChanged(
14797 $author$project$Page$Deployments$Table$Asc(clm))) : _Utils_Tuple2(
14799 $author$project$Page$Deployments$Table$SortChanged(
14800 $author$project$Page$Deployments$Table$Asc(clm)));
14811 $author$project$Html$Common$buttonClass,
14816 $elm$html$Html$text(txt)
14820 var simpleTh = function (txt) {
14826 $elm$html$Html$text(txt)
14830 $elm$html$Html$thead,
14839 A3(sortTh, $author$project$Page$Deployments$Table$Name, model.sort, 'Name'),
14841 simpleTh('Deployment configuration'),
14842 simpleTh('App configuration'),
14843 A3(sortTh, $author$project$Page$Deployments$Table$Created, model.sort, 'Created'),
14844 A3(sortTh, $author$project$Page$Deployments$Table$Updated, model.sort, 'Updated'),
14851 $author$project$Html$Common$spanClass,
14855 $elm$html$Html$text('Menu')
14861var $author$project$Page$Deployments$Table$view = F3(
14862 function (model, deployments, search) {
14864 $author$project$Html$Common$divClass,
14865 'table table--deployments table--clickable table--double-click',
14867 $elm$core$List$cons,
14869 $elm$html$Html$table,
14873 $author$project$Page$Deployments$Table$tablePrimaryHeaderView(model),
14874 A3($author$project$Page$Deployments$Table$tablePrimaryBodyView, model, deployments, search)
14877 var _v0 = model.archivePopup;
14878 if (_v0.$ === 'Nothing') {
14881 var deploymentName = _v0.a;
14882 return _List_fromArray(
14884 $author$project$Page$Deployments$Table$archivePopupView(deploymentName)
14889var $author$project$Page$Deployments$dataArchivedView = F2(
14890 function (model, archivedDeploymets) {
14891 var dataClass = model.showArchived ? 'data__archive data__archive--open' : 'data__archive';
14893 $author$project$Html$Common$divClass,
14898 $elm$html$Html$map,
14899 $author$project$Page$Deployments$ArchivedTableMsg,
14900 A3($author$project$Page$Deployments$Table$view, model.archivedTable, archivedDeploymets, model.search))
14903var $author$project$Page$Deployments$dataPrimaryView = F2(
14904 function (model, activeDeploymets) {
14906 $author$project$Html$Common$divClass,
14911 $elm$html$Html$map,
14912 $author$project$Page$Deployments$ActiveTableMsg,
14913 A3($author$project$Page$Deployments$Table$view, model.activeTable, activeDeploymets, model.search))
14916var $author$project$Page$Deployments$pageBodyWrapper = function (body) {
14918 $author$project$Html$Common$divClass,
14922 A2($author$project$Html$Common$divClass, 'body', body)
14925var $author$project$Page$Deployments$ShowCreateSidebar = {$: 'ShowCreateSidebar'};
14926var $author$project$Page$Deployments$SearchInput = function (a) {
14927 return {$: 'SearchInput', a: a};
14929var $author$project$Page$Deployments$pageHeaderSearchView = function (_v0) {
14931 $author$project$Html$Common$divClass,
14932 'page__action page__action--search input input--search input--has-clear-type',
14936 $elm$html$Html$input,
14939 $elm$html$Html$Attributes$class('input__widget'),
14940 $elm$html$Html$Attributes$type_('text'),
14941 $elm$html$Html$Attributes$placeholder('Search for deployments'),
14942 $elm$html$Html$Events$onInput($author$project$Page$Deployments$SearchInput)
14947var $author$project$Page$Deployments$pageHeaderTimeUpdateView = function (model) {
14948 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')))));
14950 $author$project$Html$Common$divClass,
14954 $elm$html$Html$text(msg)
14957var $author$project$Page$Deployments$pageHeaderView = function (model) {
14959 $author$project$Html$Common$divClass,
14964 $author$project$Html$Common$h1Class,
14965 'page__heading title',
14968 $elm$html$Html$text('All deployments')
14970 $author$project$Page$Deployments$pageHeaderTimeUpdateView(model),
14971 $author$project$Page$Deployments$pageHeaderSearchView(model),
14973 $author$project$Html$Common$buttonClass,
14974 'page__action button button--add popup-handler',
14975 $author$project$Page$Deployments$ShowCreateSidebar,
14978 $elm$html$Html$text('New deployment')
14982var $author$project$Page$Deployments$pageWrapper = function (body) {
14984 $author$project$Html$Common$divClass,
14988 A2($author$project$Html$Common$divClass, 'page__wrap container', body)
14991var $author$project$Page$Deployments$ToggleArchived = {$: 'ToggleArchived'};
14992var $author$project$Page$Deployments$toggleButtonView = function (model) {
14993 return model.showArchived ? A3(
14994 $author$project$Html$Common$buttonClass,
14995 'data__show-archive expander expander--stand-alone expander--open',
14996 $author$project$Page$Deployments$ToggleArchived,
14999 $elm$html$Html$text('Hide Archived deployments')
15001 $author$project$Html$Common$buttonClass,
15002 'data__show-archive expander expander--stand-alone',
15003 $author$project$Page$Deployments$ToggleArchived,
15006 $elm$html$Html$text('Show Archived deployments')
15009var $author$project$Page$Deployments$pageView = function (model) {
15010 var archivedDeploymets = A2(
15011 $krisajenkins$remotedata$RemoteData$map,
15012 $elm$core$List$filter($author$project$Types$Deployment$isDeploymentArchived),
15013 model.deployments);
15014 var archivedCount = A3($krisajenkins$remotedata$RemoteData$unwrap, 0, $elm$core$List$length, archivedDeploymets);
15015 var activeDeploymets = A2(
15016 $krisajenkins$remotedata$RemoteData$map,
15017 $elm$core$List$filter(
15018 A2($elm$core$Basics$composeR, $author$project$Types$Deployment$isDeploymentArchived, $elm$core$Basics$not)),
15019 model.deployments);
15020 return $author$project$Page$Deployments$pageWrapper(
15023 $author$project$Page$Deployments$pageHeaderView(model),
15024 $author$project$Page$Deployments$pageBodyWrapper(
15026 $elm$core$List$cons,
15027 A2($author$project$Page$Deployments$dataPrimaryView, model, activeDeploymets),
15028 (!archivedCount) ? _List_Nil : _List_fromArray(
15030 $author$project$Page$Deployments$toggleButtonView(model),
15031 A2($author$project$Page$Deployments$dataArchivedView, model, archivedDeploymets)
15035var $author$project$Page$Deployments$view = function (model) {
15038 $elm$core$List$cons,
15039 $author$project$Page$Deployments$pageView(model),
15041 $elm$core$List$map,
15042 $elm$html$Html$map($author$project$Page$Deployments$CreateSidebarMsg),
15043 $author$project$Page$Sidebar$CreateUpdate$view(model.sidebar))),
15044 title: 'Deployments'
15047var $author$project$Page$Initialization$failureView = A2(
15048 $author$project$Html$Common$divClass,
15053 $author$project$Html$Common$divClass,
15058 $author$project$Html$Common$divClass,
15063 $author$project$Html$Common$bClass,
15067 $elm$html$Html$text('Cannot retrieve the data')
15070 $author$project$Html$Common$divClass,
15074 $elm$html$Html$text('Try to reload page')
15079var $author$project$Page$Initialization$loadingView = A2(
15080 $author$project$Html$Common$divClass,
15085 $author$project$Html$Common$divClass,
15090 $author$project$Html$Common$divClass,
15091 'loading loading--enlarged loading--alternate',
15094 $elm$html$Html$text('Loading...')
15098var $author$project$Page$Initialization$view = function (model) {
15099 var _v0 = _Utils_Tuple2(model.config, model.projectName);
15107 content: _List_fromArray(
15108 [$author$project$Page$Initialization$failureView]),
15127 content: _List_fromArray(
15128 [$author$project$Page$Initialization$loadingView]),
15132 return {content: _List_Nil, title: 'Octopod'};
15138 content: _List_fromArray(
15139 [$author$project$Page$Initialization$loadingView]),
15144 content: _List_fromArray(
15145 [$author$project$Page$Initialization$failureView]),
15149var $author$project$Main$view = function (model) {
15151 function (page, toMsg, config) {
15153 $author$project$Page$view,
15154 $author$project$Main$getSettings(model).projectName,
15157 var title = _v1.title;
15158 var body = _v1.body;
15161 $elm$core$List$map,
15162 $elm$html$Html$map(toMsg),
15168 case 'Initialization':
15169 var subModel = model.a;
15172 $author$project$Page$Initialization,
15173 $author$project$Main$InitializationMsg,
15174 $author$project$Page$Initialization$view(subModel));
15175 case 'Deployments':
15176 var subModel = model.a;
15179 $author$project$Page$Deployments,
15180 $author$project$Main$DeploymentsMsg,
15181 $author$project$Page$Deployments$view(subModel));
15183 var subModel = model.a;
15186 $author$project$Page$Deployment,
15187 $author$project$Main$DeploymentMsg,
15188 $author$project$Page$Deployment$view(subModel));
15191var $author$project$Main$main = $elm$browser$Browser$application(
15192 {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});
15193_Platform_export({'Main':{'init':$author$project$Main$main(
15194 $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