{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./app/javascript/DividendCalculator.elm","webpack:///./app/javascript/packs/dividend_calculator.js"],"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","scope","F","arity","fun","wrapper","a","f","F2","b","F3","F4","F5","e","F6","F7","g","F8","h","F9","A2","A3","A4","A5","A6","A9","_JsArray_initialize","size","offset","func","result","Array","_JsArray_initializeFromList","max","ls","length","_Utils_Tuple2","_JsArray_unsafeGet","index","array","_JsArray_foldr","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","push","$","$elm$core$Dict$toList","_Utils_equal","_Utils_cmp","ord","$elm$core$Basics$LT","$elm$core$Basics$GT","$elm$core$Basics$EQ","_Utils_update","oldRecord","updatedFields","newRecord","_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_round","round","_Basics_log","sqrt","_Basics_isNaN","isNaN","_String_cons","chr","str","string","len","word","charCodeAt","join","_String_filter","isGood","char","state","_String_foldr","_String_split","sep","split","_String_join","strs","_String_slice","start","end","_String_all","_String_contains","sub","indexOf","_String_startsWith","_String_indexes","lastIndexOf","subLen","is","_String_fromNumber","number","_Json_decodePrim","decoder","_Json_decodeInt","_Json_expecting","$elm$core$Result$Ok","isFinite","_Json_decodeBool","_Json_decodeString","String","_Json_decodeField","field","_Json_mapMany","decoders","_Json_andThen","callback","_Json_map1","d1","_Json_map2","d2","_Json_map5","d3","d4","d5","_Json_run","d6","d7","d8","_Json_runHelp","JSON","parse","$elm$core$Result$Err","$elm$json$Json$Decode$Failure","message","_Json_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","isArray","FileList","$elm$core$Array$initialize","type","_Json_equality","_Json_listEquality","aDecoders","bDecoders","_Json_encode","indentLevel","stringify","_Json_wrap","_Scheduler_succeed","_Scheduler_binding","_Scheduler_andThen","task","_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","bj","bK","bG","init","update","subscriptions","stepperBuilder","undefined","managers","model","stepper","sendToApp","ports","_Platform_effectManagers","manager","_Platform_instantiateManager","_Platform_setupEffects","viewMetadata","_Platform_enqueueEffects","info","router","onEffects","onSelfMsg","cmdMap","subMap","loop","j","_Platform_sendToApp","_Platform_leaf","home","k","_Platform_batch","list","tagger","bag","_Platform_effectsQueue","_Platform_effectsActive","cmdBag","subBag","q","fx","_Platform_dispatchEffects","effectsDict","_Platform_gatherEffects","isCmd","taggers","effect","applyTaggers","_Platform_toEffect","newEffect","effects","_Platform_insert","_VirtualDom_divertHrefToApp","finalTagger","_Platform_mergeExportsProd","obj","_VirtualDom_doc","document","_VirtualDom_appendChild","parent","child","appendChild","virtualNode","node","parentNode","replaceChild","_VirtualDom_render","_VirtualDom_text","_VirtualDom_nodeNS","namespace","factList","kidList","kids","descendantsCount","kid","_VirtualDom_organizeFacts","_VirtualDom_node","_VirtualDom_keyedNodeNS","_VirtualDom_thunk","refs","thunk","A7","A8","_VirtualDom_on","handler","_VirtualDom_property","_VirtualDom_attribute","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","az","aU","aI","facts","entry","subFacts","_VirtualDom_addClass","newClass","classes","vNode","eventNode","createTextNode","subNode","subEventRoot","domNode","elm_event_node_ref","_VirtualDom_applyFacts","createElementNS","createElement","addEventListener","_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","window","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","childNodes","vKid","nextLow","_VirtualDom_applyPatches","rootDomNode","oldVirtualNode","_VirtualDom_applyPatchesHelp","localDomNode","newNode","_VirtualDom_applyPatch","_VirtualDom_applyPatchRedraw","replaceData","removeChild","theEnd","insertBefore","frag","createDocumentFragment","_VirtualDom_applyPatchReorderEndInsertsHelp","insert","_VirtualDom_applyPatchReorder","_VirtualDom_virtualize","nodeType","textContent","attrList","attributes","tagName","toLowerCase","_Browser_element","initialModel","view","bL","currNode","_Browser_makeAnimator","nextNode","_Browser_requestAnimationFrame","divertHrefToApp","ad","title","bodyNode","body","doc","a5","bJ","cancelAnimationFrame","requestAnimationFrame","setTimeout","draw","updateIfNeeded","nextModel","isSync","$elm$core$Task$perform","$elm$core$Basics$never","history","go","url","pushState","replaceState","_Browser_fakeNode","_Browser_window","eventName","sendToSelf","$elm$core$Maybe$Just","$elm$core$Maybe$Nothing","_Browser_withNode","id","doStuff","getElementById","$elm$browser$Browser$Dom$NotFound","functionName","scroll","scrollLeft","scrollTop","$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","$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$isDigit","$elm$core$Char$isAlphaNum","$elm$core$String$uncons","$elm$json$Json$Decode$errorOneOf","error","$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$Array$Leaf","$elm$core$Basics$eq","$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$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","ao","aF","aH","aL","aM","$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","total","code0","$elm$url$Url$chompBeforePath","params","$elm$url$Url$chompBeforeQuery","$elm$url$Url$chompBeforeFragment","$elm$core$String$startsWith","$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$Platform$sendToApp","$elm$core$Task$spawnCmd","$elm$core$Task$onEffects","commands","tasks","$elm$core$Task$onSelfMsg","$elm$core$Task$cmdMap","$elm$core$Task$command","toMessage","$elm$browser$Browser$element","$elm$json$Json$Decode$field","$elm$core$Platform$Cmd$none","$elm$core$String$toFloat","test","$elm$core$Maybe$withDefault","_default","maybe","$author$project$DividendCalculator$parseFloat","stringValue","$elm$json$Json$Decode$list","$elm$json$Json$Decode$string","$elm$core$Platform$Sub$none","$author$project$DividendCalculator$update","newValue","intValue","$elm$json$Json$Encode$string","$elm$html$Html$Attributes$stringProperty","$elm$html$Html$Attributes$class","$elm$html$Html$div","$elm$core$Array$fromListHelp","jsArray","remainingItems","$elm$core$Array$fromList","$elm$core$Array$bitMask","$elm$core$Elm$JsArray$unsafeGet","$elm$core$Array$getHelp","$elm$core$Array$get","startShift","$elm$core$Array$tailIndex","$author$project$DividendCalculator$fetchNextYear","years","$author$project$DividendCalculator$fetchYear","$author$project$DividendCalculator$fetchYearValue","year","$cuducos$elm_format_number$FormatNumber$Locales$Locale","decimals","thousandSeparator","decimalSeparator","negativePrefix","negativeSuffix","positivePrefix","positiveSuffix","zeroPrefix","zeroSuffix","a9","ba","bp","bq","bw","bx","bH","bN","bO","$cuducos$elm_format_number$Parser$FormattedNumber","original","integers","prefix","suffix","av","aE","S","T","$elm$core$List$append","$elm$core$String$concat","strings","$cuducos$elm_format_number$Parser$classify","formatted","$elm$core$List$drop","$elm$core$String$filter","$elm$core$List$head","$elm$core$Basics$not","bool","$elm$core$Basics$abs","$elm$core$List$any","isOkay","$elm$core$String$foldr","$myrho$elm_round$Round$addSign","signed","isNotZero","$elm$core$String$fromFloat","$elm$core$String$cons","$elm$core$Char$fromCode","fromCharCode","$myrho$elm_round$Round$increaseNum","head","headtail","$elm$core$Basics$isInfinite","Infinity","$elm$core$Basics$isNaN","$elm$core$Maybe$map","$elm$core$String$fromChar","$elm$core$String$repeatHelp","chunk","$elm$core$String$repeat","$elm$core$String$padRight","$elm$core$String$reverse","$myrho$elm_round$Round$splitComma","$elm$core$Tuple$mapFirst","$myrho$elm_round$Round$round","functor","fl","num","exp","zeroed","_v3","$myrho$elm_round$Round$toDecimal","before","after","normalized","totalLen","roundDigitIndex","increase","remains","numLen","numZeroed","$myrho$elm_round$Round$roundFun","_int","$elm$core$String$dropRight","$elm$core$String$right","$cuducos$elm_format_number$Parser$parse","locale","parts","reversedSplitThousands","$cuducos$elm_format_number$Parser$splitThousands","partial","$cuducos$elm_format_number$Stringfy$formatDecimals","$cuducos$elm_format_number$Stringfy$removeZeros","$cuducos$elm_format_number$Stringfy$humanizeDecimals","strategy","$cuducos$elm_format_number$Stringfy$stringfy","stringfyDecimals","strategy_","$cuducos$elm_format_number$FormatNumber$format","number_","$author$project$DividendCalculator$formatKr","floatValue","$elm$core$Basics$round","$author$project$DividendCalculator$formatPercent","fractions","$lattyware$elm_fontawesome$FontAwesome$Icon$Icon","width","height","paths","ar","bo","bv","a_","$lattyware$elm_fontawesome$FontAwesome$Solid$check","$lattyware$elm_fontawesome$FontAwesome$Solid$times","$elm$core$Basics$composeR","$elm$core$Basics$always","$elm$html$Html$Attributes$attribute","_VirtualDom_noOnOrFormAction","_VirtualDom_noJavaScriptOrHtmlUri","$elm$svg$Svg$Attributes$class","$elm$core$List$concat","lists","$lattyware$elm_fontawesome$FontAwesome$Transforms$Internal$add","transform","combined","amount","direction","aT","a$","a0","rotation","bA","bf","be","$lattyware$elm_fontawesome$FontAwesome$Transforms$Internal$meaninglessTransform","$lattyware$elm_fontawesome$FontAwesome$Transforms$Internal$meaningfulTransform","transforms","$lattyware$elm_fontawesome$FontAwesome$Transforms$Internal$combine","$elm$svg$Svg$trustedNode","$elm$svg$Svg$svg","$elm$svg$Svg$Attributes$id","$elm$virtual_dom$VirtualDom$text","$elm$svg$Svg$text","$elm$svg$Svg$title","$lattyware$elm_fontawesome$FontAwesome$Icon$titledContents","titleId","contents","$elm$svg$Svg$Attributes$transform","$lattyware$elm_fontawesome$FontAwesome$Transforms$Internal$transformForSvg","containerWidth","iconWidth","outer","innerTranslate","innerRotate","flipY","scaleY","flipX","scaleX","innerScale","au","K","$elm$svg$Svg$Attributes$viewBox","$elm$svg$Svg$Attributes$height","$elm$svg$Svg$Attributes$width","$elm$svg$Svg$Attributes$x","$elm$svg$Svg$Attributes$y","$lattyware$elm_fontawesome$FontAwesome$Icon$allSpace","$elm$svg$Svg$clipPath","$elm$svg$Svg$Attributes$clipPath","$elm$svg$Svg$Attributes$d","$elm$svg$Svg$Attributes$fill","$elm$svg$Svg$path","$lattyware$elm_fontawesome$FontAwesome$Svg$Internal$corePath","$elm$svg$Svg$g","$lattyware$elm_fontawesome$FontAwesome$Svg$Internal$corePaths","icon","secondary","primary","only","$elm$svg$Svg$defs","$elm$svg$Svg$mask","$elm$svg$Svg$Attributes$mask","$elm$svg$Svg$Attributes$maskContentUnits","$elm$svg$Svg$Attributes$maskUnits","$elm$svg$Svg$rect","$lattyware$elm_fontawesome$FontAwesome$Icon$viewMaskedWithTransform","inner","maskInnerGroup","maskId","maskTag","clipId","defs","$lattyware$elm_fontawesome$FontAwesome$Icon$viewWithTransform","ts","$lattyware$elm_fontawesome$FontAwesome$Icon$viewIcon","P","at","X","ac","V","presentation","role","alwaysId","semantics","svgTransform","resolvedSvgTransform","potentiallyTitledContents","$author$project$DividendCalculator$infoItemWithIcon","goodBad","content","$elm$core$Basics$min","$elm$html$Html$strong","$elm$html$Html$text","$author$project$DividendCalculator$calcResult","yearlySalary","totalYearlySalary","standardRuleLimit","mainRuleUpperLimit","D","mainRulePercent","C","mainRuleLowerLimit","B","dividendTax","corporateTax","calculatedMainRuleLimit","mainRuleLimit","useMainRule","grossDividend","netDividend","requiredGrossProfit","$author$project$DividendCalculator$SalaryChanged","$author$project$DividendCalculator$fetchLastYear","$elm$html$Html$input","$elm$html$Html$Attributes$max","$elm$html$Html$Attributes$min","$elm$virtual_dom$VirtualDom$on","$elm$html$Html$Events$on","$elm$html$Html$Events$onBlur","$elm$core$Maybe$map2","ma","mb","$abadi199$elm_input_extra$Input$Number$exceedMaxValue","maxValue","maybeNumber","$abadi199$elm_input_extra$Input$Number$lessThanMinValue","minValue","min","$elm$html$Html$Events$targetValue","fields","$abadi199$elm_input_extra$Input$Number$onChange","options","ay","checkWithMaxValue","aA","aD","$elm$html$Html$Events$onFocus","$elm$html$Html$Events$alwaysStop","$elm$html$Html$Events$stopPropagationOn","$abadi199$elm_input_extra$Input$KeyCode$allowedKeyCodes","$elm$json$Json$Decode$bool","$abadi199$elm_input_extra$Input$Decoder$eventDecoder","keyCode","ctrlKey","altKey","metaKey","shiftKey","a3","a8","I","bl","bC","$abadi199$elm_input_extra$Input$Number$exceedMaxLength","maybeMaxLength","maxLength","$abadi199$elm_input_extra$Input$Number$isValid","updatedNumber","ax","$elm$html$Html$Events$preventDefaultOn","$abadi199$elm_input_extra$Input$Number$onKeyDown","currentValue","isNumPad","$elm$html$Html$Attributes$type_","$elm$html$Html$Attributes$value","$abadi199$elm_input_extra$Input$Number$input","toArray","onFocusAttribute","ap","onBlurAttribute","minAttribute","maxAttribute","$author$project$DividendCalculator$incomeInput","$author$project$DividendCalculator$TotalSalaryChanged","$author$project$DividendCalculator$totalIncomeInput","$author$project$DividendCalculator$YearChanged","$elm$html$Html$option","$elm$html$Html$select","$author$project$DividendCalculator$yearInput","onChangeAction","_Platform_export","flags","calcData","$author$project$DividendCalculator$parseFlags","$author$project$DividendCalculator$main","this","container","Elm","DividendCalculator","dataset","currentYear","nextYear","corporateTaxNext","dividendTaxNext","standardRuleLimitNext","mainRuleLowerLimitNext","mainRuleUpperLimitNext"],"mappings":"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","file":"js/dividend_calculator-23f549186b9627cae8fa.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 = 12);\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 DataView === 'function' && value instanceof DataView)\n\t{\n\t\treturn _Debug_stringColor(ansi, '<' + value.byteLength + ' bytes>');\n\t}\n\n\tif (typeof File !== 'undefined' && value instanceof File)\n\t{\n\t\treturn _Debug_internalColor(ansi, '<' + value.name + '>');\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[36m' + string + '\\x1b[0m' : string;\n}\n\nfunction _Debug_toHexDigit(n)\n{\n\treturn String.fromCharCode(n < 10 ? 48 + n : 55 + 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.ae.J === region.am.J)\n\t{\n\t\treturn 'on line ' + region.ae.J;\n\t}\n\treturn 'on lines ' + region.ae.J + ' through ' + region.am.J;\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 (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\tif (depth > 100)\n\t{\n\t\tstack.push(_Utils_Tuple2(x,y));\n\t\treturn true;\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 (typeof x.$ === 'undefined')\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 !isNaN(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, 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\nfunction _Json_decodePrim(decoder)\n{\n\treturn { $: 2, b: decoder };\n}\n\nvar _Json_decodeInt = _Json_decodePrim(function(value) {\n\treturn (typeof value !== 'number')\n\t\t? _Json_expecting('an INT', value)\n\t\t:\n\t(-2147483647 < value && value < 2147483647 && (value | 0) === value)\n\t\t? $elm$core$Result$Ok(value)\n\t\t:\n\t(isFinite(value) && !(value % 1))\n\t\t? $elm$core$Result$Ok(value)\n\t\t: _Json_expecting('an INT', value);\n});\n\nvar _Json_decodeBool = _Json_decodePrim(function(value) {\n\treturn (typeof value === 'boolean')\n\t\t? $elm$core$Result$Ok(value)\n\t\t: _Json_expecting('a BOOL', value);\n});\n\nvar _Json_decodeFloat = _Json_decodePrim(function(value) {\n\treturn (typeof value === 'number')\n\t\t? $elm$core$Result$Ok(value)\n\t\t: _Json_expecting('a FLOAT', value);\n});\n\nvar _Json_decodeValue = _Json_decodePrim(function(value) {\n\treturn $elm$core$Result$Ok(_Json_wrap(value));\n});\n\nvar _Json_decodeString = _Json_decodePrim(function(value) {\n\treturn (typeof value === 'string')\n\t\t? $elm$core$Result$Ok(value)\n\t\t: (value instanceof String)\n\t\t\t? $elm$core$Result$Ok(value + '')\n\t\t\t: _Json_expecting('a STRING', value);\n});\n\nfunction _Json_decodeList(decoder) { return { $: 3, b: decoder }; }\nfunction _Json_decodeArray(decoder) { return { $: 4, b: decoder }; }\n\nfunction _Json_decodeNull(value) { return { $: 5, c: value }; }\n\nvar _Json_decodeField = F2(function(field, decoder)\n{\n\treturn {\n\t\t$: 6,\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$: 7,\n\t\te: index,\n\t\tb: decoder\n\t};\n});\n\nfunction _Json_decodeKeyValuePairs(decoder)\n{\n\treturn {\n\t\t$: 8,\n\t\tb: decoder\n\t};\n}\n\nfunction _Json_mapMany(f, decoders)\n{\n\treturn {\n\t\t$: 9,\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$: 10,\n\t\tb: decoder,\n\t\th: callback\n\t};\n});\n\nfunction _Json_oneOf(decoders)\n{\n\treturn {\n\t\t$: 11,\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 2:\n\t\t\treturn decoder.b(value);\n\n\t\tcase 5:\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 3:\n\t\t\tif (!_Json_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 4:\n\t\t\tif (!_Json_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 6:\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 7:\n\t\t\tvar index = decoder.e;\n\t\t\tif (!_Json_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 8:\n\t\t\tif (typeof value !== 'object' || value === null || _Json_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 9:\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 10:\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 11:\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_isArray(value)\n{\n\treturn Array.isArray(value) || (typeof FileList !== 'undefined' && value instanceof FileList);\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 2:\n\t\t\treturn x.b === y.b;\n\n\t\tcase 5:\n\t\t\treturn x.c === y.c;\n\n\t\tcase 3:\n\t\tcase 4:\n\t\tcase 8:\n\t\t\treturn _Json_equality(x.b, y.b);\n\n\t\tcase 6:\n\t\t\treturn x.d === y.d && _Json_equality(x.b, y.b);\n\n\t\tcase 7:\n\t\t\treturn x.e === y.e && _Json_equality(x.b, y.b);\n\n\t\tcase 9:\n\t\t\treturn x.f === y.f && _Json_listEquality(x.g, y.g);\n\n\t\tcase 10:\n\t\t\treturn x.h === y.h && _Json_equality(x.b, y.b);\n\n\t\tcase 11:\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.bj,\n\t\timpl.bK,\n\t\timpl.bG,\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_enqueueEffects(managers, result.b, subscriptions(model));\n\t}\n\n\t_Platform_enqueueEffects(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// Effects must be queued!\n//\n// Say your init contains a synchronous command, like Time.now or Time.here\n//\n// - This will produce a batch of effects (FX_1)\n// - The synchronous task triggers the subsequent `update` call\n// - This will produce a batch of effects (FX_2)\n//\n// If we just start dispatching FX_2, subscriptions from FX_2 can be processed\n// before subscriptions from FX_1. No good! Earlier versions of this code had\n// this problem, leading to these reports:\n//\n// https://github.com/elm/core/issues/980\n// https://github.com/elm/core/pull/981\n// https://github.com/elm/compiler/issues/1776\n//\n// The queue is necessary to avoid ordering issues for synchronous commands.\n\n\n// Why use true/false here? Why not just check the length of the queue?\n// The goal is to detect \"are we currently dispatching effects?\" If we\n// are, we need to bail and let the ongoing while loop handle things.\n//\n// Now say the queue has 1 element. When we dequeue the final element,\n// the queue will be empty, but we are still actively dispatching effects.\n// So you could get queue jumping in a really tricky category of cases.\n//\nvar _Platform_effectsQueue = [];\nvar _Platform_effectsActive = false;\n\n\nfunction _Platform_enqueueEffects(managers, cmdBag, subBag)\n{\n\t_Platform_effectsQueue.push({ p: managers, q: cmdBag, r: subBag });\n\n\tif (_Platform_effectsActive) return;\n\n\t_Platform_effectsActive = true;\n\tfor (var fx; fx = _Platform_effectsQueue.shift(); )\n\t{\n\t\t_Platform_dispatchEffects(fx.p, fx.q, fx.r);\n\t}\n\t_Platform_effectsActive = false;\n}\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\ts: bag.n,\n\t\t\t\tt: 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.t)\n\t\t{\n\t\t\tx = temp.s(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\tu: 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].u;\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\tu: 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].u;\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\taz: func(record.az),\n\t\taU: record.aU,\n\t\taI: record.aI\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.az;\n\t\tvar stopPropagation = tag == 1 ? value.b : tag == 3 && value.aU;\n\t\tvar currentEventNode = (\n\t\t\tstopPropagation && event.stopPropagation(),\n\t\t\t(tag == 2 ? value.b : tag == 3 && value.aI) && 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.bj,\n\t\timpl.bK,\n\t\timpl.bG,\n\t\tfunction(sendToApp, initialModel) {\n\t\t\tvar view = impl.bL;\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.bj,\n\t\timpl.bK,\n\t\timpl.bG,\n\t\tfunction(sendToApp, initialModel) {\n\t\t\tvar divertHrefToApp = impl.ad && impl.ad(sendToApp)\n\t\t\tvar view = impl.bL;\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.a5);\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.bJ) && (_VirtualDom_doc.title = title = doc.bJ);\n\t\t\t});\n\t\t}\n\t);\n});\n\n\n\n// ANIMATION\n\n\nvar _Browser_cancelAnimationFrame =\n\ttypeof cancelAnimationFrame !== 'undefined'\n\t\t? cancelAnimationFrame\n\t\t: function(id) { clearTimeout(id); };\n\nvar _Browser_requestAnimationFrame =\n\ttypeof requestAnimationFrame !== 'undefined'\n\t\t? requestAnimationFrame\n\t\t: function(callback) { return 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.bs;\n\tvar onUrlRequest = impl.bt;\n\tvar key = function() { key.a(onUrlChange(_Browser_getUrl())); };\n\n\treturn _Browser_document({\n\t\tad: 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.hasAttribute('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.aL === next.aL\n\t\t\t\t\t\t\t&& curr.as === next.as\n\t\t\t\t\t\t\t&& curr.aH.a === next.aH.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\tbj: function(flags)\n\t\t{\n\t\t\treturn A3(impl.bj, flags, _Browser_getUrl(), key);\n\t\t},\n\t\tbL: impl.bL,\n\t\tbK: impl.bK,\n\t\tbG: impl.bG\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? { bg: 'hidden', a7: 'visibilitychange' }\n\t\t:\n\t(typeof _VirtualDom_doc.mozHidden !== 'undefined')\n\t\t? { bg: 'mozHidden', a7: 'mozvisibilitychange' }\n\t\t:\n\t(typeof _VirtualDom_doc.msHidden !== 'undefined')\n\t\t? { bg: 'msHidden', a7: 'msvisibilitychange' }\n\t\t:\n\t(typeof _VirtualDom_doc.webkitHidden !== 'undefined')\n\t\t? { bg: 'webkitHidden', a7: 'webkitvisibilitychange' }\n\t\t: { bg: 'hidden', a7: '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 = _Browser_requestAnimationFrame(function() {\n\t\t\tcallback(_Scheduler_succeed(Date.now()));\n\t\t});\n\n\t\treturn function() {\n\t\t\t_Browser_cancelAnimationFrame(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\taR: _Browser_getScene(),\n\t\taZ: {\n\t\t\ta$: _Browser_window.pageXOffset,\n\t\t\ta0: _Browser_window.pageYOffset,\n\t\t\ta_: _Browser_doc.documentElement.clientWidth,\n\t\t\tar: _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\ta_: Math.max(body.scrollWidth, body.offsetWidth, elem.scrollWidth, elem.offsetWidth, elem.clientWidth),\n\t\tar: 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\taR: {\n\t\t\t\ta_: node.scrollWidth,\n\t\t\t\tar: node.scrollHeight\n\t\t\t},\n\t\t\taZ: {\n\t\t\t\ta$: node.scrollLeft,\n\t\t\t\ta0: node.scrollTop,\n\t\t\t\ta_: node.clientWidth,\n\t\t\t\tar: 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\taR: _Browser_getScene(),\n\t\t\taZ: {\n\t\t\t\ta$: x,\n\t\t\t\ta0: y,\n\t\t\t\ta_: _Browser_doc.documentElement.clientWidth,\n\t\t\t\tar: _Browser_doc.documentElement.clientHeight\n\t\t\t},\n\t\t\tbc: {\n\t\t\t\ta$: x + rect.left,\n\t\t\t\ta0: y + rect.top,\n\t\t\t\ta_: rect.width,\n\t\t\t\tar: 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\nvar _Bitwise_and = F2(function(a, b)\n{\n\treturn a & b;\n});\n\nvar _Bitwise_or = F2(function(a, b)\n{\n\treturn a | b;\n});\n\nvar _Bitwise_xor = F2(function(a, b)\n{\n\treturn a ^ b;\n});\n\nfunction _Bitwise_complement(a)\n{\n\treturn ~a;\n};\n\nvar _Bitwise_shiftLeftBy = F2(function(offset, a)\n{\n\treturn a << offset;\n});\n\nvar _Bitwise_shiftRightBy = F2(function(offset, a)\n{\n\treturn a >> offset;\n});\n\nvar _Bitwise_shiftRightZfBy = F2(function(offset, a)\n{\n\treturn a >>> offset;\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.d),\n\t\t\t\t$elm$core$Array$shiftStep,\n\t\t\t\t$elm$core$Elm$JsArray$empty,\n\t\t\t\tbuilder.d);\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.e) : builder.e;\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.d) + 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.d);\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{e: nodeList, a: (len / $elm$core$Array$branchFactor) | 0, d: 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 {ao: fragment, as: host, aF: path, aH: port_, aL: protocol, aM: 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 $elm$core$Platform$Cmd$batch = _Platform_batch;\nvar $elm$core$Platform$Cmd$none = $elm$core$Platform$Cmd$batch(_List_Nil);\nvar $elm$core$String$toFloat = _String_toFloat;\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$DividendCalculator$parseFloat = function (stringValue) {\n\treturn A2(\n\t\t$elm$core$Maybe$withDefault,\n\t\t0.0,\n\t\t$elm$core$String$toFloat(stringValue));\n};\nvar $author$project$DividendCalculator$parseFlags = function (flags) {\n\treturn {\n\t\tu: A2($elm$core$List$map, $author$project$DividendCalculator$parseFloat, flags.u),\n\t\tv: A2($elm$core$List$map, $author$project$DividendCalculator$parseFloat, flags.v),\n\t\tB: A2($elm$core$List$map, $author$project$DividendCalculator$parseFloat, flags.B),\n\t\tC: $author$project$DividendCalculator$parseFloat(flags.C),\n\t\tD: A2($elm$core$List$map, $author$project$DividendCalculator$parseFloat, flags.D),\n\t\tF: A2($elm$core$List$map, $author$project$DividendCalculator$parseFloat, flags.F),\n\t\ti: flags.i\n\t};\n};\nvar $author$project$DividendCalculator$init = function (flags) {\n\tvar calcData = $author$project$DividendCalculator$parseFlags(flags);\n\treturn _Utils_Tuple2(\n\t\t{c: calcData, f: '0', p: 0, q: 0},\n\t\t$elm$core$Platform$Cmd$none);\n};\nvar $elm$json$Json$Decode$list = _Json_decodeList;\nvar $elm$json$Json$Decode$string = _Json_decodeString;\nvar $elm$core$Platform$Sub$batch = _Platform_batch;\nvar $elm$core$Platform$Sub$none = $elm$core$Platform$Sub$batch(_List_Nil);\nvar $author$project$DividendCalculator$subscriptions = function (model) {\n\treturn $elm$core$Platform$Sub$none;\n};\nvar $author$project$DividendCalculator$update = F2(\n\tfunction (msg, model) {\n\t\tswitch (msg.$) {\n\t\t\tcase 0:\n\t\t\t\tvar newValue = msg.a;\n\t\t\t\tvar intValue = A2($elm$core$Maybe$withDefault, 0, newValue);\n\t\t\t\treturn ((!model.q) || _Utils_eq(model.q, model.p)) ? _Utils_Tuple2(\n\t\t\t\t\t_Utils_update(\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t{p: intValue, q: intValue}),\n\t\t\t\t\t$elm$core$Platform$Cmd$none) : _Utils_Tuple2(\n\t\t\t\t\t_Utils_update(\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t{p: intValue}),\n\t\t\t\t\t$elm$core$Platform$Cmd$none);\n\t\t\tcase 1:\n\t\t\t\tvar newValue = msg.a;\n\t\t\t\tvar intValue = A2($elm$core$Maybe$withDefault, 0, newValue);\n\t\t\t\treturn (_Utils_cmp(model.p, intValue) < 0) ? _Utils_Tuple2(\n\t\t\t\t\t_Utils_update(\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t{p: intValue, q: intValue}),\n\t\t\t\t\t$elm$core$Platform$Cmd$none) : _Utils_Tuple2(\n\t\t\t\t\t_Utils_update(\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t{q: intValue}),\n\t\t\t\t\t$elm$core$Platform$Cmd$none);\n\t\t\tdefault:\n\t\t\t\tvar newValue = msg.a;\n\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t_Utils_update(\n\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t{f: newValue}),\n\t\t\t\t\t$elm$core$Platform$Cmd$none);\n\t\t}\n\t});\nvar $author$project$DividendCalculator$Bad = 1;\nvar $author$project$DividendCalculator$Good = 0;\nvar $elm$json$Json$Encode$string = _Json_wrap;\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$html$Html$div = _VirtualDom_node('div');\nvar $elm$core$Array$fromListHelp = F3(\n\tfunction (list, nodeList, nodeListSize) {\n\t\tfromListHelp:\n\t\twhile (true) {\n\t\t\tvar _v0 = A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, list);\n\t\t\tvar jsArray = _v0.a;\n\t\t\tvar remainingItems = _v0.b;\n\t\t\tif (_Utils_cmp(\n\t\t\t\t$elm$core$Elm$JsArray$length(jsArray),\n\t\t\t\t$elm$core$Array$branchFactor) < 0) {\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$core$Array$builderToArray,\n\t\t\t\t\ttrue,\n\t\t\t\t\t{e: nodeList, a: nodeListSize, d: jsArray});\n\t\t\t} else {\n\t\t\t\tvar $temp$list = remainingItems,\n\t\t\t\t\t$temp$nodeList = A2(\n\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t$elm$core$Array$Leaf(jsArray),\n\t\t\t\t\tnodeList),\n\t\t\t\t\t$temp$nodeListSize = nodeListSize + 1;\n\t\t\t\tlist = $temp$list;\n\t\t\t\tnodeList = $temp$nodeList;\n\t\t\t\tnodeListSize = $temp$nodeListSize;\n\t\t\t\tcontinue fromListHelp;\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Array$fromList = function (list) {\n\tif (!list.b) {\n\t\treturn $elm$core$Array$empty;\n\t} else {\n\t\treturn A3($elm$core$Array$fromListHelp, list, _List_Nil, 0);\n\t}\n};\nvar $elm$core$Bitwise$and = _Bitwise_and;\nvar $elm$core$Bitwise$shiftRightZfBy = _Bitwise_shiftRightZfBy;\nvar $elm$core$Array$bitMask = 4294967295 >>> (32 - $elm$core$Array$shiftStep);\nvar $elm$core$Basics$ge = _Utils_ge;\nvar $elm$core$Elm$JsArray$unsafeGet = _JsArray_unsafeGet;\nvar $elm$core$Array$getHelp = F3(\n\tfunction (shift, index, tree) {\n\t\tgetHelp:\n\t\twhile (true) {\n\t\t\tvar pos = $elm$core$Array$bitMask & (index >>> shift);\n\t\t\tvar _v0 = A2($elm$core$Elm$JsArray$unsafeGet, pos, tree);\n\t\t\tif (!_v0.$) {\n\t\t\t\tvar subTree = _v0.a;\n\t\t\t\tvar $temp$shift = shift - $elm$core$Array$shiftStep,\n\t\t\t\t\t$temp$index = index,\n\t\t\t\t\t$temp$tree = subTree;\n\t\t\t\tshift = $temp$shift;\n\t\t\t\tindex = $temp$index;\n\t\t\t\ttree = $temp$tree;\n\t\t\t\tcontinue getHelp;\n\t\t\t} else {\n\t\t\t\tvar values = _v0.a;\n\t\t\t\treturn A2($elm$core$Elm$JsArray$unsafeGet, $elm$core$Array$bitMask & index, values);\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Bitwise$shiftLeftBy = _Bitwise_shiftLeftBy;\nvar $elm$core$Array$tailIndex = function (len) {\n\treturn (len >>> 5) << 5;\n};\nvar $elm$core$Array$get = F2(\n\tfunction (index, _v0) {\n\t\tvar len = _v0.a;\n\t\tvar startShift = _v0.b;\n\t\tvar tree = _v0.c;\n\t\tvar tail = _v0.d;\n\t\treturn ((index < 0) || (_Utils_cmp(index, len) > -1)) ? $elm$core$Maybe$Nothing : ((_Utils_cmp(\n\t\t\tindex,\n\t\t\t$elm$core$Array$tailIndex(len)) > -1) ? $elm$core$Maybe$Just(\n\t\t\tA2($elm$core$Elm$JsArray$unsafeGet, $elm$core$Array$bitMask & index, tail)) : $elm$core$Maybe$Just(\n\t\t\tA3($elm$core$Array$getHelp, startShift, index, tree)));\n\t});\nvar $author$project$DividendCalculator$fetchNextYear = F2(\n\tfunction (index, years) {\n\t\treturn $elm$core$String$fromInt(\n\t\t\tA2(\n\t\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t\t0,\n\t\t\t\t$elm$core$String$toInt(\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t\t\t\t'0',\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$core$Array$get,\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t$elm$core$String$toInt(index)),\n\t\t\t\t\t\t\t$elm$core$Array$fromList(years))))) + 1);\n\t});\nvar $author$project$DividendCalculator$fetchYear = F2(\n\tfunction (index, years) {\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$Array$get,\n\t\t\t\tA2(\n\t\t\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t\t\t0,\n\t\t\t\t\t$elm$core$String$toInt(index)),\n\t\t\t\t$elm$core$Array$fromList(years)));\n\t});\nvar $author$project$DividendCalculator$fetchYearValue = F2(\n\tfunction (year, values) {\n\t\treturn A2(\n\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t0.0,\n\t\t\tA2(\n\t\t\t\t$elm$core$Array$get,\n\t\t\t\tA2(\n\t\t\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t\t\t0,\n\t\t\t\t\t$elm$core$String$toInt(year)),\n\t\t\t\t$elm$core$Array$fromList(values)));\n\t});\nvar $cuducos$elm_format_number$FormatNumber$Locales$Locale = F9(\n\tfunction (decimals, thousandSeparator, decimalSeparator, negativePrefix, negativeSuffix, positivePrefix, positiveSuffix, zeroPrefix, zeroSuffix) {\n\t\treturn {a9: decimalSeparator, ba: decimals, bp: negativePrefix, bq: negativeSuffix, bw: positivePrefix, bx: positiveSuffix, bH: thousandSeparator, bN: zeroPrefix, bO: zeroSuffix};\n\t});\nvar $cuducos$elm_format_number$Parser$FormattedNumber = F5(\n\tfunction (original, integers, decimals, prefix, suffix) {\n\t\treturn {ba: decimals, av: integers, aE: original, S: prefix, T: suffix};\n\t});\nvar $cuducos$elm_format_number$Parser$Negative = 2;\nvar $cuducos$elm_format_number$Parser$Positive = 0;\nvar $cuducos$elm_format_number$Parser$Zero = 1;\nvar $elm$core$List$append = F2(\n\tfunction (xs, ys) {\n\t\tif (!ys.b) {\n\t\t\treturn xs;\n\t\t} else {\n\t\t\treturn A3($elm$core$List$foldr, $elm$core$List$cons, ys, xs);\n\t\t}\n\t});\nvar $elm$core$String$concat = function (strings) {\n\treturn A2($elm$core$String$join, '', strings);\n};\nvar $elm$core$List$singleton = function (value) {\n\treturn _List_fromArray(\n\t\t[value]);\n};\nvar $cuducos$elm_format_number$Parser$classify = function (formatted) {\n\tvar onlyZeros = A2(\n\t\t$elm$core$String$all,\n\t\tfunction (_char) {\n\t\t\treturn _char === '0';\n\t\t},\n\t\t$elm$core$String$concat(\n\t\t\tA2(\n\t\t\t\t$elm$core$List$append,\n\t\t\t\tformatted.av,\n\t\t\t\t$elm$core$List$singleton(formatted.ba))));\n\treturn onlyZeros ? 1 : ((formatted.aE < 0) ? 2 : 0);\n};\nvar $elm$core$List$drop = F2(\n\tfunction (n, list) {\n\t\tdrop:\n\t\twhile (true) {\n\t\t\tif (n <= 0) {\n\t\t\t\treturn list;\n\t\t\t} else {\n\t\t\t\tif (!list.b) {\n\t\t\t\t\treturn list;\n\t\t\t\t} else {\n\t\t\t\t\tvar x = list.a;\n\t\t\t\t\tvar xs = list.b;\n\t\t\t\t\tvar $temp$n = n - 1,\n\t\t\t\t\t\t$temp$list = xs;\n\t\t\t\t\tn = $temp$n;\n\t\t\t\t\tlist = $temp$list;\n\t\t\t\t\tcontinue drop;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$String$filter = _String_filter;\nvar $elm$core$List$head = function (list) {\n\tif (list.b) {\n\t\tvar x = list.a;\n\t\tvar xs = list.b;\n\t\treturn $elm$core$Maybe$Just(x);\n\t} else {\n\t\treturn $elm$core$Maybe$Nothing;\n\t}\n};\nvar $elm$core$Basics$not = _Basics_not;\nvar $elm$core$Basics$negate = function (n) {\n\treturn -n;\n};\nvar $elm$core$Basics$abs = function (n) {\n\treturn (n < 0) ? (-n) : n;\n};\nvar $elm$core$List$any = F2(\n\tfunction (isOkay, list) {\n\t\tany:\n\t\twhile (true) {\n\t\t\tif (!list.b) {\n\t\t\t\treturn false;\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\tif (isOkay(x)) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\tvar $temp$isOkay = isOkay,\n\t\t\t\t\t\t$temp$list = xs;\n\t\t\t\t\tisOkay = $temp$isOkay;\n\t\t\t\t\tlist = $temp$list;\n\t\t\t\t\tcontinue any;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Basics$neq = _Utils_notEqual;\nvar $elm$core$String$foldr = _String_foldr;\nvar $elm$core$String$toList = function (string) {\n\treturn A3($elm$core$String$foldr, $elm$core$List$cons, _List_Nil, string);\n};\nvar $myrho$elm_round$Round$addSign = F2(\n\tfunction (signed, str) {\n\t\tvar isNotZero = A2(\n\t\t\t$elm$core$List$any,\n\t\t\tfunction (c) {\n\t\t\t\treturn (c !== '0') && (c !== '.');\n\t\t\t},\n\t\t\t$elm$core$String$toList(str));\n\t\treturn _Utils_ap(\n\t\t\t(signed && isNotZero) ? '-' : '',\n\t\t\tstr);\n\t});\nvar $elm$core$String$fromFloat = _String_fromNumber;\nvar $elm$core$String$cons = _String_cons;\nvar $elm$core$Char$fromCode = _Char_fromCode;\nvar $myrho$elm_round$Round$increaseNum = function (_v0) {\n\tvar head = _v0.a;\n\tvar tail = _v0.b;\n\tif (head === '9') {\n\t\tvar _v1 = $elm$core$String$uncons(tail);\n\t\tif (_v1.$ === 1) {\n\t\t\treturn '01';\n\t\t} else {\n\t\t\tvar headtail = _v1.a;\n\t\t\treturn A2(\n\t\t\t\t$elm$core$String$cons,\n\t\t\t\t'0',\n\t\t\t\t$myrho$elm_round$Round$increaseNum(headtail));\n\t\t}\n\t} else {\n\t\tvar c = $elm$core$Char$toCode(head);\n\t\treturn ((c >= 48) && (c < 57)) ? A2(\n\t\t\t$elm$core$String$cons,\n\t\t\t$elm$core$Char$fromCode(c + 1),\n\t\t\ttail) : '0';\n\t}\n};\nvar $elm$core$Basics$isInfinite = _Basics_isInfinite;\nvar $elm$core$Basics$isNaN = _Basics_isNaN;\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$String$fromChar = function (_char) {\n\treturn A2($elm$core$String$cons, _char, '');\n};\nvar $elm$core$Bitwise$shiftRightBy = _Bitwise_shiftRightBy;\nvar $elm$core$String$repeatHelp = F3(\n\tfunction (n, chunk, result) {\n\t\treturn (n <= 0) ? result : A3(\n\t\t\t$elm$core$String$repeatHelp,\n\t\t\tn >> 1,\n\t\t\t_Utils_ap(chunk, chunk),\n\t\t\t(!(n & 1)) ? result : _Utils_ap(result, chunk));\n\t});\nvar $elm$core$String$repeat = F2(\n\tfunction (n, chunk) {\n\t\treturn A3($elm$core$String$repeatHelp, n, chunk, '');\n\t});\nvar $elm$core$String$padRight = F3(\n\tfunction (n, _char, string) {\n\t\treturn _Utils_ap(\n\t\t\tstring,\n\t\t\tA2(\n\t\t\t\t$elm$core$String$repeat,\n\t\t\t\tn - $elm$core$String$length(string),\n\t\t\t\t$elm$core$String$fromChar(_char)));\n\t});\nvar $elm$core$String$reverse = _String_reverse;\nvar $myrho$elm_round$Round$splitComma = function (str) {\n\tvar _v0 = A2($elm$core$String$split, '.', str);\n\tif (_v0.b) {\n\t\tif (_v0.b.b) {\n\t\t\tvar before = _v0.a;\n\t\t\tvar _v1 = _v0.b;\n\t\t\tvar after = _v1.a;\n\t\t\treturn _Utils_Tuple2(before, after);\n\t\t} else {\n\t\t\tvar before = _v0.a;\n\t\t\treturn _Utils_Tuple2(before, '0');\n\t\t}\n\t} else {\n\t\treturn _Utils_Tuple2('0', '0');\n\t}\n};\nvar $elm$core$Tuple$mapFirst = F2(\n\tfunction (func, _v0) {\n\t\tvar x = _v0.a;\n\t\tvar y = _v0.b;\n\t\treturn _Utils_Tuple2(\n\t\t\tfunc(x),\n\t\t\ty);\n\t});\nvar $myrho$elm_round$Round$toDecimal = function (fl) {\n\tvar _v0 = A2(\n\t\t$elm$core$String$split,\n\t\t'e',\n\t\t$elm$core$String$fromFloat(\n\t\t\t$elm$core$Basics$abs(fl)));\n\tif (_v0.b) {\n\t\tif (_v0.b.b) {\n\t\t\tvar num = _v0.a;\n\t\t\tvar _v1 = _v0.b;\n\t\t\tvar exp = _v1.a;\n\t\t\tvar e = A2(\n\t\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t\t0,\n\t\t\t\t$elm$core$String$toInt(\n\t\t\t\t\tA2($elm$core$String$startsWith, '+', exp) ? A2($elm$core$String$dropLeft, 1, exp) : exp));\n\t\t\tvar _v2 = $myrho$elm_round$Round$splitComma(num);\n\t\t\tvar before = _v2.a;\n\t\t\tvar after = _v2.b;\n\t\t\tvar total = _Utils_ap(before, after);\n\t\t\tvar zeroed = (e < 0) ? A2(\n\t\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t\t'0',\n\t\t\t\tA2(\n\t\t\t\t\t$elm$core$Maybe$map,\n\t\t\t\t\tfunction (_v3) {\n\t\t\t\t\t\tvar a = _v3.a;\n\t\t\t\t\t\tvar b = _v3.b;\n\t\t\t\t\t\treturn a + ('.' + b);\n\t\t\t\t\t},\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$Maybe$map,\n\t\t\t\t\t\t$elm$core$Tuple$mapFirst($elm$core$String$fromChar),\n\t\t\t\t\t\t$elm$core$String$uncons(\n\t\t\t\t\t\t\t_Utils_ap(\n\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t$elm$core$String$repeat,\n\t\t\t\t\t\t\t\t\t$elm$core$Basics$abs(e),\n\t\t\t\t\t\t\t\t\t'0'),\n\t\t\t\t\t\t\t\ttotal))))) : A3($elm$core$String$padRight, e + 1, '0', total);\n\t\t\treturn _Utils_ap(\n\t\t\t\t(fl < 0) ? '-' : '',\n\t\t\t\tzeroed);\n\t\t} else {\n\t\t\tvar num = _v0.a;\n\t\t\treturn _Utils_ap(\n\t\t\t\t(fl < 0) ? '-' : '',\n\t\t\t\tnum);\n\t\t}\n\t} else {\n\t\treturn '';\n\t}\n};\nvar $myrho$elm_round$Round$roundFun = F3(\n\tfunction (functor, s, fl) {\n\t\tif ($elm$core$Basics$isInfinite(fl) || $elm$core$Basics$isNaN(fl)) {\n\t\t\treturn $elm$core$String$fromFloat(fl);\n\t\t} else {\n\t\t\tvar signed = fl < 0;\n\t\t\tvar _v0 = $myrho$elm_round$Round$splitComma(\n\t\t\t\t$myrho$elm_round$Round$toDecimal(\n\t\t\t\t\t$elm$core$Basics$abs(fl)));\n\t\t\tvar before = _v0.a;\n\t\t\tvar after = _v0.b;\n\t\t\tvar r = $elm$core$String$length(before) + s;\n\t\t\tvar normalized = _Utils_ap(\n\t\t\t\tA2($elm$core$String$repeat, (-r) + 1, '0'),\n\t\t\t\tA3(\n\t\t\t\t\t$elm$core$String$padRight,\n\t\t\t\t\tr,\n\t\t\t\t\t'0',\n\t\t\t\t\t_Utils_ap(before, after)));\n\t\t\tvar totalLen = $elm$core$String$length(normalized);\n\t\t\tvar roundDigitIndex = A2($elm$core$Basics$max, 1, r);\n\t\t\tvar increase = A2(\n\t\t\t\tfunctor,\n\t\t\t\tsigned,\n\t\t\t\tA3($elm$core$String$slice, roundDigitIndex, totalLen, normalized));\n\t\t\tvar remains = A3($elm$core$String$slice, 0, roundDigitIndex, normalized);\n\t\t\tvar num = increase ? $elm$core$String$reverse(\n\t\t\t\tA2(\n\t\t\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t\t\t'1',\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$Maybe$map,\n\t\t\t\t\t\t$myrho$elm_round$Round$increaseNum,\n\t\t\t\t\t\t$elm$core$String$uncons(\n\t\t\t\t\t\t\t$elm$core$String$reverse(remains))))) : remains;\n\t\t\tvar numLen = $elm$core$String$length(num);\n\t\t\tvar numZeroed = (num === '0') ? num : ((s <= 0) ? _Utils_ap(\n\t\t\t\tnum,\n\t\t\t\tA2(\n\t\t\t\t\t$elm$core$String$repeat,\n\t\t\t\t\t$elm$core$Basics$abs(s),\n\t\t\t\t\t'0')) : ((_Utils_cmp(\n\t\t\t\ts,\n\t\t\t\t$elm$core$String$length(after)) < 0) ? (A3($elm$core$String$slice, 0, numLen - s, num) + ('.' + A3($elm$core$String$slice, numLen - s, numLen, num))) : _Utils_ap(\n\t\t\t\tbefore + '.',\n\t\t\t\tA3($elm$core$String$padRight, s, '0', after))));\n\t\t\treturn A2($myrho$elm_round$Round$addSign, signed, numZeroed);\n\t\t}\n\t});\nvar $myrho$elm_round$Round$round = $myrho$elm_round$Round$roundFun(\n\tF2(\n\t\tfunction (signed, str) {\n\t\t\tvar _v0 = $elm$core$String$uncons(str);\n\t\t\tif (_v0.$ === 1) {\n\t\t\t\treturn false;\n\t\t\t} else {\n\t\t\t\tif ('5' === _v0.a.a) {\n\t\t\t\t\tif (_v0.a.b === '') {\n\t\t\t\t\t\tvar _v1 = _v0.a;\n\t\t\t\t\t\treturn !signed;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar _v2 = _v0.a;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tvar _v3 = _v0.a;\n\t\t\t\t\tvar _int = _v3.a;\n\t\t\t\t\treturn function (i) {\n\t\t\t\t\t\treturn ((i > 53) && signed) || ((i >= 53) && (!signed));\n\t\t\t\t\t}(\n\t\t\t\t\t\t$elm$core$Char$toCode(_int));\n\t\t\t\t}\n\t\t\t}\n\t\t}));\nvar $elm$core$String$dropRight = F2(\n\tfunction (n, string) {\n\t\treturn (n < 1) ? string : A3($elm$core$String$slice, 0, -n, string);\n\t});\nvar $elm$core$String$right = F2(\n\tfunction (n, string) {\n\t\treturn (n < 1) ? '' : A3(\n\t\t\t$elm$core$String$slice,\n\t\t\t-n,\n\t\t\t$elm$core$String$length(string),\n\t\t\tstring);\n\t});\nvar $cuducos$elm_format_number$Parser$splitThousands = function (integers) {\n\tvar reversedSplitThousands = function (value) {\n\t\treturn ($elm$core$String$length(value) > 3) ? A2(\n\t\t\t$elm$core$List$cons,\n\t\t\tA2($elm$core$String$right, 3, value),\n\t\t\treversedSplitThousands(\n\t\t\t\tA2($elm$core$String$dropRight, 3, value))) : _List_fromArray(\n\t\t\t[value]);\n\t};\n\treturn $elm$core$List$reverse(\n\t\treversedSplitThousands(integers));\n};\nvar $cuducos$elm_format_number$Parser$parse = F2(\n\tfunction (locale, original) {\n\t\tvar parts = A2(\n\t\t\t$elm$core$String$split,\n\t\t\t'.',\n\t\t\tA2($myrho$elm_round$Round$round, locale.ba, original));\n\t\tvar integers = $cuducos$elm_format_number$Parser$splitThousands(\n\t\t\tA2(\n\t\t\t\t$elm$core$String$filter,\n\t\t\t\t$elm$core$Char$isDigit,\n\t\t\t\tA2(\n\t\t\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t\t\t'0',\n\t\t\t\t\t$elm$core$List$head(parts))));\n\t\tvar decimals = A2(\n\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t'',\n\t\t\t$elm$core$List$head(\n\t\t\t\tA2($elm$core$List$drop, 1, parts)));\n\t\tvar partial = A5($cuducos$elm_format_number$Parser$FormattedNumber, original, integers, decimals, '', '');\n\t\tvar _v0 = $cuducos$elm_format_number$Parser$classify(partial);\n\t\tswitch (_v0) {\n\t\t\tcase 2:\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\tpartial,\n\t\t\t\t\t{S: locale.bp, T: locale.bq});\n\t\t\tcase 0:\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\tpartial,\n\t\t\t\t\t{S: locale.bw, T: locale.bx});\n\t\t\tdefault:\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\tpartial,\n\t\t\t\t\t{S: locale.bN, T: locale.bO});\n\t\t}\n\t});\nvar $cuducos$elm_format_number$Stringfy$formatDecimals = F2(\n\tfunction (locale, decimals) {\n\t\treturn (decimals === '') ? '' : _Utils_ap(locale.a9, decimals);\n\t});\nvar $cuducos$elm_format_number$Stringfy$removeZeros = function (decimals) {\n\treturn (A2($elm$core$String$right, 1, decimals) !== '0') ? decimals : $cuducos$elm_format_number$Stringfy$removeZeros(\n\t\tA2($elm$core$String$dropRight, 1, decimals));\n};\nvar $cuducos$elm_format_number$Stringfy$humanizeDecimals = F3(\n\tfunction (locale, strategy, decimals) {\n\t\tif ((decimals === '') || _Utils_eq(\n\t\t\tA2($elm$core$String$repeat, locale.ba, '0'),\n\t\t\tdecimals)) {\n\t\t\treturn '';\n\t\t} else {\n\t\t\tif (!strategy) {\n\t\t\t\treturn _Utils_ap(locale.a9, decimals);\n\t\t\t} else {\n\t\t\t\treturn A2(\n\t\t\t\t\t$cuducos$elm_format_number$Stringfy$formatDecimals,\n\t\t\t\t\tlocale,\n\t\t\t\t\t$cuducos$elm_format_number$Stringfy$removeZeros(decimals));\n\t\t\t}\n\t\t}\n\t});\nvar $cuducos$elm_format_number$Stringfy$stringfy = F3(\n\tfunction (locale, strategy, formatted) {\n\t\tvar stringfyDecimals = function () {\n\t\t\tif (!strategy.$) {\n\t\t\t\tvar strategy_ = strategy.a;\n\t\t\t\treturn A2($cuducos$elm_format_number$Stringfy$humanizeDecimals, locale, strategy_);\n\t\t\t} else {\n\t\t\t\treturn $cuducos$elm_format_number$Stringfy$formatDecimals(locale);\n\t\t\t}\n\t\t}();\n\t\tvar integers = A2($elm$core$String$join, locale.bH, formatted.av);\n\t\tvar decimals = stringfyDecimals(formatted.ba);\n\t\treturn $elm$core$String$concat(\n\t\t\t_List_fromArray(\n\t\t\t\t[formatted.S, integers, decimals, formatted.T]));\n\t});\nvar $cuducos$elm_format_number$FormatNumber$format = F2(\n\tfunction (locale, number_) {\n\t\treturn A3(\n\t\t\t$cuducos$elm_format_number$Stringfy$stringfy,\n\t\t\tlocale,\n\t\t\t$elm$core$Maybe$Nothing,\n\t\t\tA2($cuducos$elm_format_number$Parser$parse, locale, number_));\n\t});\nvar $author$project$DividendCalculator$formatKr = function (floatValue) {\n\treturn A2(\n\t\t$cuducos$elm_format_number$FormatNumber$format,\n\t\tA9($cuducos$elm_format_number$FormatNumber$Locales$Locale, 0, ' ', ',', '−', '', '', '', '', ''),\n\t\tfloatValue) + ' kr';\n};\nvar $elm$core$Basics$round = _Basics_round;\nvar $author$project$DividendCalculator$formatPercent = function (floatValue) {\n\tvar fractions = _Utils_eq(\n\t\t100.0 * floatValue,\n\t\t$elm$core$Basics$round(100.0 * floatValue)) ? 0 : 1;\n\treturn A2(\n\t\t$cuducos$elm_format_number$FormatNumber$format,\n\t\tA9($cuducos$elm_format_number$FormatNumber$Locales$Locale, fractions, ' ', ',', '-', '', '', '', '', ''),\n\t\t100.0 * floatValue) + '%';\n};\nvar $lattyware$elm_fontawesome$FontAwesome$Icon$Icon = F5(\n\tfunction (prefix, name, width, height, paths) {\n\t\treturn {ar: height, bo: name, bv: paths, S: prefix, a_: width};\n\t});\nvar $lattyware$elm_fontawesome$FontAwesome$Solid$check = A5(\n\t$lattyware$elm_fontawesome$FontAwesome$Icon$Icon,\n\t'fas',\n\t'check',\n\t512,\n\t512,\n\t_List_fromArray(\n\t\t['M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z']));\nvar $lattyware$elm_fontawesome$FontAwesome$Solid$times = A5(\n\t$lattyware$elm_fontawesome$FontAwesome$Icon$Icon,\n\t'fas',\n\t'times',\n\t352,\n\t512,\n\t_List_fromArray(\n\t\t['M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z']));\nvar $elm$core$Basics$composeR = F3(\n\tfunction (f, g, x) {\n\t\treturn g(\n\t\t\tf(x));\n\t});\nvar $lattyware$elm_fontawesome$FontAwesome$Icon$Presentation = $elm$core$Basics$identity;\nvar $lattyware$elm_fontawesome$FontAwesome$Icon$present = function (icon) {\n\treturn {P: _List_Nil, at: icon, X: $elm$core$Maybe$Nothing, K: $elm$core$Maybe$Nothing, ac: 'img', bJ: $elm$core$Maybe$Nothing, V: _List_Nil};\n};\nvar $elm$core$Basics$always = F2(\n\tfunction (a, _v0) {\n\t\treturn a;\n\t});\nvar $elm$virtual_dom$VirtualDom$attribute = F2(\n\tfunction (key, value) {\n\t\treturn A2(\n\t\t\t_VirtualDom_attribute,\n\t\t\t_VirtualDom_noOnOrFormAction(key),\n\t\t\t_VirtualDom_noJavaScriptOrHtmlUri(value));\n\t});\nvar $elm$html$Html$Attributes$attribute = $elm$virtual_dom$VirtualDom$attribute;\nvar $elm$svg$Svg$Attributes$class = _VirtualDom_attribute('class');\nvar $elm$core$List$concat = function (lists) {\n\treturn A3($elm$core$List$foldr, $elm$core$List$append, _List_Nil, lists);\n};\nvar $lattyware$elm_fontawesome$FontAwesome$Transforms$Internal$add = F2(\n\tfunction (transform, combined) {\n\t\tswitch (transform.$) {\n\t\t\tcase 0:\n\t\t\t\tvar direction = transform.a;\n\t\t\t\tvar amount = function () {\n\t\t\t\t\tif (!direction.$) {\n\t\t\t\t\t\tvar by = direction.a;\n\t\t\t\t\t\treturn by;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar by = direction.a;\n\t\t\t\t\t\treturn -by;\n\t\t\t\t\t}\n\t\t\t\t}();\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\tcombined,\n\t\t\t\t\t{aT: combined.aT + amount});\n\t\t\tcase 1:\n\t\t\t\tvar direction = transform.a;\n\t\t\t\tvar _v2 = function () {\n\t\t\t\t\tswitch (direction.$) {\n\t\t\t\t\t\tcase 0:\n\t\t\t\t\t\t\tvar by = direction.a;\n\t\t\t\t\t\t\treturn _Utils_Tuple2(0, -by);\n\t\t\t\t\t\tcase 1:\n\t\t\t\t\t\t\tvar by = direction.a;\n\t\t\t\t\t\t\treturn _Utils_Tuple2(0, by);\n\t\t\t\t\t\tcase 2:\n\t\t\t\t\t\t\tvar by = direction.a;\n\t\t\t\t\t\t\treturn _Utils_Tuple2(-by, 0);\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tvar by = direction.a;\n\t\t\t\t\t\t\treturn _Utils_Tuple2(by, 0);\n\t\t\t\t\t}\n\t\t\t\t}();\n\t\t\t\tvar x = _v2.a;\n\t\t\t\tvar y = _v2.b;\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\tcombined,\n\t\t\t\t\t{a$: combined.a$ + x, a0: combined.a0 + y});\n\t\t\tcase 2:\n\t\t\t\tvar rotation = transform.a;\n\t\t\t\treturn _Utils_update(\n\t\t\t\t\tcombined,\n\t\t\t\t\t{bA: combined.bA + rotation});\n\t\t\tdefault:\n\t\t\t\tif (!transform.a) {\n\t\t\t\t\tvar _v4 = transform.a;\n\t\t\t\t\treturn _Utils_update(\n\t\t\t\t\t\tcombined,\n\t\t\t\t\t\t{be: true});\n\t\t\t\t} else {\n\t\t\t\t\tvar _v5 = transform.a;\n\t\t\t\t\treturn _Utils_update(\n\t\t\t\t\t\tcombined,\n\t\t\t\t\t\t{bf: true});\n\t\t\t\t}\n\t\t}\n\t});\nvar $lattyware$elm_fontawesome$FontAwesome$Transforms$Internal$baseSize = 16;\nvar $lattyware$elm_fontawesome$FontAwesome$Transforms$Internal$meaninglessTransform = {be: false, bf: false, bA: 0, aT: $lattyware$elm_fontawesome$FontAwesome$Transforms$Internal$baseSize, a$: 0, a0: 0};\nvar $lattyware$elm_fontawesome$FontAwesome$Transforms$Internal$combine = function (transforms) {\n\treturn A3($elm$core$List$foldl, $lattyware$elm_fontawesome$FontAwesome$Transforms$Internal$add, $lattyware$elm_fontawesome$FontAwesome$Transforms$Internal$meaninglessTransform, transforms);\n};\nvar $lattyware$elm_fontawesome$FontAwesome$Transforms$Internal$meaningfulTransform = function (transforms) {\n\tvar combined = $lattyware$elm_fontawesome$FontAwesome$Transforms$Internal$combine(transforms);\n\treturn _Utils_eq(combined, $lattyware$elm_fontawesome$FontAwesome$Transforms$Internal$meaninglessTransform) ? $elm$core$Maybe$Nothing : $elm$core$Maybe$Just(combined);\n};\nvar $elm$svg$Svg$trustedNode = _VirtualDom_nodeNS('http://www.w3.org/2000/svg');\nvar $elm$svg$Svg$svg = $elm$svg$Svg$trustedNode('svg');\nvar $elm$svg$Svg$Attributes$id = _VirtualDom_attribute('id');\nvar $elm$virtual_dom$VirtualDom$text = _VirtualDom_text;\nvar $elm$svg$Svg$text = $elm$virtual_dom$VirtualDom$text;\nvar $elm$svg$Svg$title = $elm$svg$Svg$trustedNode('title');\nvar $lattyware$elm_fontawesome$FontAwesome$Icon$titledContents = F3(\n\tfunction (titleId, contents, title) {\n\t\treturn A2(\n\t\t\t$elm$core$List$cons,\n\t\t\tA2(\n\t\t\t\t$elm$svg$Svg$title,\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\t$elm$svg$Svg$Attributes$id(titleId)\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$svg$Svg$text(title)\n\t\t\t\t\t])),\n\t\t\tcontents);\n\t});\nvar $elm$svg$Svg$Attributes$transform = _VirtualDom_attribute('transform');\nvar $lattyware$elm_fontawesome$FontAwesome$Transforms$Internal$transformForSvg = F3(\n\tfunction (containerWidth, iconWidth, transform) {\n\t\tvar path = 'translate(' + ($elm$core$String$fromFloat((iconWidth / 2) * (-1)) + ' -256)');\n\t\tvar outer = 'translate(' + ($elm$core$String$fromFloat(containerWidth / 2) + ' 256)');\n\t\tvar innerTranslate = 'translate(' + ($elm$core$String$fromFloat(transform.a$ * 32) + (',' + ($elm$core$String$fromFloat(transform.a0 * 32) + ') ')));\n\t\tvar innerRotate = 'rotate(' + ($elm$core$String$fromFloat(transform.bA) + ' 0 0)');\n\t\tvar flipY = transform.bf ? (-1) : 1;\n\t\tvar scaleY = (transform.aT / $lattyware$elm_fontawesome$FontAwesome$Transforms$Internal$baseSize) * flipY;\n\t\tvar flipX = transform.be ? (-1) : 1;\n\t\tvar scaleX = (transform.aT / $lattyware$elm_fontawesome$FontAwesome$Transforms$Internal$baseSize) * flipX;\n\t\tvar innerScale = 'scale(' + ($elm$core$String$fromFloat(scaleX) + (', ' + ($elm$core$String$fromFloat(scaleY) + ') ')));\n\t\treturn {\n\t\t\tau: $elm$svg$Svg$Attributes$transform(\n\t\t\t\t_Utils_ap(\n\t\t\t\t\tinnerTranslate,\n\t\t\t\t\t_Utils_ap(innerScale, innerRotate))),\n\t\t\tK: $elm$svg$Svg$Attributes$transform(outer),\n\t\t\taF: $elm$svg$Svg$Attributes$transform(path)\n\t\t};\n\t});\nvar $elm$svg$Svg$Attributes$viewBox = _VirtualDom_attribute('viewBox');\nvar $elm$svg$Svg$Attributes$height = _VirtualDom_attribute('height');\nvar $elm$svg$Svg$Attributes$width = _VirtualDom_attribute('width');\nvar $elm$svg$Svg$Attributes$x = _VirtualDom_attribute('x');\nvar $elm$svg$Svg$Attributes$y = _VirtualDom_attribute('y');\nvar $lattyware$elm_fontawesome$FontAwesome$Icon$allSpace = _List_fromArray(\n\t[\n\t\t$elm$svg$Svg$Attributes$x('0'),\n\t\t$elm$svg$Svg$Attributes$y('0'),\n\t\t$elm$svg$Svg$Attributes$width('100%'),\n\t\t$elm$svg$Svg$Attributes$height('100%')\n\t]);\nvar $elm$svg$Svg$clipPath = $elm$svg$Svg$trustedNode('clipPath');\nvar $elm$svg$Svg$Attributes$clipPath = _VirtualDom_attribute('clip-path');\nvar $elm$svg$Svg$Attributes$d = _VirtualDom_attribute('d');\nvar $elm$svg$Svg$Attributes$fill = _VirtualDom_attribute('fill');\nvar $elm$svg$Svg$path = $elm$svg$Svg$trustedNode('path');\nvar $lattyware$elm_fontawesome$FontAwesome$Svg$Internal$corePath = F2(\n\tfunction (attrs, d) {\n\t\treturn A2(\n\t\t\t$elm$svg$Svg$path,\n\t\t\tA2(\n\t\t\t\t$elm$core$List$cons,\n\t\t\t\t$elm$svg$Svg$Attributes$fill('currentColor'),\n\t\t\t\tA2(\n\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t$elm$svg$Svg$Attributes$d(d),\n\t\t\t\t\tattrs)),\n\t\t\t_List_Nil);\n\t});\nvar $elm$svg$Svg$g = $elm$svg$Svg$trustedNode('g');\nvar $lattyware$elm_fontawesome$FontAwesome$Svg$Internal$corePaths = F2(\n\tfunction (attrs, icon) {\n\t\tvar _v0 = icon.bv;\n\t\tif (!_v0.b) {\n\t\t\treturn A2($lattyware$elm_fontawesome$FontAwesome$Svg$Internal$corePath, attrs, '');\n\t\t} else {\n\t\t\tif (!_v0.b.b) {\n\t\t\t\tvar only = _v0.a;\n\t\t\t\treturn A2($lattyware$elm_fontawesome$FontAwesome$Svg$Internal$corePath, attrs, only);\n\t\t\t} else {\n\t\t\t\tvar secondary = _v0.a;\n\t\t\t\tvar _v1 = _v0.b;\n\t\t\t\tvar primary = _v1.a;\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$svg$Svg$g,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$svg$Svg$Attributes$class('fa-group')\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$lattyware$elm_fontawesome$FontAwesome$Svg$Internal$corePath,\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t\t\t$elm$svg$Svg$Attributes$class('fa-secondary'),\n\t\t\t\t\t\t\t\tattrs),\n\t\t\t\t\t\t\tsecondary),\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$lattyware$elm_fontawesome$FontAwesome$Svg$Internal$corePath,\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t\t\t$elm$svg$Svg$Attributes$class('fa-primary'),\n\t\t\t\t\t\t\t\tattrs),\n\t\t\t\t\t\t\tprimary)\n\t\t\t\t\t\t]));\n\t\t\t}\n\t\t}\n\t});\nvar $elm$svg$Svg$defs = $elm$svg$Svg$trustedNode('defs');\nvar $elm$svg$Svg$mask = $elm$svg$Svg$trustedNode('mask');\nvar $elm$svg$Svg$Attributes$mask = _VirtualDom_attribute('mask');\nvar $elm$svg$Svg$Attributes$maskContentUnits = _VirtualDom_attribute('maskContentUnits');\nvar $elm$svg$Svg$Attributes$maskUnits = _VirtualDom_attribute('maskUnits');\nvar $elm$svg$Svg$rect = $elm$svg$Svg$trustedNode('rect');\nvar $lattyware$elm_fontawesome$FontAwesome$Icon$viewMaskedWithTransform = F4(\n\tfunction (id, transforms, inner, outer) {\n\t\tvar maskInnerGroup = A2(\n\t\t\t$elm$svg$Svg$g,\n\t\t\t_List_fromArray(\n\t\t\t\t[transforms.au]),\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2(\n\t\t\t\t\t$lattyware$elm_fontawesome$FontAwesome$Svg$Internal$corePaths,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$svg$Svg$Attributes$fill('black'),\n\t\t\t\t\t\t\ttransforms.aF\n\t\t\t\t\t\t]),\n\t\t\t\t\tinner)\n\t\t\t\t]));\n\t\tvar maskId = 'mask-' + (inner.bo + ('-' + id));\n\t\tvar maskTag = A2(\n\t\t\t$elm$svg$Svg$mask,\n\t\t\t_Utils_ap(\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\t$elm$svg$Svg$Attributes$id(maskId),\n\t\t\t\t\t\t$elm$svg$Svg$Attributes$maskUnits('userSpaceOnUse'),\n\t\t\t\t\t\t$elm$svg$Svg$Attributes$maskContentUnits('userSpaceOnUse')\n\t\t\t\t\t]),\n\t\t\t\t$lattyware$elm_fontawesome$FontAwesome$Icon$allSpace),\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$svg$Svg$rect,\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t$elm$svg$Svg$Attributes$fill('white'),\n\t\t\t\t\t\t$lattyware$elm_fontawesome$FontAwesome$Icon$allSpace),\n\t\t\t\t\t_List_Nil),\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$svg$Svg$g,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[transforms.K]),\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[maskInnerGroup]))\n\t\t\t\t]));\n\t\tvar clipId = 'clip-' + (outer.bo + ('-' + id));\n\t\tvar defs = A2(\n\t\t\t$elm$svg$Svg$defs,\n\t\t\t_List_Nil,\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$svg$Svg$clipPath,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$svg$Svg$Attributes$id(clipId)\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($lattyware$elm_fontawesome$FontAwesome$Svg$Internal$corePaths, _List_Nil, outer)\n\t\t\t\t\t\t])),\n\t\t\t\t\tmaskTag\n\t\t\t\t]));\n\t\treturn _List_fromArray(\n\t\t\t[\n\t\t\t\tdefs,\n\t\t\t\tA2(\n\t\t\t\t$elm$svg$Svg$rect,\n\t\t\t\t$elm$core$List$concat(\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\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$svg$Svg$Attributes$fill('currentColor'),\n\t\t\t\t\t\t\t\t$elm$svg$Svg$Attributes$clipPath('url(#' + (clipId + ')')),\n\t\t\t\t\t\t\t\t$elm$svg$Svg$Attributes$mask('url(#' + (maskId + ')'))\n\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t$lattyware$elm_fontawesome$FontAwesome$Icon$allSpace\n\t\t\t\t\t\t])),\n\t\t\t\t_List_Nil)\n\t\t\t]);\n\t});\nvar $lattyware$elm_fontawesome$FontAwesome$Icon$viewWithTransform = F2(\n\tfunction (transforms, icon) {\n\t\tif (!transforms.$) {\n\t\t\tvar ts = transforms.a;\n\t\t\treturn A2(\n\t\t\t\t$elm$svg$Svg$g,\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[ts.K]),\n\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$svg$Svg$g,\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[ts.au]),\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\tA2(\n\t\t\t\t\t\t\t\t$lattyware$elm_fontawesome$FontAwesome$Svg$Internal$corePaths,\n\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t[ts.aF]),\n\t\t\t\t\t\t\t\ticon)\n\t\t\t\t\t\t\t]))\n\t\t\t\t\t]));\n\t\t} else {\n\t\t\treturn A2($lattyware$elm_fontawesome$FontAwesome$Svg$Internal$corePaths, _List_Nil, icon);\n\t\t}\n\t});\nvar $lattyware$elm_fontawesome$FontAwesome$Icon$internalView = function (_v0) {\n\tvar icon = _v0.at;\n\tvar attributes = _v0.P;\n\tvar transforms = _v0.V;\n\tvar role = _v0.ac;\n\tvar id = _v0.X;\n\tvar title = _v0.bJ;\n\tvar outer = _v0.K;\n\tvar alwaysId = A2($elm$core$Maybe$withDefault, icon.bo, id);\n\tvar titleId = alwaysId + '-title';\n\tvar semantics = A2(\n\t\t$elm$core$Maybe$withDefault,\n\t\tA2($elm$html$Html$Attributes$attribute, 'aria-hidden', 'true'),\n\t\tA2(\n\t\t\t$elm$core$Maybe$map,\n\t\t\t$elm$core$Basics$always(\n\t\t\t\tA2($elm$html$Html$Attributes$attribute, 'aria-labelledby', titleId)),\n\t\t\ttitle));\n\tvar _v1 = A2(\n\t\t$elm$core$Maybe$withDefault,\n\t\t_Utils_Tuple2(icon.a_, icon.ar),\n\t\tA2(\n\t\t\t$elm$core$Maybe$map,\n\t\t\tfunction (o) {\n\t\t\t\treturn _Utils_Tuple2(o.a_, o.ar);\n\t\t\t},\n\t\t\touter));\n\tvar width = _v1.a;\n\tvar height = _v1.b;\n\tvar classes = _List_fromArray(\n\t\t[\n\t\t\t'svg-inline--fa',\n\t\t\t'fa-' + icon.bo,\n\t\t\t'fa-w-' + $elm$core$String$fromInt(\n\t\t\t$elm$core$Basics$ceiling((width / height) * 16))\n\t\t]);\n\tvar svgTransform = A2(\n\t\t$elm$core$Maybe$map,\n\t\tA2($lattyware$elm_fontawesome$FontAwesome$Transforms$Internal$transformForSvg, width, icon.a_),\n\t\t$lattyware$elm_fontawesome$FontAwesome$Transforms$Internal$meaningfulTransform(transforms));\n\tvar contents = function () {\n\t\tvar resolvedSvgTransform = A2(\n\t\t\t$elm$core$Maybe$withDefault,\n\t\t\tA3($lattyware$elm_fontawesome$FontAwesome$Transforms$Internal$transformForSvg, width, icon.a_, $lattyware$elm_fontawesome$FontAwesome$Transforms$Internal$meaninglessTransform),\n\t\t\tsvgTransform);\n\t\treturn A2(\n\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\tA2($lattyware$elm_fontawesome$FontAwesome$Icon$viewWithTransform, svgTransform, icon)\n\t\t\t\t]),\n\t\t\tA2(\n\t\t\t\t$elm$core$Maybe$map,\n\t\t\t\tA3($lattyware$elm_fontawesome$FontAwesome$Icon$viewMaskedWithTransform, alwaysId, resolvedSvgTransform, icon),\n\t\t\t\touter));\n\t}();\n\tvar potentiallyTitledContents = A2(\n\t\t$elm$core$Maybe$withDefault,\n\t\tcontents,\n\t\tA2(\n\t\t\t$elm$core$Maybe$map,\n\t\t\tA2($lattyware$elm_fontawesome$FontAwesome$Icon$titledContents, titleId, contents),\n\t\t\ttitle));\n\treturn A2(\n\t\t$elm$svg$Svg$svg,\n\t\t$elm$core$List$concat(\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t[\n\t\t\t\t\t\tA2($elm$html$Html$Attributes$attribute, 'role', role),\n\t\t\t\t\t\tA2($elm$html$Html$Attributes$attribute, 'xmlns', 'http://www.w3.org/2000/svg'),\n\t\t\t\t\t\t$elm$svg$Svg$Attributes$viewBox(\n\t\t\t\t\t\t'0 0 ' + ($elm$core$String$fromInt(width) + (' ' + $elm$core$String$fromInt(height)))),\n\t\t\t\t\t\tsemantics\n\t\t\t\t\t]),\n\t\t\t\t\tA2($elm$core$List$map, $elm$svg$Svg$Attributes$class, classes),\n\t\t\t\t\tattributes\n\t\t\t\t])),\n\t\tpotentiallyTitledContents);\n};\nvar $lattyware$elm_fontawesome$FontAwesome$Icon$view = function (presentation) {\n\treturn $lattyware$elm_fontawesome$FontAwesome$Icon$internalView(presentation);\n};\nvar $lattyware$elm_fontawesome$FontAwesome$Icon$viewIcon = A2($elm$core$Basics$composeR, $lattyware$elm_fontawesome$FontAwesome$Icon$present, $lattyware$elm_fontawesome$FontAwesome$Icon$view);\nvar $author$project$DividendCalculator$infoItemWithIcon = F2(\n\tfunction (goodBad, content) {\n\t\tvar icon = function () {\n\t\t\tif (!goodBad) {\n\t\t\t\treturn $lattyware$elm_fontawesome$FontAwesome$Solid$check;\n\t\t\t} else {\n\t\t\t\treturn $lattyware$elm_fontawesome$FontAwesome$Solid$times;\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('info-item')\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$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('icon')\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$lattyware$elm_fontawesome$FontAwesome$Icon$viewIcon(icon)\n\t\t\t\t\t\t])),\n\t\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('info')\n\t\t\t\t\t\t]),\n\t\t\t\t\tcontent)\n\t\t\t\t]));\n\t});\nvar $elm$core$Basics$min = F2(\n\tfunction (x, y) {\n\t\treturn (_Utils_cmp(x, y) < 0) ? x : y;\n\t});\nvar $elm$html$Html$strong = _VirtualDom_node('strong');\nvar $elm$html$Html$text = $elm$virtual_dom$VirtualDom$text;\nvar $author$project$DividendCalculator$calcResult = function (model) {\n\tvar yearlySalary = model.q;\n\tvar totalYearlySalary = model.p;\n\tvar standardRuleLimit = A2($author$project$DividendCalculator$fetchYearValue, model.f, model.c.F);\n\tvar mainRuleUpperLimit = A2($author$project$DividendCalculator$fetchYearValue, model.f, model.c.D);\n\tvar mainRulePercent = model.c.C;\n\tvar mainRuleLowerLimit = A2($author$project$DividendCalculator$fetchYearValue, model.f, model.c.B);\n\tvar dividendTax = A2($author$project$DividendCalculator$fetchYearValue, model.f, model.c.v);\n\tvar corporateTax = A2($author$project$DividendCalculator$fetchYearValue, model.f, model.c.u);\n\tvar calculatedMainRuleLimit = A2($elm$core$Basics$max, mainRuleLowerLimit / 0.95, mainRuleLowerLimit + (mainRulePercent * totalYearlySalary));\n\tvar mainRuleLimit = $elm$core$Basics$ceiling(\n\t\tA2($elm$core$Basics$min, mainRuleUpperLimit, calculatedMainRuleLimit));\n\tvar useMainRule = _Utils_cmp(yearlySalary, mainRuleLimit) > -1;\n\tvar grossDividend = useMainRule ? $elm$core$Basics$round(totalYearlySalary * 0.5) : $elm$core$Basics$round(standardRuleLimit);\n\tvar netDividend = $elm$core$Basics$round(grossDividend * (1.0 - dividendTax));\n\tvar requiredGrossProfit = $elm$core$Basics$ceiling(grossDividend / (1.0 - corporateTax));\n\treturn _List_fromArray(\n\t\t[\n\t\t\tA2(\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('row')\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$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('col')\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$author$project$DividendCalculator$infoItemWithIcon,\n\t\t\t\t\t\t\t0,\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(' Du kan dela ut upp till '),\n\t\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t$elm$html$Html$strong,\n\t\t\t\t\t\t\t\t\t_List_Nil,\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$elm$html$Html$text(\n\t\t\t\t\t\t\t\t\t\t\t$author$project$DividendCalculator$formatKr(grossDividend))\n\t\t\t\t\t\t\t\t\t\t])),\n\t\t\t\t\t\t\t\t\t$elm$html$Html$text(\n\t\t\t\t\t\t\t\t\t' under ' + A2($author$project$DividendCalculator$fetchYear, model.f, model.c.i))\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$author$project$DividendCalculator$infoItemWithIcon,\n\t\t\t\t\t\t\t0,\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(' Du får då '),\n\t\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t$elm$html$Html$strong,\n\t\t\t\t\t\t\t\t\t_List_Nil,\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$elm$html$Html$text(\n\t\t\t\t\t\t\t\t\t\t\t$author$project$DividendCalculator$formatKr(netDividend))\n\t\t\t\t\t\t\t\t\t\t])),\n\t\t\t\t\t\t\t\t\t$elm$html$Html$text(\n\t\t\t\t\t\t\t\t\t' i fickan efter skatt på ' + $author$project$DividendCalculator$formatPercent(\n\t\t\t\t\t\t\t\t\t\tA2($author$project$DividendCalculator$fetchYearValue, model.f, model.c.v)))\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$author$project$DividendCalculator$infoItemWithIcon,\n\t\t\t\t\t\t\t0,\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(' För det här krävs en vinst på '),\n\t\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t$elm$html$Html$strong,\n\t\t\t\t\t\t\t\t\t_List_Nil,\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$elm$html$Html$text(\n\t\t\t\t\t\t\t\t\t\t\t$author$project$DividendCalculator$formatKr(requiredGrossProfit))\n\t\t\t\t\t\t\t\t\t\t])),\n\t\t\t\t\t\t\t\t\t$elm$html$Html$text(\n\t\t\t\t\t\t\t\t\t' före bolagsskatt på ' + $author$project$DividendCalculator$formatPercent(\n\t\t\t\t\t\t\t\t\t\tA2($author$project$DividendCalculator$fetchYearValue, model.f, model.c.u)))\n\t\t\t\t\t\t\t\t])),\n\t\t\t\t\t\t\tuseMainRule ? A2(\n\t\t\t\t\t\t\t$author$project$DividendCalculator$infoItemWithIcon,\n\t\t\t\t\t\t\t0,\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(' Grattis, du använder dig av den fördelaktiga huvudregeln!')\n\t\t\t\t\t\t\t\t])) : A2(\n\t\t\t\t\t\t\t$author$project$DividendCalculator$infoItemWithIcon,\n\t\t\t\t\t\t\t1,\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(' Du kan tyvärr inte använda huvudregeln - din årslön måste vara minst '),\n\t\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t$elm$html$Html$strong,\n\t\t\t\t\t\t\t\t\t_List_Nil,\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$elm$html$Html$text(\n\t\t\t\t\t\t\t\t\t\t\t$author$project$DividendCalculator$formatKr(mainRuleLimit))\n\t\t\t\t\t\t\t\t\t\t]))\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$author$project$DividendCalculator$infoItemWithIcon,\n\t\t\t\t\t\t\t0,\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(' Utdelningen ska deklareras på K10 i samband med Inkomstdeklaration 1 år '),\n\t\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t$elm$html$Html$strong,\n\t\t\t\t\t\t\t\t\t_List_Nil,\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$elm$html$Html$text(\n\t\t\t\t\t\t\t\t\t\t\tA2($author$project$DividendCalculator$fetchNextYear, model.f, model.c.i))\n\t\t\t\t\t\t\t\t\t\t]))\n\t\t\t\t\t\t\t\t]))\n\t\t\t\t\t\t]))\n\t\t\t\t]))\n\t\t]);\n};\nvar $author$project$DividendCalculator$SalaryChanged = function (a) {\n\treturn {$: 1, a: a};\n};\nvar $author$project$DividendCalculator$fetchLastYear = F2(\n\tfunction (index, years) {\n\t\treturn $elm$core$String$fromInt(\n\t\t\tA2(\n\t\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t\t0,\n\t\t\t\t$elm$core$String$toInt(\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t\t\t\t'0',\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$core$Array$get,\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t$elm$core$String$toInt(index)),\n\t\t\t\t\t\t\t$elm$core$Array$fromList(years))))) - 1);\n\t});\nvar $elm$html$Html$input = _VirtualDom_node('input');\nvar $elm$html$Html$Attributes$max = $elm$html$Html$Attributes$stringProperty('max');\nvar $elm$html$Html$Attributes$min = $elm$html$Html$Attributes$stringProperty('min');\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$onBlur = function (msg) {\n\treturn A2(\n\t\t$elm$html$Html$Events$on,\n\t\t'blur',\n\t\t$elm$json$Json$Decode$succeed(msg));\n};\nvar $elm$core$Maybe$map2 = F3(\n\tfunction (func, ma, mb) {\n\t\tif (ma.$ === 1) {\n\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t} else {\n\t\t\tvar a = ma.a;\n\t\t\tif (mb.$ === 1) {\n\t\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t\t} else {\n\t\t\t\tvar b = mb.a;\n\t\t\t\treturn $elm$core$Maybe$Just(\n\t\t\t\t\tA2(func, a, b));\n\t\t\t}\n\t\t}\n\t});\nvar $abadi199$elm_input_extra$Input$Number$exceedMaxValue = F2(\n\tfunction (maxValue, maybeNumber) {\n\t\treturn A2(\n\t\t\t$elm$core$Maybe$withDefault,\n\t\t\tfalse,\n\t\t\tA3(\n\t\t\t\t$elm$core$Maybe$map2,\n\t\t\t\tF2(\n\t\t\t\t\tfunction (max, number) {\n\t\t\t\t\t\treturn _Utils_cmp(number, max) > 0;\n\t\t\t\t\t}),\n\t\t\t\tmaxValue,\n\t\t\t\tmaybeNumber));\n\t});\nvar $abadi199$elm_input_extra$Input$Number$lessThanMinValue = F2(\n\tfunction (minValue, maybeNumber) {\n\t\treturn A2(\n\t\t\t$elm$core$Maybe$withDefault,\n\t\t\tfalse,\n\t\t\tA3(\n\t\t\t\t$elm$core$Maybe$map2,\n\t\t\t\tF2(\n\t\t\t\t\tfunction (min, number) {\n\t\t\t\t\t\treturn _Utils_cmp(number, min) < 0;\n\t\t\t\t\t}),\n\t\t\t\tminValue,\n\t\t\t\tmaybeNumber));\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 $abadi199$elm_input_extra$Input$Number$onChange = function (options) {\n\tvar checkWithMinValue = function (number) {\n\t\treturn A2($abadi199$elm_input_extra$Input$Number$lessThanMinValue, options.aA, number) ? options.aA : number;\n\t};\n\tvar checkWithMaxValue = function (number) {\n\t\treturn A2($abadi199$elm_input_extra$Input$Number$exceedMaxValue, options.ay, number) ? options.ay : number;\n\t};\n\tvar toInt = function (string) {\n\t\treturn checkWithMaxValue(\n\t\t\tcheckWithMinValue(\n\t\t\t\t$elm$core$String$toInt(string)));\n\t};\n\treturn A2(\n\t\t$elm$html$Html$Events$on,\n\t\t'change',\n\t\tA2(\n\t\t\t$elm$json$Json$Decode$map,\n\t\t\tA2($elm$core$Basics$composeR, toInt, options.aD),\n\t\t\t$elm$html$Html$Events$targetValue));\n};\nvar $elm$html$Html$Events$onFocus = function (msg) {\n\treturn A2(\n\t\t$elm$html$Html$Events$on,\n\t\t'focus',\n\t\t$elm$json$Json$Decode$succeed(msg));\n};\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$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 $abadi199$elm_input_extra$Input$KeyCode$alt = 18;\nvar $abadi199$elm_input_extra$Input$KeyCode$backspace = 8;\nvar $abadi199$elm_input_extra$Input$KeyCode$ctrl = 17;\nvar $abadi199$elm_input_extra$Input$KeyCode$delete = 46;\nvar $abadi199$elm_input_extra$Input$KeyCode$downArrow = 40;\nvar $abadi199$elm_input_extra$Input$KeyCode$enter = 13;\nvar $abadi199$elm_input_extra$Input$KeyCode$leftArrow = 37;\nvar $abadi199$elm_input_extra$Input$KeyCode$rightArrow = 39;\nvar $abadi199$elm_input_extra$Input$KeyCode$shift = 16;\nvar $abadi199$elm_input_extra$Input$KeyCode$tab = 9;\nvar $abadi199$elm_input_extra$Input$KeyCode$upArrow = 38;\nvar $abadi199$elm_input_extra$Input$KeyCode$allowedKeyCodes = _List_fromArray(\n\t[$abadi199$elm_input_extra$Input$KeyCode$leftArrow, $abadi199$elm_input_extra$Input$KeyCode$upArrow, $abadi199$elm_input_extra$Input$KeyCode$rightArrow, $abadi199$elm_input_extra$Input$KeyCode$downArrow, $abadi199$elm_input_extra$Input$KeyCode$backspace, $abadi199$elm_input_extra$Input$KeyCode$ctrl, $abadi199$elm_input_extra$Input$KeyCode$alt, $abadi199$elm_input_extra$Input$KeyCode$delete, $abadi199$elm_input_extra$Input$KeyCode$tab, $abadi199$elm_input_extra$Input$KeyCode$enter, $abadi199$elm_input_extra$Input$KeyCode$shift]);\nvar $abadi199$elm_input_extra$Input$Decoder$Event = F5(\n\tfunction (keyCode, ctrlKey, altKey, metaKey, shiftKey) {\n\t\treturn {a3: altKey, a8: ctrlKey, I: keyCode, bl: metaKey, bC: shiftKey};\n\t});\nvar $elm$json$Json$Decode$bool = _Json_decodeBool;\nvar $elm$json$Json$Decode$int = _Json_decodeInt;\nvar $elm$json$Json$Decode$map5 = _Json_map5;\nvar $abadi199$elm_input_extra$Input$Decoder$eventDecoder = A6(\n\t$elm$json$Json$Decode$map5,\n\t$abadi199$elm_input_extra$Input$Decoder$Event,\n\tA2($elm$json$Json$Decode$field, 'keyCode', $elm$json$Json$Decode$int),\n\tA2($elm$json$Json$Decode$field, 'ctrlKey', $elm$json$Json$Decode$bool),\n\tA2($elm$json$Json$Decode$field, 'altKey', $elm$json$Json$Decode$bool),\n\tA2($elm$json$Json$Decode$field, 'metaKey', $elm$json$Json$Decode$bool),\n\tA2($elm$json$Json$Decode$field, 'shiftKey', $elm$json$Json$Decode$bool));\nvar $abadi199$elm_input_extra$Input$Number$exceedMaxLength = F2(\n\tfunction (maybeMaxLength, value) {\n\t\treturn A2(\n\t\t\t$elm$core$Maybe$withDefault,\n\t\t\tfalse,\n\t\t\tA2(\n\t\t\t\t$elm$core$Maybe$map,\n\t\t\t\t$elm$core$Basics$not,\n\t\t\t\tA2(\n\t\t\t\t\t$elm$core$Maybe$map,\n\t\t\t\t\tfunction (maxLength) {\n\t\t\t\t\t\treturn _Utils_cmp(\n\t\t\t\t\t\t\tmaxLength,\n\t\t\t\t\t\t\t$elm$core$String$length(value)) > -1;\n\t\t\t\t\t},\n\t\t\t\t\tmaybeMaxLength)));\n\t});\nvar $abadi199$elm_input_extra$Input$Number$isValid = F2(\n\tfunction (newValue, options) {\n\t\tvar updatedNumber = $elm$core$String$toInt(newValue);\n\t\treturn (!A2($abadi199$elm_input_extra$Input$Number$exceedMaxLength, options.ax, newValue)) && (!A2($abadi199$elm_input_extra$Input$Number$exceedMaxValue, options.ay, updatedNumber));\n\t});\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 $abadi199$elm_input_extra$Input$Number$onKeyDown = F2(\n\tfunction (options, currentValue) {\n\t\tvar newValue = function (keyCode) {\n\t\t\treturn _Utils_ap(\n\t\t\t\tA2(\n\t\t\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t\t\t'',\n\t\t\t\t\tA2($elm$core$Maybe$map, $elm$core$String$fromInt, currentValue)),\n\t\t\t\t$elm$core$String$fromChar(\n\t\t\t\t\t$elm$core$Char$fromCode(keyCode)));\n\t\t};\n\t\tvar isNumber = function (keyCode) {\n\t\t\treturn (keyCode >= 48) && (keyCode <= 57);\n\t\t};\n\t\tvar isNumPad = function (keyCode) {\n\t\t\treturn (keyCode >= 96) && (keyCode <= 105);\n\t\t};\n\t\tvar filterKey = function (event) {\n\t\t\treturn (event.a8 || (event.a3 || event.bl)) ? _Utils_Tuple2(\n\t\t\t\toptions.aD(currentValue),\n\t\t\t\tfalse) : (event.bC ? _Utils_Tuple2(\n\t\t\t\toptions.aD(currentValue),\n\t\t\t\ttrue) : (A2(\n\t\t\t\t$elm$core$List$any,\n\t\t\t\t$elm$core$Basics$eq(event.I),\n\t\t\t\t$abadi199$elm_input_extra$Input$KeyCode$allowedKeyCodes) ? _Utils_Tuple2(\n\t\t\t\toptions.aD(currentValue),\n\t\t\t\tfalse) : (((isNumber(event.I) || isNumPad(event.I)) && A2(\n\t\t\t\t$abadi199$elm_input_extra$Input$Number$isValid,\n\t\t\t\tnewValue(event.I),\n\t\t\t\toptions)) ? _Utils_Tuple2(\n\t\t\t\toptions.aD(\n\t\t\t\t\t$elm$core$String$toInt(\n\t\t\t\t\t\tnewValue(event.I))),\n\t\t\t\tfalse) : _Utils_Tuple2(\n\t\t\t\toptions.aD(currentValue),\n\t\t\t\ttrue))));\n\t\t};\n\t\tvar decoder = A2($elm$json$Json$Decode$map, filterKey, $abadi199$elm_input_extra$Input$Decoder$eventDecoder);\n\t\treturn A2($elm$html$Html$Events$preventDefaultOn, 'keydown', decoder);\n\t});\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 $abadi199$elm_input_extra$Input$Number$input = F3(\n\tfunction (options, attributes, currentValue) {\n\t\tvar toArray = function (a) {\n\t\t\treturn A2($elm$core$List$cons, a, _List_Nil);\n\t\t};\n\t\tvar onFocusAttribute = A2(\n\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t_List_Nil,\n\t\t\tA2(\n\t\t\t\t$elm$core$Maybe$map,\n\t\t\t\ttoArray,\n\t\t\t\tA2(\n\t\t\t\t\t$elm$core$Maybe$map,\n\t\t\t\t\t$elm$html$Html$Events$onFocus,\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$Maybe$map,\n\t\t\t\t\t\tfunction (f) {\n\t\t\t\t\t\t\treturn f(true);\n\t\t\t\t\t\t},\n\t\t\t\t\t\toptions.ap))));\n\t\tvar onBlurAttribute = A2(\n\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t_List_Nil,\n\t\t\tA2(\n\t\t\t\t$elm$core$Maybe$map,\n\t\t\t\ttoArray,\n\t\t\t\tA2(\n\t\t\t\t\t$elm$core$Maybe$map,\n\t\t\t\t\t$elm$html$Html$Events$onBlur,\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$Maybe$map,\n\t\t\t\t\t\tfunction (f) {\n\t\t\t\t\t\t\treturn f(false);\n\t\t\t\t\t\t},\n\t\t\t\t\t\toptions.ap))));\n\t\tvar minAttribute = A2(\n\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t_List_Nil,\n\t\t\tA2(\n\t\t\t\t$elm$core$Maybe$map,\n\t\t\t\ttoArray,\n\t\t\t\tA2(\n\t\t\t\t\t$elm$core$Maybe$map,\n\t\t\t\t\t$elm$html$Html$Attributes$min,\n\t\t\t\t\tA2($elm$core$Maybe$map, $elm$core$String$fromInt, options.aA))));\n\t\tvar maxAttribute = A2(\n\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t_List_Nil,\n\t\t\tA2(\n\t\t\t\t$elm$core$Maybe$map,\n\t\t\t\ttoArray,\n\t\t\t\tA2(\n\t\t\t\t\t$elm$core$Maybe$map,\n\t\t\t\t\t$elm$html$Html$Attributes$max,\n\t\t\t\t\tA2($elm$core$Maybe$map, $elm$core$String$fromInt, options.ay))));\n\t\treturn A2(\n\t\t\t$elm$html$Html$input,\n\t\t\tA2(\n\t\t\t\t$elm$core$List$append,\n\t\t\t\tminAttribute,\n\t\t\t\tA2(\n\t\t\t\t\t$elm$core$List$append,\n\t\t\t\t\tmaxAttribute,\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$List$append,\n\t\t\t\t\t\tonBlurAttribute,\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$core$List$append,\n\t\t\t\t\t\t\tonFocusAttribute,\n\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t$elm$core$List$append,\n\t\t\t\t\t\t\t\tattributes,\n\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$value(\n\t\t\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t\t\t\t\tA2($elm$core$Maybe$map, $elm$core$String$fromInt, currentValue))),\n\t\t\t\t\t\t\t\t\t\tA2($abadi199$elm_input_extra$Input$Number$onKeyDown, options, currentValue),\n\t\t\t\t\t\t\t\t\t\t$elm$html$Html$Events$onInput(\n\t\t\t\t\t\t\t\t\t\tA2($elm$core$Basics$composeR, $elm$core$String$toInt, options.aD)),\n\t\t\t\t\t\t\t\t\t\t$abadi199$elm_input_extra$Input$Number$onChange(options),\n\t\t\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$type_('number')\n\t\t\t\t\t\t\t\t\t])))))),\n\t\t\t_List_Nil);\n\t});\nvar $author$project$DividendCalculator$incomeInput = function (model) {\n\treturn _List_fromArray(\n\t\t[\n\t\t\tA2(\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('row')\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$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('col')\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_Nil,\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(\n\t\t\t\t\t\t\t\t\t'Varav din egen årslön i bolaget kalenderåret ' + (A2($author$project$DividendCalculator$fetchLastYear, model.f, model.c.i) + '.'))\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$div,\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('input-help')\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(\n\t\t\t\t\t\t\t\t\t'Totalt utbetald kontant lön till dig själv före skatt under kalenderåret ' + (A2($author$project$DividendCalculator$fetchLastYear, model.f, model.c.i) + '.'))\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$div,\n\t\t\t\t\t\t\t_List_Nil,\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\tA3(\n\t\t\t\t\t\t\t\t\t$abadi199$elm_input_extra$Input$Number$input,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tap: $elm$core$Maybe$Nothing,\n\t\t\t\t\t\t\t\t\t\tax: $elm$core$Maybe$Nothing,\n\t\t\t\t\t\t\t\t\t\tay: $elm$core$Maybe$Just(1000000000),\n\t\t\t\t\t\t\t\t\t\taA: $elm$core$Maybe$Just(0),\n\t\t\t\t\t\t\t\t\t\taD: $author$project$DividendCalculator$SalaryChanged\n\t\t\t\t\t\t\t\t\t},\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$elm$html$Html$Attributes$class('calc-input input form-control')\n\t\t\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t\t\t$elm$core$Maybe$Just(model.q)),\n\t\t\t\t\t\t\t\t\t$elm$html$Html$text(' kr')\n\t\t\t\t\t\t\t\t]))\n\t\t\t\t\t\t]))\n\t\t\t\t]))\n\t\t]);\n};\nvar $author$project$DividendCalculator$TotalSalaryChanged = function (a) {\n\treturn {$: 0, a: a};\n};\nvar $author$project$DividendCalculator$totalIncomeInput = function (model) {\n\treturn _List_fromArray(\n\t\t[\n\t\t\tA2(\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('row')\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$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('col')\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_Nil,\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(\n\t\t\t\t\t\t\t\t\t'Ange total årslön i bolaget kalenderåret ' + (A2($author$project$DividendCalculator$fetchLastYear, model.f, model.c.i) + '.'))\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$div,\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('input-help')\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(\n\t\t\t\t\t\t\t\t\t'Totalt utbetald kontant lön för hela bolaget (inklusive din egen lön) före skatt under kalenderåret ' + (A2($author$project$DividendCalculator$fetchLastYear, model.f, model.c.i) + '.'))\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$div,\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('')\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\tA3(\n\t\t\t\t\t\t\t\t\t$abadi199$elm_input_extra$Input$Number$input,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tap: $elm$core$Maybe$Nothing,\n\t\t\t\t\t\t\t\t\t\tax: $elm$core$Maybe$Nothing,\n\t\t\t\t\t\t\t\t\t\tay: $elm$core$Maybe$Just(1000000000),\n\t\t\t\t\t\t\t\t\t\taA: $elm$core$Maybe$Just(0),\n\t\t\t\t\t\t\t\t\t\taD: $author$project$DividendCalculator$TotalSalaryChanged\n\t\t\t\t\t\t\t\t\t},\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$elm$html$Html$Attributes$class('calc-input input form-control')\n\t\t\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t\t\t$elm$core$Maybe$Just(model.p)),\n\t\t\t\t\t\t\t\t\t$elm$html$Html$text(' kr')\n\t\t\t\t\t\t\t\t]))\n\t\t\t\t\t\t]))\n\t\t\t\t]))\n\t\t]);\n};\nvar $author$project$DividendCalculator$YearChanged = function (a) {\n\treturn {$: 2, a: a};\n};\nvar $elm_community$html_extra$Html$Events$Extra$onChange = function (onChangeAction) {\n\treturn A2(\n\t\t$elm$html$Html$Events$on,\n\t\t'change',\n\t\tA2($elm$json$Json$Decode$map, onChangeAction, $elm$html$Html$Events$targetValue));\n};\nvar $elm$html$Html$option = _VirtualDom_node('option');\nvar $elm$html$Html$select = _VirtualDom_node('select');\nvar $author$project$DividendCalculator$yearInput = function (model) {\n\treturn _List_fromArray(\n\t\t[\n\t\t\tA2(\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('row')\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$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('col')\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_Nil,\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('Välj det år då utdelningen ska betalas ut')\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$div,\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('input-help')\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('Räkenskapsåret måste vara avslutat och årstämman klar innan utdelning kan utbetalas för det året. I praktiken kan alltså utdelning ske tidigast dagen efter sista dagen i räkenskapsåret. Här väljer du alltså det år som själva utdelningen utbetalas.')\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$div,\n\t\t\t\t\t\t\t_List_Nil,\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\tA2(\n\t\t\t\t\t\t\t\t\t$elm$html$Html$select,\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$elm$html$Html$Attributes$class('calc-input input form-control'),\n\t\t\t\t\t\t\t\t\t\t\t$elm_community$html_extra$Html$Events$Extra$onChange($author$project$DividendCalculator$YearChanged)\n\t\t\t\t\t\t\t\t\t\t]),\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\tA2(\n\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$option,\n\t\t\t\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$value('0')\n\t\t\t\t\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$text(\n\t\t\t\t\t\t\t\t\t\t\t\t\tA2($author$project$DividendCalculator$fetchYear, '0', model.c.i))\n\t\t\t\t\t\t\t\t\t\t\t\t])),\n\t\t\t\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$option,\n\t\t\t\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$value('1')\n\t\t\t\t\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$text(\n\t\t\t\t\t\t\t\t\t\t\t\t\tA2($author$project$DividendCalculator$fetchYear, '1', model.c.i))\n\t\t\t\t\t\t\t\t\t\t\t\t]))\n\t\t\t\t\t\t\t\t\t\t]))\n\t\t\t\t\t\t\t\t]))\n\t\t\t\t\t\t]))\n\t\t\t\t]))\n\t\t]);\n};\nvar $author$project$DividendCalculator$view = function (model) {\n\treturn A2(\n\t\t$elm$html$Html$div,\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\t$elm$html$Html$Attributes$class('card dividend-calculator mb-3')\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$div,\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('card-body')\n\t\t\t\t\t]),\n\t\t\t\t$elm$core$List$concat(\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$author$project$DividendCalculator$yearInput(model),\n\t\t\t\t\t\t\t$author$project$DividendCalculator$totalIncomeInput(model),\n\t\t\t\t\t\t\t$author$project$DividendCalculator$incomeInput(model),\n\t\t\t\t\t\t\t$author$project$DividendCalculator$calcResult(model)\n\t\t\t\t\t\t])))\n\t\t\t]));\n};\nvar $author$project$DividendCalculator$main = $elm$browser$Browser$element(\n\t{bj: $author$project$DividendCalculator$init, bG: $author$project$DividendCalculator$subscriptions, bK: $author$project$DividendCalculator$update, bL: $author$project$DividendCalculator$view});\n_Platform_export({'DividendCalculator':{'init':$author$project$DividendCalculator$main(\n\tA2(\n\t\t$elm$json$Json$Decode$andThen,\n\t\tfunction (years) {\n\t\t\treturn A2(\n\t\t\t\t$elm$json$Json$Decode$andThen,\n\t\t\t\tfunction (standardRuleLimit) {\n\t\t\t\t\treturn A2(\n\t\t\t\t\t\t$elm$json$Json$Decode$andThen,\n\t\t\t\t\t\tfunction (mainRuleUpperLimit) {\n\t\t\t\t\t\t\treturn A2(\n\t\t\t\t\t\t\t\t$elm$json$Json$Decode$andThen,\n\t\t\t\t\t\t\t\tfunction (mainRulePercent) {\n\t\t\t\t\t\t\t\t\treturn A2(\n\t\t\t\t\t\t\t\t\t\t$elm$json$Json$Decode$andThen,\n\t\t\t\t\t\t\t\t\t\tfunction (mainRuleLowerLimit) {\n\t\t\t\t\t\t\t\t\t\t\treturn A2(\n\t\t\t\t\t\t\t\t\t\t\t\t$elm$json$Json$Decode$andThen,\n\t\t\t\t\t\t\t\t\t\t\t\tfunction (dividendTax) {\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn A2(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t$elm$json$Json$Decode$andThen,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfunction (corporateTax) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn $elm$json$Json$Decode$succeed(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{u: corporateTax, v: dividendTax, B: mainRuleLowerLimit, C: mainRulePercent, D: mainRuleUpperLimit, F: standardRuleLimit, i: years});\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t$elm$json$Json$Decode$field,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'corporateTax',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t$elm$json$Json$Decode$list($elm$json$Json$Decode$string)));\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t\t\t\t\t$elm$json$Json$Decode$field,\n\t\t\t\t\t\t\t\t\t\t\t\t\t'dividendTax',\n\t\t\t\t\t\t\t\t\t\t\t\t\t$elm$json$Json$Decode$list($elm$json$Json$Decode$string)));\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t\t\t$elm$json$Json$Decode$field,\n\t\t\t\t\t\t\t\t\t\t\t'mainRuleLowerLimit',\n\t\t\t\t\t\t\t\t\t\t\t$elm$json$Json$Decode$list($elm$json$Json$Decode$string)));\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tA2($elm$json$Json$Decode$field, 'mainRulePercent', $elm$json$Json$Decode$string));\n\t\t\t\t\t\t},\n\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t$elm$json$Json$Decode$field,\n\t\t\t\t\t\t\t'mainRuleUpperLimit',\n\t\t\t\t\t\t\t$elm$json$Json$Decode$list($elm$json$Json$Decode$string)));\n\t\t\t\t},\n\t\t\t\tA2(\n\t\t\t\t\t$elm$json$Json$Decode$field,\n\t\t\t\t\t'standardRuleLimit',\n\t\t\t\t\t$elm$json$Json$Decode$list($elm$json$Json$Decode$string)));\n\t\t},\n\t\tA2(\n\t\t\t$elm$json$Json$Decode$field,\n\t\t\t'years',\n\t\t\t$elm$json$Json$Decode$list($elm$json$Json$Decode$string))))(0)}});}(this));","import {Elm} from '../DividendCalculator'\n\ndocument.addEventListener('DOMContentLoaded', () => {\n const container = document.getElementById('dividend-calculator');\n\n Elm.DividendCalculator.init({\n node: container,\n flags: {\n years: [container.dataset.currentYear, container.dataset.nextYear],\n corporateTax: [container.dataset.corporateTax, container.dataset.corporateTaxNext],\n dividendTax: [container.dataset.dividendTax, container.dataset.dividendTaxNext],\n standardRuleLimit: [container.dataset.standardRuleLimit, container.dataset.standardRuleLimitNext],\n mainRuleLowerLimit: [container.dataset.mainRuleLowerLimit, container.dataset.mainRuleLowerLimitNext],\n mainRuleUpperLimit: [container.dataset.mainRuleUpperLimit, container.dataset.mainRuleUpperLimitNext],\n mainRulePercent: container.dataset.mainRulePercent\n }\n });\n});\n"],"sourceRoot":""}