{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./app/javascript/packs/login.js.erb","webpack:///./app/javascript/Login.elm"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","window","NodeList","forEach","Array","document","addEventListener","target","getElementById","flags","initializationUrl","domain","params","getAttribute","push","join","childNodes","node","removeChild","createElement","appendChild","loginEmbed","Elm","Login","init","ports","statusCode","subscribe","status","location","href","redirectTo","url","scope","F","arity","fun","wrapper","a","f","F2","b","F3","F4","F5","e","F6","F7","g","F8","h","F9","A2","A3","A4","A5","A6","A7","_JsArray_initialize","size","offset","func","result","_JsArray_initializeFromList","max","ls","length","_Utils_Tuple2","_JsArray_foldr","index","array","acc","from","to","slice","dest","source","destLen","itemsToCopy","tag","console","log","_Debug_crash","identifier","Error","_Utils_eq","x","y","pair","stack","isEqual","_Utils_eqHelp","pop","depth","$","$elm$core$Dict$toList","_Utils_cmp","ord","_Utils_compare","$elm$core$Basics$LT","$elm$core$Basics$GT","$elm$core$Basics$EQ","_Utils_Tuple3","_Utils_ap","xs","ys","root","_List_Cons","curr","_List_Nil","hd","tl","_List_cons","_List_fromArray","arr","out","_List_toArray","_List_map2","zs","ws","vs","sort","Math","pow","modulus","answer","PI","E","cos","sin","tan","acos","asin","atan","atan2","_Basics_ceiling","ceil","_Basics_floor","floor","_Basics_log","round","sqrt","isNaN","chr","str","string","len","word","charCodeAt","isGood","char","state","_String_split","sep","split","_String_join","strs","_String_slice","start","end","_String_all","_String_contains","sub","indexOf","_String_indexes","lastIndexOf","subLen","is","_Json_decodeField","field","decoder","_Json_mapMany","decoders","_Json_andThen","callback","_Json_map1","d1","_Json_map2","d2","_Json_map3","d3","_Json_map4","d4","_Json_runOnString","d5","d6","d7","d8","_Json_runHelp","JSON","parse","$elm$core$Result$Err","$elm$json$Json$Decode$Failure","message","_Json_run","$elm$core$Result$Ok","_Json_expecting","isFinite","String","isArray","_Json_runArrayDecoder","_Json_toElmArray","$elm$core$Result$isOk","$elm$json$Json$Decode$Field","$elm$json$Json$Decode$Index","keyValuePairs","$elm$core$List$reverse","errors","temp","$elm$json$Json$Decode$OneOf","toElmValue","$elm$core$Array$initialize","type","_Json_equality","_Json_listEquality","aDecoders","bDecoders","_Json_encode","indentLevel","stringify","_Json_wrap","_Scheduler_succeed","_Scheduler_fail","error","_Scheduler_binding","_Scheduler_andThen","task","_Scheduler_onError","_Scheduler_guid","_Scheduler_rawSpawn","proc","_Scheduler_enqueue","_Scheduler_spawn","_Scheduler_rawSend","msg","_Scheduler_send","_Scheduler_working","_Scheduler_queue","shift","_Scheduler_step","rootTag","newRoot","impl","flagDecoder","debugMetadata","args","_Platform_initialize","aJ","aU","aS","update","subscriptions","stepperBuilder","undefined","managers","model","stepper","sendToApp","_Platform_effectManagers","manager","_Platform_instantiateManager","_Platform_setupEffects","viewMetadata","_Platform_dispatchEffects","_Platform_createManager","onEffects","onSelfMsg","cmdMap","subMap","info","router","loop","j","_Platform_sendToApp","_Platform_sendToSelf","_Platform_leaf","home","k","_Platform_batch","list","tagger","bag","cmdBag","subBag","effectsDict","_Platform_gatherEffects","isCmd","taggers","effect","applyTaggers","q","_Platform_toEffect","newEffect","effects","_Platform_insert","_Platform_checkPortName","_Platform_outgoingPort","converter","_Platform_outgoingPortMap","_Platform_setupOutgoingPort","time","subs","id","setTimeout","clearTimeout","cmdList","currentSubs","unsubscribe","splice","_VirtualDom_divertHrefToApp","finalTagger","_Platform_mergeExportsProd","obj","_VirtualDom_doc","_VirtualDom_appendChild","parent","child","virtualNode","parentNode","replaceChild","_VirtualDom_render","_VirtualDom_text","_VirtualDom_node","namespace","factList","kidList","kids","descendantsCount","kid","_VirtualDom_organizeFacts","_VirtualDom_nodeNS","_VirtualDom_keyedNodeNS","_VirtualDom_thunk","refs","thunk","A8","_VirtualDom_on","handler","_VirtualDom_style","_VirtualDom_property","_VirtualDom_attribute","_VirtualDom_noJavaScriptUri","test","replace","attr","$elm$virtual_dom$VirtualDom$toHandlerInt","$elm$json$Json$Decode$map2","_VirtualDom_mapEventTuple","_VirtualDom_mapEventRecord","$elm$json$Json$Decode$succeed","$elm$json$Json$Decode$map","_VirtualDom_mapHandler","_VirtualDom_passiveSupported","tuple","record","aK","R","N","facts","entry","subFacts","_VirtualDom_addClass","newClass","classes","vNode","eventNode","createTextNode","subNode","subEventRoot","domNode","elm_event_node_ref","_VirtualDom_applyFacts","createElementNS","_VirtualDom_applyStyles","_VirtualDom_applyEvents","_VirtualDom_applyAttrs","_VirtualDom_applyAttrsNS","styles","domNodeStyle","style","attrs","setAttribute","removeAttribute","nsAttrs","setAttributeNS","removeAttributeNS","events","allCallbacks","elmFs","newHandler","oldCallback","removeEventListener","_VirtualDom_makeCallback","passive","initialHandler","event","stopPropagation","currentEventNode","preventDefault","_VirtualDom_equalEvents","_VirtualDom_diff","patches","_VirtualDom_diffHelp","_VirtualDom_pushPatch","data","patch","u","xType","yType","keyedNode","keyedKids","_VirtualDom_dekey","xRefs","yRefs","same","subPatches","xTaggers","yTaggers","nesting","xSubNode","ySubNode","as","bs","_VirtualDom_pairwiseRefEqual","_VirtualDom_diffNodes","_VirtualDom_diffKids","_VirtualDom_diffKeyedKids","factsDiff","_VirtualDom_diffFacts","diffKids","category","diff","xKey","xValue","yValue","subDiff","yKey","xParent","yParent","xKids","yKids","xLen","yLen","v","minLen","xKid","rootIndex","localPatches","changes","inserts","xIndex","yIndex","xNode","yNode","newMatch","oldMatch","xNext","yNext","xNextKey","xNextNode","yNextKey","yNextNode","_VirtualDom_insertNode","_VirtualDom_removeNode","endInserts","w","_VirtualDom_POSTFIX","vnode","z","A","_VirtualDom_addDomNodes","_VirtualDom_addDomNodesHelp","low","high","patchType","vKids","vKid","nextLow","_VirtualDom_applyPatches","rootDomNode","oldVirtualNode","_VirtualDom_applyPatchesHelp","localDomNode","newNode","_VirtualDom_applyPatch","_VirtualDom_applyPatchRedraw","replaceData","theEnd","insertBefore","frag","createDocumentFragment","_VirtualDom_applyPatchReorderEndInsertsHelp","insert","_VirtualDom_applyPatchReorder","_VirtualDom_virtualize","nodeType","textContent","attrList","attributes","tagName","toLowerCase","_Browser_element","initialModel","view","aW","currNode","_Browser_makeAnimator","nextNode","_Browser_requestAnimationFrame","divertHrefToApp","O","title","bodyNode","body","doc","av","ao","requestAnimationFrame","draw","updateIfNeeded","nextModel","isSync","$elm$core$Task$perform","$elm$core$Basics$never","history","go","pushState","replaceState","_Browser_fakeNode","_Browser_window","eventName","sendToSelf","$elm$core$Maybe$Just","$elm$core$Maybe$Nothing","_Browser_withNode","doStuff","$elm$browser$Browser$Dom$NotFound","functionName","scroll","scrollLeft","scrollTop","_Http_toTask","request","maybeProgress","xhr","XMLHttpRequest","$elm$core$Maybe$isJust","lengthComputable","aw","loaded","ax","total","_Http_configureProgress","$elm$http$Http$NetworkError","$elm$http$Http$Timeout","responseToResult","response","aV","responseURL","Q","U","statusText","aF","_Http_parseHeaders","getAllResponseHeaders","_Http_toResponse","responseText","$elm$http$Http$BadStatus","$elm$http$Http$BadPayload","_Http_handleResponse","aD","open","aL","$elm$http$Http$BadUrl","headers","setRequestHeader","responseType","withCredentials","aX","aT","timeout","_Http_configureRequest","send","$elm$http$Http$Internal$isStringBody","abort","rawHeaders","$elm$core$Dict$empty","headerPairs","headerPair","substring","$elm$core$Dict$update","oldValue","expect","convertedResponse","$elm$core$Result$map","_Time_setInterval","interval","setInterval","clearInterval","$elm$core$List$cons","$elm$core$Elm$JsArray$foldr","$elm$core$Dict$foldr","baseCase","_v0","tree","tail","helper","values","subTree","left","right","$temp$func","$temp$acc","dict","$elm$core$String$all","$elm$json$Json$Encode$encode","$elm$core$String$fromInt","number","$elm$core$String$join","chunks","$elm$core$String$split","$elm$json$Json$Decode$indent","$elm$core$List$foldl","$elm$core$List$length","$elm$core$List$map2","$elm$core$List$rangeHelp","lo","hi","$temp$lo","$temp$hi","$temp$list","$elm$core$List$range","$elm$core$List$indexedMap","$elm$core$Char$toCode","code","$elm$core$Char$isLower","_char","$elm$core$Char$isUpper","$elm$core$Char$isAlpha","$elm$core$Char$isAlphaNum","$elm$core$Char$isDigit","$elm$core$String$uncons","$elm$json$Json$Decode$errorOneOf","$elm$json$Json$Decode$errorToString","$elm$json$Json$Decode$errorToStringHelp","context","errorToStringHelp","err","isSimple","_v1","_v2","rest","$temp$error","$temp$context","indexName","introduction","json","$elm$core$Array$branchFactor","$elm$core$Array$Array_elm_builtin","$elm$core$Elm$JsArray$empty","$elm$core$Basics$ceiling","$elm$core$Basics$logBase","base","$elm$core$Array$shiftStep","$elm$core$Array$empty","$elm$core$Elm$JsArray$initialize","$elm$core$Basics$floor","$elm$core$Elm$JsArray$length","$elm$core$Basics$max","$elm$core$Elm$JsArray$initializeFromList","$elm$core$Array$compressNodes","nodes","remainingNodes","newAcc","$elm$core$Tuple$first","$elm$core$Array$treeFromBuilder","nodeList","nodeListSize","newNodeSize","$elm$core$Array$builderToArray","reverseNodeList","builder","treeLen","correctNodeList","$elm$core$Array$initializeHelp","fn","fromIndex","leaf","tailLen","$elm$json$Json$Decode$andThen","$elm$core$Basics$identity","$elm$url$Url$Url","protocol","host","port_","path","query","fragment","Y","Z","ac","ae","ah","ai","$elm$core$String$contains","$elm$core$String$length","$elm$core$String$slice","$elm$core$String$dropLeft","$elm$core$String$indexes","$elm$core$String$isEmpty","$elm$core$String$left","$elm$core$String$toInt","code0","$elm$url$Url$chompBeforePath","$elm$url$Url$chompBeforeQuery","$elm$url$Url$chompBeforeFragment","$elm$core$Task$succeed","$elm$core$Task$init","$elm$core$List$foldrHelper","ctr","r1","r2","r3","r4","$elm$core$List$foldr","$elm$core$List$map","$elm$core$Task$andThen","$elm$core$Task$map","taskA","$elm$core$Task$map2","taskB","$elm$core$Task$sequence","tasks","$elm$core$Platform$sendToApp","$elm$core$Task$spawnCmd","$elm$core$Task$onEffects","commands","$elm$core$Task$onSelfMsg","$elm$core$Task$cmdMap","$elm$core$Task$command","toMessage","$elm$browser$Browser$element","$elm$json$Json$Decode$field","$author$project$Login$LoadForm","$author$project$LoginForm$Menu","title_external","sections","aR","ap","$elm$json$Json$Decode$list","$elm$json$Json$Decode$map3","$author$project$LoginForm$Section","elements","aC","$author$project$LoginForm$Form","$author$project$LoginForm$FormElement","action","authenticityToken","children","au","az","$author$project$LoginForm$ButtonElement","kind","label","J","K","$elm$json$Json$Decode$null","$elm$json$Json$Decode$oneOf","$elm$json$Json$Decode$nullable","$elm$json$Json$Decode$string","$elm$core$Maybe$withDefault","_default","maybe","$author$project$LoginForm$buttonDecoder","$elm$json$Json$Decode$fail","$author$project$LoginForm$InputElement","aM","$elm$json$Json$Decode$maybe","$author$project$LoginForm$inputDecoder","$author$project$LoginForm$LinkElement","css","aA","aH","$author$project$LoginForm$linkDecoder","$author$project$LoginForm$cyclic$formDecoder","$author$project$LoginForm$cyclic$elementDecoder","element","$author$project$LoginForm$formDecoder","$author$project$LoginForm$elementDecoder","millisToPosix","$author$project$LoginForm$sectionDecoder","$author$project$LoginForm$decoder","$elm$http$Http$emptyBody","$elm$json$Json$Decode$decodeString","$elm$http$Http$Internal$FormDataBody","$elm$core$Dict$RBEmpty_elm_builtin","ra","$elm$core$Basics$compare","$elm$core$Dict$get","targetKey","$elm$core$Dict$RBNode_elm_builtin","$elm$core$Dict$balance","color","lK","lV","_v6","llK","llV","llLeft","llRight","lRight","rK","rV","rLeft","rRight","lLeft","$elm$core$Dict$insertHelp","nColor","nKey","nValue","nLeft","nRight","$elm$core$Dict$insert","$elm$core$Dict$moveRedLeft","_v4","_v5","rlK","rlV","rlL","rlR","$elm$core$Dict$moveRedRight","$elm$core$Dict$removeHelpPrepEQGT","_v2$2","$elm$core$Dict$removeMin","lColor","$elm$core$Dict$removeHelp","_v7","$elm$core$Dict$removeHelpEQGT","$elm$core$Dict$getMin","minKey","minValue","$elm$core$Dict$remove","alter","dictionary","$elm$http$Http$expectStringResponse","$elm$http$Http$expectJson","decodeError","$elm$http$Http$request","$elm$http$Http$get","$elm$core$Basics$composeL","$elm$core$Task$onError","$elm$core$Task$attempt","resultToMessage","$elm$http$Http$send","request_","$author$project$Login$loadLoginForm","$author$project$Login$RetryInitialization","$elm$core$Basics$always","$elm$time$Time$Every","$elm$time$Time$State","processes","ag","an","$elm$time$Time$init","$elm$time$Time$addMySub","$elm$core$Process$kill","$elm$core$Dict$foldl","$elm$core$Dict$merge","leftStep","bothStep","rightStep","leftDict","rightDict","initialResult","stepState","rKey","rValue","lKey","lValue","_v3","leftovers","intermediateResult","$elm$core$Platform$sendToSelf","$elm$time$Time$setInterval","$elm$core$Process$spawn","$elm$time$Time$spawnHelp","intervals","spawnTimer","$elm$time$Time$onEffects","spawns","existing","kills","newTaggers","spawnList","existingDict","killTask","newProcesses","$elm$time$Time$now","Date","now","$elm$time$Time$onSelfMsg","$elm$time$Time$subMap","$elm$time$Time$subscription","$elm$time$Time$every","$elm$core$Platform$Sub$none","$author$project$Login$Closed","$author$project$Login$Empty","$author$project$Login$LoginRequestCompleted","$author$project$Login$Open","$elm$core$Basics$composeR","$elm$core$List$singleton","$author$project$LoginRequest$errorDecoder","$author$project$Login$formData","$author$project$Login$formValues","$elm$json$Json$Encode$string","$author$project$Login$logToJS","$author$project$Login$statusCode","$author$project$Login$logError","$elm$core$Maybe$map","$elm$core$Platform$Cmd$none","$elm$http$Http$stringPart","$author$project$LoginRequest$encodeForm","form","$elm$http$Http$header","$elm$http$Http$multipartBody","parts","formData","FormData","part","append","$author$project$LoginRequest$redirectDecoder","$author$project$LoginRequest$post","maybeAuthenticityToken","$author$project$Login$redirectTo","$author$project$Login$Invalid","$author$project$Login$setFormValue","updated","$author$project$Login$Retrying","$author$project$Login$tryRetry","$author$project$Login$updateFormData","$author$project$Login$updateFormErrors","$author$project$Login$update","menu","token","cmd","res","$elm$core$Result$toMaybe","$elm$html$Html$div","$elm$html$Html$p","$elm$html$Html$text","$author$project$Login$viewLoadingIndicator","$author$project$Login$ToggleMenu","$elm$html$Html$a","$elm$html$Html$Attributes$stringProperty","$elm$html$Html$Attributes$class","$elm$core$List$filter","$elm$core$Tuple$second","$elm$html$Html$Attributes$classList","$elm$virtual_dom$VirtualDom$on","$elm$html$Html$Events$on","$elm$html$Html$Events$onClick","$elm$html$Html$span","$elm$html$Html$Attributes$style","$author$project$Login$viewMenuTrigger","$author$project$Login$viewOverlay","$elm$html$Html$section","$elm$html$Html$strong","$author$project$Login$SubmitForm","$elm$html$Html$form","$elm$html$Html$input","$elm$html$Html$Attributes$method","$elm$html$Html$Attributes$name","$elm$html$Html$Events$alwaysPreventDefault","$elm$html$Html$Events$preventDefaultOn","$elm$html$Html$Attributes$type_","$elm$html$Html$Attributes$value","$elm$html$Html$button","$author$project$Login$viewButton","$author$project$Login$viewErrors","$author$project$Login$formErrors","$author$project$Login$SetFormValue","$author$project$Login$getFormValue","$elm$html$Html$label","$elm$html$Html$Events$alwaysStop","$elm$html$Html$Events$stopPropagationOn","$elm$html$Html$Events$targetValue","fields","$author$project$Login$viewInput","$author$project$Login$viewElement","config","$author$project$Login$viewForm","$author$project$Login$viewLink","uri","injectErrors","dataMaybeWithErrors","formElements","injectAuthenticityToken","$author$project$Login$viewSection","section","$author$project$Login$viewSections","_Platform_export","I","$author$project$Login$main","this"],"mappings":"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","file":"js/login-4acfffc75e231f31cc92.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/packs/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 29);\n","import { Elm } from \"../Login\";\n\n// Polyfill for NodeList.forEach\n// Will be included to babel-polyfill when it starts to use core-js 3\nif (window.NodeList && !NodeList.prototype.forEach) {\n NodeList.prototype.forEach = Array.prototype.forEach;\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n const target = document.getElementById(\"MemberPortalLogin\");\n const flags = {\n initializationUrl: `https://oma.tradeka.fi/fi/kayttajat/kirjaudu.json?`,\n domain: \"https://oma.tradeka.fi/\"\n };\n\n if (target) {\n\n let params = [];\n\n if(target.getAttribute('data-kind')) {\n params.push('kind=' + target.getAttribute('data-kind'));\n }\n\n if(target.getAttribute('data-locale')) {\n params.push('locale=' + target.getAttribute('data-locale'));\n }\n\n flags.initializationUrl += params.join('&');\n\n target.childNodes.forEach(node => target.removeChild(node));\n const node = document.createElement(\"div\");\n target.appendChild(node);\n\n const loginEmbed = Elm.Login.init({ node, flags });\n loginEmbed.ports.statusCode.subscribe(status => {\n if(status == 422) window.location.href = flags.domain;\n });\n\n loginEmbed.ports.redirectTo.subscribe(url => {\n window.location.href = url;\n });\n } else {\n /*\n console.error(\n `Unable to find DOM element for embedding login!\n Create element with id 'MemberPortalLogin' and try again`\n );\n */\n }\n});\n","(function(scope){\n'use strict';\n\nfunction F(arity, fun, wrapper) {\n wrapper.a = arity;\n wrapper.f = fun;\n return wrapper;\n}\n\nfunction F2(fun) {\n return F(2, fun, function(a) { return function(b) { return fun(a,b); }; })\n}\nfunction F3(fun) {\n return F(3, fun, function(a) {\n return function(b) { return function(c) { return fun(a, b, c); }; };\n });\n}\nfunction F4(fun) {\n return F(4, fun, function(a) { return function(b) { return function(c) {\n return function(d) { return fun(a, b, c, d); }; }; };\n });\n}\nfunction F5(fun) {\n return F(5, fun, function(a) { return function(b) { return function(c) {\n return function(d) { return function(e) { return fun(a, b, c, d, e); }; }; }; };\n });\n}\nfunction F6(fun) {\n return F(6, fun, function(a) { return function(b) { return function(c) {\n return function(d) { return function(e) { return function(f) {\n return fun(a, b, c, d, e, f); }; }; }; }; };\n });\n}\nfunction F7(fun) {\n return F(7, fun, function(a) { return function(b) { return function(c) {\n return function(d) { return function(e) { return function(f) {\n return function(g) { return fun(a, b, c, d, e, f, g); }; }; }; }; }; };\n });\n}\nfunction F8(fun) {\n return F(8, fun, function(a) { return function(b) { return function(c) {\n return function(d) { return function(e) { return function(f) {\n return function(g) { return function(h) {\n return fun(a, b, c, d, e, f, g, h); }; }; }; }; }; }; };\n });\n}\nfunction F9(fun) {\n return F(9, fun, function(a) { return function(b) { return function(c) {\n return function(d) { return function(e) { return function(f) {\n return function(g) { return function(h) { return function(i) {\n return fun(a, b, c, d, e, f, g, h, i); }; }; }; }; }; }; }; };\n });\n}\n\nfunction A2(fun, a, b) {\n return fun.a === 2 ? fun.f(a, b) : fun(a)(b);\n}\nfunction A3(fun, a, b, c) {\n return fun.a === 3 ? fun.f(a, b, c) : fun(a)(b)(c);\n}\nfunction A4(fun, a, b, c, d) {\n return fun.a === 4 ? fun.f(a, b, c, d) : fun(a)(b)(c)(d);\n}\nfunction A5(fun, a, b, c, d, e) {\n return fun.a === 5 ? fun.f(a, b, c, d, e) : fun(a)(b)(c)(d)(e);\n}\nfunction A6(fun, a, b, c, d, e, f) {\n return fun.a === 6 ? fun.f(a, b, c, d, e, f) : fun(a)(b)(c)(d)(e)(f);\n}\nfunction A7(fun, a, b, c, d, e, f, g) {\n return fun.a === 7 ? fun.f(a, b, c, d, e, f, g) : fun(a)(b)(c)(d)(e)(f)(g);\n}\nfunction A8(fun, a, b, c, d, e, f, g, h) {\n return fun.a === 8 ? fun.f(a, b, c, d, e, f, g, h) : fun(a)(b)(c)(d)(e)(f)(g)(h);\n}\nfunction A9(fun, a, b, c, d, e, f, g, h, i) {\n return fun.a === 9 ? fun.f(a, b, c, d, e, f, g, h, i) : fun(a)(b)(c)(d)(e)(f)(g)(h)(i);\n}\n\n\n\n\nvar _JsArray_empty = [];\n\nfunction _JsArray_singleton(value)\n{\n return [value];\n}\n\nfunction _JsArray_length(array)\n{\n return array.length;\n}\n\nvar _JsArray_initialize = F3(function(size, offset, func)\n{\n var result = new Array(size);\n\n for (var i = 0; i < size; i++)\n {\n result[i] = func(offset + i);\n }\n\n return result;\n});\n\nvar _JsArray_initializeFromList = F2(function (max, ls)\n{\n var result = new Array(max);\n\n for (var i = 0; i < max && ls.b; i++)\n {\n result[i] = ls.a;\n ls = ls.b;\n }\n\n result.length = i;\n return _Utils_Tuple2(result, ls);\n});\n\nvar _JsArray_unsafeGet = F2(function(index, array)\n{\n return array[index];\n});\n\nvar _JsArray_unsafeSet = F3(function(index, value, array)\n{\n var length = array.length;\n var result = new Array(length);\n\n for (var i = 0; i < length; i++)\n {\n result[i] = array[i];\n }\n\n result[index] = value;\n return result;\n});\n\nvar _JsArray_push = F2(function(value, array)\n{\n var length = array.length;\n var result = new Array(length + 1);\n\n for (var i = 0; i < length; i++)\n {\n result[i] = array[i];\n }\n\n result[length] = value;\n return result;\n});\n\nvar _JsArray_foldl = F3(function(func, acc, array)\n{\n var length = array.length;\n\n for (var i = 0; i < length; i++)\n {\n acc = A2(func, array[i], acc);\n }\n\n return acc;\n});\n\nvar _JsArray_foldr = F3(function(func, acc, array)\n{\n for (var i = array.length - 1; i >= 0; i--)\n {\n acc = A2(func, array[i], acc);\n }\n\n return acc;\n});\n\nvar _JsArray_map = F2(function(func, array)\n{\n var length = array.length;\n var result = new Array(length);\n\n for (var i = 0; i < length; i++)\n {\n result[i] = func(array[i]);\n }\n\n return result;\n});\n\nvar _JsArray_indexedMap = F3(function(func, offset, array)\n{\n var length = array.length;\n var result = new Array(length);\n\n for (var i = 0; i < length; i++)\n {\n result[i] = A2(func, offset + i, array[i]);\n }\n\n return result;\n});\n\nvar _JsArray_slice = F3(function(from, to, array)\n{\n return array.slice(from, to);\n});\n\nvar _JsArray_appendN = F3(function(n, dest, source)\n{\n var destLen = dest.length;\n var itemsToCopy = n - destLen;\n\n if (itemsToCopy > source.length)\n {\n itemsToCopy = source.length;\n }\n\n var size = destLen + itemsToCopy;\n var result = new Array(size);\n\n for (var i = 0; i < destLen; i++)\n {\n result[i] = dest[i];\n }\n\n for (var i = 0; i < itemsToCopy; i++)\n {\n result[i + destLen] = source[i];\n }\n\n return result;\n});\n\n\n\n// LOG\n\nvar _Debug_log = F2(function(tag, value)\n{\n\treturn value;\n});\n\nvar _Debug_log_UNUSED = F2(function(tag, value)\n{\n\tconsole.log(tag + ': ' + _Debug_toString(value));\n\treturn value;\n});\n\n\n// TODOS\n\nfunction _Debug_todo(moduleName, region)\n{\n\treturn function(message) {\n\t\t_Debug_crash(8, moduleName, region, message);\n\t};\n}\n\nfunction _Debug_todoCase(moduleName, region, value)\n{\n\treturn function(message) {\n\t\t_Debug_crash(9, moduleName, region, value, message);\n\t};\n}\n\n\n// TO STRING\n\nfunction _Debug_toString(value)\n{\n\treturn '';\n}\n\nfunction _Debug_toString_UNUSED(value)\n{\n\treturn _Debug_toAnsiString(false, value);\n}\n\nfunction _Debug_toAnsiString(ansi, value)\n{\n\tif (typeof value === 'function')\n\t{\n\t\treturn _Debug_internalColor(ansi, '');\n\t}\n\n\tif (typeof value === 'boolean')\n\t{\n\t\treturn _Debug_ctorColor(ansi, value ? 'True' : 'False');\n\t}\n\n\tif (typeof value === 'number')\n\t{\n\t\treturn _Debug_numberColor(ansi, value + '');\n\t}\n\n\tif (value instanceof String)\n\t{\n\t\treturn _Debug_charColor(ansi, \"'\" + _Debug_addSlashes(value, true) + \"'\");\n\t}\n\n\tif (typeof value === 'string')\n\t{\n\t\treturn _Debug_stringColor(ansi, '\"' + _Debug_addSlashes(value, false) + '\"');\n\t}\n\n\tif (typeof value === 'object' && '$' in value)\n\t{\n\t\tvar tag = value.$;\n\n\t\tif (typeof tag === 'number')\n\t\t{\n\t\t\treturn _Debug_internalColor(ansi, '');\n\t\t}\n\n\t\tif (tag[0] === '#')\n\t\t{\n\t\t\tvar output = [];\n\t\t\tfor (var k in value)\n\t\t\t{\n\t\t\t\tif (k === '$') continue;\n\t\t\t\toutput.push(_Debug_toAnsiString(ansi, value[k]));\n\t\t\t}\n\t\t\treturn '(' + output.join(',') + ')';\n\t\t}\n\n\t\tif (tag === 'Set_elm_builtin')\n\t\t{\n\t\t\treturn _Debug_ctorColor(ansi, 'Set')\n\t\t\t\t+ _Debug_fadeColor(ansi, '.fromList') + ' '\n\t\t\t\t+ _Debug_toAnsiString(ansi, $elm$core$Set$toList(value));\n\t\t}\n\n\t\tif (tag === 'RBNode_elm_builtin' || tag === 'RBEmpty_elm_builtin')\n\t\t{\n\t\t\treturn _Debug_ctorColor(ansi, 'Dict')\n\t\t\t\t+ _Debug_fadeColor(ansi, '.fromList') + ' '\n\t\t\t\t+ _Debug_toAnsiString(ansi, $elm$core$Dict$toList(value));\n\t\t}\n\n\t\tif (tag === 'Array_elm_builtin')\n\t\t{\n\t\t\treturn _Debug_ctorColor(ansi, 'Array')\n\t\t\t\t+ _Debug_fadeColor(ansi, '.fromList') + ' '\n\t\t\t\t+ _Debug_toAnsiString(ansi, $elm$core$Array$toList(value));\n\t\t}\n\n\t\tif (tag === '::' || tag === '[]')\n\t\t{\n\t\t\tvar output = '[';\n\n\t\t\tvalue.b && (output += _Debug_toAnsiString(ansi, value.a), value = value.b)\n\n\t\t\tfor (; value.b; value = value.b) // WHILE_CONS\n\t\t\t{\n\t\t\t\toutput += ',' + _Debug_toAnsiString(ansi, value.a);\n\t\t\t}\n\t\t\treturn output + ']';\n\t\t}\n\n\t\tvar output = '';\n\t\tfor (var i in value)\n\t\t{\n\t\t\tif (i === '$') continue;\n\t\t\tvar str = _Debug_toAnsiString(ansi, value[i]);\n\t\t\tvar c0 = str[0];\n\t\t\tvar parenless = c0 === '{' || c0 === '(' || c0 === '[' || c0 === '<' || c0 === '\"' || str.indexOf(' ') < 0;\n\t\t\toutput += ' ' + (parenless ? str : '(' + str + ')');\n\t\t}\n\t\treturn _Debug_ctorColor(ansi, tag) + output;\n\t}\n\n\tif (typeof value === 'object')\n\t{\n\t\tvar output = [];\n\t\tfor (var key in value)\n\t\t{\n\t\t\tvar field = key[0] === '_' ? key.slice(1) : key;\n\t\t\toutput.push(_Debug_fadeColor(ansi, field) + ' = ' + _Debug_toAnsiString(ansi, value[key]));\n\t\t}\n\t\tif (output.length === 0)\n\t\t{\n\t\t\treturn '{}';\n\t\t}\n\t\treturn '{ ' + output.join(', ') + ' }';\n\t}\n\n\treturn _Debug_internalColor(ansi, '');\n}\n\nfunction _Debug_addSlashes(str, isChar)\n{\n\tvar s = str\n\t\t.replace(/\\\\/g, '\\\\\\\\')\n\t\t.replace(/\\n/g, '\\\\n')\n\t\t.replace(/\\t/g, '\\\\t')\n\t\t.replace(/\\r/g, '\\\\r')\n\t\t.replace(/\\v/g, '\\\\v')\n\t\t.replace(/\\0/g, '\\\\0');\n\n\tif (isChar)\n\t{\n\t\treturn s.replace(/\\'/g, '\\\\\\'');\n\t}\n\telse\n\t{\n\t\treturn s.replace(/\\\"/g, '\\\\\"');\n\t}\n}\n\nfunction _Debug_ctorColor(ansi, string)\n{\n\treturn ansi ? '\\x1b[96m' + string + '\\x1b[0m' : string;\n}\n\nfunction _Debug_numberColor(ansi, string)\n{\n\treturn ansi ? '\\x1b[95m' + string + '\\x1b[0m' : string;\n}\n\nfunction _Debug_stringColor(ansi, string)\n{\n\treturn ansi ? '\\x1b[93m' + string + '\\x1b[0m' : string;\n}\n\nfunction _Debug_charColor(ansi, string)\n{\n\treturn ansi ? '\\x1b[92m' + string + '\\x1b[0m' : string;\n}\n\nfunction _Debug_fadeColor(ansi, string)\n{\n\treturn ansi ? '\\x1b[37m' + string + '\\x1b[0m' : string;\n}\n\nfunction _Debug_internalColor(ansi, string)\n{\n\treturn ansi ? '\\x1b[94m' + string + '\\x1b[0m' : string;\n}\n\n\n\n// CRASH\n\n\nfunction _Debug_crash(identifier)\n{\n\tthrow new Error('https://github.com/elm/core/blob/1.0.0/hints/' + identifier + '.md');\n}\n\n\nfunction _Debug_crash_UNUSED(identifier, fact1, fact2, fact3, fact4)\n{\n\tswitch(identifier)\n\t{\n\t\tcase 0:\n\t\t\tthrow new Error('What node should I take over? In JavaScript I need something like:\\n\\n Elm.Main.init({\\n node: document.getElementById(\"elm-node\")\\n })\\n\\nYou need to do this with any Browser.sandbox or Browser.element program.');\n\n\t\tcase 1:\n\t\t\tthrow new Error('Browser.application programs cannot handle URLs like this:\\n\\n ' + document.location.href + '\\n\\nWhat is the root? The root of your file system? Try looking at this program with `elm reactor` or some other server.');\n\n\t\tcase 2:\n\t\t\tvar jsonErrorString = fact1;\n\t\t\tthrow new Error('Problem with the flags given to your Elm program on initialization.\\n\\n' + jsonErrorString);\n\n\t\tcase 3:\n\t\t\tvar portName = fact1;\n\t\t\tthrow new Error('There can only be one port named `' + portName + '`, but your program has multiple.');\n\n\t\tcase 4:\n\t\t\tvar portName = fact1;\n\t\t\tvar problem = fact2;\n\t\t\tthrow new Error('Trying to send an unexpected type of value through port `' + portName + '`:\\n' + problem);\n\n\t\tcase 5:\n\t\t\tthrow new Error('Trying to use `(==)` on functions.\\nThere is no way to know if functions are \"the same\" in the Elm sense.\\nRead more about this at https://package.elm-lang.org/packages/elm/core/latest/Basics#== which describes why it is this way and what the better version will look like.');\n\n\t\tcase 6:\n\t\t\tvar moduleName = fact1;\n\t\t\tthrow new Error('Your page is loading multiple Elm scripts with a module named ' + moduleName + '. Maybe a duplicate script is getting loaded accidentally? If not, rename one of them so I know which is which!');\n\n\t\tcase 8:\n\t\t\tvar moduleName = fact1;\n\t\t\tvar region = fact2;\n\t\t\tvar message = fact3;\n\t\t\tthrow new Error('TODO in module `' + moduleName + '` ' + _Debug_regionToString(region) + '\\n\\n' + message);\n\n\t\tcase 9:\n\t\t\tvar moduleName = fact1;\n\t\t\tvar region = fact2;\n\t\t\tvar value = fact3;\n\t\t\tvar message = fact4;\n\t\t\tthrow new Error(\n\t\t\t\t'TODO in module `' + moduleName + '` from the `case` expression '\n\t\t\t\t+ _Debug_regionToString(region) + '\\n\\nIt received the following value:\\n\\n '\n\t\t\t\t+ _Debug_toString(value).replace('\\n', '\\n ')\n\t\t\t\t+ '\\n\\nBut the branch that handles it says:\\n\\n ' + message.replace('\\n', '\\n ')\n\t\t\t);\n\n\t\tcase 10:\n\t\t\tthrow new Error('Bug in https://github.com/elm/virtual-dom/issues');\n\n\t\tcase 11:\n\t\t\tthrow new Error('Cannot perform mod 0. Division by zero error.');\n\t}\n}\n\nfunction _Debug_regionToString(region)\n{\n\tif (region.P.z === region.W.z)\n\t{\n\t\treturn 'on line ' + region.P.z;\n\t}\n\treturn 'on lines ' + region.P.z + ' through ' + region.W.z;\n}\n\n\n\n// EQUALITY\n\nfunction _Utils_eq(x, y)\n{\n\tfor (\n\t\tvar pair, stack = [], isEqual = _Utils_eqHelp(x, y, 0, stack);\n\t\tisEqual && (pair = stack.pop());\n\t\tisEqual = _Utils_eqHelp(pair.a, pair.b, 0, stack)\n\t\t)\n\t{}\n\n\treturn isEqual;\n}\n\nfunction _Utils_eqHelp(x, y, depth, stack)\n{\n\tif (depth > 100)\n\t{\n\t\tstack.push(_Utils_Tuple2(x,y));\n\t\treturn true;\n\t}\n\n\tif (x === y)\n\t{\n\t\treturn true;\n\t}\n\n\tif (typeof x !== 'object' || x === null || y === null)\n\t{\n\t\ttypeof x === 'function' && _Debug_crash(5);\n\t\treturn false;\n\t}\n\n\t/**_UNUSED/\n\tif (x.$ === 'Set_elm_builtin')\n\t{\n\t\tx = $elm$core$Set$toList(x);\n\t\ty = $elm$core$Set$toList(y);\n\t}\n\tif (x.$ === 'RBNode_elm_builtin' || x.$ === 'RBEmpty_elm_builtin')\n\t{\n\t\tx = $elm$core$Dict$toList(x);\n\t\ty = $elm$core$Dict$toList(y);\n\t}\n\t//*/\n\n\t/**/\n\tif (x.$ < 0)\n\t{\n\t\tx = $elm$core$Dict$toList(x);\n\t\ty = $elm$core$Dict$toList(y);\n\t}\n\t//*/\n\n\tfor (var key in x)\n\t{\n\t\tif (!_Utils_eqHelp(x[key], y[key], depth + 1, stack))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\nvar _Utils_equal = F2(_Utils_eq);\nvar _Utils_notEqual = F2(function(a, b) { return !_Utils_eq(a,b); });\n\n\n\n// COMPARISONS\n\n// Code in Generate/JavaScript.hs, Basics.js, and List.js depends on\n// the particular integer values assigned to LT, EQ, and GT.\n\nfunction _Utils_cmp(x, y, ord)\n{\n\tif (typeof x !== 'object')\n\t{\n\t\treturn x === y ? /*EQ*/ 0 : x < y ? /*LT*/ -1 : /*GT*/ 1;\n\t}\n\n\t/**_UNUSED/\n\tif (x instanceof String)\n\t{\n\t\tvar a = x.valueOf();\n\t\tvar b = y.valueOf();\n\t\treturn a === b ? 0 : a < b ? -1 : 1;\n\t}\n\t//*/\n\n\t/**/\n\tif (!x.$)\n\t//*/\n\t/**_UNUSED/\n\tif (x.$[0] === '#')\n\t//*/\n\t{\n\t\treturn (ord = _Utils_cmp(x.a, y.a))\n\t\t\t? ord\n\t\t\t: (ord = _Utils_cmp(x.b, y.b))\n\t\t\t\t? ord\n\t\t\t\t: _Utils_cmp(x.c, y.c);\n\t}\n\n\t// traverse conses until end of a list or a mismatch\n\tfor (; x.b && y.b && !(ord = _Utils_cmp(x.a, y.a)); x = x.b, y = y.b) {} // WHILE_CONSES\n\treturn ord || (x.b ? /*GT*/ 1 : y.b ? /*LT*/ -1 : /*EQ*/ 0);\n}\n\nvar _Utils_lt = F2(function(a, b) { return _Utils_cmp(a, b) < 0; });\nvar _Utils_le = F2(function(a, b) { return _Utils_cmp(a, b) < 1; });\nvar _Utils_gt = F2(function(a, b) { return _Utils_cmp(a, b) > 0; });\nvar _Utils_ge = F2(function(a, b) { return _Utils_cmp(a, b) >= 0; });\n\nvar _Utils_compare = F2(function(x, y)\n{\n\tvar n = _Utils_cmp(x, y);\n\treturn n < 0 ? $elm$core$Basics$LT : n ? $elm$core$Basics$GT : $elm$core$Basics$EQ;\n});\n\n\n// COMMON VALUES\n\nvar _Utils_Tuple0 = 0;\nvar _Utils_Tuple0_UNUSED = { $: '#0' };\n\nfunction _Utils_Tuple2(a, b) { return { a: a, b: b }; }\nfunction _Utils_Tuple2_UNUSED(a, b) { return { $: '#2', a: a, b: b }; }\n\nfunction _Utils_Tuple3(a, b, c) { return { a: a, b: b, c: c }; }\nfunction _Utils_Tuple3_UNUSED(a, b, c) { return { $: '#3', a: a, b: b, c: c }; }\n\nfunction _Utils_chr(c) { return c; }\nfunction _Utils_chr_UNUSED(c) { return new String(c); }\n\n\n// RECORDS\n\nfunction _Utils_update(oldRecord, updatedFields)\n{\n\tvar newRecord = {};\n\n\tfor (var key in oldRecord)\n\t{\n\t\tnewRecord[key] = oldRecord[key];\n\t}\n\n\tfor (var key in updatedFields)\n\t{\n\t\tnewRecord[key] = updatedFields[key];\n\t}\n\n\treturn newRecord;\n}\n\n\n// APPEND\n\nvar _Utils_append = F2(_Utils_ap);\n\nfunction _Utils_ap(xs, ys)\n{\n\t// append Strings\n\tif (typeof xs === 'string')\n\t{\n\t\treturn xs + ys;\n\t}\n\n\t// append Lists\n\tif (!xs.b)\n\t{\n\t\treturn ys;\n\t}\n\tvar root = _List_Cons(xs.a, ys);\n\txs = xs.b\n\tfor (var curr = root; xs.b; xs = xs.b) // WHILE_CONS\n\t{\n\t\tcurr = curr.b = _List_Cons(xs.a, ys);\n\t}\n\treturn root;\n}\n\n\n\nvar _List_Nil = { $: 0 };\nvar _List_Nil_UNUSED = { $: '[]' };\n\nfunction _List_Cons(hd, tl) { return { $: 1, a: hd, b: tl }; }\nfunction _List_Cons_UNUSED(hd, tl) { return { $: '::', a: hd, b: tl }; }\n\n\nvar _List_cons = F2(_List_Cons);\n\nfunction _List_fromArray(arr)\n{\n\tvar out = _List_Nil;\n\tfor (var i = arr.length; i--; )\n\t{\n\t\tout = _List_Cons(arr[i], out);\n\t}\n\treturn out;\n}\n\nfunction _List_toArray(xs)\n{\n\tfor (var out = []; xs.b; xs = xs.b) // WHILE_CONS\n\t{\n\t\tout.push(xs.a);\n\t}\n\treturn out;\n}\n\nvar _List_map2 = F3(function(f, xs, ys)\n{\n\tfor (var arr = []; xs.b && ys.b; xs = xs.b, ys = ys.b) // WHILE_CONSES\n\t{\n\t\tarr.push(A2(f, xs.a, ys.a));\n\t}\n\treturn _List_fromArray(arr);\n});\n\nvar _List_map3 = F4(function(f, xs, ys, zs)\n{\n\tfor (var arr = []; xs.b && ys.b && zs.b; xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES\n\t{\n\t\tarr.push(A3(f, xs.a, ys.a, zs.a));\n\t}\n\treturn _List_fromArray(arr);\n});\n\nvar _List_map4 = F5(function(f, ws, xs, ys, zs)\n{\n\tfor (var arr = []; ws.b && xs.b && ys.b && zs.b; ws = ws.b, xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES\n\t{\n\t\tarr.push(A4(f, ws.a, xs.a, ys.a, zs.a));\n\t}\n\treturn _List_fromArray(arr);\n});\n\nvar _List_map5 = F6(function(f, vs, ws, xs, ys, zs)\n{\n\tfor (var arr = []; vs.b && ws.b && xs.b && ys.b && zs.b; vs = vs.b, ws = ws.b, xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES\n\t{\n\t\tarr.push(A5(f, vs.a, ws.a, xs.a, ys.a, zs.a));\n\t}\n\treturn _List_fromArray(arr);\n});\n\nvar _List_sortBy = F2(function(f, xs)\n{\n\treturn _List_fromArray(_List_toArray(xs).sort(function(a, b) {\n\t\treturn _Utils_cmp(f(a), f(b));\n\t}));\n});\n\nvar _List_sortWith = F2(function(f, xs)\n{\n\treturn _List_fromArray(_List_toArray(xs).sort(function(a, b) {\n\t\tvar ord = A2(f, a, b);\n\t\treturn ord === $elm$core$Basics$EQ ? 0 : ord === $elm$core$Basics$LT ? -1 : 1;\n\t}));\n});\n\n\n\n// MATH\n\nvar _Basics_add = F2(function(a, b) { return a + b; });\nvar _Basics_sub = F2(function(a, b) { return a - b; });\nvar _Basics_mul = F2(function(a, b) { return a * b; });\nvar _Basics_fdiv = F2(function(a, b) { return a / b; });\nvar _Basics_idiv = F2(function(a, b) { return (a / b) | 0; });\nvar _Basics_pow = F2(Math.pow);\n\nvar _Basics_remainderBy = F2(function(b, a) { return a % b; });\n\n// https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/divmodnote-letter.pdf\nvar _Basics_modBy = F2(function(modulus, x)\n{\n\tvar answer = x % modulus;\n\treturn modulus === 0\n\t\t? _Debug_crash(11)\n\t\t:\n\t((answer > 0 && modulus < 0) || (answer < 0 && modulus > 0))\n\t\t? answer + modulus\n\t\t: answer;\n});\n\n\n// TRIGONOMETRY\n\nvar _Basics_pi = Math.PI;\nvar _Basics_e = Math.E;\nvar _Basics_cos = Math.cos;\nvar _Basics_sin = Math.sin;\nvar _Basics_tan = Math.tan;\nvar _Basics_acos = Math.acos;\nvar _Basics_asin = Math.asin;\nvar _Basics_atan = Math.atan;\nvar _Basics_atan2 = F2(Math.atan2);\n\n\n// MORE MATH\n\nfunction _Basics_toFloat(x) { return x; }\nfunction _Basics_truncate(n) { return n | 0; }\nfunction _Basics_isInfinite(n) { return n === Infinity || n === -Infinity; }\n\nvar _Basics_ceiling = Math.ceil;\nvar _Basics_floor = Math.floor;\nvar _Basics_round = Math.round;\nvar _Basics_sqrt = Math.sqrt;\nvar _Basics_log = Math.log;\nvar _Basics_isNaN = isNaN;\n\n\n// BOOLEANS\n\nfunction _Basics_not(bool) { return !bool; }\nvar _Basics_and = F2(function(a, b) { return a && b; });\nvar _Basics_or = F2(function(a, b) { return a || b; });\nvar _Basics_xor = F2(function(a, b) { return a !== b; });\n\n\n\nvar _String_cons = F2(function(chr, str)\n{\n\treturn chr + str;\n});\n\nfunction _String_uncons(string)\n{\n\tvar word = string.charCodeAt(0);\n\treturn word\n\t\t? $elm$core$Maybe$Just(\n\t\t\t0xD800 <= word && word <= 0xDBFF\n\t\t\t\t? _Utils_Tuple2(_Utils_chr(string[0] + string[1]), string.slice(2))\n\t\t\t\t: _Utils_Tuple2(_Utils_chr(string[0]), string.slice(1))\n\t\t)\n\t\t: $elm$core$Maybe$Nothing;\n}\n\nvar _String_append = F2(function(a, b)\n{\n\treturn a + b;\n});\n\nfunction _String_length(str)\n{\n\treturn str.length;\n}\n\nvar _String_map = F2(function(func, string)\n{\n\tvar len = string.length;\n\tvar array = new Array(len);\n\tvar i = 0;\n\twhile (i < len)\n\t{\n\t\tvar word = string.charCodeAt(i);\n\t\tif (0xD800 <= word && word <= 0xDBFF)\n\t\t{\n\t\t\tarray[i] = func(_Utils_chr(string[i] + string[i+1]));\n\t\t\ti += 2;\n\t\t\tcontinue;\n\t\t}\n\t\tarray[i] = func(_Utils_chr(string[i]));\n\t\ti++;\n\t}\n\treturn array.join('');\n});\n\nvar _String_filter = F2(function(isGood, str)\n{\n\tvar arr = [];\n\tvar len = str.length;\n\tvar i = 0;\n\twhile (i < len)\n\t{\n\t\tvar char = str[i];\n\t\tvar word = str.charCodeAt(i);\n\t\ti++;\n\t\tif (0xD800 <= word && word <= 0xDBFF)\n\t\t{\n\t\t\tchar += str[i];\n\t\t\ti++;\n\t\t}\n\n\t\tif (isGood(_Utils_chr(char)))\n\t\t{\n\t\t\tarr.push(char);\n\t\t}\n\t}\n\treturn arr.join('');\n});\n\nfunction _String_reverse(str)\n{\n\tvar len = str.length;\n\tvar arr = new Array(len);\n\tvar i = 0;\n\twhile (i < len)\n\t{\n\t\tvar word = str.charCodeAt(i);\n\t\tif (0xD800 <= word && word <= 0xDBFF)\n\t\t{\n\t\t\tarr[len - i] = str[i + 1];\n\t\t\ti++;\n\t\t\tarr[len - i] = str[i - 1];\n\t\t\ti++;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tarr[len - i] = str[i];\n\t\t\ti++;\n\t\t}\n\t}\n\treturn arr.join('');\n}\n\nvar _String_foldl = F3(function(func, state, string)\n{\n\tvar len = string.length;\n\tvar i = 0;\n\twhile (i < len)\n\t{\n\t\tvar char = string[i];\n\t\tvar word = string.charCodeAt(i);\n\t\ti++;\n\t\tif (0xD800 <= word && word <= 0xDBFF)\n\t\t{\n\t\t\tchar += string[i];\n\t\t\ti++;\n\t\t}\n\t\tstate = A2(func, _Utils_chr(char), state);\n\t}\n\treturn state;\n});\n\nvar _String_foldr = F3(function(func, state, string)\n{\n\tvar i = string.length;\n\twhile (i--)\n\t{\n\t\tvar char = string[i];\n\t\tvar word = string.charCodeAt(i);\n\t\tif (0xDC00 <= word && word <= 0xDFFF)\n\t\t{\n\t\t\ti--;\n\t\t\tchar = string[i] + char;\n\t\t}\n\t\tstate = A2(func, _Utils_chr(char), state);\n\t}\n\treturn state;\n});\n\nvar _String_split = F2(function(sep, str)\n{\n\treturn str.split(sep);\n});\n\nvar _String_join = F2(function(sep, strs)\n{\n\treturn strs.join(sep);\n});\n\nvar _String_slice = F3(function(start, end, str) {\n\treturn str.slice(start, end);\n});\n\nfunction _String_trim(str)\n{\n\treturn str.trim();\n}\n\nfunction _String_trimLeft(str)\n{\n\treturn str.replace(/^\\s+/, '');\n}\n\nfunction _String_trimRight(str)\n{\n\treturn str.replace(/\\s+$/, '');\n}\n\nfunction _String_words(str)\n{\n\treturn _List_fromArray(str.trim().split(/\\s+/g));\n}\n\nfunction _String_lines(str)\n{\n\treturn _List_fromArray(str.split(/\\r\\n|\\r|\\n/g));\n}\n\nfunction _String_toUpper(str)\n{\n\treturn str.toUpperCase();\n}\n\nfunction _String_toLower(str)\n{\n\treturn str.toLowerCase();\n}\n\nvar _String_any = F2(function(isGood, string)\n{\n\tvar i = string.length;\n\twhile (i--)\n\t{\n\t\tvar char = string[i];\n\t\tvar word = string.charCodeAt(i);\n\t\tif (0xDC00 <= word && word <= 0xDFFF)\n\t\t{\n\t\t\ti--;\n\t\t\tchar = string[i] + char;\n\t\t}\n\t\tif (isGood(_Utils_chr(char)))\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n});\n\nvar _String_all = F2(function(isGood, string)\n{\n\tvar i = string.length;\n\twhile (i--)\n\t{\n\t\tvar char = string[i];\n\t\tvar word = string.charCodeAt(i);\n\t\tif (0xDC00 <= word && word <= 0xDFFF)\n\t\t{\n\t\t\ti--;\n\t\t\tchar = string[i] + char;\n\t\t}\n\t\tif (!isGood(_Utils_chr(char)))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n});\n\nvar _String_contains = F2(function(sub, str)\n{\n\treturn str.indexOf(sub) > -1;\n});\n\nvar _String_startsWith = F2(function(sub, str)\n{\n\treturn str.indexOf(sub) === 0;\n});\n\nvar _String_endsWith = F2(function(sub, str)\n{\n\treturn str.length >= sub.length &&\n\t\tstr.lastIndexOf(sub) === str.length - sub.length;\n});\n\nvar _String_indexes = F2(function(sub, str)\n{\n\tvar subLen = sub.length;\n\n\tif (subLen < 1)\n\t{\n\t\treturn _List_Nil;\n\t}\n\n\tvar i = 0;\n\tvar is = [];\n\n\twhile ((i = str.indexOf(sub, i)) > -1)\n\t{\n\t\tis.push(i);\n\t\ti = i + subLen;\n\t}\n\n\treturn _List_fromArray(is);\n});\n\n\n// TO STRING\n\nfunction _String_fromNumber(number)\n{\n\treturn number + '';\n}\n\n\n// INT CONVERSIONS\n\nfunction _String_toInt(str)\n{\n\tvar total = 0;\n\tvar code0 = str.charCodeAt(0);\n\tvar start = code0 == 0x2B /* + */ || code0 == 0x2D /* - */ ? 1 : 0;\n\n\tfor (var i = start; i < str.length; ++i)\n\t{\n\t\tvar code = str.charCodeAt(i);\n\t\tif (code < 0x30 || 0x39 < code)\n\t\t{\n\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t}\n\t\ttotal = 10 * total + code - 0x30;\n\t}\n\n\treturn i == start\n\t\t? $elm$core$Maybe$Nothing\n\t\t: $elm$core$Maybe$Just(code0 == 0x2D ? -total : total);\n}\n\n\n// FLOAT CONVERSIONS\n\nfunction _String_toFloat(s)\n{\n\t// check if it is a hex, octal, or binary number\n\tif (s.length === 0 || /[\\sxbo]/.test(s))\n\t{\n\t\treturn $elm$core$Maybe$Nothing;\n\t}\n\tvar n = +s;\n\t// faster isNaN check\n\treturn n === n ? $elm$core$Maybe$Just(n) : $elm$core$Maybe$Nothing;\n}\n\nfunction _String_fromList(chars)\n{\n\treturn _List_toArray(chars).join('');\n}\n\n\n\n\nfunction _Char_toCode(char)\n{\n\tvar code = char.charCodeAt(0);\n\tif (0xD800 <= code && code <= 0xDBFF)\n\t{\n\t\treturn (code - 0xD800) * 0x400 + char.charCodeAt(1) - 0xDC00 + 0x10000\n\t}\n\treturn code;\n}\n\nfunction _Char_fromCode(code)\n{\n\treturn _Utils_chr(\n\t\t(code < 0 || 0x10FFFF < code)\n\t\t\t? '\\uFFFD'\n\t\t\t:\n\t\t(code <= 0xFFFF)\n\t\t\t? String.fromCharCode(code)\n\t\t\t:\n\t\t(code -= 0x10000,\n\t\t\tString.fromCharCode(Math.floor(code / 0x400) + 0xD800)\n\t\t\t+\n\t\t\tString.fromCharCode(code % 0x400 + 0xDC00)\n\t\t)\n\t);\n}\n\nfunction _Char_toUpper(char)\n{\n\treturn _Utils_chr(char.toUpperCase());\n}\n\nfunction _Char_toLower(char)\n{\n\treturn _Utils_chr(char.toLowerCase());\n}\n\nfunction _Char_toLocaleUpper(char)\n{\n\treturn _Utils_chr(char.toLocaleUpperCase());\n}\n\nfunction _Char_toLocaleLower(char)\n{\n\treturn _Utils_chr(char.toLocaleLowerCase());\n}\n\n\n\n/**_UNUSED/\nfunction _Json_errorToString(error)\n{\n\treturn $elm$json$Json$Decode$errorToString(error);\n}\n//*/\n\n\n// CORE DECODERS\n\nfunction _Json_succeed(msg)\n{\n\treturn {\n\t\t$: 0,\n\t\ta: msg\n\t};\n}\n\nfunction _Json_fail(msg)\n{\n\treturn {\n\t\t$: 1,\n\t\ta: msg\n\t};\n}\n\nvar _Json_decodeInt = { $: 2 };\nvar _Json_decodeBool = { $: 3 };\nvar _Json_decodeFloat = { $: 4 };\nvar _Json_decodeValue = { $: 5 };\nvar _Json_decodeString = { $: 6 };\n\nfunction _Json_decodeList(decoder) { return { $: 7, b: decoder }; }\nfunction _Json_decodeArray(decoder) { return { $: 8, b: decoder }; }\n\nfunction _Json_decodeNull(value) { return { $: 9, c: value }; }\n\nvar _Json_decodeField = F2(function(field, decoder)\n{\n\treturn {\n\t\t$: 10,\n\t\td: field,\n\t\tb: decoder\n\t};\n});\n\nvar _Json_decodeIndex = F2(function(index, decoder)\n{\n\treturn {\n\t\t$: 11,\n\t\te: index,\n\t\tb: decoder\n\t};\n});\n\nfunction _Json_decodeKeyValuePairs(decoder)\n{\n\treturn {\n\t\t$: 12,\n\t\tb: decoder\n\t};\n}\n\nfunction _Json_mapMany(f, decoders)\n{\n\treturn {\n\t\t$: 13,\n\t\tf: f,\n\t\tg: decoders\n\t};\n}\n\nvar _Json_andThen = F2(function(callback, decoder)\n{\n\treturn {\n\t\t$: 14,\n\t\tb: decoder,\n\t\th: callback\n\t};\n});\n\nfunction _Json_oneOf(decoders)\n{\n\treturn {\n\t\t$: 15,\n\t\tg: decoders\n\t};\n}\n\n\n// DECODING OBJECTS\n\nvar _Json_map1 = F2(function(f, d1)\n{\n\treturn _Json_mapMany(f, [d1]);\n});\n\nvar _Json_map2 = F3(function(f, d1, d2)\n{\n\treturn _Json_mapMany(f, [d1, d2]);\n});\n\nvar _Json_map3 = F4(function(f, d1, d2, d3)\n{\n\treturn _Json_mapMany(f, [d1, d2, d3]);\n});\n\nvar _Json_map4 = F5(function(f, d1, d2, d3, d4)\n{\n\treturn _Json_mapMany(f, [d1, d2, d3, d4]);\n});\n\nvar _Json_map5 = F6(function(f, d1, d2, d3, d4, d5)\n{\n\treturn _Json_mapMany(f, [d1, d2, d3, d4, d5]);\n});\n\nvar _Json_map6 = F7(function(f, d1, d2, d3, d4, d5, d6)\n{\n\treturn _Json_mapMany(f, [d1, d2, d3, d4, d5, d6]);\n});\n\nvar _Json_map7 = F8(function(f, d1, d2, d3, d4, d5, d6, d7)\n{\n\treturn _Json_mapMany(f, [d1, d2, d3, d4, d5, d6, d7]);\n});\n\nvar _Json_map8 = F9(function(f, d1, d2, d3, d4, d5, d6, d7, d8)\n{\n\treturn _Json_mapMany(f, [d1, d2, d3, d4, d5, d6, d7, d8]);\n});\n\n\n// DECODE\n\nvar _Json_runOnString = F2(function(decoder, string)\n{\n\ttry\n\t{\n\t\tvar value = JSON.parse(string);\n\t\treturn _Json_runHelp(decoder, value);\n\t}\n\tcatch (e)\n\t{\n\t\treturn $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, 'This is not valid JSON! ' + e.message, _Json_wrap(string)));\n\t}\n});\n\nvar _Json_run = F2(function(decoder, value)\n{\n\treturn _Json_runHelp(decoder, _Json_unwrap(value));\n});\n\nfunction _Json_runHelp(decoder, value)\n{\n\tswitch (decoder.$)\n\t{\n\t\tcase 3:\n\t\t\treturn (typeof value === 'boolean')\n\t\t\t\t? $elm$core$Result$Ok(value)\n\t\t\t\t: _Json_expecting('a BOOL', value);\n\n\t\tcase 2:\n\t\t\tif (typeof value !== 'number') {\n\t\t\t\treturn _Json_expecting('an INT', value);\n\t\t\t}\n\n\t\t\tif (-2147483647 < value && value < 2147483647 && (value | 0) === value) {\n\t\t\t\treturn $elm$core$Result$Ok(value);\n\t\t\t}\n\n\t\t\tif (isFinite(value) && !(value % 1)) {\n\t\t\t\treturn $elm$core$Result$Ok(value);\n\t\t\t}\n\n\t\t\treturn _Json_expecting('an INT', value);\n\n\t\tcase 4:\n\t\t\treturn (typeof value === 'number')\n\t\t\t\t? $elm$core$Result$Ok(value)\n\t\t\t\t: _Json_expecting('a FLOAT', value);\n\n\t\tcase 6:\n\t\t\treturn (typeof value === 'string')\n\t\t\t\t? $elm$core$Result$Ok(value)\n\t\t\t\t: (value instanceof String)\n\t\t\t\t\t? $elm$core$Result$Ok(value + '')\n\t\t\t\t\t: _Json_expecting('a STRING', value);\n\n\t\tcase 9:\n\t\t\treturn (value === null)\n\t\t\t\t? $elm$core$Result$Ok(decoder.c)\n\t\t\t\t: _Json_expecting('null', value);\n\n\t\tcase 5:\n\t\t\treturn $elm$core$Result$Ok(_Json_wrap(value));\n\n\t\tcase 7:\n\t\t\tif (!Array.isArray(value))\n\t\t\t{\n\t\t\t\treturn _Json_expecting('a LIST', value);\n\t\t\t}\n\t\t\treturn _Json_runArrayDecoder(decoder.b, value, _List_fromArray);\n\n\t\tcase 8:\n\t\t\tif (!Array.isArray(value))\n\t\t\t{\n\t\t\t\treturn _Json_expecting('an ARRAY', value);\n\t\t\t}\n\t\t\treturn _Json_runArrayDecoder(decoder.b, value, _Json_toElmArray);\n\n\t\tcase 10:\n\t\t\tvar field = decoder.d;\n\t\t\tif (typeof value !== 'object' || value === null || !(field in value))\n\t\t\t{\n\t\t\t\treturn _Json_expecting('an OBJECT with a field named `' + field + '`', value);\n\t\t\t}\n\t\t\tvar result = _Json_runHelp(decoder.b, value[field]);\n\t\t\treturn ($elm$core$Result$isOk(result)) ? result : $elm$core$Result$Err(A2($elm$json$Json$Decode$Field, field, result.a));\n\n\t\tcase 11:\n\t\t\tvar index = decoder.e;\n\t\t\tif (!Array.isArray(value))\n\t\t\t{\n\t\t\t\treturn _Json_expecting('an ARRAY', value);\n\t\t\t}\n\t\t\tif (index >= value.length)\n\t\t\t{\n\t\t\t\treturn _Json_expecting('a LONGER array. Need index ' + index + ' but only see ' + value.length + ' entries', value);\n\t\t\t}\n\t\t\tvar result = _Json_runHelp(decoder.b, value[index]);\n\t\t\treturn ($elm$core$Result$isOk(result)) ? result : $elm$core$Result$Err(A2($elm$json$Json$Decode$Index, index, result.a));\n\n\t\tcase 12:\n\t\t\tif (typeof value !== 'object' || value === null || Array.isArray(value))\n\t\t\t{\n\t\t\t\treturn _Json_expecting('an OBJECT', value);\n\t\t\t}\n\n\t\t\tvar keyValuePairs = _List_Nil;\n\t\t\t// TODO test perf of Object.keys and switch when support is good enough\n\t\t\tfor (var key in value)\n\t\t\t{\n\t\t\t\tif (value.hasOwnProperty(key))\n\t\t\t\t{\n\t\t\t\t\tvar result = _Json_runHelp(decoder.b, value[key]);\n\t\t\t\t\tif (!$elm$core$Result$isOk(result))\n\t\t\t\t\t{\n\t\t\t\t\t\treturn $elm$core$Result$Err(A2($elm$json$Json$Decode$Field, key, result.a));\n\t\t\t\t\t}\n\t\t\t\t\tkeyValuePairs = _List_Cons(_Utils_Tuple2(key, result.a), keyValuePairs);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn $elm$core$Result$Ok($elm$core$List$reverse(keyValuePairs));\n\n\t\tcase 13:\n\t\t\tvar answer = decoder.f;\n\t\t\tvar decoders = decoder.g;\n\t\t\tfor (var i = 0; i < decoders.length; i++)\n\t\t\t{\n\t\t\t\tvar result = _Json_runHelp(decoders[i], value);\n\t\t\t\tif (!$elm$core$Result$isOk(result))\n\t\t\t\t{\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t\tanswer = answer(result.a);\n\t\t\t}\n\t\t\treturn $elm$core$Result$Ok(answer);\n\n\t\tcase 14:\n\t\t\tvar result = _Json_runHelp(decoder.b, value);\n\t\t\treturn (!$elm$core$Result$isOk(result))\n\t\t\t\t? result\n\t\t\t\t: _Json_runHelp(decoder.h(result.a), value);\n\n\t\tcase 15:\n\t\t\tvar errors = _List_Nil;\n\t\t\tfor (var temp = decoder.g; temp.b; temp = temp.b) // WHILE_CONS\n\t\t\t{\n\t\t\t\tvar result = _Json_runHelp(temp.a, value);\n\t\t\t\tif ($elm$core$Result$isOk(result))\n\t\t\t\t{\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t\terrors = _List_Cons(result.a, errors);\n\t\t\t}\n\t\t\treturn $elm$core$Result$Err($elm$json$Json$Decode$OneOf($elm$core$List$reverse(errors)));\n\n\t\tcase 1:\n\t\t\treturn $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, decoder.a, _Json_wrap(value)));\n\n\t\tcase 0:\n\t\t\treturn $elm$core$Result$Ok(decoder.a);\n\t}\n}\n\nfunction _Json_runArrayDecoder(decoder, value, toElmValue)\n{\n\tvar len = value.length;\n\tvar array = new Array(len);\n\tfor (var i = 0; i < len; i++)\n\t{\n\t\tvar result = _Json_runHelp(decoder, value[i]);\n\t\tif (!$elm$core$Result$isOk(result))\n\t\t{\n\t\t\treturn $elm$core$Result$Err(A2($elm$json$Json$Decode$Index, i, result.a));\n\t\t}\n\t\tarray[i] = result.a;\n\t}\n\treturn $elm$core$Result$Ok(toElmValue(array));\n}\n\nfunction _Json_toElmArray(array)\n{\n\treturn A2($elm$core$Array$initialize, array.length, function(i) { return array[i]; });\n}\n\nfunction _Json_expecting(type, value)\n{\n\treturn $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, 'Expecting ' + type, _Json_wrap(value)));\n}\n\n\n// EQUALITY\n\nfunction _Json_equality(x, y)\n{\n\tif (x === y)\n\t{\n\t\treturn true;\n\t}\n\n\tif (x.$ !== y.$)\n\t{\n\t\treturn false;\n\t}\n\n\tswitch (x.$)\n\t{\n\t\tcase 0:\n\t\tcase 1:\n\t\t\treturn x.a === y.a;\n\n\t\tcase 3:\n\t\tcase 2:\n\t\tcase 4:\n\t\tcase 6:\n\t\tcase 5:\n\t\t\treturn true;\n\n\t\tcase 9:\n\t\t\treturn x.c === y.c;\n\n\t\tcase 7:\n\t\tcase 8:\n\t\tcase 12:\n\t\t\treturn _Json_equality(x.b, y.b);\n\n\t\tcase 10:\n\t\t\treturn x.d === y.d && _Json_equality(x.b, y.b);\n\n\t\tcase 11:\n\t\t\treturn x.e === y.e && _Json_equality(x.b, y.b);\n\n\t\tcase 13:\n\t\t\treturn x.f === y.f && _Json_listEquality(x.g, y.g);\n\n\t\tcase 14:\n\t\t\treturn x.h === y.h && _Json_equality(x.b, y.b);\n\n\t\tcase 15:\n\t\t\treturn _Json_listEquality(x.g, y.g);\n\t}\n}\n\nfunction _Json_listEquality(aDecoders, bDecoders)\n{\n\tvar len = aDecoders.length;\n\tif (len !== bDecoders.length)\n\t{\n\t\treturn false;\n\t}\n\tfor (var i = 0; i < len; i++)\n\t{\n\t\tif (!_Json_equality(aDecoders[i], bDecoders[i]))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n\n// ENCODE\n\nvar _Json_encode = F2(function(indentLevel, value)\n{\n\treturn JSON.stringify(_Json_unwrap(value), null, indentLevel) + '';\n});\n\nfunction _Json_wrap_UNUSED(value) { return { $: 0, a: value }; }\nfunction _Json_unwrap_UNUSED(value) { return value.a; }\n\nfunction _Json_wrap(value) { return value; }\nfunction _Json_unwrap(value) { return value; }\n\nfunction _Json_emptyArray() { return []; }\nfunction _Json_emptyObject() { return {}; }\n\nvar _Json_addField = F3(function(key, value, object)\n{\n\tobject[key] = _Json_unwrap(value);\n\treturn object;\n});\n\nfunction _Json_addEntry(func)\n{\n\treturn F2(function(entry, array)\n\t{\n\t\tarray.push(_Json_unwrap(func(entry)));\n\t\treturn array;\n\t});\n}\n\nvar _Json_encodeNull = _Json_wrap(null);\n\n\n\n// TASKS\n\nfunction _Scheduler_succeed(value)\n{\n\treturn {\n\t\t$: 0,\n\t\ta: value\n\t};\n}\n\nfunction _Scheduler_fail(error)\n{\n\treturn {\n\t\t$: 1,\n\t\ta: error\n\t};\n}\n\nfunction _Scheduler_binding(callback)\n{\n\treturn {\n\t\t$: 2,\n\t\tb: callback,\n\t\tc: null\n\t};\n}\n\nvar _Scheduler_andThen = F2(function(callback, task)\n{\n\treturn {\n\t\t$: 3,\n\t\tb: callback,\n\t\td: task\n\t};\n});\n\nvar _Scheduler_onError = F2(function(callback, task)\n{\n\treturn {\n\t\t$: 4,\n\t\tb: callback,\n\t\td: task\n\t};\n});\n\nfunction _Scheduler_receive(callback)\n{\n\treturn {\n\t\t$: 5,\n\t\tb: callback\n\t};\n}\n\n\n// PROCESSES\n\nvar _Scheduler_guid = 0;\n\nfunction _Scheduler_rawSpawn(task)\n{\n\tvar proc = {\n\t\t$: 0,\n\t\te: _Scheduler_guid++,\n\t\tf: task,\n\t\tg: null,\n\t\th: []\n\t};\n\n\t_Scheduler_enqueue(proc);\n\n\treturn proc;\n}\n\nfunction _Scheduler_spawn(task)\n{\n\treturn _Scheduler_binding(function(callback) {\n\t\tcallback(_Scheduler_succeed(_Scheduler_rawSpawn(task)));\n\t});\n}\n\nfunction _Scheduler_rawSend(proc, msg)\n{\n\tproc.h.push(msg);\n\t_Scheduler_enqueue(proc);\n}\n\nvar _Scheduler_send = F2(function(proc, msg)\n{\n\treturn _Scheduler_binding(function(callback) {\n\t\t_Scheduler_rawSend(proc, msg);\n\t\tcallback(_Scheduler_succeed(_Utils_Tuple0));\n\t});\n});\n\nfunction _Scheduler_kill(proc)\n{\n\treturn _Scheduler_binding(function(callback) {\n\t\tvar task = proc.f;\n\t\tif (task.$ === 2 && task.c)\n\t\t{\n\t\t\ttask.c();\n\t\t}\n\n\t\tproc.f = null;\n\n\t\tcallback(_Scheduler_succeed(_Utils_Tuple0));\n\t});\n}\n\n\n/* STEP PROCESSES\n\ntype alias Process =\n { $ : tag\n , id : unique_id\n , root : Task\n , stack : null | { $: SUCCEED | FAIL, a: callback, b: stack }\n , mailbox : [msg]\n }\n\n*/\n\n\nvar _Scheduler_working = false;\nvar _Scheduler_queue = [];\n\n\nfunction _Scheduler_enqueue(proc)\n{\n\t_Scheduler_queue.push(proc);\n\tif (_Scheduler_working)\n\t{\n\t\treturn;\n\t}\n\t_Scheduler_working = true;\n\twhile (proc = _Scheduler_queue.shift())\n\t{\n\t\t_Scheduler_step(proc);\n\t}\n\t_Scheduler_working = false;\n}\n\n\nfunction _Scheduler_step(proc)\n{\n\twhile (proc.f)\n\t{\n\t\tvar rootTag = proc.f.$;\n\t\tif (rootTag === 0 || rootTag === 1)\n\t\t{\n\t\t\twhile (proc.g && proc.g.$ !== rootTag)\n\t\t\t{\n\t\t\t\tproc.g = proc.g.i;\n\t\t\t}\n\t\t\tif (!proc.g)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tproc.f = proc.g.b(proc.f.a);\n\t\t\tproc.g = proc.g.i;\n\t\t}\n\t\telse if (rootTag === 2)\n\t\t{\n\t\t\tproc.f.c = proc.f.b(function(newRoot) {\n\t\t\t\tproc.f = newRoot;\n\t\t\t\t_Scheduler_enqueue(proc);\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\telse if (rootTag === 5)\n\t\t{\n\t\t\tif (proc.h.length === 0)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tproc.f = proc.f.b(proc.h.shift());\n\t\t}\n\t\telse // if (rootTag === 3 || rootTag === 4)\n\t\t{\n\t\t\tproc.g = {\n\t\t\t\t$: rootTag === 3 ? 0 : 1,\n\t\t\t\tb: proc.f.b,\n\t\t\t\ti: proc.g\n\t\t\t};\n\t\t\tproc.f = proc.f.d;\n\t\t}\n\t}\n}\n\n\n\nfunction _Process_sleep(time)\n{\n\treturn _Scheduler_binding(function(callback) {\n\t\tvar id = setTimeout(function() {\n\t\t\tcallback(_Scheduler_succeed(_Utils_Tuple0));\n\t\t}, time);\n\n\t\treturn function() { clearTimeout(id); };\n\t});\n}\n\n\n\n\n// PROGRAMS\n\n\nvar _Platform_worker = F4(function(impl, flagDecoder, debugMetadata, args)\n{\n\treturn _Platform_initialize(\n\t\tflagDecoder,\n\t\targs,\n\t\timpl.aJ,\n\t\timpl.aU,\n\t\timpl.aS,\n\t\tfunction() { return function() {} }\n\t);\n});\n\n\n\n// INITIALIZE A PROGRAM\n\n\nfunction _Platform_initialize(flagDecoder, args, init, update, subscriptions, stepperBuilder)\n{\n\tvar result = A2(_Json_run, flagDecoder, _Json_wrap(args ? args['flags'] : undefined));\n\t$elm$core$Result$isOk(result) || _Debug_crash(2 /**_UNUSED/, _Json_errorToString(result.a) /**/);\n\tvar managers = {};\n\tresult = init(result.a);\n\tvar model = result.a;\n\tvar stepper = stepperBuilder(sendToApp, model);\n\tvar ports = _Platform_setupEffects(managers, sendToApp);\n\n\tfunction sendToApp(msg, viewMetadata)\n\t{\n\t\tresult = A2(update, msg, model);\n\t\tstepper(model = result.a, viewMetadata);\n\t\t_Platform_dispatchEffects(managers, result.b, subscriptions(model));\n\t}\n\n\t_Platform_dispatchEffects(managers, result.b, subscriptions(model));\n\n\treturn ports ? { ports: ports } : {};\n}\n\n\n\n// TRACK PRELOADS\n//\n// This is used by code in elm/browser and elm/http\n// to register any HTTP requests that are triggered by init.\n//\n\n\nvar _Platform_preload;\n\n\nfunction _Platform_registerPreload(url)\n{\n\t_Platform_preload.add(url);\n}\n\n\n\n// EFFECT MANAGERS\n\n\nvar _Platform_effectManagers = {};\n\n\nfunction _Platform_setupEffects(managers, sendToApp)\n{\n\tvar ports;\n\n\t// setup all necessary effect managers\n\tfor (var key in _Platform_effectManagers)\n\t{\n\t\tvar manager = _Platform_effectManagers[key];\n\n\t\tif (manager.a)\n\t\t{\n\t\t\tports = ports || {};\n\t\t\tports[key] = manager.a(key, sendToApp);\n\t\t}\n\n\t\tmanagers[key] = _Platform_instantiateManager(manager, sendToApp);\n\t}\n\n\treturn ports;\n}\n\n\nfunction _Platform_createManager(init, onEffects, onSelfMsg, cmdMap, subMap)\n{\n\treturn {\n\t\tb: init,\n\t\tc: onEffects,\n\t\td: onSelfMsg,\n\t\te: cmdMap,\n\t\tf: subMap\n\t};\n}\n\n\nfunction _Platform_instantiateManager(info, sendToApp)\n{\n\tvar router = {\n\t\tg: sendToApp,\n\t\th: undefined\n\t};\n\n\tvar onEffects = info.c;\n\tvar onSelfMsg = info.d;\n\tvar cmdMap = info.e;\n\tvar subMap = info.f;\n\n\tfunction loop(state)\n\t{\n\t\treturn A2(_Scheduler_andThen, loop, _Scheduler_receive(function(msg)\n\t\t{\n\t\t\tvar value = msg.a;\n\n\t\t\tif (msg.$ === 0)\n\t\t\t{\n\t\t\t\treturn A3(onSelfMsg, router, value, state);\n\t\t\t}\n\n\t\t\treturn cmdMap && subMap\n\t\t\t\t? A4(onEffects, router, value.i, value.j, state)\n\t\t\t\t: A3(onEffects, router, cmdMap ? value.i : value.j, state);\n\t\t}));\n\t}\n\n\treturn router.h = _Scheduler_rawSpawn(A2(_Scheduler_andThen, loop, info.b));\n}\n\n\n\n// ROUTING\n\n\nvar _Platform_sendToApp = F2(function(router, msg)\n{\n\treturn _Scheduler_binding(function(callback)\n\t{\n\t\trouter.g(msg);\n\t\tcallback(_Scheduler_succeed(_Utils_Tuple0));\n\t});\n});\n\n\nvar _Platform_sendToSelf = F2(function(router, msg)\n{\n\treturn A2(_Scheduler_send, router.h, {\n\t\t$: 0,\n\t\ta: msg\n\t});\n});\n\n\n\n// BAGS\n\n\nfunction _Platform_leaf(home)\n{\n\treturn function(value)\n\t{\n\t\treturn {\n\t\t\t$: 1,\n\t\t\tk: home,\n\t\t\tl: value\n\t\t};\n\t};\n}\n\n\nfunction _Platform_batch(list)\n{\n\treturn {\n\t\t$: 2,\n\t\tm: list\n\t};\n}\n\n\nvar _Platform_map = F2(function(tagger, bag)\n{\n\treturn {\n\t\t$: 3,\n\t\tn: tagger,\n\t\to: bag\n\t}\n});\n\n\n\n// PIPE BAGS INTO EFFECT MANAGERS\n\n\nfunction _Platform_dispatchEffects(managers, cmdBag, subBag)\n{\n\tvar effectsDict = {};\n\t_Platform_gatherEffects(true, cmdBag, effectsDict, null);\n\t_Platform_gatherEffects(false, subBag, effectsDict, null);\n\n\tfor (var home in managers)\n\t{\n\t\t_Scheduler_rawSend(managers[home], {\n\t\t\t$: 'fx',\n\t\t\ta: effectsDict[home] || { i: _List_Nil, j: _List_Nil }\n\t\t});\n\t}\n}\n\n\nfunction _Platform_gatherEffects(isCmd, bag, effectsDict, taggers)\n{\n\tswitch (bag.$)\n\t{\n\t\tcase 1:\n\t\t\tvar home = bag.k;\n\t\t\tvar effect = _Platform_toEffect(isCmd, home, taggers, bag.l);\n\t\t\teffectsDict[home] = _Platform_insert(isCmd, effect, effectsDict[home]);\n\t\t\treturn;\n\n\t\tcase 2:\n\t\t\tfor (var list = bag.m; list.b; list = list.b) // WHILE_CONS\n\t\t\t{\n\t\t\t\t_Platform_gatherEffects(isCmd, list.a, effectsDict, taggers);\n\t\t\t}\n\t\t\treturn;\n\n\t\tcase 3:\n\t\t\t_Platform_gatherEffects(isCmd, bag.o, effectsDict, {\n\t\t\t\tp: bag.n,\n\t\t\t\tq: taggers\n\t\t\t});\n\t\t\treturn;\n\t}\n}\n\n\nfunction _Platform_toEffect(isCmd, home, taggers, value)\n{\n\tfunction applyTaggers(x)\n\t{\n\t\tfor (var temp = taggers; temp; temp = temp.q)\n\t\t{\n\t\t\tx = temp.p(x);\n\t\t}\n\t\treturn x;\n\t}\n\n\tvar map = isCmd\n\t\t? _Platform_effectManagers[home].e\n\t\t: _Platform_effectManagers[home].f;\n\n\treturn A2(map, applyTaggers, value)\n}\n\n\nfunction _Platform_insert(isCmd, newEffect, effects)\n{\n\teffects = effects || { i: _List_Nil, j: _List_Nil };\n\n\tisCmd\n\t\t? (effects.i = _List_Cons(newEffect, effects.i))\n\t\t: (effects.j = _List_Cons(newEffect, effects.j));\n\n\treturn effects;\n}\n\n\n\n// PORTS\n\n\nfunction _Platform_checkPortName(name)\n{\n\tif (_Platform_effectManagers[name])\n\t{\n\t\t_Debug_crash(3, name)\n\t}\n}\n\n\n\n// OUTGOING PORTS\n\n\nfunction _Platform_outgoingPort(name, converter)\n{\n\t_Platform_checkPortName(name);\n\t_Platform_effectManagers[name] = {\n\t\te: _Platform_outgoingPortMap,\n\t\tr: converter,\n\t\ta: _Platform_setupOutgoingPort\n\t};\n\treturn _Platform_leaf(name);\n}\n\n\nvar _Platform_outgoingPortMap = F2(function(tagger, value) { return value; });\n\n\nfunction _Platform_setupOutgoingPort(name)\n{\n\tvar subs = [];\n\tvar converter = _Platform_effectManagers[name].r;\n\n\t// CREATE MANAGER\n\n\tvar init = _Process_sleep(0);\n\n\t_Platform_effectManagers[name].b = init;\n\t_Platform_effectManagers[name].c = F3(function(router, cmdList, state)\n\t{\n\t\tfor ( ; cmdList.b; cmdList = cmdList.b) // WHILE_CONS\n\t\t{\n\t\t\t// grab a separate reference to subs in case unsubscribe is called\n\t\t\tvar currentSubs = subs;\n\t\t\tvar value = _Json_unwrap(converter(cmdList.a));\n\t\t\tfor (var i = 0; i < currentSubs.length; i++)\n\t\t\t{\n\t\t\t\tcurrentSubs[i](value);\n\t\t\t}\n\t\t}\n\t\treturn init;\n\t});\n\n\t// PUBLIC API\n\n\tfunction subscribe(callback)\n\t{\n\t\tsubs.push(callback);\n\t}\n\n\tfunction unsubscribe(callback)\n\t{\n\t\t// copy subs into a new array in case unsubscribe is called within a\n\t\t// subscribed callback\n\t\tsubs = subs.slice();\n\t\tvar index = subs.indexOf(callback);\n\t\tif (index >= 0)\n\t\t{\n\t\t\tsubs.splice(index, 1);\n\t\t}\n\t}\n\n\treturn {\n\t\tsubscribe: subscribe,\n\t\tunsubscribe: unsubscribe\n\t};\n}\n\n\n\n// INCOMING PORTS\n\n\nfunction _Platform_incomingPort(name, converter)\n{\n\t_Platform_checkPortName(name);\n\t_Platform_effectManagers[name] = {\n\t\tf: _Platform_incomingPortMap,\n\t\tr: converter,\n\t\ta: _Platform_setupIncomingPort\n\t};\n\treturn _Platform_leaf(name);\n}\n\n\nvar _Platform_incomingPortMap = F2(function(tagger, finalTagger)\n{\n\treturn function(value)\n\t{\n\t\treturn tagger(finalTagger(value));\n\t};\n});\n\n\nfunction _Platform_setupIncomingPort(name, sendToApp)\n{\n\tvar subs = _List_Nil;\n\tvar converter = _Platform_effectManagers[name].r;\n\n\t// CREATE MANAGER\n\n\tvar init = _Scheduler_succeed(null);\n\n\t_Platform_effectManagers[name].b = init;\n\t_Platform_effectManagers[name].c = F3(function(router, subList, state)\n\t{\n\t\tsubs = subList;\n\t\treturn init;\n\t});\n\n\t// PUBLIC API\n\n\tfunction send(incomingValue)\n\t{\n\t\tvar result = A2(_Json_run, converter, _Json_wrap(incomingValue));\n\n\t\t$elm$core$Result$isOk(result) || _Debug_crash(4, name, result.a);\n\n\t\tvar value = result.a;\n\t\tfor (var temp = subs; temp.b; temp = temp.b) // WHILE_CONS\n\t\t{\n\t\t\tsendToApp(temp.a(value));\n\t\t}\n\t}\n\n\treturn { send: send };\n}\n\n\n\n// EXPORT ELM MODULES\n//\n// Have DEBUG and PROD versions so that we can (1) give nicer errors in\n// debug mode and (2) not pay for the bits needed for that in prod mode.\n//\n\n\nfunction _Platform_export(exports)\n{\n\tscope['Elm']\n\t\t? _Platform_mergeExportsProd(scope['Elm'], exports)\n\t\t: scope['Elm'] = exports;\n}\n\n\nfunction _Platform_mergeExportsProd(obj, exports)\n{\n\tfor (var name in exports)\n\t{\n\t\t(name in obj)\n\t\t\t? (name == 'init')\n\t\t\t\t? _Debug_crash(6)\n\t\t\t\t: _Platform_mergeExportsProd(obj[name], exports[name])\n\t\t\t: (obj[name] = exports[name]);\n\t}\n}\n\n\nfunction _Platform_export_UNUSED(exports)\n{\n\tscope['Elm']\n\t\t? _Platform_mergeExportsDebug('Elm', scope['Elm'], exports)\n\t\t: scope['Elm'] = exports;\n}\n\n\nfunction _Platform_mergeExportsDebug(moduleName, obj, exports)\n{\n\tfor (var name in exports)\n\t{\n\t\t(name in obj)\n\t\t\t? (name == 'init')\n\t\t\t\t? _Debug_crash(6, moduleName)\n\t\t\t\t: _Platform_mergeExportsDebug(moduleName + '.' + name, obj[name], exports[name])\n\t\t\t: (obj[name] = exports[name]);\n\t}\n}\n\n\n\n\n// HELPERS\n\n\nvar _VirtualDom_divertHrefToApp;\n\nvar _VirtualDom_doc = typeof document !== 'undefined' ? document : {};\n\n\nfunction _VirtualDom_appendChild(parent, child)\n{\n\tparent.appendChild(child);\n}\n\nvar _VirtualDom_init = F4(function(virtualNode, flagDecoder, debugMetadata, args)\n{\n\t// NOTE: this function needs _Platform_export available to work\n\n\t/**/\n\tvar node = args['node'];\n\t//*/\n\t/**_UNUSED/\n\tvar node = args && args['node'] ? args['node'] : _Debug_crash(0);\n\t//*/\n\n\tnode.parentNode.replaceChild(\n\t\t_VirtualDom_render(virtualNode, function() {}),\n\t\tnode\n\t);\n\n\treturn {};\n});\n\n\n\n// TEXT\n\n\nfunction _VirtualDom_text(string)\n{\n\treturn {\n\t\t$: 0,\n\t\ta: string\n\t};\n}\n\n\n\n// NODE\n\n\nvar _VirtualDom_nodeNS = F2(function(namespace, tag)\n{\n\treturn F2(function(factList, kidList)\n\t{\n\t\tfor (var kids = [], descendantsCount = 0; kidList.b; kidList = kidList.b) // WHILE_CONS\n\t\t{\n\t\t\tvar kid = kidList.a;\n\t\t\tdescendantsCount += (kid.b || 0);\n\t\t\tkids.push(kid);\n\t\t}\n\t\tdescendantsCount += kids.length;\n\n\t\treturn {\n\t\t\t$: 1,\n\t\t\tc: tag,\n\t\t\td: _VirtualDom_organizeFacts(factList),\n\t\t\te: kids,\n\t\t\tf: namespace,\n\t\t\tb: descendantsCount\n\t\t};\n\t});\n});\n\n\nvar _VirtualDom_node = _VirtualDom_nodeNS(undefined);\n\n\n\n// KEYED NODE\n\n\nvar _VirtualDom_keyedNodeNS = F2(function(namespace, tag)\n{\n\treturn F2(function(factList, kidList)\n\t{\n\t\tfor (var kids = [], descendantsCount = 0; kidList.b; kidList = kidList.b) // WHILE_CONS\n\t\t{\n\t\t\tvar kid = kidList.a;\n\t\t\tdescendantsCount += (kid.b.b || 0);\n\t\t\tkids.push(kid);\n\t\t}\n\t\tdescendantsCount += kids.length;\n\n\t\treturn {\n\t\t\t$: 2,\n\t\t\tc: tag,\n\t\t\td: _VirtualDom_organizeFacts(factList),\n\t\t\te: kids,\n\t\t\tf: namespace,\n\t\t\tb: descendantsCount\n\t\t};\n\t});\n});\n\n\nvar _VirtualDom_keyedNode = _VirtualDom_keyedNodeNS(undefined);\n\n\n\n// CUSTOM\n\n\nfunction _VirtualDom_custom(factList, model, render, diff)\n{\n\treturn {\n\t\t$: 3,\n\t\td: _VirtualDom_organizeFacts(factList),\n\t\tg: model,\n\t\th: render,\n\t\ti: diff\n\t};\n}\n\n\n\n// MAP\n\n\nvar _VirtualDom_map = F2(function(tagger, node)\n{\n\treturn {\n\t\t$: 4,\n\t\tj: tagger,\n\t\tk: node,\n\t\tb: 1 + (node.b || 0)\n\t};\n});\n\n\n\n// LAZY\n\n\nfunction _VirtualDom_thunk(refs, thunk)\n{\n\treturn {\n\t\t$: 5,\n\t\tl: refs,\n\t\tm: thunk,\n\t\tk: undefined\n\t};\n}\n\nvar _VirtualDom_lazy = F2(function(func, a)\n{\n\treturn _VirtualDom_thunk([func, a], function() {\n\t\treturn func(a);\n\t});\n});\n\nvar _VirtualDom_lazy2 = F3(function(func, a, b)\n{\n\treturn _VirtualDom_thunk([func, a, b], function() {\n\t\treturn A2(func, a, b);\n\t});\n});\n\nvar _VirtualDom_lazy3 = F4(function(func, a, b, c)\n{\n\treturn _VirtualDom_thunk([func, a, b, c], function() {\n\t\treturn A3(func, a, b, c);\n\t});\n});\n\nvar _VirtualDom_lazy4 = F5(function(func, a, b, c, d)\n{\n\treturn _VirtualDom_thunk([func, a, b, c, d], function() {\n\t\treturn A4(func, a, b, c, d);\n\t});\n});\n\nvar _VirtualDom_lazy5 = F6(function(func, a, b, c, d, e)\n{\n\treturn _VirtualDom_thunk([func, a, b, c, d, e], function() {\n\t\treturn A5(func, a, b, c, d, e);\n\t});\n});\n\nvar _VirtualDom_lazy6 = F7(function(func, a, b, c, d, e, f)\n{\n\treturn _VirtualDom_thunk([func, a, b, c, d, e, f], function() {\n\t\treturn A6(func, a, b, c, d, e, f);\n\t});\n});\n\nvar _VirtualDom_lazy7 = F8(function(func, a, b, c, d, e, f, g)\n{\n\treturn _VirtualDom_thunk([func, a, b, c, d, e, f, g], function() {\n\t\treturn A7(func, a, b, c, d, e, f, g);\n\t});\n});\n\nvar _VirtualDom_lazy8 = F9(function(func, a, b, c, d, e, f, g, h)\n{\n\treturn _VirtualDom_thunk([func, a, b, c, d, e, f, g, h], function() {\n\t\treturn A8(func, a, b, c, d, e, f, g, h);\n\t});\n});\n\n\n\n// FACTS\n\n\nvar _VirtualDom_on = F2(function(key, handler)\n{\n\treturn {\n\t\t$: 'a0',\n\t\tn: key,\n\t\to: handler\n\t};\n});\nvar _VirtualDom_style = F2(function(key, value)\n{\n\treturn {\n\t\t$: 'a1',\n\t\tn: key,\n\t\to: value\n\t};\n});\nvar _VirtualDom_property = F2(function(key, value)\n{\n\treturn {\n\t\t$: 'a2',\n\t\tn: key,\n\t\to: value\n\t};\n});\nvar _VirtualDom_attribute = F2(function(key, value)\n{\n\treturn {\n\t\t$: 'a3',\n\t\tn: key,\n\t\to: value\n\t};\n});\nvar _VirtualDom_attributeNS = F3(function(namespace, key, value)\n{\n\treturn {\n\t\t$: 'a4',\n\t\tn: key,\n\t\to: { f: namespace, o: value }\n\t};\n});\n\n\n\n// XSS ATTACK VECTOR CHECKS\n\n\nfunction _VirtualDom_noScript(tag)\n{\n\treturn tag == 'script' ? 'p' : tag;\n}\n\nfunction _VirtualDom_noOnOrFormAction(key)\n{\n\treturn /^(on|formAction$)/i.test(key) ? 'data-' + key : key;\n}\n\nfunction _VirtualDom_noInnerHtmlOrFormAction(key)\n{\n\treturn key == 'innerHTML' || key == 'formAction' ? 'data-' + key : key;\n}\n\nfunction _VirtualDom_noJavaScriptUri(value)\n{\n\treturn /^javascript:/i.test(value.replace(/\\s/g,'')) ? '' : value;\n}\n\nfunction _VirtualDom_noJavaScriptUri_UNUSED(value)\n{\n\treturn /^javascript:/i.test(value.replace(/\\s/g,''))\n\t\t? 'javascript:alert(\"This is an XSS vector. Please use ports or web components instead.\")'\n\t\t: value;\n}\n\nfunction _VirtualDom_noJavaScriptOrHtmlUri(value)\n{\n\treturn /^\\s*(javascript:|data:text\\/html)/i.test(value) ? '' : value;\n}\n\nfunction _VirtualDom_noJavaScriptOrHtmlUri_UNUSED(value)\n{\n\treturn /^\\s*(javascript:|data:text\\/html)/i.test(value)\n\t\t? 'javascript:alert(\"This is an XSS vector. Please use ports or web components instead.\")'\n\t\t: value;\n}\n\n\n\n// MAP FACTS\n\n\nvar _VirtualDom_mapAttribute = F2(function(func, attr)\n{\n\treturn (attr.$ === 'a0')\n\t\t? A2(_VirtualDom_on, attr.n, _VirtualDom_mapHandler(func, attr.o))\n\t\t: attr;\n});\n\nfunction _VirtualDom_mapHandler(func, handler)\n{\n\tvar tag = $elm$virtual_dom$VirtualDom$toHandlerInt(handler);\n\n\t// 0 = Normal\n\t// 1 = MayStopPropagation\n\t// 2 = MayPreventDefault\n\t// 3 = Custom\n\n\treturn {\n\t\t$: handler.$,\n\t\ta:\n\t\t\t!tag\n\t\t\t\t? A2($elm$json$Json$Decode$map, func, handler.a)\n\t\t\t\t:\n\t\t\tA3($elm$json$Json$Decode$map2,\n\t\t\t\ttag < 3\n\t\t\t\t\t? _VirtualDom_mapEventTuple\n\t\t\t\t\t: _VirtualDom_mapEventRecord,\n\t\t\t\t$elm$json$Json$Decode$succeed(func),\n\t\t\t\thandler.a\n\t\t\t)\n\t};\n}\n\nvar _VirtualDom_mapEventTuple = F2(function(func, tuple)\n{\n\treturn _Utils_Tuple2(func(tuple.a), tuple.b);\n});\n\nvar _VirtualDom_mapEventRecord = F2(function(func, record)\n{\n\treturn {\n\t\taK: func(record.aK),\n\t\tR: record.R,\n\t\tN: record.N\n\t}\n});\n\n\n\n// ORGANIZE FACTS\n\n\nfunction _VirtualDom_organizeFacts(factList)\n{\n\tfor (var facts = {}; factList.b; factList = factList.b) // WHILE_CONS\n\t{\n\t\tvar entry = factList.a;\n\n\t\tvar tag = entry.$;\n\t\tvar key = entry.n;\n\t\tvar value = entry.o;\n\n\t\tif (tag === 'a2')\n\t\t{\n\t\t\t(key === 'className')\n\t\t\t\t? _VirtualDom_addClass(facts, key, _Json_unwrap(value))\n\t\t\t\t: facts[key] = _Json_unwrap(value);\n\n\t\t\tcontinue;\n\t\t}\n\n\t\tvar subFacts = facts[tag] || (facts[tag] = {});\n\t\t(tag === 'a3' && key === 'class')\n\t\t\t? _VirtualDom_addClass(subFacts, key, value)\n\t\t\t: subFacts[key] = value;\n\t}\n\n\treturn facts;\n}\n\nfunction _VirtualDom_addClass(object, key, newClass)\n{\n\tvar classes = object[key];\n\tobject[key] = classes ? classes + ' ' + newClass : newClass;\n}\n\n\n\n// RENDER\n\n\nfunction _VirtualDom_render(vNode, eventNode)\n{\n\tvar tag = vNode.$;\n\n\tif (tag === 5)\n\t{\n\t\treturn _VirtualDom_render(vNode.k || (vNode.k = vNode.m()), eventNode);\n\t}\n\n\tif (tag === 0)\n\t{\n\t\treturn _VirtualDom_doc.createTextNode(vNode.a);\n\t}\n\n\tif (tag === 4)\n\t{\n\t\tvar subNode = vNode.k;\n\t\tvar tagger = vNode.j;\n\n\t\twhile (subNode.$ === 4)\n\t\t{\n\t\t\ttypeof tagger !== 'object'\n\t\t\t\t? tagger = [tagger, subNode.j]\n\t\t\t\t: tagger.push(subNode.j);\n\n\t\t\tsubNode = subNode.k;\n\t\t}\n\n\t\tvar subEventRoot = { j: tagger, p: eventNode };\n\t\tvar domNode = _VirtualDom_render(subNode, subEventRoot);\n\t\tdomNode.elm_event_node_ref = subEventRoot;\n\t\treturn domNode;\n\t}\n\n\tif (tag === 3)\n\t{\n\t\tvar domNode = vNode.h(vNode.g);\n\t\t_VirtualDom_applyFacts(domNode, eventNode, vNode.d);\n\t\treturn domNode;\n\t}\n\n\t// at this point `tag` must be 1 or 2\n\n\tvar domNode = vNode.f\n\t\t? _VirtualDom_doc.createElementNS(vNode.f, vNode.c)\n\t\t: _VirtualDom_doc.createElement(vNode.c);\n\n\tif (_VirtualDom_divertHrefToApp && vNode.c == 'a')\n\t{\n\t\tdomNode.addEventListener('click', _VirtualDom_divertHrefToApp(domNode));\n\t}\n\n\t_VirtualDom_applyFacts(domNode, eventNode, vNode.d);\n\n\tfor (var kids = vNode.e, i = 0; i < kids.length; i++)\n\t{\n\t\t_VirtualDom_appendChild(domNode, _VirtualDom_render(tag === 1 ? kids[i] : kids[i].b, eventNode));\n\t}\n\n\treturn domNode;\n}\n\n\n\n// APPLY FACTS\n\n\nfunction _VirtualDom_applyFacts(domNode, eventNode, facts)\n{\n\tfor (var key in facts)\n\t{\n\t\tvar value = facts[key];\n\n\t\tkey === 'a1'\n\t\t\t? _VirtualDom_applyStyles(domNode, value)\n\t\t\t:\n\t\tkey === 'a0'\n\t\t\t? _VirtualDom_applyEvents(domNode, eventNode, value)\n\t\t\t:\n\t\tkey === 'a3'\n\t\t\t? _VirtualDom_applyAttrs(domNode, value)\n\t\t\t:\n\t\tkey === 'a4'\n\t\t\t? _VirtualDom_applyAttrsNS(domNode, value)\n\t\t\t:\n\t\t((key !== 'value' && key !== 'checked') || domNode[key] !== value) && (domNode[key] = value);\n\t}\n}\n\n\n\n// APPLY STYLES\n\n\nfunction _VirtualDom_applyStyles(domNode, styles)\n{\n\tvar domNodeStyle = domNode.style;\n\n\tfor (var key in styles)\n\t{\n\t\tdomNodeStyle[key] = styles[key];\n\t}\n}\n\n\n\n// APPLY ATTRS\n\n\nfunction _VirtualDom_applyAttrs(domNode, attrs)\n{\n\tfor (var key in attrs)\n\t{\n\t\tvar value = attrs[key];\n\t\ttypeof value !== 'undefined'\n\t\t\t? domNode.setAttribute(key, value)\n\t\t\t: domNode.removeAttribute(key);\n\t}\n}\n\n\n\n// APPLY NAMESPACED ATTRS\n\n\nfunction _VirtualDom_applyAttrsNS(domNode, nsAttrs)\n{\n\tfor (var key in nsAttrs)\n\t{\n\t\tvar pair = nsAttrs[key];\n\t\tvar namespace = pair.f;\n\t\tvar value = pair.o;\n\n\t\ttypeof value !== 'undefined'\n\t\t\t? domNode.setAttributeNS(namespace, key, value)\n\t\t\t: domNode.removeAttributeNS(namespace, key);\n\t}\n}\n\n\n\n// APPLY EVENTS\n\n\nfunction _VirtualDom_applyEvents(domNode, eventNode, events)\n{\n\tvar allCallbacks = domNode.elmFs || (domNode.elmFs = {});\n\n\tfor (var key in events)\n\t{\n\t\tvar newHandler = events[key];\n\t\tvar oldCallback = allCallbacks[key];\n\n\t\tif (!newHandler)\n\t\t{\n\t\t\tdomNode.removeEventListener(key, oldCallback);\n\t\t\tallCallbacks[key] = undefined;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (oldCallback)\n\t\t{\n\t\t\tvar oldHandler = oldCallback.q;\n\t\t\tif (oldHandler.$ === newHandler.$)\n\t\t\t{\n\t\t\t\toldCallback.q = newHandler;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tdomNode.removeEventListener(key, oldCallback);\n\t\t}\n\n\t\toldCallback = _VirtualDom_makeCallback(eventNode, newHandler);\n\t\tdomNode.addEventListener(key, oldCallback,\n\t\t\t_VirtualDom_passiveSupported\n\t\t\t&& { passive: $elm$virtual_dom$VirtualDom$toHandlerInt(newHandler) < 2 }\n\t\t);\n\t\tallCallbacks[key] = oldCallback;\n\t}\n}\n\n\n\n// PASSIVE EVENTS\n\n\nvar _VirtualDom_passiveSupported;\n\ntry\n{\n\twindow.addEventListener('t', null, Object.defineProperty({}, 'passive', {\n\t\tget: function() { _VirtualDom_passiveSupported = true; }\n\t}));\n}\ncatch(e) {}\n\n\n\n// EVENT HANDLERS\n\n\nfunction _VirtualDom_makeCallback(eventNode, initialHandler)\n{\n\tfunction callback(event)\n\t{\n\t\tvar handler = callback.q;\n\t\tvar result = _Json_runHelp(handler.a, event);\n\n\t\tif (!$elm$core$Result$isOk(result))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tvar tag = $elm$virtual_dom$VirtualDom$toHandlerInt(handler);\n\n\t\t// 0 = Normal\n\t\t// 1 = MayStopPropagation\n\t\t// 2 = MayPreventDefault\n\t\t// 3 = Custom\n\n\t\tvar value = result.a;\n\t\tvar message = !tag ? value : tag < 3 ? value.a : value.aK;\n\t\tvar stopPropagation = tag == 1 ? value.b : tag == 3 && value.R;\n\t\tvar currentEventNode = (\n\t\t\tstopPropagation && event.stopPropagation(),\n\t\t\t(tag == 2 ? value.b : tag == 3 && value.N) && event.preventDefault(),\n\t\t\teventNode\n\t\t);\n\t\tvar tagger;\n\t\tvar i;\n\t\twhile (tagger = currentEventNode.j)\n\t\t{\n\t\t\tif (typeof tagger == 'function')\n\t\t\t{\n\t\t\t\tmessage = tagger(message);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tfor (var i = tagger.length; i--; )\n\t\t\t\t{\n\t\t\t\t\tmessage = tagger[i](message);\n\t\t\t\t}\n\t\t\t}\n\t\t\tcurrentEventNode = currentEventNode.p;\n\t\t}\n\t\tcurrentEventNode(message, stopPropagation); // stopPropagation implies isSync\n\t}\n\n\tcallback.q = initialHandler;\n\n\treturn callback;\n}\n\nfunction _VirtualDom_equalEvents(x, y)\n{\n\treturn x.$ == y.$ && _Json_equality(x.a, y.a);\n}\n\n\n\n// DIFF\n\n\n// TODO: Should we do patches like in iOS?\n//\n// type Patch\n// = At Int Patch\n// | Batch (List Patch)\n// | Change ...\n//\n// How could it not be better?\n//\nfunction _VirtualDom_diff(x, y)\n{\n\tvar patches = [];\n\t_VirtualDom_diffHelp(x, y, patches, 0);\n\treturn patches;\n}\n\n\nfunction _VirtualDom_pushPatch(patches, type, index, data)\n{\n\tvar patch = {\n\t\t$: type,\n\t\tr: index,\n\t\ts: data,\n\t\tt: undefined,\n\t\tu: undefined\n\t};\n\tpatches.push(patch);\n\treturn patch;\n}\n\n\nfunction _VirtualDom_diffHelp(x, y, patches, index)\n{\n\tif (x === y)\n\t{\n\t\treturn;\n\t}\n\n\tvar xType = x.$;\n\tvar yType = y.$;\n\n\t// Bail if you run into different types of nodes. Implies that the\n\t// structure has changed significantly and it's not worth a diff.\n\tif (xType !== yType)\n\t{\n\t\tif (xType === 1 && yType === 2)\n\t\t{\n\t\t\ty = _VirtualDom_dekey(y);\n\t\t\tyType = 1;\n\t\t}\n\t\telse\n\t\t{\n\t\t\t_VirtualDom_pushPatch(patches, 0, index, y);\n\t\t\treturn;\n\t\t}\n\t}\n\n\t// Now we know that both nodes are the same $.\n\tswitch (yType)\n\t{\n\t\tcase 5:\n\t\t\tvar xRefs = x.l;\n\t\t\tvar yRefs = y.l;\n\t\t\tvar i = xRefs.length;\n\t\t\tvar same = i === yRefs.length;\n\t\t\twhile (same && i--)\n\t\t\t{\n\t\t\t\tsame = xRefs[i] === yRefs[i];\n\t\t\t}\n\t\t\tif (same)\n\t\t\t{\n\t\t\t\ty.k = x.k;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\ty.k = y.m();\n\t\t\tvar subPatches = [];\n\t\t\t_VirtualDom_diffHelp(x.k, y.k, subPatches, 0);\n\t\t\tsubPatches.length > 0 && _VirtualDom_pushPatch(patches, 1, index, subPatches);\n\t\t\treturn;\n\n\t\tcase 4:\n\t\t\t// gather nested taggers\n\t\t\tvar xTaggers = x.j;\n\t\t\tvar yTaggers = y.j;\n\t\t\tvar nesting = false;\n\n\t\t\tvar xSubNode = x.k;\n\t\t\twhile (xSubNode.$ === 4)\n\t\t\t{\n\t\t\t\tnesting = true;\n\n\t\t\t\ttypeof xTaggers !== 'object'\n\t\t\t\t\t? xTaggers = [xTaggers, xSubNode.j]\n\t\t\t\t\t: xTaggers.push(xSubNode.j);\n\n\t\t\t\txSubNode = xSubNode.k;\n\t\t\t}\n\n\t\t\tvar ySubNode = y.k;\n\t\t\twhile (ySubNode.$ === 4)\n\t\t\t{\n\t\t\t\tnesting = true;\n\n\t\t\t\ttypeof yTaggers !== 'object'\n\t\t\t\t\t? yTaggers = [yTaggers, ySubNode.j]\n\t\t\t\t\t: yTaggers.push(ySubNode.j);\n\n\t\t\t\tySubNode = ySubNode.k;\n\t\t\t}\n\n\t\t\t// Just bail if different numbers of taggers. This implies the\n\t\t\t// structure of the virtual DOM has changed.\n\t\t\tif (nesting && xTaggers.length !== yTaggers.length)\n\t\t\t{\n\t\t\t\t_VirtualDom_pushPatch(patches, 0, index, y);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// check if taggers are \"the same\"\n\t\t\tif (nesting ? !_VirtualDom_pairwiseRefEqual(xTaggers, yTaggers) : xTaggers !== yTaggers)\n\t\t\t{\n\t\t\t\t_VirtualDom_pushPatch(patches, 2, index, yTaggers);\n\t\t\t}\n\n\t\t\t// diff everything below the taggers\n\t\t\t_VirtualDom_diffHelp(xSubNode, ySubNode, patches, index + 1);\n\t\t\treturn;\n\n\t\tcase 0:\n\t\t\tif (x.a !== y.a)\n\t\t\t{\n\t\t\t\t_VirtualDom_pushPatch(patches, 3, index, y.a);\n\t\t\t}\n\t\t\treturn;\n\n\t\tcase 1:\n\t\t\t_VirtualDom_diffNodes(x, y, patches, index, _VirtualDom_diffKids);\n\t\t\treturn;\n\n\t\tcase 2:\n\t\t\t_VirtualDom_diffNodes(x, y, patches, index, _VirtualDom_diffKeyedKids);\n\t\t\treturn;\n\n\t\tcase 3:\n\t\t\tif (x.h !== y.h)\n\t\t\t{\n\t\t\t\t_VirtualDom_pushPatch(patches, 0, index, y);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar factsDiff = _VirtualDom_diffFacts(x.d, y.d);\n\t\t\tfactsDiff && _VirtualDom_pushPatch(patches, 4, index, factsDiff);\n\n\t\t\tvar patch = y.i(x.g, y.g);\n\t\t\tpatch && _VirtualDom_pushPatch(patches, 5, index, patch);\n\n\t\t\treturn;\n\t}\n}\n\n// assumes the incoming arrays are the same length\nfunction _VirtualDom_pairwiseRefEqual(as, bs)\n{\n\tfor (var i = 0; i < as.length; i++)\n\t{\n\t\tif (as[i] !== bs[i])\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\nfunction _VirtualDom_diffNodes(x, y, patches, index, diffKids)\n{\n\t// Bail if obvious indicators have changed. Implies more serious\n\t// structural changes such that it's not worth it to diff.\n\tif (x.c !== y.c || x.f !== y.f)\n\t{\n\t\t_VirtualDom_pushPatch(patches, 0, index, y);\n\t\treturn;\n\t}\n\n\tvar factsDiff = _VirtualDom_diffFacts(x.d, y.d);\n\tfactsDiff && _VirtualDom_pushPatch(patches, 4, index, factsDiff);\n\n\tdiffKids(x, y, patches, index);\n}\n\n\n\n// DIFF FACTS\n\n\n// TODO Instead of creating a new diff object, it's possible to just test if\n// there *is* a diff. During the actual patch, do the diff again and make the\n// modifications directly. This way, there's no new allocations. Worth it?\nfunction _VirtualDom_diffFacts(x, y, category)\n{\n\tvar diff;\n\n\t// look for changes and removals\n\tfor (var xKey in x)\n\t{\n\t\tif (xKey === 'a1' || xKey === 'a0' || xKey === 'a3' || xKey === 'a4')\n\t\t{\n\t\t\tvar subDiff = _VirtualDom_diffFacts(x[xKey], y[xKey] || {}, xKey);\n\t\t\tif (subDiff)\n\t\t\t{\n\t\t\t\tdiff = diff || {};\n\t\t\t\tdiff[xKey] = subDiff;\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\t// remove if not in the new facts\n\t\tif (!(xKey in y))\n\t\t{\n\t\t\tdiff = diff || {};\n\t\t\tdiff[xKey] =\n\t\t\t\t!category\n\t\t\t\t\t? (typeof x[xKey] === 'string' ? '' : null)\n\t\t\t\t\t:\n\t\t\t\t(category === 'a1')\n\t\t\t\t\t? ''\n\t\t\t\t\t:\n\t\t\t\t(category === 'a0' || category === 'a3')\n\t\t\t\t\t? undefined\n\t\t\t\t\t:\n\t\t\t\t{ f: x[xKey].f, o: undefined };\n\n\t\t\tcontinue;\n\t\t}\n\n\t\tvar xValue = x[xKey];\n\t\tvar yValue = y[xKey];\n\n\t\t// reference equal, so don't worry about it\n\t\tif (xValue === yValue && xKey !== 'value' && xKey !== 'checked'\n\t\t\t|| category === 'a0' && _VirtualDom_equalEvents(xValue, yValue))\n\t\t{\n\t\t\tcontinue;\n\t\t}\n\n\t\tdiff = diff || {};\n\t\tdiff[xKey] = yValue;\n\t}\n\n\t// add new stuff\n\tfor (var yKey in y)\n\t{\n\t\tif (!(yKey in x))\n\t\t{\n\t\t\tdiff = diff || {};\n\t\t\tdiff[yKey] = y[yKey];\n\t\t}\n\t}\n\n\treturn diff;\n}\n\n\n\n// DIFF KIDS\n\n\nfunction _VirtualDom_diffKids(xParent, yParent, patches, index)\n{\n\tvar xKids = xParent.e;\n\tvar yKids = yParent.e;\n\n\tvar xLen = xKids.length;\n\tvar yLen = yKids.length;\n\n\t// FIGURE OUT IF THERE ARE INSERTS OR REMOVALS\n\n\tif (xLen > yLen)\n\t{\n\t\t_VirtualDom_pushPatch(patches, 6, index, {\n\t\t\tv: yLen,\n\t\t\ti: xLen - yLen\n\t\t});\n\t}\n\telse if (xLen < yLen)\n\t{\n\t\t_VirtualDom_pushPatch(patches, 7, index, {\n\t\t\tv: xLen,\n\t\t\te: yKids\n\t\t});\n\t}\n\n\t// PAIRWISE DIFF EVERYTHING ELSE\n\n\tfor (var minLen = xLen < yLen ? xLen : yLen, i = 0; i < minLen; i++)\n\t{\n\t\tvar xKid = xKids[i];\n\t\t_VirtualDom_diffHelp(xKid, yKids[i], patches, ++index);\n\t\tindex += xKid.b || 0;\n\t}\n}\n\n\n\n// KEYED DIFF\n\n\nfunction _VirtualDom_diffKeyedKids(xParent, yParent, patches, rootIndex)\n{\n\tvar localPatches = [];\n\n\tvar changes = {}; // Dict String Entry\n\tvar inserts = []; // Array { index : Int, entry : Entry }\n\t// type Entry = { tag : String, vnode : VNode, index : Int, data : _ }\n\n\tvar xKids = xParent.e;\n\tvar yKids = yParent.e;\n\tvar xLen = xKids.length;\n\tvar yLen = yKids.length;\n\tvar xIndex = 0;\n\tvar yIndex = 0;\n\n\tvar index = rootIndex;\n\n\twhile (xIndex < xLen && yIndex < yLen)\n\t{\n\t\tvar x = xKids[xIndex];\n\t\tvar y = yKids[yIndex];\n\n\t\tvar xKey = x.a;\n\t\tvar yKey = y.a;\n\t\tvar xNode = x.b;\n\t\tvar yNode = y.b;\n\n\t\tvar newMatch = undefined;\n\t\tvar oldMatch = undefined;\n\n\t\t// check if keys match\n\n\t\tif (xKey === yKey)\n\t\t{\n\t\t\tindex++;\n\t\t\t_VirtualDom_diffHelp(xNode, yNode, localPatches, index);\n\t\t\tindex += xNode.b || 0;\n\n\t\t\txIndex++;\n\t\t\tyIndex++;\n\t\t\tcontinue;\n\t\t}\n\n\t\t// look ahead 1 to detect insertions and removals.\n\n\t\tvar xNext = xKids[xIndex + 1];\n\t\tvar yNext = yKids[yIndex + 1];\n\n\t\tif (xNext)\n\t\t{\n\t\t\tvar xNextKey = xNext.a;\n\t\t\tvar xNextNode = xNext.b;\n\t\t\toldMatch = yKey === xNextKey;\n\t\t}\n\n\t\tif (yNext)\n\t\t{\n\t\t\tvar yNextKey = yNext.a;\n\t\t\tvar yNextNode = yNext.b;\n\t\t\tnewMatch = xKey === yNextKey;\n\t\t}\n\n\n\t\t// swap x and y\n\t\tif (newMatch && oldMatch)\n\t\t{\n\t\t\tindex++;\n\t\t\t_VirtualDom_diffHelp(xNode, yNextNode, localPatches, index);\n\t\t\t_VirtualDom_insertNode(changes, localPatches, xKey, yNode, yIndex, inserts);\n\t\t\tindex += xNode.b || 0;\n\n\t\t\tindex++;\n\t\t\t_VirtualDom_removeNode(changes, localPatches, xKey, xNextNode, index);\n\t\t\tindex += xNextNode.b || 0;\n\n\t\t\txIndex += 2;\n\t\t\tyIndex += 2;\n\t\t\tcontinue;\n\t\t}\n\n\t\t// insert y\n\t\tif (newMatch)\n\t\t{\n\t\t\tindex++;\n\t\t\t_VirtualDom_insertNode(changes, localPatches, yKey, yNode, yIndex, inserts);\n\t\t\t_VirtualDom_diffHelp(xNode, yNextNode, localPatches, index);\n\t\t\tindex += xNode.b || 0;\n\n\t\t\txIndex += 1;\n\t\t\tyIndex += 2;\n\t\t\tcontinue;\n\t\t}\n\n\t\t// remove x\n\t\tif (oldMatch)\n\t\t{\n\t\t\tindex++;\n\t\t\t_VirtualDom_removeNode(changes, localPatches, xKey, xNode, index);\n\t\t\tindex += xNode.b || 0;\n\n\t\t\tindex++;\n\t\t\t_VirtualDom_diffHelp(xNextNode, yNode, localPatches, index);\n\t\t\tindex += xNextNode.b || 0;\n\n\t\t\txIndex += 2;\n\t\t\tyIndex += 1;\n\t\t\tcontinue;\n\t\t}\n\n\t\t// remove x, insert y\n\t\tif (xNext && xNextKey === yNextKey)\n\t\t{\n\t\t\tindex++;\n\t\t\t_VirtualDom_removeNode(changes, localPatches, xKey, xNode, index);\n\t\t\t_VirtualDom_insertNode(changes, localPatches, yKey, yNode, yIndex, inserts);\n\t\t\tindex += xNode.b || 0;\n\n\t\t\tindex++;\n\t\t\t_VirtualDom_diffHelp(xNextNode, yNextNode, localPatches, index);\n\t\t\tindex += xNextNode.b || 0;\n\n\t\t\txIndex += 2;\n\t\t\tyIndex += 2;\n\t\t\tcontinue;\n\t\t}\n\n\t\tbreak;\n\t}\n\n\t// eat up any remaining nodes with removeNode and insertNode\n\n\twhile (xIndex < xLen)\n\t{\n\t\tindex++;\n\t\tvar x = xKids[xIndex];\n\t\tvar xNode = x.b;\n\t\t_VirtualDom_removeNode(changes, localPatches, x.a, xNode, index);\n\t\tindex += xNode.b || 0;\n\t\txIndex++;\n\t}\n\n\twhile (yIndex < yLen)\n\t{\n\t\tvar endInserts = endInserts || [];\n\t\tvar y = yKids[yIndex];\n\t\t_VirtualDom_insertNode(changes, localPatches, y.a, y.b, undefined, endInserts);\n\t\tyIndex++;\n\t}\n\n\tif (localPatches.length > 0 || inserts.length > 0 || endInserts)\n\t{\n\t\t_VirtualDom_pushPatch(patches, 8, rootIndex, {\n\t\t\tw: localPatches,\n\t\t\tx: inserts,\n\t\t\ty: endInserts\n\t\t});\n\t}\n}\n\n\n\n// CHANGES FROM KEYED DIFF\n\n\nvar _VirtualDom_POSTFIX = '_elmW6BL';\n\n\nfunction _VirtualDom_insertNode(changes, localPatches, key, vnode, yIndex, inserts)\n{\n\tvar entry = changes[key];\n\n\t// never seen this key before\n\tif (!entry)\n\t{\n\t\tentry = {\n\t\t\tc: 0,\n\t\t\tz: vnode,\n\t\t\tr: yIndex,\n\t\t\ts: undefined\n\t\t};\n\n\t\tinserts.push({ r: yIndex, A: entry });\n\t\tchanges[key] = entry;\n\n\t\treturn;\n\t}\n\n\t// this key was removed earlier, a match!\n\tif (entry.c === 1)\n\t{\n\t\tinserts.push({ r: yIndex, A: entry });\n\n\t\tentry.c = 2;\n\t\tvar subPatches = [];\n\t\t_VirtualDom_diffHelp(entry.z, vnode, subPatches, entry.r);\n\t\tentry.r = yIndex;\n\t\tentry.s.s = {\n\t\t\tw: subPatches,\n\t\t\tA: entry\n\t\t};\n\n\t\treturn;\n\t}\n\n\t// this key has already been inserted or moved, a duplicate!\n\t_VirtualDom_insertNode(changes, localPatches, key + _VirtualDom_POSTFIX, vnode, yIndex, inserts);\n}\n\n\nfunction _VirtualDom_removeNode(changes, localPatches, key, vnode, index)\n{\n\tvar entry = changes[key];\n\n\t// never seen this key before\n\tif (!entry)\n\t{\n\t\tvar patch = _VirtualDom_pushPatch(localPatches, 9, index, undefined);\n\n\t\tchanges[key] = {\n\t\t\tc: 1,\n\t\t\tz: vnode,\n\t\t\tr: index,\n\t\t\ts: patch\n\t\t};\n\n\t\treturn;\n\t}\n\n\t// this key was inserted earlier, a match!\n\tif (entry.c === 0)\n\t{\n\t\tentry.c = 2;\n\t\tvar subPatches = [];\n\t\t_VirtualDom_diffHelp(vnode, entry.z, subPatches, index);\n\n\t\t_VirtualDom_pushPatch(localPatches, 9, index, {\n\t\t\tw: subPatches,\n\t\t\tA: entry\n\t\t});\n\n\t\treturn;\n\t}\n\n\t// this key has already been removed or moved, a duplicate!\n\t_VirtualDom_removeNode(changes, localPatches, key + _VirtualDom_POSTFIX, vnode, index);\n}\n\n\n\n// ADD DOM NODES\n//\n// Each DOM node has an \"index\" assigned in order of traversal. It is important\n// to minimize our crawl over the actual DOM, so these indexes (along with the\n// descendantsCount of virtual nodes) let us skip touching entire subtrees of\n// the DOM if we know there are no patches there.\n\n\nfunction _VirtualDom_addDomNodes(domNode, vNode, patches, eventNode)\n{\n\t_VirtualDom_addDomNodesHelp(domNode, vNode, patches, 0, 0, vNode.b, eventNode);\n}\n\n\n// assumes `patches` is non-empty and indexes increase monotonically.\nfunction _VirtualDom_addDomNodesHelp(domNode, vNode, patches, i, low, high, eventNode)\n{\n\tvar patch = patches[i];\n\tvar index = patch.r;\n\n\twhile (index === low)\n\t{\n\t\tvar patchType = patch.$;\n\n\t\tif (patchType === 1)\n\t\t{\n\t\t\t_VirtualDom_addDomNodes(domNode, vNode.k, patch.s, eventNode);\n\t\t}\n\t\telse if (patchType === 8)\n\t\t{\n\t\t\tpatch.t = domNode;\n\t\t\tpatch.u = eventNode;\n\n\t\t\tvar subPatches = patch.s.w;\n\t\t\tif (subPatches.length > 0)\n\t\t\t{\n\t\t\t\t_VirtualDom_addDomNodesHelp(domNode, vNode, subPatches, 0, low, high, eventNode);\n\t\t\t}\n\t\t}\n\t\telse if (patchType === 9)\n\t\t{\n\t\t\tpatch.t = domNode;\n\t\t\tpatch.u = eventNode;\n\n\t\t\tvar data = patch.s;\n\t\t\tif (data)\n\t\t\t{\n\t\t\t\tdata.A.s = domNode;\n\t\t\t\tvar subPatches = data.w;\n\t\t\t\tif (subPatches.length > 0)\n\t\t\t\t{\n\t\t\t\t\t_VirtualDom_addDomNodesHelp(domNode, vNode, subPatches, 0, low, high, eventNode);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tpatch.t = domNode;\n\t\t\tpatch.u = eventNode;\n\t\t}\n\n\t\ti++;\n\n\t\tif (!(patch = patches[i]) || (index = patch.r) > high)\n\t\t{\n\t\t\treturn i;\n\t\t}\n\t}\n\n\tvar tag = vNode.$;\n\n\tif (tag === 4)\n\t{\n\t\tvar subNode = vNode.k;\n\n\t\twhile (subNode.$ === 4)\n\t\t{\n\t\t\tsubNode = subNode.k;\n\t\t}\n\n\t\treturn _VirtualDom_addDomNodesHelp(domNode, subNode, patches, i, low + 1, high, domNode.elm_event_node_ref);\n\t}\n\n\t// tag must be 1 or 2 at this point\n\n\tvar vKids = vNode.e;\n\tvar childNodes = domNode.childNodes;\n\tfor (var j = 0; j < vKids.length; j++)\n\t{\n\t\tlow++;\n\t\tvar vKid = tag === 1 ? vKids[j] : vKids[j].b;\n\t\tvar nextLow = low + (vKid.b || 0);\n\t\tif (low <= index && index <= nextLow)\n\t\t{\n\t\t\ti = _VirtualDom_addDomNodesHelp(childNodes[j], vKid, patches, i, low, nextLow, eventNode);\n\t\t\tif (!(patch = patches[i]) || (index = patch.r) > high)\n\t\t\t{\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t\tlow = nextLow;\n\t}\n\treturn i;\n}\n\n\n\n// APPLY PATCHES\n\n\nfunction _VirtualDom_applyPatches(rootDomNode, oldVirtualNode, patches, eventNode)\n{\n\tif (patches.length === 0)\n\t{\n\t\treturn rootDomNode;\n\t}\n\n\t_VirtualDom_addDomNodes(rootDomNode, oldVirtualNode, patches, eventNode);\n\treturn _VirtualDom_applyPatchesHelp(rootDomNode, patches);\n}\n\nfunction _VirtualDom_applyPatchesHelp(rootDomNode, patches)\n{\n\tfor (var i = 0; i < patches.length; i++)\n\t{\n\t\tvar patch = patches[i];\n\t\tvar localDomNode = patch.t\n\t\tvar newNode = _VirtualDom_applyPatch(localDomNode, patch);\n\t\tif (localDomNode === rootDomNode)\n\t\t{\n\t\t\trootDomNode = newNode;\n\t\t}\n\t}\n\treturn rootDomNode;\n}\n\nfunction _VirtualDom_applyPatch(domNode, patch)\n{\n\tswitch (patch.$)\n\t{\n\t\tcase 0:\n\t\t\treturn _VirtualDom_applyPatchRedraw(domNode, patch.s, patch.u);\n\n\t\tcase 4:\n\t\t\t_VirtualDom_applyFacts(domNode, patch.u, patch.s);\n\t\t\treturn domNode;\n\n\t\tcase 3:\n\t\t\tdomNode.replaceData(0, domNode.length, patch.s);\n\t\t\treturn domNode;\n\n\t\tcase 1:\n\t\t\treturn _VirtualDom_applyPatchesHelp(domNode, patch.s);\n\n\t\tcase 2:\n\t\t\tif (domNode.elm_event_node_ref)\n\t\t\t{\n\t\t\t\tdomNode.elm_event_node_ref.j = patch.s;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tdomNode.elm_event_node_ref = { j: patch.s, p: patch.u };\n\t\t\t}\n\t\t\treturn domNode;\n\n\t\tcase 6:\n\t\t\tvar data = patch.s;\n\t\t\tfor (var i = 0; i < data.i; i++)\n\t\t\t{\n\t\t\t\tdomNode.removeChild(domNode.childNodes[data.v]);\n\t\t\t}\n\t\t\treturn domNode;\n\n\t\tcase 7:\n\t\t\tvar data = patch.s;\n\t\t\tvar kids = data.e;\n\t\t\tvar i = data.v;\n\t\t\tvar theEnd = domNode.childNodes[i];\n\t\t\tfor (; i < kids.length; i++)\n\t\t\t{\n\t\t\t\tdomNode.insertBefore(_VirtualDom_render(kids[i], patch.u), theEnd);\n\t\t\t}\n\t\t\treturn domNode;\n\n\t\tcase 9:\n\t\t\tvar data = patch.s;\n\t\t\tif (!data)\n\t\t\t{\n\t\t\t\tdomNode.parentNode.removeChild(domNode);\n\t\t\t\treturn domNode;\n\t\t\t}\n\t\t\tvar entry = data.A;\n\t\t\tif (typeof entry.r !== 'undefined')\n\t\t\t{\n\t\t\t\tdomNode.parentNode.removeChild(domNode);\n\t\t\t}\n\t\t\tentry.s = _VirtualDom_applyPatchesHelp(domNode, data.w);\n\t\t\treturn domNode;\n\n\t\tcase 8:\n\t\t\treturn _VirtualDom_applyPatchReorder(domNode, patch);\n\n\t\tcase 5:\n\t\t\treturn patch.s(domNode);\n\n\t\tdefault:\n\t\t\t_Debug_crash(10); // 'Ran into an unknown patch!'\n\t}\n}\n\n\nfunction _VirtualDom_applyPatchRedraw(domNode, vNode, eventNode)\n{\n\tvar parentNode = domNode.parentNode;\n\tvar newNode = _VirtualDom_render(vNode, eventNode);\n\n\tif (!newNode.elm_event_node_ref)\n\t{\n\t\tnewNode.elm_event_node_ref = domNode.elm_event_node_ref;\n\t}\n\n\tif (parentNode && newNode !== domNode)\n\t{\n\t\tparentNode.replaceChild(newNode, domNode);\n\t}\n\treturn newNode;\n}\n\n\nfunction _VirtualDom_applyPatchReorder(domNode, patch)\n{\n\tvar data = patch.s;\n\n\t// remove end inserts\n\tvar frag = _VirtualDom_applyPatchReorderEndInsertsHelp(data.y, patch);\n\n\t// removals\n\tdomNode = _VirtualDom_applyPatchesHelp(domNode, data.w);\n\n\t// inserts\n\tvar inserts = data.x;\n\tfor (var i = 0; i < inserts.length; i++)\n\t{\n\t\tvar insert = inserts[i];\n\t\tvar entry = insert.A;\n\t\tvar node = entry.c === 2\n\t\t\t? entry.s\n\t\t\t: _VirtualDom_render(entry.z, patch.u);\n\t\tdomNode.insertBefore(node, domNode.childNodes[insert.r]);\n\t}\n\n\t// add end inserts\n\tif (frag)\n\t{\n\t\t_VirtualDom_appendChild(domNode, frag);\n\t}\n\n\treturn domNode;\n}\n\n\nfunction _VirtualDom_applyPatchReorderEndInsertsHelp(endInserts, patch)\n{\n\tif (!endInserts)\n\t{\n\t\treturn;\n\t}\n\n\tvar frag = _VirtualDom_doc.createDocumentFragment();\n\tfor (var i = 0; i < endInserts.length; i++)\n\t{\n\t\tvar insert = endInserts[i];\n\t\tvar entry = insert.A;\n\t\t_VirtualDom_appendChild(frag, entry.c === 2\n\t\t\t? entry.s\n\t\t\t: _VirtualDom_render(entry.z, patch.u)\n\t\t);\n\t}\n\treturn frag;\n}\n\n\nfunction _VirtualDom_virtualize(node)\n{\n\t// TEXT NODES\n\n\tif (node.nodeType === 3)\n\t{\n\t\treturn _VirtualDom_text(node.textContent);\n\t}\n\n\n\t// WEIRD NODES\n\n\tif (node.nodeType !== 1)\n\t{\n\t\treturn _VirtualDom_text('');\n\t}\n\n\n\t// ELEMENT NODES\n\n\tvar attrList = _List_Nil;\n\tvar attrs = node.attributes;\n\tfor (var i = attrs.length; i--; )\n\t{\n\t\tvar attr = attrs[i];\n\t\tvar name = attr.name;\n\t\tvar value = attr.value;\n\t\tattrList = _List_Cons( A2(_VirtualDom_attribute, name, value), attrList );\n\t}\n\n\tvar tag = node.tagName.toLowerCase();\n\tvar kidList = _List_Nil;\n\tvar kids = node.childNodes;\n\n\tfor (var i = kids.length; i--; )\n\t{\n\t\tkidList = _List_Cons(_VirtualDom_virtualize(kids[i]), kidList);\n\t}\n\treturn A3(_VirtualDom_node, tag, attrList, kidList);\n}\n\nfunction _VirtualDom_dekey(keyedNode)\n{\n\tvar keyedKids = keyedNode.e;\n\tvar len = keyedKids.length;\n\tvar kids = new Array(len);\n\tfor (var i = 0; i < len; i++)\n\t{\n\t\tkids[i] = keyedKids[i].b;\n\t}\n\n\treturn {\n\t\t$: 1,\n\t\tc: keyedNode.c,\n\t\td: keyedNode.d,\n\t\te: kids,\n\t\tf: keyedNode.f,\n\t\tb: keyedNode.b\n\t};\n}\n\n\n\n\n// ELEMENT\n\n\nvar _Debugger_element;\n\nvar _Browser_element = _Debugger_element || F4(function(impl, flagDecoder, debugMetadata, args)\n{\n\treturn _Platform_initialize(\n\t\tflagDecoder,\n\t\targs,\n\t\timpl.aJ,\n\t\timpl.aU,\n\t\timpl.aS,\n\t\tfunction(sendToApp, initialModel) {\n\t\t\tvar view = impl.aW;\n\t\t\t/**/\n\t\t\tvar domNode = args['node'];\n\t\t\t//*/\n\t\t\t/**_UNUSED/\n\t\t\tvar domNode = args && args['node'] ? args['node'] : _Debug_crash(0);\n\t\t\t//*/\n\t\t\tvar currNode = _VirtualDom_virtualize(domNode);\n\n\t\t\treturn _Browser_makeAnimator(initialModel, function(model)\n\t\t\t{\n\t\t\t\tvar nextNode = view(model);\n\t\t\t\tvar patches = _VirtualDom_diff(currNode, nextNode);\n\t\t\t\tdomNode = _VirtualDom_applyPatches(domNode, currNode, patches, sendToApp);\n\t\t\t\tcurrNode = nextNode;\n\t\t\t});\n\t\t}\n\t);\n});\n\n\n\n// DOCUMENT\n\n\nvar _Debugger_document;\n\nvar _Browser_document = _Debugger_document || F4(function(impl, flagDecoder, debugMetadata, args)\n{\n\treturn _Platform_initialize(\n\t\tflagDecoder,\n\t\targs,\n\t\timpl.aJ,\n\t\timpl.aU,\n\t\timpl.aS,\n\t\tfunction(sendToApp, initialModel) {\n\t\t\tvar divertHrefToApp = impl.O && impl.O(sendToApp)\n\t\t\tvar view = impl.aW;\n\t\t\tvar title = _VirtualDom_doc.title;\n\t\t\tvar bodyNode = _VirtualDom_doc.body;\n\t\t\tvar currNode = _VirtualDom_virtualize(bodyNode);\n\t\t\treturn _Browser_makeAnimator(initialModel, function(model)\n\t\t\t{\n\t\t\t\t_VirtualDom_divertHrefToApp = divertHrefToApp;\n\t\t\t\tvar doc = view(model);\n\t\t\t\tvar nextNode = _VirtualDom_node('body')(_List_Nil)(doc.av);\n\t\t\t\tvar patches = _VirtualDom_diff(currNode, nextNode);\n\t\t\t\tbodyNode = _VirtualDom_applyPatches(bodyNode, currNode, patches, sendToApp);\n\t\t\t\tcurrNode = nextNode;\n\t\t\t\t_VirtualDom_divertHrefToApp = 0;\n\t\t\t\t(title !== doc.ao) && (_VirtualDom_doc.title = title = doc.ao);\n\t\t\t});\n\t\t}\n\t);\n});\n\n\n\n// ANIMATION\n\n\nvar _Browser_requestAnimationFrame =\n\ttypeof requestAnimationFrame !== 'undefined'\n\t\t? requestAnimationFrame\n\t\t: function(callback) { setTimeout(callback, 1000 / 60); };\n\n\nfunction _Browser_makeAnimator(model, draw)\n{\n\tdraw(model);\n\n\tvar state = 0;\n\n\tfunction updateIfNeeded()\n\t{\n\t\tstate = state === 1\n\t\t\t? 0\n\t\t\t: ( _Browser_requestAnimationFrame(updateIfNeeded), draw(model), 1 );\n\t}\n\n\treturn function(nextModel, isSync)\n\t{\n\t\tmodel = nextModel;\n\n\t\tisSync\n\t\t\t? ( draw(model),\n\t\t\t\tstate === 2 && (state = 1)\n\t\t\t\t)\n\t\t\t: ( state === 0 && _Browser_requestAnimationFrame(updateIfNeeded),\n\t\t\t\tstate = 2\n\t\t\t\t);\n\t};\n}\n\n\n\n// APPLICATION\n\n\nfunction _Browser_application(impl)\n{\n\tvar onUrlChange = impl.aN;\n\tvar onUrlRequest = impl.aO;\n\tvar key = function() { key.a(onUrlChange(_Browser_getUrl())); };\n\n\treturn _Browser_document({\n\t\tO: function(sendToApp)\n\t\t{\n\t\t\tkey.a = sendToApp;\n\t\t\t_Browser_window.addEventListener('popstate', key);\n\t\t\t_Browser_window.navigator.userAgent.indexOf('Trident') < 0 || _Browser_window.addEventListener('hashchange', key);\n\n\t\t\treturn F2(function(domNode, event)\n\t\t\t{\n\t\t\t\tif (!event.ctrlKey && !event.metaKey && !event.shiftKey && event.button < 1 && !domNode.target && !domNode.download)\n\t\t\t\t{\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tvar href = domNode.href;\n\t\t\t\t\tvar curr = _Browser_getUrl();\n\t\t\t\t\tvar next = $elm$url$Url$fromString(href).a;\n\t\t\t\t\tsendToApp(onUrlRequest(\n\t\t\t\t\t\t(next\n\t\t\t\t\t\t\t&& curr.ah === next.ah\n\t\t\t\t\t\t\t&& curr.Z === next.Z\n\t\t\t\t\t\t\t&& curr.ae.a === next.ae.a\n\t\t\t\t\t\t)\n\t\t\t\t\t\t\t? $elm$browser$Browser$Internal(next)\n\t\t\t\t\t\t\t: $elm$browser$Browser$External(href)\n\t\t\t\t\t));\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\taJ: function(flags)\n\t\t{\n\t\t\treturn A3(impl.aJ, flags, _Browser_getUrl(), key);\n\t\t},\n\t\taW: impl.aW,\n\t\taU: impl.aU,\n\t\taS: impl.aS\n\t});\n}\n\nfunction _Browser_getUrl()\n{\n\treturn $elm$url$Url$fromString(_VirtualDom_doc.location.href).a || _Debug_crash(1);\n}\n\nvar _Browser_go = F2(function(key, n)\n{\n\treturn A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() {\n\t\tn && history.go(n);\n\t\tkey();\n\t}));\n});\n\nvar _Browser_pushUrl = F2(function(key, url)\n{\n\treturn A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() {\n\t\thistory.pushState({}, '', url);\n\t\tkey();\n\t}));\n});\n\nvar _Browser_replaceUrl = F2(function(key, url)\n{\n\treturn A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() {\n\t\thistory.replaceState({}, '', url);\n\t\tkey();\n\t}));\n});\n\n\n\n// GLOBAL EVENTS\n\n\nvar _Browser_fakeNode = { addEventListener: function() {}, removeEventListener: function() {} };\nvar _Browser_doc = typeof document !== 'undefined' ? document : _Browser_fakeNode;\nvar _Browser_window = typeof window !== 'undefined' ? window : _Browser_fakeNode;\n\nvar _Browser_on = F3(function(node, eventName, sendToSelf)\n{\n\treturn _Scheduler_spawn(_Scheduler_binding(function(callback)\n\t{\n\t\tfunction handler(event)\t{ _Scheduler_rawSpawn(sendToSelf(event)); }\n\t\tnode.addEventListener(eventName, handler, _VirtualDom_passiveSupported && { passive: true });\n\t\treturn function() { node.removeEventListener(eventName, handler); };\n\t}));\n});\n\nvar _Browser_decodeEvent = F2(function(decoder, event)\n{\n\tvar result = _Json_runHelp(decoder, event);\n\treturn $elm$core$Result$isOk(result) ? $elm$core$Maybe$Just(result.a) : $elm$core$Maybe$Nothing;\n});\n\n\n\n// PAGE VISIBILITY\n\n\nfunction _Browser_visibilityInfo()\n{\n\treturn (typeof _VirtualDom_doc.hidden !== 'undefined')\n\t\t? { aG: 'hidden', y: 'visibilitychange' }\n\t\t:\n\t(typeof _VirtualDom_doc.mozHidden !== 'undefined')\n\t\t? { aG: 'mozHidden', y: 'mozvisibilitychange' }\n\t\t:\n\t(typeof _VirtualDom_doc.msHidden !== 'undefined')\n\t\t? { aG: 'msHidden', y: 'msvisibilitychange' }\n\t\t:\n\t(typeof _VirtualDom_doc.webkitHidden !== 'undefined')\n\t\t? { aG: 'webkitHidden', y: 'webkitvisibilitychange' }\n\t\t: { aG: 'hidden', y: 'visibilitychange' };\n}\n\n\n\n// ANIMATION FRAMES\n\n\nfunction _Browser_rAF()\n{\n\treturn _Scheduler_binding(function(callback)\n\t{\n\t\tvar id = requestAnimationFrame(function() {\n\t\t\tcallback(_Scheduler_succeed(Date.now()));\n\t\t});\n\n\t\treturn function() {\n\t\t\tcancelAnimationFrame(id);\n\t\t};\n\t});\n}\n\n\nfunction _Browser_now()\n{\n\treturn _Scheduler_binding(function(callback)\n\t{\n\t\tcallback(_Scheduler_succeed(Date.now()));\n\t});\n}\n\n\n\n// DOM STUFF\n\n\nfunction _Browser_withNode(id, doStuff)\n{\n\treturn _Scheduler_binding(function(callback)\n\t{\n\t\t_Browser_requestAnimationFrame(function() {\n\t\t\tvar node = document.getElementById(id);\n\t\t\tcallback(node\n\t\t\t\t? _Scheduler_succeed(doStuff(node))\n\t\t\t\t: _Scheduler_fail($elm$browser$Browser$Dom$NotFound(id))\n\t\t\t);\n\t\t});\n\t});\n}\n\n\nfunction _Browser_withWindow(doStuff)\n{\n\treturn _Scheduler_binding(function(callback)\n\t{\n\t\t_Browser_requestAnimationFrame(function() {\n\t\t\tcallback(_Scheduler_succeed(doStuff()));\n\t\t});\n\t});\n}\n\n\n// FOCUS and BLUR\n\n\nvar _Browser_call = F2(function(functionName, id)\n{\n\treturn _Browser_withNode(id, function(node) {\n\t\tnode[functionName]();\n\t\treturn _Utils_Tuple0;\n\t});\n});\n\n\n\n// WINDOW VIEWPORT\n\n\nfunction _Browser_getViewport()\n{\n\treturn {\n\t\tal: _Browser_getScene(),\n\t\taq: {\n\t\t\tG: _Browser_window.pageXOffset,\n\t\t\tH: _Browser_window.pageYOffset,\n\t\t\tw: _Browser_doc.documentElement.clientWidth,\n\t\t\tr: _Browser_doc.documentElement.clientHeight\n\t\t}\n\t};\n}\n\nfunction _Browser_getScene()\n{\n\tvar body = _Browser_doc.body;\n\tvar elem = _Browser_doc.documentElement;\n\treturn {\n\t\tw: Math.max(body.scrollWidth, body.offsetWidth, elem.scrollWidth, elem.offsetWidth, elem.clientWidth),\n\t\tr: Math.max(body.scrollHeight, body.offsetHeight, elem.scrollHeight, elem.offsetHeight, elem.clientHeight)\n\t};\n}\n\nvar _Browser_setViewport = F2(function(x, y)\n{\n\treturn _Browser_withWindow(function()\n\t{\n\t\t_Browser_window.scroll(x, y);\n\t\treturn _Utils_Tuple0;\n\t});\n});\n\n\n\n// ELEMENT VIEWPORT\n\n\nfunction _Browser_getViewportOf(id)\n{\n\treturn _Browser_withNode(id, function(node)\n\t{\n\t\treturn {\n\t\t\tal: {\n\t\t\t\tw: node.scrollWidth,\n\t\t\t\tr: node.scrollHeight\n\t\t\t},\n\t\t\taq: {\n\t\t\t\tG: node.scrollLeft,\n\t\t\t\tH: node.scrollTop,\n\t\t\t\tw: node.clientWidth,\n\t\t\t\tr: node.clientHeight\n\t\t\t}\n\t\t};\n\t});\n}\n\n\nvar _Browser_setViewportOf = F3(function(id, x, y)\n{\n\treturn _Browser_withNode(id, function(node)\n\t{\n\t\tnode.scrollLeft = x;\n\t\tnode.scrollTop = y;\n\t\treturn _Utils_Tuple0;\n\t});\n});\n\n\n\n// ELEMENT\n\n\nfunction _Browser_getElement(id)\n{\n\treturn _Browser_withNode(id, function(node)\n\t{\n\t\tvar rect = node.getBoundingClientRect();\n\t\tvar x = _Browser_window.pageXOffset;\n\t\tvar y = _Browser_window.pageYOffset;\n\t\treturn {\n\t\t\tal: _Browser_getScene(),\n\t\t\taq: {\n\t\t\t\tG: x,\n\t\t\t\tH: y,\n\t\t\t\tw: _Browser_doc.documentElement.clientWidth,\n\t\t\t\tr: _Browser_doc.documentElement.clientHeight\n\t\t\t},\n\t\t\taB: {\n\t\t\t\tG: x + rect.left,\n\t\t\t\tH: y + rect.top,\n\t\t\t\tw: rect.width,\n\t\t\t\tr: rect.height\n\t\t\t}\n\t\t};\n\t});\n}\n\n\n\n// LOAD and RELOAD\n\n\nfunction _Browser_reload(skipCache)\n{\n\treturn A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function(callback)\n\t{\n\t\t_VirtualDom_doc.location.reload(skipCache);\n\t}));\n}\n\nfunction _Browser_load(url)\n{\n\treturn A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function(callback)\n\t{\n\t\ttry\n\t\t{\n\t\t\t_Browser_window.location = url;\n\t\t}\n\t\tcatch(err)\n\t\t{\n\t\t\t// Only Firefox can throw a NS_ERROR_MALFORMED_URI exception here.\n\t\t\t// Other browsers reload the page, so let's be consistent about that.\n\t\t\t_VirtualDom_doc.location.reload(false);\n\t\t}\n\t}));\n}\n\n\n\n// SEND REQUEST\n\nvar _Http_toTask = F2(function(request, maybeProgress)\n{\n\treturn _Scheduler_binding(function(callback)\n\t{\n\t\tvar xhr = new XMLHttpRequest();\n\n\t\t_Http_configureProgress(xhr, maybeProgress);\n\n\t\txhr.addEventListener('error', function() {\n\t\t\tcallback(_Scheduler_fail($elm$http$Http$NetworkError));\n\t\t});\n\t\txhr.addEventListener('timeout', function() {\n\t\t\tcallback(_Scheduler_fail($elm$http$Http$Timeout));\n\t\t});\n\t\txhr.addEventListener('load', function() {\n\t\t\tcallback(_Http_handleResponse(xhr, request.aD.a));\n\t\t});\n\n\t\ttry\n\t\t{\n\t\t\txhr.open(request.aL, request.aV, true);\n\t\t}\n\t\tcatch (e)\n\t\t{\n\t\t\treturn callback(_Scheduler_fail($elm$http$Http$BadUrl(request.aV)));\n\t\t}\n\n\t\t_Http_configureRequest(xhr, request);\n\n\t\tvar body = request.av;\n\t\txhr.send($elm$http$Http$Internal$isStringBody(body)\n\t\t\t? (xhr.setRequestHeader('Content-Type', body.a), body.b)\n\t\t\t: body.a\n\t\t);\n\n\t\treturn function() { xhr.abort(); };\n\t});\n});\n\nfunction _Http_configureProgress(xhr, maybeProgress)\n{\n\tif (!$elm$core$Maybe$isJust(maybeProgress))\n\t{\n\t\treturn;\n\t}\n\n\txhr.addEventListener('progress', function(event) {\n\t\tif (!event.lengthComputable)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\t_Scheduler_rawSpawn(maybeProgress.a({\n\t\t\taw: event.loaded,\n\t\t\tax: event.total\n\t\t}));\n\t});\n}\n\nfunction _Http_configureRequest(xhr, request)\n{\n\tfor (var headers = request.aF; headers.b; headers = headers.b) // WHILE_CONS\n\t{\n\t\txhr.setRequestHeader(headers.a.a, headers.a.b);\n\t}\n\n\txhr.responseType = request.aD.b;\n\txhr.withCredentials = request.aX;\n\n\t$elm$core$Maybe$isJust(request.aT) && (xhr.timeout = request.aT.a);\n}\n\n\n// RESPONSES\n\nfunction _Http_handleResponse(xhr, responseToResult)\n{\n\tvar response = _Http_toResponse(xhr);\n\n\tif (xhr.status < 200 || 300 <= xhr.status)\n\t{\n\t\tresponse.body = xhr.responseText;\n\t\treturn _Scheduler_fail($elm$http$Http$BadStatus(response));\n\t}\n\n\tvar result = responseToResult(response);\n\n\tif ($elm$core$Result$isOk(result))\n\t{\n\t\treturn _Scheduler_succeed(result.a);\n\t}\n\telse\n\t{\n\t\tresponse.body = xhr.responseText;\n\t\treturn _Scheduler_fail(A2($elm$http$Http$BadPayload, result.a, response));\n\t}\n}\n\nfunction _Http_toResponse(xhr)\n{\n\treturn {\n\t\taV: xhr.responseURL,\n\t\tQ: { U: xhr.status, aK: xhr.statusText },\n\t\taF: _Http_parseHeaders(xhr.getAllResponseHeaders()),\n\t\tav: xhr.response\n\t};\n}\n\nfunction _Http_parseHeaders(rawHeaders)\n{\n\tvar headers = $elm$core$Dict$empty;\n\n\tif (!rawHeaders)\n\t{\n\t\treturn headers;\n\t}\n\n\tvar headerPairs = rawHeaders.split('\\u000d\\u000a');\n\tfor (var i = headerPairs.length; i--; )\n\t{\n\t\tvar headerPair = headerPairs[i];\n\t\tvar index = headerPair.indexOf('\\u003a\\u0020');\n\t\tif (index > 0)\n\t\t{\n\t\t\tvar key = headerPair.substring(0, index);\n\t\t\tvar value = headerPair.substring(index + 2);\n\n\t\t\theaders = A3($elm$core$Dict$update, key, function(oldValue) {\n\t\t\t\treturn $elm$core$Maybe$Just($elm$core$Maybe$isJust(oldValue)\n\t\t\t\t\t? value + ', ' + oldValue.a\n\t\t\t\t\t: value\n\t\t\t\t);\n\t\t\t}, headers);\n\t\t}\n\t}\n\n\treturn headers;\n}\n\n\n// EXPECTORS\n\nfunction _Http_expectStringResponse(responseToResult)\n{\n\treturn {\n\t\t$: 0,\n\t\tb: 'text',\n\t\ta: responseToResult\n\t};\n}\n\nvar _Http_mapExpect = F2(function(func, expect)\n{\n\treturn {\n\t\t$: 0,\n\t\tb: expect.b,\n\t\ta: function(response) {\n\t\t\tvar convertedResponse = expect.a(response);\n\t\t\treturn A2($elm$core$Result$map, func, convertedResponse);\n\t\t}\n\t};\n});\n\n\n// BODY\n\nfunction _Http_multipart(parts)\n{\n\n\n\tfor (var formData = new FormData(); parts.b; parts = parts.b) // WHILE_CONS\n\t{\n\t\tvar part = parts.a;\n\t\tformData.append(part.a, part.b);\n\t}\n\n\treturn $elm$http$Http$Internal$FormDataBody(formData);\n}\n\n\n\nfunction _Time_now(millisToPosix)\n{\n\treturn _Scheduler_binding(function(callback)\n\t{\n\t\tcallback(_Scheduler_succeed(millisToPosix(Date.now())));\n\t});\n}\n\nvar _Time_setInterval = F2(function(interval, task)\n{\n\treturn _Scheduler_binding(function(callback)\n\t{\n\t\tvar id = setInterval(function() { _Scheduler_rawSpawn(task); }, interval);\n\t\treturn function() { clearInterval(id); };\n\t});\n});\n\nfunction _Time_here()\n{\n\treturn _Scheduler_binding(function(callback)\n\t{\n\t\tcallback(_Scheduler_succeed(\n\t\t\tA2($elm$time$Time$customZone, -(new Date().getTimezoneOffset()), _List_Nil)\n\t\t));\n\t});\n}\n\n\nfunction _Time_getZoneName()\n{\n\treturn _Scheduler_binding(function(callback)\n\t{\n\t\ttry\n\t\t{\n\t\t\tvar name = $elm$time$Time$Name(Intl.DateTimeFormat().resolvedOptions().timeZone);\n\t\t}\n\t\tcatch (e)\n\t\t{\n\t\t\tvar name = $elm$time$Time$Offset(new Date().getTimezoneOffset());\n\t\t}\n\t\tcallback(_Scheduler_succeed(name));\n\t});\n}\nvar $elm$core$List$cons = _List_cons;\nvar $elm$core$Elm$JsArray$foldr = _JsArray_foldr;\nvar $elm$core$Array$foldr = F3(\n\tfunction (func, baseCase, _v0) {\n\t\tvar tree = _v0.c;\n\t\tvar tail = _v0.d;\n\t\tvar helper = F2(\n\t\t\tfunction (node, acc) {\n\t\t\t\tif (!node.$) {\n\t\t\t\t\tvar subTree = node.a;\n\t\t\t\t\treturn A3($elm$core$Elm$JsArray$foldr, helper, acc, subTree);\n\t\t\t\t} else {\n\t\t\t\t\tvar values = node.a;\n\t\t\t\t\treturn A3($elm$core$Elm$JsArray$foldr, func, acc, values);\n\t\t\t\t}\n\t\t\t});\n\t\treturn A3(\n\t\t\t$elm$core$Elm$JsArray$foldr,\n\t\t\thelper,\n\t\t\tA3($elm$core$Elm$JsArray$foldr, func, baseCase, tail),\n\t\t\ttree);\n\t});\nvar $elm$core$Array$toList = function (array) {\n\treturn A3($elm$core$Array$foldr, $elm$core$List$cons, _List_Nil, array);\n};\nvar $elm$core$Dict$foldr = F3(\n\tfunction (func, acc, t) {\n\t\tfoldr:\n\t\twhile (true) {\n\t\t\tif (t.$ === -2) {\n\t\t\t\treturn acc;\n\t\t\t} else {\n\t\t\t\tvar key = t.b;\n\t\t\t\tvar value = t.c;\n\t\t\t\tvar left = t.d;\n\t\t\t\tvar right = t.e;\n\t\t\t\tvar $temp$func = func,\n\t\t\t\t\t$temp$acc = A3(\n\t\t\t\t\tfunc,\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue,\n\t\t\t\t\tA3($elm$core$Dict$foldr, func, acc, right)),\n\t\t\t\t\t$temp$t = left;\n\t\t\t\tfunc = $temp$func;\n\t\t\t\tacc = $temp$acc;\n\t\t\t\tt = $temp$t;\n\t\t\t\tcontinue foldr;\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Dict$toList = function (dict) {\n\treturn A3(\n\t\t$elm$core$Dict$foldr,\n\t\tF3(\n\t\t\tfunction (key, value, list) {\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t_Utils_Tuple2(key, value),\n\t\t\t\t\tlist);\n\t\t\t}),\n\t\t_List_Nil,\n\t\tdict);\n};\nvar $elm$core$Dict$keys = function (dict) {\n\treturn A3(\n\t\t$elm$core$Dict$foldr,\n\t\tF3(\n\t\t\tfunction (key, value, keyList) {\n\t\t\t\treturn A2($elm$core$List$cons, key, keyList);\n\t\t\t}),\n\t\t_List_Nil,\n\t\tdict);\n};\nvar $elm$core$Set$toList = function (_v0) {\n\tvar dict = _v0;\n\treturn $elm$core$Dict$keys(dict);\n};\nvar $elm$core$Basics$EQ = 1;\nvar $elm$core$Basics$GT = 2;\nvar $elm$core$Basics$LT = 0;\nvar $elm$core$Result$Err = function (a) {\n\treturn {$: 1, a: a};\n};\nvar $elm$json$Json$Decode$Failure = F2(\n\tfunction (a, b) {\n\t\treturn {$: 3, a: a, b: b};\n\t});\nvar $elm$json$Json$Decode$Field = F2(\n\tfunction (a, b) {\n\t\treturn {$: 0, a: a, b: b};\n\t});\nvar $elm$json$Json$Decode$Index = F2(\n\tfunction (a, b) {\n\t\treturn {$: 1, a: a, b: b};\n\t});\nvar $elm$core$Result$Ok = function (a) {\n\treturn {$: 0, a: a};\n};\nvar $elm$json$Json$Decode$OneOf = function (a) {\n\treturn {$: 2, a: a};\n};\nvar $elm$core$Basics$False = 1;\nvar $elm$core$Basics$add = _Basics_add;\nvar $elm$core$Maybe$Just = function (a) {\n\treturn {$: 0, a: a};\n};\nvar $elm$core$Maybe$Nothing = {$: 1};\nvar $elm$core$String$all = _String_all;\nvar $elm$core$Basics$and = _Basics_and;\nvar $elm$core$Basics$append = _Utils_append;\nvar $elm$json$Json$Encode$encode = _Json_encode;\nvar $elm$core$String$fromInt = _String_fromNumber;\nvar $elm$core$String$join = F2(\n\tfunction (sep, chunks) {\n\t\treturn A2(\n\t\t\t_String_join,\n\t\t\tsep,\n\t\t\t_List_toArray(chunks));\n\t});\nvar $elm$core$String$split = F2(\n\tfunction (sep, string) {\n\t\treturn _List_fromArray(\n\t\t\tA2(_String_split, sep, string));\n\t});\nvar $elm$json$Json$Decode$indent = function (str) {\n\treturn A2(\n\t\t$elm$core$String$join,\n\t\t'\\n ',\n\t\tA2($elm$core$String$split, '\\n', str));\n};\nvar $elm$core$List$foldl = F3(\n\tfunction (func, acc, list) {\n\t\tfoldl:\n\t\twhile (true) {\n\t\t\tif (!list.b) {\n\t\t\t\treturn acc;\n\t\t\t} else {\n\t\t\t\tvar x = list.a;\n\t\t\t\tvar xs = list.b;\n\t\t\t\tvar $temp$func = func,\n\t\t\t\t\t$temp$acc = A2(func, x, acc),\n\t\t\t\t\t$temp$list = xs;\n\t\t\t\tfunc = $temp$func;\n\t\t\t\tacc = $temp$acc;\n\t\t\t\tlist = $temp$list;\n\t\t\t\tcontinue foldl;\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$List$length = function (xs) {\n\treturn A3(\n\t\t$elm$core$List$foldl,\n\t\tF2(\n\t\t\tfunction (_v0, i) {\n\t\t\t\treturn i + 1;\n\t\t\t}),\n\t\t0,\n\t\txs);\n};\nvar $elm$core$List$map2 = _List_map2;\nvar $elm$core$Basics$le = _Utils_le;\nvar $elm$core$Basics$sub = _Basics_sub;\nvar $elm$core$List$rangeHelp = F3(\n\tfunction (lo, hi, list) {\n\t\trangeHelp:\n\t\twhile (true) {\n\t\t\tif (_Utils_cmp(lo, hi) < 1) {\n\t\t\t\tvar $temp$lo = lo,\n\t\t\t\t\t$temp$hi = hi - 1,\n\t\t\t\t\t$temp$list = A2($elm$core$List$cons, hi, list);\n\t\t\t\tlo = $temp$lo;\n\t\t\t\thi = $temp$hi;\n\t\t\t\tlist = $temp$list;\n\t\t\t\tcontinue rangeHelp;\n\t\t\t} else {\n\t\t\t\treturn list;\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$List$range = F2(\n\tfunction (lo, hi) {\n\t\treturn A3($elm$core$List$rangeHelp, lo, hi, _List_Nil);\n\t});\nvar $elm$core$List$indexedMap = F2(\n\tfunction (f, xs) {\n\t\treturn A3(\n\t\t\t$elm$core$List$map2,\n\t\t\tf,\n\t\t\tA2(\n\t\t\t\t$elm$core$List$range,\n\t\t\t\t0,\n\t\t\t\t$elm$core$List$length(xs) - 1),\n\t\t\txs);\n\t});\nvar $elm$core$Char$toCode = _Char_toCode;\nvar $elm$core$Char$isLower = function (_char) {\n\tvar code = $elm$core$Char$toCode(_char);\n\treturn (97 <= code) && (code <= 122);\n};\nvar $elm$core$Char$isUpper = function (_char) {\n\tvar code = $elm$core$Char$toCode(_char);\n\treturn (code <= 90) && (65 <= code);\n};\nvar $elm$core$Basics$or = _Basics_or;\nvar $elm$core$Char$isAlpha = function (_char) {\n\treturn $elm$core$Char$isLower(_char) || $elm$core$Char$isUpper(_char);\n};\nvar $elm$core$Char$isDigit = function (_char) {\n\tvar code = $elm$core$Char$toCode(_char);\n\treturn (code <= 57) && (48 <= code);\n};\nvar $elm$core$Char$isAlphaNum = function (_char) {\n\treturn $elm$core$Char$isLower(_char) || ($elm$core$Char$isUpper(_char) || $elm$core$Char$isDigit(_char));\n};\nvar $elm$core$List$reverse = function (list) {\n\treturn A3($elm$core$List$foldl, $elm$core$List$cons, _List_Nil, list);\n};\nvar $elm$core$String$uncons = _String_uncons;\nvar $elm$json$Json$Decode$errorOneOf = F2(\n\tfunction (i, error) {\n\t\treturn '\\n\\n(' + ($elm$core$String$fromInt(i + 1) + (') ' + $elm$json$Json$Decode$indent(\n\t\t\t$elm$json$Json$Decode$errorToString(error))));\n\t});\nvar $elm$json$Json$Decode$errorToString = function (error) {\n\treturn A2($elm$json$Json$Decode$errorToStringHelp, error, _List_Nil);\n};\nvar $elm$json$Json$Decode$errorToStringHelp = F2(\n\tfunction (error, context) {\n\t\terrorToStringHelp:\n\t\twhile (true) {\n\t\t\tswitch (error.$) {\n\t\t\t\tcase 0:\n\t\t\t\t\tvar f = error.a;\n\t\t\t\t\tvar err = error.b;\n\t\t\t\t\tvar isSimple = function () {\n\t\t\t\t\t\tvar _v1 = $elm$core$String$uncons(f);\n\t\t\t\t\t\tif (_v1.$ === 1) {\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar _v2 = _v1.a;\n\t\t\t\t\t\t\tvar _char = _v2.a;\n\t\t\t\t\t\t\tvar rest = _v2.b;\n\t\t\t\t\t\t\treturn $elm$core$Char$isAlpha(_char) && A2($elm$core$String$all, $elm$core$Char$isAlphaNum, rest);\n\t\t\t\t\t\t}\n\t\t\t\t\t}();\n\t\t\t\t\tvar fieldName = isSimple ? ('.' + f) : ('[\\'' + (f + '\\']'));\n\t\t\t\t\tvar $temp$error = err,\n\t\t\t\t\t\t$temp$context = A2($elm$core$List$cons, fieldName, context);\n\t\t\t\t\terror = $temp$error;\n\t\t\t\t\tcontext = $temp$context;\n\t\t\t\t\tcontinue errorToStringHelp;\n\t\t\t\tcase 1:\n\t\t\t\t\tvar i = error.a;\n\t\t\t\t\tvar err = error.b;\n\t\t\t\t\tvar indexName = '[' + ($elm$core$String$fromInt(i) + ']');\n\t\t\t\t\tvar $temp$error = err,\n\t\t\t\t\t\t$temp$context = A2($elm$core$List$cons, indexName, context);\n\t\t\t\t\terror = $temp$error;\n\t\t\t\t\tcontext = $temp$context;\n\t\t\t\t\tcontinue errorToStringHelp;\n\t\t\t\tcase 2:\n\t\t\t\t\tvar errors = error.a;\n\t\t\t\t\tif (!errors.b) {\n\t\t\t\t\t\treturn 'Ran into a Json.Decode.oneOf with no possibilities' + function () {\n\t\t\t\t\t\t\tif (!context.b) {\n\t\t\t\t\t\t\t\treturn '!';\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\treturn ' at json' + A2(\n\t\t\t\t\t\t\t\t\t$elm$core$String$join,\n\t\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t\t\t$elm$core$List$reverse(context));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (!errors.b.b) {\n\t\t\t\t\t\t\tvar err = errors.a;\n\t\t\t\t\t\t\tvar $temp$error = err,\n\t\t\t\t\t\t\t\t$temp$context = context;\n\t\t\t\t\t\t\terror = $temp$error;\n\t\t\t\t\t\t\tcontext = $temp$context;\n\t\t\t\t\t\t\tcontinue errorToStringHelp;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar starter = function () {\n\t\t\t\t\t\t\t\tif (!context.b) {\n\t\t\t\t\t\t\t\t\treturn 'Json.Decode.oneOf';\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\treturn 'The Json.Decode.oneOf at json' + A2(\n\t\t\t\t\t\t\t\t\t\t$elm$core$String$join,\n\t\t\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t\t\t\t$elm$core$List$reverse(context));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}();\n\t\t\t\t\t\t\tvar introduction = starter + (' failed in the following ' + ($elm$core$String$fromInt(\n\t\t\t\t\t\t\t\t$elm$core$List$length(errors)) + ' ways:'));\n\t\t\t\t\t\t\treturn A2(\n\t\t\t\t\t\t\t\t$elm$core$String$join,\n\t\t\t\t\t\t\t\t'\\n\\n',\n\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t\t\t\tintroduction,\n\t\t\t\t\t\t\t\t\tA2($elm$core$List$indexedMap, $elm$json$Json$Decode$errorOneOf, errors)));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\tvar msg = error.a;\n\t\t\t\t\tvar json = error.b;\n\t\t\t\t\tvar introduction = function () {\n\t\t\t\t\t\tif (!context.b) {\n\t\t\t\t\t\t\treturn 'Problem with the given value:\\n\\n';\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn 'Problem with the value at json' + (A2(\n\t\t\t\t\t\t\t\t$elm$core$String$join,\n\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t\t$elm$core$List$reverse(context)) + ':\\n\\n ');\n\t\t\t\t\t\t}\n\t\t\t\t\t}();\n\t\t\t\t\treturn introduction + ($elm$json$Json$Decode$indent(\n\t\t\t\t\t\tA2($elm$json$Json$Encode$encode, 4, json)) + ('\\n\\n' + msg));\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Array$branchFactor = 32;\nvar $elm$core$Array$Array_elm_builtin = F4(\n\tfunction (a, b, c, d) {\n\t\treturn {$: 0, a: a, b: b, c: c, d: d};\n\t});\nvar $elm$core$Elm$JsArray$empty = _JsArray_empty;\nvar $elm$core$Basics$ceiling = _Basics_ceiling;\nvar $elm$core$Basics$fdiv = _Basics_fdiv;\nvar $elm$core$Basics$logBase = F2(\n\tfunction (base, number) {\n\t\treturn _Basics_log(number) / _Basics_log(base);\n\t});\nvar $elm$core$Basics$toFloat = _Basics_toFloat;\nvar $elm$core$Array$shiftStep = $elm$core$Basics$ceiling(\n\tA2($elm$core$Basics$logBase, 2, $elm$core$Array$branchFactor));\nvar $elm$core$Array$empty = A4($elm$core$Array$Array_elm_builtin, 0, $elm$core$Array$shiftStep, $elm$core$Elm$JsArray$empty, $elm$core$Elm$JsArray$empty);\nvar $elm$core$Elm$JsArray$initialize = _JsArray_initialize;\nvar $elm$core$Array$Leaf = function (a) {\n\treturn {$: 1, a: a};\n};\nvar $elm$core$Basics$apL = F2(\n\tfunction (f, x) {\n\t\treturn f(x);\n\t});\nvar $elm$core$Basics$apR = F2(\n\tfunction (x, f) {\n\t\treturn f(x);\n\t});\nvar $elm$core$Basics$eq = _Utils_equal;\nvar $elm$core$Basics$floor = _Basics_floor;\nvar $elm$core$Elm$JsArray$length = _JsArray_length;\nvar $elm$core$Basics$gt = _Utils_gt;\nvar $elm$core$Basics$max = F2(\n\tfunction (x, y) {\n\t\treturn (_Utils_cmp(x, y) > 0) ? x : y;\n\t});\nvar $elm$core$Basics$mul = _Basics_mul;\nvar $elm$core$Array$SubTree = function (a) {\n\treturn {$: 0, a: a};\n};\nvar $elm$core$Elm$JsArray$initializeFromList = _JsArray_initializeFromList;\nvar $elm$core$Array$compressNodes = F2(\n\tfunction (nodes, acc) {\n\t\tcompressNodes:\n\t\twhile (true) {\n\t\t\tvar _v0 = A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, nodes);\n\t\t\tvar node = _v0.a;\n\t\t\tvar remainingNodes = _v0.b;\n\t\t\tvar newAcc = A2(\n\t\t\t\t$elm$core$List$cons,\n\t\t\t\t$elm$core$Array$SubTree(node),\n\t\t\t\tacc);\n\t\t\tif (!remainingNodes.b) {\n\t\t\t\treturn $elm$core$List$reverse(newAcc);\n\t\t\t} else {\n\t\t\t\tvar $temp$nodes = remainingNodes,\n\t\t\t\t\t$temp$acc = newAcc;\n\t\t\t\tnodes = $temp$nodes;\n\t\t\t\tacc = $temp$acc;\n\t\t\t\tcontinue compressNodes;\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Tuple$first = function (_v0) {\n\tvar x = _v0.a;\n\treturn x;\n};\nvar $elm$core$Array$treeFromBuilder = F2(\n\tfunction (nodeList, nodeListSize) {\n\t\ttreeFromBuilder:\n\t\twhile (true) {\n\t\t\tvar newNodeSize = $elm$core$Basics$ceiling(nodeListSize / $elm$core$Array$branchFactor);\n\t\t\tif (newNodeSize === 1) {\n\t\t\t\treturn A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, nodeList).a;\n\t\t\t} else {\n\t\t\t\tvar $temp$nodeList = A2($elm$core$Array$compressNodes, nodeList, _List_Nil),\n\t\t\t\t\t$temp$nodeListSize = newNodeSize;\n\t\t\t\tnodeList = $temp$nodeList;\n\t\t\t\tnodeListSize = $temp$nodeListSize;\n\t\t\t\tcontinue treeFromBuilder;\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Array$builderToArray = F2(\n\tfunction (reverseNodeList, builder) {\n\t\tif (!builder.a) {\n\t\t\treturn A4(\n\t\t\t\t$elm$core$Array$Array_elm_builtin,\n\t\t\t\t$elm$core$Elm$JsArray$length(builder.c),\n\t\t\t\t$elm$core$Array$shiftStep,\n\t\t\t\t$elm$core$Elm$JsArray$empty,\n\t\t\t\tbuilder.c);\n\t\t} else {\n\t\t\tvar treeLen = builder.a * $elm$core$Array$branchFactor;\n\t\t\tvar depth = $elm$core$Basics$floor(\n\t\t\t\tA2($elm$core$Basics$logBase, $elm$core$Array$branchFactor, treeLen - 1));\n\t\t\tvar correctNodeList = reverseNodeList ? $elm$core$List$reverse(builder.d) : builder.d;\n\t\t\tvar tree = A2($elm$core$Array$treeFromBuilder, correctNodeList, builder.a);\n\t\t\treturn A4(\n\t\t\t\t$elm$core$Array$Array_elm_builtin,\n\t\t\t\t$elm$core$Elm$JsArray$length(builder.c) + treeLen,\n\t\t\t\tA2($elm$core$Basics$max, 5, depth * $elm$core$Array$shiftStep),\n\t\t\t\ttree,\n\t\t\t\tbuilder.c);\n\t\t}\n\t});\nvar $elm$core$Basics$idiv = _Basics_idiv;\nvar $elm$core$Basics$lt = _Utils_lt;\nvar $elm$core$Array$initializeHelp = F5(\n\tfunction (fn, fromIndex, len, nodeList, tail) {\n\t\tinitializeHelp:\n\t\twhile (true) {\n\t\t\tif (fromIndex < 0) {\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$core$Array$builderToArray,\n\t\t\t\t\tfalse,\n\t\t\t\t\t{d: nodeList, a: (len / $elm$core$Array$branchFactor) | 0, c: tail});\n\t\t\t} else {\n\t\t\t\tvar leaf = $elm$core$Array$Leaf(\n\t\t\t\t\tA3($elm$core$Elm$JsArray$initialize, $elm$core$Array$branchFactor, fromIndex, fn));\n\t\t\t\tvar $temp$fn = fn,\n\t\t\t\t\t$temp$fromIndex = fromIndex - $elm$core$Array$branchFactor,\n\t\t\t\t\t$temp$len = len,\n\t\t\t\t\t$temp$nodeList = A2($elm$core$List$cons, leaf, nodeList),\n\t\t\t\t\t$temp$tail = tail;\n\t\t\t\tfn = $temp$fn;\n\t\t\t\tfromIndex = $temp$fromIndex;\n\t\t\t\tlen = $temp$len;\n\t\t\t\tnodeList = $temp$nodeList;\n\t\t\t\ttail = $temp$tail;\n\t\t\t\tcontinue initializeHelp;\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Basics$remainderBy = _Basics_remainderBy;\nvar $elm$core$Array$initialize = F2(\n\tfunction (len, fn) {\n\t\tif (len <= 0) {\n\t\t\treturn $elm$core$Array$empty;\n\t\t} else {\n\t\t\tvar tailLen = len % $elm$core$Array$branchFactor;\n\t\t\tvar tail = A3($elm$core$Elm$JsArray$initialize, tailLen, len - tailLen, fn);\n\t\t\tvar initialFromIndex = (len - tailLen) - $elm$core$Array$branchFactor;\n\t\t\treturn A5($elm$core$Array$initializeHelp, fn, initialFromIndex, len, _List_Nil, tail);\n\t\t}\n\t});\nvar $elm$core$Basics$True = 0;\nvar $elm$core$Result$isOk = function (result) {\n\tif (!result.$) {\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\nvar $elm$json$Json$Decode$andThen = _Json_andThen;\nvar $elm$json$Json$Decode$map = _Json_map1;\nvar $elm$json$Json$Decode$map2 = _Json_map2;\nvar $elm$json$Json$Decode$succeed = _Json_succeed;\nvar $elm$virtual_dom$VirtualDom$toHandlerInt = function (handler) {\n\tswitch (handler.$) {\n\t\tcase 0:\n\t\t\treturn 0;\n\t\tcase 1:\n\t\t\treturn 1;\n\t\tcase 2:\n\t\t\treturn 2;\n\t\tdefault:\n\t\t\treturn 3;\n\t}\n};\nvar $elm$browser$Browser$External = function (a) {\n\treturn {$: 1, a: a};\n};\nvar $elm$browser$Browser$Internal = function (a) {\n\treturn {$: 0, a: a};\n};\nvar $elm$core$Basics$identity = function (x) {\n\treturn x;\n};\nvar $elm$browser$Browser$Dom$NotFound = $elm$core$Basics$identity;\nvar $elm$url$Url$Http = 0;\nvar $elm$url$Url$Https = 1;\nvar $elm$url$Url$Url = F6(\n\tfunction (protocol, host, port_, path, query, fragment) {\n\t\treturn {Y: fragment, Z: host, ac: path, ae: port_, ah: protocol, ai: query};\n\t});\nvar $elm$core$String$contains = _String_contains;\nvar $elm$core$String$length = _String_length;\nvar $elm$core$String$slice = _String_slice;\nvar $elm$core$String$dropLeft = F2(\n\tfunction (n, string) {\n\t\treturn (n < 1) ? string : A3(\n\t\t\t$elm$core$String$slice,\n\t\t\tn,\n\t\t\t$elm$core$String$length(string),\n\t\t\tstring);\n\t});\nvar $elm$core$String$indexes = _String_indexes;\nvar $elm$core$String$isEmpty = function (string) {\n\treturn string === '';\n};\nvar $elm$core$String$left = F2(\n\tfunction (n, string) {\n\t\treturn (n < 1) ? '' : A3($elm$core$String$slice, 0, n, string);\n\t});\nvar $elm$core$String$toInt = _String_toInt;\nvar $elm$url$Url$chompBeforePath = F5(\n\tfunction (protocol, path, params, frag, str) {\n\t\tif ($elm$core$String$isEmpty(str) || A2($elm$core$String$contains, '@', str)) {\n\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t} else {\n\t\t\tvar _v0 = A2($elm$core$String$indexes, ':', str);\n\t\t\tif (!_v0.b) {\n\t\t\t\treturn $elm$core$Maybe$Just(\n\t\t\t\t\tA6($elm$url$Url$Url, protocol, str, $elm$core$Maybe$Nothing, path, params, frag));\n\t\t\t} else {\n\t\t\t\tif (!_v0.b.b) {\n\t\t\t\t\tvar i = _v0.a;\n\t\t\t\t\tvar _v1 = $elm$core$String$toInt(\n\t\t\t\t\t\tA2($elm$core$String$dropLeft, i + 1, str));\n\t\t\t\t\tif (_v1.$ === 1) {\n\t\t\t\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar port_ = _v1;\n\t\t\t\t\t\treturn $elm$core$Maybe$Just(\n\t\t\t\t\t\t\tA6(\n\t\t\t\t\t\t\t\t$elm$url$Url$Url,\n\t\t\t\t\t\t\t\tprotocol,\n\t\t\t\t\t\t\t\tA2($elm$core$String$left, i, str),\n\t\t\t\t\t\t\t\tport_,\n\t\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\t\tparams,\n\t\t\t\t\t\t\t\tfrag));\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\nvar $elm$url$Url$chompBeforeQuery = F4(\n\tfunction (protocol, params, frag, str) {\n\t\tif ($elm$core$String$isEmpty(str)) {\n\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t} else {\n\t\t\tvar _v0 = A2($elm$core$String$indexes, '/', str);\n\t\t\tif (!_v0.b) {\n\t\t\t\treturn A5($elm$url$Url$chompBeforePath, protocol, '/', params, frag, str);\n\t\t\t} else {\n\t\t\t\tvar i = _v0.a;\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$url$Url$chompBeforePath,\n\t\t\t\t\tprotocol,\n\t\t\t\t\tA2($elm$core$String$dropLeft, i, str),\n\t\t\t\t\tparams,\n\t\t\t\t\tfrag,\n\t\t\t\t\tA2($elm$core$String$left, i, str));\n\t\t\t}\n\t\t}\n\t});\nvar $elm$url$Url$chompBeforeFragment = F3(\n\tfunction (protocol, frag, str) {\n\t\tif ($elm$core$String$isEmpty(str)) {\n\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t} else {\n\t\t\tvar _v0 = A2($elm$core$String$indexes, '?', str);\n\t\t\tif (!_v0.b) {\n\t\t\t\treturn A4($elm$url$Url$chompBeforeQuery, protocol, $elm$core$Maybe$Nothing, frag, str);\n\t\t\t} else {\n\t\t\t\tvar i = _v0.a;\n\t\t\t\treturn A4(\n\t\t\t\t\t$elm$url$Url$chompBeforeQuery,\n\t\t\t\t\tprotocol,\n\t\t\t\t\t$elm$core$Maybe$Just(\n\t\t\t\t\t\tA2($elm$core$String$dropLeft, i + 1, str)),\n\t\t\t\t\tfrag,\n\t\t\t\t\tA2($elm$core$String$left, i, str));\n\t\t\t}\n\t\t}\n\t});\nvar $elm$url$Url$chompAfterProtocol = F2(\n\tfunction (protocol, str) {\n\t\tif ($elm$core$String$isEmpty(str)) {\n\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t} else {\n\t\t\tvar _v0 = A2($elm$core$String$indexes, '#', str);\n\t\t\tif (!_v0.b) {\n\t\t\t\treturn A3($elm$url$Url$chompBeforeFragment, protocol, $elm$core$Maybe$Nothing, str);\n\t\t\t} else {\n\t\t\t\tvar i = _v0.a;\n\t\t\t\treturn A3(\n\t\t\t\t\t$elm$url$Url$chompBeforeFragment,\n\t\t\t\t\tprotocol,\n\t\t\t\t\t$elm$core$Maybe$Just(\n\t\t\t\t\t\tA2($elm$core$String$dropLeft, i + 1, str)),\n\t\t\t\t\tA2($elm$core$String$left, i, str));\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$String$startsWith = _String_startsWith;\nvar $elm$url$Url$fromString = function (str) {\n\treturn A2($elm$core$String$startsWith, 'http://', str) ? A2(\n\t\t$elm$url$Url$chompAfterProtocol,\n\t\t0,\n\t\tA2($elm$core$String$dropLeft, 7, str)) : (A2($elm$core$String$startsWith, 'https://', str) ? A2(\n\t\t$elm$url$Url$chompAfterProtocol,\n\t\t1,\n\t\tA2($elm$core$String$dropLeft, 8, str)) : $elm$core$Maybe$Nothing);\n};\nvar $elm$core$Basics$never = function (_v0) {\n\tnever:\n\twhile (true) {\n\t\tvar nvr = _v0;\n\t\tvar $temp$_v0 = nvr;\n\t\t_v0 = $temp$_v0;\n\t\tcontinue never;\n\t}\n};\nvar $elm$core$Task$Perform = $elm$core$Basics$identity;\nvar $elm$core$Task$succeed = _Scheduler_succeed;\nvar $elm$core$Task$init = $elm$core$Task$succeed(0);\nvar $elm$core$List$foldrHelper = F4(\n\tfunction (fn, acc, ctr, ls) {\n\t\tif (!ls.b) {\n\t\t\treturn acc;\n\t\t} else {\n\t\t\tvar a = ls.a;\n\t\t\tvar r1 = ls.b;\n\t\t\tif (!r1.b) {\n\t\t\t\treturn A2(fn, a, acc);\n\t\t\t} else {\n\t\t\t\tvar b = r1.a;\n\t\t\t\tvar r2 = r1.b;\n\t\t\t\tif (!r2.b) {\n\t\t\t\t\treturn A2(\n\t\t\t\t\t\tfn,\n\t\t\t\t\t\ta,\n\t\t\t\t\t\tA2(fn, b, acc));\n\t\t\t\t} else {\n\t\t\t\t\tvar c = r2.a;\n\t\t\t\t\tvar r3 = r2.b;\n\t\t\t\t\tif (!r3.b) {\n\t\t\t\t\t\treturn A2(\n\t\t\t\t\t\t\tfn,\n\t\t\t\t\t\t\ta,\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\tfn,\n\t\t\t\t\t\t\t\tb,\n\t\t\t\t\t\t\t\tA2(fn, c, acc)));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar d = r3.a;\n\t\t\t\t\t\tvar r4 = r3.b;\n\t\t\t\t\t\tvar res = (ctr > 500) ? A3(\n\t\t\t\t\t\t\t$elm$core$List$foldl,\n\t\t\t\t\t\t\tfn,\n\t\t\t\t\t\t\tacc,\n\t\t\t\t\t\t\t$elm$core$List$reverse(r4)) : A4($elm$core$List$foldrHelper, fn, acc, ctr + 1, r4);\n\t\t\t\t\t\treturn A2(\n\t\t\t\t\t\t\tfn,\n\t\t\t\t\t\t\ta,\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\tfn,\n\t\t\t\t\t\t\t\tb,\n\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\tfn,\n\t\t\t\t\t\t\t\t\tc,\n\t\t\t\t\t\t\t\t\tA2(fn, d, res))));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$List$foldr = F3(\n\tfunction (fn, acc, ls) {\n\t\treturn A4($elm$core$List$foldrHelper, fn, acc, 0, ls);\n\t});\nvar $elm$core$List$map = F2(\n\tfunction (f, xs) {\n\t\treturn A3(\n\t\t\t$elm$core$List$foldr,\n\t\t\tF2(\n\t\t\t\tfunction (x, acc) {\n\t\t\t\t\treturn A2(\n\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\tf(x),\n\t\t\t\t\t\tacc);\n\t\t\t\t}),\n\t\t\t_List_Nil,\n\t\t\txs);\n\t});\nvar $elm$core$Task$andThen = _Scheduler_andThen;\nvar $elm$core$Task$map = F2(\n\tfunction (func, taskA) {\n\t\treturn A2(\n\t\t\t$elm$core$Task$andThen,\n\t\t\tfunction (a) {\n\t\t\t\treturn $elm$core$Task$succeed(\n\t\t\t\t\tfunc(a));\n\t\t\t},\n\t\t\ttaskA);\n\t});\nvar $elm$core$Task$map2 = F3(\n\tfunction (func, taskA, taskB) {\n\t\treturn A2(\n\t\t\t$elm$core$Task$andThen,\n\t\t\tfunction (a) {\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$core$Task$andThen,\n\t\t\t\t\tfunction (b) {\n\t\t\t\t\t\treturn $elm$core$Task$succeed(\n\t\t\t\t\t\t\tA2(func, a, b));\n\t\t\t\t\t},\n\t\t\t\t\ttaskB);\n\t\t\t},\n\t\t\ttaskA);\n\t});\nvar $elm$core$Task$sequence = function (tasks) {\n\treturn A3(\n\t\t$elm$core$List$foldr,\n\t\t$elm$core$Task$map2($elm$core$List$cons),\n\t\t$elm$core$Task$succeed(_List_Nil),\n\t\ttasks);\n};\nvar $elm$core$Platform$sendToApp = _Platform_sendToApp;\nvar $elm$core$Task$spawnCmd = F2(\n\tfunction (router, _v0) {\n\t\tvar task = _v0;\n\t\treturn _Scheduler_spawn(\n\t\t\tA2(\n\t\t\t\t$elm$core$Task$andThen,\n\t\t\t\t$elm$core$Platform$sendToApp(router),\n\t\t\t\ttask));\n\t});\nvar $elm$core$Task$onEffects = F3(\n\tfunction (router, commands, state) {\n\t\treturn A2(\n\t\t\t$elm$core$Task$map,\n\t\t\tfunction (_v0) {\n\t\t\t\treturn 0;\n\t\t\t},\n\t\t\t$elm$core$Task$sequence(\n\t\t\t\tA2(\n\t\t\t\t\t$elm$core$List$map,\n\t\t\t\t\t$elm$core$Task$spawnCmd(router),\n\t\t\t\t\tcommands)));\n\t});\nvar $elm$core$Task$onSelfMsg = F3(\n\tfunction (_v0, _v1, _v2) {\n\t\treturn $elm$core$Task$succeed(0);\n\t});\nvar $elm$core$Task$cmdMap = F2(\n\tfunction (tagger, _v0) {\n\t\tvar task = _v0;\n\t\treturn A2($elm$core$Task$map, tagger, task);\n\t});\n_Platform_effectManagers['Task'] = _Platform_createManager($elm$core$Task$init, $elm$core$Task$onEffects, $elm$core$Task$onSelfMsg, $elm$core$Task$cmdMap);\nvar $elm$core$Task$command = _Platform_leaf('Task');\nvar $elm$core$Task$perform = F2(\n\tfunction (toMessage, task) {\n\t\treturn $elm$core$Task$command(\n\t\t\tA2($elm$core$Task$map, toMessage, task));\n\t});\nvar $elm$browser$Browser$element = _Browser_element;\nvar $elm$json$Json$Decode$field = _Json_decodeField;\nvar $author$project$Login$Initializing = function (a) {\n\treturn {$: 0, a: a};\n};\nvar $author$project$Login$LoadForm = function (a) {\n\treturn {$: 0, a: a};\n};\nvar $author$project$LoginForm$Menu = F3(\n\tfunction (title, title_external, sections) {\n\t\treturn {aR: sections, ao: title, ap: title_external};\n\t});\nvar $elm$json$Json$Decode$list = _Json_decodeList;\nvar $elm$json$Json$Decode$map3 = _Json_map3;\nvar $author$project$LoginForm$Section = F3(\n\tfunction (title, title_external, elements) {\n\t\treturn {aC: elements, ao: title, ap: title_external};\n\t});\nvar $author$project$LoginForm$Form = function (a) {\n\treturn {$: 0, a: a};\n};\nvar $author$project$LoginForm$FormElement = F3(\n\tfunction (action, authenticityToken, children) {\n\t\treturn {as: action, au: authenticityToken, az: children};\n\t});\nvar $author$project$LoginForm$Button = function (a) {\n\treturn {$: 2, a: a};\n};\nvar $author$project$LoginForm$ButtonElement = F2(\n\tfunction (kind, label) {\n\t\treturn {J: kind, K: label};\n\t});\nvar $elm$json$Json$Decode$null = _Json_decodeNull;\nvar $elm$json$Json$Decode$oneOf = _Json_oneOf;\nvar $elm$json$Json$Decode$nullable = function (decoder) {\n\treturn $elm$json$Json$Decode$oneOf(\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\t$elm$json$Json$Decode$null($elm$core$Maybe$Nothing),\n\t\t\t\tA2($elm$json$Json$Decode$map, $elm$core$Maybe$Just, decoder)\n\t\t\t]));\n};\nvar $elm$json$Json$Decode$string = _Json_decodeString;\nvar $elm$core$Maybe$withDefault = F2(\n\tfunction (_default, maybe) {\n\t\tif (!maybe.$) {\n\t\t\tvar value = maybe.a;\n\t\t\treturn value;\n\t\t} else {\n\t\t\treturn _default;\n\t\t}\n\t});\nvar $author$project$LoginForm$buttonDecoder = A2(\n\t$elm$json$Json$Decode$map,\n\t$author$project$LoginForm$Button,\n\tA3(\n\t\t$elm$json$Json$Decode$map2,\n\t\t$author$project$LoginForm$ButtonElement,\n\t\tA2(\n\t\t\t$elm$json$Json$Decode$field,\n\t\t\t'type',\n\t\t\tA2(\n\t\t\t\t$elm$json$Json$Decode$map,\n\t\t\t\t$elm$core$Maybe$withDefault('button'),\n\t\t\t\t$elm$json$Json$Decode$nullable($elm$json$Json$Decode$string))),\n\t\tA2($elm$json$Json$Decode$field, 'label', $elm$json$Json$Decode$string)));\nvar $elm$json$Json$Decode$fail = _Json_fail;\nvar $author$project$LoginForm$Input = function (a) {\n\treturn {$: 1, a: a};\n};\nvar $author$project$LoginForm$InputElement = F3(\n\tfunction (kind, name, label) {\n\t\treturn {J: kind, K: label, aM: name};\n\t});\nvar $elm$json$Json$Decode$maybe = function (decoder) {\n\treturn $elm$json$Json$Decode$oneOf(\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\tA2($elm$json$Json$Decode$map, $elm$core$Maybe$Just, decoder),\n\t\t\t\t$elm$json$Json$Decode$succeed($elm$core$Maybe$Nothing)\n\t\t\t]));\n};\nvar $author$project$LoginForm$inputDecoder = A2(\n\t$elm$json$Json$Decode$map,\n\t$author$project$LoginForm$Input,\n\tA4(\n\t\t$elm$json$Json$Decode$map3,\n\t\t$author$project$LoginForm$InputElement,\n\t\tA2(\n\t\t\t$elm$json$Json$Decode$map,\n\t\t\t$elm$core$Maybe$withDefault('text'),\n\t\t\t$elm$json$Json$Decode$maybe(\n\t\t\t\tA2($elm$json$Json$Decode$field, 'type', $elm$json$Json$Decode$string))),\n\t\tA2($elm$json$Json$Decode$field, 'name', $elm$json$Json$Decode$string),\n\t\tA2(\n\t\t\t$elm$json$Json$Decode$map,\n\t\t\t$elm$core$Maybe$withDefault(''),\n\t\t\t$elm$json$Json$Decode$maybe(\n\t\t\t\tA2($elm$json$Json$Decode$field, 'label', $elm$json$Json$Decode$string)))));\nvar $author$project$LoginForm$Link = function (a) {\n\treturn {$: 3, a: a};\n};\nvar $author$project$LoginForm$LinkElement = F4(\n\tfunction (kind, label, href, css) {\n\t\treturn {aA: css, aH: href, J: kind, K: label};\n\t});\nvar $elm$json$Json$Decode$map4 = _Json_map4;\nvar $author$project$LoginForm$linkDecoder = A2(\n\t$elm$json$Json$Decode$map,\n\t$author$project$LoginForm$Link,\n\tA5(\n\t\t$elm$json$Json$Decode$map4,\n\t\t$author$project$LoginForm$LinkElement,\n\t\tA2(\n\t\t\t$elm$json$Json$Decode$field,\n\t\t\t'type',\n\t\t\tA2(\n\t\t\t\t$elm$json$Json$Decode$map,\n\t\t\t\t$elm$core$Maybe$withDefault('text'),\n\t\t\t\t$elm$json$Json$Decode$nullable($elm$json$Json$Decode$string))),\n\t\tA2($elm$json$Json$Decode$field, 'label', $elm$json$Json$Decode$string),\n\t\tA2($elm$json$Json$Decode$field, 'href', $elm$json$Json$Decode$string),\n\t\tA2($elm$json$Json$Decode$field, 'css', $elm$json$Json$Decode$string)));\nfunction $author$project$LoginForm$cyclic$formDecoder() {\n\treturn A2(\n\t\t$elm$json$Json$Decode$map,\n\t\t$author$project$LoginForm$Form,\n\t\tA4(\n\t\t\t$elm$json$Json$Decode$map3,\n\t\t\t$author$project$LoginForm$FormElement,\n\t\t\tA2($elm$json$Json$Decode$field, 'action', $elm$json$Json$Decode$string),\n\t\t\tA2($elm$json$Json$Decode$field, 'authenticity_token', $elm$json$Json$Decode$string),\n\t\t\tA2(\n\t\t\t\t$elm$json$Json$Decode$field,\n\t\t\t\t'children',\n\t\t\t\t$elm$json$Json$Decode$list(\n\t\t\t\t\t$author$project$LoginForm$cyclic$elementDecoder()))));\n}\nfunction $author$project$LoginForm$cyclic$elementDecoder() {\n\treturn A2(\n\t\t$elm$json$Json$Decode$andThen,\n\t\tfunction (element) {\n\t\t\tswitch (element) {\n\t\t\t\tcase 'form':\n\t\t\t\t\treturn $author$project$LoginForm$cyclic$formDecoder();\n\t\t\t\tcase 'input':\n\t\t\t\t\treturn $author$project$LoginForm$inputDecoder;\n\t\t\t\tcase 'button':\n\t\t\t\t\treturn $author$project$LoginForm$buttonDecoder;\n\t\t\t\tcase 'link':\n\t\t\t\t\treturn $author$project$LoginForm$linkDecoder;\n\t\t\t\tdefault:\n\t\t\t\t\treturn $elm$json$Json$Decode$fail('Unknown element ' + element);\n\t\t\t}\n\t\t},\n\t\tA2($elm$json$Json$Decode$field, 'element', $elm$json$Json$Decode$string));\n}\nvar $author$project$LoginForm$formDecoder = $author$project$LoginForm$cyclic$formDecoder();\n$author$project$LoginForm$cyclic$formDecoder = function () {\n\treturn $author$project$LoginForm$formDecoder;\n};\nvar $author$project$LoginForm$elementDecoder = $author$project$LoginForm$cyclic$elementDecoder();\n$author$project$LoginForm$cyclic$elementDecoder = function () {\n\treturn $author$project$LoginForm$elementDecoder;\n};\nvar $author$project$LoginForm$sectionDecoder = A4(\n\t$elm$json$Json$Decode$map3,\n\t$author$project$LoginForm$Section,\n\tA2($elm$json$Json$Decode$field, 'title', $elm$json$Json$Decode$string),\n\tA2($elm$json$Json$Decode$field, 'title_external', $elm$json$Json$Decode$string),\n\tA2(\n\t\t$elm$json$Json$Decode$field,\n\t\t'elements',\n\t\t$elm$json$Json$Decode$list($author$project$LoginForm$elementDecoder)));\nvar $author$project$LoginForm$decoder = A4(\n\t$elm$json$Json$Decode$map3,\n\t$author$project$LoginForm$Menu,\n\tA2($elm$json$Json$Decode$field, 'title', $elm$json$Json$Decode$string),\n\tA2($elm$json$Json$Decode$field, 'title_external', $elm$json$Json$Decode$string),\n\tA2(\n\t\t$elm$json$Json$Decode$field,\n\t\t'sections',\n\t\t$elm$json$Json$Decode$list($author$project$LoginForm$sectionDecoder)));\nvar $elm$http$Http$Internal$EmptyBody = {$: 0};\nvar $elm$http$Http$emptyBody = $elm$http$Http$Internal$EmptyBody;\nvar $elm$json$Json$Decode$decodeString = _Json_runOnString;\nvar $elm$http$Http$BadPayload = F2(\n\tfunction (a, b) {\n\t\treturn {$: 4, a: a, b: b};\n\t});\nvar $elm$http$Http$BadStatus = function (a) {\n\treturn {$: 3, a: a};\n};\nvar $elm$http$Http$BadUrl = function (a) {\n\treturn {$: 0, a: a};\n};\nvar $elm$http$Http$Internal$FormDataBody = function (a) {\n\treturn {$: 2, a: a};\n};\nvar $elm$http$Http$NetworkError = {$: 2};\nvar $elm$http$Http$Timeout = {$: 1};\nvar $elm$core$Dict$RBEmpty_elm_builtin = {$: -2};\nvar $elm$core$Dict$empty = $elm$core$Dict$RBEmpty_elm_builtin;\nvar $elm$core$Maybe$isJust = function (maybe) {\n\tif (!maybe.$) {\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\nvar $elm$http$Http$Internal$isStringBody = function (body) {\n\tif (body.$ === 1) {\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\nvar $elm$core$Result$map = F2(\n\tfunction (func, ra) {\n\t\tif (!ra.$) {\n\t\t\tvar a = ra.a;\n\t\t\treturn $elm$core$Result$Ok(\n\t\t\t\tfunc(a));\n\t\t} else {\n\t\t\tvar e = ra.a;\n\t\t\treturn $elm$core$Result$Err(e);\n\t\t}\n\t});\nvar $elm$core$Basics$compare = _Utils_compare;\nvar $elm$core$Dict$get = F2(\n\tfunction (targetKey, dict) {\n\t\tget:\n\t\twhile (true) {\n\t\t\tif (dict.$ === -2) {\n\t\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t\t} else {\n\t\t\t\tvar key = dict.b;\n\t\t\t\tvar value = dict.c;\n\t\t\t\tvar left = dict.d;\n\t\t\t\tvar right = dict.e;\n\t\t\t\tvar _v1 = A2($elm$core$Basics$compare, targetKey, key);\n\t\t\t\tswitch (_v1) {\n\t\t\t\t\tcase 0:\n\t\t\t\t\t\tvar $temp$targetKey = targetKey,\n\t\t\t\t\t\t\t$temp$dict = left;\n\t\t\t\t\t\ttargetKey = $temp$targetKey;\n\t\t\t\t\t\tdict = $temp$dict;\n\t\t\t\t\t\tcontinue get;\n\t\t\t\t\tcase 1:\n\t\t\t\t\t\treturn $elm$core$Maybe$Just(value);\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tvar $temp$targetKey = targetKey,\n\t\t\t\t\t\t\t$temp$dict = right;\n\t\t\t\t\t\ttargetKey = $temp$targetKey;\n\t\t\t\t\t\tdict = $temp$dict;\n\t\t\t\t\t\tcontinue get;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Dict$Black = 1;\nvar $elm$core$Dict$RBNode_elm_builtin = F5(\n\tfunction (a, b, c, d, e) {\n\t\treturn {$: -1, a: a, b: b, c: c, d: d, e: e};\n\t});\nvar $elm$core$Dict$Red = 0;\nvar $elm$core$Dict$balance = F5(\n\tfunction (color, key, value, left, right) {\n\t\tif ((right.$ === -1) && (!right.a)) {\n\t\t\tvar _v1 = right.a;\n\t\t\tvar rK = right.b;\n\t\t\tvar rV = right.c;\n\t\t\tvar rLeft = right.d;\n\t\t\tvar rRight = right.e;\n\t\t\tif ((left.$ === -1) && (!left.a)) {\n\t\t\t\tvar _v3 = left.a;\n\t\t\t\tvar lK = left.b;\n\t\t\t\tvar lV = left.c;\n\t\t\t\tvar lLeft = left.d;\n\t\t\t\tvar lRight = left.e;\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t0,\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue,\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, 1, lK, lV, lLeft, lRight),\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, 1, rK, rV, rLeft, rRight));\n\t\t\t} else {\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\tcolor,\n\t\t\t\t\trK,\n\t\t\t\t\trV,\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, 0, key, value, left, rLeft),\n\t\t\t\t\trRight);\n\t\t\t}\n\t\t} else {\n\t\t\tif ((((left.$ === -1) && (!left.a)) && (left.d.$ === -1)) && (!left.d.a)) {\n\t\t\t\tvar _v5 = left.a;\n\t\t\t\tvar lK = left.b;\n\t\t\t\tvar lV = left.c;\n\t\t\t\tvar _v6 = left.d;\n\t\t\t\tvar _v7 = _v6.a;\n\t\t\t\tvar llK = _v6.b;\n\t\t\t\tvar llV = _v6.c;\n\t\t\t\tvar llLeft = _v6.d;\n\t\t\t\tvar llRight = _v6.e;\n\t\t\t\tvar lRight = left.e;\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t0,\n\t\t\t\t\tlK,\n\t\t\t\t\tlV,\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, 1, llK, llV, llLeft, llRight),\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, 1, key, value, lRight, right));\n\t\t\t} else {\n\t\t\t\treturn A5($elm$core$Dict$RBNode_elm_builtin, color, key, value, left, right);\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Dict$insertHelp = F3(\n\tfunction (key, value, dict) {\n\t\tif (dict.$ === -2) {\n\t\t\treturn A5($elm$core$Dict$RBNode_elm_builtin, 0, key, value, $elm$core$Dict$RBEmpty_elm_builtin, $elm$core$Dict$RBEmpty_elm_builtin);\n\t\t} else {\n\t\t\tvar nColor = dict.a;\n\t\t\tvar nKey = dict.b;\n\t\t\tvar nValue = dict.c;\n\t\t\tvar nLeft = dict.d;\n\t\t\tvar nRight = dict.e;\n\t\t\tvar _v1 = A2($elm$core$Basics$compare, key, nKey);\n\t\t\tswitch (_v1) {\n\t\t\t\tcase 0:\n\t\t\t\t\treturn A5(\n\t\t\t\t\t\t$elm$core$Dict$balance,\n\t\t\t\t\t\tnColor,\n\t\t\t\t\t\tnKey,\n\t\t\t\t\t\tnValue,\n\t\t\t\t\t\tA3($elm$core$Dict$insertHelp, key, value, nLeft),\n\t\t\t\t\t\tnRight);\n\t\t\t\tcase 1:\n\t\t\t\t\treturn A5($elm$core$Dict$RBNode_elm_builtin, nColor, nKey, value, nLeft, nRight);\n\t\t\t\tdefault:\n\t\t\t\t\treturn A5(\n\t\t\t\t\t\t$elm$core$Dict$balance,\n\t\t\t\t\t\tnColor,\n\t\t\t\t\t\tnKey,\n\t\t\t\t\t\tnValue,\n\t\t\t\t\t\tnLeft,\n\t\t\t\t\t\tA3($elm$core$Dict$insertHelp, key, value, nRight));\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Dict$insert = F3(\n\tfunction (key, value, dict) {\n\t\tvar _v0 = A3($elm$core$Dict$insertHelp, key, value, dict);\n\t\tif ((_v0.$ === -1) && (!_v0.a)) {\n\t\t\tvar _v1 = _v0.a;\n\t\t\tvar k = _v0.b;\n\t\t\tvar v = _v0.c;\n\t\t\tvar l = _v0.d;\n\t\t\tvar r = _v0.e;\n\t\t\treturn A5($elm$core$Dict$RBNode_elm_builtin, 1, k, v, l, r);\n\t\t} else {\n\t\t\tvar x = _v0;\n\t\t\treturn x;\n\t\t}\n\t});\nvar $elm$core$Dict$getMin = function (dict) {\n\tgetMin:\n\twhile (true) {\n\t\tif ((dict.$ === -1) && (dict.d.$ === -1)) {\n\t\t\tvar left = dict.d;\n\t\t\tvar $temp$dict = left;\n\t\t\tdict = $temp$dict;\n\t\t\tcontinue getMin;\n\t\t} else {\n\t\t\treturn dict;\n\t\t}\n\t}\n};\nvar $elm$core$Dict$moveRedLeft = function (dict) {\n\tif (((dict.$ === -1) && (dict.d.$ === -1)) && (dict.e.$ === -1)) {\n\t\tif ((dict.e.d.$ === -1) && (!dict.e.d.a)) {\n\t\t\tvar clr = dict.a;\n\t\t\tvar k = dict.b;\n\t\t\tvar v = dict.c;\n\t\t\tvar _v1 = dict.d;\n\t\t\tvar lClr = _v1.a;\n\t\t\tvar lK = _v1.b;\n\t\t\tvar lV = _v1.c;\n\t\t\tvar lLeft = _v1.d;\n\t\t\tvar lRight = _v1.e;\n\t\t\tvar _v2 = dict.e;\n\t\t\tvar rClr = _v2.a;\n\t\t\tvar rK = _v2.b;\n\t\t\tvar rV = _v2.c;\n\t\t\tvar rLeft = _v2.d;\n\t\t\tvar _v3 = rLeft.a;\n\t\t\tvar rlK = rLeft.b;\n\t\t\tvar rlV = rLeft.c;\n\t\t\tvar rlL = rLeft.d;\n\t\t\tvar rlR = rLeft.e;\n\t\t\tvar rRight = _v2.e;\n\t\t\treturn A5(\n\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t0,\n\t\t\t\trlK,\n\t\t\t\trlV,\n\t\t\t\tA5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t1,\n\t\t\t\t\tk,\n\t\t\t\t\tv,\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, 0, lK, lV, lLeft, lRight),\n\t\t\t\t\trlL),\n\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, 1, rK, rV, rlR, rRight));\n\t\t} else {\n\t\t\tvar clr = dict.a;\n\t\t\tvar k = dict.b;\n\t\t\tvar v = dict.c;\n\t\t\tvar _v4 = dict.d;\n\t\t\tvar lClr = _v4.a;\n\t\t\tvar lK = _v4.b;\n\t\t\tvar lV = _v4.c;\n\t\t\tvar lLeft = _v4.d;\n\t\t\tvar lRight = _v4.e;\n\t\t\tvar _v5 = dict.e;\n\t\t\tvar rClr = _v5.a;\n\t\t\tvar rK = _v5.b;\n\t\t\tvar rV = _v5.c;\n\t\t\tvar rLeft = _v5.d;\n\t\t\tvar rRight = _v5.e;\n\t\t\tif (clr === 1) {\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t1,\n\t\t\t\t\tk,\n\t\t\t\t\tv,\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, 0, lK, lV, lLeft, lRight),\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, 0, rK, rV, rLeft, rRight));\n\t\t\t} else {\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t1,\n\t\t\t\t\tk,\n\t\t\t\t\tv,\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, 0, lK, lV, lLeft, lRight),\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, 0, rK, rV, rLeft, rRight));\n\t\t\t}\n\t\t}\n\t} else {\n\t\treturn dict;\n\t}\n};\nvar $elm$core$Dict$moveRedRight = function (dict) {\n\tif (((dict.$ === -1) && (dict.d.$ === -1)) && (dict.e.$ === -1)) {\n\t\tif ((dict.d.d.$ === -1) && (!dict.d.d.a)) {\n\t\t\tvar clr = dict.a;\n\t\t\tvar k = dict.b;\n\t\t\tvar v = dict.c;\n\t\t\tvar _v1 = dict.d;\n\t\t\tvar lClr = _v1.a;\n\t\t\tvar lK = _v1.b;\n\t\t\tvar lV = _v1.c;\n\t\t\tvar _v2 = _v1.d;\n\t\t\tvar _v3 = _v2.a;\n\t\t\tvar llK = _v2.b;\n\t\t\tvar llV = _v2.c;\n\t\t\tvar llLeft = _v2.d;\n\t\t\tvar llRight = _v2.e;\n\t\t\tvar lRight = _v1.e;\n\t\t\tvar _v4 = dict.e;\n\t\t\tvar rClr = _v4.a;\n\t\t\tvar rK = _v4.b;\n\t\t\tvar rV = _v4.c;\n\t\t\tvar rLeft = _v4.d;\n\t\t\tvar rRight = _v4.e;\n\t\t\treturn A5(\n\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t0,\n\t\t\t\tlK,\n\t\t\t\tlV,\n\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, 1, llK, llV, llLeft, llRight),\n\t\t\t\tA5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t1,\n\t\t\t\t\tk,\n\t\t\t\t\tv,\n\t\t\t\t\tlRight,\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, 0, rK, rV, rLeft, rRight)));\n\t\t} else {\n\t\t\tvar clr = dict.a;\n\t\t\tvar k = dict.b;\n\t\t\tvar v = dict.c;\n\t\t\tvar _v5 = dict.d;\n\t\t\tvar lClr = _v5.a;\n\t\t\tvar lK = _v5.b;\n\t\t\tvar lV = _v5.c;\n\t\t\tvar lLeft = _v5.d;\n\t\t\tvar lRight = _v5.e;\n\t\t\tvar _v6 = dict.e;\n\t\t\tvar rClr = _v6.a;\n\t\t\tvar rK = _v6.b;\n\t\t\tvar rV = _v6.c;\n\t\t\tvar rLeft = _v6.d;\n\t\t\tvar rRight = _v6.e;\n\t\t\tif (clr === 1) {\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t1,\n\t\t\t\t\tk,\n\t\t\t\t\tv,\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, 0, lK, lV, lLeft, lRight),\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, 0, rK, rV, rLeft, rRight));\n\t\t\t} else {\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t1,\n\t\t\t\t\tk,\n\t\t\t\t\tv,\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, 0, lK, lV, lLeft, lRight),\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, 0, rK, rV, rLeft, rRight));\n\t\t\t}\n\t\t}\n\t} else {\n\t\treturn dict;\n\t}\n};\nvar $elm$core$Dict$removeHelpPrepEQGT = F7(\n\tfunction (targetKey, dict, color, key, value, left, right) {\n\t\tif ((left.$ === -1) && (!left.a)) {\n\t\t\tvar _v1 = left.a;\n\t\t\tvar lK = left.b;\n\t\t\tvar lV = left.c;\n\t\t\tvar lLeft = left.d;\n\t\t\tvar lRight = left.e;\n\t\t\treturn A5(\n\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\tcolor,\n\t\t\t\tlK,\n\t\t\t\tlV,\n\t\t\t\tlLeft,\n\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, 0, key, value, lRight, right));\n\t\t} else {\n\t\t\t_v2$2:\n\t\t\twhile (true) {\n\t\t\t\tif ((right.$ === -1) && (right.a === 1)) {\n\t\t\t\t\tif (right.d.$ === -1) {\n\t\t\t\t\t\tif (right.d.a === 1) {\n\t\t\t\t\t\t\tvar _v3 = right.a;\n\t\t\t\t\t\t\tvar _v4 = right.d;\n\t\t\t\t\t\t\tvar _v5 = _v4.a;\n\t\t\t\t\t\t\treturn $elm$core$Dict$moveRedRight(dict);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tbreak _v2$2;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar _v6 = right.a;\n\t\t\t\t\t\tvar _v7 = right.d;\n\t\t\t\t\t\treturn $elm$core$Dict$moveRedRight(dict);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tbreak _v2$2;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn dict;\n\t\t}\n\t});\nvar $elm$core$Dict$removeMin = function (dict) {\n\tif ((dict.$ === -1) && (dict.d.$ === -1)) {\n\t\tvar color = dict.a;\n\t\tvar key = dict.b;\n\t\tvar value = dict.c;\n\t\tvar left = dict.d;\n\t\tvar lColor = left.a;\n\t\tvar lLeft = left.d;\n\t\tvar right = dict.e;\n\t\tif (lColor === 1) {\n\t\t\tif ((lLeft.$ === -1) && (!lLeft.a)) {\n\t\t\t\tvar _v3 = lLeft.a;\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\tcolor,\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue,\n\t\t\t\t\t$elm$core$Dict$removeMin(left),\n\t\t\t\t\tright);\n\t\t\t} else {\n\t\t\t\tvar _v4 = $elm$core$Dict$moveRedLeft(dict);\n\t\t\t\tif (_v4.$ === -1) {\n\t\t\t\t\tvar nColor = _v4.a;\n\t\t\t\t\tvar nKey = _v4.b;\n\t\t\t\t\tvar nValue = _v4.c;\n\t\t\t\t\tvar nLeft = _v4.d;\n\t\t\t\t\tvar nRight = _v4.e;\n\t\t\t\t\treturn A5(\n\t\t\t\t\t\t$elm$core$Dict$balance,\n\t\t\t\t\t\tnColor,\n\t\t\t\t\t\tnKey,\n\t\t\t\t\t\tnValue,\n\t\t\t\t\t\t$elm$core$Dict$removeMin(nLeft),\n\t\t\t\t\t\tnRight);\n\t\t\t\t} else {\n\t\t\t\t\treturn $elm$core$Dict$RBEmpty_elm_builtin;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\treturn A5(\n\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\tcolor,\n\t\t\t\tkey,\n\t\t\t\tvalue,\n\t\t\t\t$elm$core$Dict$removeMin(left),\n\t\t\t\tright);\n\t\t}\n\t} else {\n\t\treturn $elm$core$Dict$RBEmpty_elm_builtin;\n\t}\n};\nvar $elm$core$Dict$removeHelp = F2(\n\tfunction (targetKey, dict) {\n\t\tif (dict.$ === -2) {\n\t\t\treturn $elm$core$Dict$RBEmpty_elm_builtin;\n\t\t} else {\n\t\t\tvar color = dict.a;\n\t\t\tvar key = dict.b;\n\t\t\tvar value = dict.c;\n\t\t\tvar left = dict.d;\n\t\t\tvar right = dict.e;\n\t\t\tif (_Utils_cmp(targetKey, key) < 0) {\n\t\t\t\tif ((left.$ === -1) && (left.a === 1)) {\n\t\t\t\t\tvar _v4 = left.a;\n\t\t\t\t\tvar lLeft = left.d;\n\t\t\t\t\tif ((lLeft.$ === -1) && (!lLeft.a)) {\n\t\t\t\t\t\tvar _v6 = lLeft.a;\n\t\t\t\t\t\treturn A5(\n\t\t\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t\t\tcolor,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\tA2($elm$core$Dict$removeHelp, targetKey, left),\n\t\t\t\t\t\t\tright);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar _v7 = $elm$core$Dict$moveRedLeft(dict);\n\t\t\t\t\t\tif (_v7.$ === -1) {\n\t\t\t\t\t\t\tvar nColor = _v7.a;\n\t\t\t\t\t\t\tvar nKey = _v7.b;\n\t\t\t\t\t\t\tvar nValue = _v7.c;\n\t\t\t\t\t\t\tvar nLeft = _v7.d;\n\t\t\t\t\t\t\tvar nRight = _v7.e;\n\t\t\t\t\t\t\treturn A5(\n\t\t\t\t\t\t\t\t$elm$core$Dict$balance,\n\t\t\t\t\t\t\t\tnColor,\n\t\t\t\t\t\t\t\tnKey,\n\t\t\t\t\t\t\t\tnValue,\n\t\t\t\t\t\t\t\tA2($elm$core$Dict$removeHelp, targetKey, nLeft),\n\t\t\t\t\t\t\t\tnRight);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn $elm$core$Dict$RBEmpty_elm_builtin;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn A5(\n\t\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t\tcolor,\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tA2($elm$core$Dict$removeHelp, targetKey, left),\n\t\t\t\t\t\tright);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$core$Dict$removeHelpEQGT,\n\t\t\t\t\ttargetKey,\n\t\t\t\t\tA7($elm$core$Dict$removeHelpPrepEQGT, targetKey, dict, color, key, value, left, right));\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Dict$removeHelpEQGT = F2(\n\tfunction (targetKey, dict) {\n\t\tif (dict.$ === -1) {\n\t\t\tvar color = dict.a;\n\t\t\tvar key = dict.b;\n\t\t\tvar value = dict.c;\n\t\t\tvar left = dict.d;\n\t\t\tvar right = dict.e;\n\t\t\tif (_Utils_eq(targetKey, key)) {\n\t\t\t\tvar _v1 = $elm$core$Dict$getMin(right);\n\t\t\t\tif (_v1.$ === -1) {\n\t\t\t\t\tvar minKey = _v1.b;\n\t\t\t\t\tvar minValue = _v1.c;\n\t\t\t\t\treturn A5(\n\t\t\t\t\t\t$elm$core$Dict$balance,\n\t\t\t\t\t\tcolor,\n\t\t\t\t\t\tminKey,\n\t\t\t\t\t\tminValue,\n\t\t\t\t\t\tleft,\n\t\t\t\t\t\t$elm$core$Dict$removeMin(right));\n\t\t\t\t} else {\n\t\t\t\t\treturn $elm$core$Dict$RBEmpty_elm_builtin;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$core$Dict$balance,\n\t\t\t\t\tcolor,\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue,\n\t\t\t\t\tleft,\n\t\t\t\t\tA2($elm$core$Dict$removeHelp, targetKey, right));\n\t\t\t}\n\t\t} else {\n\t\t\treturn $elm$core$Dict$RBEmpty_elm_builtin;\n\t\t}\n\t});\nvar $elm$core$Dict$remove = F2(\n\tfunction (key, dict) {\n\t\tvar _v0 = A2($elm$core$Dict$removeHelp, key, dict);\n\t\tif ((_v0.$ === -1) && (!_v0.a)) {\n\t\t\tvar _v1 = _v0.a;\n\t\t\tvar k = _v0.b;\n\t\t\tvar v = _v0.c;\n\t\t\tvar l = _v0.d;\n\t\t\tvar r = _v0.e;\n\t\t\treturn A5($elm$core$Dict$RBNode_elm_builtin, 1, k, v, l, r);\n\t\t} else {\n\t\t\tvar x = _v0;\n\t\t\treturn x;\n\t\t}\n\t});\nvar $elm$core$Dict$update = F3(\n\tfunction (targetKey, alter, dictionary) {\n\t\tvar _v0 = alter(\n\t\t\tA2($elm$core$Dict$get, targetKey, dictionary));\n\t\tif (!_v0.$) {\n\t\t\tvar value = _v0.a;\n\t\t\treturn A3($elm$core$Dict$insert, targetKey, value, dictionary);\n\t\t} else {\n\t\t\treturn A2($elm$core$Dict$remove, targetKey, dictionary);\n\t\t}\n\t});\nvar $elm$http$Http$expectStringResponse = _Http_expectStringResponse;\nvar $elm$http$Http$expectJson = function (decoder) {\n\treturn $elm$http$Http$expectStringResponse(\n\t\tfunction (response) {\n\t\t\tvar _v0 = A2($elm$json$Json$Decode$decodeString, decoder, response.av);\n\t\t\tif (_v0.$ === 1) {\n\t\t\t\tvar decodeError = _v0.a;\n\t\t\t\treturn $elm$core$Result$Err(\n\t\t\t\t\t$elm$json$Json$Decode$errorToString(decodeError));\n\t\t\t} else {\n\t\t\t\tvar value = _v0.a;\n\t\t\t\treturn $elm$core$Result$Ok(value);\n\t\t\t}\n\t\t});\n};\nvar $elm$http$Http$Internal$Request = $elm$core$Basics$identity;\nvar $elm$http$Http$request = $elm$core$Basics$identity;\nvar $elm$http$Http$get = F2(\n\tfunction (url, decoder) {\n\t\treturn $elm$http$Http$request(\n\t\t\t{\n\t\t\t\tav: $elm$http$Http$emptyBody,\n\t\t\t\taD: $elm$http$Http$expectJson(decoder),\n\t\t\t\taF: _List_Nil,\n\t\t\t\taL: 'GET',\n\t\t\t\taT: $elm$core$Maybe$Nothing,\n\t\t\t\taV: url,\n\t\t\t\taX: false\n\t\t\t});\n\t});\nvar $elm$core$Basics$composeL = F3(\n\tfunction (g, f, x) {\n\t\treturn g(\n\t\t\tf(x));\n\t});\nvar $elm$core$Task$onError = _Scheduler_onError;\nvar $elm$core$Task$attempt = F2(\n\tfunction (resultToMessage, task) {\n\t\treturn $elm$core$Task$command(\n\t\t\tA2(\n\t\t\t\t$elm$core$Task$onError,\n\t\t\t\tA2(\n\t\t\t\t\t$elm$core$Basics$composeL,\n\t\t\t\t\tA2($elm$core$Basics$composeL, $elm$core$Task$succeed, resultToMessage),\n\t\t\t\t\t$elm$core$Result$Err),\n\t\t\t\tA2(\n\t\t\t\t\t$elm$core$Task$andThen,\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$Basics$composeL,\n\t\t\t\t\t\tA2($elm$core$Basics$composeL, $elm$core$Task$succeed, resultToMessage),\n\t\t\t\t\t\t$elm$core$Result$Ok),\n\t\t\t\t\ttask)));\n\t});\nvar $elm$http$Http$toTask = function (_v0) {\n\tvar request_ = _v0;\n\treturn A2(_Http_toTask, request_, $elm$core$Maybe$Nothing);\n};\nvar $elm$http$Http$send = F2(\n\tfunction (resultToMessage, request_) {\n\t\treturn A2(\n\t\t\t$elm$core$Task$attempt,\n\t\t\tresultToMessage,\n\t\t\t$elm$http$Http$toTask(request_));\n\t});\nvar $author$project$Login$loadLoginForm = function (url) {\n\treturn A2(\n\t\t$elm$http$Http$send,\n\t\t$author$project$Login$LoadForm,\n\t\tA2($elm$http$Http$get, url, $author$project$LoginForm$decoder));\n};\nvar $author$project$Login$init = function (_v0) {\n\tvar initializationUrl = _v0.I;\n\treturn _Utils_Tuple2(\n\t\t$author$project$Login$Initializing(initializationUrl),\n\t\t$author$project$Login$loadLoginForm(initializationUrl));\n};\nvar $author$project$Login$RetryInitialization = {$: 1};\nvar $elm$core$Basics$always = F2(\n\tfunction (a, _v0) {\n\t\treturn a;\n\t});\nvar $elm$time$Time$Every = F2(\n\tfunction (a, b) {\n\t\treturn {$: 0, a: a, b: b};\n\t});\nvar $elm$time$Time$State = F2(\n\tfunction (taggers, processes) {\n\t\treturn {ag: processes, an: taggers};\n\t});\nvar $elm$time$Time$init = $elm$core$Task$succeed(\n\tA2($elm$time$Time$State, $elm$core$Dict$empty, $elm$core$Dict$empty));\nvar $elm$time$Time$addMySub = F2(\n\tfunction (_v0, state) {\n\t\tvar interval = _v0.a;\n\t\tvar tagger = _v0.b;\n\t\tvar _v1 = A2($elm$core$Dict$get, interval, state);\n\t\tif (_v1.$ === 1) {\n\t\t\treturn A3(\n\t\t\t\t$elm$core$Dict$insert,\n\t\t\t\tinterval,\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[tagger]),\n\t\t\t\tstate);\n\t\t} else {\n\t\t\tvar taggers = _v1.a;\n\t\t\treturn A3(\n\t\t\t\t$elm$core$Dict$insert,\n\t\t\t\tinterval,\n\t\t\t\tA2($elm$core$List$cons, tagger, taggers),\n\t\t\t\tstate);\n\t\t}\n\t});\nvar $elm$core$Process$kill = _Scheduler_kill;\nvar $elm$core$Dict$foldl = F3(\n\tfunction (func, acc, dict) {\n\t\tfoldl:\n\t\twhile (true) {\n\t\t\tif (dict.$ === -2) {\n\t\t\t\treturn acc;\n\t\t\t} else {\n\t\t\t\tvar key = dict.b;\n\t\t\t\tvar value = dict.c;\n\t\t\t\tvar left = dict.d;\n\t\t\t\tvar right = dict.e;\n\t\t\t\tvar $temp$func = func,\n\t\t\t\t\t$temp$acc = A3(\n\t\t\t\t\tfunc,\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue,\n\t\t\t\t\tA3($elm$core$Dict$foldl, func, acc, left)),\n\t\t\t\t\t$temp$dict = right;\n\t\t\t\tfunc = $temp$func;\n\t\t\t\tacc = $temp$acc;\n\t\t\t\tdict = $temp$dict;\n\t\t\t\tcontinue foldl;\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Dict$merge = F6(\n\tfunction (leftStep, bothStep, rightStep, leftDict, rightDict, initialResult) {\n\t\tvar stepState = F3(\n\t\t\tfunction (rKey, rValue, _v0) {\n\t\t\t\tstepState:\n\t\t\t\twhile (true) {\n\t\t\t\t\tvar list = _v0.a;\n\t\t\t\t\tvar result = _v0.b;\n\t\t\t\t\tif (!list.b) {\n\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\tlist,\n\t\t\t\t\t\t\tA3(rightStep, rKey, rValue, result));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar _v2 = list.a;\n\t\t\t\t\t\tvar lKey = _v2.a;\n\t\t\t\t\t\tvar lValue = _v2.b;\n\t\t\t\t\t\tvar rest = list.b;\n\t\t\t\t\t\tif (_Utils_cmp(lKey, rKey) < 0) {\n\t\t\t\t\t\t\tvar $temp$rKey = rKey,\n\t\t\t\t\t\t\t\t$temp$rValue = rValue,\n\t\t\t\t\t\t\t\t$temp$_v0 = _Utils_Tuple2(\n\t\t\t\t\t\t\t\trest,\n\t\t\t\t\t\t\t\tA3(leftStep, lKey, lValue, result));\n\t\t\t\t\t\t\trKey = $temp$rKey;\n\t\t\t\t\t\t\trValue = $temp$rValue;\n\t\t\t\t\t\t\t_v0 = $temp$_v0;\n\t\t\t\t\t\t\tcontinue stepState;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (_Utils_cmp(lKey, rKey) > 0) {\n\t\t\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t\t\tlist,\n\t\t\t\t\t\t\t\t\tA3(rightStep, rKey, rValue, result));\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t\t\trest,\n\t\t\t\t\t\t\t\t\tA4(bothStep, lKey, lValue, rValue, result));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\tvar _v3 = A3(\n\t\t\t$elm$core$Dict$foldl,\n\t\t\tstepState,\n\t\t\t_Utils_Tuple2(\n\t\t\t\t$elm$core$Dict$toList(leftDict),\n\t\t\t\tinitialResult),\n\t\t\trightDict);\n\t\tvar leftovers = _v3.a;\n\t\tvar intermediateResult = _v3.b;\n\t\treturn A3(\n\t\t\t$elm$core$List$foldl,\n\t\t\tF2(\n\t\t\t\tfunction (_v4, result) {\n\t\t\t\t\tvar k = _v4.a;\n\t\t\t\t\tvar v = _v4.b;\n\t\t\t\t\treturn A3(leftStep, k, v, result);\n\t\t\t\t}),\n\t\t\tintermediateResult,\n\t\t\tleftovers);\n\t});\nvar $elm$core$Platform$sendToSelf = _Platform_sendToSelf;\nvar $elm$time$Time$Name = function (a) {\n\treturn {$: 0, a: a};\n};\nvar $elm$time$Time$Offset = function (a) {\n\treturn {$: 1, a: a};\n};\nvar $elm$time$Time$Zone = F2(\n\tfunction (a, b) {\n\t\treturn {$: 0, a: a, b: b};\n\t});\nvar $elm$time$Time$customZone = $elm$time$Time$Zone;\nvar $elm$time$Time$setInterval = _Time_setInterval;\nvar $elm$core$Process$spawn = _Scheduler_spawn;\nvar $elm$time$Time$spawnHelp = F3(\n\tfunction (router, intervals, processes) {\n\t\tif (!intervals.b) {\n\t\t\treturn $elm$core$Task$succeed(processes);\n\t\t} else {\n\t\t\tvar interval = intervals.a;\n\t\t\tvar rest = intervals.b;\n\t\t\tvar spawnTimer = $elm$core$Process$spawn(\n\t\t\t\tA2(\n\t\t\t\t\t$elm$time$Time$setInterval,\n\t\t\t\t\tinterval,\n\t\t\t\t\tA2($elm$core$Platform$sendToSelf, router, interval)));\n\t\t\tvar spawnRest = function (id) {\n\t\t\t\treturn A3(\n\t\t\t\t\t$elm$time$Time$spawnHelp,\n\t\t\t\t\trouter,\n\t\t\t\t\trest,\n\t\t\t\t\tA3($elm$core$Dict$insert, interval, id, processes));\n\t\t\t};\n\t\t\treturn A2($elm$core$Task$andThen, spawnRest, spawnTimer);\n\t\t}\n\t});\nvar $elm$time$Time$onEffects = F3(\n\tfunction (router, subs, _v0) {\n\t\tvar processes = _v0.ag;\n\t\tvar rightStep = F3(\n\t\t\tfunction (_v6, id, _v7) {\n\t\t\t\tvar spawns = _v7.a;\n\t\t\t\tvar existing = _v7.b;\n\t\t\t\tvar kills = _v7.c;\n\t\t\t\treturn _Utils_Tuple3(\n\t\t\t\t\tspawns,\n\t\t\t\t\texisting,\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$Task$andThen,\n\t\t\t\t\t\tfunction (_v5) {\n\t\t\t\t\t\t\treturn kills;\n\t\t\t\t\t\t},\n\t\t\t\t\t\t$elm$core$Process$kill(id)));\n\t\t\t});\n\t\tvar newTaggers = A3($elm$core$List$foldl, $elm$time$Time$addMySub, $elm$core$Dict$empty, subs);\n\t\tvar leftStep = F3(\n\t\t\tfunction (interval, taggers, _v4) {\n\t\t\t\tvar spawns = _v4.a;\n\t\t\t\tvar existing = _v4.b;\n\t\t\t\tvar kills = _v4.c;\n\t\t\t\treturn _Utils_Tuple3(\n\t\t\t\t\tA2($elm$core$List$cons, interval, spawns),\n\t\t\t\t\texisting,\n\t\t\t\t\tkills);\n\t\t\t});\n\t\tvar bothStep = F4(\n\t\t\tfunction (interval, taggers, id, _v3) {\n\t\t\t\tvar spawns = _v3.a;\n\t\t\t\tvar existing = _v3.b;\n\t\t\t\tvar kills = _v3.c;\n\t\t\t\treturn _Utils_Tuple3(\n\t\t\t\t\tspawns,\n\t\t\t\t\tA3($elm$core$Dict$insert, interval, id, existing),\n\t\t\t\t\tkills);\n\t\t\t});\n\t\tvar _v1 = A6(\n\t\t\t$elm$core$Dict$merge,\n\t\t\tleftStep,\n\t\t\tbothStep,\n\t\t\trightStep,\n\t\t\tnewTaggers,\n\t\t\tprocesses,\n\t\t\t_Utils_Tuple3(\n\t\t\t\t_List_Nil,\n\t\t\t\t$elm$core$Dict$empty,\n\t\t\t\t$elm$core$Task$succeed(0)));\n\t\tvar spawnList = _v1.a;\n\t\tvar existingDict = _v1.b;\n\t\tvar killTask = _v1.c;\n\t\treturn A2(\n\t\t\t$elm$core$Task$andThen,\n\t\t\tfunction (newProcesses) {\n\t\t\t\treturn $elm$core$Task$succeed(\n\t\t\t\t\tA2($elm$time$Time$State, newTaggers, newProcesses));\n\t\t\t},\n\t\t\tA2(\n\t\t\t\t$elm$core$Task$andThen,\n\t\t\t\tfunction (_v2) {\n\t\t\t\t\treturn A3($elm$time$Time$spawnHelp, router, spawnList, existingDict);\n\t\t\t\t},\n\t\t\t\tkillTask));\n\t});\nvar $elm$time$Time$Posix = $elm$core$Basics$identity;\nvar $elm$time$Time$millisToPosix = $elm$core$Basics$identity;\nvar $elm$time$Time$now = _Time_now($elm$time$Time$millisToPosix);\nvar $elm$time$Time$onSelfMsg = F3(\n\tfunction (router, interval, state) {\n\t\tvar _v0 = A2($elm$core$Dict$get, interval, state.an);\n\t\tif (_v0.$ === 1) {\n\t\t\treturn $elm$core$Task$succeed(state);\n\t\t} else {\n\t\t\tvar taggers = _v0.a;\n\t\t\tvar tellTaggers = function (time) {\n\t\t\t\treturn $elm$core$Task$sequence(\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$List$map,\n\t\t\t\t\t\tfunction (tagger) {\n\t\t\t\t\t\t\treturn A2(\n\t\t\t\t\t\t\t\t$elm$core$Platform$sendToApp,\n\t\t\t\t\t\t\t\trouter,\n\t\t\t\t\t\t\t\ttagger(time));\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttaggers));\n\t\t\t};\n\t\t\treturn A2(\n\t\t\t\t$elm$core$Task$andThen,\n\t\t\t\tfunction (_v1) {\n\t\t\t\t\treturn $elm$core$Task$succeed(state);\n\t\t\t\t},\n\t\t\t\tA2($elm$core$Task$andThen, tellTaggers, $elm$time$Time$now));\n\t\t}\n\t});\nvar $elm$time$Time$subMap = F2(\n\tfunction (f, _v0) {\n\t\tvar interval = _v0.a;\n\t\tvar tagger = _v0.b;\n\t\treturn A2(\n\t\t\t$elm$time$Time$Every,\n\t\t\tinterval,\n\t\t\tA2($elm$core$Basics$composeL, f, tagger));\n\t});\n_Platform_effectManagers['Time'] = _Platform_createManager($elm$time$Time$init, $elm$time$Time$onEffects, $elm$time$Time$onSelfMsg, 0, $elm$time$Time$subMap);\nvar $elm$time$Time$subscription = _Platform_leaf('Time');\nvar $elm$time$Time$every = F2(\n\tfunction (interval, tagger) {\n\t\treturn $elm$time$Time$subscription(\n\t\t\tA2($elm$time$Time$Every, interval, tagger));\n\t});\nvar $elm$core$Platform$Sub$batch = _Platform_batch;\nvar $elm$core$Platform$Sub$none = $elm$core$Platform$Sub$batch(_List_Nil);\nvar $author$project$Login$subscriptions = function (model) {\n\tif (model.$ === 1) {\n\t\tif (!model.a) {\n\t\t\treturn $elm$core$Platform$Sub$none;\n\t\t} else {\n\t\t\treturn A2(\n\t\t\t\t$elm$time$Time$every,\n\t\t\t\t5000,\n\t\t\t\t$elm$core$Basics$always($author$project$Login$RetryInitialization));\n\t\t}\n\t} else {\n\t\treturn $elm$core$Platform$Sub$none;\n\t}\n};\nvar $author$project$Login$Closed = F2(\n\tfunction (a, b) {\n\t\treturn {$: 2, a: a, b: b};\n\t});\nvar $author$project$Login$Empty = {$: 3};\nvar $author$project$Login$LoginRequestCompleted = function (a) {\n\treturn {$: 5, a: a};\n};\nvar $author$project$Login$Open = F2(\n\tfunction (a, b) {\n\t\treturn {$: 3, a: a, b: b};\n\t});\nvar $author$project$Login$Submitting = function (a) {\n\treturn {$: 1, a: a};\n};\nvar $elm$core$Basics$composeR = F3(\n\tfunction (f, g, x) {\n\t\treturn g(\n\t\t\tf(x));\n\t});\nvar $elm$core$List$singleton = function (value) {\n\treturn _List_fromArray(\n\t\t[value]);\n};\nvar $author$project$LoginRequest$errorDecoder = A2(\n\t$elm$json$Json$Decode$map,\n\t$elm$core$List$singleton,\n\tA2($elm$json$Json$Decode$field, 'error', $elm$json$Json$Decode$string));\nvar $author$project$Login$formData = function (model) {\n\tswitch (model.$) {\n\t\tcase 2:\n\t\t\tvar d = model.b;\n\t\t\treturn $elm$core$Maybe$Just(d);\n\t\tcase 3:\n\t\t\tvar d = model.b;\n\t\t\treturn $elm$core$Maybe$Just(d);\n\t\tdefault:\n\t\t\treturn $elm$core$Maybe$Nothing;\n\t}\n};\nvar $author$project$Login$formValues = function (data) {\n\tswitch (data.$) {\n\t\tcase 0:\n\t\t\tvar d = data.a;\n\t\t\treturn d;\n\t\tcase 2:\n\t\t\tvar d = data.b;\n\t\t\treturn d;\n\t\tcase 1:\n\t\t\tvar d = data.a;\n\t\t\treturn d;\n\t\tdefault:\n\t\t\treturn $elm$core$Dict$empty;\n\t}\n};\nvar $elm$json$Json$Encode$string = _Json_wrap;\nvar $author$project$Login$logToJS = _Platform_outgoingPort('logToJS', $elm$json$Json$Encode$string);\nvar $elm$json$Json$Encode$int = _Json_wrap;\nvar $author$project$Login$statusCode = _Platform_outgoingPort('statusCode', $elm$json$Json$Encode$int);\nvar $author$project$Login$logError = function (error) {\n\tswitch (error.$) {\n\t\tcase 0:\n\t\t\tvar s = error.a;\n\t\t\treturn $author$project$Login$logToJS('Bad initialization url ' + s);\n\t\tcase 4:\n\t\t\tvar s = error.a;\n\t\t\treturn $author$project$Login$logToJS(s);\n\t\tcase 1:\n\t\t\treturn $author$project$Login$logToJS('Initialization timed out, retrying');\n\t\tcase 2:\n\t\t\treturn $author$project$Login$logToJS('Initialization encountered network error');\n\t\tdefault:\n\t\t\tvar r = error.a;\n\t\t\treturn $author$project$Login$statusCode(r.Q.U);\n\t}\n};\nvar $elm$core$Maybe$map = F2(\n\tfunction (f, maybe) {\n\t\tif (!maybe.$) {\n\t\t\tvar value = maybe.a;\n\t\t\treturn $elm$core$Maybe$Just(\n\t\t\t\tf(value));\n\t\t} else {\n\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t}\n\t});\nvar $elm$core$Basics$neq = _Utils_notEqual;\nvar $elm$core$Platform$Cmd$batch = _Platform_batch;\nvar $elm$core$Platform$Cmd$none = $elm$core$Platform$Cmd$batch(_List_Nil);\nvar $elm$http$Http$StringPart = F2(\n\tfunction (a, b) {\n\t\treturn {$: 0, a: a, b: b};\n\t});\nvar $elm$http$Http$stringPart = $elm$http$Http$StringPart;\nvar $author$project$LoginRequest$encodeValues = function (values) {\n\treturn A2(\n\t\t$elm$core$List$map,\n\t\tfunction (_v0) {\n\t\t\tvar k = _v0.a;\n\t\t\tvar v = _v0.b;\n\t\t\treturn A2($elm$http$Http$stringPart, k, v);\n\t\t},\n\t\t$elm$core$Dict$toList(values));\n};\nvar $author$project$LoginRequest$encodeForm = F2(\n\tfunction (form, authenticityToken) {\n\t\treturn _Utils_ap(\n\t\t\t$author$project$LoginRequest$encodeValues(form),\n\t\t\tA2(\n\t\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t\t_List_Nil,\n\t\t\t\tA2(\n\t\t\t\t\t$elm$core$Maybe$map,\n\t\t\t\t\tfunction (s) {\n\t\t\t\t\t\treturn _List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\tA2($elm$http$Http$stringPart, 'authenticity_token', s)\n\t\t\t\t\t\t\t]);\n\t\t\t\t\t},\n\t\t\t\t\tauthenticityToken)));\n\t});\nvar $elm$http$Http$Internal$Header = F2(\n\tfunction (a, b) {\n\t\treturn {$: 0, a: a, b: b};\n\t});\nvar $elm$http$Http$header = $elm$http$Http$Internal$Header;\nvar $elm$http$Http$multipartBody = _Http_multipart;\nvar $author$project$LoginRequest$redirectDecoder = A2($elm$json$Json$Decode$field, 'redirect', $elm$json$Json$Decode$string);\nvar $author$project$LoginRequest$post = F3(\n\tfunction (url, maybeAuthenticityToken, formData) {\n\t\tvar body = $elm$http$Http$multipartBody(\n\t\t\tA2($author$project$LoginRequest$encodeForm, formData, maybeAuthenticityToken));\n\t\treturn $elm$http$Http$request(\n\t\t\t{\n\t\t\t\tav: body,\n\t\t\t\taD: $elm$http$Http$expectJson($author$project$LoginRequest$redirectDecoder),\n\t\t\t\taF: _List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\tA2($elm$http$Http$header, 'X-Requested-With', 'XMLHttpRequest')\n\t\t\t\t\t]),\n\t\t\t\taL: 'POST',\n\t\t\t\taT: $elm$core$Maybe$Nothing,\n\t\t\t\taV: url,\n\t\t\t\taX: true\n\t\t\t});\n\t});\nvar $author$project$Login$redirectTo = _Platform_outgoingPort('redirectTo', $elm$json$Json$Encode$string);\nvar $author$project$Login$Dirty = function (a) {\n\treturn {$: 0, a: a};\n};\nvar $author$project$Login$Invalid = F2(\n\tfunction (a, b) {\n\t\treturn {$: 2, a: a, b: b};\n\t});\nvar $author$project$Login$setFormValue = F3(\n\tfunction (name, value, data) {\n\t\treturn function (updated) {\n\t\t\tif (data.$ === 2) {\n\t\t\t\tvar e = data.a;\n\t\t\t\treturn A2($author$project$Login$Invalid, e, updated);\n\t\t\t} else {\n\t\t\t\treturn $author$project$Login$Dirty(updated);\n\t\t\t}\n\t\t}(\n\t\t\tA3(\n\t\t\t\t$elm$core$Dict$update,\n\t\t\t\tname,\n\t\t\t\t$elm$core$Basics$always(\n\t\t\t\t\t$elm$core$Maybe$Just(value)),\n\t\t\t\t$author$project$Login$formValues(data)));\n\t});\nvar $elm$core$Result$toMaybe = function (result) {\n\tif (!result.$) {\n\t\tvar v = result.a;\n\t\treturn $elm$core$Maybe$Just(v);\n\t} else {\n\t\treturn $elm$core$Maybe$Nothing;\n\t}\n};\nvar $author$project$Login$Retrying = F2(\n\tfunction (a, b) {\n\t\treturn {$: 1, a: a, b: b};\n\t});\nvar $author$project$Login$tryRetry = F2(\n\tfunction (model, error) {\n\t\tif (!error.$) {\n\t\t\treturn _Utils_Tuple2(\n\t\t\t\tmodel,\n\t\t\t\t$author$project$Login$logError(error));\n\t\t} else {\n\t\t\tswitch (model.$) {\n\t\t\t\tcase 0:\n\t\t\t\t\tvar url = model.a;\n\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\tA2($author$project$Login$Retrying, 10, url),\n\t\t\t\t\t\t$author$project$Login$logError(error));\n\t\t\t\tcase 1:\n\t\t\t\t\tif (!model.a) {\n\t\t\t\t\t\tvar url = model.b;\n\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\t$author$project$Login$logError(error));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar left = model.a;\n\t\t\t\t\t\tvar url = model.b;\n\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\tA2($author$project$Login$Retrying, left - 1, url),\n\t\t\t\t\t\t\t$author$project$Login$logError(error));\n\t\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\treturn _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);\n\t\t\t}\n\t\t}\n\t});\nvar $author$project$Login$updateFormData = F2(\n\tfunction (model, data) {\n\t\tswitch (model.$) {\n\t\t\tcase 2:\n\t\t\t\tvar m = model.a;\n\t\t\t\treturn A2($author$project$Login$Closed, m, data);\n\t\t\tcase 3:\n\t\t\t\tvar m = model.a;\n\t\t\t\treturn A2($author$project$Login$Open, m, data);\n\t\t\tdefault:\n\t\t\t\treturn model;\n\t\t}\n\t});\nvar $author$project$Login$updateFormErrors = F2(\n\tfunction (model, errors) {\n\t\treturn A2(\n\t\t\t$elm$core$Maybe$withDefault,\n\t\t\tmodel,\n\t\t\tA2(\n\t\t\t\t$elm$core$Maybe$map,\n\t\t\t\tA2(\n\t\t\t\t\t$elm$core$Basics$composeR,\n\t\t\t\t\t$author$project$Login$formValues,\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$Basics$composeR,\n\t\t\t\t\t\t$author$project$Login$Invalid(errors),\n\t\t\t\t\t\t$author$project$Login$updateFormData(model))),\n\t\t\t\t$author$project$Login$formData(model)));\n\t});\nvar $author$project$Login$update = F2(\n\tfunction (msg, model) {\n\t\tswitch (msg.$) {\n\t\t\tcase 0:\n\t\t\t\tif (msg.a.$ === 1) {\n\t\t\t\t\tvar error = msg.a.a;\n\t\t\t\t\treturn A2($author$project$Login$tryRetry, model, error);\n\t\t\t\t} else {\n\t\t\t\t\tvar menu = msg.a.a;\n\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\tA2($author$project$Login$Closed, menu, $author$project$Login$Empty),\n\t\t\t\t\t\t$elm$core$Platform$Cmd$none);\n\t\t\t\t}\n\t\t\tcase 1:\n\t\t\t\tif (model.$ === 1) {\n\t\t\t\t\tvar url = model.b;\n\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t$author$project$Login$loadLoginForm(url));\n\t\t\t\t} else {\n\t\t\t\t\treturn _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);\n\t\t\t\t}\n\t\t\tcase 2:\n\t\t\t\tswitch (model.$) {\n\t\t\t\t\tcase 2:\n\t\t\t\t\t\tvar menu = model.a;\n\t\t\t\t\t\tvar data = model.b;\n\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\tA2($author$project$Login$Open, menu, data),\n\t\t\t\t\t\t\t$elm$core$Platform$Cmd$none);\n\t\t\t\t\tcase 3:\n\t\t\t\t\t\tvar menu = model.a;\n\t\t\t\t\t\tvar data = model.b;\n\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\tA2($author$project$Login$Closed, menu, data),\n\t\t\t\t\t\t\t$elm$core$Platform$Cmd$none);\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);\n\t\t\t\t}\n\t\t\tcase 3:\n\t\t\t\tvar name = msg.a;\n\t\t\t\tvar value = msg.b;\n\t\t\t\treturn function (m) {\n\t\t\t\t\treturn _Utils_Tuple2(m, $elm$core$Platform$Cmd$none);\n\t\t\t\t}(\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$core$Maybe$map,\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t$elm$core$Basics$composeR,\n\t\t\t\t\t\t\t\tA2($author$project$Login$setFormValue, name, value),\n\t\t\t\t\t\t\t\t$author$project$Login$updateFormData(model)),\n\t\t\t\t\t\t\t$author$project$Login$formData(model))));\n\t\t\tcase 4:\n\t\t\t\tvar url = msg.a;\n\t\t\t\tvar token = msg.b;\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t\t\t_Utils_Tuple2(model, $elm$core$Platform$Cmd$none),\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$Maybe$map,\n\t\t\t\t\t\tfunction (d) {\n\t\t\t\t\t\t\treturn function (cmd) {\n\t\t\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t\t$author$project$Login$updateFormData,\n\t\t\t\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\t\t\t\t$author$project$Login$Submitting(\n\t\t\t\t\t\t\t\t\t\t\t$author$project$Login$formValues(d))),\n\t\t\t\t\t\t\t\t\tcmd);\n\t\t\t\t\t\t\t}(\n\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t$elm$http$Http$send,\n\t\t\t\t\t\t\t\t\t$author$project$Login$LoginRequestCompleted,\n\t\t\t\t\t\t\t\t\tA3(\n\t\t\t\t\t\t\t\t\t\t$author$project$LoginRequest$post,\n\t\t\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\t\t\ttoken,\n\t\t\t\t\t\t\t\t\t\t$author$project$Login$formValues(d))));\n\t\t\t\t\t\t},\n\t\t\t\t\t\t$author$project$Login$formData(model)));\n\t\t\tdefault:\n\t\t\t\tif (!msg.a.$) {\n\t\t\t\t\tvar url = msg.a.a;\n\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t$author$project$Login$redirectTo(url));\n\t\t\t\t} else {\n\t\t\t\t\tvar error = msg.a.a;\n\t\t\t\t\tif (error.$ === 3) {\n\t\t\t\t\t\tvar res = error.a;\n\t\t\t\t\t\treturn function (m) {\n\t\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\t\tm,\n\t\t\t\t\t\t\t\t$author$project$Login$logError(error));\n\t\t\t\t\t\t}(\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t$author$project$Login$updateFormErrors,\n\t\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\t(res.Q.U !== 422) ? res.Q.aK : ''\n\t\t\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t\t\t$elm$core$Result$toMaybe(\n\t\t\t\t\t\t\t\t\t\tA2($elm$json$Json$Decode$decodeString, $author$project$LoginRequest$errorDecoder, res.av)))));\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\t$author$project$Login$logError(error));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t}\n\t});\nvar $elm$html$Html$div = _VirtualDom_node('div');\nvar $elm$html$Html$p = _VirtualDom_node('p');\nvar $elm$virtual_dom$VirtualDom$text = _VirtualDom_text;\nvar $elm$html$Html$text = $elm$virtual_dom$VirtualDom$text;\nvar $author$project$Login$viewLoadingIndicator = A2(\n\t$elm$html$Html$div,\n\t_List_Nil,\n\t_List_fromArray(\n\t\t[\n\t\t\tA2(\n\t\t\t$elm$html$Html$p,\n\t\t\t_List_Nil,\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\t$elm$html$Html$text('Loading...')\n\t\t\t\t]))\n\t\t]));\nvar $author$project$Login$ToggleMenu = {$: 2};\nvar $elm$html$Html$a = _VirtualDom_node('a');\nvar $elm$html$Html$Attributes$stringProperty = F2(\n\tfunction (key, string) {\n\t\treturn A2(\n\t\t\t_VirtualDom_property,\n\t\t\tkey,\n\t\t\t$elm$json$Json$Encode$string(string));\n\t});\nvar $elm$html$Html$Attributes$class = $elm$html$Html$Attributes$stringProperty('className');\nvar $elm$core$List$filter = F2(\n\tfunction (isGood, list) {\n\t\treturn A3(\n\t\t\t$elm$core$List$foldr,\n\t\t\tF2(\n\t\t\t\tfunction (x, xs) {\n\t\t\t\t\treturn isGood(x) ? A2($elm$core$List$cons, x, xs) : xs;\n\t\t\t\t}),\n\t\t\t_List_Nil,\n\t\t\tlist);\n\t});\nvar $elm$core$Tuple$second = function (_v0) {\n\tvar y = _v0.b;\n\treturn y;\n};\nvar $elm$html$Html$Attributes$classList = function (classes) {\n\treturn $elm$html$Html$Attributes$class(\n\t\tA2(\n\t\t\t$elm$core$String$join,\n\t\t\t' ',\n\t\t\tA2(\n\t\t\t\t$elm$core$List$map,\n\t\t\t\t$elm$core$Tuple$first,\n\t\t\t\tA2($elm$core$List$filter, $elm$core$Tuple$second, classes))));\n};\nvar $elm$virtual_dom$VirtualDom$Normal = function (a) {\n\treturn {$: 0, a: a};\n};\nvar $elm$virtual_dom$VirtualDom$on = _VirtualDom_on;\nvar $elm$html$Html$Events$on = F2(\n\tfunction (event, decoder) {\n\t\treturn A2(\n\t\t\t$elm$virtual_dom$VirtualDom$on,\n\t\t\tevent,\n\t\t\t$elm$virtual_dom$VirtualDom$Normal(decoder));\n\t});\nvar $elm$html$Html$Events$onClick = function (msg) {\n\treturn A2(\n\t\t$elm$html$Html$Events$on,\n\t\t'click',\n\t\t$elm$json$Json$Decode$succeed(msg));\n};\nvar $elm$html$Html$span = _VirtualDom_node('span');\nvar $elm$virtual_dom$VirtualDom$style = _VirtualDom_style;\nvar $elm$html$Html$Attributes$style = $elm$virtual_dom$VirtualDom$style;\nvar $author$project$Login$viewMenuTrigger = function (menu) {\n\treturn A2(\n\t\t$elm$html$Html$a,\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\t$elm$html$Html$Attributes$classList(\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\t_Utils_Tuple2('MemberPortalLogin__MenuTrigger', true)\n\t\t\t\t\t])),\n\t\t\t\t$elm$html$Html$Events$onClick($author$project$Login$ToggleMenu),\n\t\t\t\tA2($elm$html$Html$Attributes$style, 'cursor', 'pointer')\n\t\t\t]),\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\tA2(\n\t\t\t\t$elm$html$Html$span,\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\t$elm$html$Html$Attributes$class('MemberPortalLogin__MenuTrigger--internal')\n\t\t\t\t\t]),\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\t$elm$html$Html$text(menu.ao)\n\t\t\t\t\t])),\n\t\t\t\tA2(\n\t\t\t\t$elm$html$Html$span,\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\t$elm$html$Html$Attributes$class('MemberPortalLogin__MenuTrigger--external')\n\t\t\t\t\t]),\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\t$elm$html$Html$text(menu.ap)\n\t\t\t\t\t]))\n\t\t\t]));\n};\nvar $author$project$Login$viewOverlay = A2(\n\t$elm$html$Html$div,\n\t_List_fromArray(\n\t\t[\n\t\t\t$elm$html$Html$Attributes$class('MemberPortalLogin__Overlay'),\n\t\t\t$elm$html$Html$Events$onClick($author$project$Login$ToggleMenu)\n\t\t]),\n\t_List_fromArray(\n\t\t[\n\t\t\t$elm$html$Html$text('')\n\t\t]));\nvar $elm$html$Html$section = _VirtualDom_node('section');\nvar $elm$html$Html$strong = _VirtualDom_node('strong');\nvar $author$project$Login$SubmitForm = F2(\n\tfunction (a, b) {\n\t\treturn {$: 4, a: a, b: b};\n\t});\nvar $elm$html$Html$Attributes$action = function (uri) {\n\treturn A2(\n\t\t$elm$html$Html$Attributes$stringProperty,\n\t\t'action',\n\t\t_VirtualDom_noJavaScriptUri(uri));\n};\nvar $elm$html$Html$form = _VirtualDom_node('form');\nvar $elm$html$Html$input = _VirtualDom_node('input');\nvar $elm$html$Html$Attributes$method = $elm$html$Html$Attributes$stringProperty('method');\nvar $elm$html$Html$Attributes$name = $elm$html$Html$Attributes$stringProperty('name');\nvar $elm$html$Html$Events$alwaysPreventDefault = function (msg) {\n\treturn _Utils_Tuple2(msg, true);\n};\nvar $elm$virtual_dom$VirtualDom$MayPreventDefault = function (a) {\n\treturn {$: 2, a: a};\n};\nvar $elm$html$Html$Events$preventDefaultOn = F2(\n\tfunction (event, decoder) {\n\t\treturn A2(\n\t\t\t$elm$virtual_dom$VirtualDom$on,\n\t\t\tevent,\n\t\t\t$elm$virtual_dom$VirtualDom$MayPreventDefault(decoder));\n\t});\nvar $elm$html$Html$Events$onSubmit = function (msg) {\n\treturn A2(\n\t\t$elm$html$Html$Events$preventDefaultOn,\n\t\t'submit',\n\t\tA2(\n\t\t\t$elm$json$Json$Decode$map,\n\t\t\t$elm$html$Html$Events$alwaysPreventDefault,\n\t\t\t$elm$json$Json$Decode$succeed(msg)));\n};\nvar $elm$html$Html$Attributes$type_ = $elm$html$Html$Attributes$stringProperty('type');\nvar $elm$html$Html$Attributes$value = $elm$html$Html$Attributes$stringProperty('value');\nvar $elm$html$Html$button = _VirtualDom_node('button');\nvar $author$project$Login$viewButton = F2(\n\tfunction (data, _v0) {\n\t\tvar kind = _v0.J;\n\t\tvar label = _v0.K;\n\t\tvar isSubmitting = function (d) {\n\t\t\tif (d.$ === 1) {\n\t\t\t\treturn true;\n\t\t\t} else {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t};\n\t\treturn A2(\n\t\t\t$elm$html$Html$div,\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\t$elm$html$Html$Attributes$class('FieldGroup')\n\t\t\t\t]),\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$button,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$Attributes$classList(\n\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t_Utils_Tuple2('MemberPortalLogin__Button', true),\n\t\t\t\t\t\t\t\t\t_Utils_Tuple2('MemberPortalLogin__Button--full-width', kind === 'submit'),\n\t\t\t\t\t\t\t\t\t_Utils_Tuple2(\n\t\t\t\t\t\t\t\t\t'MemberPortalLogin__Button--white--loading',\n\t\t\t\t\t\t\t\t\tisSubmitting(data))\n\t\t\t\t\t\t\t\t]))\n\t\t\t\t\t\t]),\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$text(label)\n\t\t\t\t\t\t]))\n\t\t\t\t]));\n\t});\nvar $author$project$Login$formErrors = function (data) {\n\tif (data.$ === 2) {\n\t\tvar errors = data.a;\n\t\treturn $elm$core$Maybe$Just(errors);\n\t} else {\n\t\treturn $elm$core$Maybe$Nothing;\n\t}\n};\nvar $author$project$Login$viewErrors = function (data) {\n\treturn A2(\n\t\t$elm$core$Maybe$withDefault,\n\t\t$elm$html$Html$text(''),\n\t\tA2(\n\t\t\t$elm$core$Maybe$map,\n\t\t\tfunction (errors) {\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$Attributes$class('MemberPortalLogin__Errors')\n\t\t\t\t\t\t]),\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$List$map,\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$core$Basics$composeR,\n\t\t\t\t\t\t\t$elm$html$Html$text,\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t$elm$core$Basics$composeR,\n\t\t\t\t\t\t\t\t$elm$core$List$singleton,\n\t\t\t\t\t\t\t\t$elm$html$Html$p(_List_Nil))),\n\t\t\t\t\t\terrors));\n\t\t\t},\n\t\t\t$author$project$Login$formErrors(data)));\n};\nvar $author$project$Login$SetFormValue = F2(\n\tfunction (a, b) {\n\t\treturn {$: 3, a: a, b: b};\n\t});\nvar $author$project$Login$getFormValue = F2(\n\tfunction (name, data) {\n\t\treturn A2(\n\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t'',\n\t\t\tA2(\n\t\t\t\t$elm$core$Dict$get,\n\t\t\t\tname,\n\t\t\t\t$author$project$Login$formValues(data)));\n\t});\nvar $elm$html$Html$label = _VirtualDom_node('label');\nvar $elm$html$Html$Events$alwaysStop = function (x) {\n\treturn _Utils_Tuple2(x, true);\n};\nvar $elm$virtual_dom$VirtualDom$MayStopPropagation = function (a) {\n\treturn {$: 1, a: a};\n};\nvar $elm$html$Html$Events$stopPropagationOn = F2(\n\tfunction (event, decoder) {\n\t\treturn A2(\n\t\t\t$elm$virtual_dom$VirtualDom$on,\n\t\t\tevent,\n\t\t\t$elm$virtual_dom$VirtualDom$MayStopPropagation(decoder));\n\t});\nvar $elm$json$Json$Decode$at = F2(\n\tfunction (fields, decoder) {\n\t\treturn A3($elm$core$List$foldr, $elm$json$Json$Decode$field, decoder, fields);\n\t});\nvar $elm$html$Html$Events$targetValue = A2(\n\t$elm$json$Json$Decode$at,\n\t_List_fromArray(\n\t\t['target', 'value']),\n\t$elm$json$Json$Decode$string);\nvar $elm$html$Html$Events$onInput = function (tagger) {\n\treturn A2(\n\t\t$elm$html$Html$Events$stopPropagationOn,\n\t\t'input',\n\t\tA2(\n\t\t\t$elm$json$Json$Decode$map,\n\t\t\t$elm$html$Html$Events$alwaysStop,\n\t\t\tA2($elm$json$Json$Decode$map, tagger, $elm$html$Html$Events$targetValue)));\n};\nvar $author$project$Login$viewInput = F2(\n\tfunction (data, _v0) {\n\t\tvar kind = _v0.J;\n\t\tvar label = _v0.K;\n\t\tvar name = _v0.aM;\n\t\treturn A2(\n\t\t\t$elm$html$Html$div,\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\t$elm$html$Html$Attributes$class('FieldGroup')\n\t\t\t\t]),\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$label,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$Attributes$class('MemberPortalLogin__Label FieldGroup__Label')\n\t\t\t\t\t\t]),\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$text(label)\n\t\t\t\t\t\t])),\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$input,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$Attributes$type_(kind),\n\t\t\t\t\t\t\t$elm$html$Html$Attributes$name(name),\n\t\t\t\t\t\t\t$elm$html$Html$Events$onInput(\n\t\t\t\t\t\t\t$author$project$Login$SetFormValue(name)),\n\t\t\t\t\t\t\t$elm$html$Html$Attributes$value(\n\t\t\t\t\t\t\tA2($author$project$Login$getFormValue, name, data)),\n\t\t\t\t\t\t\t$elm$html$Html$Attributes$class('TextInput')\n\t\t\t\t\t\t]),\n\t\t\t\t\t_List_Nil)\n\t\t\t\t]));\n\t});\nvar $elm$html$Html$Attributes$href = function (url) {\n\treturn A2(\n\t\t$elm$html$Html$Attributes$stringProperty,\n\t\t'href',\n\t\t_VirtualDom_noJavaScriptUri(url));\n};\nvar $author$project$Login$viewLink = function (_v0) {\n\tvar kind = _v0.J;\n\tvar label = _v0.K;\n\tvar href = _v0.aH;\n\tvar css = _v0.aA;\n\treturn A2(\n\t\t$elm$html$Html$div,\n\t\t_List_Nil,\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\tA2(\n\t\t\t\t$elm$html$Html$a,\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\t$elm$html$Html$Attributes$href(href),\n\t\t\t\t\t\t$elm$html$Html$Attributes$class(css),\n\t\t\t\t\t\t$elm$html$Html$Events$onClick($author$project$Login$ToggleMenu)\n\t\t\t\t\t]),\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\t$elm$html$Html$text(label)\n\t\t\t\t\t]))\n\t\t\t]));\n};\nvar $author$project$Login$viewElement = F2(\n\tfunction (data, e) {\n\t\tswitch (e.$) {\n\t\t\tcase 0:\n\t\t\t\tvar config = e.a;\n\t\t\t\treturn A2($author$project$Login$viewForm, data, config);\n\t\t\tcase 1:\n\t\t\t\tvar config = e.a;\n\t\t\t\treturn A2($author$project$Login$viewInput, data, config);\n\t\t\tcase 2:\n\t\t\t\tvar config = e.a;\n\t\t\t\treturn A2($author$project$Login$viewButton, data, config);\n\t\t\tdefault:\n\t\t\t\tvar config = e.a;\n\t\t\t\treturn $author$project$Login$viewLink(config);\n\t\t}\n\t});\nvar $author$project$Login$viewForm = F2(\n\tfunction (data, _v0) {\n\t\tvar action = _v0.as;\n\t\tvar children = _v0.az;\n\t\tvar authenticityToken = _v0.au;\n\t\tvar isSubmitting = function (d) {\n\t\t\tif (d.$ === 1) {\n\t\t\t\treturn true;\n\t\t\t} else {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t};\n\t\tvar injectErrors = F2(\n\t\t\tfunction (dataMaybeWithErrors, formElements) {\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t$author$project$Login$viewErrors(dataMaybeWithErrors),\n\t\t\t\t\tformElements);\n\t\t\t});\n\t\tvar injectAuthenticityToken = F2(\n\t\t\tfunction (token, formElements) {\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$html$Html$input,\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$type_('hidden'),\n\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$value(token),\n\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$name('authenticity_token')\n\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t_List_Nil),\n\t\t\t\t\tformElements);\n\t\t\t});\n\t\treturn A2(\n\t\t\t$elm$html$Html$form,\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\t$elm$html$Html$Attributes$classList(\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t_Utils_Tuple2('MemberPortalLogin__Form', true),\n\t\t\t\t\t\t\t_Utils_Tuple2(\n\t\t\t\t\t\t\t'MemberPortalLogin__Form--submitting',\n\t\t\t\t\t\t\tisSubmitting(data))\n\t\t\t\t\t\t])),\n\t\t\t\t\t$elm$html$Html$Events$onSubmit(\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$author$project$Login$SubmitForm,\n\t\t\t\t\t\taction,\n\t\t\t\t\t\t$elm$core$Maybe$Just(authenticityToken))),\n\t\t\t\t\t$elm$html$Html$Attributes$action(action),\n\t\t\t\t\t$elm$html$Html$Attributes$method('post')\n\t\t\t\t]),\n\t\t\tA2(\n\t\t\t\tinjectErrors,\n\t\t\t\tdata,\n\t\t\t\tA2(\n\t\t\t\t\tinjectAuthenticityToken,\n\t\t\t\t\tauthenticityToken,\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$List$map,\n\t\t\t\t\t\t$author$project$Login$viewElement(data),\n\t\t\t\t\t\tchildren))));\n\t});\nvar $author$project$Login$viewSection = F2(\n\tfunction (data, section) {\n\t\treturn A2(\n\t\t\t$elm$html$Html$div,\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\t$elm$html$Html$Attributes$class('MemberPortalLogin__Menu__Content')\n\t\t\t\t]),\n\t\t\tA2(\n\t\t\t\t$elm$core$List$cons,\n\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$Attributes$class('MemberPortalLogin__Header')\n\t\t\t\t\t\t]),\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$html$Html$strong,\n\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$class('MemberPortalLogin__Header--internal')\n\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t$elm$html$Html$text(section.ao)\n\t\t\t\t\t\t\t\t])),\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$html$Html$strong,\n\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$class('MemberPortalLogin__Header--external')\n\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t$elm$html$Html$text(section.ap)\n\t\t\t\t\t\t\t\t]))\n\t\t\t\t\t\t])),\n\t\t\t\tA2(\n\t\t\t\t\t$elm$core$List$map,\n\t\t\t\t\t$author$project$Login$viewElement(data),\n\t\t\t\t\tsection.aC)));\n\t});\nvar $author$project$Login$viewSections = F2(\n\tfunction (data, sections) {\n\t\treturn A2(\n\t\t\t$elm$html$Html$section,\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\t$elm$html$Html$Attributes$class('MemberPortalLogin__Menu')\n\t\t\t\t]),\n\t\t\tA2(\n\t\t\t\t$elm$core$List$map,\n\t\t\t\t$author$project$Login$viewSection(data),\n\t\t\t\tsections));\n\t});\nvar $author$project$Login$view = function (model) {\n\tswitch (model.$) {\n\t\tcase 0:\n\t\t\treturn $author$project$Login$viewLoadingIndicator;\n\t\tcase 1:\n\t\t\treturn $author$project$Login$viewLoadingIndicator;\n\t\tcase 2:\n\t\t\tvar menu = model.a;\n\t\t\treturn A2(\n\t\t\t\t$elm$html$Html$div,\n\t\t\t\t_List_Nil,\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\t$author$project$Login$viewMenuTrigger(menu)\n\t\t\t\t\t]));\n\t\tdefault:\n\t\t\tvar menu = model.a;\n\t\t\tvar data = model.b;\n\t\t\treturn A2(\n\t\t\t\t$elm$html$Html$div,\n\t\t\t\t_List_Nil,\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\t$author$project$Login$viewOverlay,\n\t\t\t\t\t\tA2($author$project$Login$viewSections, data, menu.aR),\n\t\t\t\t\t\t$author$project$Login$viewMenuTrigger(menu)\n\t\t\t\t\t]));\n\t}\n};\nvar $author$project$Login$main = $elm$browser$Browser$element(\n\t{aJ: $author$project$Login$init, aS: $author$project$Login$subscriptions, aU: $author$project$Login$update, aW: $author$project$Login$view});\n_Platform_export({'Login':{'init':$author$project$Login$main(\n\tA2(\n\t\t$elm$json$Json$Decode$andThen,\n\t\tfunction (initializationUrl) {\n\t\t\treturn $elm$json$Json$Decode$succeed(\n\t\t\t\t{I: initializationUrl});\n\t\t},\n\t\tA2($elm$json$Json$Decode$field, 'initializationUrl', $elm$json$Json$Decode$string)))(0)}});}(this));"],"sourceRoot":""}