git.iko.soy/typeable/octopod
on anisimoffnikita/go-helm-octopod help sign in
15194 lines 407 kB history raw
1(function(scope){
2'use strict';
4function F(arity, fun, wrapper) {
5 wrapper.a = arity;
6 wrapper.f = fun;
7 return wrapper;
8}
10function F2(fun) {
11 return F(2, fun, function(a) { return function(b) { return fun(a,b); }; })
13function F3(fun) {
14 return F(3, fun, function(a) {
15 return function(b) { return function(c) { return fun(a, b, c); }; };
16 });
18function F4(fun) {
19 return F(4, fun, function(a) { return function(b) { return function(c) {
20 return function(d) { return fun(a, b, c, d); }; }; };
21 });
23function F5(fun) {
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); }; }; }; };
26 });
28function F6(fun) {
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); }; }; }; }; };
32 });
34function F7(fun) {
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); }; }; }; }; }; };
38 });
40function F8(fun) {
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); }; }; }; }; }; }; };
45 });
47function F9(fun) {
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); }; }; }; }; }; }; }; };
52 });
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.');
83// EQUALITY
85function _Utils_eq(x, y)
87 for (
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)
91 )
92 {}
94 return isEqual;
97function _Utils_eqHelp(x, y, depth, stack)
99 if (x === y)
100 {
101 return true;
102 }
104 if (typeof x !== 'object' || x === null || y === null)
105 {
106 typeof x === 'function' && _Debug_crash(5);
107 return false;
108 }
110 if (depth > 100)
111 {
112 stack.push(_Utils_Tuple2(x,y));
113 return true;
114 }
116 /**/
117 if (x.$ === 'Set_elm_builtin')
118 {
119 x = $elm$core$Set$toList(x);
120 y = $elm$core$Set$toList(y);
121 }
122 if (x.$ === 'RBNode_elm_builtin' || x.$ === 'RBEmpty_elm_builtin')
123 {
124 x = $elm$core$Dict$toList(x);
125 y = $elm$core$Dict$toList(y);
126 }
127 //*/
129 /**_UNUSED/
130 if (x.$ < 0)
131 {
132 x = $elm$core$Dict$toList(x);
133 y = $elm$core$Dict$toList(y);
134 }
135 //*/
137 for (var key in x)
138 {
139 if (!_Utils_eqHelp(x[key], y[key], depth + 1, stack))
140 {
141 return false;
142 }
143 }
144 return true;
147var _Utils_equal = F2(_Utils_eq);
148var _Utils_notEqual = F2(function(a, b) { return !_Utils_eq(a,b); });
152// COMPARISONS
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')
160 {
161 return x === y ? /*EQ*/ 0 : x < y ? /*LT*/ -1 : /*GT*/ 1;
162 }
164 /**/
165 if (x instanceof String)
166 {
167 var a = x.valueOf();
168 var b = y.valueOf();
169 return a === b ? 0 : a < b ? -1 : 1;
170 }
171 //*/
173 /**_UNUSED/
174 if (typeof x.$ === 'undefined')
175 //*/
176 /**/
177 if (x.$[0] === '#')
178 //*/
179 {
180 return (ord = _Utils_cmp(x.a, y.a))
181 ? ord
182 : (ord = _Utils_cmp(x.b, y.b))
183 ? ord
184 : _Utils_cmp(x.c, y.c);
185 }
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;
201});
204// COMMON VALUES
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); }
219// RECORDS
221function _Utils_update(oldRecord, updatedFields)
223 var newRecord = {};
225 for (var key in oldRecord)
226 {
227 newRecord[key] = oldRecord[key];
228 }
230 for (var key in updatedFields)
231 {
232 newRecord[key] = updatedFields[key];
233 }
235 return newRecord;
239// APPEND
241var _Utils_append = F2(_Utils_ap);
243function _Utils_ap(xs, ys)
245 // append Strings
246 if (typeof xs === 'string')
247 {
248 return xs + ys;
249 }
251 // append Lists
252 if (!xs.b)
253 {
254 return ys;
255 }
256 var root = _List_Cons(xs.a, ys);
257 xs = xs.b
258 for (var curr = root; xs.b; xs = xs.b) // WHILE_CONS
259 {
260 curr = curr.b = _List_Cons(xs.a, ys);
261 }
262 return root;
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)
278 var out = _List_Nil;
279 for (var i = arr.length; i--; )
280 {
281 out = _List_Cons(arr[i], out);
282 }
283 return out;
286function _List_toArray(xs)
288 for (var out = []; xs.b; xs = xs.b) // WHILE_CONS
289 {
290 out.push(xs.a);
291 }
292 return out;
295var _List_map2 = F3(function(f, xs, ys)
297 for (var arr = []; xs.b && ys.b; xs = xs.b, ys = ys.b) // WHILE_CONSES
298 {
299 arr.push(A2(f, xs.a, ys.a));
300 }
301 return _List_fromArray(arr);
302});
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
307 {
308 arr.push(A3(f, xs.a, ys.a, zs.a));
309 }
310 return _List_fromArray(arr);
311});
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
316 {
317 arr.push(A4(f, ws.a, xs.a, ys.a, zs.a));
318 }
319 return _List_fromArray(arr);
320});
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
325 {
326 arr.push(A5(f, vs.a, ws.a, xs.a, ys.a, zs.a));
327 }
328 return _List_fromArray(arr);
329});
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));
335 }));
336});
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;
343 }));
344});
348var _JsArray_empty = [];
350function _JsArray_singleton(value)
352 return [value];
355function _JsArray_length(array)
357 return array.length;
360var _JsArray_initialize = F3(function(size, offset, func)
362 var result = new Array(size);
364 for (var i = 0; i < size; i++)
365 {
366 result[i] = func(offset + i);
367 }
369 return result;
370});
372var _JsArray_initializeFromList = F2(function (max, ls)
374 var result = new Array(max);
376 for (var i = 0; i < max && ls.b; i++)
377 {
378 result[i] = ls.a;
379 ls = ls.b;
380 }
382 result.length = i;
383 return _Utils_Tuple2(result, ls);
384});
386var _JsArray_unsafeGet = F2(function(index, array)
388 return array[index];
389});
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++)
397 {
398 result[i] = array[i];
399 }
401 result[index] = value;
402 return result;
403});
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++)
411 {
412 result[i] = array[i];
413 }
415 result[length] = value;
416 return result;
417});
419var _JsArray_foldl = F3(function(func, acc, array)
421 var length = array.length;
423 for (var i = 0; i < length; i++)
424 {
425 acc = A2(func, array[i], acc);
426 }
428 return acc;
429});
431var _JsArray_foldr = F3(function(func, acc, array)
433 for (var i = array.length - 1; i >= 0; i--)
434 {
435 acc = A2(func, array[i], acc);
436 }
438 return acc;
439});
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++)
447 {
448 result[i] = func(array[i]);
449 }
451 return result;
452});
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++)
460 {
461 result[i] = A2(func, offset + i, array[i]);
462 }
464 return result;
465});
467var _JsArray_slice = F3(function(from, to, array)
469 return array.slice(from, to);
470});
472var _JsArray_appendN = F3(function(n, dest, source)
474 var destLen = dest.length;
475 var itemsToCopy = n - destLen;
477 if (itemsToCopy > source.length)
478 {
479 itemsToCopy = source.length;
480 }
482 var size = destLen + itemsToCopy;
483 var result = new Array(size);
485 for (var i = 0; i < destLen; i++)
486 {
487 result[i] = dest[i];
488 }
490 for (var i = 0; i < itemsToCopy; i++)
491 {
492 result[i + destLen] = source[i];
493 }
495 return result;
496});
500// LOG
502var _Debug_log_UNUSED = F2(function(tag, value)
504 return value;
505});
507var _Debug_log = F2(function(tag, value)
509 console.log(tag + ': ' + _Debug_toString(value));
510 return value;
511});
514// TODOS
516function _Debug_todo(moduleName, region)
518 return function(message) {
519 _Debug_crash(8, moduleName, region, message);
520 };
523function _Debug_todoCase(moduleName, region, value)
525 return function(message) {
526 _Debug_crash(9, moduleName, region, value, message);
527 };
531// TO STRING
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')
546 {
547 return _Debug_internalColor(ansi, '<function>');
548 }
550 if (typeof value === 'boolean')
551 {
552 return _Debug_ctorColor(ansi, value ? 'True' : 'False');
553 }
555 if (typeof value === 'number')
556 {
557 return _Debug_numberColor(ansi, value + '');
558 }
560 if (value instanceof String)
561 {
562 return _Debug_charColor(ansi, "'" + _Debug_addSlashes(value, true) + "'");
563 }
565 if (typeof value === 'string')
566 {
567 return _Debug_stringColor(ansi, '"' + _Debug_addSlashes(value, false) + '"');
568 }
570 if (typeof value === 'object' && '$' in value)
571 {
572 var tag = value.$;
574 if (typeof tag === 'number')
575 {
576 return _Debug_internalColor(ansi, '<internals>');
577 }
579 if (tag[0] === '#')
580 {
581 var output = [];
582 for (var k in value)
583 {
584 if (k === '$') continue;
585 output.push(_Debug_toAnsiString(ansi, value[k]));
586 }
587 return '(' + output.join(',') + ')';
588 }
590 if (tag === 'Set_elm_builtin')
591 {
592 return _Debug_ctorColor(ansi, 'Set')
593 + _Debug_fadeColor(ansi, '.fromList') + ' '
594 + _Debug_toAnsiString(ansi, $elm$core$Set$toList(value));
595 }
597 if (tag === 'RBNode_elm_builtin' || tag === 'RBEmpty_elm_builtin')
598 {
599 return _Debug_ctorColor(ansi, 'Dict')
600 + _Debug_fadeColor(ansi, '.fromList') + ' '
601 + _Debug_toAnsiString(ansi, $elm$core$Dict$toList(value));
602 }
604 if (tag === 'Array_elm_builtin')
605 {
606 return _Debug_ctorColor(ansi, 'Array')
607 + _Debug_fadeColor(ansi, '.fromList') + ' '
608 + _Debug_toAnsiString(ansi, $elm$core$Array$toList(value));
609 }
611 if (tag === '::' || tag === '[]')
612 {
613 var output = '[';
615 value.b && (output += _Debug_toAnsiString(ansi, value.a), value = value.b)
617 for (; value.b; value = value.b) // WHILE_CONS
618 {
619 output += ',' + _Debug_toAnsiString(ansi, value.a);
620 }
621 return output + ']';
622 }
624 var output = '';
625 for (var i in value)
626 {
627 if (i === '$') continue;
628 var str = _Debug_toAnsiString(ansi, value[i]);
629 var c0 = str[0];
630 var parenless = c0 === '{' || c0 === '(' || c0 === '[' || c0 === '<' || c0 === '"' || str.indexOf(' ') < 0;
631 output += ' ' + (parenless ? str : '(' + str + ')');
632 }
633 return _Debug_ctorColor(ansi, tag) + output;
634 }
636 if (typeof DataView === 'function' && value instanceof DataView)
637 {
638 return _Debug_stringColor(ansi, '<' + value.byteLength + ' bytes>');
639 }
641 if (typeof File !== 'undefined' && value instanceof File)
642 {
643 return _Debug_internalColor(ansi, '<' + value.name + '>');
644 }
646 if (typeof value === 'object')
647 {
648 var output = [];
649 for (var key in value)
650 {
651 var field = key[0] === '_' ? key.slice(1) : key;
652 output.push(_Debug_fadeColor(ansi, field) + ' = ' + _Debug_toAnsiString(ansi, value[key]));
653 }
654 if (output.length === 0)
655 {
656 return '{}';
657 }
658 return '{ ' + output.join(', ') + ' }';
659 }
661 return _Debug_internalColor(ansi, '<internals>');
664function _Debug_addSlashes(str, isChar)
666 var s = str
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');
674 if (isChar)
675 {
676 return s.replace(/\'/g, '\\\'');
677 }
678 else
679 {
680 return s.replace(/\"/g, '\\"');
681 }
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);
720// CRASH
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)
731 switch(identifier)
732 {
733 case 0:
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.');
736 case 1:
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.');
739 case 2:
740 var jsonErrorString = fact1;
741 throw new Error('Problem with the flags given to your Elm program on initialization.\n\n' + jsonErrorString);
743 case 3:
744 var portName = fact1;
745 throw new Error('There can only be one port named `' + portName + '`, but your program has multiple.');
747 case 4:
748 var portName = fact1;
749 var problem = fact2;
750 throw new Error('Trying to send an unexpected type of value through port `' + portName + '`:\n' + problem);
752 case 5:
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.');
755 case 6:
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!');
759 case 8:
760 var moduleName = fact1;
761 var region = fact2;
762 var message = fact3;
763 throw new Error('TODO in module `' + moduleName + '` ' + _Debug_regionToString(region) + '\n\n' + message);
765 case 9:
766 var moduleName = fact1;
767 var region = fact2;
768 var value = fact3;
769 var message = fact4;
770 throw new Error(
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 ')
775 );
777 case 10:
778 throw new Error('Bug in https://github.com/elm/virtual-dom/issues');
780 case 11:
781 throw new Error('Cannot perform mod 0. Division by zero error.');
782 }
785function _Debug_regionToString(region)
787 if (region.start.line === region.end.line)
788 {
789 return 'on line ' + region.start.line;
790 }
791 return 'on lines ' + region.start.line + ' through ' + region.end.line;
796// MATH
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;
811 return modulus === 0
812 ? _Debug_crash(11)
813 :
814 ((answer > 0 && modulus < 0) || (answer < 0 && modulus > 0))
815 ? answer + modulus
816 : answer;
817});
820// TRIGONOMETRY
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);
833// MORE MATH
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;
847// BOOLEANS
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)
858 return chr + str;
859});
861function _String_uncons(string)
863 var word = string.charCodeAt(0);
864 return !isNaN(word)
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))
869 )
870 : $elm$core$Maybe$Nothing;
873var _String_append = F2(function(a, b)
875 return a + b;
876});
878function _String_length(str)
880 return str.length;
883var _String_map = F2(function(func, string)
885 var len = string.length;
886 var array = new Array(len);
887 var i = 0;
888 while (i < len)
889 {
890 var word = string.charCodeAt(i);
891 if (0xD800 <= word && word <= 0xDBFF)
892 {
893 array[i] = func(_Utils_chr(string[i] + string[i+1]));
894 i += 2;
895 continue;
896 }
897 array[i] = func(_Utils_chr(string[i]));
898 i++;
899 }
900 return array.join('');
901});
903var _String_filter = F2(function(isGood, str)
905 var arr = [];
906 var len = str.length;
907 var i = 0;
908 while (i < len)
909 {
910 var char = str[i];
911 var word = str.charCodeAt(i);
912 i++;
913 if (0xD800 <= word && word <= 0xDBFF)
914 {
915 char += str[i];
916 i++;
917 }
919 if (isGood(_Utils_chr(char)))
920 {
921 arr.push(char);
922 }
923 }
924 return arr.join('');
925});
927function _String_reverse(str)
929 var len = str.length;
930 var arr = new Array(len);
931 var i = 0;
932 while (i < len)
933 {
934 var word = str.charCodeAt(i);
935 if (0xD800 <= word && word <= 0xDBFF)
936 {
937 arr[len - i] = str[i + 1];
938 i++;
939 arr[len - i] = str[i - 1];
940 i++;
941 }
942 else
943 {
944 arr[len - i] = str[i];
945 i++;
946 }
947 }
948 return arr.join('');
951var _String_foldl = F3(function(func, state, string)
953 var len = string.length;
954 var i = 0;
955 while (i < len)
956 {
957 var char = string[i];
958 var word = string.charCodeAt(i);
959 i++;
960 if (0xD800 <= word && word <= 0xDBFF)
961 {
962 char += string[i];
963 i++;
964 }
965 state = A2(func, _Utils_chr(char), state);
966 }
967 return state;
968});
970var _String_foldr = F3(function(func, state, string)
972 var i = string.length;
973 while (i--)
974 {
975 var char = string[i];
976 var word = string.charCodeAt(i);
977 if (0xDC00 <= word && word <= 0xDFFF)
978 {
979 i--;
980 char = string[i] + char;
981 }
982 state = A2(func, _Utils_chr(char), state);
983 }
984 return state;
985});
987var _String_split = F2(function(sep, str)
989 return str.split(sep);
990});
992var _String_join = F2(function(sep, strs)
994 return strs.join(sep);
995});
997var _String_slice = F3(function(start, end, str) {
998 return str.slice(start, end);
999});
1001function _String_trim(str)
1003 return str.trim();
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;
1039 while (i--)
1041 var char = string[i];
1042 var word = string.charCodeAt(i);
1043 if (0xDC00 <= word && word <= 0xDFFF)
1045 i--;
1046 char = string[i] + char;
1048 if (isGood(_Utils_chr(char)))
1050 return true;
1053 return false;
1054});
1056var _String_all = F2(function(isGood, string)
1058 var i = string.length;
1059 while (i--)
1061 var char = string[i];
1062 var word = string.charCodeAt(i);
1063 if (0xDC00 <= word && word <= 0xDFFF)
1065 i--;
1066 char = string[i] + char;
1068 if (!isGood(_Utils_chr(char)))
1070 return false;
1073 return true;
1074});
1076var _String_contains = F2(function(sub, str)
1078 return str.indexOf(sub) > -1;
1079});
1081var _String_startsWith = F2(function(sub, str)
1083 return str.indexOf(sub) === 0;
1084});
1086var _String_endsWith = F2(function(sub, str)
1088 return str.length >= sub.length &&
1089 str.lastIndexOf(sub) === str.length - sub.length;
1090});
1092var _String_indexes = F2(function(sub, str)
1094 var subLen = sub.length;
1096 if (subLen < 1)
1098 return _List_Nil;
1101 var i = 0;
1102 var is = [];
1104 while ((i = str.indexOf(sub, i)) > -1)
1106 is.push(i);
1107 i = i + subLen;
1110 return _List_fromArray(is);
1111});
1114// TO STRING
1116function _String_fromNumber(number)
1118 return number + '';
1122// INT CONVERSIONS
1124function _String_toInt(str)
1126 var total = 0;
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;
1140 return i == start
1141 ? $elm$core$Maybe$Nothing
1142 : $elm$core$Maybe$Just(code0 == 0x2D ? -total : total);
1146// FLOAT CONVERSIONS
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;
1155 var n = +s;
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
1175 return code;
1178function _Char_fromCode(code)
1180 return _Utils_chr(
1181 (code < 0 || 0x10FFFF < code)
1182 ? '\uFFFD'
1184 (code <= 0xFFFF)
1185 ? String.fromCharCode(code)
1187 (code -= 0x10000,
1188 String.fromCharCode(Math.floor(code / 0x400) + 0xD800, code % 0x400 + 0xDC00)
1190 );
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());
1215/**/
1216function _Json_errorToString(error)
1218 return $elm$json$Json$Decode$errorToString(error);
1220//*/
1223// CORE DECODERS
1225function _Json_succeed(msg)
1227 return {
1228 $: 0,
1229 a: msg
1230 };
1233function _Json_fail(msg)
1235 return {
1236 $: 1,
1237 a: msg
1238 };
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);
1256});
1258var _Json_decodeBool = _Json_decodePrim(function(value) {
1259 return (typeof value === 'boolean')
1260 ? $elm$core$Result$Ok(value)
1261 : _Json_expecting('a BOOL', value);
1262});
1264var _Json_decodeFloat = _Json_decodePrim(function(value) {
1265 return (typeof value === 'number')
1266 ? $elm$core$Result$Ok(value)
1267 : _Json_expecting('a FLOAT', value);
1268});
1270var _Json_decodeValue = _Json_decodePrim(function(value) {
1271 return $elm$core$Result$Ok(_Json_wrap(value));
1272});
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);
1280});
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)
1289 return {
1290 $: 6,
1291 d: field,
1292 b: decoder
1293 };
1294});
1296var _Json_decodeIndex = F2(function(index, decoder)
1298 return {
1299 $: 7,
1300 e: index,
1301 b: decoder
1302 };
1303});
1305function _Json_decodeKeyValuePairs(decoder)
1307 return {
1308 $: 8,
1309 b: decoder
1310 };
1313function _Json_mapMany(f, decoders)
1315 return {
1316 $: 9,
1317 f: f,
1318 g: decoders
1319 };
1322var _Json_andThen = F2(function(callback, decoder)
1324 return {
1325 $: 10,
1326 b: decoder,
1327 h: callback
1328 };
1329});
1331function _Json_oneOf(decoders)
1333 return {
1334 $: 11,
1335 g: decoders
1336 };
1340// DECODING OBJECTS
1342var _Json_map1 = F2(function(f, d1)
1344 return _Json_mapMany(f, [d1]);
1345});
1347var _Json_map2 = F3(function(f, d1, d2)
1349 return _Json_mapMany(f, [d1, d2]);
1350});
1352var _Json_map3 = F4(function(f, d1, d2, d3)
1354 return _Json_mapMany(f, [d1, d2, d3]);
1355});
1357var _Json_map4 = F5(function(f, d1, d2, d3, d4)
1359 return _Json_mapMany(f, [d1, d2, d3, d4]);
1360});
1362var _Json_map5 = F6(function(f, d1, d2, d3, d4, d5)
1364 return _Json_mapMany(f, [d1, d2, d3, d4, d5]);
1365});
1367var _Json_map6 = F7(function(f, d1, d2, d3, d4, d5, d6)
1369 return _Json_mapMany(f, [d1, d2, d3, d4, d5, d6]);
1370});
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]);
1375});
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]);
1380});
1383// DECODE
1385var _Json_runOnString = F2(function(decoder, string)
1387 try
1389 var value = JSON.parse(string);
1390 return _Json_runHelp(decoder, value);
1392 catch (e)
1394 return $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, 'This is not valid JSON! ' + e.message, _Json_wrap(string)));
1396});
1398var _Json_run = F2(function(decoder, value)
1400 return _Json_runHelp(decoder, _Json_unwrap(value));
1401});
1403function _Json_runHelp(decoder, value)
1405 switch (decoder.$)
1407 case 2:
1408 return decoder.b(value);
1410 case 5:
1411 return (value === null)
1412 ? $elm$core$Result$Ok(decoder.c)
1413 : _Json_expecting('null', value);
1415 case 3:
1416 if (!_Json_isArray(value))
1418 return _Json_expecting('a LIST', value);
1420 return _Json_runArrayDecoder(decoder.b, value, _List_fromArray);
1422 case 4:
1423 if (!_Json_isArray(value))
1425 return _Json_expecting('an ARRAY', value);
1427 return _Json_runArrayDecoder(decoder.b, value, _Json_toElmArray);
1429 case 6:
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));
1438 case 7:
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));
1451 case 8:
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));
1473 case 9:
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))
1481 return result;
1483 answer = answer(result.a);
1485 return $elm$core$Result$Ok(answer);
1487 case 10:
1488 var result = _Json_runHelp(decoder.b, value);
1489 return (!$elm$core$Result$isOk(result))
1490 ? result
1491 : _Json_runHelp(decoder.h(result.a), value);
1493 case 11:
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))
1500 return result;
1502 errors = _List_Cons(result.a, errors);
1504 return $elm$core$Result$Err($elm$json$Json$Decode$OneOf($elm$core$List$reverse(errors)));
1506 case 1:
1507 return $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, decoder.a, _Json_wrap(value)));
1509 case 0:
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)));
1546// EQUALITY
1548function _Json_equality(x, y)
1550 if (x === y)
1552 return true;
1555 if (x.$ !== y.$)
1557 return false;
1560 switch (x.$)
1562 case 0:
1563 case 1:
1564 return x.a === y.a;
1566 case 2:
1567 return x.b === y.b;
1569 case 5:
1570 return x.c === y.c;
1572 case 3:
1573 case 4:
1574 case 8:
1575 return _Json_equality(x.b, y.b);
1577 case 6:
1578 return x.d === y.d && _Json_equality(x.b, y.b);
1580 case 7:
1581 return x.e === y.e && _Json_equality(x.b, y.b);
1583 case 9:
1584 return x.f === y.f && _Json_listEquality(x.g, y.g);
1586 case 10:
1587 return x.h === y.h && _Json_equality(x.b, y.b);
1589 case 11:
1590 return _Json_listEquality(x.g, y.g);
1594function _Json_listEquality(aDecoders, bDecoders)
1596 var len = aDecoders.length;
1597 if (len !== bDecoders.length)
1599 return false;
1601 for (var i = 0; i < len; i++)
1603 if (!_Json_equality(aDecoders[i], bDecoders[i]))
1605 return false;
1608 return true;
1612// ENCODE
1614var _Json_encode = F2(function(indentLevel, value)
1616 return JSON.stringify(_Json_unwrap(value), null, indentLevel) + '';
1617});
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);
1631 return object;
1632});
1634function _Json_addEntry(func)
1636 return F2(function(entry, array)
1638 array.push(_Json_unwrap(func(entry)));
1639 return array;
1640 });
1643var _Json_encodeNull = _Json_wrap(null);
1647// TASKS
1649function _Scheduler_succeed(value)
1651 return {
1652 $: 0,
1653 a: value
1654 };
1657function _Scheduler_fail(error)
1659 return {
1660 $: 1,
1661 a: error
1662 };
1665function _Scheduler_binding(callback)
1667 return {
1668 $: 2,
1669 b: callback,
1670 c: null
1671 };
1674var _Scheduler_andThen = F2(function(callback, task)
1676 return {
1677 $: 3,
1678 b: callback,
1679 d: task
1680 };
1681});
1683var _Scheduler_onError = F2(function(callback, task)
1685 return {
1686 $: 4,
1687 b: callback,
1688 d: task
1689 };
1690});
1692function _Scheduler_receive(callback)
1694 return {
1695 $: 5,
1696 b: callback
1697 };
1701// PROCESSES
1703var _Scheduler_guid = 0;
1705function _Scheduler_rawSpawn(task)
1707 var proc = {
1708 $: 0,
1709 e: _Scheduler_guid++,
1710 f: task,
1711 g: null,
1712 h: []
1713 };
1715 _Scheduler_enqueue(proc);
1717 return proc;
1720function _Scheduler_spawn(task)
1722 return _Scheduler_binding(function(callback) {
1723 callback(_Scheduler_succeed(_Scheduler_rawSpawn(task)));
1724 });
1727function _Scheduler_rawSend(proc, msg)
1729 proc.h.push(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));
1738 });
1739});
1741function _Scheduler_kill(proc)
1743 return _Scheduler_binding(function(callback) {
1744 var task = proc.f;
1745 if (task.$ === 2 && task.c)
1747 task.c();
1750 proc.f = null;
1752 callback(_Scheduler_succeed(_Utils_Tuple0));
1753 });
1757/* STEP PROCESSES
1759type alias Process =
1760 { $ : tag
1761 , id : unique_id
1762 , root : Task
1763 , stack : null | { $: SUCCEED | FAIL, a: callback, b: stack }
1764 , mailbox : [msg]
1770var _Scheduler_working = false;
1771var _Scheduler_queue = [];
1774function _Scheduler_enqueue(proc)
1776 _Scheduler_queue.push(proc);
1777 if (_Scheduler_working)
1779 return;
1781 _Scheduler_working = true;
1782 while (proc = _Scheduler_queue.shift())
1784 _Scheduler_step(proc);
1786 _Scheduler_working = false;
1790function _Scheduler_step(proc)
1792 while (proc.f)
1794 var rootTag = proc.f.$;
1795 if (rootTag === 0 || rootTag === 1)
1797 while (proc.g && proc.g.$ !== rootTag)
1799 proc.g = proc.g.i;
1801 if (!proc.g)
1803 return;
1805 proc.f = proc.g.b(proc.f.a);
1806 proc.g = proc.g.i;
1808 else if (rootTag === 2)
1810 proc.f.c = proc.f.b(function(newRoot) {
1811 proc.f = newRoot;
1812 _Scheduler_enqueue(proc);
1813 });
1814 return;
1816 else if (rootTag === 5)
1818 if (proc.h.length === 0)
1820 return;
1822 proc.f = proc.f.b(proc.h.shift());
1824 else // if (rootTag === 3 || rootTag === 4)
1826 proc.g = {
1827 $: rootTag === 3 ? 0 : 1,
1828 b: proc.f.b,
1829 i: proc.g
1830 };
1831 proc.f = proc.f.d;
1838function _Process_sleep(time)
1840 return _Scheduler_binding(function(callback) {
1841 var id = setTimeout(function() {
1842 callback(_Scheduler_succeed(_Utils_Tuple0));
1843 }, time);
1845 return function() { clearTimeout(id); };
1846 });
1852// PROGRAMS
1855var _Platform_worker = F4(function(impl, flagDecoder, debugMetadata, args)
1857 return _Platform_initialize(
1858 flagDecoder,
1859 args,
1860 impl.init,
1861 impl.update,
1862 impl.subscriptions,
1863 function() { return function() {} }
1864 );
1865});
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) /**/);
1876 var managers = {};
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 } : {};
1896// TRACK PRELOADS
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);
1913// EFFECT MANAGERS
1916var _Platform_effectManagers = {};
1919function _Platform_setupEffects(managers, sendToApp)
1921 var ports;
1923 // setup all necessary effect managers
1924 for (var key in _Platform_effectManagers)
1926 var manager = _Platform_effectManagers[key];
1928 if (manager.a)
1930 ports = ports || {};
1931 ports[key] = manager.a(key, sendToApp);
1934 managers[key] = _Platform_instantiateManager(manager, sendToApp);
1937 return ports;
1941function _Platform_createManager(init, onEffects, onSelfMsg, cmdMap, subMap)
1943 return {
1944 b: init,
1945 c: onEffects,
1946 d: onSelfMsg,
1947 e: cmdMap,
1948 f: subMap
1949 };
1953function _Platform_instantiateManager(info, sendToApp)
1955 var router = {
1956 g: sendToApp,
1957 h: undefined
1958 };
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)
1969 var value = msg.a;
1971 if (msg.$ === 0)
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);
1979 }));
1982 return router.h = _Scheduler_rawSpawn(A2(_Scheduler_andThen, loop, info.b));
1987// ROUTING
1990var _Platform_sendToApp = F2(function(router, msg)
1992 return _Scheduler_binding(function(callback)
1994 router.g(msg);
1995 callback(_Scheduler_succeed(_Utils_Tuple0));
1996 });
1997});
2000var _Platform_sendToSelf = F2(function(router, msg)
2002 return A2(_Scheduler_send, router.h, {
2003 $: 0,
2004 a: msg
2005 });
2006});
2010// BAGS
2013function _Platform_leaf(home)
2015 return function(value)
2017 return {
2018 $: 1,
2019 k: home,
2020 l: value
2021 };
2022 };
2026function _Platform_batch(list)
2028 return {
2029 $: 2,
2030 m: list
2031 };
2035var _Platform_map = F2(function(tagger, bag)
2037 return {
2038 $: 3,
2039 n: tagger,
2040 o: bag
2042});
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], {
2103 $: 'fx',
2104 a: effectsDict[home] || { i: _List_Nil, j: _List_Nil }
2105 });
2110function _Platform_gatherEffects(isCmd, bag, effectsDict, taggers)
2112 switch (bag.$)
2114 case 1:
2115 var home = bag.k;
2116 var effect = _Platform_toEffect(isCmd, home, taggers, bag.l);
2117 effectsDict[home] = _Platform_insert(isCmd, effect, effectsDict[home]);
2118 return;
2120 case 2:
2121 for (var list = bag.m; list.b; list = list.b) // WHILE_CONS
2123 _Platform_gatherEffects(isCmd, list.a, effectsDict, taggers);
2125 return;
2127 case 3:
2128 _Platform_gatherEffects(isCmd, bag.o, effectsDict, {
2129 s: bag.n,
2130 t: taggers
2131 });
2132 return;
2137function _Platform_toEffect(isCmd, home, taggers, value)
2139 function applyTaggers(x)
2141 for (var temp = taggers; temp; temp = temp.t)
2143 x = temp.s(x);
2145 return x;
2148 var map = isCmd
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 };
2160 isCmd
2161 ? (effects.i = _List_Cons(newEffect, effects.i))
2162 : (effects.j = _List_Cons(newEffect, effects.j));
2164 return effects;
2169// PORTS
2172function _Platform_checkPortName(name)
2174 if (_Platform_effectManagers[name])
2176 _Debug_crash(3, name)
2182// OUTGOING PORTS
2185function _Platform_outgoingPort(name, converter)
2187 _Platform_checkPortName(name);
2188 _Platform_effectManagers[name] = {
2189 e: _Platform_outgoingPortMap,
2190 u: converter,
2191 a: _Platform_setupOutgoingPort
2192 };
2193 return _Platform_leaf(name);
2197var _Platform_outgoingPortMap = F2(function(tagger, value) { return value; });
2200function _Platform_setupOutgoingPort(name)
2202 var subs = [];
2203 var converter = _Platform_effectManagers[name].u;
2205 // CREATE MANAGER
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);
2222 return init;
2223 });
2225 // PUBLIC API
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);
2238 if (index >= 0)
2240 subs.splice(index, 1);
2244 return {
2245 subscribe: subscribe,
2246 unsubscribe: unsubscribe
2247 };
2252// INCOMING PORTS
2255function _Platform_incomingPort(name, converter)
2257 _Platform_checkPortName(name);
2258 _Platform_effectManagers[name] = {
2259 f: _Platform_incomingPortMap,
2260 u: converter,
2261 a: _Platform_setupIncomingPort
2262 };
2263 return _Platform_leaf(name);
2267var _Platform_incomingPortMap = F2(function(tagger, finalTagger)
2269 return function(value)
2271 return tagger(finalTagger(value));
2272 };
2273});
2276function _Platform_setupIncomingPort(name, sendToApp)
2278 var subs = _List_Nil;
2279 var converter = _Platform_effectManagers[name].u;
2281 // CREATE MANAGER
2283 var init = _Scheduler_succeed(null);
2285 _Platform_effectManagers[name].b = init;
2286 _Platform_effectManagers[name].c = F3(function(router, subList, state)
2288 subs = subList;
2289 return init;
2290 });
2292 // PUBLIC API
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)
2321 scope['Elm']
2322 ? _Platform_mergeExportsProd(scope['Elm'], exports)
2323 : scope['Elm'] = exports;
2327function _Platform_mergeExportsProd(obj, exports)
2329 for (var name in exports)
2331 (name in obj)
2332 ? (name == 'init')
2333 ? _Debug_crash(6)
2334 : _Platform_mergeExportsProd(obj[name], exports[name])
2335 : (obj[name] = exports[name]);
2340function _Platform_export(exports)
2342 scope['Elm']
2343 ? _Platform_mergeExportsDebug('Elm', scope['Elm'], exports)
2344 : scope['Elm'] = exports;
2348function _Platform_mergeExportsDebug(moduleName, obj, exports)
2350 for (var name in exports)
2352 (name in obj)
2353 ? (name == 'init')
2354 ? _Debug_crash(6, moduleName)
2355 : _Platform_mergeExportsDebug(moduleName + '.' + name, obj[name], exports[name])
2356 : (obj[name] = exports[name]);
2363// HELPERS
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
2380 /**_UNUSED/
2381 var node = args['node'];
2382 //*/
2383 /**/
2384 var node = args && args['node'] ? args['node'] : _Debug_crash(0);
2385 //*/
2387 node.parentNode.replaceChild(
2388 _VirtualDom_render(virtualNode, function() {}),
2389 node
2390 );
2392 return {};
2393});
2397// TEXT
2400function _VirtualDom_text(string)
2402 return {
2403 $: 0,
2404 a: string
2405 };
2410// NODE
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);
2421 kids.push(kid);
2423 descendantsCount += kids.length;
2425 return {
2426 $: 1,
2427 c: tag,
2428 d: _VirtualDom_organizeFacts(factList),
2429 e: kids,
2430 f: namespace,
2431 b: descendantsCount
2432 };
2433 });
2434});
2437var _VirtualDom_node = _VirtualDom_nodeNS(undefined);
2441// KEYED NODE
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);
2452 kids.push(kid);
2454 descendantsCount += kids.length;
2456 return {
2457 $: 2,
2458 c: tag,
2459 d: _VirtualDom_organizeFacts(factList),
2460 e: kids,
2461 f: namespace,
2462 b: descendantsCount
2463 };
2464 });
2465});
2468var _VirtualDom_keyedNode = _VirtualDom_keyedNodeNS(undefined);
2472// CUSTOM
2475function _VirtualDom_custom(factList, model, render, diff)
2477 return {
2478 $: 3,
2479 d: _VirtualDom_organizeFacts(factList),
2480 g: model,
2481 h: render,
2482 i: diff
2483 };
2488// MAP
2491var _VirtualDom_map = F2(function(tagger, node)
2493 return {
2494 $: 4,
2495 j: tagger,
2496 k: node,
2497 b: 1 + (node.b || 0)
2498 };
2499});
2503// LAZY
2506function _VirtualDom_thunk(refs, thunk)
2508 return {
2509 $: 5,
2510 l: refs,
2511 m: thunk,
2512 k: undefined
2513 };
2516var _VirtualDom_lazy = F2(function(func, a)
2518 return _VirtualDom_thunk([func, a], function() {
2519 return func(a);
2520 });
2521});
2523var _VirtualDom_lazy2 = F3(function(func, a, b)
2525 return _VirtualDom_thunk([func, a, b], function() {
2526 return A2(func, a, b);
2527 });
2528});
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);
2534 });
2535});
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);
2541 });
2542});
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);
2548 });
2549});
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);
2555 });
2556});
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);
2562 });
2563});
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);
2569 });
2570});
2574// FACTS
2577var _VirtualDom_on = F2(function(key, handler)
2579 return {
2580 $: 'a0',
2581 n: key,
2582 o: handler
2583 };
2584});
2585var _VirtualDom_style = F2(function(key, value)
2587 return {
2588 $: 'a1',
2589 n: key,
2590 o: value
2591 };
2592});
2593var _VirtualDom_property = F2(function(key, value)
2595 return {
2596 $: 'a2',
2597 n: key,
2598 o: value
2599 };
2600});
2601var _VirtualDom_attribute = F2(function(key, value)
2603 return {
2604 $: 'a3',
2605 n: key,
2606 o: value
2607 };
2608});
2609var _VirtualDom_attributeNS = F3(function(namespace, key, value)
2611 return {
2612 $: 'a4',
2613 n: key,
2614 o: { f: namespace, o: value }
2615 };
2616});
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
2625// so freaky.
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.")'//*/
2659 : value;
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.")'//*/
2666 : value;
2669function _VirtualDom_noJavaScriptOrHtmlJson(value)
2671 return (typeof _Json_unwrap(value) === 'string' && _VirtualDom_RE_js_html.test(_Json_unwrap(value)))
2672 ? _Json_wrap(
2673 /**_UNUSED/''//*//**/'javascript:alert("This is an XSS vector. Please use ports or web components instead.")'//*/
2674 ) : value;
2679// MAP FACTS
2682var _VirtualDom_mapAttribute = F2(function(func, attr)
2684 return (attr.$ === 'a0')
2685 ? A2(_VirtualDom_on, attr.n, _VirtualDom_mapHandler(func, attr.o))
2686 : attr;
2687});
2689function _VirtualDom_mapHandler(func, handler)
2691 var tag = $elm$virtual_dom$VirtualDom$toHandlerInt(handler);
2693 // 0 = Normal
2694 // 1 = MayStopPropagation
2695 // 2 = MayPreventDefault
2696 // 3 = Custom
2698 return {
2699 $: handler.$,
2700 a:
2701 !tag
2702 ? A2($elm$json$Json$Decode$map, func, handler.a)
2704 A3($elm$json$Json$Decode$map2,
2705 tag < 3
2706 ? _VirtualDom_mapEventTuple
2707 : _VirtualDom_mapEventRecord,
2708 $elm$json$Json$Decode$succeed(func),
2709 handler.a
2711 };
2714var _VirtualDom_mapEventTuple = F2(function(func, tuple)
2716 return _Utils_Tuple2(func(tuple.a), tuple.b);
2717});
2719var _VirtualDom_mapEventRecord = F2(function(func, record)
2721 return {
2722 message: func(record.message),
2723 stopPropagation: record.stopPropagation,
2724 preventDefault: record.preventDefault
2726});
2730// ORGANIZE FACTS
2733function _VirtualDom_organizeFacts(factList)
2735 for (var facts = {}; factList.b; factList = factList.b) // WHILE_CONS
2737 var entry = factList.a;
2739 var tag = entry.$;
2740 var key = entry.n;
2741 var value = entry.o;
2743 if (tag === 'a2')
2745 (key === 'className')
2746 ? _VirtualDom_addClass(facts, key, _Json_unwrap(value))
2747 : facts[key] = _Json_unwrap(value);
2749 continue;
2752 var subFacts = facts[tag] || (facts[tag] = {});
2753 (tag === 'a3' && key === 'class')
2754 ? _VirtualDom_addClass(subFacts, key, value)
2755 : subFacts[key] = value;
2758 return facts;
2761function _VirtualDom_addClass(object, key, newClass)
2763 var classes = object[key];
2764 object[key] = classes ? classes + ' ' + newClass : newClass;
2769// RENDER
2772function _VirtualDom_render(vNode, eventNode)
2774 var tag = vNode.$;
2776 if (tag === 5)
2778 return _VirtualDom_render(vNode.k || (vNode.k = vNode.m()), eventNode);
2781 if (tag === 0)
2783 return _VirtualDom_doc.createTextNode(vNode.a);
2786 if (tag === 4)
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;
2803 return domNode;
2806 if (tag === 3)
2808 var domNode = vNode.h(vNode.g);
2809 _VirtualDom_applyFacts(domNode, eventNode, vNode.d);
2810 return domNode;
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));
2831 return domNode;
2836// APPLY FACTS
2839function _VirtualDom_applyFacts(domNode, eventNode, facts)
2841 for (var key in facts)
2843 var value = facts[key];
2845 key === 'a1'
2846 ? _VirtualDom_applyStyles(domNode, value)
2848 key === 'a0'
2849 ? _VirtualDom_applyEvents(domNode, eventNode, value)
2851 key === 'a3'
2852 ? _VirtualDom_applyAttrs(domNode, value)
2854 key === 'a4'
2855 ? _VirtualDom_applyAttrsNS(domNode, value)
2857 ((key !== 'value' && key !== 'checked') || domNode[key] !== value) && (domNode[key] = value);
2863// APPLY STYLES
2866function _VirtualDom_applyStyles(domNode, styles)
2868 var domNodeStyle = domNode.style;
2870 for (var key in styles)
2872 domNodeStyle[key] = styles[key];
2878// APPLY ATTRS
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;
2903 var value = pair.o;
2905 typeof value !== 'undefined'
2906 ? domNode.setAttributeNS(namespace, key, value)
2907 : domNode.removeAttributeNS(namespace, key);
2913// APPLY EVENTS
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];
2925 if (!newHandler)
2927 domNode.removeEventListener(key, oldCallback);
2928 allCallbacks[key] = undefined;
2929 continue;
2932 if (oldCallback)
2934 var oldHandler = oldCallback.q;
2935 if (oldHandler.$ === newHandler.$)
2937 oldCallback.q = newHandler;
2938 continue;
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 }
2947 );
2948 allCallbacks[key] = oldCallback;
2954// PASSIVE EVENTS
2957var _VirtualDom_passiveSupported;
2959try
2961 window.addEventListener('t', null, Object.defineProperty({}, 'passive', {
2962 get: function() { _VirtualDom_passiveSupported = true; }
2963 }));
2965catch(e) {}
2969// EVENT HANDLERS
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))
2981 return;
2984 var tag = $elm$virtual_dom$VirtualDom$toHandlerInt(handler);
2986 // 0 = Normal
2987 // 1 = MayStopPropagation
2988 // 2 = MayPreventDefault
2989 // 3 = Custom
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(),
2997 eventNode
2998 );
2999 var tagger;
3000 var i;
3001 while (tagger = currentEventNode.j)
3003 if (typeof tagger == 'function')
3005 message = tagger(message);
3007 else
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;
3021 return callback;
3024function _VirtualDom_equalEvents(x, y)
3026 return x.$ == y.$ && _Json_equality(x.a, y.a);
3031// DIFF
3034// TODO: Should we do patches like in iOS?
3036// type Patch
3037// = At Int Patch
3038// | Batch (List Patch)
3039// | Change ...
3041// How could it not be better?
3043function _VirtualDom_diff(x, y)
3045 var patches = [];
3046 _VirtualDom_diffHelp(x, y, patches, 0);
3047 return patches;
3051function _VirtualDom_pushPatch(patches, type, index, data)
3053 var patch = {
3054 $: type,
3055 r: index,
3056 s: data,
3057 t: undefined,
3058 u: undefined
3059 };
3060 patches.push(patch);
3061 return patch;
3065function _VirtualDom_diffHelp(x, y, patches, index)
3067 if (x === y)
3069 return;
3072 var xType = x.$;
3073 var yType = y.$;
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);
3082 yType = 1;
3084 else
3086 _VirtualDom_pushPatch(patches, 0, index, y);
3087 return;
3091 // Now we know that both nodes are the same $.
3092 switch (yType)
3094 case 5:
3095 var xRefs = x.l;
3096 var yRefs = y.l;
3097 var i = xRefs.length;
3098 var same = i === yRefs.length;
3099 while (same && i--)
3101 same = xRefs[i] === yRefs[i];
3103 if (same)
3105 y.k = x.k;
3106 return;
3108 y.k = y.m();
3109 var subPatches = [];
3110 _VirtualDom_diffHelp(x.k, y.k, subPatches, 0);
3111 subPatches.length > 0 && _VirtualDom_pushPatch(patches, 1, index, subPatches);
3112 return;
3114 case 4:
3115 // gather nested taggers
3116 var xTaggers = x.j;
3117 var yTaggers = y.j;
3118 var nesting = false;
3120 var xSubNode = x.k;
3121 while (xSubNode.$ === 4)
3123 nesting = true;
3125 typeof xTaggers !== 'object'
3126 ? xTaggers = [xTaggers, xSubNode.j]
3127 : xTaggers.push(xSubNode.j);
3129 xSubNode = xSubNode.k;
3132 var ySubNode = y.k;
3133 while (ySubNode.$ === 4)
3135 nesting = true;
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);
3149 return;
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);
3160 return;
3162 case 0:
3163 if (x.a !== y.a)
3165 _VirtualDom_pushPatch(patches, 3, index, y.a);
3167 return;
3169 case 1:
3170 _VirtualDom_diffNodes(x, y, patches, index, _VirtualDom_diffKids);
3171 return;
3173 case 2:
3174 _VirtualDom_diffNodes(x, y, patches, index, _VirtualDom_diffKeyedKids);
3175 return;
3177 case 3:
3178 if (x.h !== y.h)
3180 _VirtualDom_pushPatch(patches, 0, index, y);
3181 return;
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);
3190 return;
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])
3201 return false;
3205 return true;
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);
3215 return;
3218 var factsDiff = _VirtualDom_diffFacts(x.d, y.d);
3219 factsDiff && _VirtualDom_pushPatch(patches, 4, index, factsDiff);
3221 diffKids(x, y, patches, index);
3226// DIFF FACTS
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)
3234 var diff;
3236 // look for changes and removals
3237 for (var xKey in x)
3239 if (xKey === 'a1' || xKey === 'a0' || xKey === 'a3' || xKey === 'a4')
3241 var subDiff = _VirtualDom_diffFacts(x[xKey], y[xKey] || {}, xKey);
3242 if (subDiff)
3244 diff = diff || {};
3245 diff[xKey] = subDiff;
3247 continue;
3250 // remove if not in the new facts
3251 if (!(xKey in y))
3253 diff = diff || {};
3254 diff[xKey] =
3255 !category
3256 ? (typeof x[xKey] === 'string' ? '' : null)
3258 (category === 'a1')
3259 ? ''
3261 (category === 'a0' || category === 'a3')
3262 ? undefined
3264 { f: x[xKey].f, o: undefined };
3266 continue;
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))
3276 continue;
3279 diff = diff || {};
3280 diff[xKey] = yValue;
3283 // add new stuff
3284 for (var yKey in y)
3286 if (!(yKey in x))
3288 diff = diff || {};
3289 diff[yKey] = y[yKey];
3293 return diff;
3298// DIFF KIDS
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
3311 if (xLen > yLen)
3313 _VirtualDom_pushPatch(patches, 6, index, {
3314 v: yLen,
3315 i: xLen - yLen
3316 });
3318 else if (xLen < yLen)
3320 _VirtualDom_pushPatch(patches, 7, index, {
3321 v: xLen,
3322 e: yKids
3323 });
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;
3338// KEYED DIFF
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;
3353 var xIndex = 0;
3354 var yIndex = 0;
3356 var index = rootIndex;
3358 while (xIndex < xLen && yIndex < yLen)
3360 var x = xKids[xIndex];
3361 var y = yKids[yIndex];
3363 var xKey = x.a;
3364 var yKey = y.a;
3365 var xNode = x.b;
3366 var yNode = y.b;
3368 var newMatch = undefined;
3369 var oldMatch = undefined;
3371 // check if keys match
3373 if (xKey === yKey)
3375 index++;
3376 _VirtualDom_diffHelp(xNode, yNode, localPatches, index);
3377 index += xNode.b || 0;
3379 xIndex++;
3380 yIndex++;
3381 continue;
3384 // look ahead 1 to detect insertions and removals.
3386 var xNext = xKids[xIndex + 1];
3387 var yNext = yKids[yIndex + 1];
3389 if (xNext)
3391 var xNextKey = xNext.a;
3392 var xNextNode = xNext.b;
3393 oldMatch = yKey === xNextKey;
3396 if (yNext)
3398 var yNextKey = yNext.a;
3399 var yNextNode = yNext.b;
3400 newMatch = xKey === yNextKey;
3404 // swap x and y
3405 if (newMatch && oldMatch)
3407 index++;
3408 _VirtualDom_diffHelp(xNode, yNextNode, localPatches, index);
3409 _VirtualDom_insertNode(changes, localPatches, xKey, yNode, yIndex, inserts);
3410 index += xNode.b || 0;
3412 index++;
3413 _VirtualDom_removeNode(changes, localPatches, xKey, xNextNode, index);
3414 index += xNextNode.b || 0;
3416 xIndex += 2;
3417 yIndex += 2;
3418 continue;
3421 // insert y
3422 if (newMatch)
3424 index++;
3425 _VirtualDom_insertNode(changes, localPatches, yKey, yNode, yIndex, inserts);
3426 _VirtualDom_diffHelp(xNode, yNextNode, localPatches, index);
3427 index += xNode.b || 0;
3429 xIndex += 1;
3430 yIndex += 2;
3431 continue;
3434 // remove x
3435 if (oldMatch)
3437 index++;
3438 _VirtualDom_removeNode(changes, localPatches, xKey, xNode, index);
3439 index += xNode.b || 0;
3441 index++;
3442 _VirtualDom_diffHelp(xNextNode, yNode, localPatches, index);
3443 index += xNextNode.b || 0;
3445 xIndex += 2;
3446 yIndex += 1;
3447 continue;
3450 // remove x, insert y
3451 if (xNext && xNextKey === yNextKey)
3453 index++;
3454 _VirtualDom_removeNode(changes, localPatches, xKey, xNode, index);
3455 _VirtualDom_insertNode(changes, localPatches, yKey, yNode, yIndex, inserts);
3456 index += xNode.b || 0;
3458 index++;
3459 _VirtualDom_diffHelp(xNextNode, yNextNode, localPatches, index);
3460 index += xNextNode.b || 0;
3462 xIndex += 2;
3463 yIndex += 2;
3464 continue;
3467 break;
3470 // eat up any remaining nodes with removeNode and insertNode
3472 while (xIndex < xLen)
3474 index++;
3475 var x = xKids[xIndex];
3476 var xNode = x.b;
3477 _VirtualDom_removeNode(changes, localPatches, x.a, xNode, index);
3478 index += xNode.b || 0;
3479 xIndex++;
3482 while (yIndex < yLen)
3484 var endInserts = endInserts || [];
3485 var y = yKids[yIndex];
3486 _VirtualDom_insertNode(changes, localPatches, y.a, y.b, undefined, endInserts);
3487 yIndex++;
3490 if (localPatches.length > 0 || inserts.length > 0 || endInserts)
3492 _VirtualDom_pushPatch(patches, 8, rootIndex, {
3493 w: localPatches,
3494 x: inserts,
3495 y: endInserts
3496 });
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
3513 if (!entry)
3515 entry = {
3516 c: 0,
3517 z: vnode,
3518 r: yIndex,
3519 s: undefined
3520 };
3522 inserts.push({ r: yIndex, A: entry });
3523 changes[key] = entry;
3525 return;
3528 // this key was removed earlier, a match!
3529 if (entry.c === 1)
3531 inserts.push({ r: yIndex, A: entry });
3533 entry.c = 2;
3534 var subPatches = [];
3535 _VirtualDom_diffHelp(entry.z, vnode, subPatches, entry.r);
3536 entry.r = yIndex;
3537 entry.s.s = {
3538 w: subPatches,
3539 A: entry
3540 };
3542 return;
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
3555 if (!entry)
3557 var patch = _VirtualDom_pushPatch(localPatches, 9, index, undefined);
3559 changes[key] = {
3560 c: 1,
3561 z: vnode,
3562 r: index,
3563 s: patch
3564 };
3566 return;
3569 // this key was inserted earlier, a match!
3570 if (entry.c === 0)
3572 entry.c = 2;
3573 var subPatches = [];
3574 _VirtualDom_diffHelp(vnode, entry.z, subPatches, index);
3576 _VirtualDom_pushPatch(localPatches, 9, index, {
3577 w: subPatches,
3578 A: entry
3579 });
3581 return;
3584 // this key has already been removed or moved, a duplicate!
3585 _VirtualDom_removeNode(changes, localPatches, key + _VirtualDom_POSTFIX, vnode, index);
3590// ADD DOM NODES
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)
3620 patch.t = domNode;
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)
3631 patch.t = domNode;
3632 patch.u = eventNode;
3634 var data = patch.s;
3635 if (data)
3637 data.A.s = domNode;
3638 var subPatches = data.w;
3639 if (subPatches.length > 0)
3641 _VirtualDom_addDomNodesHelp(domNode, vNode, subPatches, 0, low, high, eventNode);
3645 else
3647 patch.t = domNode;
3648 patch.u = eventNode;
3651 i++;
3653 if (!(patch = patches[i]) || (index = patch.r) > high)
3655 return i;
3659 var tag = vNode.$;
3661 if (tag === 4)
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++)
3679 low++;
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)
3687 return i;
3690 low = nextLow;
3692 return i;
3697// APPLY PATCHES
3700function _VirtualDom_applyPatches(rootDomNode, oldVirtualNode, patches, eventNode)
3702 if (patches.length === 0)
3704 return rootDomNode;
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;
3723 return rootDomNode;
3726function _VirtualDom_applyPatch(domNode, patch)
3728 switch (patch.$)
3730 case 0:
3731 return _VirtualDom_applyPatchRedraw(domNode, patch.s, patch.u);
3733 case 4:
3734 _VirtualDom_applyFacts(domNode, patch.u, patch.s);
3735 return domNode;
3737 case 3:
3738 domNode.replaceData(0, domNode.length, patch.s);
3739 return domNode;
3741 case 1:
3742 return _VirtualDom_applyPatchesHelp(domNode, patch.s);
3744 case 2:
3745 if (domNode.elm_event_node_ref)
3747 domNode.elm_event_node_ref.j = patch.s;
3749 else
3751 domNode.elm_event_node_ref = { j: patch.s, p: patch.u };
3753 return domNode;
3755 case 6:
3756 var data = patch.s;
3757 for (var i = 0; i < data.i; i++)
3759 domNode.removeChild(domNode.childNodes[data.v]);
3761 return domNode;
3763 case 7:
3764 var data = patch.s;
3765 var kids = data.e;
3766 var i = data.v;
3767 var theEnd = domNode.childNodes[i];
3768 for (; i < kids.length; i++)
3770 domNode.insertBefore(_VirtualDom_render(kids[i], patch.u), theEnd);
3772 return domNode;
3774 case 9:
3775 var data = patch.s;
3776 if (!data)
3778 domNode.parentNode.removeChild(domNode);
3779 return domNode;
3781 var entry = data.A;
3782 if (typeof entry.r !== 'undefined')
3784 domNode.parentNode.removeChild(domNode);
3786 entry.s = _VirtualDom_applyPatchesHelp(domNode, data.w);
3787 return domNode;
3789 case 8:
3790 return _VirtualDom_applyPatchReorder(domNode, patch);
3792 case 5:
3793 return patch.s(domNode);
3795 default:
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);
3815 return newNode;
3819function _VirtualDom_applyPatchReorder(domNode, patch)
3821 var data = patch.s;
3823 // remove end inserts
3824 var frag = _VirtualDom_applyPatchReorderEndInsertsHelp(data.y, patch);
3826 // removals
3827 domNode = _VirtualDom_applyPatchesHelp(domNode, data.w);
3829 // inserts
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
3836 ? entry.s
3837 : _VirtualDom_render(entry.z, patch.u);
3838 domNode.insertBefore(node, domNode.childNodes[insert.r]);
3841 // add end inserts
3842 if (frag)
3844 _VirtualDom_appendChild(domNode, frag);
3847 return domNode;
3851function _VirtualDom_applyPatchReorderEndInsertsHelp(endInserts, patch)
3853 if (!endInserts)
3855 return;
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
3864 ? entry.s
3865 : _VirtualDom_render(entry.z, patch.u)
3866 );
3868 return frag;
3872function _VirtualDom_virtualize(node)
3874 // TEXT NODES
3876 if (node.nodeType === 3)
3878 return _VirtualDom_text(node.textContent);
3882 // WEIRD NODES
3884 if (node.nodeType !== 1)
3886 return _VirtualDom_text('');
3890 // ELEMENT NODES
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;
3923 return {
3924 $: 1,
3925 c: keyedNode.c,
3926 d: keyedNode.d,
3927 e: kids,
3928 f: keyedNode.f,
3929 b: keyedNode.b
3930 };
3936// ELEMENT
3939var _Debugger_element;
3941var _Browser_element = _Debugger_element || F4(function(impl, flagDecoder, debugMetadata, args)
3943 return _Platform_initialize(
3944 flagDecoder,
3945 args,
3946 impl.init,
3947 impl.update,
3948 impl.subscriptions,
3949 function(sendToApp, initialModel) {
3950 var view = impl.view;
3951 /**_UNUSED/
3952 var domNode = args['node'];
3953 //*/
3954 /**/
3955 var domNode = args && args['node'] ? args['node'] : _Debug_crash(0);
3956 //*/
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;
3965 });
3967 );
3968});
3972// DOCUMENT
3975var _Debugger_document;
3977var _Browser_document = _Debugger_document || F4(function(impl, flagDecoder, debugMetadata, args)
3979 return _Platform_initialize(
3980 flagDecoder,
3981 args,
3982 impl.init,
3983 impl.update,
3984 impl.subscriptions,
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);
4001 });
4003 );
4004});
4008// ANIMATION
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)
4024 draw(model);
4026 var state = 0;
4028 function updateIfNeeded()
4030 state = state === 1
4031 ? 0
4032 : ( _Browser_requestAnimationFrame(updateIfNeeded), draw(model), 1 );
4035 return function(nextModel, isSync)
4037 model = nextModel;
4039 isSync
4040 ? ( draw(model),
4041 state === 2 && (state = 1)
4043 : ( state === 0 && _Browser_requestAnimationFrame(updateIfNeeded),
4044 state = 2
4045 );
4046 };
4051// APPLICATION
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)
4063 key.a = 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(
4076 (next
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)
4083 ));
4085 });
4086 },
4087 init: function(flags)
4089 return A3(impl.init, flags, _Browser_getUrl(), key);
4090 },
4091 view: impl.view,
4092 update: impl.update,
4093 subscriptions: impl.subscriptions
4094 });
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() {
4105 n && history.go(n);
4106 key();
4107 }));
4108});
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);
4114 key();
4115 }));
4116});
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);
4122 key();
4123 }));
4124});
4128// GLOBAL EVENTS
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); };
4142 }));
4143});
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;
4149});
4153// PAGE VISIBILITY
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' };
4174// ANIMATION FRAMES
4177function _Browser_rAF()
4179 return _Scheduler_binding(function(callback)
4181 var id = _Browser_requestAnimationFrame(function() {
4182 callback(_Scheduler_succeed(Date.now()));
4183 });
4185 return function() {
4186 _Browser_cancelAnimationFrame(id);
4187 };
4188 });
4192function _Browser_now()
4194 return _Scheduler_binding(function(callback)
4196 callback(_Scheduler_succeed(Date.now()));
4197 });
4202// DOM STUFF
4205function _Browser_withNode(id, doStuff)
4207 return _Scheduler_binding(function(callback)
4209 _Browser_requestAnimationFrame(function() {
4210 var node = document.getElementById(id);
4211 callback(node
4212 ? _Scheduler_succeed(doStuff(node))
4213 : _Scheduler_fail($elm$browser$Browser$Dom$NotFound(id))
4214 );
4215 });
4216 });
4220function _Browser_withWindow(doStuff)
4222 return _Scheduler_binding(function(callback)
4224 _Browser_requestAnimationFrame(function() {
4225 callback(_Scheduler_succeed(doStuff()));
4226 });
4227 });
4231// FOCUS and BLUR
4234var _Browser_call = F2(function(functionName, id)
4236 return _Browser_withNode(id, function(node) {
4237 node[functionName]();
4238 return _Utils_Tuple0;
4239 });
4240});
4244// WINDOW VIEWPORT
4247function _Browser_getViewport()
4249 return {
4250 scene: _Browser_getScene(),
4251 viewport: {
4252 x: _Browser_window.pageXOffset,
4253 y: _Browser_window.pageYOffset,
4254 width: _Browser_doc.documentElement.clientWidth,
4255 height: _Browser_doc.documentElement.clientHeight
4257 };
4260function _Browser_getScene()
4262 var body = _Browser_doc.body;
4263 var elem = _Browser_doc.documentElement;
4264 return {
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)
4267 };
4270var _Browser_setViewport = F2(function(x, y)
4272 return _Browser_withWindow(function()
4274 _Browser_window.scroll(x, y);
4275 return _Utils_Tuple0;
4276 });
4277});
4281// ELEMENT VIEWPORT
4284function _Browser_getViewportOf(id)
4286 return _Browser_withNode(id, function(node)
4288 return {
4289 scene: {
4290 width: node.scrollWidth,
4291 height: node.scrollHeight
4292 },
4293 viewport: {
4294 x: node.scrollLeft,
4295 y: node.scrollTop,
4296 width: node.clientWidth,
4297 height: node.clientHeight
4299 };
4300 });
4304var _Browser_setViewportOf = F3(function(id, x, y)
4306 return _Browser_withNode(id, function(node)
4308 node.scrollLeft = x;
4309 node.scrollTop = y;
4310 return _Utils_Tuple0;
4311 });
4312});
4316// ELEMENT
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;
4326 return {
4327 scene: _Browser_getScene(),
4328 viewport: {
4329 x: x,
4330 y: y,
4331 width: _Browser_doc.documentElement.clientWidth,
4332 height: _Browser_doc.documentElement.clientHeight
4333 },
4334 element: {
4335 x: x + rect.left,
4336 y: y + rect.top,
4337 width: rect.width,
4338 height: rect.height
4340 };
4341 });
4346// LOAD and RELOAD
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);
4354 }));
4357function _Browser_load(url)
4359 return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function(callback)
4361 try
4363 _Browser_window.location = url;
4365 catch(err)
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);
4371 }));
4376function _Time_now(millisToPosix)
4378 return _Scheduler_binding(function(callback)
4380 callback(_Scheduler_succeed(millisToPosix(Date.now())));
4381 });
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); };
4390 });
4391});
4393function _Time_here()
4395 return _Scheduler_binding(function(callback)
4397 callback(_Scheduler_succeed(
4398 A2($elm$time$Time$customZone, -(new Date().getTimezoneOffset()), _List_Nil)
4399 ));
4400 });
4404function _Time_getZoneName()
4406 return _Scheduler_binding(function(callback)
4408 try
4410 var name = $elm$time$Time$Name(Intl.DateTimeFormat().resolvedOptions().timeZone);
4412 catch (e)
4414 var name = $elm$time$Time$Offset(new Date().getTimezoneOffset());
4416 callback(_Scheduler_succeed(name));
4417 });
4423// STRINGS
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);
4434 isGood =
4435 smallString[i++] === bigString[offset++]
4436 && (
4437 code === 0x000A /* \n */
4438 ? ( row++, col=1 )
4439 : ( col++, (code & 0xF800) === 0xD800 ? smallString[i++] === bigString[offset++] : 1 )
4443 return _Utils_Tuple3(isGood ? offset : -1, row, col);
4444});
4448// CHARS
4451var _Parser_isSubChar = F3(function(predicate, offset, string)
4453 return (
4454 string.length <= offset
4455 ? -1
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))
4462 : -1
4464 );
4465});
4468var _Parser_isAsciiCode = F3(function(code, offset, string)
4470 return string.charCodeAt(offset) === code;
4471});
4475// NUMBERS
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)
4485 return offset;
4488 return offset;
4489});
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);
4501});
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;
4521 else
4523 break;
4526 return _Utils_Tuple2(offset, total);
4527});
4531// FIND STRING
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 */
4543 ? ( col=1, row++ )
4544 : ( col++, (code & 0xF800) === 0xD800 && offset++ )
4547 return _Utils_Tuple3(newOffset, row, col);
4548});
4552// SEND REQUEST
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);
4568 try {
4569 xhr.open(request.method, request.url, true);
4570 } catch (e) {
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(); };
4580 });
4581});
4584// CONFIGURE
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;
4598// RESPONSES
4600function _Http_toResponse(toBody, xhr)
4602 return A2(
4603 200 <= xhr.status && xhr.status < 300 ? $elm$http$Http$GoodStatus_ : $elm$http$Http$BadStatus_,
4604 _Http_toMetadata(xhr),
4605 toBody(xhr.response)
4606 );
4610// METADATA
4612function _Http_toMetadata(xhr)
4614 return {
4615 url: xhr.responseURL,
4616 statusCode: xhr.status,
4617 statusText: xhr.statusText,
4618 headers: _Http_parseHeaders(xhr.getAllResponseHeaders())
4619 };
4623// HEADERS
4625function _Http_parseHeaders(rawHeaders)
4627 if (!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(': ');
4638 if (index > 0)
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
4646 : value
4647 );
4648 }, headers);
4651 return headers;
4655// EXPECT
4657var _Http_expect = F3(function(type, toBody, toValue)
4659 return {
4660 $: 0,
4661 d: type,
4662 b: toBody,
4663 a: toValue
4664 };
4665});
4667var _Http_mapExpect = F2(function(func, expect)
4669 return {
4670 $: 0,
4671 d: expect.d,
4672 b: expect.b,
4673 a: function(x) { return func(expect.a(x)); }
4674 };
4675});
4677function _Http_toDataView(arrayBuffer)
4679 return new DataView(arrayBuffer);
4683// BODY and PARTS
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
4692 var part = parts.a;
4693 formData.append(part.a, part.b);
4695 return formData;
4698var _Http_bytesToBlob = F2(function(mime, bytes)
4700 return new Blob([bytes], { type: mime });
4701});
4704// PROGRESS
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({
4713 sent: event.loaded,
4714 size: event.total
4715 }))));
4716 });
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
4722 }))));
4723 });
4726function _Url_percentEncode(string)
4728 return encodeURIComponent(string);
4731function _Url_percentDecode(string)
4733 try
4735 return $elm$core$Maybe$Just(decodeURIComponent(string));
4737 catch (e)
4739 return $elm$core$Maybe$Nothing;
4744var _Bitwise_and = F2(function(a, b)
4746 return a & b;
4747});
4749var _Bitwise_or = F2(function(a, b)
4751 return a | b;
4752});
4754var _Bitwise_xor = F2(function(a, b)
4756 return a ^ b;
4757});
4759function _Bitwise_complement(a)
4761 return ~a;
4764var _Bitwise_shiftLeftBy = F2(function(offset, a)
4766 return a << offset;
4767});
4769var _Bitwise_shiftRightBy = F2(function(offset, a)
4771 return a >> offset;
4772});
4774var _Bitwise_shiftRightZfBy = F2(function(offset, a)
4776 return a >>> offset;
4777});
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) {
4790 foldr:
4791 while (true) {
4792 if (t.$ === 'RBEmpty_elm_builtin') {
4793 return acc;
4794 } else {
4795 var key = t.b;
4796 var value = t.c;
4797 var left = t.d;
4798 var right = t.e;
4799 var $temp$func = func,
4800 $temp$acc = A3(
4801 func,
4802 key,
4803 value,
4804 A3($elm$core$Dict$foldr, func, acc, right)),
4805 $temp$t = left;
4806 func = $temp$func;
4807 acc = $temp$acc;
4808 t = $temp$t;
4809 continue foldr;
4812 });
4813var $elm$core$Dict$toList = function (dict) {
4814 return A3(
4815 $elm$core$Dict$foldr,
4816 F3(
4817 function (key, value, list) {
4818 return A2(
4819 $elm$core$List$cons,
4820 _Utils_Tuple2(key, value),
4821 list);
4822 }),
4823 _List_Nil,
4824 dict);
4826var $elm$core$Dict$keys = function (dict) {
4827 return A3(
4828 $elm$core$Dict$foldr,
4829 F3(
4830 function (key, value, keyList) {
4831 return A2($elm$core$List$cons, key, keyList);
4832 }),
4833 _List_Nil,
4834 dict);
4836var $elm$core$Set$toList = function (_v0) {
4837 var dict = _v0.a;
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) {
4843 var tree = _v0.c;
4844 var tail = _v0.d;
4845 var helper = F2(
4846 function (node, acc) {
4847 if (node.$ === 'SubTree') {
4848 var subTree = node.a;
4849 return A3($elm$core$Elm$JsArray$foldr, helper, acc, subTree);
4850 } else {
4851 var values = node.a;
4852 return A3($elm$core$Elm$JsArray$foldr, func, acc, values);
4854 });
4855 return A3(
4856 $elm$core$Elm$JsArray$foldr,
4857 helper,
4858 A3($elm$core$Elm$JsArray$foldr, func, baseCase, tail),
4859 tree);
4860 });
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(
4868 function (a, b) {
4869 return {$: 'Failure', a: a, b: b};
4870 });
4871var $elm$json$Json$Decode$Field = F2(
4872 function (a, b) {
4873 return {$: 'Field', a: a, b: b};
4874 });
4875var $elm$json$Json$Decode$Index = F2(
4876 function (a, b) {
4877 return {$: 'Index', a: a, b: b};
4878 });
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) {
4898 return A2(
4899 _String_join,
4900 sep,
4901 _List_toArray(chunks));
4902 });
4903var $elm$core$String$split = F2(
4904 function (sep, string) {
4905 return _List_fromArray(
4906 A2(_String_split, sep, string));
4907 });
4908var $elm$json$Json$Decode$indent = function (str) {
4909 return A2(
4910 $elm$core$String$join,
4911 '\n ',
4912 A2($elm$core$String$split, '\n', str));
4914var $elm$core$List$foldl = F3(
4915 function (func, acc, list) {
4916 foldl:
4917 while (true) {
4918 if (!list.b) {
4919 return acc;
4920 } else {
4921 var x = list.a;
4922 var xs = list.b;
4923 var $temp$func = func,
4924 $temp$acc = A2(func, x, acc),
4925 $temp$list = xs;
4926 func = $temp$func;
4927 acc = $temp$acc;
4928 list = $temp$list;
4929 continue foldl;
4932 });
4933var $elm$core$List$length = function (xs) {
4934 return A3(
4935 $elm$core$List$foldl,
4936 F2(
4937 function (_v0, i) {
4938 return i + 1;
4939 }),
4940 0,
4941 xs);
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) {
4948 rangeHelp:
4949 while (true) {
4950 if (_Utils_cmp(lo, hi) < 1) {
4951 var $temp$lo = lo,
4952 $temp$hi = hi - 1,
4953 $temp$list = A2($elm$core$List$cons, hi, list);
4954 lo = $temp$lo;
4955 hi = $temp$hi;
4956 list = $temp$list;
4957 continue rangeHelp;
4958 } else {
4959 return list;
4962 });
4963var $elm$core$List$range = F2(
4964 function (lo, hi) {
4965 return A3($elm$core$List$rangeHelp, lo, hi, _List_Nil);
4966 });
4967var $elm$core$List$indexedMap = F2(
4968 function (f, xs) {
4969 return A3(
4970 $elm$core$List$map2,
4971 f,
4972 A2(
4973 $elm$core$List$range,
4974 0,
4975 $elm$core$List$length(xs) - 1),
4976 xs);
4977 });
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))));
5006 });
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) {
5012 errorToStringHelp:
5013 while (true) {
5014 switch (error.$) {
5015 case 'Field':
5016 var f = error.a;
5017 var err = error.b;
5018 var isSimple = function () {
5019 var _v1 = $elm$core$String$uncons(f);
5020 if (_v1.$ === 'Nothing') {
5021 return false;
5022 } else {
5023 var _v2 = _v1.a;
5024 var _char = _v2.a;
5025 var rest = _v2.b;
5026 return $elm$core$Char$isAlpha(_char) && A2($elm$core$String$all, $elm$core$Char$isAlphaNum, rest);
5028 }();
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;
5035 case 'Index':
5036 var i = error.a;
5037 var err = error.b;
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;
5044 case 'OneOf':
5045 var errors = error.a;
5046 if (!errors.b) {
5047 return 'Ran into a Json.Decode.oneOf with no possibilities' + function () {
5048 if (!context.b) {
5049 return '!';
5050 } else {
5051 return ' at json' + A2(
5052 $elm$core$String$join,
5053 '',
5054 $elm$core$List$reverse(context));
5056 }();
5057 } else {
5058 if (!errors.b.b) {
5059 var err = errors.a;
5060 var $temp$error = err,
5061 $temp$context = context;
5062 error = $temp$error;
5063 context = $temp$context;
5064 continue errorToStringHelp;
5065 } else {
5066 var starter = function () {
5067 if (!context.b) {
5068 return 'Json.Decode.oneOf';
5069 } else {
5070 return 'The Json.Decode.oneOf at json' + A2(
5071 $elm$core$String$join,
5072 '',
5073 $elm$core$List$reverse(context));
5075 }();
5076 var introduction = starter + (' failed in the following ' + ($elm$core$String$fromInt(
5077 $elm$core$List$length(errors)) + ' ways:'));
5078 return A2(
5079 $elm$core$String$join,
5080 '\n\n',
5081 A2(
5082 $elm$core$List$cons,
5083 introduction,
5084 A2($elm$core$List$indexedMap, $elm$json$Json$Decode$errorOneOf, errors)));
5087 default:
5088 var msg = error.a;
5089 var json = error.b;
5090 var introduction = function () {
5091 if (!context.b) {
5092 return 'Problem with the given value:\n\n';
5093 } else {
5094 return 'Problem with the value at json' + (A2(
5095 $elm$core$String$join,
5096 '',
5097 $elm$core$List$reverse(context)) + ':\n\n ');
5099 }();
5100 return introduction + ($elm$json$Json$Decode$indent(
5101 A2($elm$json$Json$Encode$encode, 4, json)) + ('\n\n' + msg));
5104 });
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};
5109 });
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);
5116 });
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(
5126 function (f, x) {
5127 return f(x);
5128 });
5129var $elm$core$Basics$apR = F2(
5130 function (x, f) {
5131 return f(x);
5132 });
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(
5138 function (x, y) {
5139 return (_Utils_cmp(x, y) > 0) ? x : y;
5140 });
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) {
5148 compressNodes:
5149 while (true) {
5150 var _v0 = A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, nodes);
5151 var node = _v0.a;
5152 var remainingNodes = _v0.b;
5153 var newAcc = A2(
5154 $elm$core$List$cons,
5155 $elm$core$Array$SubTree(node),
5156 acc);
5157 if (!remainingNodes.b) {
5158 return $elm$core$List$reverse(newAcc);
5159 } else {
5160 var $temp$nodes = remainingNodes,
5161 $temp$acc = newAcc;
5162 nodes = $temp$nodes;
5163 acc = $temp$acc;
5164 continue compressNodes;
5167 });
5168var $elm$core$Tuple$first = function (_v0) {
5169 var x = _v0.a;
5170 return x;
5172var $elm$core$Array$treeFromBuilder = F2(
5173 function (nodeList, nodeListSize) {
5174 treeFromBuilder:
5175 while (true) {
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;
5179 } else {
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;
5187 });
5188var $elm$core$Array$builderToArray = F2(
5189 function (reverseNodeList, builder) {
5190 if (!builder.nodeListSize) {
5191 return A4(
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,
5196 builder.tail);
5197 } else {
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);
5203 return A4(
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),
5207 tree,
5208 builder.tail);
5210 });
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) {
5215 initializeHelp:
5216 while (true) {
5217 if (fromIndex < 0) {
5218 return A2(
5219 $elm$core$Array$builderToArray,
5220 false,
5221 {nodeList: nodeList, nodeListSize: (len / $elm$core$Array$branchFactor) | 0, tail: tail});
5222 } else {
5223 var leaf = $elm$core$Array$Leaf(
5224 A3($elm$core$Elm$JsArray$initialize, $elm$core$Array$branchFactor, fromIndex, fn));
5225 var $temp$fn = fn,
5226 $temp$fromIndex = fromIndex - $elm$core$Array$branchFactor,
5227 $temp$len = len,
5228 $temp$nodeList = A2($elm$core$List$cons, leaf, nodeList),
5229 $temp$tail = tail;
5230 fn = $temp$fn;
5231 fromIndex = $temp$fromIndex;
5232 len = $temp$len;
5233 nodeList = $temp$nodeList;
5234 tail = $temp$tail;
5235 continue initializeHelp;
5238 });
5239var $elm$core$Basics$remainderBy = _Basics_remainderBy;
5240var $elm$core$Array$initialize = F2(
5241 function (len, fn) {
5242 if (len <= 0) {
5243 return $elm$core$Array$empty;
5244 } else {
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);
5250 });
5251var $elm$core$Basics$True = {$: 'True'};
5252var $elm$core$Result$isOk = function (result) {
5253 if (result.$ === 'Ok') {
5254 return true;
5255 } else {
5256 return false;
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.$) {
5264 case 'Normal':
5265 return 0;
5266 case 'MayStopPropagation':
5267 return 1;
5268 case 'MayPreventDefault':
5269 return 2;
5270 default:
5271 return 3;
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) {
5281 return 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};
5291 });
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,
5299 n,
5300 $elm$core$String$length(string),
5301 string);
5302 });
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);
5310 });
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;
5316 } else {
5317 var _v0 = A2($elm$core$String$indexes, ':', str);
5318 if (!_v0.b) {
5319 return $elm$core$Maybe$Just(
5320 A6($elm$url$Url$Url, protocol, str, $elm$core$Maybe$Nothing, path, params, frag));
5321 } else {
5322 if (!_v0.b.b) {
5323 var i = _v0.a;
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;
5328 } else {
5329 var port_ = _v1;
5330 return $elm$core$Maybe$Just(
5331 A6(
5332 $elm$url$Url$Url,
5333 protocol,
5334 A2($elm$core$String$left, i, str),
5335 port_,
5336 path,
5337 params,
5338 frag));
5340 } else {
5341 return $elm$core$Maybe$Nothing;
5345 });
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;
5350 } else {
5351 var _v0 = A2($elm$core$String$indexes, '/', str);
5352 if (!_v0.b) {
5353 return A5($elm$url$Url$chompBeforePath, protocol, '/', params, frag, str);
5354 } else {
5355 var i = _v0.a;
5356 return A5(
5357 $elm$url$Url$chompBeforePath,
5358 protocol,
5359 A2($elm$core$String$dropLeft, i, str),
5360 params,
5361 frag,
5362 A2($elm$core$String$left, i, str));
5365 });
5366var $elm$url$Url$chompBeforeFragment = F3(
5367 function (protocol, frag, str) {
5368 if ($elm$core$String$isEmpty(str)) {
5369 return $elm$core$Maybe$Nothing;
5370 } else {
5371 var _v0 = A2($elm$core$String$indexes, '?', str);
5372 if (!_v0.b) {
5373 return A4($elm$url$Url$chompBeforeQuery, protocol, $elm$core$Maybe$Nothing, frag, str);
5374 } else {
5375 var i = _v0.a;
5376 return A4(
5377 $elm$url$Url$chompBeforeQuery,
5378 protocol,
5379 $elm$core$Maybe$Just(
5380 A2($elm$core$String$dropLeft, i + 1, str)),
5381 frag,
5382 A2($elm$core$String$left, i, str));
5385 });
5386var $elm$url$Url$chompAfterProtocol = F2(
5387 function (protocol, str) {
5388 if ($elm$core$String$isEmpty(str)) {
5389 return $elm$core$Maybe$Nothing;
5390 } else {
5391 var _v0 = A2($elm$core$String$indexes, '#', str);
5392 if (!_v0.b) {
5393 return A3($elm$url$Url$chompBeforeFragment, protocol, $elm$core$Maybe$Nothing, str);
5394 } else {
5395 var i = _v0.a;
5396 return A3(
5397 $elm$url$Url$chompBeforeFragment,
5398 protocol,
5399 $elm$core$Maybe$Just(
5400 A2($elm$core$String$dropLeft, i + 1, str)),
5401 A2($elm$core$String$left, i, str));
5404 });
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,
5409 $elm$url$Url$Http,
5410 A2($elm$core$String$dropLeft, 7, str)) : (A2($elm$core$String$startsWith, 'https://', str) ? A2(
5411 $elm$url$Url$chompAfterProtocol,
5412 $elm$url$Url$Https,
5413 A2($elm$core$String$dropLeft, 8, str)) : $elm$core$Maybe$Nothing);
5415var $elm$core$Basics$never = function (_v0) {
5416 never:
5417 while (true) {
5418 var nvr = _v0.a;
5419 var $temp$_v0 = nvr;
5420 _v0 = $temp$_v0;
5421 continue never;
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) {
5431 if (!ls.b) {
5432 return acc;
5433 } else {
5434 var a = ls.a;
5435 var r1 = ls.b;
5436 if (!r1.b) {
5437 return A2(fn, a, acc);
5438 } else {
5439 var b = r1.a;
5440 var r2 = r1.b;
5441 if (!r2.b) {
5442 return A2(
5443 fn,
5444 a,
5445 A2(fn, b, acc));
5446 } else {
5447 var c = r2.a;
5448 var r3 = r2.b;
5449 if (!r3.b) {
5450 return A2(
5451 fn,
5452 a,
5453 A2(
5454 fn,
5455 b,
5456 A2(fn, c, acc)));
5457 } else {
5458 var d = r3.a;
5459 var r4 = r3.b;
5460 var res = (ctr > 500) ? A3(
5461 $elm$core$List$foldl,
5462 fn,
5463 acc,
5464 $elm$core$List$reverse(r4)) : A4($elm$core$List$foldrHelper, fn, acc, ctr + 1, r4);
5465 return A2(
5466 fn,
5467 a,
5468 A2(
5469 fn,
5470 b,
5471 A2(
5472 fn,
5473 c,
5474 A2(fn, d, res))));
5479 });
5480var $elm$core$List$foldr = F3(
5481 function (fn, acc, ls) {
5482 return A4($elm$core$List$foldrHelper, fn, acc, 0, ls);
5483 });
5484var $elm$core$List$map = F2(
5485 function (f, xs) {
5486 return A3(
5487 $elm$core$List$foldr,
5488 F2(
5489 function (x, acc) {
5490 return A2(
5491 $elm$core$List$cons,
5492 f(x),
5493 acc);
5494 }),
5495 _List_Nil,
5496 xs);
5497 });
5498var $elm$core$Task$andThen = _Scheduler_andThen;
5499var $elm$core$Task$map = F2(
5500 function (func, taskA) {
5501 return A2(
5502 $elm$core$Task$andThen,
5503 function (a) {
5504 return $elm$core$Task$succeed(
5505 func(a));
5506 },
5507 taskA);
5508 });
5509var $elm$core$Task$map2 = F3(
5510 function (func, taskA, taskB) {
5511 return A2(
5512 $elm$core$Task$andThen,
5513 function (a) {
5514 return A2(
5515 $elm$core$Task$andThen,
5516 function (b) {
5517 return $elm$core$Task$succeed(
5518 A2(func, a, b));
5519 },
5520 taskB);
5521 },
5522 taskA);
5523 });
5524var $elm$core$Task$sequence = function (tasks) {
5525 return A3(
5526 $elm$core$List$foldr,
5527 $elm$core$Task$map2($elm$core$List$cons),
5528 $elm$core$Task$succeed(_List_Nil),
5529 tasks);
5531var $elm$core$Platform$sendToApp = _Platform_sendToApp;
5532var $elm$core$Task$spawnCmd = F2(
5533 function (router, _v0) {
5534 var task = _v0.a;
5535 return _Scheduler_spawn(
5536 A2(
5537 $elm$core$Task$andThen,
5538 $elm$core$Platform$sendToApp(router),
5539 task));
5540 });
5541var $elm$core$Task$onEffects = F3(
5542 function (router, commands, state) {
5543 return A2(
5544 $elm$core$Task$map,
5545 function (_v0) {
5546 return _Utils_Tuple0;
5547 },
5548 $elm$core$Task$sequence(
5549 A2(
5550 $elm$core$List$map,
5551 $elm$core$Task$spawnCmd(router),
5552 commands)));
5553 });
5554var $elm$core$Task$onSelfMsg = F3(
5555 function (_v0, _v1, _v2) {
5556 return $elm$core$Task$succeed(_Utils_Tuple0);
5557 });
5558var $elm$core$Task$cmdMap = F2(
5559 function (tagger, _v0) {
5560 var task = _v0.a;
5561 return $elm$core$Task$Perform(
5562 A2($elm$core$Task$map, tagger, task));
5563 });
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)));
5571 });
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(
5584 function (a, b) {
5585 return {$: 'Zone', a: a, b: b};
5586 });
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),
5606 url: url
5607 },
5608 A2($elm$core$Task$perform, $author$project$Page$Initialization$AdjustTimeZone, $elm$time$Time$here));
5609 });
5610var $elm$core$Platform$Cmd$map = _Platform_map;
5611var $author$project$Main$updateWith = F3(
5612 function (toModel, toMsg, _v0) {
5613 var subModel = _v0.a;
5614 var subCmd = _v0.b;
5615 return _Utils_Tuple2(
5616 toModel(subModel),
5617 A2($elm$core$Platform$Cmd$map, toMsg, subCmd));
5618 });
5619var $author$project$Main$init = F3(
5620 function (_v0, url, key) {
5621 return A3(
5622 $author$project$Main$updateWith,
5623 $author$project$Main$Initialization,
5624 $author$project$Main$InitializationMsg,
5625 A2($author$project$Page$Initialization$init, url, key));
5626 });
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(
5643 _List_fromArray(
5645 $author$project$Page$Deployment$deploymentReceiver($author$project$Page$Deployment$WSUpdate)
5646 ]));
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(
5662 function (a, b) {
5663 return {$: 'Every', a: a, b: b};
5664 });
5665var $elm$time$Time$State = F2(
5666 function (taggers, processes) {
5667 return {processes: processes, taggers: taggers};
5668 });
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) {
5676 get:
5677 while (true) {
5678 if (dict.$ === 'RBEmpty_elm_builtin') {
5679 return $elm$core$Maybe$Nothing;
5680 } else {
5681 var key = dict.b;
5682 var value = dict.c;
5683 var left = dict.d;
5684 var right = dict.e;
5685 var _v1 = A2($elm$core$Basics$compare, targetKey, key);
5686 switch (_v1.$) {
5687 case 'LT':
5688 var $temp$targetKey = targetKey,
5689 $temp$dict = left;
5690 targetKey = $temp$targetKey;
5691 dict = $temp$dict;
5692 continue get;
5693 case 'EQ':
5694 return $elm$core$Maybe$Just(value);
5695 default:
5696 var $temp$targetKey = targetKey,
5697 $temp$dict = right;
5698 targetKey = $temp$targetKey;
5699 dict = $temp$dict;
5700 continue get;
5704 });
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};
5709 });
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')) {
5714 var _v1 = right.a;
5715 var rK = right.b;
5716 var rV = right.c;
5717 var rLeft = right.d;
5718 var rRight = right.e;
5719 if ((left.$ === 'RBNode_elm_builtin') && (left.a.$ === 'Red')) {
5720 var _v3 = left.a;
5721 var lK = left.b;
5722 var lV = left.c;
5723 var lLeft = left.d;
5724 var lRight = left.e;
5725 return A5(
5726 $elm$core$Dict$RBNode_elm_builtin,
5727 $elm$core$Dict$Red,
5728 key,
5729 value,
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));
5732 } else {
5733 return A5(
5734 $elm$core$Dict$RBNode_elm_builtin,
5735 color,
5736 rK,
5737 rV,
5738 A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, key, value, left, rLeft),
5739 rRight);
5741 } else {
5742 if ((((left.$ === 'RBNode_elm_builtin') && (left.a.$ === 'Red')) && (left.d.$ === 'RBNode_elm_builtin')) && (left.d.a.$ === 'Red')) {
5743 var _v5 = left.a;
5744 var lK = left.b;
5745 var lV = left.c;
5746 var _v6 = left.d;
5747 var _v7 = _v6.a;
5748 var llK = _v6.b;
5749 var llV = _v6.c;
5750 var llLeft = _v6.d;
5751 var llRight = _v6.e;
5752 var lRight = left.e;
5753 return A5(
5754 $elm$core$Dict$RBNode_elm_builtin,
5755 $elm$core$Dict$Red,
5756 lK,
5757 lV,
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));
5760 } else {
5761 return A5($elm$core$Dict$RBNode_elm_builtin, color, key, value, left, right);
5764 });
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);
5769 } else {
5770 var nColor = dict.a;
5771 var nKey = dict.b;
5772 var nValue = dict.c;
5773 var nLeft = dict.d;
5774 var nRight = dict.e;
5775 var _v1 = A2($elm$core$Basics$compare, key, nKey);
5776 switch (_v1.$) {
5777 case 'LT':
5778 return A5(
5779 $elm$core$Dict$balance,
5780 nColor,
5781 nKey,
5782 nValue,
5783 A3($elm$core$Dict$insertHelp, key, value, nLeft),
5784 nRight);
5785 case 'EQ':
5786 return A5($elm$core$Dict$RBNode_elm_builtin, nColor, nKey, value, nLeft, nRight);
5787 default:
5788 return A5(
5789 $elm$core$Dict$balance,
5790 nColor,
5791 nKey,
5792 nValue,
5793 nLeft,
5794 A3($elm$core$Dict$insertHelp, key, value, nRight));
5797 });
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')) {
5802 var _v1 = _v0.a;
5803 var k = _v0.b;
5804 var v = _v0.c;
5805 var l = _v0.d;
5806 var r = _v0.e;
5807 return A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, k, v, l, r);
5808 } else {
5809 var x = _v0;
5810 return x;
5812 });
5813var $elm$time$Time$addMySub = F2(
5814 function (_v0, state) {
5815 var interval = _v0.a;
5816 var tagger = _v0.b;
5817 var _v1 = A2($elm$core$Dict$get, interval, state);
5818 if (_v1.$ === 'Nothing') {
5819 return A3(
5820 $elm$core$Dict$insert,
5821 interval,
5822 _List_fromArray(
5823 [tagger]),
5824 state);
5825 } else {
5826 var taggers = _v1.a;
5827 return A3(
5828 $elm$core$Dict$insert,
5829 interval,
5830 A2($elm$core$List$cons, tagger, taggers),
5831 state);
5833 });
5834var $elm$core$Process$kill = _Scheduler_kill;
5835var $elm$core$Dict$foldl = F3(
5836 function (func, acc, dict) {
5837 foldl:
5838 while (true) {
5839 if (dict.$ === 'RBEmpty_elm_builtin') {
5840 return acc;
5841 } else {
5842 var key = dict.b;
5843 var value = dict.c;
5844 var left = dict.d;
5845 var right = dict.e;
5846 var $temp$func = func,
5847 $temp$acc = A3(
5848 func,
5849 key,
5850 value,
5851 A3($elm$core$Dict$foldl, func, acc, left)),
5852 $temp$dict = right;
5853 func = $temp$func;
5854 acc = $temp$acc;
5855 dict = $temp$dict;
5856 continue foldl;
5859 });
5860var $elm$core$Dict$merge = F6(
5861 function (leftStep, bothStep, rightStep, leftDict, rightDict, initialResult) {
5862 var stepState = F3(
5863 function (rKey, rValue, _v0) {
5864 stepState:
5865 while (true) {
5866 var list = _v0.a;
5867 var result = _v0.b;
5868 if (!list.b) {
5869 return _Utils_Tuple2(
5870 list,
5871 A3(rightStep, rKey, rValue, result));
5872 } else {
5873 var _v2 = list.a;
5874 var lKey = _v2.a;
5875 var lValue = _v2.b;
5876 var rest = list.b;
5877 if (_Utils_cmp(lKey, rKey) < 0) {
5878 var $temp$rKey = rKey,
5879 $temp$rValue = rValue,
5880 $temp$_v0 = _Utils_Tuple2(
5881 rest,
5882 A3(leftStep, lKey, lValue, result));
5883 rKey = $temp$rKey;
5884 rValue = $temp$rValue;
5885 _v0 = $temp$_v0;
5886 continue stepState;
5887 } else {
5888 if (_Utils_cmp(lKey, rKey) > 0) {
5889 return _Utils_Tuple2(
5890 list,
5891 A3(rightStep, rKey, rValue, result));
5892 } else {
5893 return _Utils_Tuple2(
5894 rest,
5895 A4(bothStep, lKey, lValue, rValue, result));
5900 });
5901 var _v3 = A3(
5902 $elm$core$Dict$foldl,
5903 stepState,
5904 _Utils_Tuple2(
5905 $elm$core$Dict$toList(leftDict),
5906 initialResult),
5907 rightDict);
5908 var leftovers = _v3.a;
5909 var intermediateResult = _v3.b;
5910 return A3(
5911 $elm$core$List$foldl,
5912 F2(
5913 function (_v4, result) {
5914 var k = _v4.a;
5915 var v = _v4.b;
5916 return A3(leftStep, k, v, result);
5917 }),
5918 intermediateResult,
5919 leftovers);
5920 });
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) {
5926 if (!intervals.b) {
5927 return $elm$core$Task$succeed(processes);
5928 } else {
5929 var interval = intervals.a;
5930 var rest = intervals.b;
5931 var spawnTimer = $elm$core$Process$spawn(
5932 A2(
5933 $elm$time$Time$setInterval,
5934 interval,
5935 A2($elm$core$Platform$sendToSelf, router, interval)));
5936 var spawnRest = function (id) {
5937 return A3(
5938 $elm$time$Time$spawnHelp,
5939 router,
5940 rest,
5941 A3($elm$core$Dict$insert, interval, id, processes));
5942 };
5943 return A2($elm$core$Task$andThen, spawnRest, spawnTimer);
5945 });
5946var $elm$time$Time$onEffects = F3(
5947 function (router, subs, _v0) {
5948 var processes = _v0.processes;
5949 var rightStep = F3(
5950 function (_v6, id, _v7) {
5951 var spawns = _v7.a;
5952 var existing = _v7.b;
5953 var kills = _v7.c;
5954 return _Utils_Tuple3(
5955 spawns,
5956 existing,
5957 A2(
5958 $elm$core$Task$andThen,
5959 function (_v5) {
5960 return kills;
5961 },
5962 $elm$core$Process$kill(id)));
5963 });
5964 var newTaggers = A3($elm$core$List$foldl, $elm$time$Time$addMySub, $elm$core$Dict$empty, subs);
5965 var leftStep = F3(
5966 function (interval, taggers, _v4) {
5967 var spawns = _v4.a;
5968 var existing = _v4.b;
5969 var kills = _v4.c;
5970 return _Utils_Tuple3(
5971 A2($elm$core$List$cons, interval, spawns),
5972 existing,
5973 kills);
5974 });
5975 var bothStep = F4(
5976 function (interval, taggers, id, _v3) {
5977 var spawns = _v3.a;
5978 var existing = _v3.b;
5979 var kills = _v3.c;
5980 return _Utils_Tuple3(
5981 spawns,
5982 A3($elm$core$Dict$insert, interval, id, existing),
5983 kills);
5984 });
5985 var _v1 = A6(
5986 $elm$core$Dict$merge,
5987 leftStep,
5988 bothStep,
5989 rightStep,
5990 newTaggers,
5991 processes,
5992 _Utils_Tuple3(
5993 _List_Nil,
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;
5999 return A2(
6000 $elm$core$Task$andThen,
6001 function (newProcesses) {
6002 return $elm$core$Task$succeed(
6003 A2($elm$time$Time$State, newTaggers, newProcesses));
6004 },
6005 A2(
6006 $elm$core$Task$andThen,
6007 function (_v2) {
6008 return A3($elm$time$Time$spawnHelp, router, spawnList, existingDict);
6009 },
6010 killTask));
6011 });
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);
6022 } else {
6023 var taggers = _v0.a;
6024 var tellTaggers = function (time) {
6025 return $elm$core$Task$sequence(
6026 A2(
6027 $elm$core$List$map,
6028 function (tagger) {
6029 return A2(
6030 $elm$core$Platform$sendToApp,
6031 router,
6032 tagger(time));
6033 },
6034 taggers));
6035 };
6036 return A2(
6037 $elm$core$Task$andThen,
6038 function (_v1) {
6039 return $elm$core$Task$succeed(state);
6040 },
6041 A2($elm$core$Task$andThen, tellTaggers, $elm$time$Time$now));
6043 });
6044var $elm$core$Basics$composeL = F3(
6045 function (g, f, x) {
6046 return g(
6047 f(x));
6048 });
6049var $elm$time$Time$subMap = F2(
6050 function (f, _v0) {
6051 var interval = _v0.a;
6052 var tagger = _v0.b;
6053 return A2(
6054 $elm$time$Time$Every,
6055 interval,
6056 A2($elm$core$Basics$composeL, f, tagger));
6057 });
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));
6064 });
6065var $author$project$Page$Deployments$Table$getDropdownId = function (model) {
6066 var _v0 = model.tableType;
6067 if (_v0.$ === 'ActiveTable') {
6068 return 'active-dropdown';
6069 } else {
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};
6077 });
6078var $elm$browser$Browser$Events$State = F2(
6079 function (subs, pids) {
6080 return {pids: pids, subs: subs};
6081 });
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') {
6086 return 'd_';
6087 } else {
6088 return 'w_';
6091var $elm$browser$Browser$Events$addKey = function (sub) {
6092 var node = sub.a;
6093 var name = sub.b;
6094 return _Utils_Tuple2(
6095 _Utils_ap(
6096 $elm$browser$Browser$Events$nodeToKey(node),
6097 name),
6098 sub);
6100var $elm$core$Dict$fromList = function (assocs) {
6101 return A3(
6102 $elm$core$List$foldl,
6103 F2(
6104 function (_v0, dict) {
6105 var key = _v0.a;
6106 var value = _v0.b;
6107 return A3($elm$core$Dict$insert, key, value, dict);
6108 }),
6109 $elm$core$Dict$empty,
6110 assocs);
6112var $elm$browser$Browser$Events$Event = F2(
6113 function (key, event) {
6114 return {event: event, key: key};
6115 });
6116var $elm$browser$Browser$Events$spawn = F3(
6117 function (router, key, _v0) {
6118 var node = _v0.a;
6119 var name = _v0.b;
6120 var actualNode = function () {
6121 if (node.$ === 'Document') {
6122 return _Browser_doc;
6123 } else {
6124 return _Browser_window;
6126 }();
6127 return A2(
6128 $elm$core$Task$map,
6129 function (value) {
6130 return _Utils_Tuple2(key, value);
6131 },
6132 A3(
6133 _Browser_on,
6134 actualNode,
6135 name,
6136 function (event) {
6137 return A2(
6138 $elm$core$Platform$sendToSelf,
6139 router,
6140 A2($elm$browser$Browser$Events$Event, key, event));
6141 }));
6142 });
6143var $elm$core$Dict$union = F2(
6144 function (t1, t2) {
6145 return A3($elm$core$Dict$foldl, $elm$core$Dict$insert, t2, t1);
6146 });
6147var $elm$browser$Browser$Events$onEffects = F3(
6148 function (router, subs, state) {
6149 var stepRight = F3(
6150 function (key, sub, _v6) {
6151 var deads = _v6.a;
6152 var lives = _v6.b;
6153 var news = _v6.c;
6154 return _Utils_Tuple3(
6155 deads,
6156 lives,
6157 A2(
6158 $elm$core$List$cons,
6159 A3($elm$browser$Browser$Events$spawn, router, key, sub),
6160 news));
6161 });
6162 var stepLeft = F3(
6163 function (_v4, pid, _v5) {
6164 var deads = _v5.a;
6165 var lives = _v5.b;
6166 var news = _v5.c;
6167 return _Utils_Tuple3(
6168 A2($elm$core$List$cons, pid, deads),
6169 lives,
6170 news);
6171 });
6172 var stepBoth = F4(
6173 function (key, pid, _v2, _v3) {
6174 var deads = _v3.a;
6175 var lives = _v3.b;
6176 var news = _v3.c;
6177 return _Utils_Tuple3(
6178 deads,
6179 A3($elm$core$Dict$insert, key, pid, lives),
6180 news);
6181 });
6182 var newSubs = A2($elm$core$List$map, $elm$browser$Browser$Events$addKey, subs);
6183 var _v0 = A6(
6184 $elm$core$Dict$merge,
6185 stepLeft,
6186 stepBoth,
6187 stepRight,
6188 state.pids,
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;
6194 return A2(
6195 $elm$core$Task$andThen,
6196 function (pids) {
6197 return $elm$core$Task$succeed(
6198 A2(
6199 $elm$browser$Browser$Events$State,
6200 newSubs,
6201 A2(
6202 $elm$core$Dict$union,
6203 livePids,
6204 $elm$core$Dict$fromList(pids))));
6205 },
6206 A2(
6207 $elm$core$Task$andThen,
6208 function (_v1) {
6209 return $elm$core$Task$sequence(makeNewPids);
6210 },
6211 $elm$core$Task$sequence(
6212 A2($elm$core$List$map, $elm$core$Process$kill, deadPids))));
6213 });
6214var $elm$core$List$maybeCons = F3(
6215 function (f, mx, xs) {
6216 var _v0 = f(mx);
6217 if (_v0.$ === 'Just') {
6218 var x = _v0.a;
6219 return A2($elm$core$List$cons, x, xs);
6220 } else {
6221 return xs;
6223 });
6224var $elm$core$List$filterMap = F2(
6225 function (f, xs) {
6226 return A3(
6227 $elm$core$List$foldr,
6228 $elm$core$List$maybeCons(f),
6229 _List_Nil,
6230 xs);
6231 });
6232var $elm$browser$Browser$Events$onSelfMsg = F3(
6233 function (router, _v0, state) {
6234 var key = _v0.key;
6235 var event = _v0.event;
6236 var toMessage = function (_v2) {
6237 var subKey = _v2.a;
6238 var _v3 = _v2.b;
6239 var node = _v3.a;
6240 var name = _v3.b;
6241 var decoder = _v3.c;
6242 return _Utils_eq(subKey, key) ? A2(_Browser_decodeEvent, decoder, event) : $elm$core$Maybe$Nothing;
6243 };
6244 var messages = A2($elm$core$List$filterMap, toMessage, state.subs);
6245 return A2(
6246 $elm$core$Task$andThen,
6247 function (_v1) {
6248 return $elm$core$Task$succeed(state);
6249 },
6250 $elm$core$Task$sequence(
6251 A2(
6252 $elm$core$List$map,
6253 $elm$core$Platform$sendToApp(router),
6254 messages)));
6255 });
6256var $elm$browser$Browser$Events$subMap = F2(
6257 function (func, _v0) {
6258 var node = _v0.a;
6259 var name = _v0.b;
6260 var decoder = _v0.c;
6261 return A3(
6262 $elm$browser$Browser$Events$MySub,
6263 node,
6264 name,
6265 A2($elm$json$Json$Decode$map, func, decoder));
6266 });
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));
6273 });
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) {
6280 return A2(
6281 $elm$json$Json$Decode$andThen,
6282 thunk,
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(
6288 _List_fromArray(
6290 A2(
6291 $elm$json$Json$Decode$andThen,
6292 function (id) {
6293 return _Utils_eq(dropdownId, id) ? $elm$json$Json$Decode$succeed(false) : $elm$json$Json$Decode$fail('check parent node');
6294 },
6295 A2($elm$json$Json$Decode$field, 'id', $elm$json$Json$Decode$string)),
6296 $elm$json$Json$Decode$lazy(
6297 function (_v0) {
6298 return A2(
6299 $elm$json$Json$Decode$field,
6300 'parentNode',
6301 $author$project$Page$Deployments$Table$isOutsideDropdown(dropdownId));
6302 }),
6303 $elm$json$Json$Decode$succeed(true)
6304 ]));
6306var $author$project$Page$Deployments$Table$outsideTarget = function (dropdownId) {
6307 return A2(
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');
6311 },
6312 A2(
6313 $elm$json$Json$Decode$field,
6314 'target',
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)));
6323 } else {
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(
6330 _List_fromArray(
6332 A2(
6333 $elm$core$Platform$Sub$map,
6334 $author$project$Page$Deployments$ActiveTableMsg,
6335 $author$project$Page$Deployments$Table$subscriptions(model.activeTable)),
6336 A2(
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)
6342 ]));
6344var $author$project$Main$subscriptions = function (model) {
6345 switch (model.$) {
6346 case 'Initialization':
6347 return $elm$core$Platform$Sub$none;
6348 case 'Deployments':
6349 var deployments = model.a;
6350 return A2(
6351 $elm$core$Platform$Sub$map,
6352 $author$project$Main$DeploymentsMsg,
6353 $author$project$Page$Deployments$subscriptions(deployments));
6354 default:
6355 var deployment = model.a;
6356 return A2(
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};
6383 });
6384var $author$project$Config$emptyConfig = A4(
6385 $author$project$Config$Config,
6386 $author$project$Config$AppUrl(''),
6387 '',
6388 $author$project$Config$AppAuth(''),
6389 '');
6390var $author$project$Page$Initialization$getConfig = function (model) {
6391 var _v0 = model.config;
6392 if (_v0.$ === 'Success') {
6393 var cfg = _v0.a;
6394 return cfg;
6395 } else {
6396 return $author$project$Config$emptyConfig;
6399var $author$project$Main$getConfig = function (model) {
6400 switch (model.$) {
6401 case 'Initialization':
6402 var subModel = model.a;
6403 return $author$project$Page$Initialization$getConfig(subModel);
6404 case 'Deployments':
6405 var subModel = model.a;
6406 return $author$project$Page$Deployments$getConfig(subModel);
6407 default:
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) {
6422 switch (model.$) {
6423 case 'Initialization':
6424 var subModel = model.a;
6425 return $author$project$Page$Initialization$getSettings(subModel);
6426 case 'Deployments':
6427 var subModel = model.a;
6428 return $author$project$Page$Deployments$getSettings(subModel);
6429 default:
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) {
6452 var id = _v0.a;
6453 return id;
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};
6464 });
6465var $author$project$Page$Deployment$DeploymentFullInfoResponse = function (a) {
6466 return {$: 'DeploymentFullInfoResponse', a: a};
6468var $elm$core$Basics$composeR = F3(
6469 function (f, g, x) {
6470 return g(
6471 f(x));
6472 });
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};
6476 });
6477var $elm$parser$Parser$Advanced$Bad = F2(
6478 function (a, b) {
6479 return {$: 'Bad', a: a, b: b};
6480 });
6481var $elm$parser$Parser$Advanced$Good = F3(
6482 function (a, b, c) {
6483 return {$: 'Good', a: a, b: b, c: c};
6484 });
6485var $elm$parser$Parser$Advanced$Parser = function (a) {
6486 return {$: 'Parser', a: a};
6488var $elm$parser$Parser$Advanced$andThen = F2(
6489 function (callback, _v0) {
6490 var parseA = _v0.a;
6491 return $elm$parser$Parser$Advanced$Parser(
6492 function (s0) {
6493 var _v1 = parseA(s0);
6494 if (_v1.$ === 'Bad') {
6495 var p = _v1.a;
6496 var x = _v1.b;
6497 return A2($elm$parser$Parser$Advanced$Bad, p, x);
6498 } else {
6499 var p1 = _v1.a;
6500 var a = _v1.b;
6501 var s1 = _v1.c;
6502 var _v2 = callback(a);
6503 var parseB = _v2.a;
6504 var _v3 = parseB(s1);
6505 if (_v3.$ === 'Bad') {
6506 var p2 = _v3.a;
6507 var x = _v3.b;
6508 return A2($elm$parser$Parser$Advanced$Bad, p1 || p2, x);
6509 } else {
6510 var p2 = _v3.a;
6511 var b = _v3.b;
6512 var s2 = _v3.c;
6513 return A3($elm$parser$Parser$Advanced$Good, p1 || p2, b, s2);
6516 });
6517 });
6518var $elm$parser$Parser$andThen = $elm$parser$Parser$Advanced$andThen;
6519var $elm$parser$Parser$ExpectingEnd = {$: 'ExpectingEnd'};
6520var $elm$parser$Parser$Advanced$AddRight = F2(
6521 function (a, b) {
6522 return {$: 'AddRight', a: a, b: b};
6523 });
6524var $elm$parser$Parser$Advanced$DeadEnd = F4(
6525 function (row, col, problem, contextStack) {
6526 return {col: col, contextStack: contextStack, problem: problem, row: row};
6527 });
6528var $elm$parser$Parser$Advanced$Empty = {$: 'Empty'};
6529var $elm$parser$Parser$Advanced$fromState = F2(
6530 function (s, x) {
6531 return A2(
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));
6535 });
6536var $elm$parser$Parser$Advanced$end = function (x) {
6537 return $elm$parser$Parser$Advanced$Parser(
6538 function (s) {
6539 return _Utils_eq(
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,
6543 false,
6544 A2($elm$parser$Parser$Advanced$fromState, s, x));
6545 });
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) {
6550 return -n;
6552var $elm$parser$Parser$Advanced$chompWhileHelp = F5(
6553 function (isGood, offset, row, col, s0) {
6554 chompWhileHelp:
6555 while (true) {
6556 var newOffset = A3($elm$parser$Parser$Advanced$isSubChar, isGood, offset, s0.src);
6557 if (_Utils_eq(newOffset, -1)) {
6558 return A3(
6559 $elm$parser$Parser$Advanced$Good,
6560 _Utils_cmp(s0.offset, offset) < 0,
6561 _Utils_Tuple0,
6562 {col: col, context: s0.context, indent: s0.indent, offset: offset, row: row, src: s0.src});
6563 } else {
6564 if (_Utils_eq(newOffset, -2)) {
6565 var $temp$isGood = isGood,
6566 $temp$offset = offset + 1,
6567 $temp$row = row + 1,
6568 $temp$col = 1,
6569 $temp$s0 = s0;
6570 isGood = $temp$isGood;
6571 offset = $temp$offset;
6572 row = $temp$row;
6573 col = $temp$col;
6574 s0 = $temp$s0;
6575 continue chompWhileHelp;
6576 } else {
6577 var $temp$isGood = isGood,
6578 $temp$offset = newOffset,
6579 $temp$row = row,
6580 $temp$col = col + 1,
6581 $temp$s0 = s0;
6582 isGood = $temp$isGood;
6583 offset = $temp$offset;
6584 row = $temp$row;
6585 col = $temp$col;
6586 s0 = $temp$s0;
6587 continue chompWhileHelp;
6591 });
6592var $elm$parser$Parser$Advanced$chompWhile = function (isGood) {
6593 return $elm$parser$Parser$Advanced$Parser(
6594 function (s) {
6595 return A5($elm$parser$Parser$Advanced$chompWhileHelp, isGood, s.offset, s.row, s.col, s);
6596 });
6598var $elm$parser$Parser$chompWhile = $elm$parser$Parser$Advanced$chompWhile;
6599var $elm$core$Basics$always = F2(
6600 function (a, _v0) {
6601 return a;
6602 });
6603var $elm$parser$Parser$Advanced$mapChompedString = F2(
6604 function (func, _v0) {
6605 var parse = _v0.a;
6606 return $elm$parser$Parser$Advanced$Parser(
6607 function (s0) {
6608 var _v1 = parse(s0);
6609 if (_v1.$ === 'Bad') {
6610 var p = _v1.a;
6611 var x = _v1.b;
6612 return A2($elm$parser$Parser$Advanced$Bad, p, x);
6613 } else {
6614 var p = _v1.a;
6615 var a = _v1.b;
6616 var s1 = _v1.c;
6617 return A3(
6618 $elm$parser$Parser$Advanced$Good,
6619 p,
6620 A2(
6621 func,
6622 A3($elm$core$String$slice, s0.offset, s1.offset, s0.src),
6623 a),
6624 s1);
6626 });
6627 });
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(
6637 function (s) {
6638 return A2(
6639 $elm$parser$Parser$Advanced$Bad,
6640 false,
6641 A2($elm$parser$Parser$Advanced$fromState, s, x));
6642 });
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(
6651 function (s) {
6652 return A3($elm$parser$Parser$Advanced$Good, false, a, s);
6653 });
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,
6659 function (str) {
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));
6666 } else {
6667 return $elm$parser$Parser$problem('Invalid float: \"' + (str + '\"'));
6669 } else {
6670 return $elm$parser$Parser$problem(
6671 'Expected at most 9 digits, but got ' + $elm$core$String$fromInt(
6672 $elm$core$String$length(str)));
6674 },
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);
6680 });
6681var $elm$parser$Parser$Advanced$map2 = F3(
6682 function (func, _v0, _v1) {
6683 var parseA = _v0.a;
6684 var parseB = _v1.a;
6685 return $elm$parser$Parser$Advanced$Parser(
6686 function (s0) {
6687 var _v2 = parseA(s0);
6688 if (_v2.$ === 'Bad') {
6689 var p = _v2.a;
6690 var x = _v2.b;
6691 return A2($elm$parser$Parser$Advanced$Bad, p, x);
6692 } else {
6693 var p1 = _v2.a;
6694 var a = _v2.b;
6695 var s1 = _v2.c;
6696 var _v3 = parseB(s1);
6697 if (_v3.$ === 'Bad') {
6698 var p2 = _v3.a;
6699 var x = _v3.b;
6700 return A2($elm$parser$Parser$Advanced$Bad, p1 || p2, x);
6701 } else {
6702 var p2 = _v3.a;
6703 var b = _v3.b;
6704 var s2 = _v3.c;
6705 return A3(
6706 $elm$parser$Parser$Advanced$Good,
6707 p1 || p2,
6708 A2(func, a, b),
6709 s2);
6712 });
6713 });
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);
6717 });
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);
6722 });
6723var $elm$parser$Parser$keeper = $elm$parser$Parser$Advanced$keeper;
6724var $elm$parser$Parser$Advanced$Append = F2(
6725 function (a, b) {
6726 return {$: 'Append', a: a, b: b};
6727 });
6728var $elm$parser$Parser$Advanced$oneOfHelp = F3(
6729 function (s0, bag, parsers) {
6730 oneOfHelp:
6731 while (true) {
6732 if (!parsers.b) {
6733 return A2($elm$parser$Parser$Advanced$Bad, false, bag);
6734 } else {
6735 var parse = parsers.a.a;
6736 var remainingParsers = parsers.b;
6737 var _v1 = parse(s0);
6738 if (_v1.$ === 'Good') {
6739 var step = _v1;
6740 return step;
6741 } else {
6742 var step = _v1;
6743 var p = step.a;
6744 var x = step.b;
6745 if (p) {
6746 return step;
6747 } else {
6748 var $temp$s0 = s0,
6749 $temp$bag = A2($elm$parser$Parser$Advanced$Append, bag, x),
6750 $temp$parsers = remainingParsers;
6751 s0 = $temp$s0;
6752 bag = $temp$bag;
6753 parsers = $temp$parsers;
6754 continue oneOfHelp;
6759 });
6760var $elm$parser$Parser$Advanced$oneOf = function (parsers) {
6761 return $elm$parser$Parser$Advanced$Parser(
6762 function (s) {
6763 return A3($elm$parser$Parser$Advanced$oneOfHelp, s, $elm$parser$Parser$Advanced$Empty, parsers);
6764 });
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(
6778 function (s) {
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,
6782 false,
6783 A2($elm$parser$Parser$Advanced$fromState, s, expecting)) : (_Utils_eq(newOffset, -2) ? A3(
6784 $elm$parser$Parser$Advanced$Good,
6785 true,
6786 _Utils_Tuple0,
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,
6789 true,
6790 _Utils_Tuple0,
6791 {col: s.col + 1, context: s.context, indent: s.indent, offset: newOffset, row: s.row, src: s.src}));
6792 });
6793 });
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) {
6799 loopHelp:
6800 while (true) {
6801 var _v0 = callback(state);
6802 var parse = _v0.a;
6803 var _v1 = parse(s0);
6804 if (_v1.$ === 'Good') {
6805 var p1 = _v1.a;
6806 var step = _v1.b;
6807 var s1 = _v1.c;
6808 if (step.$ === 'Loop') {
6809 var newState = step.a;
6810 var $temp$p = p || p1,
6811 $temp$state = newState,
6812 $temp$callback = callback,
6813 $temp$s0 = s1;
6814 p = $temp$p;
6815 state = $temp$state;
6816 callback = $temp$callback;
6817 s0 = $temp$s0;
6818 continue loopHelp;
6819 } else {
6820 var result = step.a;
6821 return A3($elm$parser$Parser$Advanced$Good, p || p1, result, s1);
6823 } else {
6824 var p1 = _v1.a;
6825 var x = _v1.b;
6826 return A2($elm$parser$Parser$Advanced$Bad, p || p1, x);
6829 });
6830var $elm$parser$Parser$Advanced$loop = F2(
6831 function (state, callback) {
6832 return $elm$parser$Parser$Advanced$Parser(
6833 function (s) {
6834 return A4($elm$parser$Parser$Advanced$loopHelp, false, state, callback, s);
6835 });
6836 });
6837var $elm$parser$Parser$Advanced$map = F2(
6838 function (func, _v0) {
6839 var parse = _v0.a;
6840 return $elm$parser$Parser$Advanced$Parser(
6841 function (s0) {
6842 var _v1 = parse(s0);
6843 if (_v1.$ === 'Good') {
6844 var p = _v1.a;
6845 var a = _v1.b;
6846 var s1 = _v1.c;
6847 return A3(
6848 $elm$parser$Parser$Advanced$Good,
6849 p,
6850 func(a),
6851 s1);
6852 } else {
6853 var p = _v1.a;
6854 var x = _v1.b;
6855 return A2($elm$parser$Parser$Advanced$Bad, p, x);
6857 });
6858 });
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') {
6868 var s = step.a;
6869 return $elm$parser$Parser$Advanced$Loop(s);
6870 } else {
6871 var a = step.a;
6872 return $elm$parser$Parser$Advanced$Done(a);
6875var $elm$parser$Parser$loop = F2(
6876 function (state, callback) {
6877 return A2(
6878 $elm$parser$Parser$Advanced$loop,
6879 state,
6880 function (s) {
6881 return A2(
6882 $elm$parser$Parser$map,
6883 $elm$parser$Parser$toAdvancedStep,
6884 callback(s));
6885 });
6886 });
6887var $rtfeldman$elm_iso8601_date_strings$Iso8601$paddedInt = function (quantity) {
6888 var helper = function (str) {
6889 if (_Utils_eq(
6890 $elm$core$String$length(str),
6891 quantity)) {
6892 var _v0 = $elm$core$String$toInt(str);
6893 if (_v0.$ === 'Just') {
6894 var intVal = _v0.a;
6895 return A2(
6896 $elm$parser$Parser$map,
6897 $elm$parser$Parser$Done,
6898 $elm$parser$Parser$succeed(intVal));
6899 } else {
6900 return $elm$parser$Parser$problem('Invalid integer: \"' + (str + '\"'));
6902 } else {
6903 return A2(
6904 $elm$parser$Parser$map,
6905 function (nextChar) {
6906 return $elm$parser$Parser$Loop(
6907 A2($elm$core$String$append, str, nextChar));
6908 },
6909 $elm$parser$Parser$getChompedString(
6910 $elm$parser$Parser$chompIf($elm$core$Char$isDigit)));
6912 };
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(
6919 function (a, b) {
6920 return {$: 'Token', a: a, b: b};
6921 });
6922var $elm$parser$Parser$Advanced$isSubString = _Parser_isSubString;
6923var $elm$core$Basics$not = _Basics_not;
6924var $elm$parser$Parser$Advanced$token = function (_v0) {
6925 var str = _v0.a;
6926 var expecting = _v0.b;
6927 var progress = !$elm$core$String$isEmpty(str);
6928 return $elm$parser$Parser$Advanced$Parser(
6929 function (s) {
6930 var _v1 = A5($elm$parser$Parser$Advanced$isSubString, str, s.offset, s.row, s.col, s.src);
6931 var newOffset = _v1.a;
6932 var newRow = _v1.b;
6933 var newCol = _v1.c;
6934 return _Utils_eq(newOffset, -1) ? A2(
6935 $elm$parser$Parser$Advanced$Bad,
6936 false,
6937 A2($elm$parser$Parser$Advanced$fromState, s, expecting)) : A3(
6938 $elm$parser$Parser$Advanced$Good,
6939 progress,
6940 _Utils_Tuple0,
6941 {col: newCol, context: s.context, indent: s.indent, offset: newOffset, row: newRow, src: s.src});
6942 });
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(
6947 A2(
6948 $elm$parser$Parser$Advanced$Token,
6949 str,
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) {
6963 var y = y1 - 1;
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) {
6969 var year = _v0.a;
6970 var month = _v0.b;
6971 var dayInMonth = _v0.c;
6972 if (dayInMonth < 0) {
6973 return $rtfeldman$elm_iso8601_date_strings$Iso8601$invalidDay(dayInMonth);
6974 } else {
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);
6980 };
6981 switch (month) {
6982 case 1:
6983 return (dayInMonth > 31) ? $rtfeldman$elm_iso8601_date_strings$Iso8601$invalidDay(dayInMonth) : succeedWith(0);
6984 case 2:
6985 return ((dayInMonth > 29) || ((dayInMonth === 29) && (!$rtfeldman$elm_iso8601_date_strings$Iso8601$isLeapYear(year)))) ? $rtfeldman$elm_iso8601_date_strings$Iso8601$invalidDay(dayInMonth) : succeedWith(2678400000);
6986 case 3:
6987 return (dayInMonth > 31) ? $rtfeldman$elm_iso8601_date_strings$Iso8601$invalidDay(dayInMonth) : succeedWith(5097600000);
6988 case 4:
6989 return (dayInMonth > 30) ? $rtfeldman$elm_iso8601_date_strings$Iso8601$invalidDay(dayInMonth) : succeedWith(7776000000);
6990 case 5:
6991 return (dayInMonth > 31) ? $rtfeldman$elm_iso8601_date_strings$Iso8601$invalidDay(dayInMonth) : succeedWith(10368000000);
6992 case 6:
6993 return (dayInMonth > 30) ? $rtfeldman$elm_iso8601_date_strings$Iso8601$invalidDay(dayInMonth) : succeedWith(13046400000);
6994 case 7:
6995 return (dayInMonth > 31) ? $rtfeldman$elm_iso8601_date_strings$Iso8601$invalidDay(dayInMonth) : succeedWith(15638400000);
6996 case 8:
6997 return (dayInMonth > 31) ? $rtfeldman$elm_iso8601_date_strings$Iso8601$invalidDay(dayInMonth) : succeedWith(18316800000);
6998 case 9:
6999 return (dayInMonth > 30) ? $rtfeldman$elm_iso8601_date_strings$Iso8601$invalidDay(dayInMonth) : succeedWith(20995200000);
7000 case 10:
7001 return (dayInMonth > 31) ? $rtfeldman$elm_iso8601_date_strings$Iso8601$invalidDay(dayInMonth) : succeedWith(23587200000);
7002 case 11:
7003 return (dayInMonth > 30) ? $rtfeldman$elm_iso8601_date_strings$Iso8601$invalidDay(dayInMonth) : succeedWith(26265600000);
7004 case 12:
7005 return (dayInMonth > 31) ? $rtfeldman$elm_iso8601_date_strings$Iso8601$invalidDay(dayInMonth) : succeedWith(28857600000);
7006 default:
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,
7015 A2(
7016 $elm$parser$Parser$keeper,
7017 A2(
7018 $elm$parser$Parser$keeper,
7019 A2(
7020 $elm$parser$Parser$keeper,
7021 $elm$parser$Parser$succeed(
7022 F3(
7023 function (year, month, day) {
7024 return _Utils_Tuple3(year, month, day);
7025 })),
7026 $rtfeldman$elm_iso8601_date_strings$Iso8601$paddedInt(4)),
7027 $elm$parser$Parser$oneOf(
7028 _List_fromArray(
7030 A2(
7031 $elm$parser$Parser$keeper,
7032 A2(
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)
7038 ]))),
7039 $elm$parser$Parser$oneOf(
7040 _List_fromArray(
7042 A2(
7043 $elm$parser$Parser$keeper,
7044 A2(
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)
7050 ]))));
7051var $rtfeldman$elm_iso8601_date_strings$Iso8601$utcOffsetInMinutes = function () {
7052 var utcOffsetMinutesFromParts = F3(
7053 function (multiplier, hours, minutes) {
7054 return (multiplier * (hours * 60)) + minutes;
7055 });
7056 return A2(
7057 $elm$parser$Parser$keeper,
7058 $elm$parser$Parser$succeed($elm$core$Basics$identity),
7059 $elm$parser$Parser$oneOf(
7060 _List_fromArray(
7062 A2(
7063 $elm$parser$Parser$map,
7064 function (_v0) {
7065 return 0;
7066 },
7067 $elm$parser$Parser$symbol('Z')),
7068 A2(
7069 $elm$parser$Parser$keeper,
7070 A2(
7071 $elm$parser$Parser$keeper,
7072 A2(
7073 $elm$parser$Parser$keeper,
7074 $elm$parser$Parser$succeed(utcOffsetMinutesFromParts),
7075 $elm$parser$Parser$oneOf(
7076 _List_fromArray(
7078 A2(
7079 $elm$parser$Parser$map,
7080 function (_v1) {
7081 return 1;
7082 },
7083 $elm$parser$Parser$symbol('+')),
7084 A2(
7085 $elm$parser$Parser$map,
7086 function (_v2) {
7087 return -1;
7088 },
7089 $elm$parser$Parser$symbol('-'))
7090 ]))),
7091 $rtfeldman$elm_iso8601_date_strings$Iso8601$paddedInt(2)),
7092 $elm$parser$Parser$oneOf(
7093 _List_fromArray(
7095 A2(
7096 $elm$parser$Parser$keeper,
7097 A2(
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)
7104 ]))),
7105 A2(
7106 $elm$parser$Parser$ignorer,
7107 $elm$parser$Parser$succeed(0),
7108 $elm$parser$Parser$end)
7109 ])));
7110}();
7111var $rtfeldman$elm_iso8601_date_strings$Iso8601$iso8601 = A2(
7112 $elm$parser$Parser$andThen,
7113 function (datePart) {
7114 return $elm$parser$Parser$oneOf(
7115 _List_fromArray(
7117 A2(
7118 $elm$parser$Parser$keeper,
7119 A2(
7120 $elm$parser$Parser$keeper,
7121 A2(
7122 $elm$parser$Parser$keeper,
7123 A2(
7124 $elm$parser$Parser$keeper,
7125 A2(
7126 $elm$parser$Parser$keeper,
7127 A2(
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(
7134 _List_fromArray(
7136 A2(
7137 $elm$parser$Parser$keeper,
7138 A2(
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)
7144 ]))),
7145 $elm$parser$Parser$oneOf(
7146 _List_fromArray(
7148 A2(
7149 $elm$parser$Parser$keeper,
7150 A2(
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)
7157 ]))),
7158 $elm$parser$Parser$oneOf(
7159 _List_fromArray(
7161 A2(
7162 $elm$parser$Parser$keeper,
7163 A2(
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)
7169 ]))),
7170 A2($elm$parser$Parser$ignorer, $rtfeldman$elm_iso8601_date_strings$Iso8601$utcOffsetInMinutes, $elm$parser$Parser$end)),
7171 A2(
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)
7176 ]));
7177 },
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};
7182 });
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) {
7188 bagToList:
7189 while (true) {
7190 switch (bag.$) {
7191 case 'Empty':
7192 return list;
7193 case 'AddRight':
7194 var bag1 = bag.a;
7195 var x = bag.b;
7196 var $temp$bag = bag1,
7197 $temp$list = A2($elm$core$List$cons, x, list);
7198 bag = $temp$bag;
7199 list = $temp$list;
7200 continue bagToList;
7201 default:
7202 var bag1 = bag.a;
7203 var bag2 = bag.b;
7204 var $temp$bag = bag1,
7205 $temp$list = A2($elm$parser$Parser$Advanced$bagToList, bag2, list);
7206 bag = $temp$bag;
7207 list = $temp$list;
7208 continue bagToList;
7211 });
7212var $elm$parser$Parser$Advanced$run = F2(
7213 function (_v0, src) {
7214 var parse = _v0.a;
7215 var _v1 = parse(
7216 {col: 1, context: _List_Nil, indent: 1, offset: 0, row: 1, src: src});
7217 if (_v1.$ === 'Good') {
7218 var value = _v1.b;
7219 return $elm$core$Result$Ok(value);
7220 } else {
7221 var bag = _v1.b;
7222 return $elm$core$Result$Err(
7223 A2($elm$parser$Parser$Advanced$bagToList, bag, _List_Nil));
7225 });
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') {
7230 var a = _v0.a;
7231 return $elm$core$Result$Ok(a);
7232 } else {
7233 var problems = _v0.a;
7234 return $elm$core$Result$Err(
7235 A2($elm$core$List$map, $elm$parser$Parser$problemToDeadEnd, problems));
7237 });
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') {
7246 var v = _v0.a;
7247 return $elm$json$Json$Decode$succeed(v);
7248 } else {
7249 return $elm$json$Json$Decode$fail('Expecting an ISO-8601 formatted date+time string');
7251 },
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};
7259 });
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};
7264 });
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(
7280 _List_fromArray(
7282 A2($elm$json$Json$Decode$map, $elm$core$Maybe$Just, decoder),
7283 $elm$json$Json$Decode$succeed($elm$core$Maybe$Nothing)
7284 ]));
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);
7290 });
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(
7298 _List_fromArray(
7300 decoder,
7301 $elm$json$Json$Decode$null(fallback)
7302 ]));
7303 };
7304 var handleResult = function (input) {
7305 var _v0 = A2(
7306 $elm$json$Json$Decode$decodeValue,
7307 A2($elm$json$Json$Decode$at, path, $elm$json$Json$Decode$value),
7308 input);
7309 if (_v0.$ === 'Ok') {
7310 var rawValue = _v0.a;
7311 var _v1 = A2(
7312 $elm$json$Json$Decode$decodeValue,
7313 nullOr(valDecoder),
7314 rawValue);
7315 if (_v1.$ === 'Ok') {
7316 var finalResult = _v1.a;
7317 return $elm$json$Json$Decode$succeed(finalResult);
7318 } else {
7319 return A2(
7320 $elm$json$Json$Decode$at,
7321 path,
7322 nullOr(valDecoder));
7324 } else {
7325 return $elm$json$Json$Decode$succeed(fallback);
7327 };
7328 return A2($elm$json$Json$Decode$andThen, handleResult, $elm$json$Json$Decode$value);
7329 });
7330var $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$optional = F4(
7331 function (key, valDecoder, fallback, decoder) {
7332 return A2(
7333 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$custom,
7334 A3(
7335 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$optionalDecoder,
7336 _List_fromArray(
7337 [key]),
7338 valDecoder,
7339 fallback),
7340 decoder);
7341 });
7342var $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required = F3(
7343 function (key, valDecoder, decoder) {
7344 return A2(
7345 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$custom,
7346 A2($elm$json$Json$Decode$field, key, valDecoder),
7347 decoder);
7348 });
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 () {
7351 var toDecoder = F2(
7352 function (tag, contents) {
7353 var _v0 = _Utils_Tuple2(tag, contents);
7354 _v0$2:
7355 while (true) {
7356 switch (_v0.a) {
7357 case 'ValueDeleted':
7358 return $elm$json$Json$Decode$succeed($author$project$Types$Override$ValueDeleted);
7359 case 'ValueAdded':
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));
7364 } else {
7365 break _v0$2;
7367 default:
7368 break _v0$2;
7371 return $elm$json$Json$Decode$fail('Unknown DeploymentStatus: ' + tag);
7372 });
7373 return $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$resolve(
7374 A4(
7375 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$optional,
7376 'contents',
7377 $elm$json$Json$Decode$maybe($elm$json$Json$Decode$string),
7378 $elm$core$Maybe$Nothing,
7379 A3(
7380 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
7381 'tag',
7382 $elm$json$Json$Decode$string,
7383 $elm$json$Json$Decode$succeed(toDecoder))));
7384}();
7385var $author$project$Types$Override$overrideDecoder = function () {
7386 var overrideHelperDecoder = $elm$json$Json$Decode$list(
7387 $elm$json$Json$Decode$oneOf(
7388 _List_fromArray(
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)
7392 ])));
7393 var listDecoder = function (vals) {
7394 _v0$2:
7395 while (true) {
7396 if (vals.b) {
7397 if (vals.a.$ === 'OverrideName_') {
7398 if ((vals.b.b && (vals.b.a.$ === 'OverrideValue_')) && (!vals.b.b.b)) {
7399 var name = vals.a.a;
7400 var _v1 = vals.b;
7401 var val = _v1.a.a;
7402 return $elm$json$Json$Decode$succeed(
7403 A2(
7404 $author$project$Types$Override$Override,
7405 $author$project$Types$Override$OverrideName(name),
7406 val));
7407 } else {
7408 break _v0$2;
7410 } else {
7411 if ((vals.b.b && (vals.b.a.$ === 'OverrideName_')) && (!vals.b.b.b)) {
7412 var val = vals.a.a;
7413 var _v2 = vals.b;
7414 var name = _v2.a.a;
7415 return $elm$json$Json$Decode$succeed(
7416 A2(
7417 $author$project$Types$Override$Override,
7418 $author$project$Types$Override$OverrideName(name),
7419 val));
7420 } else {
7421 break _v0$2;
7424 } else {
7425 break _v0$2;
7428 return $elm$json$Json$Decode$fail('Unknown override');
7429 };
7430 return A2($elm$json$Json$Decode$andThen, listDecoder, overrideHelperDecoder);
7431}();
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),
7436 A3(
7437 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
7438 'app_overrides',
7439 $elm$json$Json$Decode$list($author$project$Types$Override$overrideDecoder),
7440 A3(
7441 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
7442 'name',
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};
7448 });
7449var $author$project$Types$Deployment$metadataDecoder = A3(
7450 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
7451 'link',
7452 $elm$json$Json$Decode$string,
7453 A3(
7454 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
7455 'name',
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) {
7478 switch (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);
7483 case 'TagMismatch':
7484 return $elm$json$Json$Decode$succeed($author$project$Types$Deployment$TagMismatch);
7485 default:
7486 return $elm$json$Json$Decode$fail('Unknown FailureType: ' + tag);
7488 };
7489 return A2($elm$json$Json$Decode$andThen, tagDecoder, $elm$json$Json$Decode$string);
7490}();
7491var $author$project$Types$Deployment$deploymentStatusDecoder = function () {
7492 var toDecoder = F2(
7493 function (tag, contents) {
7494 var _v0 = _Utils_Tuple2(tag, contents);
7495 _v0$7:
7496 while (true) {
7497 switch (_v0.a) {
7498 case 'Running':
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);
7506 case 'Archived':
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);
7510 case 'Failure':
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));
7515 } else {
7516 break _v0$7;
7518 default:
7519 break _v0$7;
7522 return $elm$json$Json$Decode$fail('Unknown DeploymentStatus: ' + tag);
7523 });
7524 return $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$resolve(
7525 A4(
7526 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$optional,
7527 'contents',
7528 $elm$json$Json$Decode$maybe($author$project$Types$Deployment$failureTypeDecoder),
7529 $elm$core$Maybe$Nothing,
7530 A3(
7531 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
7532 'tag',
7533 $elm$json$Json$Decode$string,
7534 $elm$json$Json$Decode$succeed(toDecoder))));
7535}();
7536var $author$project$Types$Deployment$statusDecoder = function () {
7537 var toDecoder = F2(
7538 function (tag, contents) {
7539 switch (tag) {
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));
7546 default:
7547 return $elm$json$Json$Decode$fail('Unknown Status: ' + tag);
7549 });
7550 return $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$resolve(
7551 A3(
7552 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
7553 'recorded_status',
7554 $author$project$Types$Deployment$deploymentStatusDecoder,
7555 A3(
7556 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
7557 'tag',
7558 $elm$json$Json$Decode$string,
7559 $elm$json$Json$Decode$succeed(toDecoder))));
7560}();
7561var $author$project$Types$Deployment$deploymentDecoder = A3(
7562 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
7563 'updated_at',
7564 $elm_community$json_extra$Json$Decode$Extra$datetime,
7565 A3(
7566 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
7567 'created_at',
7568 $elm_community$json_extra$Json$Decode$Extra$datetime,
7569 A3(
7570 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
7571 'metadata',
7572 $elm$json$Json$Decode$list($author$project$Types$Deployment$metadataDecoder),
7573 A3(
7574 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
7575 'status',
7576 $author$project$Types$Deployment$statusDecoder,
7577 A3(
7578 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
7579 'deployment',
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) {
7583 var name = _v0.a;
7584 return name;
7586var $author$project$Api$Endpoint$Endpoint = function (a) {
7587 return {$: 'Endpoint', a: a};
7589var $elm$url$Url$Builder$toQueryPair = function (_v0) {
7590 var key = _v0.a;
7591 var value = _v0.b;
7592 return key + ('=' + value);
7594var $elm$url$Url$Builder$toQuery = function (parameters) {
7595 if (!parameters.b) {
7596 return '';
7597 } else {
7598 return '?' + A2(
7599 $elm$core$String$join,
7600 '&',
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));
7607 });
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)));
7611 });
7612var $author$project$Config$unwrapAppUrl = function (_v0) {
7613 var appUrl = _v0.a;
7614 return appUrl;
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(
7621 A3(
7622 $elm$url$Url$Builder$crossOrigin,
7623 $author$project$Config$unwrapAppUrl(appUrl),
7624 paths,
7625 queryParams));
7626 } else {
7627 return $author$project$Api$Endpoint$Endpoint(
7628 A2($elm$url$Url$Builder$absolute, paths, queryParams));
7630 });
7631var $author$project$Api$Endpoint$deploymentFullInfo = F2(
7632 function (deploymentName, appUrl) {
7633 return A3(
7634 $author$project$Api$Endpoint$url,
7635 $elm$core$Maybe$Just(appUrl),
7636 _List_fromArray(
7638 'api',
7639 'v1',
7640 'deployments',
7641 $author$project$Types$Deployment$unDeploymentName(deploymentName),
7642 'full_info'
7643 ]),
7644 _List_Nil);
7645 });
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') {
7654 var e = result.a;
7655 return $krisajenkins$remotedata$RemoteData$Failure(e);
7656 } else {
7657 var x = result.a;
7658 return $krisajenkins$remotedata$RemoteData$Success(x);
7661var $elm$http$Http$Header = F2(
7662 function (a, b) {
7663 return {$: 'Header', a: a, b: b};
7664 });
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(
7671 function (a, b) {
7672 return {$: 'BadStatus_', a: a, b: b};
7673 });
7674var $elm$http$Http$BadUrl_ = function (a) {
7675 return {$: 'BadUrl_', a: a};
7677var $elm$http$Http$GoodStatus_ = F2(
7678 function (a, b) {
7679 return {$: 'GoodStatus_', a: a, b: b};
7680 });
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') {
7691 return true;
7692 } else {
7693 return false;
7696var $elm$core$Dict$getMin = function (dict) {
7697 getMin:
7698 while (true) {
7699 if ((dict.$ === 'RBNode_elm_builtin') && (dict.d.$ === 'RBNode_elm_builtin')) {
7700 var left = dict.d;
7701 var $temp$dict = left;
7702 dict = $temp$dict;
7703 continue getMin;
7704 } else {
7705 return dict;
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')) {
7712 var clr = dict.a;
7713 var k = dict.b;
7714 var v = dict.c;
7715 var _v1 = dict.d;
7716 var lClr = _v1.a;
7717 var lK = _v1.b;
7718 var lV = _v1.c;
7719 var lLeft = _v1.d;
7720 var lRight = _v1.e;
7721 var _v2 = dict.e;
7722 var rClr = _v2.a;
7723 var rK = _v2.b;
7724 var rV = _v2.c;
7725 var rLeft = _v2.d;
7726 var _v3 = rLeft.a;
7727 var rlK = rLeft.b;
7728 var rlV = rLeft.c;
7729 var rlL = rLeft.d;
7730 var rlR = rLeft.e;
7731 var rRight = _v2.e;
7732 return A5(
7733 $elm$core$Dict$RBNode_elm_builtin,
7734 $elm$core$Dict$Red,
7735 rlK,
7736 rlV,
7737 A5(
7738 $elm$core$Dict$RBNode_elm_builtin,
7739 $elm$core$Dict$Black,
7740 k,
7741 v,
7742 A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),
7743 rlL),
7744 A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, rK, rV, rlR, rRight));
7745 } else {
7746 var clr = dict.a;
7747 var k = dict.b;
7748 var v = dict.c;
7749 var _v4 = dict.d;
7750 var lClr = _v4.a;
7751 var lK = _v4.b;
7752 var lV = _v4.c;
7753 var lLeft = _v4.d;
7754 var lRight = _v4.e;
7755 var _v5 = dict.e;
7756 var rClr = _v5.a;
7757 var rK = _v5.b;
7758 var rV = _v5.c;
7759 var rLeft = _v5.d;
7760 var rRight = _v5.e;
7761 if (clr.$ === 'Black') {
7762 return A5(
7763 $elm$core$Dict$RBNode_elm_builtin,
7764 $elm$core$Dict$Black,
7765 k,
7766 v,
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));
7769 } else {
7770 return A5(
7771 $elm$core$Dict$RBNode_elm_builtin,
7772 $elm$core$Dict$Black,
7773 k,
7774 v,
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));
7779 } else {
7780 return dict;
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')) {
7786 var clr = dict.a;
7787 var k = dict.b;
7788 var v = dict.c;
7789 var _v1 = dict.d;
7790 var lClr = _v1.a;
7791 var lK = _v1.b;
7792 var lV = _v1.c;
7793 var _v2 = _v1.d;
7794 var _v3 = _v2.a;
7795 var llK = _v2.b;
7796 var llV = _v2.c;
7797 var llLeft = _v2.d;
7798 var llRight = _v2.e;
7799 var lRight = _v1.e;
7800 var _v4 = dict.e;
7801 var rClr = _v4.a;
7802 var rK = _v4.b;
7803 var rV = _v4.c;
7804 var rLeft = _v4.d;
7805 var rRight = _v4.e;
7806 return A5(
7807 $elm$core$Dict$RBNode_elm_builtin,
7808 $elm$core$Dict$Red,
7809 lK,
7810 lV,
7811 A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, llK, llV, llLeft, llRight),
7812 A5(
7813 $elm$core$Dict$RBNode_elm_builtin,
7814 $elm$core$Dict$Black,
7815 k,
7816 v,
7817 lRight,
7818 A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight)));
7819 } else {
7820 var clr = dict.a;
7821 var k = dict.b;
7822 var v = dict.c;
7823 var _v5 = dict.d;
7824 var lClr = _v5.a;
7825 var lK = _v5.b;
7826 var lV = _v5.c;
7827 var lLeft = _v5.d;
7828 var lRight = _v5.e;
7829 var _v6 = dict.e;
7830 var rClr = _v6.a;
7831 var rK = _v6.b;
7832 var rV = _v6.c;
7833 var rLeft = _v6.d;
7834 var rRight = _v6.e;
7835 if (clr.$ === 'Black') {
7836 return A5(
7837 $elm$core$Dict$RBNode_elm_builtin,
7838 $elm$core$Dict$Black,
7839 k,
7840 v,
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));
7843 } else {
7844 return A5(
7845 $elm$core$Dict$RBNode_elm_builtin,
7846 $elm$core$Dict$Black,
7847 k,
7848 v,
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));
7853 } else {
7854 return dict;
7857var $elm$core$Dict$removeHelpPrepEQGT = F7(
7858 function (targetKey, dict, color, key, value, left, right) {
7859 if ((left.$ === 'RBNode_elm_builtin') && (left.a.$ === 'Red')) {
7860 var _v1 = left.a;
7861 var lK = left.b;
7862 var lV = left.c;
7863 var lLeft = left.d;
7864 var lRight = left.e;
7865 return A5(
7866 $elm$core$Dict$RBNode_elm_builtin,
7867 color,
7868 lK,
7869 lV,
7870 lLeft,
7871 A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, key, value, lRight, right));
7872 } else {
7873 _v2$2:
7874 while (true) {
7875 if ((right.$ === 'RBNode_elm_builtin') && (right.a.$ === 'Black')) {
7876 if (right.d.$ === 'RBNode_elm_builtin') {
7877 if (right.d.a.$ === 'Black') {
7878 var _v3 = right.a;
7879 var _v4 = right.d;
7880 var _v5 = _v4.a;
7881 return $elm$core$Dict$moveRedRight(dict);
7882 } else {
7883 break _v2$2;
7885 } else {
7886 var _v6 = right.a;
7887 var _v7 = right.d;
7888 return $elm$core$Dict$moveRedRight(dict);
7890 } else {
7891 break _v2$2;
7894 return dict;
7896 });
7897var $elm$core$Dict$removeMin = function (dict) {
7898 if ((dict.$ === 'RBNode_elm_builtin') && (dict.d.$ === 'RBNode_elm_builtin')) {
7899 var color = dict.a;
7900 var key = dict.b;
7901 var value = dict.c;
7902 var left = dict.d;
7903 var lColor = left.a;
7904 var lLeft = left.d;
7905 var right = dict.e;
7906 if (lColor.$ === 'Black') {
7907 if ((lLeft.$ === 'RBNode_elm_builtin') && (lLeft.a.$ === 'Red')) {
7908 var _v3 = lLeft.a;
7909 return A5(
7910 $elm$core$Dict$RBNode_elm_builtin,
7911 color,
7912 key,
7913 value,
7914 $elm$core$Dict$removeMin(left),
7915 right);
7916 } else {
7917 var _v4 = $elm$core$Dict$moveRedLeft(dict);
7918 if (_v4.$ === 'RBNode_elm_builtin') {
7919 var nColor = _v4.a;
7920 var nKey = _v4.b;
7921 var nValue = _v4.c;
7922 var nLeft = _v4.d;
7923 var nRight = _v4.e;
7924 return A5(
7925 $elm$core$Dict$balance,
7926 nColor,
7927 nKey,
7928 nValue,
7929 $elm$core$Dict$removeMin(nLeft),
7930 nRight);
7931 } else {
7932 return $elm$core$Dict$RBEmpty_elm_builtin;
7935 } else {
7936 return A5(
7937 $elm$core$Dict$RBNode_elm_builtin,
7938 color,
7939 key,
7940 value,
7941 $elm$core$Dict$removeMin(left),
7942 right);
7944 } else {
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;
7952 } else {
7953 var color = dict.a;
7954 var key = dict.b;
7955 var value = dict.c;
7956 var left = dict.d;
7957 var right = dict.e;
7958 if (_Utils_cmp(targetKey, key) < 0) {
7959 if ((left.$ === 'RBNode_elm_builtin') && (left.a.$ === 'Black')) {
7960 var _v4 = left.a;
7961 var lLeft = left.d;
7962 if ((lLeft.$ === 'RBNode_elm_builtin') && (lLeft.a.$ === 'Red')) {
7963 var _v6 = lLeft.a;
7964 return A5(
7965 $elm$core$Dict$RBNode_elm_builtin,
7966 color,
7967 key,
7968 value,
7969 A2($elm$core$Dict$removeHelp, targetKey, left),
7970 right);
7971 } else {
7972 var _v7 = $elm$core$Dict$moveRedLeft(dict);
7973 if (_v7.$ === 'RBNode_elm_builtin') {
7974 var nColor = _v7.a;
7975 var nKey = _v7.b;
7976 var nValue = _v7.c;
7977 var nLeft = _v7.d;
7978 var nRight = _v7.e;
7979 return A5(
7980 $elm$core$Dict$balance,
7981 nColor,
7982 nKey,
7983 nValue,
7984 A2($elm$core$Dict$removeHelp, targetKey, nLeft),
7985 nRight);
7986 } else {
7987 return $elm$core$Dict$RBEmpty_elm_builtin;
7990 } else {
7991 return A5(
7992 $elm$core$Dict$RBNode_elm_builtin,
7993 color,
7994 key,
7995 value,
7996 A2($elm$core$Dict$removeHelp, targetKey, left),
7997 right);
7999 } else {
8000 return A2(
8001 $elm$core$Dict$removeHelpEQGT,
8002 targetKey,
8003 A7($elm$core$Dict$removeHelpPrepEQGT, targetKey, dict, color, key, value, left, right));
8006 });
8007var $elm$core$Dict$removeHelpEQGT = F2(
8008 function (targetKey, dict) {
8009 if (dict.$ === 'RBNode_elm_builtin') {
8010 var color = dict.a;
8011 var key = dict.b;
8012 var value = dict.c;
8013 var left = dict.d;
8014 var right = dict.e;
8015 if (_Utils_eq(targetKey, key)) {
8016 var _v1 = $elm$core$Dict$getMin(right);
8017 if (_v1.$ === 'RBNode_elm_builtin') {
8018 var minKey = _v1.b;
8019 var minValue = _v1.c;
8020 return A5(
8021 $elm$core$Dict$balance,
8022 color,
8023 minKey,
8024 minValue,
8025 left,
8026 $elm$core$Dict$removeMin(right));
8027 } else {
8028 return $elm$core$Dict$RBEmpty_elm_builtin;
8030 } else {
8031 return A5(
8032 $elm$core$Dict$balance,
8033 color,
8034 key,
8035 value,
8036 left,
8037 A2($elm$core$Dict$removeHelp, targetKey, right));
8039 } else {
8040 return $elm$core$Dict$RBEmpty_elm_builtin;
8042 });
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')) {
8047 var _v1 = _v0.a;
8048 var k = _v0.b;
8049 var v = _v0.c;
8050 var l = _v0.d;
8051 var r = _v0.e;
8052 return A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, k, v, l, r);
8053 } else {
8054 var x = _v0;
8055 return x;
8057 });
8058var $elm$core$Dict$update = F3(
8059 function (targetKey, alter, dictionary) {
8060 var _v0 = alter(
8061 A2($elm$core$Dict$get, targetKey, dictionary));
8062 if (_v0.$ === 'Just') {
8063 var value = _v0.a;
8064 return A3($elm$core$Dict$insert, targetKey, value, dictionary);
8065 } else {
8066 return A2($elm$core$Dict$remove, targetKey, dictionary);
8068 });
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(
8074 function (a, b) {
8075 return {$: 'BadStatus', a: a, b: b};
8076 });
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) {
8085 return A3(
8086 _Http_expect,
8087 '',
8088 $elm$core$Basics$identity,
8089 A2($elm$core$Basics$composeR, toResult, toMsg));
8090 });
8091var $author$project$Api$expectJson = F2(
8092 function (toMsg, decoder) {
8093 return A2(
8094 $elm$http$Http$expectStringResponse,
8095 toMsg,
8096 function (response) {
8097 switch (response.$) {
8098 case 'BadUrl_':
8099 var url = response.a;
8100 return $elm$core$Result$Err(
8101 $author$project$Api$BadUrl(url));
8102 case 'Timeout_':
8103 return $elm$core$Result$Err($author$project$Api$Timeout);
8104 case 'NetworkError_':
8105 return $elm$core$Result$Err($author$project$Api$NetworkError);
8106 case 'BadStatus_':
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));
8111 default:
8112 var body = response.b;
8113 var _v1 = A2($elm$json$Json$Decode$decodeString, decoder, body);
8114 if (_v1.$ === 'Ok') {
8115 var value = _v1.a;
8116 return $elm$core$Result$Ok(value);
8117 } else {
8118 var err = _v1.a;
8119 return $elm$core$Result$Err(
8120 $author$project$Api$BadBody(
8121 $elm$json$Json$Decode$errorToString(err)));
8124 });
8125 });
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};
8132 });
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) {
8137 updateReqs:
8138 while (true) {
8139 if (!cmds.b) {
8140 return $elm$core$Task$succeed(reqs);
8141 } else {
8142 var cmd = cmds.a;
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,
8150 $temp$reqs = reqs;
8151 router = $temp$router;
8152 cmds = $temp$cmds;
8153 reqs = $temp$reqs;
8154 continue updateReqs;
8155 } else {
8156 var pid = _v2.a;
8157 return A2(
8158 $elm$core$Task$andThen,
8159 function (_v3) {
8160 return A3(
8161 $elm$http$Http$updateReqs,
8162 router,
8163 otherCmds,
8164 A2($elm$core$Dict$remove, tracker, reqs));
8165 },
8166 $elm$core$Process$kill(pid));
8168 } else {
8169 var req = cmd.a;
8170 return A2(
8171 $elm$core$Task$andThen,
8172 function (pid) {
8173 var _v4 = req.tracker;
8174 if (_v4.$ === 'Nothing') {
8175 return A3($elm$http$Http$updateReqs, router, otherCmds, reqs);
8176 } else {
8177 var tracker = _v4.a;
8178 return A3(
8179 $elm$http$Http$updateReqs,
8180 router,
8181 otherCmds,
8182 A3($elm$core$Dict$insert, tracker, pid, reqs));
8184 },
8185 $elm$core$Process$spawn(
8186 A3(
8187 _Http_toTask,
8188 router,
8189 $elm$core$Platform$sendToApp(router),
8190 req)));
8194 });
8195var $elm$http$Http$onEffects = F4(
8196 function (router, cmds, subs, state) {
8197 return A2(
8198 $elm$core$Task$andThen,
8199 function (reqs) {
8200 return $elm$core$Task$succeed(
8201 A2($elm$http$Http$State, reqs, subs));
8202 },
8203 A3($elm$http$Http$updateReqs, router, cmds, state.reqs));
8204 });
8205var $elm$http$Http$maybeSend = F4(
8206 function (router, desiredTracker, progress, _v0) {
8207 var actualTracker = _v0.a;
8208 var toMsg = _v0.b;
8209 return _Utils_eq(desiredTracker, actualTracker) ? $elm$core$Maybe$Just(
8210 A2(
8211 $elm$core$Platform$sendToApp,
8212 router,
8213 toMsg(progress))) : $elm$core$Maybe$Nothing;
8214 });
8215var $elm$http$Http$onSelfMsg = F3(
8216 function (router, _v0, state) {
8217 var tracker = _v0.a;
8218 var progress = _v0.b;
8219 return A2(
8220 $elm$core$Task$andThen,
8221 function (_v1) {
8222 return $elm$core$Task$succeed(state);
8223 },
8224 $elm$core$Task$sequence(
8225 A2(
8226 $elm$core$List$filterMap,
8227 A3($elm$http$Http$maybeSend, router, tracker, progress),
8228 state.subs)));
8229 });
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);
8238 } else {
8239 var r = cmd.a;
8240 return $elm$http$Http$Request(
8242 allowCookiesFromOtherDomains: r.allowCookiesFromOtherDomains,
8243 body: r.body,
8244 expect: A2(_Http_mapExpect, func, r.expect),
8245 headers: r.headers,
8246 method: r.method,
8247 timeout: r.timeout,
8248 tracker: r.tracker,
8249 url: r.url
8250 });
8252 });
8253var $elm$http$Http$MySub = F2(
8254 function (a, b) {
8255 return {$: 'MySub', a: a, b: b};
8256 });
8257var $elm$http$Http$subMap = F2(
8258 function (func, _v0) {
8259 var tracker = _v0.a;
8260 var toMsg = _v0.b;
8261 return A2(
8262 $elm$http$Http$MySub,
8263 tracker,
8264 A2($elm$core$Basics$composeR, toMsg, func));
8265 });
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) {
8275 var str = _v0.a;
8276 return str;
8278var $author$project$Api$Endpoint$request = function (config) {
8279 return $elm$http$Http$request(
8281 body: config.body,
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)
8288 });
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)
8299 ]),
8300 method: 'GET',
8301 timeout: $elm$core$Maybe$Nothing,
8302 tracker: $elm$core$Maybe$Nothing,
8303 url: url(config.appUrl)
8304 });
8305 });
8306var $author$project$Page$Deployment$reqDeployment = F2(
8307 function (deploymentName, cfg) {
8308 return A4(
8309 $author$project$Api$get,
8310 cfg,
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));
8314 });
8315var $author$project$Page$Deployment$DeploymentInfoResponse = function (a) {
8316 return {$: 'DeploymentInfoResponse', a: a};
8318var $author$project$Api$Endpoint$deploymentInfo = F2(
8319 function (deploymentName, appUrl) {
8320 return A3(
8321 $author$project$Api$Endpoint$url,
8322 $elm$core$Maybe$Just(appUrl),
8323 _List_fromArray(
8325 'api',
8326 'v1',
8327 'deployments',
8328 $author$project$Types$Deployment$unDeploymentName(deploymentName),
8329 'info'
8330 ]),
8331 _List_Nil);
8332 });
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};
8339 });
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) {
8351 switch (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);
8360 default:
8361 return $elm$json$Json$Decode$fail('Unknown ActionType: ' + tag);
8363 };
8364 return A2($elm$json$Json$Decode$andThen, tagDecoder, $elm$json$Json$Decode$string);
8365}();
8366var $author$project$Types$Action$Duration = F2(
8367 function (months, time) {
8368 return {months: months, time: time};
8369 });
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,
8373 'time',
8374 $elm$json$Json$Decode$float,
8375 A3(
8376 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
8377 'months',
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,
8386 'exit_code',
8387 $author$project$Types$Action$exitCodeDecocder,
8388 A3(
8389 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
8390 'duration',
8391 $author$project$Types$Action$durationDecoder,
8392 A3(
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),
8396 A3(
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),
8400 A3(
8401 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
8402 'created_at',
8403 $elm_community$json_extra$Json$Decode$Extra$datetime,
8404 A3(
8405 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
8406 'action_id',
8407 $author$project$Types$Action$actionIdDecoder,
8408 A3(
8409 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
8410 'action',
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,
8415 'logs',
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) {
8420 return A4(
8421 $author$project$Api$get,
8422 cfg,
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));
8426 });
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,
8435 config: config,
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,
8443 settings: settings,
8444 sidebar: A4($author$project$Page$Sidebar$CreateUpdate$initUpdate, settings.navKey, config, false, deploymentName)
8445 },
8446 $elm$core$Platform$Cmd$batch(
8447 _List_fromArray(
8449 A2($author$project$Page$Deployment$reqDeployment, deploymentName, config),
8450 A2($author$project$Page$Deployment$reqLogs, deploymentName, config)
8451 ])));
8452 });
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) {
8461 return {
8462 archivePopup: $elm$core$Maybe$Nothing,
8463 config: config,
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),
8467 settings: settings,
8468 sort: $author$project$Page$Deployments$Table$Desc($author$project$Page$Deployments$Table$Updated),
8469 tableType: tableType
8470 };
8471 });
8472var $author$project$Page$Sidebar$CreateUpdate$Create = {$: 'Create'};
8473var $author$project$Page$Sidebar$CreateUpdate$initCreate = F3(
8474 function (navKey, config, visibility) {
8475 return {
8476 appDefaults: $krisajenkins$remotedata$RemoteData$Loading,
8477 appKeys: $krisajenkins$remotedata$RemoteData$Loading,
8478 appOverrides: $krisajenkins$remotedata$RemoteData$Loading,
8479 config: config,
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(''),
8486 nameEdited: false,
8487 navKey: navKey,
8488 saveResp: $krisajenkins$remotedata$RemoteData$NotAsked,
8489 visibility: visibility
8490 };
8491 });
8492var $author$project$Page$Deployments$DeploymentsResponse = function (a) {
8493 return {$: 'DeploymentsResponse', a: a};
8495var $author$project$Api$Endpoint$deployments = function (appUrl) {
8496 return A3(
8497 $author$project$Api$Endpoint$url,
8498 $elm$core$Maybe$Just(appUrl),
8499 _List_fromArray(
8500 ['api', 'v1', 'deployments']),
8501 _List_Nil);
8503var $author$project$Page$Deployments$reqDeployments = function (cfg) {
8504 return A4(
8505 $author$project$Api$get,
8506 cfg,
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),
8517 config: config,
8518 debounce: $jinjor$elm_debounce$Debounce$init,
8519 deployments: $krisajenkins$remotedata$RemoteData$Loading,
8520 search: '',
8521 settings: settings,
8522 showArchived: false,
8523 sidebar: A3($author$project$Page$Sidebar$CreateUpdate$initCreate, settings.navKey, config, false),
8524 updated: 0
8525 },
8526 $author$project$Page$Deployments$reqDeployments(config));
8527 });
8528var $author$project$Main$changeRouteTo = F2(
8529 function (maybeRoute, model) {
8530 if (maybeRoute.$ === 'Nothing') {
8531 return A3(
8532 $author$project$Main$updateWith,
8533 $author$project$Main$Deployments,
8534 $author$project$Main$DeploymentsMsg,
8535 A2(
8536 $author$project$Page$Deployments$init,
8537 $author$project$Main$getSettings(model),
8538 $author$project$Main$getConfig(model)));
8539 } else {
8540 if (maybeRoute.a.$ === 'Deployments') {
8541 var _v1 = maybeRoute.a;
8542 return A3(
8543 $author$project$Main$updateWith,
8544 $author$project$Main$Deployments,
8545 $author$project$Main$DeploymentsMsg,
8546 A2(
8547 $author$project$Page$Deployments$init,
8548 $author$project$Main$getSettings(model),
8549 $author$project$Main$getConfig(model)));
8550 } else {
8551 var deploymentName = maybeRoute.a.a;
8552 return A3(
8553 $author$project$Main$updateWith,
8554 $author$project$Main$Deployment,
8555 $author$project$Main$DeploymentMsg,
8556 A3(
8557 $author$project$Page$Deployment$init,
8558 $author$project$Main$getSettings(model),
8559 $author$project$Main$getConfig(model),
8560 deploymentName));
8563 });
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};
8567 });
8568var $elm$url$Url$Parser$getFirstMatch = function (states) {
8569 getFirstMatch:
8570 while (true) {
8571 if (!states.b) {
8572 return $elm$core$Maybe$Nothing;
8573 } else {
8574 var state = states.a;
8575 var rest = states.b;
8576 var _v1 = state.unvisited;
8577 if (!_v1.b) {
8578 return $elm$core$Maybe$Just(state.value);
8579 } else {
8580 if ((_v1.a === '') && (!_v1.b.b)) {
8581 return $elm$core$Maybe$Just(state.value);
8582 } else {
8583 var $temp$states = rest;
8584 states = $temp$states;
8585 continue getFirstMatch;
8591var $elm$url$Url$Parser$removeFinalEmpty = function (segments) {
8592 if (!segments.b) {
8593 return _List_Nil;
8594 } else {
8595 if ((segments.a === '') && (!segments.b.b)) {
8596 return _List_Nil;
8597 } else {
8598 var segment = segments.a;
8599 var rest = segments.b;
8600 return A2(
8601 $elm$core$List$cons,
8602 segment,
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);
8612 } else {
8613 var segments = _v0;
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(
8621 _List_fromArray(
8622 [value]));
8623 } else {
8624 var list = maybeList.a;
8625 return $elm$core$Maybe$Just(
8626 A2($elm$core$List$cons, value, list));
8628 });
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)) {
8634 var rawKey = _v0.a;
8635 var _v1 = _v0.b;
8636 var rawValue = _v1.a;
8637 var _v2 = $elm$url$Url$percentDecode(rawKey);
8638 if (_v2.$ === 'Nothing') {
8639 return dict;
8640 } else {
8641 var key = _v2.a;
8642 var _v3 = $elm$url$Url$percentDecode(rawValue);
8643 if (_v3.$ === 'Nothing') {
8644 return dict;
8645 } else {
8646 var value = _v3.a;
8647 return A3(
8648 $elm$core$Dict$update,
8649 key,
8650 $elm$url$Url$Parser$addToParametersHelp(value),
8651 dict);
8654 } else {
8655 return dict;
8657 });
8658var $elm$url$Url$Parser$prepareQuery = function (maybeQuery) {
8659 if (maybeQuery.$ === 'Nothing') {
8660 return $elm$core$Dict$empty;
8661 } else {
8662 var qry = maybeQuery.a;
8663 return A3(
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) {
8672 var parser = _v0.a;
8673 return $elm$url$Url$Parser$getFirstMatch(
8674 parser(
8675 A5(
8676 $elm$url$Url$Parser$State,
8677 _List_Nil,
8678 $elm$url$Url$Parser$preparePath(url.path),
8679 $elm$url$Url$Parser$prepareQuery(url.query),
8680 url.fragment,
8681 $elm$core$Basics$identity)));
8682 });
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(
8693 function (_v0) {
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;
8699 if (!unvisited.b) {
8700 return _List_Nil;
8701 } else {
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(
8709 A5(
8710 $elm$url$Url$Parser$State,
8711 A2($elm$core$List$cons, next, visited),
8712 rest,
8713 params,
8714 frag,
8715 value(nextValue))
8716 ]);
8717 } else {
8718 return _List_Nil;
8721 });
8722 });
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;
8730 return A5(
8731 $elm$url$Url$Parser$State,
8732 visited,
8733 unvisited,
8734 params,
8735 frag,
8736 func(value));
8737 });
8738var $elm$url$Url$Parser$map = F2(
8739 function (subValue, _v0) {
8740 var parseArg = _v0.a;
8741 return $elm$url$Url$Parser$Parser(
8742 function (_v1) {
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;
8748 return A2(
8749 $elm$core$List$map,
8750 $elm$url$Url$Parser$mapState(value),
8751 parseArg(
8752 A5($elm$url$Url$Parser$State, visited, unvisited, params, frag, subValue)));
8753 });
8754 });
8755var $elm$core$List$append = F2(
8756 function (xs, ys) {
8757 if (!ys.b) {
8758 return xs;
8759 } else {
8760 return A3($elm$core$List$foldr, $elm$core$List$cons, ys, xs);
8762 });
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));
8770 });
8771var $elm$url$Url$Parser$oneOf = function (parsers) {
8772 return $elm$url$Url$Parser$Parser(
8773 function (state) {
8774 return A2(
8775 $elm$core$List$concatMap,
8776 function (_v0) {
8777 var parser = _v0.a;
8778 return parser(state);
8779 },
8780 parsers);
8781 });
8783var $elm$url$Url$Parser$s = function (str) {
8784 return $elm$url$Url$Parser$Parser(
8785 function (_v0) {
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;
8791 if (!unvisited.b) {
8792 return _List_Nil;
8793 } else {
8794 var next = unvisited.a;
8795 var rest = unvisited.b;
8796 return _Utils_eq(next, str) ? _List_fromArray(
8798 A5(
8799 $elm$url$Url$Parser$State,
8800 A2($elm$core$List$cons, next, visited),
8801 rest,
8802 params,
8803 frag,
8804 value)
8805 ]) : _List_Nil;
8807 });
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(
8814 function (state) {
8815 return A2(
8816 $elm$core$List$concatMap,
8817 parseAfter,
8818 parseBefore(state));
8819 });
8820 });
8821var $author$project$Route$parser = $elm$url$Url$Parser$oneOf(
8822 _List_fromArray(
8824 A2(
8825 $elm$url$Url$Parser$map,
8826 $author$project$Route$Deployments,
8827 $elm$url$Url$Parser$s('deployments')),
8828 A2(
8829 $elm$url$Url$Parser$map,
8830 $author$project$Route$Deployment,
8831 A2(
8832 $elm$url$Url$Parser$slash,
8833 $elm$url$Url$Parser$s('deployments'),
8834 A2(
8835 $elm$url$Url$Parser$custom,
8836 'deployment',
8837 function (str) {
8838 return $elm$core$Maybe$Just(
8839 $author$project$Types$Deployment$DeploymentName(str));
8840 })))
8841 ]));
8842var $elm$core$Maybe$withDefault = F2(
8843 function (_default, maybe) {
8844 if (maybe.$ === 'Just') {
8845 var value = maybe.a;
8846 return value;
8847 } else {
8848 return _default;
8850 });
8851var $author$project$Route$fromUrl = function (url) {
8852 return A2(
8853 $elm$url$Url$Parser$parse,
8854 $author$project$Route$parser,
8855 _Utils_update(
8856 url,
8858 fragment: $elm$core$Maybe$Nothing,
8859 path: A2($elm$core$Maybe$withDefault, '', url.fragment)
8860 }));
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) {
8872 switch (model.$) {
8873 case 'Initialization':
8874 var subModel = model.a;
8875 return $author$project$Page$Initialization$getNavKey(subModel);
8876 case 'Deployments':
8877 var subModel = model.a;
8878 return $author$project$Page$Deployments$getNavKey(subModel);
8879 default:
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') {
8890 return starter;
8891 } else {
8892 var port_ = maybePort.a;
8893 return starter + (':' + $elm$core$String$fromInt(port_));
8895 });
8896var $elm$url$Url$addPrefixed = F3(
8897 function (prefix, maybeSegment, starter) {
8898 if (maybeSegment.$ === 'Nothing') {
8899 return starter;
8900 } else {
8901 var segment = maybeSegment.a;
8902 return _Utils_ap(
8903 starter,
8904 _Utils_ap(prefix, segment));
8906 });
8907var $elm$url$Url$toString = function (url) {
8908 var http = function () {
8909 var _v0 = url.protocol;
8910 if (_v0.$ === 'Http') {
8911 return 'http://';
8912 } else {
8913 return 'https://';
8915 }();
8916 return A3(
8917 $elm$url$Url$addPrefixed,
8918 '#',
8919 url.fragment,
8920 A3(
8921 $elm$url$Url$addPrefixed,
8922 '?',
8923 url.query,
8924 _Utils_ap(
8925 A2(
8926 $elm$url$Url$addPort,
8927 url.port_,
8928 _Utils_ap(http, url.host)),
8929 url.path)));
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(
8948 function (a, b) {
8949 return {$: 'Soon', a: a, b: b};
8950 });
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) {
8957 var name = _v0.a;
8958 return name;
8960var $author$project$Html$Overrides$mkDefaultNameDict = function (defaultsList) {
8961 return $elm$core$Dict$fromList(
8962 A2(
8963 $elm$core$List$map,
8964 function (d) {
8965 return _Utils_Tuple2(
8966 $author$project$Types$Override$unOverrideName(d.name),
8967 d);
8968 },
8969 defaultsList));
8971var $author$project$Html$Overrides$mkDefaultsDict = F2(
8972 function (ids, defaults) {
8973 return A6(
8974 $elm$core$Dict$merge,
8975 F3(
8976 function (_v0, _v1, res) {
8977 return res;
8978 }),
8979 F4(
8980 function (_v2, id, def, res) {
8981 return A3($elm$core$Dict$insert, id, def, res);
8982 }),
8983 F3(
8984 function (_v3, _v4, res) {
8985 return res;
8986 }),
8987 ids,
8988 defaults,
8989 $elm$core$Dict$empty);
8990 });
8991var $author$project$Html$Overrides$mkEditsDict = F2(
8992 function (ids, edits) {
8993 return A6(
8994 $elm$core$Dict$merge,
8995 F3(
8996 function (_v0, _v1, res) {
8997 return res;
8998 }),
8999 F4(
9000 function (_v2, id, def, res) {
9001 return A3($elm$core$Dict$insert, id, def, res);
9002 }),
9003 F3(
9004 function (_v3, _v4, res) {
9005 return res;
9006 }),
9007 ids,
9008 edits,
9009 $elm$core$Dict$empty);
9010 });
9011var $author$project$Html$Overrides$mkEditsNameDict = function (editsList) {
9012 return $elm$core$Dict$fromList(
9013 A2(
9014 $elm$core$List$map,
9015 function (d) {
9016 return _Utils_Tuple2(
9017 $author$project$Types$Override$unOverrideName(d.name),
9018 d);
9019 },
9020 editsList));
9022var $elm$core$Dict$sizeHelp = F2(
9023 function (n, dict) {
9024 sizeHelp:
9025 while (true) {
9026 if (dict.$ === 'RBEmpty_elm_builtin') {
9027 return n;
9028 } else {
9029 var left = dict.d;
9030 var right = dict.e;
9031 var $temp$n = A2($elm$core$Dict$sizeHelp, n + 1, right),
9032 $temp$dict = left;
9033 n = $temp$n;
9034 dict = $temp$dict;
9035 continue sizeHelp;
9038 });
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) {
9044 return A6(
9045 $elm$core$Dict$merge,
9046 F3(
9047 function (n, _v0, res) {
9048 return A3(
9049 $elm$core$Dict$insert,
9050 n,
9051 $elm$core$Dict$size(res),
9052 res);
9053 }),
9054 F4(
9055 function (n, _v1, _v2, res) {
9056 return A3(
9057 $elm$core$Dict$insert,
9058 n,
9059 $elm$core$Dict$size(res),
9060 res);
9061 }),
9062 F3(
9063 function (n, _v3, res) {
9064 return A3(
9065 $elm$core$Dict$insert,
9066 n,
9067 $elm$core$Dict$size(res),
9068 res);
9069 }),
9070 defaults,
9071 edits,
9072 $elm$core$Dict$empty);
9073 });
9074var $elm$core$List$filter = F2(
9075 function (isGood, list) {
9076 return A3(
9077 $elm$core$List$foldr,
9078 F2(
9079 function (x, xs) {
9080 return isGood(x) ? A2($elm$core$List$cons, x, xs) : xs;
9081 }),
9082 _List_Nil,
9083 list);
9084 });
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) {
9091 var dict = _v0.a;
9092 return $elm$core$Set$Set_elm_builtin(
9093 A3($elm$core$Dict$insert, key, _Utils_Tuple0, dict));
9094 });
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') {
9100 var x = w.a;
9101 return x.name;
9102 } else {
9103 var x = w.a;
9104 return x.name;
9107var $author$project$Html$Overrides$getWrappedValue = function (w) {
9108 if (w.$ === 'DefaultOverride') {
9109 var x = w.a;
9110 return x.value;
9111 } else {
9112 var x = w.a;
9113 return x.value;
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(
9121 f(value));
9122 } else {
9123 return $elm$core$Maybe$Nothing;
9125 });
9126var $elm$core$List$tail = function (list) {
9127 if (list.b) {
9128 var x = list.a;
9129 var xs = list.b;
9130 return $elm$core$Maybe$Just(xs);
9131 } else {
9132 return $elm$core$Maybe$Nothing;
9135var $elm_community$list_extra$List$Extra$init = function (items) {
9136 if (!items.b) {
9137 return $elm$core$Maybe$Nothing;
9138 } else {
9139 var nonEmptyList = items;
9140 return A2(
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) {
9148 var y = _v0.b;
9149 return y;
9151var $elm_community$list_extra$List$Extra$tailsHelp = F2(
9152 function (e, list) {
9153 if (list.b) {
9154 var x = list.a;
9155 var xs = list.b;
9156 return A2(
9157 $elm$core$List$cons,
9158 A2($elm$core$List$cons, e, x),
9159 A2($elm$core$List$cons, x, xs));
9160 } else {
9161 return _List_Nil;
9163 });
9164var $elm_community$list_extra$List$Extra$tails = A2(
9165 $elm$core$List$foldr,
9166 $elm_community$list_extra$List$Extra$tailsHelp,
9167 _List_fromArray(
9168 [_List_Nil]));
9169var $author$project$Html$Overrides$mkOpenedPaths = function (overridesData) {
9170 return $elm$core$Set$fromList(
9171 $elm$core$List$concat(
9172 A2(
9173 $elm$core$List$map,
9174 A2(
9175 $elm$core$Basics$composeR,
9176 $author$project$Html$Overrides$getWrappedName,
9177 A2(
9178 $elm$core$Basics$composeR,
9179 $author$project$Types$Override$unOverrideName,
9180 A2(
9181 $elm$core$Basics$composeR,
9182 $elm$core$String$split('.'),
9183 A2(
9184 $elm$core$Basics$composeR,
9185 $elm_community$list_extra$List$Extra$init,
9186 A2(
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)))))),
9190 A2(
9191 $elm$core$List$filter,
9192 A2(
9193 $elm$core$Basics$composeR,
9194 $author$project$Html$Overrides$getWrappedValue,
9195 function (x) {
9196 return x === '';
9197 }),
9198 A2(
9199 $elm$core$List$map,
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};
9209 });
9210var $author$project$Html$Overrides$mkOverrideDataList = F2(
9211 function (defaults, edits) {
9212 return A6(
9213 $elm$core$Dict$merge,
9214 F3(
9215 function (_v0, _v1, res) {
9216 return res;
9217 }),
9218 F4(
9219 function (id, def, edit, res) {
9220 var _v2 = edit.value;
9221 if (_v2.$ === 'ValueAdded') {
9222 var v = _v2.a;
9223 return A3(
9224 $elm$core$Dict$insert,
9225 id,
9226 A3($author$project$Html$Overrides$OverrideData, edit.name, v, $author$project$Html$Overrides$Edited),
9227 res);
9228 } else {
9229 return A3(
9230 $elm$core$Dict$insert,
9231 id,
9232 A3($author$project$Html$Overrides$OverrideData, edit.name, def.value, $author$project$Html$Overrides$Deleted),
9233 res);
9235 }),
9236 F3(
9237 function (id, edit, res) {
9238 var _v3 = edit.value;
9239 if (_v3.$ === 'ValueAdded') {
9240 var v = _v3.a;
9241 return A3(
9242 $elm$core$Dict$insert,
9243 id,
9244 A3($author$project$Html$Overrides$OverrideData, edit.name, v, $author$project$Html$Overrides$New),
9245 res);
9246 } else {
9247 return res;
9249 }),
9250 defaults,
9251 edits,
9252 $elm$core$Dict$empty);
9253 });
9254var $author$project$Html$Overrides$compareOverrideData = F2(
9255 function (a, b) {
9256 var _v0 = _Utils_Tuple2(a.status, b.status);
9257 _v0$3:
9258 while (true) {
9259 _v0$4:
9260 while (true) {
9261 switch (_v0.a.$) {
9262 case 'Edited':
9263 switch (_v0.b.$) {
9264 case 'Edited':
9265 var _v5 = _v0.a;
9266 var _v6 = _v0.b;
9267 return A2(
9268 $elm$core$Basics$compare,
9269 $author$project$Types$Override$unOverrideName(a.name),
9270 $author$project$Types$Override$unOverrideName(b.name));
9271 case 'Deleted':
9272 break _v0$4;
9273 default:
9274 var _v10 = _v0.b;
9275 return $elm$core$Basics$GT;
9277 case 'Deleted':
9278 switch (_v0.b.$) {
9279 case 'Deleted':
9280 var _v1 = _v0.a;
9281 var _v2 = _v0.b;
9282 return A2(
9283 $elm$core$Basics$compare,
9284 $author$project$Types$Override$unOverrideName(a.name),
9285 $author$project$Types$Override$unOverrideName(b.name));
9286 case 'New':
9287 break _v0$3;
9288 default:
9289 break _v0$3;
9291 default:
9292 switch (_v0.b.$) {
9293 case 'Deleted':
9294 break _v0$4;
9295 case 'New':
9296 var _v3 = _v0.a;
9297 var _v4 = _v0.b;
9298 return A2(
9299 $elm$core$Basics$compare,
9300 $author$project$Types$Override$unOverrideName(a.name),
9301 $author$project$Types$Override$unOverrideName(b.name));
9302 default:
9303 var _v9 = _v0.a;
9304 return $elm$core$Basics$LT;
9308 var _v8 = _v0.b;
9309 return $elm$core$Basics$GT;
9311 var _v7 = _v0.a;
9312 return $elm$core$Basics$LT;
9313 });
9314var $author$project$Html$Overrides$compareWrappedOverride = F2(
9315 function (a, b) {
9316 var _v0 = _Utils_Tuple2(a, b);
9317 if (_v0.a.$ === 'NonOverrideWithDefault') {
9318 if (_v0.b.$ === 'NonOverrideWithDefault') {
9319 var x = _v0.a.a;
9320 var y = _v0.b.a;
9321 return A2($author$project$Html$Overrides$compareOverrideData, x, y);
9322 } else {
9323 return $elm$core$Basics$LT;
9325 } else {
9326 if (_v0.b.$ === 'NonOverrideWithDefault') {
9327 return $elm$core$Basics$GT;
9328 } else {
9329 var x = _v0.a.a;
9330 var y = _v0.b.a;
9331 return A2(
9332 $elm$core$Basics$compare,
9333 $author$project$Types$Override$unOverrideName(x.name),
9334 $author$project$Types$Override$unOverrideName(y.name));
9337 });
9338var $elm$core$List$any = F2(
9339 function (isOkay, list) {
9340 any:
9341 while (true) {
9342 if (!list.b) {
9343 return false;
9344 } else {
9345 var x = list.a;
9346 var xs = list.b;
9347 if (isOkay(x)) {
9348 return true;
9349 } else {
9350 var $temp$isOkay = isOkay,
9351 $temp$list = xs;
9352 isOkay = $temp$isOkay;
9353 list = $temp$list;
9354 continue any;
9358 });
9359var $author$project$Html$Overrides$treeHasEmptyOrEdited = F2(
9360 function (overrideData, t) {
9361 if (t.$ === 'Node') {
9362 var cs = t.b;
9363 return A2(
9364 $elm$core$List$any,
9365 $author$project$Html$Overrides$treeHasEmptyOrEdited(overrideData),
9366 cs);
9367 } else {
9368 var i = t.a;
9369 var _v1 = A2($elm$core$Dict$get, i, overrideData);
9370 if (_v1.$ === 'Just') {
9371 if (_v1.a.$ === 'NonOverrideWithDefault') {
9372 return true;
9373 } else {
9374 var x = _v1.a.a;
9375 return x.value === '';
9377 } else {
9378 return false;
9381 });
9382var $author$project$Html$Overrides$compareTree = F3(
9383 function (overrideData, a, b) {
9384 var _v0 = _Utils_Tuple2(a, b);
9385 _v0$1:
9386 while (true) {
9387 _v0$2:
9388 while (true) {
9389 _v0$4:
9390 while (true) {
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)) {
9395 var _v1 = _v0.a;
9396 var x = _v1.a;
9397 var _v2 = _v1.b;
9398 var i = _v2.a.a;
9399 var _v3 = _v0.b;
9400 var y = _v3.a;
9401 var _v4 = _v3.b;
9402 var j = _v4.a.a;
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')) {
9407 var aa = _v5.a.a;
9408 var bb = _v5.b.a;
9409 return A2($author$project$Html$Overrides$compareWrappedOverride, aa, bb);
9410 } else {
9411 return A2($elm$core$Basics$compare, x, y);
9413 } else {
9414 break _v0$1;
9416 } else {
9417 if ((_v0.b.b.b && (_v0.b.b.a.$ === 'Leaf')) && (!_v0.b.b.b.b)) {
9418 break _v0$2;
9419 } else {
9420 var _v10 = _v0.a;
9421 var x = _v10.a;
9422 var _v11 = _v0.b;
9423 var y = _v11.a;
9424 var _v12 = _Utils_Tuple2(
9425 A2($author$project$Html$Overrides$treeHasEmptyOrEdited, overrideData, a),
9426 A2($author$project$Html$Overrides$treeHasEmptyOrEdited, overrideData, b));
9427 if (_v12.a) {
9428 if (_v12.b) {
9429 return A2($elm$core$Basics$compare, x, y);
9430 } else {
9431 return $elm$core$Basics$LT;
9433 } else {
9434 if (!_v12.b) {
9435 return A2($elm$core$Basics$compare, x, y);
9436 } else {
9437 return $elm$core$Basics$GT;
9442 } else {
9443 if ((_v0.a.b.b && (_v0.a.b.a.$ === 'Leaf')) && (!_v0.a.b.b.b)) {
9444 break _v0$1;
9445 } else {
9446 break _v0$4;
9449 } else {
9450 if ((((_v0.b.$ === 'Node') && _v0.b.b.b) && (_v0.b.b.a.$ === 'Leaf')) && (!_v0.b.b.b.b)) {
9451 break _v0$2;
9452 } else {
9453 break _v0$4;
9457 return $elm$core$Basics$EQ;
9459 var _v8 = _v0.b;
9460 var _v9 = _v8.b;
9461 return $elm$core$Basics$GT;
9463 var _v6 = _v0.a;
9464 var _v7 = _v6.b;
9465 return $elm$core$Basics$LT;
9466 });
9467var $author$project$Tree$getLabel = function (t) {
9468 if (t.$ === 'Node') {
9469 var l = t.a;
9470 return $elm$core$Maybe$Just(l);
9471 } else {
9472 return $elm$core$Maybe$Nothing;
9475var $author$project$Tree$Leaf = function (a) {
9476 return {$: 'Leaf', a: a};
9478var $author$project$Tree$Node = F2(
9479 function (a, b) {
9480 return {$: 'Node', a: a, b: b};
9481 });
9482var $elm$core$List$partition = F2(
9483 function (pred, list) {
9484 var step = F2(
9485 function (x, _v0) {
9486 var trues = _v0.a;
9487 var falses = _v0.b;
9488 return pred(x) ? _Utils_Tuple2(
9489 A2($elm$core$List$cons, x, trues),
9490 falses) : _Utils_Tuple2(
9491 trues,
9492 A2($elm$core$List$cons, x, falses));
9493 });
9494 return A3(
9495 $elm$core$List$foldr,
9496 step,
9497 _Utils_Tuple2(_List_Nil, _List_Nil),
9498 list);
9499 });
9500var $elm_community$list_extra$List$Extra$gatherWith = F2(
9501 function (testFn, list) {
9502 var helper = F2(
9503 function (scattered, gathered) {
9504 helper:
9505 while (true) {
9506 if (!scattered.b) {
9507 return $elm$core$List$reverse(gathered);
9508 } else {
9509 var toGather = scattered.a;
9510 var population = scattered.b;
9511 var _v1 = A2(
9512 $elm$core$List$partition,
9513 testFn(toGather),
9514 population);
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),
9521 gathered);
9522 scattered = $temp$scattered;
9523 gathered = $temp$gathered;
9524 continue helper;
9527 });
9528 return A2(helper, list, _List_Nil);
9529 });
9530var $elm_community$list_extra$List$Extra$gatherEqualsBy = F2(
9531 function (extract, list) {
9532 return A2(
9533 $elm_community$list_extra$List$Extra$gatherWith,
9534 F2(
9535 function (a, b) {
9536 return _Utils_eq(
9537 extract(a),
9538 extract(b));
9539 }),
9540 list);
9541 });
9542var $author$project$Tree$getChildren = function (t) {
9543 if (t.$ === 'Node') {
9544 var cs = t.b;
9545 return cs;
9546 } else {
9547 return _List_Nil;
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') {
9555 var _v1 = x.a;
9556 var l = _v1.a;
9557 var cs = _v1.b;
9558 var ns = x.b;
9559 return A2(
9560 $author$project$Tree$Node,
9561 l,
9562 A2(
9563 $elm$core$List$sortWith,
9564 cmp,
9565 A3(
9566 $author$project$Tree$mergeTreesByWithSort,
9567 mrg,
9568 cmp,
9569 $elm$core$List$concat(
9570 A2(
9571 $elm$core$List$cons,
9572 cs,
9573 A2($elm$core$List$map, $author$project$Tree$getChildren, ns))))));
9574 } else {
9575 var a = x.a.a;
9576 return $author$project$Tree$Leaf(a);
9578 };
9579 return A2(
9580 $elm$core$List$sortWith,
9581 cmp,
9582 A2(
9583 $elm$core$List$map,
9584 f,
9585 A2($elm_community$list_extra$List$Extra$gatherEqualsBy, mrg, ts)));
9586 });
9587var $author$project$Tree$mergeTreesWithSort = $author$project$Tree$mergeTreesByWithSort($author$project$Tree$getLabel);
9588var $author$project$Tree$pathToTree = F2(
9589 function (a, v) {
9590 if (a.b) {
9591 var l = a.a;
9592 var ls = a.b;
9593 return A2(
9594 $author$project$Tree$Node,
9595 l,
9596 _List_fromArray(
9598 A2($author$project$Tree$pathToTree, ls, v)
9599 ]));
9600 } else {
9601 return $author$project$Tree$Leaf(v);
9603 });
9604var $author$project$Html$Overrides$mkTree = F2(
9605 function (ids, overridesData) {
9606 return A2(
9607 $author$project$Tree$mergeTreesWithSort,
9608 $author$project$Html$Overrides$compareTree(overridesData),
9609 A2(
9610 $elm$core$List$map,
9611 function (_v0) {
9612 var n = _v0.a;
9613 var id = _v0.b;
9614 return A2(
9615 $author$project$Tree$pathToTree,
9616 A2($elm$core$String$split, '.', n),
9617 id);
9618 },
9619 $elm$core$Dict$toList(ids)));
9620 });
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) {
9629 return A6(
9630 $elm$core$Dict$merge,
9631 F3(
9632 function (id, d, res) {
9633 return A3(
9634 $elm$core$Dict$insert,
9635 id,
9636 $author$project$Html$Overrides$DefaultOverride(d),
9637 res);
9638 }),
9639 F4(
9640 function (id, _v0, e, res) {
9641 return A3(
9642 $elm$core$Dict$insert,
9643 id,
9644 $author$project$Html$Overrides$NonOverrideWithDefault(e),
9645 res);
9646 }),
9647 F3(
9648 function (id, e, res) {
9649 return A3(
9650 $elm$core$Dict$insert,
9651 id,
9652 $author$project$Html$Overrides$NonOverrideWithDefault(e),
9653 res);
9654 }),
9655 defaults,
9656 edits,
9657 $elm$core$Dict$empty);
9658 });
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,
9667 defaultsDict,
9668 A2($author$project$Html$Overrides$mkEditsDict, ids, editNameDict));
9669 var treeData = A2($author$project$Html$Overrides$mkWrappedOverride, defaultsDict, overridesDict);
9670 return {
9671 autocomplete: $elm$core$Maybe$Nothing,
9672 defaultOverrides: defaultsDict,
9673 editedOverrides: overridesDict,
9674 keys: keys,
9675 mode: mode,
9676 name: name,
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)
9680 };
9681 });
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) {
9687 return A4(
9688 $author$project$Api$get,
9689 cfg,
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));
9693 });
9694var $author$project$Page$Sidebar$CreateUpdate$initUpdateReq = F2(
9695 function (config, deploymentName) {
9696 return A2($author$project$Page$Sidebar$CreateUpdate$reqDeployment, deploymentName, config);
9697 });
9698var $krisajenkins$remotedata$RemoteData$map = F2(
9699 function (f, data) {
9700 switch (data.$) {
9701 case 'Success':
9702 var value = data.a;
9703 return $krisajenkins$remotedata$RemoteData$Success(
9704 f(value));
9705 case 'Loading':
9706 return $krisajenkins$remotedata$RemoteData$Loading;
9707 case 'NotAsked':
9708 return $krisajenkins$remotedata$RemoteData$NotAsked;
9709 default:
9710 var error = data.a;
9711 return $krisajenkins$remotedata$RemoteData$Failure(error);
9713 });
9714var $krisajenkins$remotedata$RemoteData$andMap = F2(
9715 function (wrappedValue, wrappedFunction) {
9716 var _v0 = _Utils_Tuple2(wrappedFunction, wrappedValue);
9717 _v0$2:
9718 while (true) {
9719 _v0$3:
9720 while (true) {
9721 _v0$4:
9722 while (true) {
9723 _v0$5:
9724 while (true) {
9725 switch (_v0.a.$) {
9726 case 'Success':
9727 switch (_v0.b.$) {
9728 case 'Success':
9729 var f = _v0.a.a;
9730 var value = _v0.b.a;
9731 return $krisajenkins$remotedata$RemoteData$Success(
9732 f(value));
9733 case 'Failure':
9734 break _v0$2;
9735 case 'Loading':
9736 break _v0$4;
9737 default:
9738 var _v4 = _v0.b;
9739 return $krisajenkins$remotedata$RemoteData$NotAsked;
9741 case 'Failure':
9742 var error = _v0.a.a;
9743 return $krisajenkins$remotedata$RemoteData$Failure(error);
9744 case 'Loading':
9745 switch (_v0.b.$) {
9746 case 'Failure':
9747 break _v0$2;
9748 case 'Loading':
9749 break _v0$3;
9750 case 'NotAsked':
9751 break _v0$3;
9752 default:
9753 break _v0$3;
9755 default:
9756 switch (_v0.b.$) {
9757 case 'Failure':
9758 break _v0$2;
9759 case 'Loading':
9760 break _v0$4;
9761 case 'NotAsked':
9762 break _v0$5;
9763 default:
9764 break _v0$5;
9768 var _v3 = _v0.a;
9769 return $krisajenkins$remotedata$RemoteData$NotAsked;
9771 var _v2 = _v0.b;
9772 return $krisajenkins$remotedata$RemoteData$Loading;
9774 var _v1 = _v0.a;
9775 return $krisajenkins$remotedata$RemoteData$Loading;
9777 var error = _v0.b.a;
9778 return $krisajenkins$remotedata$RemoteData$Failure(error);
9779 });
9780var $krisajenkins$remotedata$RemoteData$map2 = F3(
9781 function (f, a, b) {
9782 return A2(
9783 $krisajenkins$remotedata$RemoteData$andMap,
9784 b,
9785 A2($krisajenkins$remotedata$RemoteData$map, f, a));
9786 });
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) {
9796 return A2(
9797 $elm$core$Task$perform,
9798 function (_v0) {
9799 return msg;
9800 },
9801 $elm$core$Process$sleep(delay));
9802 });
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) {
9809 var d = _v0.a;
9810 var newDebounce = $jinjor$elm_debounce$Debounce$Debounce(
9811 _Utils_update(
9812 d,
9814 input: A2($elm$core$List$cons, a, d.input)
9815 }));
9816 var selfCmd = function () {
9817 var _v1 = config.strategy;
9818 switch (_v1.$) {
9819 case 'Manual':
9820 var offset = _v1.a;
9821 return d.locked ? $elm$core$Platform$Cmd$none : A2(
9822 $jinjor$elm_debounce$Debounce$delayCmd,
9823 offset,
9824 $jinjor$elm_debounce$Debounce$Flush($elm$core$Maybe$Nothing));
9825 case 'Soon':
9826 var offset = _v1.a;
9827 var delay = _v1.b;
9828 return d.locked ? $elm$core$Platform$Cmd$none : A2(
9829 $jinjor$elm_debounce$Debounce$delayCmd,
9830 offset,
9831 $jinjor$elm_debounce$Debounce$Flush(
9832 $elm$core$Maybe$Just(delay)));
9833 default:
9834 var delay = _v1.a;
9835 return A2(
9836 $jinjor$elm_debounce$Debounce$delayCmd,
9837 delay,
9838 $jinjor$elm_debounce$Debounce$SendIfLengthNotChangedFrom(
9839 $jinjor$elm_debounce$Debounce$length(newDebounce)));
9841 }();
9842 return _Utils_Tuple2(
9843 newDebounce,
9844 A2($elm$core$Platform$Cmd$map, config.transform, selfCmd));
9845 });
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) {
9851 return A3(
9852 $author$project$Api$Endpoint$url,
9853 $elm$core$Maybe$Just(appUrl),
9854 _List_fromArray(
9855 ['api', 'v1', 'application_overrides']),
9856 _List_Nil);
9858var $elm$json$Json$Encode$list = F2(
9859 function (func, entries) {
9860 return _Json_wrap(
9861 A3(
9862 $elm$core$List$foldl,
9863 _Json_addEntry(func),
9864 _Json_emptyArray(_Utils_Tuple0),
9865 entries));
9866 });
9867var $elm$json$Json$Encode$string = _Json_wrap;
9868var $author$project$Types$OverrideWithDefault$defaultOverrideEncoder = function (defaultOverride) {
9869 return A2(
9870 $elm$json$Json$Encode$list,
9871 $elm$json$Json$Encode$string,
9872 _List_fromArray(
9874 $author$project$Types$Override$unOverrideName(defaultOverride.name),
9875 defaultOverride.value
9876 ]));
9878var $author$project$Types$OverrideWithDefault$OverrideWithDefault = F2(
9879 function (name, value) {
9880 return {name: name, value: value};
9881 });
9882var $author$project$Types$OverrideWithDefault$defaultOverridesDecode = function () {
9883 var f = function (x) {
9884 if ((x.b && x.b.b) && (!x.b.b.b)) {
9885 var p = x.a;
9886 var _v1 = x.b;
9887 var v = _v1.a;
9888 return $elm$json$Json$Decode$succeed(
9889 A2(
9890 $author$project$Types$OverrideWithDefault$OverrideWithDefault,
9891 $author$project$Types$Override$OverrideName(p),
9892 v));
9893 } else {
9894 return $elm$json$Json$Decode$fail('not an override');
9896 };
9897 return $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$resolve(
9898 A2(
9899 $elm$json$Json$Decode$map,
9900 f,
9901 $elm$json$Json$Decode$list($elm$json$Json$Decode$string)));
9902}();
9903var $elm$http$Http$jsonBody = function (value) {
9904 return A2(
9905 _Http_pair,
9906 'application/json',
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(
9913 body: body,
9914 expect: A2($author$project$Api$expectJson, msg, decoder),
9915 headers: _List_fromArray(
9917 $author$project$Api$authHeader(config.appAuth)
9918 ]),
9919 method: 'POST',
9920 timeout: $elm$core$Maybe$Nothing,
9921 tracker: $elm$core$Maybe$Nothing,
9922 url: url(config.appUrl)
9923 });
9924 });
9925var $author$project$Page$Deployment$reqAppOverrides = F2(
9926 function (config, body) {
9927 return A5(
9928 $author$project$Api$post,
9929 config,
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));
9935 });
9936var $author$project$Page$Deployment$DeleteDeploymentResp = F2(
9937 function (a, b) {
9938 return {$: 'DeleteDeploymentResp', a: a, b: b};
9939 });
9940var $author$project$Api$delete = F5(
9941 function (config, url, body, decoder, msg) {
9942 return $author$project$Api$Endpoint$request(
9944 body: body,
9945 expect: A2($author$project$Api$expectJson, msg, decoder),
9946 headers: _List_fromArray(
9948 $author$project$Api$authHeader(config.appAuth)
9949 ]),
9950 method: 'DELETE',
9951 timeout: $elm$core$Maybe$Nothing,
9952 tracker: $elm$core$Maybe$Nothing,
9953 url: url(config.appUrl)
9954 });
9955 });
9956var $author$project$Api$Endpoint$deleteDeployment = F2(
9957 function (deploymentName, appUrl) {
9958 return A3(
9959 $author$project$Api$Endpoint$url,
9960 $elm$core$Maybe$Just(appUrl),
9961 _List_fromArray(
9963 'api',
9964 'v1',
9965 'deployments',
9966 $author$project$Types$Deployment$unDeploymentName(deploymentName)
9967 ]),
9968 _List_Nil);
9969 });
9970var $author$project$Page$Deployment$reqDeleteDeployment = F2(
9971 function (config, deploymentName) {
9972 return A5(
9973 $author$project$Api$delete,
9974 config,
9975 $author$project$Api$Endpoint$deleteDeployment(deploymentName),
9976 $elm$http$Http$emptyBody,
9977 $elm$json$Json$Decode$string,
9978 A2(
9979 $elm$core$Basics$composeR,
9980 $krisajenkins$remotedata$RemoteData$fromResult,
9981 $author$project$Page$Deployment$DeleteDeploymentResp(deploymentName)));
9982 });
9983var $author$project$Page$Deployment$DeploymentOverridesResponse = function (a) {
9984 return {$: 'DeploymentOverridesResponse', a: a};
9986var $author$project$Api$Endpoint$deploymentOverrides = function (appUrl) {
9987 return A3(
9988 $author$project$Api$Endpoint$url,
9989 $elm$core$Maybe$Just(appUrl),
9990 _List_fromArray(
9991 ['api', 'v1', 'deployment_overrides']),
9992 _List_Nil);
9994var $author$project$Page$Deployment$reqDeploymentOverrides = function (config) {
9995 return A4(
9996 $author$project$Api$get,
9997 config,
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(
10003 function (a, b) {
10004 return {$: 'RestoreDeploymentResp', a: a, b: b};
10005 });
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)
10015 ]),
10016 method: 'PATCH',
10017 timeout: $elm$core$Maybe$Nothing,
10018 tracker: $elm$core$Maybe$Nothing,
10019 url: url(config.appUrl)
10020 });
10021 });
10022var $author$project$Api$Endpoint$restoreDeployment = F2(
10023 function (deploymentName, appUrl) {
10024 return A3(
10025 $author$project$Api$Endpoint$url,
10026 $elm$core$Maybe$Just(appUrl),
10027 _List_fromArray(
10029 'api',
10030 'v1',
10031 'deployments',
10032 $author$project$Types$Deployment$unDeploymentName(deploymentName),
10033 'restore'
10034 ]),
10035 _List_Nil);
10036 });
10037var $author$project$Page$Deployment$reqRestoreDeployment = F2(
10038 function (config, deploymentName) {
10039 return A4(
10040 $author$project$Api$patch,
10041 config,
10042 $author$project$Api$Endpoint$restoreDeployment(deploymentName),
10043 $elm$json$Json$Decode$string,
10044 A2(
10045 $elm$core$Basics$composeR,
10046 $krisajenkins$remotedata$RemoteData$fromResult,
10047 $author$project$Page$Deployment$RestoreDeploymentResp(deploymentName)));
10048 });
10049var $jinjor$elm_debounce$Debounce$takeAll = F3(
10050 function (send, head, tail) {
10051 return _Utils_Tuple2(
10052 _List_Nil,
10053 A2(send, head, tail));
10054 });
10055var $jinjor$elm_debounce$Debounce$update = F4(
10056 function (config, send, msg, _v0) {
10057 var d = _v0.a;
10058 switch (msg.$) {
10059 case 'NoOp':
10060 return _Utils_Tuple2(
10061 $jinjor$elm_debounce$Debounce$Debounce(d),
10062 $elm$core$Platform$Cmd$none);
10063 case 'Flush':
10064 var tryAgainAfter = msg.a;
10065 var _v2 = d.input;
10066 if (_v2.b) {
10067 var head = _v2.a;
10068 var tail = _v2.b;
10069 var selfCmd = function () {
10070 if (tryAgainAfter.$ === 'Just') {
10071 var delay = tryAgainAfter.a;
10072 return A2(
10073 $jinjor$elm_debounce$Debounce$delayCmd,
10074 delay,
10075 $jinjor$elm_debounce$Debounce$Flush(
10076 $elm$core$Maybe$Just(delay)));
10077 } else {
10078 return $elm$core$Platform$Cmd$none;
10080 }();
10081 var _v3 = A2(send, head, tail);
10082 var input = _v3.a;
10083 var sendCmd = _v3.b;
10084 return _Utils_Tuple2(
10085 $jinjor$elm_debounce$Debounce$Debounce(
10086 _Utils_update(
10088 {input: input, locked: true})),
10089 $elm$core$Platform$Cmd$batch(
10090 _List_fromArray(
10092 sendCmd,
10093 A2($elm$core$Platform$Cmd$map, config.transform, selfCmd)
10094 ])));
10095 } else {
10096 return _Utils_Tuple2(
10097 $jinjor$elm_debounce$Debounce$Debounce(
10098 _Utils_update(
10100 {locked: false})),
10101 $elm$core$Platform$Cmd$none);
10103 default:
10104 var lastInputLength = msg.a;
10105 var _v5 = _Utils_Tuple2(
10106 _Utils_cmp(
10107 $elm$core$List$length(d.input),
10108 lastInputLength) < 1,
10109 d.input);
10110 if (_v5.a && _v5.b.b) {
10111 var _v6 = _v5.b;
10112 var head = _v6.a;
10113 var tail = _v6.b;
10114 var _v7 = A2(send, head, tail);
10115 var input = _v7.a;
10116 var cmd = _v7.b;
10117 return _Utils_Tuple2(
10118 $jinjor$elm_debounce$Debounce$Debounce(
10119 _Utils_update(
10121 {input: input})),
10122 cmd);
10123 } else {
10124 return _Utils_Tuple2(
10125 $jinjor$elm_debounce$Debounce$Debounce(d),
10126 $elm$core$Platform$Cmd$none);
10129 });
10130var $author$project$Html$Overrides$deleteOverride = F2(
10131 function (ix, model) {
10132 var _delete = function (mOverride) {
10133 var _v0 = _Utils_Tuple2(
10134 mOverride,
10135 A2($elm$core$Dict$get, ix, model.defaultOverrides));
10136 _v0$2:
10137 while (true) {
10138 if (_v0.a.$ === 'Nothing') {
10139 if (_v0.b.$ === 'Just') {
10140 var _v1 = _v0.a;
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});
10144 } else {
10145 break _v0$2;
10147 } else {
10148 if (_v0.b.$ === 'Nothing') {
10149 var override = _v0.a.a;
10150 var _v2 = _v0.b;
10151 return $elm$core$Maybe$Just(
10152 _Utils_update(
10153 override,
10154 {status: $author$project$Html$Overrides$Deleted}));
10155 } else {
10156 break _v0$2;
10160 return $elm$core$Maybe$Nothing;
10162 return _Utils_update(
10163 model,
10165 editedOverrides: A3($elm$core$Dict$update, ix, _delete, model.editedOverrides)
10166 });
10167 });
10168var $author$project$Html$Overrides$editOverrideName = F3(
10169 function (ix, name, model) {
10170 var editName = function (mOverride) {
10171 var _v0 = _Utils_Tuple2(
10172 mOverride,
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;
10178 return (_Utils_eq(
10179 $author$project$Types$Override$OverrideName(name),
10180 _default.name) && _Utils_eq(override.value, _default.value)) ? $elm$core$Maybe$Nothing : $elm$core$Maybe$Just(
10181 _Utils_update(
10182 override,
10184 name: $author$project$Types$Override$OverrideName(name),
10185 status: $author$project$Html$Overrides$Edited
10186 }));
10187 } else {
10188 var override = _v0.a.a;
10189 var _v1 = _v0.b;
10190 return $elm$core$Maybe$Just(
10191 _Utils_update(
10192 override,
10194 name: $author$project$Types$Override$OverrideName(name),
10195 status: $author$project$Html$Overrides$New
10196 }));
10198 } else {
10199 if (_v0.b.$ === 'Just') {
10200 var _v2 = _v0.a;
10201 var _default = _v0.b.a;
10202 return _Utils_eq(
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
10209 });
10210 } else {
10211 return $elm$core$Maybe$Nothing;
10215 return _Utils_update(
10216 model,
10218 editedOverrides: A3($elm$core$Dict$update, ix, editName, model.editedOverrides)
10219 });
10220 });
10221var $author$project$Html$Overrides$editOverrideValue = F3(
10222 function (ix, value, model) {
10223 var editName = function (mOverride) {
10224 var _v0 = _Utils_Tuple2(
10225 mOverride,
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(
10232 _Utils_update(
10233 override,
10234 {status: $author$project$Html$Overrides$Edited, value: value}));
10235 } else {
10236 var override = _v0.a.a;
10237 var _v1 = _v0.b;
10238 return $elm$core$Maybe$Just(
10239 _Utils_update(
10240 override,
10241 {status: $author$project$Html$Overrides$New, value: value}));
10243 } else {
10244 if (_v0.b.$ === 'Just') {
10245 var _v2 = _v0.a;
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});
10249 } else {
10250 return $elm$core$Maybe$Nothing;
10254 return _Utils_update(
10255 model,
10257 editedOverrides: A3($elm$core$Dict$update, ix, editName, model.editedOverrides)
10258 });
10259 });
10260var $author$project$Html$Overrides$newOverride = function (model) {
10261 return _Utils_update(
10262 model,
10264 editedOverrides: A3(
10265 $elm$core$Dict$insert,
10266 model.nextId,
10267 A3(
10268 $author$project$Html$Overrides$OverrideData,
10269 $author$project$Types$Override$OverrideName(''),
10270 '',
10271 $author$project$Html$Overrides$New),
10272 model.editedOverrides),
10273 nextId: model.nextId + 1
10274 });
10276var $elm$core$Set$remove = F2(
10277 function (key, _v0) {
10278 var dict = _v0.a;
10279 return $elm$core$Set$Set_elm_builtin(
10280 A2($elm$core$Dict$remove, key, dict));
10281 });
10282var $author$project$Html$Overrides$restoreOverride = F2(
10283 function (ix, model) {
10284 var restore = function (mOverride) {
10285 var _v0 = _Utils_Tuple2(
10286 mOverride,
10287 A2($elm$core$Dict$get, ix, model.defaultOverrides));
10288 if ((_v0.a.$ === 'Just') && (_v0.b.$ === 'Nothing')) {
10289 var override = _v0.a.a;
10290 var _v1 = _v0.b;
10291 return $elm$core$Maybe$Just(
10292 _Utils_update(
10293 override,
10294 {status: $author$project$Html$Overrides$New}));
10295 } else {
10296 return $elm$core$Maybe$Nothing;
10299 return _Utils_update(
10300 model,
10302 editedOverrides: A3($elm$core$Dict$update, ix, restore, model.editedOverrides)
10303 });
10304 });
10305var $author$project$Html$Overrides$update = F2(
10306 function (msg, model) {
10307 switch (msg.$) {
10308 case 'AddOverride':
10309 return _Utils_Tuple2(
10310 $author$project$Html$Overrides$newOverride(model),
10311 $elm$core$Platform$Cmd$none);
10312 case 'DeleteOverride':
10313 var ix = msg.a;
10314 return _Utils_Tuple2(
10315 A2($author$project$Html$Overrides$deleteOverride, ix, model),
10316 $elm$core$Platform$Cmd$none);
10317 case 'RestoreOverride':
10318 var ix = msg.a;
10319 return _Utils_Tuple2(
10320 A2($author$project$Html$Overrides$restoreOverride, ix, model),
10321 $elm$core$Platform$Cmd$none);
10322 case 'EditOverrideName':
10323 var ix = msg.a;
10324 var name = msg.b;
10325 return _Utils_Tuple2(
10326 A3($author$project$Html$Overrides$editOverrideName, ix, name, model),
10327 $elm$core$Platform$Cmd$none);
10328 case 'EditOverrideValue':
10329 var ix = msg.a;
10330 var value = msg.b;
10331 return _Utils_Tuple2(
10332 A3($author$project$Html$Overrides$editOverrideValue, ix, value, model),
10333 $elm$core$Platform$Cmd$none);
10334 case 'OpenName':
10335 var name = msg.a;
10336 return _Utils_Tuple2(
10337 _Utils_update(
10338 model,
10340 openedNames: A2($elm$core$Set$insert, name, model.openedNames)
10341 }),
10342 $elm$core$Platform$Cmd$none);
10343 case 'CloseName':
10344 var name = msg.a;
10345 return _Utils_Tuple2(
10346 _Utils_update(
10347 model,
10349 openedNames: A2($elm$core$Set$remove, name, model.openedNames)
10350 }),
10351 $elm$core$Platform$Cmd$none);
10352 case 'ShowAutocomplete':
10353 var ix = msg.a;
10354 return _Utils_Tuple2(
10355 _Utils_update(
10356 model,
10358 autocomplete: $elm$core$Maybe$Just(ix)
10359 }),
10360 $elm$core$Platform$Cmd$none);
10361 default:
10362 return _Utils_Tuple2(
10363 _Utils_update(
10364 model,
10365 {autocomplete: $elm$core$Maybe$Nothing}),
10366 $elm$core$Platform$Cmd$none);
10368 });
10369var $turboMaCk$any_dict$Dict$Any$insert = F3(
10370 function (k, v, _v0) {
10371 var inner = _v0.a;
10372 return $turboMaCk$any_dict$Dict$Any$AnyDict(
10373 _Utils_update(
10374 inner,
10376 dict: A3(
10377 $elm$core$Dict$insert,
10378 inner.toKey(k),
10379 _Utils_Tuple2(k, v),
10380 inner.dict)
10381 }));
10382 });
10383var $turboMaCk$any_set$Set$Any$insert = F2(
10384 function (a, _v0) {
10385 var dict = _v0.a;
10386 return $turboMaCk$any_set$Set$Any$AnySet(
10387 A3($turboMaCk$any_dict$Dict$Any$insert, a, _Utils_Tuple0, dict));
10388 });
10389var $turboMaCk$any_dict$Dict$Any$remove = F2(
10390 function (k, _v0) {
10391 var inner = _v0.a;
10392 return $turboMaCk$any_dict$Dict$Any$AnyDict(
10393 _Utils_update(
10394 inner,
10396 dict: A2(
10397 $elm$core$Dict$remove,
10398 inner.toKey(k),
10399 inner.dict)
10400 }));
10401 });
10402var $turboMaCk$any_set$Set$Any$remove = F2(
10403 function (a, _v0) {
10404 var dict = _v0.a;
10405 return $turboMaCk$any_set$Set$Any$AnySet(
10406 A2($turboMaCk$any_dict$Dict$Any$remove, a, dict));
10407 });
10408var $author$project$Page$Deployment$ActionTable$update = F2(
10409 function (cmd, model) {
10410 switch (cmd.$) {
10411 case 'OpenDeploymentOverrides':
10412 var id = cmd.a;
10413 return _Utils_Tuple2(
10414 _Utils_update(
10415 model,
10417 openedDeployemntOverrides: A2($turboMaCk$any_set$Set$Any$insert, id, model.openedDeployemntOverrides)
10418 }),
10419 $elm$core$Platform$Cmd$none);
10420 case 'CloseDeploymentOverrides':
10421 var id = cmd.a;
10422 return _Utils_Tuple2(
10423 _Utils_update(
10424 model,
10426 openedDeployemntOverrides: A2($turboMaCk$any_set$Set$Any$remove, id, model.openedDeployemntOverrides)
10427 }),
10428 $elm$core$Platform$Cmd$none);
10429 case 'OpenAppOverrides':
10430 var id = cmd.a;
10431 return _Utils_Tuple2(
10432 _Utils_update(
10433 model,
10435 openedAppOverrides: A2($turboMaCk$any_set$Set$Any$insert, id, model.openedAppOverrides)
10436 }),
10437 $elm$core$Platform$Cmd$none);
10438 default:
10439 var id = cmd.a;
10440 return _Utils_Tuple2(
10441 _Utils_update(
10442 model,
10444 openedAppOverrides: A2($turboMaCk$any_set$Set$Any$remove, id, model.openedAppOverrides)
10445 }),
10446 $elm$core$Platform$Cmd$none);
10448 });
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) {
10457 switch (msg.$) {
10458 case 'DeleteOverride':
10459 return true;
10460 case 'RestoreOverride':
10461 return true;
10462 case 'EditOverrideName':
10463 return true;
10464 case 'EditOverrideValue':
10465 return true;
10466 default:
10467 return false;
10470var $elm$core$Dict$values = function (dict) {
10471 return A3(
10472 $elm$core$Dict$foldr,
10473 F3(
10474 function (key, value, valueList) {
10475 return A2($elm$core$List$cons, value, valueList);
10476 }),
10477 _List_Nil,
10478 dict);
10480var $author$project$Html$Overrides$getEditedOverrides = function (model) {
10481 return A2(
10482 $elm$core$List$map,
10483 function (o) {
10484 var _v0 = o.status;
10485 switch (_v0.$) {
10486 case 'Deleted':
10487 return A2($author$project$Types$Override$Override, o.name, $author$project$Types$Override$ValueDeleted);
10488 case 'New':
10489 return A2(
10490 $author$project$Types$Override$Override,
10491 o.name,
10492 $author$project$Types$Override$ValueAdded(o.value));
10493 default:
10494 return A2(
10495 $author$project$Types$Override$Override,
10496 o.name,
10497 $author$project$Types$Override$ValueAdded(o.value));
10500 $elm$core$Dict$values(model.editedOverrides));
10502var $author$project$Html$Overrides$getFullOverrides = function (model) {
10503 return A6(
10504 $elm$core$Dict$merge,
10505 F3(
10506 function (_v0, e, res) {
10507 var _v1 = e.status;
10508 if (_v1.$ === 'New') {
10509 return A2(
10510 $elm$core$List$cons,
10511 {name: e.name, value: e.value},
10512 res);
10513 } else {
10514 return res;
10516 }),
10517 F4(
10518 function (_v2, e, _v3, res) {
10519 var _v4 = e.status;
10520 if (_v4.$ === 'Edited') {
10521 return A2(
10522 $elm$core$List$cons,
10523 {name: e.name, value: e.value},
10524 res);
10525 } else {
10526 return res;
10528 }),
10529 F3(
10530 function (_v5, d, res) {
10531 return A2($elm$core$List$cons, d, res);
10532 }),
10533 model.editedOverrides,
10534 model.defaultOverrides,
10535 _List_Nil);
10537var $author$project$Page$Sidebar$CreateUpdate$DeploymentOverrideKeysResponse = function (a) {
10538 return {$: 'DeploymentOverrideKeysResponse', a: a};
10540var $author$project$Api$Endpoint$deploymentOverrideKeys = function (appUrl) {
10541 return A3(
10542 $author$project$Api$Endpoint$url,
10543 $elm$core$Maybe$Just(appUrl),
10544 _List_fromArray(
10545 ['api', 'v1', 'deployment_override_keys']),
10546 _List_Nil);
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) {
10550 return A4(
10551 $author$project$Api$get,
10552 config,
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) {
10561 return A4(
10562 $author$project$Api$get,
10563 config,
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(
10570 _List_fromArray(
10572 $author$project$Page$Sidebar$CreateUpdate$reqDeploymentOverrideKeys(config),
10573 $author$project$Page$Sidebar$CreateUpdate$reqDeploymentOverrides(config)
10574 ]));
10576var $elm$browser$Browser$Navigation$replaceUrl = _Browser_replaceUrl;
10577var $author$project$Route$routeToPieces = function (page) {
10578 if (page.$ === 'Deployments') {
10579 return _List_fromArray(
10580 ['deployments']);
10581 } else {
10582 var deployment = page.a;
10583 return _List_fromArray(
10585 'deployments',
10586 $author$project$Types$Deployment$unDeploymentName(deployment)
10587 ]);
10590var $author$project$Route$routeToString = function (page) {
10591 return '#/' + A2(
10592 $elm$core$String$join,
10593 '/',
10594 $author$project$Route$routeToPieces(page));
10596var $author$project$Route$replaceUrl = F2(
10597 function (key, route) {
10598 return A2(
10599 $elm$browser$Browser$Navigation$replaceUrl,
10600 key,
10601 $author$project$Route$routeToString(route));
10602 });
10603var $author$project$Page$Sidebar$CreateUpdate$AppOverrideKeysResponse = function (a) {
10604 return {$: 'AppOverrideKeysResponse', a: a};
10606var $author$project$Api$Endpoint$appOverrideKeys = function (appUrl) {
10607 return A3(
10608 $author$project$Api$Endpoint$url,
10609 $elm$core$Maybe$Just(appUrl),
10610 _List_fromArray(
10611 ['api', 'v1', 'application_override_keys']),
10612 _List_Nil);
10614var $author$project$Page$Sidebar$CreateUpdate$reqAppOverrideKeys = F2(
10615 function (config, body) {
10616 return A5(
10617 $author$project$Api$post,
10618 config,
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));
10624 });
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) {
10630 return A5(
10631 $author$project$Api$post,
10632 config,
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));
10638 });
10639var $author$project$Page$Sidebar$CreateUpdate$SaveDeploymentResponse = function (a) {
10640 return {$: 'SaveDeploymentResponse', a: a};
10642var $elm$json$Json$Encode$object = function (pairs) {
10643 return _Json_wrap(
10644 A3(
10645 $elm$core$List$foldl,
10646 F2(
10647 function (_v0, obj) {
10648 var k = _v0.a;
10649 var v = _v0.b;
10650 return A3(_Json_addField, k, v, obj);
10651 }),
10652 _Json_emptyObject(_Utils_Tuple0),
10653 pairs));
10655var $author$project$Types$Override$overrideValueEncode = function (value) {
10656 if (value.$ === 'ValueAdded') {
10657 var v = value.a;
10658 return $elm$json$Json$Encode$object(
10659 _List_fromArray(
10661 _Utils_Tuple2(
10662 'tag',
10663 $elm$json$Json$Encode$string('ValueAdded')),
10664 _Utils_Tuple2(
10665 'contents',
10666 $elm$json$Json$Encode$string(v))
10667 ]));
10668 } else {
10669 return $elm$json$Json$Encode$object(
10670 _List_fromArray(
10672 _Utils_Tuple2(
10673 'tag',
10674 $elm$json$Json$Encode$string('ValueDeleted'))
10675 ]));
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);
10682 } else {
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)
10693 ]);
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(
10701 _List_fromArray(
10703 _Utils_Tuple2(
10704 'name',
10705 $elm$json$Json$Encode$string(
10706 $author$project$Types$Deployment$unDeploymentName(info.name))),
10707 _Utils_Tuple2(
10708 'app_overrides',
10709 A2($elm$json$Json$Encode$list, $author$project$Types$Override$overrideEncode, info.appOverrides)),
10710 _Utils_Tuple2(
10711 'deployment_overrides',
10712 A2($elm$json$Json$Encode$list, $author$project$Types$Override$overrideEncode, info.deploymentOverrides))
10713 ]));
10715var $author$project$Api$Endpoint$saveDeployment = function (appUrl) {
10716 return A3(
10717 $author$project$Api$Endpoint$url,
10718 $elm$core$Maybe$Just(appUrl),
10719 _List_fromArray(
10720 ['api', 'v1', 'deployments']),
10721 _List_Nil);
10723var $author$project$Page$Sidebar$CreateUpdate$reqCreateDeployment = F2(
10724 function (config, body) {
10725 return A5(
10726 $author$project$Api$post,
10727 config,
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));
10733 });
10734var $author$project$Api$put = F5(
10735 function (config, url, body, decoder, msg) {
10736 return $author$project$Api$Endpoint$request(
10738 body: body,
10739 expect: A2($author$project$Api$expectJson, msg, decoder),
10740 headers: _List_fromArray(
10742 $author$project$Api$authHeader(config.appAuth)
10743 ]),
10744 method: 'PUT',
10745 timeout: $elm$core$Maybe$Nothing,
10746 tracker: $elm$core$Maybe$Nothing,
10747 url: url(config.appUrl)
10748 });
10749 });
10750var $author$project$Api$Endpoint$updateDeployment = F2(
10751 function (deploymentName, appUrl) {
10752 return A3(
10753 $author$project$Api$Endpoint$url,
10754 $elm$core$Maybe$Just(appUrl),
10755 _List_fromArray(
10757 'api',
10758 'v1',
10759 'deployments',
10760 $author$project$Types$Deployment$unDeploymentName(deploymentName)
10761 ]),
10762 _List_Nil);
10763 });
10764var $author$project$Types$Deployment$updateInfoEncode = function (info) {
10765 return $elm$json$Json$Encode$object(
10766 _List_fromArray(
10768 _Utils_Tuple2(
10769 'app_overrides',
10770 A2($elm$json$Json$Encode$list, $author$project$Types$Override$overrideEncode, info.appOverrides)),
10771 _Utils_Tuple2(
10772 'deployment_overrides',
10773 A2($elm$json$Json$Encode$list, $author$project$Types$Override$overrideEncode, info.deploymentOverrides))
10774 ]));
10776var $author$project$Page$Sidebar$CreateUpdate$reqUpdateDeployment = F3(
10777 function (deploymentName, config, body) {
10778 return A5(
10779 $author$project$Api$put,
10780 config,
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));
10786 });
10787var $krisajenkins$remotedata$RemoteData$unwrap = F3(
10788 function (_default, _function, remoteData) {
10789 if (remoteData.$ === 'Success') {
10790 var data = remoteData.a;
10791 return _function(data);
10792 } else {
10793 return _default;
10795 });
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(
10803 toModel(subModel),
10804 A2($elm$core$Platform$Cmd$map, toMsg, subCmd));
10805 });
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);
10809 });
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);
10815 } else {
10816 return _Utils_Tuple2(_List_Nil, _List_Nil);
10818 }();
10819 var appEdits = _v0.a;
10820 var deployEdits = _v0.b;
10821 switch (cmd.$) {
10822 case 'DeploymentOverrideKeysResponse':
10823 var keys = cmd.a;
10824 return _Utils_Tuple2(
10825 _Utils_update(
10826 model,
10828 deploymentKeys: keys,
10829 deploymentOverrides: A3(
10830 $krisajenkins$remotedata$RemoteData$map2,
10831 A2(initOverrides, 'Deployment configuration', deployEdits),
10832 model.deploymentDefaults,
10833 keys)
10834 }),
10835 $elm$core$Platform$Cmd$none);
10836 case 'DeploymentOverridesResponse':
10837 var overrides = cmd.a;
10838 return _Utils_Tuple2(
10839 _Utils_update(
10840 model,
10842 deploymentDefaults: overrides,
10843 deploymentOverrides: A3(
10844 $krisajenkins$remotedata$RemoteData$map2,
10845 A2(initOverrides, 'Deployment configuration', deployEdits),
10846 overrides,
10847 model.deploymentKeys)
10848 }),
10849 function () {
10850 if (overrides.$ === 'Success') {
10851 var defaults = overrides.a;
10852 return $elm$core$Platform$Cmd$batch(
10853 _List_fromArray(
10855 A2($author$project$Page$Sidebar$CreateUpdate$reqAppOverrideKeys, model.config, defaults),
10856 A2($author$project$Page$Sidebar$CreateUpdate$reqAppOverrides, model.config, defaults)
10857 ]));
10858 } else {
10859 return $elm$core$Platform$Cmd$none;
10861 }());
10862 case 'AppOverrideKeysResponse':
10863 var keys = cmd.a;
10864 return _Utils_Tuple2(
10865 _Utils_update(
10866 model,
10868 appKeys: keys,
10869 appOverrides: A3(
10870 $krisajenkins$remotedata$RemoteData$map2,
10871 A2(initOverrides, 'App configuration', appEdits),
10872 model.appDefaults,
10873 keys)
10874 }),
10875 $elm$core$Platform$Cmd$none);
10876 case 'AppOverridesResponse':
10877 var overrides = cmd.a;
10878 return _Utils_Tuple2(
10879 _Utils_update(
10880 model,
10882 appDefaults: overrides,
10883 appOverrides: A3(
10884 $krisajenkins$remotedata$RemoteData$map2,
10885 A2(initOverrides, 'App configuration', appEdits),
10886 overrides,
10887 model.appKeys)
10888 }),
10889 $elm$core$Platform$Cmd$none);
10890 case 'Close':
10891 return _Utils_Tuple2(
10892 _Utils_update(
10893 model,
10894 {visibility: false}),
10895 $elm$core$Platform$Cmd$none);
10896 case 'NameInput':
10897 var name = cmd.a;
10898 return _Utils_Tuple2(
10899 _Utils_update(
10900 model,
10902 name: $author$project$Types$Deployment$DeploymentName(name),
10903 nameEdited: true
10904 }),
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;
10911 return A3(
10912 updateWith,
10913 function (updated) {
10914 return _Utils_update(
10915 model,
10917 appOverrides: $krisajenkins$remotedata$RemoteData$Success(updated)
10918 });
10920 $author$project$Page$Sidebar$CreateUpdate$AppOverridesMsg,
10921 A2($author$project$Html$Overrides$update, subMsg, appOverrides));
10922 } else {
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;
10930 var _v6 = A3(
10931 updateWith,
10932 function (deploymentOverrides_) {
10933 return _Utils_update(
10934 model,
10936 deploymentOverrides: $krisajenkins$remotedata$RemoteData$Success(deploymentOverrides_)
10937 });
10939 $author$project$Page$Sidebar$CreateUpdate$DeploymentOverridesMsg,
10940 A2($author$project$Html$Overrides$update, subMsg, deploymentOverrides));
10941 var model_ = _v6.a;
10942 var cmd_ = _v6.b;
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(
10949 _Utils_update(
10950 model_,
10951 {appOverrides: $krisajenkins$remotedata$RemoteData$Loading}),
10952 $elm$core$Platform$Cmd$batch(
10953 _List_fromArray(
10955 A2(
10956 $author$project$Page$Sidebar$CreateUpdate$reqAppOverrideKeys,
10957 model_.config,
10958 $author$project$Html$Overrides$getFullOverrides(deploymentOverrides_)),
10959 A2(
10960 $author$project$Page$Sidebar$CreateUpdate$reqAppOverrides,
10961 model_.config,
10962 $author$project$Html$Overrides$getFullOverrides(deploymentOverrides_)),
10963 cmd_
10964 ])));
10965 } else {
10966 return _Utils_Tuple2(model_, cmd_);
10968 } else {
10969 return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);
10971 case 'Save':
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(
10980 _Utils_update(
10981 model,
10982 {saveResp: $krisajenkins$remotedata$RemoteData$Loading}),
10983 function () {
10984 var _v9 = model.mode;
10985 if (_v9.$ === 'Create') {
10986 return A2($author$project$Page$Sidebar$CreateUpdate$reqCreateDeployment, model.config, info);
10987 } else {
10988 return A3($author$project$Page$Sidebar$CreateUpdate$reqUpdateDeployment, model.name, model.config, info);
10990 }());
10991 } else {
10992 return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);
10994 case 'SaveDeploymentResponse':
10995 if (cmd.a.$ === 'Success') {
10996 return _Utils_Tuple2(
10997 _Utils_update(
10998 model,
10999 {visibility: false}),
11000 A2(
11001 $author$project$Route$replaceUrl,
11002 model.navKey,
11003 $author$project$Route$Deployment(model.name)));
11004 } else {
11005 var resp = cmd.a;
11006 return _Utils_Tuple2(
11007 _Utils_update(
11008 model,
11009 {saveResp: resp}),
11010 $elm$core$Platform$Cmd$none);
11012 default:
11013 var resp = cmd.a;
11014 return _Utils_Tuple2(
11015 _Utils_update(
11016 model,
11018 deployment: resp,
11019 name: A3(
11020 $krisajenkins$remotedata$RemoteData$unwrap,
11021 $author$project$Types$Deployment$DeploymentName(''),
11022 function (x) {
11023 return x.deployment.name;
11025 resp)
11026 }),
11027 $author$project$Page$Sidebar$CreateUpdate$initCreateReq(model.config));
11029 });
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(
11037 toModel(subModel),
11038 A2($elm$core$Platform$Cmd$map, toMsg, subCmd));
11039 });
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);
11043 });
11044 switch (cmd.$) {
11045 case 'DeploymentFullInfoResponse':
11046 var deployment = cmd.a;
11047 return _Utils_Tuple2(
11048 _Utils_update(
11049 model,
11050 {deployment: deployment}),
11051 $elm$core$Platform$Cmd$batch(
11052 _List_fromArray(
11054 $author$project$Page$Deployment$reqDeploymentOverrides(model.config)
11055 ])));
11056 case 'DeploymentInfoResponse':
11057 var logs = cmd.a;
11058 return _Utils_Tuple2(
11059 _Utils_update(
11060 model,
11061 {logs: logs}),
11062 $elm$core$Platform$Cmd$none);
11063 case 'WSUpdate':
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(
11068 _Utils_update(
11069 model,
11070 {debounce: debounce}),
11071 subCmd);
11072 case 'DebounceMsg':
11073 var msg = cmd.a;
11074 var _v2 = A4(
11075 $jinjor$elm_debounce$Debounce$update,
11076 $author$project$Page$Deployment$debounceConfig,
11077 $jinjor$elm_debounce$Debounce$takeAll(
11078 F2(
11079 function (_v3, _v4) {
11080 return $elm$core$Platform$Cmd$batch(
11081 _List_fromArray(
11083 A2($author$project$Page$Deployment$reqDeployment, model.deploymentName, model.config),
11084 A2($author$project$Page$Deployment$reqLogs, model.deploymentName, model.config)
11085 ]));
11086 })),
11087 msg,
11088 model.debounce);
11089 var debounce = _v2.a;
11090 var subCmd = _v2.b;
11091 return _Utils_Tuple2(
11092 _Utils_update(
11093 model,
11094 {debounce: debounce}),
11095 subCmd);
11096 case 'DeploymentOverridesResponse':
11097 var overrides = cmd.a;
11098 return _Utils_Tuple2(
11099 _Utils_update(
11100 model,
11102 deploymentDefaults: overrides,
11103 deploymentOverrides: A3(
11104 $krisajenkins$remotedata$RemoteData$map2,
11105 initOverrides('Deployment configuration'),
11106 overrides,
11107 A2(
11108 $krisajenkins$remotedata$RemoteData$map,
11109 function (x) {
11110 return x.deployment.deploymentOverrides;
11112 model.deployment))
11113 }),
11114 function () {
11115 if (overrides.$ === 'Success') {
11116 var defaults = overrides.a;
11117 return A2($author$project$Page$Deployment$reqAppOverrides, model.config, defaults);
11118 } else {
11119 return $elm$core$Platform$Cmd$none;
11121 }());
11122 case 'AppOverridesResponse':
11123 var overrides = cmd.a;
11124 return _Utils_Tuple2(
11125 _Utils_update(
11126 model,
11128 appDefaults: overrides,
11129 appOverrides: A3(
11130 $krisajenkins$remotedata$RemoteData$map2,
11131 initOverrides('App configuration'),
11132 overrides,
11133 A2(
11134 $krisajenkins$remotedata$RemoteData$map,
11135 function (x) {
11136 return x.deployment.appOverrides;
11138 model.deployment))
11139 }),
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;
11146 return A3(
11147 updateWith,
11148 function (updated) {
11149 return _Utils_update(
11150 model,
11152 appOverrides: $krisajenkins$remotedata$RemoteData$Success(updated)
11153 });
11155 $author$project$Page$Deployment$AppOverridesMsg,
11156 A2($author$project$Html$Overrides$update, subMsg, appOverrides));
11157 } else {
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;
11165 return A3(
11166 updateWith,
11167 function (updated) {
11168 return _Utils_update(
11169 model,
11171 deploymentOverrides: $krisajenkins$remotedata$RemoteData$Success(updated)
11172 });
11174 $author$project$Page$Deployment$DeploymentOverridesMsg,
11175 A2($author$project$Html$Overrides$update, subMsg, deploymentOverrides));
11176 } else {
11177 return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);
11179 case 'ShowSidebar':
11180 var deployment = cmd.a;
11181 return _Utils_Tuple2(
11182 _Utils_update(
11183 model,
11185 sidebar: A4($author$project$Page$Sidebar$CreateUpdate$initUpdate, model.settings.navKey, model.config, true, deployment.deployment.name)
11186 }),
11187 A2(
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;
11193 return A3(
11194 updateWith,
11195 function (sidebar) {
11196 return _Utils_update(
11197 model,
11198 {sidebar: sidebar});
11200 $author$project$Page$Deployment$CreateSidebarMsg,
11201 A2($author$project$Page$Sidebar$CreateUpdate$update, subMsg, model.sidebar));
11202 case 'ActionMsg':
11203 var subMsg = cmd.a;
11204 return A3(
11205 updateWith,
11206 function (updated) {
11207 return _Utils_update(
11208 model,
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(
11216 _Utils_update(
11217 model,
11219 archivePopup: $elm$core$Maybe$Just(deploymentName)
11220 }),
11221 $elm$core$Platform$Cmd$none);
11222 case 'CloseArchivePopup':
11223 return _Utils_Tuple2(
11224 _Utils_update(
11225 model,
11226 {archivePopup: $elm$core$Maybe$Nothing}),
11227 $elm$core$Platform$Cmd$none);
11228 case 'DeleteDeploymentReq':
11229 var deploymentName = cmd.a;
11230 return _Utils_Tuple2(
11231 _Utils_update(
11232 model,
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);
11239 } else {
11240 var err = cmd.b;
11241 return _Utils_Tuple2(model, $elm$browser$Browser$Navigation$reload);
11243 case 'RestoreDeploymentReq':
11244 var deploymentName = cmd.a;
11245 return _Utils_Tuple2(
11246 _Utils_update(
11247 model,
11248 {restoreDisabled: true}),
11249 A2($author$project$Page$Deployment$reqRestoreDeployment, model.config, deploymentName));
11250 default:
11251 if (cmd.b.$ === 'Success') {
11252 var deploymentName = cmd.a;
11253 return _Utils_Tuple2(model, $elm$browser$Browser$Navigation$reload);
11254 } else {
11255 var err = cmd.b;
11256 return _Utils_Tuple2(model, $elm$browser$Browser$Navigation$reload);
11259 });
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) {
11272 return A2(
11273 $elm$browser$Browser$Navigation$pushUrl,
11274 key,
11275 $author$project$Route$routeToString(route));
11276 });
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) {
11282 return A5(
11283 $author$project$Api$delete,
11284 config,
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));
11289 });
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) {
11295 return A4(
11296 $author$project$Api$patch,
11297 config,
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));
11301 });
11302var $author$project$Page$Deployments$Table$update = F2(
11303 function (cmd, model) {
11304 switch (cmd.$) {
11305 case 'SortChanged':
11306 var sort = cmd.a;
11307 return _Utils_Tuple2(
11308 _Utils_update(
11309 model,
11310 {sort: sort}),
11311 $elm$core$Platform$Cmd$none);
11312 case 'OpenDeploymentOverrides':
11313 var name = cmd.a;
11314 return _Utils_Tuple2(
11315 _Utils_update(
11316 model,
11318 openedDeployemntOverrides: A2($turboMaCk$any_set$Set$Any$insert, name, model.openedDeployemntOverrides)
11319 }),
11320 $elm$core$Platform$Cmd$none);
11321 case 'CloseDeploymentOverrides':
11322 var name = cmd.a;
11323 return _Utils_Tuple2(
11324 _Utils_update(
11325 model,
11327 openedDeployemntOverrides: A2($turboMaCk$any_set$Set$Any$remove, name, model.openedDeployemntOverrides)
11328 }),
11329 $elm$core$Platform$Cmd$none);
11330 case 'OpenAppOverrides':
11331 var name = cmd.a;
11332 return _Utils_Tuple2(
11333 _Utils_update(
11334 model,
11336 openedAppOverrides: A2($turboMaCk$any_set$Set$Any$insert, name, model.openedAppOverrides)
11337 }),
11338 $elm$core$Platform$Cmd$none);
11339 case 'CloseAppOverrides':
11340 var name = cmd.a;
11341 return _Utils_Tuple2(
11342 _Utils_update(
11343 model,
11345 openedAppOverrides: A2($turboMaCk$any_set$Set$Any$remove, name, model.openedAppOverrides)
11346 }),
11347 $elm$core$Platform$Cmd$none);
11348 case 'OpenMenu':
11349 var name = cmd.a;
11350 return _Utils_Tuple2(
11351 _Utils_update(
11352 model,
11354 menuButton: $elm$core$Maybe$Just(name)
11355 }),
11356 $elm$core$Platform$Cmd$none);
11357 case 'CloseMenu':
11358 return _Utils_Tuple2(
11359 _Utils_update(
11360 model,
11361 {menuButton: $elm$core$Maybe$Nothing}),
11362 $elm$core$Platform$Cmd$none);
11363 case 'OpenArchivePopup':
11364 var deploymentName = cmd.a;
11365 return _Utils_Tuple2(
11366 _Utils_update(
11367 model,
11369 archivePopup: $elm$core$Maybe$Just(deploymentName)
11370 }),
11371 $elm$core$Platform$Cmd$none);
11372 case 'CloseArchivePopup':
11373 return _Utils_Tuple2(
11374 _Utils_update(
11375 model,
11376 {archivePopup: $elm$core$Maybe$Nothing}),
11377 $elm$core$Platform$Cmd$none);
11378 case 'DeleteDeploymentReq':
11379 var deploymentName = cmd.a;
11380 return _Utils_Tuple2(
11381 _Utils_update(
11382 model,
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(
11390 _Utils_update(
11391 model,
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(
11399 model,
11400 A2(
11401 $author$project$Route$pushUrl,
11402 model.settings.navKey,
11403 $author$project$Route$Deployment(deploymentName)));
11404 default:
11405 return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);
11407 });
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(
11415 toModel(subModel),
11416 A2($elm$core$Platform$Cmd$map, toMsg, subCmd));
11417 });
11418 switch (cmd.$) {
11419 case 'DeploymentsResponse':
11420 var deployments = cmd.a;
11421 var latestUpd = function () {
11422 if (deployments.$ === 'Success') {
11423 return 0;
11424 } else {
11425 return model.updated;
11427 }();
11428 return _Utils_Tuple2(
11429 _Utils_update(
11430 model,
11431 {deployments: deployments, updated: latestUpd}),
11432 $elm$core$Platform$Cmd$none);
11433 case 'SearchInput':
11434 var search = cmd.a;
11435 return _Utils_Tuple2(
11436 _Utils_update(
11437 model,
11438 {search: search}),
11439 $elm$core$Platform$Cmd$none);
11440 case 'ActiveTableMsg':
11441 if (cmd.a.$ === 'ShowEditSidebar') {
11442 var deploymentName = cmd.a.a;
11443 return _Utils_Tuple2(
11444 _Utils_update(
11445 model,
11447 sidebar: A4($author$project$Page$Sidebar$CreateUpdate$initUpdate, model.settings.navKey, model.config, true, deploymentName)
11448 }),
11449 A2(
11450 $elm$core$Platform$Cmd$map,
11451 $author$project$Page$Deployments$CreateSidebarMsg,
11452 A2($author$project$Page$Sidebar$CreateUpdate$initUpdateReq, model.config, deploymentName)));
11453 } else {
11454 var subMsg = cmd.a;
11455 return A3(
11456 updateWith,
11457 function (table) {
11458 return _Utils_update(
11459 model,
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;
11467 return A3(
11468 updateWith,
11469 function (table) {
11470 return _Utils_update(
11471 model,
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(
11478 _Utils_update(
11479 model,
11480 {showArchived: !model.showArchived}),
11481 $elm$core$Platform$Cmd$none);
11482 case 'WSUpdate':
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(
11487 _Utils_update(
11488 model,
11489 {debounce: debounce}),
11490 subCmd);
11491 case 'ShowCreateSidebar':
11492 return _Utils_Tuple2(
11493 _Utils_update(
11494 model,
11496 sidebar: A3($author$project$Page$Sidebar$CreateUpdate$initCreate, model.settings.navKey, model.config, true)
11497 }),
11498 A2(
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;
11504 return A3(
11505 updateWith,
11506 function (sidebar) {
11507 return _Utils_update(
11508 model,
11509 {sidebar: sidebar});
11511 $author$project$Page$Deployments$CreateSidebarMsg,
11512 A2($author$project$Page$Sidebar$CreateUpdate$update, subMsg, model.sidebar));
11513 case 'DebounceMsg':
11514 var msg = cmd.a;
11515 var _v3 = A4(
11516 $jinjor$elm_debounce$Debounce$update,
11517 $author$project$Page$Deployments$debounceConfig,
11518 $jinjor$elm_debounce$Debounce$takeAll(
11519 F2(
11520 function (_v4, _v5) {
11521 return $author$project$Page$Deployments$reqDeployments(model.config);
11522 })),
11523 msg,
11524 model.debounce);
11525 var debounce = _v3.a;
11526 var subCmd = _v3.b;
11527 return _Utils_Tuple2(
11528 _Utils_update(
11529 model,
11530 {debounce: debounce}),
11531 subCmd);
11532 default:
11533 return _Utils_Tuple2(
11534 _Utils_update(
11535 model,
11536 {updated: model.updated + $author$project$Page$Deployments$tick}),
11537 $elm$core$Platform$Cmd$none);
11539 });
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,
11548 A3(
11549 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
11550 'app_auth',
11551 A2($elm$json$Json$Decode$map, $author$project$Config$AppAuth, $elm$json$Json$Decode$string),
11552 A3(
11553 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
11554 'ws_url',
11555 $elm$json$Json$Decode$string,
11556 A3(
11557 $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,
11558 'app_url',
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,
11564 _List_fromArray(
11565 ['config.json']),
11566 _List_Nil);
11567var $author$project$Page$Initialization$reqConfig = $author$project$Api$Endpoint$request(
11569 body: $elm$http$Http$emptyBody,
11570 expect: A2(
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,
11575 method: 'GET',
11576 timeout: $elm$core$Maybe$Nothing,
11577 tracker: $elm$core$Maybe$Nothing,
11578 url: $author$project$Api$Endpoint$configJson
11579 });
11580var $author$project$Page$Initialization$ProjectNameResponse = function (a) {
11581 return {$: 'ProjectNameResponse', a: a};
11583var $author$project$Api$Endpoint$projectName = function (appUrl) {
11584 return A3(
11585 $author$project$Api$Endpoint$url,
11586 $elm$core$Maybe$Just(appUrl),
11587 _List_fromArray(
11588 ['api', 'v1', 'project_name']),
11589 _List_Nil);
11591var $author$project$Page$Initialization$reqProjectName = function (cfg) {
11592 return A4(
11593 $author$project$Api$get,
11594 cfg,
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(
11602 settings,
11603 {projectName: projectName});
11604 });
11605var $author$project$Config$setZone = F2(
11606 function (settings, zone) {
11607 return _Utils_update(
11608 settings,
11609 {zone: zone});
11610 });
11611var $author$project$Page$Initialization$update = F2(
11612 function (msg, model) {
11613 switch (msg.$) {
11614 case 'ConfigResponse':
11615 var webData = msg.a;
11616 if (webData.$ === 'Success') {
11617 var config = webData.a;
11618 return _Utils_Tuple2(
11619 _Utils_update(
11620 model,
11622 config: $krisajenkins$remotedata$RemoteData$Success(config)
11623 }),
11624 $elm$core$Platform$Cmd$batch(
11625 _List_fromArray(
11627 $author$project$Page$Initialization$reqProjectName(config),
11628 $author$project$Page$Initialization$getWebsocketAddress(config.wsUrl + '/event')
11629 ])));
11630 } else {
11631 var a = webData;
11632 return _Utils_Tuple2(
11633 _Utils_update(
11634 model,
11635 {config: a}),
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(
11645 _Utils_update(
11646 model,
11648 projectName: $krisajenkins$remotedata$RemoteData$Success(projectName),
11649 settings: A2($author$project$Config$setProjectName, model.settings, projectName)
11650 }),
11651 A2($author$project$Route$replaceUrl, model.settings.navKey, $author$project$Route$Deployments));
11652 } else {
11653 var route = _v3.a;
11654 return _Utils_Tuple2(
11655 _Utils_update(
11656 model,
11658 projectName: $krisajenkins$remotedata$RemoteData$Success(projectName),
11659 settings: A2($author$project$Config$setProjectName, model.settings, projectName)
11660 }),
11661 A2($author$project$Route$replaceUrl, model.settings.navKey, route));
11663 } else {
11664 var a = webData;
11665 return _Utils_Tuple2(
11666 _Utils_update(
11667 model,
11668 {projectName: a}),
11669 $elm$core$Platform$Cmd$none);
11671 default:
11672 var zone = msg.a;
11673 return _Utils_Tuple2(
11674 _Utils_update(
11675 model,
11677 settings: A2($author$project$Config$setZone, model.settings, zone)
11678 }),
11679 $author$project$Page$Initialization$reqConfig);
11681 });
11682var $author$project$Main$update = F2(
11683 function (msg, model) {
11684 var _v0 = _Utils_Tuple2(msg, model);
11685 _v0$5:
11686 while (true) {
11687 switch (_v0.a.$) {
11688 case 'LinkClicked':
11689 var urlRequest = _v0.a.a;
11690 if (urlRequest.$ === 'Internal') {
11691 var url = urlRequest.a;
11692 return _Utils_Tuple2(
11693 model,
11694 A2(
11695 $elm$browser$Browser$Navigation$pushUrl,
11696 $author$project$Main$getNavKey(model),
11697 $elm$url$Url$toString(url)));
11698 } else {
11699 var href = urlRequest.a;
11700 return _Utils_Tuple2(
11701 model,
11702 $elm$browser$Browser$Navigation$load(href));
11704 case 'UrlChanged':
11705 var url = _v0.a.a;
11706 return A2(
11707 $author$project$Main$changeRouteTo,
11708 $author$project$Route$fromUrl(url),
11709 model);
11710 case 'InitializationMsg':
11711 if (_v0.b.$ === 'Initialization') {
11712 var subMsg = _v0.a.a;
11713 var initialization = _v0.b.a;
11714 return A3(
11715 $author$project$Main$updateWith,
11716 $author$project$Main$Initialization,
11717 $author$project$Main$InitializationMsg,
11718 A2($author$project$Page$Initialization$update, subMsg, initialization));
11719 } else {
11720 break _v0$5;
11722 case 'DeploymentsMsg':
11723 if (_v0.b.$ === 'Deployments') {
11724 var subMsg = _v0.a.a;
11725 var deployments = _v0.b.a;
11726 return A3(
11727 $author$project$Main$updateWith,
11728 $author$project$Main$Deployments,
11729 $author$project$Main$DeploymentsMsg,
11730 A2($author$project$Page$Deployments$update, subMsg, deployments));
11731 } else {
11732 break _v0$5;
11734 default:
11735 if (_v0.b.$ === 'Deployment') {
11736 var subMsg = _v0.a.a;
11737 var deployments = _v0.b.a;
11738 return A3(
11739 $author$project$Main$updateWith,
11740 $author$project$Main$Deployment,
11741 $author$project$Main$DeploymentMsg,
11742 A2($author$project$Page$Deployment$update, subMsg, deployments));
11743 } else {
11744 break _v0$5;
11748 return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);
11749 });
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) {
11758 return A2(
11759 _VirtualDom_property,
11760 key,
11761 $elm$json$Json$Encode$string(string));
11762 });
11763var $elm$html$Html$Attributes$class = $elm$html$Html$Attributes$stringProperty('className');
11764var $author$project$Html$Common$elClass = F3(
11765 function (el, cls, body) {
11766 return A2(
11767 el,
11768 _List_fromArray(
11770 $elm$html$Html$Attributes$class(cls)
11771 ]),
11772 body);
11773 });
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) {
11781 return A2(
11782 $elm$html$Html$header,
11783 _List_fromArray(
11785 $elm$html$Html$Attributes$class('header')
11786 ]),
11787 _List_fromArray(
11789 A2(
11790 $author$project$Html$Common$divClass,
11791 'header__wrap container',
11792 _List_fromArray(
11794 A2(
11795 $author$project$Html$Common$bClass,
11796 'header__logo',
11797 _List_fromArray(
11799 $elm$html$Html$text('Deployment Manager')
11800 ])),
11801 A2(
11802 $author$project$Html$Common$divClass,
11803 'header__project',
11804 _List_fromArray(
11806 $elm$html$Html$text(projectName)
11807 ]))
11808 ]))
11809 ]));
11811var $author$project$Page$view = F3(
11812 function (projectName, page, _v0) {
11813 var title = _v0.title;
11814 var content = _v0.content;
11815 return {
11816 body: A2(
11817 $elm$core$List$cons,
11818 $author$project$Page$viewHeader(projectName),
11819 content),
11820 title: title
11822 });
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) {
11835 return A2(
11836 $elm$virtual_dom$VirtualDom$on,
11837 event,
11838 $elm$virtual_dom$VirtualDom$Normal(decoder));
11839 });
11840var $elm$html$Html$Events$onClick = function (msg) {
11841 return A2(
11842 $elm$html$Html$Events$on,
11843 'click',
11844 $elm$json$Json$Decode$succeed(msg));
11846var $author$project$Html$Common$buttonClass = F2(
11847 function (cls, msg) {
11848 return $elm$html$Html$button(
11849 _List_fromArray(
11851 $elm$html$Html$Events$onClick(msg),
11852 $elm$html$Html$Attributes$class(cls)
11853 ]));
11854 });
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) {
11858 return A2(
11859 $elm$html$Html$div,
11860 _List_fromArray(
11862 $elm$html$Html$Attributes$class('classic-popup'),
11863 A2($elm$html$Html$Attributes$style, 'display', 'block')
11864 ]),
11865 _List_fromArray(
11867 A2(
11868 $author$project$Html$Common$divClass,
11869 'classic-popup__container',
11870 _List_fromArray(
11872 A2(
11873 $author$project$Html$Common$divClass,
11874 'classic-popup__viewport',
11875 _List_fromArray(
11877 A2(
11878 $author$project$Html$Common$divClass,
11879 'classic-popup__slot',
11880 _List_fromArray(
11882 A2(
11883 $author$project$Html$Common$divClass,
11884 'dialog dialog--archive',
11885 _List_fromArray(
11887 A2(
11888 $author$project$Html$Common$divClass,
11889 'dialog__content',
11890 _List_fromArray(
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?')
11897 ])),
11898 A2(
11899 $author$project$Html$Common$divClass,
11900 'dialog__footer',
11901 _List_fromArray(
11903 A3(
11904 $author$project$Html$Common$buttonClass,
11905 'button dialog__action',
11906 $author$project$Page$Deployment$DeleteDeploymentReq(deploymentName),
11907 _List_fromArray(
11909 $elm$html$Html$text('Archive')
11910 ])),
11911 A3(
11912 $author$project$Html$Common$buttonClass,
11913 'button dialog__action button--secondary',
11914 $author$project$Page$Deployment$CloseArchivePopup,
11915 _List_fromArray(
11917 $elm$html$Html$text('Cancel')
11918 ]))
11919 ]))
11920 ])),
11921 A3($author$project$Html$Common$buttonClass, 'classic-popup__close', $author$project$Page$Deployment$CloseArchivePopup, _List_Nil)
11922 ]))
11923 ]))
11924 ]))
11925 ]));
11927var $elm$html$Html$a = _VirtualDom_node('a');
11928var $elm$html$Html$Attributes$href = function (url) {
11929 return A2(
11930 $elm$html$Html$Attributes$stringProperty,
11931 'href',
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(
11941 _List_fromArray(
11943 $elm$html$Html$Attributes$class(cls),
11944 $author$project$Route$href(hrf)
11945 ]));
11946 });
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,
11951 _List_fromArray(
11953 $elm$html$Html$text('All deployments')
11954 ]));
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(
11968 _List_fromArray(
11970 $elm$html$Html$Attributes$class(cls),
11971 $elm$html$Html$Attributes$href(hrf),
11972 $elm$html$Html$Attributes$target('_blank')
11973 ]));
11974 });
11975var $elm$json$Json$Encode$bool = _Json_wrap;
11976var $elm$html$Html$Attributes$boolProperty = F2(
11977 function (key, bool) {
11978 return A2(
11979 _VirtualDom_property,
11980 key,
11981 $elm$json$Json$Encode$bool(bool));
11982 });
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(
11987 function (x, xs) {
11988 return A2(
11989 $elm$core$List$any,
11990 function (a) {
11991 return _Utils_eq(a, x);
11993 xs);
11994 });
11995var $author$project$Types$Deployment$isDeploymentArchived = function (d) {
11996 var _v0 = d.status;
11997 if (_v0.$ === 'DeploymentPending') {
11998 return false;
11999 } else {
12000 var s = _v0.a;
12001 return A2(
12002 $elm$core$List$member,
12004 _List_fromArray(
12005 [$author$project$Types$Deployment$ArchivePending, $author$project$Types$Deployment$Archived]));
12008var $author$project$Types$Deployment$unStatus = function (status) {
12009 if (status.$ === 'DeploymentPending') {
12010 var ds = status.a;
12011 return ds;
12012 } else {
12013 var ds = status.a;
12014 return ds;
12017var $author$project$Types$Deployment$isPending = function (status) {
12018 var _v0 = $author$project$Types$Deployment$unStatus(status);
12019 switch (_v0.$) {
12020 case 'Running':
12021 return false;
12022 case 'Failure':
12023 return false;
12024 case 'Archived':
12025 return false;
12026 case 'CreatePending':
12027 return true;
12028 case 'UpdatePending':
12029 return true;
12030 case 'ArchivePending':
12031 return true;
12032 default:
12033 return true;
12036var $author$project$Types$Deployment$isDeploymentPending = function (status) {
12037 if (status.$ === 'DeploymentPending') {
12038 return true;
12039 } else {
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;
12047 });
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(
12054 A3(
12055 $author$project$Html$Common$aClassHrefExternal,
12056 'button button--logs page__action button--secondary',
12057 _Utils_ap(
12058 model.config.k8sDashboardUrlTemplate,
12059 $author$project$Types$Deployment$unDeploymentName(model.deploymentName)),
12060 _List_fromArray(
12062 $elm$html$Html$text('Details')
12063 ]))
12064 ]) : ($author$project$Types$Deployment$isDeploymentArchived(deployment) ? _List_fromArray(
12066 A2(
12067 $elm$html$Html$button,
12068 _List_fromArray(
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)
12075 ]),
12076 _List_fromArray(
12078 $elm$html$Html$text('Restore from archive')
12079 ])),
12080 A3(
12081 $author$project$Html$Common$aClassHrefExternal,
12082 'button button--logs page__action button--secondary',
12083 _Utils_ap(
12084 model.config.k8sDashboardUrlTemplate,
12085 $author$project$Types$Deployment$unDeploymentName(model.deploymentName)),
12086 _List_fromArray(
12088 $elm$html$Html$text('Details')
12089 ]))
12090 ]) : _List_fromArray(
12092 A3(
12093 $author$project$Html$Common$buttonClass,
12094 'button button--edit page__action',
12095 $author$project$Page$Deployment$ShowSidebar(deployment),
12096 _List_fromArray(
12098 $elm$html$Html$text('Edit deployment')
12099 ])),
12100 A3(
12101 $author$project$Html$Common$buttonClass,
12102 'button button--archive page__action button--secondary',
12103 $author$project$Page$Deployment$OpenArchivePopup(model.deploymentName),
12104 _List_fromArray(
12106 $elm$html$Html$text('Move to archive')
12107 ])),
12108 A3(
12109 $author$project$Html$Common$aClassHrefExternal,
12110 'button button--logs page__action button--secondary',
12111 _Utils_ap(
12112 model.config.k8sDashboardUrlTemplate,
12113 $author$project$Types$Deployment$unDeploymentName(model.deploymentName)),
12114 _List_fromArray(
12116 $elm$html$Html$text('Details')
12117 ]))
12118 ]));
12119 } else {
12120 return _List_Nil;
12122 }();
12123 return A2(
12124 $author$project$Html$Common$divClass,
12125 'page__head',
12126 A2(
12127 $elm$core$List$cons,
12128 A2(
12129 $author$project$Html$Common$h1Class,
12130 'page__heading title',
12131 _List_fromArray(
12133 $elm$html$Html$text(
12134 $author$project$Types$Deployment$unDeploymentName(model.deploymentName))
12135 ])),
12136 buttons));
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) {
12154 switch (month.$) {
12155 case 'Jan':
12156 return 1;
12157 case 'Feb':
12158 return 2;
12159 case 'Mar':
12160 return 3;
12161 case 'Apr':
12162 return 4;
12163 case 'May':
12164 return 5;
12165 case 'Jun':
12166 return 6;
12167 case 'Jul':
12168 return 7;
12169 case 'Aug':
12170 return 8;
12171 case 'Sep':
12172 return 9;
12173 case 'Oct':
12174 return 10;
12175 case 'Nov':
12176 return 11;
12177 default:
12178 return 12;
12181var $elm$time$Time$flooredDiv = F2(
12182 function (numerator, denominator) {
12183 return $elm$core$Basics$floor(numerator / denominator);
12184 });
12185var $elm$time$Time$posixToMillis = function (_v0) {
12186 var millis = _v0.a;
12187 return millis;
12189var $elm$time$Time$toAdjustedMinutesHelp = F3(
12190 function (defaultOffset, posixMinutes, eras) {
12191 toAdjustedMinutesHelp:
12192 while (true) {
12193 if (!eras.b) {
12194 return posixMinutes + defaultOffset;
12195 } else {
12196 var era = eras.a;
12197 var olderEras = eras.b;
12198 if (_Utils_cmp(era.start, posixMinutes) < 0) {
12199 return posixMinutes + era.offset;
12200 } else {
12201 var $temp$defaultOffset = defaultOffset,
12202 $temp$posixMinutes = posixMinutes,
12203 $temp$eras = olderEras;
12204 defaultOffset = $temp$defaultOffset;
12205 posixMinutes = $temp$posixMinutes;
12206 eras = $temp$eras;
12207 continue toAdjustedMinutesHelp;
12211 });
12212var $elm$time$Time$toAdjustedMinutes = F2(
12213 function (_v0, time) {
12214 var defaultOffset = _v0.a;
12215 var eras = _v0.b;
12216 return A3(
12217 $elm$time$Time$toAdjustedMinutesHelp,
12218 defaultOffset,
12219 A2(
12220 $elm$time$Time$flooredDiv,
12221 $elm$time$Time$posixToMillis(time),
12222 60000),
12223 eras);
12224 });
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);
12235 return {
12236 day: (dayOfYear - ((((153 * mp) + 2) / 5) | 0)) + 1,
12237 month: month,
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;
12245 });
12246var $elm$time$Time$toHour = F2(
12247 function (zone, time) {
12248 return A2(
12249 $elm$core$Basics$modBy,
12250 24,
12251 A2(
12252 $elm$time$Time$flooredDiv,
12253 A2($elm$time$Time$toAdjustedMinutes, zone, time),
12254 60));
12255 });
12256var $elm$time$Time$toMillis = F2(
12257 function (_v0, time) {
12258 return A2(
12259 $elm$core$Basics$modBy,
12260 1000,
12261 $elm$time$Time$posixToMillis(time));
12262 });
12263var $elm$time$Time$toMinute = F2(
12264 function (zone, time) {
12265 return A2(
12266 $elm$core$Basics$modBy,
12267 60,
12268 A2($elm$time$Time$toAdjustedMinutes, zone, time));
12269 });
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;
12286 switch (_v0) {
12287 case 1:
12288 return $elm$time$Time$Jan;
12289 case 2:
12290 return $elm$time$Time$Feb;
12291 case 3:
12292 return $elm$time$Time$Mar;
12293 case 4:
12294 return $elm$time$Time$Apr;
12295 case 5:
12296 return $elm$time$Time$May;
12297 case 6:
12298 return $elm$time$Time$Jun;
12299 case 7:
12300 return $elm$time$Time$Jul;
12301 case 8:
12302 return $elm$time$Time$Aug;
12303 case 9:
12304 return $elm$time$Time$Sep;
12305 case 10:
12306 return $elm$time$Time$Oct;
12307 case 11:
12308 return $elm$time$Time$Nov;
12309 default:
12310 return $elm$time$Time$Dec;
12312 });
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,
12323 n >> 1,
12324 _Utils_ap(chunk, chunk),
12325 (!(n & 1)) ? result : _Utils_ap(result, chunk));
12326 });
12327var $elm$core$String$repeat = F2(
12328 function (n, chunk) {
12329 return A3($elm$core$String$repeatHelp, n, chunk, '');
12330 });
12331var $elm$core$String$padLeft = F3(
12332 function (n, _char, string) {
12333 return _Utils_ap(
12334 A2(
12335 $elm$core$String$repeat,
12336 n - $elm$core$String$length(string),
12337 $elm$core$String$fromChar(_char)),
12338 string);
12339 });
12340var $rtfeldman$elm_iso8601_date_strings$Iso8601$toPaddedString = F2(
12341 function (digits, time) {
12342 return A3(
12343 $elm$core$String$padLeft,
12344 digits,
12345 _Utils_chr('0'),
12346 $elm$core$String$fromInt(time));
12347 });
12348var $elm$time$Time$toSecond = F2(
12349 function (_v0, time) {
12350 return A2(
12351 $elm$core$Basics$modBy,
12352 60,
12353 A2(
12354 $elm$time$Time$flooredDiv,
12355 $elm$time$Time$posixToMillis(time),
12356 1000));
12357 });
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;
12362 });
12363var $rtfeldman$elm_iso8601_date_strings$Iso8601$fromTime = function (time) {
12364 return A2(
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) {
12390 return A2(
12391 _VirtualDom_attribute,
12392 _VirtualDom_noOnOrFormAction(key),
12393 _VirtualDom_noJavaScriptOrHtmlUri(value));
12394 });
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') {
12400 return true;
12401 } else {
12402 return false;
12404 });
12405var $turboMaCk$any_dict$Dict$Any$member = F2(
12406 function (k, _v0) {
12407 var dict = _v0.a.dict;
12408 var toKey = _v0.a.toKey;
12409 return A2(
12410 $elm$core$Dict$member,
12411 toKey(k),
12412 dict);
12413 });
12414var $turboMaCk$any_set$Set$Any$member = F2(
12415 function (a, _v0) {
12416 var dict = _v0.a;
12417 return A2($turboMaCk$any_dict$Dict$Any$member, a, dict);
12418 });
12419var $elm$virtual_dom$VirtualDom$MayStopPropagation = function (a) {
12420 return {$: 'MayStopPropagation', a: a};
12422var $elm$html$Html$Events$stopPropagationOn = F2(
12423 function (event, decoder) {
12424 return A2(
12425 $elm$virtual_dom$VirtualDom$on,
12426 event,
12427 $elm$virtual_dom$VirtualDom$MayStopPropagation(decoder));
12428 });
12429var $elm_community$html_extra$Html$Events$Extra$onClickStopPropagation = function (msg) {
12430 return A2(
12431 $elm$html$Html$Events$stopPropagationOn,
12432 'click',
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) {
12440 takeReverse:
12441 while (true) {
12442 if (n <= 0) {
12443 return kept;
12444 } else {
12445 if (!list.b) {
12446 return kept;
12447 } else {
12448 var x = list.a;
12449 var xs = list.b;
12450 var $temp$n = n - 1,
12451 $temp$list = xs,
12452 $temp$kept = A2($elm$core$List$cons, x, kept);
12453 n = $temp$n;
12454 list = $temp$list;
12455 kept = $temp$kept;
12456 continue takeReverse;
12460 });
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));
12465 });
12466var $elm$core$List$takeFast = F3(
12467 function (ctr, n, list) {
12468 if (n <= 0) {
12469 return _List_Nil;
12470 } else {
12471 var _v0 = _Utils_Tuple2(n, list);
12472 _v0$1:
12473 while (true) {
12474 _v0$5:
12475 while (true) {
12476 if (!_v0.b.b) {
12477 return list;
12478 } else {
12479 if (_v0.b.b.b) {
12480 switch (_v0.a) {
12481 case 1:
12482 break _v0$1;
12483 case 2:
12484 var _v2 = _v0.b;
12485 var x = _v2.a;
12486 var _v3 = _v2.b;
12487 var y = _v3.a;
12488 return _List_fromArray(
12489 [x, y]);
12490 case 3:
12491 if (_v0.b.b.b.b) {
12492 var _v4 = _v0.b;
12493 var x = _v4.a;
12494 var _v5 = _v4.b;
12495 var y = _v5.a;
12496 var _v6 = _v5.b;
12497 var z = _v6.a;
12498 return _List_fromArray(
12499 [x, y, z]);
12500 } else {
12501 break _v0$5;
12503 default:
12504 if (_v0.b.b.b.b && _v0.b.b.b.b.b) {
12505 var _v7 = _v0.b;
12506 var x = _v7.a;
12507 var _v8 = _v7.b;
12508 var y = _v8.a;
12509 var _v9 = _v8.b;
12510 var z = _v9.a;
12511 var _v10 = _v9.b;
12512 var w = _v10.a;
12513 var tl = _v10.b;
12514 return (ctr > 1000) ? A2(
12515 $elm$core$List$cons,
12517 A2(
12518 $elm$core$List$cons,
12520 A2(
12521 $elm$core$List$cons,
12523 A2(
12524 $elm$core$List$cons,
12526 A2($elm$core$List$takeTailRec, n - 4, tl))))) : A2(
12527 $elm$core$List$cons,
12529 A2(
12530 $elm$core$List$cons,
12532 A2(
12533 $elm$core$List$cons,
12535 A2(
12536 $elm$core$List$cons,
12538 A3($elm$core$List$takeFast, ctr + 1, n - 4, tl)))));
12539 } else {
12540 break _v0$5;
12543 } else {
12544 if (_v0.a === 1) {
12545 break _v0$1;
12546 } else {
12547 break _v0$5;
12552 return list;
12554 var _v1 = _v0.b;
12555 var x = _v1.a;
12556 return _List_fromArray(
12557 [x]);
12559 });
12560var $elm$core$List$take = F2(
12561 function (n, list) {
12562 return A3($elm$core$List$takeFast, 0, n, list);
12563 });
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) {
12568 return A2(
12569 $author$project$Html$Common$divClass,
12570 'row',
12571 function () {
12572 var _v0 = override.value;
12573 if (_v0.$ === 'ValueAdded') {
12574 var v = _v0.a;
12575 return _List_fromArray(
12577 A2(
12578 $author$project$Html$Common$spanClass,
12579 'key-default-pristine',
12580 _List_fromArray(
12582 $elm$html$Html$text(
12583 $author$project$Types$Override$unOverrideName(override.name) + ': ')
12584 ])),
12585 A2(
12586 $elm$html$Html$span,
12587 _List_fromArray(
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;')
12591 ]),
12592 _List_fromArray(
12594 $elm$html$Html$text(v)
12595 ]))
12596 ]);
12597 } else {
12598 return _List_fromArray(
12600 A2(
12601 $author$project$Html$Common$spanClass,
12602 'key-deleted',
12603 _List_fromArray(
12605 $elm$html$Html$text(
12606 $author$project$Types$Override$unOverrideName(override.name) + ': ')
12607 ])),
12608 A2($author$project$Html$Common$divClass, 'listing__placeholder listing__placeholder__value', _List_Nil)
12609 ]);
12611 }());
12613 var buttonClass_ = F3(
12614 function (cls, msg, body) {
12615 return A2(
12616 $elm$html$Html$button,
12617 _List_fromArray(
12619 $elm$html$Html$Attributes$class(cls),
12620 $elm_community$html_extra$Html$Events$Extra$onClickStopPropagation(msg)
12621 ]),
12622 body);
12623 });
12624 return _Utils_eq(
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),
12629 _List_fromArray(
12631 A3(
12632 buttonClass_,
12633 'expander listing__more expander--open',
12634 closeCmd(id),
12635 _List_fromArray(
12637 $elm$html$Html$text('Hide default configuration')
12638 ]))
12639 ])) : A2(
12640 $elm$core$List$append,
12641 A2($elm$core$List$map, overrideView, visibleOverrides),
12642 _List_fromArray(
12644 A3(
12645 buttonClass_,
12646 'expander listing__more',
12647 openCmd(id),
12648 _List_fromArray(
12650 $elm$html$Html$text('Show full configuration')
12651 ]))
12652 ])));
12653 });
12654var $elm$html$Html$td = _VirtualDom_node('td');
12655var $elm$html$Html$tr = _VirtualDom_node('tr');
12656var $author$project$Types$Action$unExitCode = function (_v0) {
12657 var code = _v0.a;
12658 return code;
12660var $author$project$Page$Deployment$ActionTable$logView = F2(
12661 function (model, log) {
12662 var name = function () {
12663 var _v0 = log.action;
12664 switch (_v0.$) {
12665 case 'Create':
12666 return 'create';
12667 case 'Restore':
12668 return 'restore';
12669 case 'Update':
12670 return 'update';
12671 default:
12672 return 'archive';
12674 }();
12675 var exitCode = _List_fromArray(
12677 $elm$html$Html$text(
12678 $elm$core$String$fromInt(
12679 $author$project$Types$Action$unExitCode(log.exitCode)))
12680 ]);
12681 var duration = _List_fromArray(
12683 $elm$html$Html$text(
12684 $elm$core$String$fromInt(
12685 $elm$core$Basics$round(log.duration.time)) + 's')
12686 ]);
12687 var deploymentOverrides = _List_fromArray(
12689 A2(
12690 $author$project$Html$Common$divClass,
12691 'row',
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))
12693 ]);
12694 var appOverrides = _List_fromArray(
12696 A2(
12697 $author$project$Html$Common$divClass,
12698 'row',
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))
12700 ]);
12701 return A2(
12702 $elm$html$Html$tr,
12703 _List_Nil,
12704 _List_fromArray(
12706 A2(
12707 $elm$html$Html$td,
12708 _List_Nil,
12709 _List_fromArray(
12711 $elm$html$Html$text(name)
12712 ])),
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),
12716 A2(
12717 $elm$html$Html$td,
12718 _List_Nil,
12719 _List_fromArray(
12721 $elm$html$Html$text(
12722 $rtfeldman$elm_iso8601_date_strings$Iso8601$fromTime(log.createdAt))
12723 ])),
12724 A2($elm$html$Html$td, _List_Nil, duration)
12725 ]));
12726 });
12727var $elm$html$Html$tbody = _VirtualDom_node('tbody');
12728var $author$project$Page$Deployment$ActionTable$tableDeploymentsView = F2(
12729 function (model, logs) {
12730 return A2(
12731 $elm$html$Html$tbody,
12732 _List_Nil,
12733 A2(
12734 $elm$core$List$map,
12735 $author$project$Page$Deployment$ActionTable$logView(model),
12736 logs));
12737 });
12738var $elm$html$Html$Attributes$colspan = function (n) {
12739 return A2(
12740 _VirtualDom_attribute,
12741 'colspan',
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,
12747 _List_Nil,
12748 _List_fromArray(
12750 A2(
12751 $author$project$Html$Common$trClass,
12752 'no-table',
12753 _List_fromArray(
12755 A2(
12756 $elm$html$Html$td,
12757 _List_fromArray(
12759 $elm$html$Html$Attributes$colspan(8)
12760 ]),
12761 _List_fromArray(
12763 A2(
12764 $author$project$Html$Common$divClass,
12765 'null null--data',
12766 _List_fromArray(
12768 A2(
12769 $author$project$Html$Common$bClass,
12770 'null__heading',
12771 _List_fromArray(
12773 $elm$html$Html$text('Cannot retrieve the data')
12774 ])),
12775 A2(
12776 $author$project$Html$Common$divClass,
12777 'null__message',
12778 _List_fromArray(
12780 $elm$html$Html$text('Try to reload page')
12781 ]))
12782 ]))
12783 ]))
12784 ]))
12785 ]));
12786var $author$project$Page$Deployment$ActionTable$tableLoadingView = A2(
12787 $elm$html$Html$tbody,
12788 _List_Nil,
12789 _List_fromArray(
12791 A2(
12792 $author$project$Html$Common$trClass,
12793 'no-table',
12794 _List_fromArray(
12796 A2(
12797 $elm$html$Html$td,
12798 _List_fromArray(
12800 $elm$html$Html$Attributes$colspan(8)
12801 ]),
12802 _List_fromArray(
12804 A2(
12805 $author$project$Html$Common$divClass,
12806 'loading loading--enlarged loading--alternate',
12807 _List_fromArray(
12809 $elm$html$Html$text('Loading...')
12810 ]))
12811 ]))
12812 ]))
12813 ]));
12814var $author$project$Page$Deployment$ActionTable$tablePrimaryBodyView = F2(
12815 function (model, deployments) {
12816 switch (deployments.$) {
12817 case 'Success':
12818 var d = deployments.a;
12819 return A2(
12820 $author$project$Page$Deployment$ActionTable$tableDeploymentsView,
12821 model,
12822 A2(
12823 $elm$core$List$concatMap,
12824 function ($) {
12825 return $.logs;
12827 d));
12828 case 'Failure':
12829 return $author$project$Page$Deployment$ActionTable$tableFailureView;
12830 default:
12831 return $author$project$Page$Deployment$ActionTable$tableLoadingView;
12833 });
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) {
12838 return A2(
12839 $elm$html$Html$th,
12840 _List_Nil,
12841 _List_fromArray(
12843 $elm$html$Html$text(txt)
12844 ]));
12846 return A2(
12847 $elm$html$Html$thead,
12848 _List_Nil,
12849 _List_fromArray(
12851 A2(
12852 $elm$html$Html$tr,
12853 _List_Nil,
12854 _List_fromArray(
12856 simpleTh('Action Type'),
12857 simpleTh('Deployment configuration'),
12858 simpleTh('App configuration'),
12859 simpleTh('Exit code'),
12860 simpleTh('Created'),
12861 simpleTh('Deployment duration')
12862 ]))
12863 ]));
12864}();
12865var $author$project$Page$Deployment$ActionTable$view = F2(
12866 function (model, logs) {
12867 return A2(
12868 $author$project$Html$Common$divClass,
12869 'table table--actions',
12870 _List_fromArray(
12872 A2(
12873 $elm$html$Html$table,
12874 _List_Nil,
12875 _List_fromArray(
12877 $author$project$Page$Deployment$ActionTable$tablePrimaryHeaderView,
12878 A2($author$project$Page$Deployment$ActionTable$tablePrimaryBodyView, model, logs)
12879 ]))
12880 ]));
12881 });
12882var $author$project$Page$Deployment$actionsView = function (model) {
12883 return A2(
12884 $author$project$Html$Common$divClass,
12885 'deployment__section',
12886 _List_fromArray(
12888 A2(
12889 $author$project$Html$Common$h3Class,
12890 'deployment__sub-heading',
12891 _List_fromArray(
12893 $elm$html$Html$text('Actions')
12894 ])),
12895 A2(
12896 $author$project$Html$Common$divClass,
12897 'deployment__widget',
12898 _List_fromArray(
12900 A2(
12901 $elm$html$Html$map,
12902 $author$project$Page$Deployment$ActionMsg,
12903 A2($author$project$Page$Deployment$ActionTable$view, model.actionTable, model.logs))
12904 ]))
12905 ]));
12907var $author$project$Page$Deployment$deploymentLinksView = F2(
12908 function (_v0, deployment) {
12909 var link = function (m) {
12910 return A3(
12911 $author$project$Html$Common$aClassHrefExternal,
12912 'listing__item external bar bar--larger',
12913 m.link,
12914 _List_fromArray(
12916 $elm$html$Html$text(m.name)
12917 ]));
12919 return A2(
12920 $author$project$Html$Common$divClass,
12921 'deployment__section',
12922 _List_fromArray(
12924 A2(
12925 $author$project$Html$Common$h3Class,
12926 'deployment__sub-heading',
12927 _List_fromArray(
12929 $elm$html$Html$text('Links')
12930 ])),
12931 A2(
12932 $author$project$Html$Common$divClass,
12933 'deployment__widget',
12934 _List_fromArray(
12936 A2(
12937 $author$project$Html$Common$divClass,
12938 'listing',
12939 A2($elm$core$List$map, link, deployment.metadata))
12940 ]))
12941 ]));
12942 });
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_.$) {
12949 case 'Jan':
12950 return '01';
12951 case 'Feb':
12952 return '02';
12953 case 'Mar':
12954 return '03';
12955 case 'Apr':
12956 return '04';
12957 case 'May':
12958 return '05';
12959 case 'Jun':
12960 return '06';
12961 case 'Jul':
12962 return '07';
12963 case 'Aug':
12964 return '08';
12965 case 'Sep':
12966 return '09';
12967 case 'Oct':
12968 return '10';
12969 case 'Nov':
12970 return '11';
12971 default:
12972 return '12';
12975 var month = toMonth(
12976 A2($elm$time$Time$toMonth, zone, time));
12977 var day = A3(
12978 $elm$core$String$padLeft,
12980 _Utils_chr('0'),
12981 $elm$core$String$fromInt(
12982 A2($elm$time$Time$toDay, zone, time)));
12983 return $elm$html$Html$text(
12984 A2(
12985 $elm$core$String$join,
12986 '-',
12987 _List_fromArray(
12988 [year, month, day])));
12989 });
12990var $author$project$Page$Deployment$deploymentSummaryView = F2(
12991 function (model, deployment) {
12992 var statusView = function () {
12993 var _v0 = deployment.status;
12994 if (_v0.$ === 'DeploymentPending') {
12995 return A2(
12996 $author$project$Html$Common$divClass,
12997 'status status--pending',
12998 _List_fromArray(
13000 $elm$html$Html$text('Pending...')
13001 ]));
13002 } else {
13003 switch (_v0.a.$) {
13004 case 'Running':
13005 var _v1 = _v0.a;
13006 return A2(
13007 $author$project$Html$Common$divClass,
13008 'status status--success',
13009 _List_fromArray(
13011 $elm$html$Html$text('Running')
13012 ]));
13013 case 'Failure':
13014 return A2(
13015 $author$project$Html$Common$divClass,
13016 'status status--failure',
13017 _List_fromArray(
13019 $elm$html$Html$text('Failure')
13020 ]));
13021 case 'CreatePending':
13022 var _v2 = _v0.a;
13023 return A2(
13024 $author$project$Html$Common$divClass,
13025 'loading loading--status-alike',
13026 _List_fromArray(
13028 $elm$html$Html$text('Creating...')
13029 ]));
13030 case 'UpdatePending':
13031 var _v3 = _v0.a;
13032 return A2(
13033 $author$project$Html$Common$divClass,
13034 'loading loading--status-alike',
13035 _List_fromArray(
13037 $elm$html$Html$text('Updating...')
13038 ]));
13039 case 'ArchivePending':
13040 var _v4 = _v0.a;
13041 return A2(
13042 $author$project$Html$Common$divClass,
13043 'loading loading--status-alike',
13044 _List_fromArray(
13046 $elm$html$Html$text('Archiving...')
13047 ]));
13048 case 'Archived':
13049 var _v5 = _v0.a;
13050 return A2(
13051 $author$project$Html$Common$divClass,
13052 'status status--archived',
13053 _List_fromArray(
13055 $elm$html$Html$text('Archived')
13056 ]));
13057 default:
13058 var _v6 = _v0.a;
13059 return A2(
13060 $author$project$Html$Common$divClass,
13061 'status status--failure',
13062 _List_fromArray(
13064 $elm$html$Html$text('Cleanup failed (contact admin)')
13065 ]));
13068 }();
13069 return A2(
13070 $author$project$Html$Common$divClass,
13071 'deployment__summary',
13072 _List_fromArray(
13074 A2(
13075 $author$project$Html$Common$divClass,
13076 'deployment__stat',
13077 _List_fromArray(
13079 A2(
13080 $author$project$Html$Common$bClass,
13081 'deployment__param',
13082 _List_fromArray(
13084 $elm$html$Html$text('Status')
13085 ])),
13086 A2(
13087 $author$project$Html$Common$divClass,
13088 'deployment__value',
13089 _List_fromArray(
13090 [statusView]))
13091 ])),
13092 A2(
13093 $author$project$Html$Common$divClass,
13094 'deployment__stat',
13095 _List_fromArray(
13097 A2(
13098 $author$project$Html$Common$bClass,
13099 'deployment__param',
13100 _List_fromArray(
13102 $elm$html$Html$text('Created')
13103 ])),
13104 A2(
13105 $author$project$Html$Common$divClass,
13106 'deployment__value',
13107 _List_fromArray(
13109 A2($author$project$Html$Common$dateView, model.settings.zone, deployment.createdAt)
13110 ]))
13111 ])),
13112 A2(
13113 $author$project$Html$Common$divClass,
13114 'deployment__stat',
13115 _List_fromArray(
13117 A2(
13118 $author$project$Html$Common$bClass,
13119 'deployment__param',
13120 _List_fromArray(
13122 $elm$html$Html$text('Changed')
13123 ])),
13124 A2(
13125 $author$project$Html$Common$divClass,
13126 'deployment__value',
13127 _List_fromArray(
13129 A2($author$project$Html$Common$dateView, model.settings.zone, deployment.updatedAt)
13130 ]))
13131 ]))
13132 ]));
13133 });
13134var $author$project$Html$Overrides$overridesSectionLoading = function (mode) {
13135 var rowLoader = A2(
13136 $author$project$Html$Common$divClass,
13137 'editable-row loader',
13138 _List_fromArray(
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)
13143 ]));
13144 var addBtn = function () {
13145 if (mode.$ === 'Read') {
13146 return _List_Nil;
13147 } else {
13148 return _List_fromArray(
13150 A2(
13151 $author$project$Html$Common$divClass,
13152 'padded',
13153 _List_fromArray(
13155 A2(
13156 $elm$html$Html$button,
13157 _List_fromArray(
13159 $elm$html$Html$Attributes$class('dash--disabled dash dash--add overrides__add'),
13160 $elm$html$Html$Attributes$disabled(true)
13161 ]),
13162 _List_fromArray(
13164 $elm$html$Html$text('Add an override')
13165 ]))
13166 ]))
13167 ]);
13169 }();
13170 return A2(
13171 $author$project$Html$Common$divClass,
13172 'deployment__widget',
13173 _Utils_ap(
13174 addBtn,
13175 _List_fromArray(
13176 [rowLoader, rowLoader, rowLoader])));
13178var $author$project$Html$Overrides$AddOverride = {$: 'AddOverride'};
13179var $elm$core$Dict$filter = F2(
13180 function (isGood, dict) {
13181 return A3(
13182 $elm$core$Dict$foldl,
13183 F3(
13184 function (k, v, d) {
13185 return A2(isGood, k, v) ? A3($elm$core$Dict$insert, k, v, d) : d;
13186 }),
13187 $elm$core$Dict$empty,
13188 dict);
13189 });
13190var $elm$core$Dict$isEmpty = function (dict) {
13191 if (dict.$ === 'RBEmpty_elm_builtin') {
13192 return true;
13193 } else {
13194 return false;
13197var $elm$core$Set$member = F2(
13198 function (key, _v0) {
13199 var dict = _v0.a;
13200 return A2($elm$core$Dict$member, key, dict);
13201 });
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(
13209 function (a, b) {
13210 return {$: 'EditOverrideName', a: a, b: b};
13211 });
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) {
13219 return A2(
13220 $elm$html$Html$Events$on,
13221 'blur',
13222 $elm$json$Json$Decode$succeed(msg));
13224var $elm$html$Html$Events$onFocus = function (msg) {
13225 return A2(
13226 $elm$html$Html$Events$on,
13227 'focus',
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,
13235 _List_fromArray(
13236 ['target', 'value']),
13237 $elm$json$Json$Decode$string);
13238var $elm$html$Html$Events$onInput = function (tagger) {
13239 return A2(
13240 $elm$html$Html$Events$stopPropagationOn,
13241 'input',
13242 A2(
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) {
13248 return A2(
13249 $elm$html$Html$Events$on,
13250 'mousedown',
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,
13263 A2(
13264 $elm$core$Basics$composeR,
13265 $author$project$Types$Override$unOverrideName,
13266 $elm$core$String$startsWith(overrideName)),
13267 keys);
13268 var suggestionItem = function (suggestion) {
13269 return A2(
13270 $elm$html$Html$li,
13271 _List_fromArray(
13273 $elm$html$Html$Attributes$class('input__suggest'),
13274 $elm$html$Html$Events$onMouseDown(
13275 A2(
13276 $author$project$Html$Overrides$EditOverrideName,
13277 ix,
13278 $author$project$Types$Override$unOverrideName(suggestion)))
13279 ]),
13280 _List_fromArray(
13282 A2(
13283 $elm$html$Html$b,
13284 _List_Nil,
13285 _List_fromArray(
13287 $elm$html$Html$text(overrideName)
13288 ])),
13289 $elm$html$Html$text(
13290 A2(
13291 $elm$core$String$dropLeft,
13292 $elm$core$String$length(overrideName),
13293 $author$project$Types$Override$unOverrideName(suggestion)))
13294 ]));
13296 var suggestionsView = function () {
13297 var _v0 = model.autocomplete;
13298 if (_v0.$ === 'Nothing') {
13299 return _List_Nil;
13300 } else {
13301 var ax = _v0.a;
13302 return (_Utils_eq(ax, ix) && ($elm$core$List$length(suggestions) > 0)) ? _List_fromArray(
13304 A2(
13305 $author$project$Html$Common$ulClass,
13306 'input__dropdown',
13307 A2($elm$core$List$map, suggestionItem, suggestions))
13308 ]) : _List_Nil;
13310 }();
13311 var nameClass = 'editable-row__value input' + (deleted ? ' input--deleted' : '');
13312 var inputName = A2(
13313 $elm$html$Html$input,
13314 _List_fromArray(
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)
13327 ]),
13328 _List_Nil);
13329 return A2(
13330 $author$project$Html$Common$divClass,
13331 nameClass,
13332 A2($elm$core$List$cons, inputName, suggestionsView));
13333 });
13334var $author$project$Html$Overrides$EditOverrideValue = F2(
13335 function (a, b) {
13336 return {$: 'EditOverrideValue', a: a, b: b};
13337 });
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;
13342 return A2(
13343 $author$project$Html$Common$divClass,
13344 valueClass_,
13345 A2(
13346 $elm$core$List$cons,
13347 A2(
13348 $elm$html$Html$input,
13349 _List_fromArray(
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))
13359 ]),
13360 _List_Nil),
13361 ((!deleted) && (overrideValue === '')) ? _List_fromArray(
13363 A2(
13364 $author$project$Html$Common$divClass,
13365 'input__output',
13366 _List_fromArray(
13368 $elm$html$Html$text('Value can not be empty')
13369 ]))
13370 ]) : _List_Nil));
13371 });
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;
13381 return A2(
13382 $author$project$Html$Common$divClass,
13383 'row',
13384 _List_fromArray(
13386 A2(
13387 $author$project$Html$Common$divClass,
13388 'editable-row',
13389 _List_fromArray(
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)
13394 ]))
13395 ]));
13396 });
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);
13407 } else {
13408 var override = wrapped.a;
13409 var _v2 = override.status;
13410 switch (_v2.$) {
13411 case 'Edited':
13412 return _Utils_Tuple3($author$project$Html$Overrides$editedOverrideWriteView, override.name, override.value);
13413 case 'Deleted':
13414 return _Utils_Tuple3($author$project$Html$Overrides$deletedOverrideWriteView, override.name, override.value);
13415 default:
13416 return _Utils_Tuple3($author$project$Html$Overrides$newOverrideWriteView, override.name, override.value);
13419 }();
13420 var viewer = _v0.a;
13421 var overrideName = _v0.b;
13422 var overrideValue = _v0.c;
13423 return A4(
13424 viewer,
13425 model,
13426 $author$project$Types$Override$unOverrideName(overrideName),
13427 overrideValue,
13428 ix);
13429 });
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(
13434 A2(
13435 $elm$core$List$sortBy,
13436 function (_v2) {
13437 var ix = _v2.a;
13438 return ix;
13440 $elm$core$Dict$toList(overrides)));
13441 var newOverrideWriteView_ = function (_v1) {
13442 var ix = _v1.a;
13443 var override = _v1.b;
13444 return A3(
13445 $author$project$Html$Overrides$overrideWriteWrapper,
13446 model,
13447 ix,
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);
13453 } else {
13454 return _List_Nil;
13456 });
13457var $elm_community$list_extra$List$Extra$inits = A2(
13458 $elm$core$List$foldr,
13459 F2(
13460 function (e, acc) {
13461 return A2(
13462 $elm$core$List$cons,
13463 _List_Nil,
13464 A2(
13465 $elm$core$List$map,
13466 $elm$core$List$cons(e),
13467 acc));
13468 }),
13469 _List_fromArray(
13470 [_List_Nil]));
13471var $author$project$Html$Overrides$isDefautOverride = function (w) {
13472 if (w.$ === 'DefaultOverride') {
13473 return true;
13474 } else {
13475 return false;
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) {
13486 return A2(
13487 $author$project$Html$Common$divClass,
13488 'row',
13489 _List_fromArray(
13491 A2(
13492 $author$project$Html$Common$spanClass,
13493 nameClass,
13494 _List_fromArray(
13496 $elm$html$Html$text(nameInput + ': ')
13497 ])),
13498 A2(
13499 $author$project$Html$Common$spanClass,
13500 valueClass,
13501 _List_fromArray(
13503 $elm$html$Html$text(valueInput)
13504 ]))
13505 ]));
13506 });
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;
13514 return A2(
13515 $author$project$Html$Overrides$defaultOverrideReadView,
13516 $author$project$Types$Override$unOverrideName(override.name),
13517 override.value);
13518 } else {
13519 var override = wrapped.a;
13520 var _v1 = override.status;
13521 switch (_v1.$) {
13522 case 'Edited':
13523 return A2(
13524 $author$project$Html$Overrides$editedOverrideReadView,
13525 $author$project$Types$Override$unOverrideName(override.name),
13526 override.value);
13527 case 'Deleted':
13528 return A2(
13529 $author$project$Html$Overrides$deletedOverrideReadView,
13530 $author$project$Types$Override$unOverrideName(override.name),
13531 override.value);
13532 default:
13533 return A2(
13534 $author$project$Html$Overrides$newOverrideReadView,
13535 $author$project$Types$Override$unOverrideName(override.name),
13536 override.value);
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;
13545 var ix = _v1.a.a;
13546 var _v2 = _Utils_Tuple2(
13547 model.mode,
13548 A2($elm$core$Dict$get, ix, treeData));
13549 _v2$2:
13550 while (true) {
13551 if (_v2.a.$ === 'Write') {
13552 if (_v2.b.$ === 'Just') {
13553 var _v3 = _v2.a;
13554 var override = _v2.b.a;
13555 return A3($author$project$Html$Overrides$overrideWriteWrapper, model, ix, override);
13556 } else {
13557 break _v2$2;
13559 } else {
13560 if (_v2.b.$ === 'Just') {
13561 var _v4 = _v2.a;
13562 var override = _v2.b.a;
13563 return $author$project$Html$Overrides$overrideReadWrapper(override);
13564 } else {
13565 break _v2$2;
13569 return A2($elm$html$Html$div, _List_Nil, _List_Nil);
13570 } else {
13571 var piece = treeSchema.a;
13572 var cs = treeSchema.b;
13573 var btnClass = A2(
13574 $elm$core$Set$member,
13575 A2($elm$core$List$cons, piece, piecies),
13576 editedNames) ? 'collapse__head collapse__head--has-changes' : 'collapse__head';
13577 return A2(
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',
13583 _List_fromArray(
13585 A3(
13586 $author$project$Html$Common$buttonClass,
13587 btnClass,
13588 $author$project$Html$Overrides$CloseName(
13589 A2($elm$core$List$cons, piece, piecies)),
13590 _List_fromArray(
13592 $elm$html$Html$text(piece)
13593 ])),
13594 A2(
13595 $author$project$Html$Common$divClass,
13596 'collapse__inner',
13597 A2(
13598 $elm$core$List$map,
13599 A4(
13600 $author$project$Html$Overrides$treeOverrideView,
13601 model,
13602 treeData,
13603 editedNames,
13604 A2($elm$core$List$cons, piece, piecies)),
13605 cs))
13606 ])) : A2(
13607 $author$project$Html$Common$divClass,
13608 'collapse--project collapse',
13609 _List_fromArray(
13611 A3(
13612 $author$project$Html$Common$buttonClass,
13613 btnClass,
13614 $author$project$Html$Overrides$OpenName(
13615 A2($elm$core$List$cons, piece, piecies)),
13616 _List_fromArray(
13618 $elm$html$Html$text(piece)
13619 ])),
13620 A2($author$project$Html$Common$divClass, 'collapse__inner', _List_Nil)
13621 ]));
13623 } else {
13624 return A2($elm$html$Html$div, _List_Nil, _List_Nil);
13626 });
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(
13631 A2(
13632 $elm$core$List$map,
13633 A2(
13634 $elm$core$Basics$composeR,
13635 $elm$core$Tuple$second,
13636 A2(
13637 $elm$core$Basics$composeR,
13638 $author$project$Html$Overrides$getWrappedName,
13639 A2(
13640 $elm$core$Basics$composeR,
13641 $author$project$Types$Override$unOverrideName,
13642 A2(
13643 $elm$core$Basics$composeR,
13644 $elm$core$String$split('.'),
13645 A2(
13646 $elm$core$Basics$composeR,
13647 $elm_community$list_extra$List$Extra$inits,
13648 $elm$core$List$map($elm$core$List$reverse)))))),
13649 A2(
13650 $elm$core$List$filter,
13651 A2(
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)))));
13656 return A2(
13657 $elm$core$List$map,
13658 A4($author$project$Html$Overrides$treeOverrideView, model, treeData, editedNames, _List_Nil),
13659 model.treeSchema);
13661var $author$project$Tree$values = function (t) {
13662 if (t.$ === 'Node') {
13663 var cs = t.b;
13664 return $elm$core$List$concat(
13665 A2($elm$core$List$map, $author$project$Tree$values, cs));
13666 } else {
13667 var x = t.a;
13668 return _List_fromArray(
13669 [x]);
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,
13677 F2(
13678 function (id, _v2) {
13679 return !A2($elm$core$Set$member, id, treeIds);
13680 }),
13681 model.editedOverrides);
13682 var isEmptyOverride = F2(
13683 function (_v1, v) {
13684 return v.value === '';
13685 });
13686 var hasEmptyOverrides = function (overrides) {
13687 return A3(
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,
13700 _List_fromArray(
13702 $elm$html$Html$Attributes$class('dash--disabled dash dash--add overrides__add'),
13703 $elm$html$Html$Attributes$disabled(true)
13704 ]),
13705 _List_fromArray(
13707 $elm$html$Html$text('Add an override')
13708 ])) : A3(
13709 $author$project$Html$Common$buttonClass,
13710 'dash dash--add overrides__add',
13711 $author$project$Html$Overrides$AddOverride,
13712 _List_fromArray(
13714 $elm$html$Html$text('Add an override')
13715 ]))
13716 ]);
13717 } else {
13718 return _List_Nil;
13720 }();
13721 return A2(
13722 $author$project$Html$Common$divClass,
13723 'deployment__widget',
13724 _List_fromArray(
13726 A2(
13727 $author$project$Html$Common$divClass,
13728 'padded',
13729 _Utils_ap(
13730 addButton,
13731 _Utils_ap(
13732 A2($author$project$Html$Overrides$newOverridesView, model, newOverrides),
13733 $author$project$Html$Overrides$overridesLevelView(model))))
13734 ]));
13736var $author$project$Html$Overrides$view = function (model) {
13737 return A2(
13738 $author$project$Html$Common$divClass,
13739 'deployment__section',
13740 _List_fromArray(
13742 A2(
13743 $author$project$Html$Common$h3Class,
13744 'deployment__sub-heading',
13745 _List_fromArray(
13747 $elm$html$Html$text(model.name)
13748 ])),
13749 $author$project$Html$Overrides$overridesSectionData(model)
13750 ]));
13752var $author$project$Page$Deployment$overridesView = F2(
13753 function (overrides, mapper) {
13754 return A2(
13755 $elm$html$Html$map,
13756 mapper,
13757 function () {
13758 if (overrides.$ === 'Success') {
13759 var x = overrides.a;
13760 return $author$project$Html$Overrides$view(x);
13761 } else {
13762 return $author$project$Html$Overrides$overridesSectionLoading($author$project$Html$Overrides$Read);
13764 }());
13765 });
13766var $author$project$Page$Deployment$deploymentView = F2(
13767 function (model, deployment) {
13768 return A2(
13769 $author$project$Html$Common$divClass,
13770 'deployment',
13771 _List_fromArray(
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)
13778 ]));
13779 });
13780var $author$project$Page$Deployment$failureDeploymentView = function (model) {
13781 return A2(
13782 $author$project$Html$Common$divClass,
13783 'no-deployment',
13784 _List_fromArray(
13786 A2(
13787 $author$project$Html$Common$divClass,
13788 'null null--data',
13789 _List_fromArray(
13791 A2(
13792 $author$project$Html$Common$divClass,
13793 'null__content',
13794 _List_fromArray(
13796 A2(
13797 $author$project$Html$Common$bClass,
13798 'null__heading',
13799 _List_fromArray(
13801 $elm$html$Html$text('Cannot retrieve the data'),
13802 A2(
13803 $author$project$Html$Common$divClass,
13804 'null__message',
13805 _List_fromArray(
13807 $elm$html$Html$text('Try to reload page')
13808 ]))
13809 ]))
13810 ]))
13811 ]))
13812 ]));
13814var $author$project$Page$Deployment$loadingDeploymentView = function (model) {
13815 return A2(
13816 $author$project$Html$Common$divClass,
13817 'no-deployment',
13818 _List_fromArray(
13820 A2(
13821 $author$project$Html$Common$divClass,
13822 'loading loading--enlarged loading--alternate',
13823 _List_fromArray(
13825 $elm$html$Html$text('Loading ...')
13826 ]))
13827 ]));
13829var $author$project$Page$Deployment$pageBodyView = function (model) {
13830 return A2(
13831 $author$project$Html$Common$divClass,
13832 'page__body',
13833 _List_fromArray(
13835 function () {
13836 var _v0 = model.deployment;
13837 switch (_v0.$) {
13838 case 'Success':
13839 var deployment = _v0.a;
13840 return A2($author$project$Page$Deployment$deploymentView, model, deployment);
13841 case 'Failure':
13842 return $author$project$Page$Deployment$failureDeploymentView(model);
13843 default:
13844 return $author$project$Page$Deployment$loadingDeploymentView(model);
13846 }()
13847 ]));
13849var $author$project$Page$Deployment$pageWrapper = function (body) {
13850 return A2(
13851 $author$project$Html$Common$divClass,
13852 'page',
13853 _List_fromArray(
13855 A2($author$project$Html$Common$divClass, 'page__wrap container', body)
13856 ]));
13858var $author$project$Page$Deployment$pageView = function (model) {
13859 return $author$project$Page$Deployment$pageWrapper(
13860 _List_fromArray(
13862 $author$project$Page$Deployment$backButton,
13863 $author$project$Page$Deployment$deploymentHeaderView(model),
13864 $author$project$Page$Deployment$pageBodyView(model)
13865 ]));
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(
13880 A2(
13881 $author$project$Html$Common$divClass,
13882 'input__output',
13883 _List_fromArray(
13885 $elm$html$Html$text('Deployment name length should be longer than 2 characters and under 17 characters and begin with a letter.')
13886 ]))
13887 ]) : _List_Nil;
13888 return A2(
13889 $author$project$Html$Common$divClass,
13890 'deployment__section',
13891 _List_fromArray(
13893 A2(
13894 $author$project$Html$Common$h3Class,
13895 'deployment__sub-heading',
13896 _List_fromArray(
13898 $elm$html$Html$text('Name')
13899 ])),
13900 A2(
13901 $author$project$Html$Common$divClass,
13902 'deployment__widget',
13903 A2(
13904 $elm$core$List$cons,
13905 A2(
13906 $author$project$Html$Common$divClass,
13907 inputClass,
13908 _List_fromArray(
13910 A2(
13911 $elm$html$Html$input,
13912 _List_fromArray(
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)
13920 ]),
13921 _List_Nil)
13922 ])),
13923 errorMessage))
13924 ]));
13926var $author$project$Page$Sidebar$CreateUpdate$overridesView = F2(
13927 function (overrides, mapper) {
13928 return A2(
13929 $elm$html$Html$map,
13930 mapper,
13931 function () {
13932 if (overrides.$ === 'Success') {
13933 var x = overrides.a;
13934 return $author$project$Html$Overrides$view(x);
13935 } else {
13936 return $author$project$Html$Overrides$overridesSectionLoading($author$project$Html$Overrides$Write);
13938 }());
13939 });
13940var $author$project$Page$Sidebar$CreateUpdate$sidebarContent = function (model) {
13941 var errorViewer = function (msg) {
13942 return _List_fromArray(
13944 A2(
13945 $author$project$Html$Common$divClass,
13946 'deployment__output notification notification--danger',
13947 _List_fromArray(
13949 $elm$html$Html$text(msg)
13950 ]))
13951 ]);
13953 var errorText = function () {
13954 var _v0 = model.saveResp;
13955 if (_v0.$ === 'Failure') {
13956 if (_v0.a.$ === 'BadStatus') {
13957 var _v1 = _v0.a;
13958 var msg = _v1.b;
13959 return $elm$core$Maybe$Just(msg);
13960 } else {
13961 return $elm$core$Maybe$Just('Something went wrong');
13963 } else {
13964 return $elm$core$Maybe$Nothing;
13966 }();
13967 var errorView = A2(
13968 $elm$core$Maybe$withDefault,
13969 _List_Nil,
13970 A2($elm$core$Maybe$map, errorViewer, errorText));
13971 return A2(
13972 $author$project$Html$Common$divClass,
13973 'popup__content',
13974 _List_fromArray(
13976 A2(
13977 $author$project$Html$Common$divClass,
13978 'deployment',
13979 _Utils_ap(
13980 errorView,
13981 _List_fromArray(
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)
13986 ])))
13987 ]));
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) {
13994 if (!xs.b) {
13995 return true;
13996 } else {
13997 return false;
14000var $author$project$Html$Overrides$hasEmptyValues = function (model) {
14001 return A3(
14002 $elm$core$Basics$composeR,
14003 $elm$core$List$isEmpty,
14004 $elm$core$Basics$not,
14005 A2(
14006 $elm$core$List$filter,
14007 function (v) {
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));
14018 } else {
14019 return true;
14022var $author$project$Page$Sidebar$CreateUpdate$sidebarHeader = function (model) {
14023 var button = function () {
14024 var _v1 = _Utils_Tuple2(
14025 model.saveResp,
14026 $author$project$Page$Sidebar$CreateUpdate$hasEmptyValues(model));
14027 _v1$0:
14028 while (true) {
14029 _v1$1:
14030 while (true) {
14031 if (_v1.b) {
14032 switch (_v1.a.$) {
14033 case 'Loading':
14034 break _v1$0;
14035 case 'Success':
14036 break _v1$1;
14037 default:
14038 return A2(
14039 $elm$html$Html$button,
14040 _List_fromArray(
14042 $elm$html$Html$Attributes$class('button--disabled button button--save popup__action'),
14043 $elm$html$Html$Attributes$disabled(true)
14044 ]),
14045 _List_fromArray(
14047 $elm$html$Html$text('Save')
14048 ]));
14050 } else {
14051 switch (_v1.a.$) {
14052 case 'Loading':
14053 break _v1$0;
14054 case 'Success':
14055 break _v1$1;
14056 default:
14057 return A3(
14058 $author$project$Html$Common$buttonClass,
14059 'button button--save popup__action',
14060 $author$project$Page$Sidebar$CreateUpdate$Save,
14061 _List_fromArray(
14063 $elm$html$Html$text('Save')
14064 ]));
14068 return A2($elm$html$Html$div, _List_Nil, _List_Nil);
14070 var _v2 = _v1.a;
14071 return A2(
14072 $elm$html$Html$button,
14073 _List_fromArray(
14075 $elm$html$Html$Attributes$class('popup__action button button--save-loading'),
14076 $elm$html$Html$Attributes$disabled(true)
14077 ]),
14078 _List_fromArray(
14080 $elm$html$Html$text('Save')
14081 ]));
14082 }();
14083 return A2(
14084 $author$project$Html$Common$divClass,
14085 'popup__head',
14086 _List_fromArray(
14088 A3($author$project$Html$Common$buttonClass, 'popup__close', $author$project$Page$Sidebar$CreateUpdate$Close, _List_Nil),
14089 A2(
14090 $author$project$Html$Common$h2Class,
14091 'popup__project',
14092 _List_fromArray(
14094 $elm$html$Html$text(
14095 function () {
14096 var _v0 = model.mode;
14097 if (_v0.$ === 'Create') {
14098 return 'Create new deployment';
14099 } else {
14100 return 'Update deployment';
14102 }())
14103 ])),
14104 A2(
14105 $author$project$Html$Common$divClass,
14106 'popup__operations',
14107 _List_fromArray(
14108 [button])),
14109 A2($author$project$Html$Common$divClass, 'popup__menu drop drop--actions', _List_Nil)
14110 ]));
14112var $author$project$Page$Sidebar$CreateUpdate$view = function (model) {
14113 return model.visibility ? _List_fromArray(
14115 A2(
14116 $author$project$Html$Common$divClass,
14117 'popup popup--visible',
14118 _List_fromArray(
14120 A2(
14121 $elm$html$Html$div,
14122 _List_fromArray(
14124 A2($elm$html$Html$Attributes$attribute, 'aria-hidden', 'true'),
14125 $elm$html$Html$Attributes$class('popup__overlay')
14126 ]),
14127 _List_Nil),
14128 A2(
14129 $author$project$Html$Common$divClass,
14130 'popup__body',
14131 _List_fromArray(
14133 $author$project$Page$Sidebar$CreateUpdate$sidebarHeader(model),
14134 $author$project$Page$Sidebar$CreateUpdate$sidebarContent(model)
14135 ]))
14136 ]))
14137 ]) : _List_Nil;
14139var $author$project$Page$Deployment$view = function (model) {
14140 return {
14141 content: _Utils_ap(
14142 A2(
14143 $elm$core$List$cons,
14144 $author$project$Page$Deployment$pageView(model),
14145 A2(
14146 $elm$core$List$map,
14147 $elm$html$Html$map($author$project$Page$Deployment$CreateSidebarMsg),
14148 $author$project$Page$Sidebar$CreateUpdate$view(model.sidebar))),
14149 function () {
14150 var _v0 = model.archivePopup;
14151 if (_v0.$ === 'Nothing') {
14152 return _List_Nil;
14153 } else {
14154 var deploymentName = _v0.a;
14155 return _List_fromArray(
14157 $author$project$Page$Deployment$archivePopupView(deploymentName)
14158 ]);
14160 }()),
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) {
14169 return A2(
14170 $elm$html$Html$div,
14171 _List_fromArray(
14173 $elm$html$Html$Attributes$class('classic-popup'),
14174 A2($elm$html$Html$Attributes$style, 'display', 'block')
14175 ]),
14176 _List_fromArray(
14178 A2(
14179 $author$project$Html$Common$divClass,
14180 'classic-popup__container',
14181 _List_fromArray(
14183 A2(
14184 $author$project$Html$Common$divClass,
14185 'classic-popup__viewport',
14186 _List_fromArray(
14188 A2(
14189 $author$project$Html$Common$divClass,
14190 'classic-popup__slot',
14191 _List_fromArray(
14193 A2(
14194 $author$project$Html$Common$divClass,
14195 'dialog dialog--archive',
14196 _List_fromArray(
14198 A2(
14199 $author$project$Html$Common$divClass,
14200 'dialog__content',
14201 _List_fromArray(
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?')
14208 ])),
14209 A2(
14210 $author$project$Html$Common$divClass,
14211 'dialog__footer',
14212 _List_fromArray(
14214 A3(
14215 $author$project$Html$Common$buttonClass,
14216 'button dialog__action',
14217 $author$project$Page$Deployments$Table$DeleteDeploymentReq(deploymentName),
14218 _List_fromArray(
14220 $elm$html$Html$text('Archive')
14221 ])),
14222 A3(
14223 $author$project$Html$Common$buttonClass,
14224 'button dialog__action button--secondary',
14225 $author$project$Page$Deployments$Table$CloseArchivePopup,
14226 _List_fromArray(
14228 $elm$html$Html$text('Cancel')
14229 ]))
14230 ]))
14231 ])),
14232 A3($author$project$Html$Common$buttonClass, 'classic-popup__close', $author$project$Page$Deployments$Table$CloseArchivePopup, _List_Nil)
14233 ]))
14234 ]))
14235 ]))
14236 ]));
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) {
14270 return A2(
14271 $author$project$Html$Common$divClass,
14272 'row',
14273 function () {
14274 var _v0 = override.value;
14275 if (_v0.$ === 'ValueAdded') {
14276 var v = _v0.a;
14277 return _List_fromArray(
14279 A2(
14280 $author$project$Html$Common$spanClass,
14281 'key-default-pristine',
14282 _List_fromArray(
14284 $elm$html$Html$text(
14285 $author$project$Types$Override$unOverrideName(override.name) + ': ')
14286 ])),
14287 A2(
14288 $elm$html$Html$span,
14289 _List_fromArray(
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;')
14293 ]),
14294 _List_fromArray(
14296 $elm$html$Html$text(v)
14297 ]))
14298 ]);
14299 } else {
14300 return _List_fromArray(
14302 A2(
14303 $author$project$Html$Common$spanClass,
14304 'key-deleted',
14305 _List_fromArray(
14307 $elm$html$Html$text(
14308 $author$project$Types$Override$unOverrideName(override.name) + ': ')
14309 ])),
14310 A2($author$project$Html$Common$divClass, 'listing__placeholder listing__placeholder__value', _List_Nil)
14311 ]);
14313 }());
14315 var buttonClass_ = F3(
14316 function (cls, msg, body) {
14317 return A2(
14318 $elm$html$Html$button,
14319 _List_fromArray(
14321 $elm$html$Html$Attributes$class(cls),
14322 $elm_community$html_extra$Html$Events$Extra$onClickStopPropagation(msg)
14323 ]),
14324 body);
14325 });
14326 return _Utils_eq(
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),
14331 _List_fromArray(
14333 A3(
14334 buttonClass_,
14335 'expander listing__more expander--open',
14336 closeCmd(dName),
14337 _List_fromArray(
14339 $elm$html$Html$text('Hide default configuration')
14340 ]))
14341 ])) : A2(
14342 $elm$core$List$append,
14343 A2($elm$core$List$map, overrideView, visibleOverrides),
14344 _List_fromArray(
14346 A3(
14347 buttonClass_,
14348 'expander listing__more',
14349 openCmd(dName),
14350 _List_fromArray(
14352 $elm$html$Html$text('Show full configuration')
14353 ]))
14354 ])));
14355 });
14356var $author$project$Page$Deployments$Table$deploymentView = F2(
14357 function (model, deployment) {
14358 var statusView = function (status) {
14359 if (status.$ === 'DeploymentPending') {
14360 return A2(
14361 $author$project$Html$Common$divClass,
14362 'status status--pending',
14363 _List_fromArray(
14365 $elm$html$Html$text('Pending...')
14366 ]));
14367 } else {
14368 switch (status.a.$) {
14369 case 'Running':
14370 var _v3 = status.a;
14371 return A2(
14372 $author$project$Html$Common$divClass,
14373 'status status--success',
14374 _List_fromArray(
14376 $elm$html$Html$text('Running')
14377 ]));
14378 case 'Failure':
14379 return A2(
14380 $author$project$Html$Common$divClass,
14381 'status status--failure',
14382 _List_fromArray(
14384 $elm$html$Html$text('Failure')
14385 ]));
14386 case 'CreatePending':
14387 var _v4 = status.a;
14388 return A2(
14389 $author$project$Html$Common$divClass,
14390 'loading loading--status-alike',
14391 _List_fromArray(
14393 $elm$html$Html$text('Creating...')
14394 ]));
14395 case 'UpdatePending':
14396 var _v5 = status.a;
14397 return A2(
14398 $author$project$Html$Common$divClass,
14399 'loading loading--status-alike',
14400 _List_fromArray(
14402 $elm$html$Html$text('Updating...')
14403 ]));
14404 case 'ArchivePending':
14405 var _v6 = status.a;
14406 return A2(
14407 $author$project$Html$Common$divClass,
14408 'loading loading--status-alike',
14409 _List_fromArray(
14411 $elm$html$Html$text('Archiving...')
14412 ]));
14413 case 'Archived':
14414 var _v7 = status.a;
14415 return A2(
14416 $author$project$Html$Common$divClass,
14417 'status status--archived',
14418 _List_fromArray(
14420 $elm$html$Html$text('Archived')
14421 ]));
14422 default:
14423 var _v8 = status.a;
14424 return A2(
14425 $author$project$Html$Common$divClass,
14426 'status status--failure',
14427 _List_fromArray(
14429 $elm$html$Html$text('Cleanup failed (contact admin)')
14430 ]));
14434 var name = _List_fromArray(
14436 $elm$html$Html$text(
14437 $author$project$Types$Deployment$unDeploymentName(deployment.deployment.name)),
14438 statusView(deployment.status)
14439 ]);
14440 var menuButtonClass = F2(
14441 function (status, _class) {
14442 return $author$project$Types$Deployment$isPending(status) ? (_class + ' action--disabled ') : _class;
14443 });
14444 var link = function (m) {
14445 return A3(
14446 $author$project$Html$Common$aClassHrefExternal,
14447 'listing__item external bar',
14448 m.link,
14449 _List_fromArray(
14451 $elm$html$Html$text(m.name)
14452 ]));
14454 var links = function () {
14455 var _v1 = model.tableType;
14456 if (_v1.$ === 'ActiveTable') {
14457 return _List_fromArray(
14459 A2(
14460 $author$project$Html$Common$divClass,
14461 'listing',
14462 A2($elm$core$List$map, link, deployment.metadata))
14463 ]);
14464 } else {
14465 return _List_fromArray(
14467 $elm$html$Html$text('...')
14468 ]);
14470 }();
14471 var deploymentOverrides = _List_fromArray(
14473 A2(
14474 $author$project$Html$Common$divClass,
14475 'row',
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))
14477 ]);
14478 var buttonClass_ = F3(
14479 function (cls, msg, body) {
14480 return A2(
14481 $elm$html$Html$button,
14482 _List_fromArray(
14484 $elm$html$Html$Attributes$class(cls),
14485 $elm_community$html_extra$Html$Events$Extra$onClickStopPropagation(msg)
14486 ]),
14487 body);
14488 });
14489 var dropDown = A2(
14490 $elm$html$Html$div,
14491 _List_fromArray(
14493 $elm$html$Html$Attributes$class(
14494 'drop drop--actions ' + (_Utils_eq(
14495 model.menuButton,
14496 $elm$core$Maybe$Just(deployment.deployment.name)) ? 'drop--expanded' : '')),
14497 $elm$html$Html$Attributes$id(
14498 $author$project$Page$Deployments$Table$getDropdownId(model))
14499 ]),
14500 _List_fromArray(
14502 A3(
14503 buttonClass_,
14504 'drop__handler',
14505 $author$project$Page$Deployments$Table$OpenMenu(deployment.deployment.name),
14506 _List_fromArray(
14508 $elm$html$Html$text('Actions')
14509 ])),
14510 A2(
14511 $author$project$Html$Common$divClass,
14512 'drop__dropdown',
14513 function () {
14514 var _v0 = model.tableType;
14515 if (_v0.$ === 'ActiveTable') {
14516 return _List_fromArray(
14518 A2(
14519 $elm$html$Html$button,
14520 _List_fromArray(
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))
14529 ]),
14530 _List_fromArray(
14532 $elm$html$Html$text('Edit')
14533 ])),
14534 A2(
14535 $elm$html$Html$button,
14536 _List_fromArray(
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))
14545 ]),
14546 _List_fromArray(
14548 $elm$html$Html$text('Move to archive')
14549 ])),
14550 A3(
14551 $author$project$Html$Common$aClassHrefExternal,
14552 'action action--logs',
14553 _Utils_ap(
14554 model.config.k8sDashboardUrlTemplate,
14555 $author$project$Types$Deployment$unDeploymentName(deployment.deployment.name)),
14556 _List_fromArray(
14558 $elm$html$Html$text('Details')
14559 ]))
14560 ]);
14561 } else {
14562 return _List_fromArray(
14564 A2(
14565 $elm$html$Html$button,
14566 _List_fromArray(
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))
14571 ]),
14572 _List_fromArray(
14574 $elm$html$Html$text('Restore from archive')
14575 ]))
14576 ]);
14578 }())
14579 ]));
14580 var appOverrides = _List_fromArray(
14582 A2(
14583 $author$project$Html$Common$divClass,
14584 'row',
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))
14586 ]);
14587 return A2(
14588 $elm$html$Html$tr,
14589 _List_fromArray(
14591 $elm$html$Html$Events$onClick(
14592 $author$project$Page$Deployments$Table$GoToDeployment(deployment.deployment.name))
14593 ]),
14594 _List_fromArray(
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),
14600 A2(
14601 $elm$html$Html$td,
14602 _List_Nil,
14603 _List_fromArray(
14605 A2($author$project$Html$Common$dateView, model.settings.zone, deployment.createdAt)
14606 ])),
14607 A2(
14608 $elm$html$Html$td,
14609 _List_Nil,
14610 _List_fromArray(
14612 A2($author$project$Html$Common$dateView, model.settings.zone, deployment.updatedAt)
14613 ])),
14614 A2(
14615 $elm$html$Html$td,
14616 _List_Nil,
14617 _List_fromArray(
14618 [dropDown]))
14619 ]));
14620 });
14621var $author$project$Page$Deployments$Table$tableFailureView = A2(
14622 $elm$html$Html$tbody,
14623 _List_Nil,
14624 _List_fromArray(
14626 A2(
14627 $author$project$Html$Common$trClass,
14628 'no-table',
14629 _List_fromArray(
14631 A2(
14632 $elm$html$Html$td,
14633 _List_fromArray(
14635 $elm$html$Html$Attributes$colspan(8)
14636 ]),
14637 _List_fromArray(
14639 A2(
14640 $author$project$Html$Common$divClass,
14641 'null null--data',
14642 _List_fromArray(
14644 A2(
14645 $author$project$Html$Common$bClass,
14646 'null__heading',
14647 _List_fromArray(
14649 $elm$html$Html$text('Cannot retrieve the data')
14650 ])),
14651 A2(
14652 $author$project$Html$Common$divClass,
14653 'null__message',
14654 _List_fromArray(
14656 $elm$html$Html$text('Try to reload page')
14657 ]))
14658 ]))
14659 ]))
14660 ]))
14661 ]));
14662var $elm$core$String$toUpper = _String_toUpper;
14663var $author$project$Page$Deployments$Table$tableDeploymentsView = F3(
14664 function (model, deployments, search) {
14665 var compareDeployments = F2(
14666 function (a, b) {
14667 var _v0 = model.sort;
14668 if (_v0.$ === 'Asc') {
14669 switch (_v0.a.$) {
14670 case 'Name':
14671 var _v1 = _v0.a;
14672 return A2(
14673 $elm$core$Basics$compare,
14674 $author$project$Types$Deployment$unDeploymentName(a.deployment.name),
14675 $author$project$Types$Deployment$unDeploymentName(b.deployment.name));
14676 case 'Created':
14677 var _v3 = _v0.a;
14678 return A2(
14679 $elm$core$Basics$compare,
14680 $elm$time$Time$posixToMillis(a.createdAt),
14681 $elm$time$Time$posixToMillis(b.createdAt));
14682 default:
14683 var _v5 = _v0.a;
14684 return A2(
14685 $elm$core$Basics$compare,
14686 $elm$time$Time$posixToMillis(a.updatedAt),
14687 $elm$time$Time$posixToMillis(b.updatedAt));
14689 } else {
14690 switch (_v0.a.$) {
14691 case 'Name':
14692 var _v2 = _v0.a;
14693 return A2(
14694 $elm$core$Basics$compare,
14695 $author$project$Types$Deployment$unDeploymentName(b.deployment.name),
14696 $author$project$Types$Deployment$unDeploymentName(a.deployment.name));
14697 case 'Created':
14698 var _v4 = _v0.a;
14699 return A2(
14700 $elm$core$Basics$compare,
14701 $elm$time$Time$posixToMillis(b.createdAt),
14702 $elm$time$Time$posixToMillis(a.createdAt));
14703 default:
14704 var _v6 = _v0.a;
14705 return A2(
14706 $elm$core$Basics$compare,
14707 $elm$time$Time$posixToMillis(b.updatedAt),
14708 $elm$time$Time$posixToMillis(a.updatedAt));
14711 });
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)));
14719 var sorted = A2(
14720 $elm$core$List$filter,
14721 check,
14722 A2($elm$core$List$sortWith, compareDeployments, deployments));
14723 return ($elm$core$List$length(sorted) > 0) ? A2(
14724 $elm$html$Html$tbody,
14725 _List_Nil,
14726 A2(
14727 $elm$core$List$map,
14728 $author$project$Page$Deployments$Table$deploymentView(model),
14729 sorted)) : $author$project$Page$Deployments$Table$tableFailureView;
14730 });
14731var $author$project$Page$Deployments$Table$tableLoadingView = A2(
14732 $elm$html$Html$tbody,
14733 _List_Nil,
14734 _List_fromArray(
14736 A2(
14737 $author$project$Html$Common$trClass,
14738 'no-table',
14739 _List_fromArray(
14741 A2(
14742 $elm$html$Html$td,
14743 _List_fromArray(
14745 $elm$html$Html$Attributes$colspan(8)
14746 ]),
14747 _List_fromArray(
14749 A2(
14750 $author$project$Html$Common$divClass,
14751 'loading loading--enlarged loading--alternate',
14752 _List_fromArray(
14754 $elm$html$Html$text('Loading...')
14755 ]))
14756 ]))
14757 ]))
14758 ]));
14759var $author$project$Page$Deployments$Table$tablePrimaryBodyView = F3(
14760 function (model, deployments, search) {
14761 switch (deployments.$) {
14762 case 'Success':
14763 var d = deployments.a;
14764 return A3($author$project$Page$Deployments$Table$tableDeploymentsView, model, d, search);
14765 case 'Failure':
14766 return $author$project$Page$Deployments$Table$tableFailureView;
14767 default:
14768 return $author$project$Page$Deployments$Table$tableLoadingView;
14770 });
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) {
14780 var sortTh = F3(
14781 function (clm, sort, txt) {
14782 var _v0 = function () {
14783 if (sort.$ === 'Asc') {
14784 var sClm = sort.a;
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(
14789 'sort',
14790 $author$project$Page$Deployments$Table$SortChanged(
14791 $author$project$Page$Deployments$Table$Asc(clm)));
14792 } else {
14793 var sClm = sort.a;
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(
14798 'sort',
14799 $author$project$Page$Deployments$Table$SortChanged(
14800 $author$project$Page$Deployments$Table$Asc(clm)));
14802 }();
14803 var cls = _v0.a;
14804 var event = _v0.b;
14805 return A2(
14806 $elm$html$Html$th,
14807 _List_Nil,
14808 _List_fromArray(
14810 A3(
14811 $author$project$Html$Common$buttonClass,
14812 cls,
14813 event,
14814 _List_fromArray(
14816 $elm$html$Html$text(txt)
14817 ]))
14818 ]));
14819 });
14820 var simpleTh = function (txt) {
14821 return A2(
14822 $elm$html$Html$th,
14823 _List_Nil,
14824 _List_fromArray(
14826 $elm$html$Html$text(txt)
14827 ]));
14829 return A2(
14830 $elm$html$Html$thead,
14831 _List_Nil,
14832 _List_fromArray(
14834 A2(
14835 $elm$html$Html$tr,
14836 _List_Nil,
14837 _List_fromArray(
14839 A3(sortTh, $author$project$Page$Deployments$Table$Name, model.sort, 'Name'),
14840 simpleTh('Links'),
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'),
14845 A2(
14846 $elm$html$Html$th,
14847 _List_Nil,
14848 _List_fromArray(
14850 A2(
14851 $author$project$Html$Common$spanClass,
14852 'visuallyhidden',
14853 _List_fromArray(
14855 $elm$html$Html$text('Menu')
14856 ]))
14857 ]))
14858 ]))
14859 ]));
14861var $author$project$Page$Deployments$Table$view = F3(
14862 function (model, deployments, search) {
14863 return A2(
14864 $author$project$Html$Common$divClass,
14865 'table table--deployments table--clickable table--double-click',
14866 A2(
14867 $elm$core$List$cons,
14868 A2(
14869 $elm$html$Html$table,
14870 _List_Nil,
14871 _List_fromArray(
14873 $author$project$Page$Deployments$Table$tablePrimaryHeaderView(model),
14874 A3($author$project$Page$Deployments$Table$tablePrimaryBodyView, model, deployments, search)
14875 ])),
14876 function () {
14877 var _v0 = model.archivePopup;
14878 if (_v0.$ === 'Nothing') {
14879 return _List_Nil;
14880 } else {
14881 var deploymentName = _v0.a;
14882 return _List_fromArray(
14884 $author$project$Page$Deployments$Table$archivePopupView(deploymentName)
14885 ]);
14887 }()));
14888 });
14889var $author$project$Page$Deployments$dataArchivedView = F2(
14890 function (model, archivedDeploymets) {
14891 var dataClass = model.showArchived ? 'data__archive data__archive--open' : 'data__archive';
14892 return A2(
14893 $author$project$Html$Common$divClass,
14894 dataClass,
14895 _List_fromArray(
14897 A2(
14898 $elm$html$Html$map,
14899 $author$project$Page$Deployments$ArchivedTableMsg,
14900 A3($author$project$Page$Deployments$Table$view, model.archivedTable, archivedDeploymets, model.search))
14901 ]));
14902 });
14903var $author$project$Page$Deployments$dataPrimaryView = F2(
14904 function (model, activeDeploymets) {
14905 return A2(
14906 $author$project$Html$Common$divClass,
14907 'data__primary',
14908 _List_fromArray(
14910 A2(
14911 $elm$html$Html$map,
14912 $author$project$Page$Deployments$ActiveTableMsg,
14913 A3($author$project$Page$Deployments$Table$view, model.activeTable, activeDeploymets, model.search))
14914 ]));
14915 });
14916var $author$project$Page$Deployments$pageBodyWrapper = function (body) {
14917 return A2(
14918 $author$project$Html$Common$divClass,
14919 'page__body',
14920 _List_fromArray(
14922 A2($author$project$Html$Common$divClass, 'body', body)
14923 ]));
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) {
14930 return A2(
14931 $author$project$Html$Common$divClass,
14932 'page__action page__action--search input input--search input--has-clear-type',
14933 _List_fromArray(
14935 A2(
14936 $elm$html$Html$input,
14937 _List_fromArray(
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)
14943 ]),
14944 _List_Nil)
14945 ]));
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')))));
14949 return A2(
14950 $author$project$Html$Common$divClass,
14951 'page__note',
14952 _List_fromArray(
14954 $elm$html$Html$text(msg)
14955 ]));
14957var $author$project$Page$Deployments$pageHeaderView = function (model) {
14958 return A2(
14959 $author$project$Html$Common$divClass,
14960 'page__head',
14961 _List_fromArray(
14963 A2(
14964 $author$project$Html$Common$h1Class,
14965 'page__heading title',
14966 _List_fromArray(
14968 $elm$html$Html$text('All deployments')
14969 ])),
14970 $author$project$Page$Deployments$pageHeaderTimeUpdateView(model),
14971 $author$project$Page$Deployments$pageHeaderSearchView(model),
14972 A3(
14973 $author$project$Html$Common$buttonClass,
14974 'page__action button button--add popup-handler',
14975 $author$project$Page$Deployments$ShowCreateSidebar,
14976 _List_fromArray(
14978 $elm$html$Html$text('New deployment')
14979 ]))
14980 ]));
14982var $author$project$Page$Deployments$pageWrapper = function (body) {
14983 return A2(
14984 $author$project$Html$Common$divClass,
14985 'page',
14986 _List_fromArray(
14988 A2($author$project$Html$Common$divClass, 'page__wrap container', body)
14989 ]));
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,
14997 _List_fromArray(
14999 $elm$html$Html$text('Hide Archived deployments')
15000 ])) : A3(
15001 $author$project$Html$Common$buttonClass,
15002 'data__show-archive expander expander--stand-alone',
15003 $author$project$Page$Deployments$ToggleArchived,
15004 _List_fromArray(
15006 $elm$html$Html$text('Show Archived deployments')
15007 ]));
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(
15021 _List_fromArray(
15023 $author$project$Page$Deployments$pageHeaderView(model),
15024 $author$project$Page$Deployments$pageBodyWrapper(
15025 A2(
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)
15032 ])))
15033 ]));
15035var $author$project$Page$Deployments$view = function (model) {
15036 return {
15037 content: A2(
15038 $elm$core$List$cons,
15039 $author$project$Page$Deployments$pageView(model),
15040 A2(
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,
15049 'no-page',
15050 _List_fromArray(
15052 A2(
15053 $author$project$Html$Common$divClass,
15054 'no-page__inner',
15055 _List_fromArray(
15057 A2(
15058 $author$project$Html$Common$divClass,
15059 'null null--data',
15060 _List_fromArray(
15062 A2(
15063 $author$project$Html$Common$bClass,
15064 'null__heading',
15065 _List_fromArray(
15067 $elm$html$Html$text('Cannot retrieve the data')
15068 ])),
15069 A2(
15070 $author$project$Html$Common$divClass,
15071 'null__message',
15072 _List_fromArray(
15074 $elm$html$Html$text('Try to reload page')
15075 ]))
15076 ]))
15077 ]))
15078 ]));
15079var $author$project$Page$Initialization$loadingView = A2(
15080 $author$project$Html$Common$divClass,
15081 'no-page',
15082 _List_fromArray(
15084 A2(
15085 $author$project$Html$Common$divClass,
15086 'no-page__inner',
15087 _List_fromArray(
15089 A2(
15090 $author$project$Html$Common$divClass,
15091 'loading loading--enlarged loading--alternate',
15092 _List_fromArray(
15094 $elm$html$Html$text('Loading...')
15095 ]))
15096 ]))
15097 ]));
15098var $author$project$Page$Initialization$view = function (model) {
15099 var _v0 = _Utils_Tuple2(model.config, model.projectName);
15100 _v0$1:
15101 while (true) {
15102 _v0$2:
15103 while (true) {
15104 switch (_v0.a.$) {
15105 case 'Failure':
15106 return {
15107 content: _List_fromArray(
15108 [$author$project$Page$Initialization$failureView]),
15109 title: 'Octopod'
15111 case 'Loading':
15112 switch (_v0.b.$) {
15113 case 'Failure':
15114 break _v0$1;
15115 case 'Loading':
15116 break _v0$2;
15117 default:
15118 break _v0$2;
15120 default:
15121 switch (_v0.b.$) {
15122 case 'Failure':
15123 break _v0$1;
15124 case 'Loading':
15125 var _v2 = _v0.b;
15126 return {
15127 content: _List_fromArray(
15128 [$author$project$Page$Initialization$loadingView]),
15129 title: 'Octopod'
15131 default:
15132 return {content: _List_Nil, title: 'Octopod'};
15136 var _v1 = _v0.a;
15137 return {
15138 content: _List_fromArray(
15139 [$author$project$Page$Initialization$loadingView]),
15140 title: 'Octopod'
15143 return {
15144 content: _List_fromArray(
15145 [$author$project$Page$Initialization$failureView]),
15146 title: 'Octopod'
15149var $author$project$Main$view = function (model) {
15150 var viewPage = F3(
15151 function (page, toMsg, config) {
15152 var _v1 = A3(
15153 $author$project$Page$view,
15154 $author$project$Main$getSettings(model).projectName,
15155 page,
15156 config);
15157 var title = _v1.title;
15158 var body = _v1.body;
15159 return {
15160 body: A2(
15161 $elm$core$List$map,
15162 $elm$html$Html$map(toMsg),
15163 body),
15164 title: title
15166 });
15167 switch (model.$) {
15168 case 'Initialization':
15169 var subModel = model.a;
15170 return A3(
15171 viewPage,
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;
15177 return A3(
15178 viewPage,
15179 $author$project$Page$Deployments,
15180 $author$project$Main$DeploymentsMsg,
15181 $author$project$Page$Deployments$view(subModel));
15182 default:
15183 var subModel = model.a;
15184 return A3(
15185 viewPage,
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));