{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./app/javascript/Regulations/Index.elm","webpack:///./app/javascript/packs/regulations/index.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","A7","_JsArray_initialize","size","offset","func","result","Array","_JsArray_initializeFromList","max","ls","length","_Utils_Tuple2","_JsArray_foldr","index","array","acc","from","to","slice","dest","source","destLen","itemsToCopy","tag","console","log","_Debug_crash","identifier","Error","_Utils_eq","x","y","pair","stack","isEqual","_Utils_eqHelp","pop","depth","push","$","$elm$core$Dict$toList","_Utils_cmp","ord","_Utils_compare","$elm$core$Basics$LT","$elm$core$Basics$GT","$elm$core$Basics$EQ","_Utils_update","oldRecord","updatedFields","newRecord","xs","ys","root","_List_Cons","curr","_List_Nil","hd","tl","_List_cons","_List_fromArray","arr","out","_List_toArray","_List_map2","zs","ws","vs","sort","Math","pow","modulus","answer","PI","E","cos","sin","tan","acos","asin","atan","atan2","_Basics_ceiling","ceil","_Basics_floor","floor","_Basics_log","round","sqrt","isNaN","chr","str","string","len","word","charCodeAt","join","isGood","char","state","_String_split","sep","split","_String_join","strs","_String_slice","start","end","_String_all","_String_contains","sub","indexOf","_String_indexes","lastIndexOf","subLen","is","_Json_decodePrim","decoder","_Json_expecting","$elm$core$Result$Ok","isFinite","_Json_decodeString","String","_Json_decodeField","field","_Json_mapMany","decoders","_Json_andThen","callback","_Json_map1","d1","_Json_map2","d2","_Json_runOnString","d3","d4","d5","d6","d7","d8","_Json_runHelp","JSON","parse","$elm$core$Result$Err","$elm$json$Json$Decode$Failure","message","_Json_run","_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","aN","a$","aY","init","update","subscriptions","stepperBuilder","undefined","managers","initPair","model","stepper","sendToApp","ports","_Platform_effectManagers","manager","_Platform_instantiateManager","_Platform_setupEffects","viewMetadata","_Platform_enqueueEffects","_Platform_createManager","onEffects","onSelfMsg","cmdMap","subMap","info","router","loop","j","_Platform_sendToApp","_Platform_sendToSelf","_Platform_leaf","home","k","tagger","bag","_Platform_effectsQueue","_Platform_effectsActive","cmdBag","subBag","q","fx","_Platform_dispatchEffects","effectsDict","_Platform_gatherEffects","isCmd","taggers","effect","_Platform_toEffect","newEffect","effects","_Platform_insert","list","_Platform_checkPortName","_Platform_outgoingPortMap","_Platform_setupOutgoingPort","time","subs","converter","u","id","setTimeout","clearTimeout","cmdList","currentSubs","subscribe","unsubscribe","splice","_VirtualDom_divertHrefToApp","_Platform_incomingPortMap","finalTagger","_Platform_setupIncomingPort","subList","send","incomingValue","_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","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","S","P","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","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","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","a1","currNode","_Browser_makeAnimator","nextNode","_Browser_requestAnimationFrame","divertHrefToApp","Q","title","bodyNode","body","doc","aF","a_","cancelAnimationFrame","requestAnimationFrame","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","doStuff","getElementById","$elm$browser$Browser$Dom$NotFound","functionName","scroll","scrollLeft","scrollTop","_Http_toTask","toTask","request","done","response","aJ","xhr","XMLHttpRequest","$elm$http$Http$NetworkError_","$elm$http$Http$Timeout_","toBody","status","$elm$http$Http$GoodStatus_","$elm$http$Http$BadStatus_","a0","responseURL","aW","aX","statusText","aa","_Http_parseHeaders","getAllResponseHeaders","_Http_toMetadata","_Http_toResponse","$elm$core$Maybe$isJust","ax","tracker","upload","$elm$core$Platform$sendToSelf","$elm$http$Http$Sending","aV","loaded","au","total","$elm$http$Http$Receiving","aT","lengthComputable","_Http_track","open","aP","$elm$http$Http$BadUrl_","headers","setRequestHeader","timeout","aZ","responseType","withCredentials","aD","_Http_configureRequest","abort","rawHeaders","$elm$core$Dict$empty","headerPairs","headerPair","substring","$elm$core$Dict$update","oldValue","_Http_expect","toValue","_Http_mapExpect","expect","mime","bytes","Blob","$elm$core$List$cons","$elm$core$Elm$JsArray$foldr","$elm$core$Dict$foldr","baseCase","_v0","tree","tail","helper","values","subTree","left","right","$temp$func","$temp$acc","dict","$elm$core$String$all","$elm$json$Json$Encode$encode","$elm$core$String$fromInt","number","$elm$core$String$join","chunks","$elm$core$String$split","$elm$json$Json$Decode$indent","$elm$core$List$foldl","$elm$core$List$length","$elm$core$List$map2","$elm$core$List$rangeHelp","lo","hi","$temp$lo","$temp$hi","$temp$list","$elm$core$List$range","$elm$core$List$indexedMap","$elm$core$Char$toCode","code","$elm$core$Char$isLower","_char","$elm$core$Char$isUpper","$elm$core$Char$isAlpha","$elm$core$Char$isAlphaNum","$elm$core$Char$isDigit","$elm$core$String$uncons","$elm$json$Json$Decode$errorOneOf","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$Array_elm_builtin","$elm$core$Elm$JsArray$empty","$elm$core$Basics$ceiling","$elm$core$Basics$logBase","base","$elm$core$Array$shiftStep","$elm$core$Array$empty","$elm$core$Elm$JsArray$initialize","$elm$core$Basics$apR","$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","_","ac","ag","ai","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","code0","$elm$url$Url$chompBeforePath","params","$elm$url$Url$chompBeforeQuery","$elm$url$Url$chompBeforeFragment","$elm$core$Task$succeed","$elm$core$Task$init","$elm$core$List$foldrHelper","ctr","r1","r2","r3","r4","$elm$core$List$foldr","$elm$core$List$map","$elm$core$Task$andThen","$elm$core$Task$map","taskA","$elm$core$Task$map2","taskB","$elm$core$Task$sequence","tasks","$elm$core$Platform$sendToApp","$elm$core$Task$spawnCmd","$elm$core$Task$onEffects","commands","$elm$core$Task$onSelfMsg","$elm$core$Task$cmdMap","$elm$core$Task$command","toMessage","$elm$browser$Browser$element","$elm$json$Json$Decode$field","$author$project$Regulations$Index$Country","G","I","$NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$custom","$NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required","valDecoder","$elm$json$Json$Decode$string","$author$project$Regulations$Index$countryDecoder","$elm$json$Json$Decode$decodeString","$elm$core$Platform$Cmd$batch","$elm$core$Platform$Cmd$none","$elm$json$Json$Encode$string","$author$project$Regulations$Index$pushUrl","$elm$core$String$toUpper","toUpperCase","$author$project$Regulations$Index$fixUrl","invalidPath","countryCode","baseUrl","$elm$json$Json$Decode$list","$author$project$Regulations$Index$Regulation","regulationName","isoCountry","requirements","aO","an","ar","$author$project$Regulations$Index$Requirement","description","acceptedDocuments","T","X","$author$project$Regulations$Index$requirementDecoder","$author$project$Regulations$Index$regulationDecoder","$elm$core$Result$withDefault","def","$author$project$Regulations$Index$UrlChanged","$author$project$Regulations$Index$onUrlChange","_Platform_incomingPort","$author$project$Regulations$Index$GotRegulations","$elm$core$Dict$RBEmpty_elm_builtin","maybe","$elm$core$Basics$compare","$elm$core$Dict$get","targetKey","$elm$core$Dict$RBNode_elm_builtin","$elm$core$Dict$balance","color","lK","lV","_v6","llK","llV","llLeft","llRight","lRight","rK","rV","rLeft","rRight","lLeft","$elm$core$Dict$insertHelp","nColor","nKey","nValue","nLeft","nRight","$elm$core$Dict$insert","$elm$core$Dict$moveRedLeft","_v4","_v5","rlK","rlV","rlL","rlR","$elm$core$Dict$moveRedRight","$elm$core$Dict$removeHelpPrepEQGT","_v2$2","$elm$core$Dict$removeMin","lColor","$elm$core$Dict$removeHelp","_v7","$elm$core$Dict$removeHelpEQGT","$elm$core$Dict$getMin","minKey","minValue","$elm$core$Dict$remove","alter","dictionary","$elm$core$Basics$composeR","$elm$http$Http$expectStringResponse","toMsg","toResult","$elm$core$Result$mapError","$elm$http$Http$BadBody","$elm$http$Http$NetworkError","$elm$http$Http$Timeout","$elm$http$Http$resolve","metadata","$elm$http$Http$BadStatus","$elm$http$Http$expectJson","$elm$http$Http$emptyBody","$elm$http$Http$Request","$elm$http$Http$State","reqs","ap","av","$elm$http$Http$init","$elm$core$Process$kill","$elm$core$Process$spawn","$elm$http$Http$updateReqs","cmds","updateReqs","cmd","otherCmds","req","pid","_v3","$elm$http$Http$onEffects","$elm$core$List$maybeCons","mx","$elm$core$List$filterMap","$elm$http$Http$maybeSend","desiredTracker","progress","actualTracker","$elm$http$Http$onSelfMsg","$elm$http$Http$cmdMap","$elm$http$Http$MySub","$elm$http$Http$subMap","$elm$http$Http$command","$elm$http$Http$get","$elm$http$Http$request","$author$project$Regulations$Index$getRegulations","$elm$core$List$head","$elm$core$String$toLower","$elm$core$Maybe$withDefault","_default","$author$project$Regulations$Index$update","C","newUrl","newCountyCode","$elm$html$Html$Attributes$stringProperty","$elm$html$Html$Attributes$class","$author$project$Regulations$Index$ToggleMenu","$elm$html$Html$button","$elm$core$List$filter","$author$project$Regulations$Index$countryName","countries","countryByCode","country","$elm$html$Html$div","$elm$html$Html$h1","$elm$html$Html$main_","$elm$virtual_dom$VirtualDom$on","$elm$html$Html$Events$on","$elm$html$Html$Events$onClick","$elm$html$Html$h3","$elm$html$Html$br","$elm$html$Html$li","$elm$html$Html$text","$author$project$Regulations$Index$documentView","documentName","$elm$html$Html$i","$elm$html$Html$span","$elm$html$Html$td","$elm$html$Html$tr","$elm$html$Html$ul","$author$project$Regulations$Index$requirementView","requirement","note","$elm$html$Html$table","$elm$html$Html$tbody","$elm$html$Html$th","$elm$html$Html$thead","$author$project$Regulations$Index$regulationView","regulation","$author$project$Regulations$Index$regulationsView","regulations","isLoading","$author$project$Regulations$Index$contentView","menuButtonClass","$elm$html$Html$Attributes$alt","$elm$html$Html$aside","$elm$html$Html$a","$elm$html$Html$img","$elm$html$Html$p","$elm$html$Html$Attributes$src","test","$author$project$Regulations$Index$countryView","activityClasses","$elm$html$Html$header","$elm$html$Html$nav","$author$project$Regulations$Index$desktopSidebarView","$elm$svg$Svg$Attributes$class","$elm$svg$Svg$Attributes$d","$elm$svg$Svg$Attributes$fill","$elm$svg$Svg$trustedNode","$elm$svg$Svg$path","$elm$svg$Svg$Attributes$stroke","$elm$svg$Svg$Attributes$strokeLinecap","$elm$svg$Svg$Attributes$strokeLinejoin","$elm$svg$Svg$Attributes$strokeWidth","$elm$svg$Svg$svg","$elm$svg$Svg$Attributes$viewBox","$author$project$Regulations$Index$mobileMenuView","menuIsOn","menuClass","_Platform_mergeExportsProd","obj","_Platform_export","flags","B","$author$project$Regulations$Index$main","this","getAttribute","app","Elm","Regulations","Index","onUrlChange","location","href","pushUrl"],"mappings":"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C,wCAElCzxB,EACC,CACCjE,EACAw2B,GACAvyB,EACC,CACCyxB,GAAgC,mDAElCzxB,EACC,CACC0yB,GAAoBgB,EAAWvJ,OAEjCpuB,EACAk2B,GACAjyB,EACC,CACCyxB,GAAgC,6CAElCzxB,EACC,CACCjE,EACAk2B,GACAjyB,EACC,CACCyxB,GAAgC,+DAElCzxB,EACC,CACCjE,EACAk2B,GACAjyB,EACC,CACCyxB,GAAgC,mEAElCzxB,EACC,CACCjE,EACAs3B,GACArzB,EACC,CACCyxB,GAAgC,qDAElCzxB,EACC,CACCjE,EACAy3B,GACA5zB,EACAI,EACC,CACCjE,EACAi3B,GACApzB,EACAI,EACC,CACCjE,EACAw3B,GACAvzB,EACC,CACCyxB,GAAgC,+GAElCzxB,EACC,CACC0yB,GAAoB,2BAEtB32B,EACAw3B,GACAvzB,EACC,CACCyxB,GAAgC,+GAElCzxB,EACC,CACC0yB,GAAoB,qCAI1B32B,EACAu3B,GACAtzB,EACC,CACCyxB,GAAgC,uCAElC11B,EAAGyrB,GAAoB0L,GAAmDQ,EAAWtJ,uBAO9FuJ,GAAoDt4B,GACvD,SAAUsuB,EAAaiK,EAAaC,GACnC,GAAIA,EACH,OAAO93B,EACNk2B,GACAjyB,EACC,CACCyxB,GAAgC,8CAElC7xB,GAED,IAAIigB,EAAMmR,GAAoB4C,GAC9B,GAAK/T,EAAIlhB,EAaR,OAAO5C,EACNk2B,GACAjyB,EACC,CACCyxB,GAAgC,2BAElCzxB,EACC,CACC0yB,GAAoB,gCApBN7S,EAAI5kB,EACrB,OAAOc,EACNk2B,GACAjyB,EACC,CACCyxB,GAAgC,4CAElC11B,EACCyrB,GACAiM,GAAiD9J,GACjDiK,OAqBFE,GAAgD,SAAU9qB,GAC7D,IAPkD3O,EAO9C05B,EAAkB/qB,EAAMmM,EAAI,YAAc,UAC9C,OAAOpZ,EACNo2B,GACAnyB,EACC,CACCyxB,GAAgC,0BAElCzxB,EACC,CACCjE,EACAk2B,GACAjyB,EACC,CACCyxB,GAAgC,4CAA8CsC,KAEhF/zB,EACC,CACCjE,EACA41B,GACA3xB,EACC,CACC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","file":"js/regulations/index-c70a73035e94d9389521.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 = 9);\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.R.H === region.Y.H)\n\t{\n\t\treturn 'on line ' + region.R.H;\n\t}\n\treturn 'on lines ' + region.R.H + ' through ' + region.Y.H;\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.aN,\n\t\timpl.a$,\n\t\timpl.aY,\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\tvar initPair = init(result.a);\n\tvar model = initPair.a;\n\tvar stepper = stepperBuilder(sendToApp, model);\n\tvar ports = _Platform_setupEffects(managers, sendToApp);\n\n\tfunction sendToApp(msg, viewMetadata)\n\t{\n\t\tvar pair = A2(update, msg, model);\n\t\tstepper(model = pair.a, viewMetadata);\n\t\t_Platform_enqueueEffects(managers, pair.b, subscriptions(model));\n\t}\n\n\t_Platform_enqueueEffects(managers, initPair.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\tr: func(record.r),\n\t\tS: record.S,\n\t\tP: record.P\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.r;\n\t\tvar stopPropagation = tag == 1 ? value.b : tag == 3 && value.S;\n\t\tvar currentEventNode = (\n\t\t\tstopPropagation && event.stopPropagation(),\n\t\t\t(tag == 2 ? value.b : tag == 3 && value.P) && 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.aN,\n\t\timpl.a$,\n\t\timpl.aY,\n\t\tfunction(sendToApp, initialModel) {\n\t\t\tvar view = impl.a1;\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.aN,\n\t\timpl.a$,\n\t\timpl.aY,\n\t\tfunction(sendToApp, initialModel) {\n\t\t\tvar divertHrefToApp = impl.Q && impl.Q(sendToApp)\n\t\t\tvar view = impl.a1;\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.aF);\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.a_) && (_VirtualDom_doc.title = title = doc.a_);\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.aQ;\n\tvar onUrlRequest = impl.aR;\n\tvar key = function() { key.a(onUrlChange(_Browser_getUrl())); };\n\n\treturn _Browser_document({\n\t\tQ: 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.ac === next.ac\n\t\t\t\t\t\t\t&& curr.ai.a === next.ai.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\taN: function(flags)\n\t\t{\n\t\t\treturn A3(impl.aN, flags, _Browser_getUrl(), key);\n\t\t},\n\t\ta1: impl.a1,\n\t\ta$: impl.a$,\n\t\taY: impl.aY\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? { aL: 'hidden', aG: 'visibilitychange' }\n\t\t:\n\t(typeof _VirtualDom_doc.mozHidden !== 'undefined')\n\t\t? { aL: 'mozHidden', aG: 'mozvisibilitychange' }\n\t\t:\n\t(typeof _VirtualDom_doc.msHidden !== 'undefined')\n\t\t? { aL: 'msHidden', aG: 'msvisibilitychange' }\n\t\t:\n\t(typeof _VirtualDom_doc.webkitHidden !== 'undefined')\n\t\t? { aL: 'webkitHidden', aG: 'webkitvisibilitychange' }\n\t\t: { aL: 'hidden', aG: '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\tat: _Browser_getScene(),\n\t\tay: {\n\t\t\taA: _Browser_window.pageXOffset,\n\t\t\taB: _Browser_window.pageYOffset,\n\t\t\taz: _Browser_doc.documentElement.clientWidth,\n\t\t\tab: _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\taz: Math.max(body.scrollWidth, body.offsetWidth, elem.scrollWidth, elem.offsetWidth, elem.clientWidth),\n\t\tab: 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\tat: {\n\t\t\t\taz: node.scrollWidth,\n\t\t\t\tab: node.scrollHeight\n\t\t\t},\n\t\t\tay: {\n\t\t\t\taA: node.scrollLeft,\n\t\t\t\taB: node.scrollTop,\n\t\t\t\taz: node.clientWidth,\n\t\t\t\tab: 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\tat: _Browser_getScene(),\n\t\t\tay: {\n\t\t\t\taA: x,\n\t\t\t\taB: y,\n\t\t\t\taz: _Browser_doc.documentElement.clientWidth,\n\t\t\t\tab: _Browser_doc.documentElement.clientHeight\n\t\t\t},\n\t\t\taI: {\n\t\t\t\taA: x + rect.left,\n\t\t\t\taB: y + rect.top,\n\t\t\t\taz: rect.width,\n\t\t\t\tab: rect.height\n\t\t\t}\n\t\t};\n\t});\n}\n\n\n\n// LOAD and RELOAD\n\n\nfunction _Browser_reload(skipCache)\n{\n\treturn A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function(callback)\n\t{\n\t\t_VirtualDom_doc.location.reload(skipCache);\n\t}));\n}\n\nfunction _Browser_load(url)\n{\n\treturn A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function(callback)\n\t{\n\t\ttry\n\t\t{\n\t\t\t_Browser_window.location = url;\n\t\t}\n\t\tcatch(err)\n\t\t{\n\t\t\t// Only Firefox can throw a NS_ERROR_MALFORMED_URI exception here.\n\t\t\t// Other browsers reload the page, so let's be consistent about that.\n\t\t\t_VirtualDom_doc.location.reload(false);\n\t\t}\n\t}));\n}\n\n\n\n// SEND REQUEST\n\nvar _Http_toTask = F3(function(router, toTask, request)\n{\n\treturn _Scheduler_binding(function(callback)\n\t{\n\t\tfunction done(response) {\n\t\t\tcallback(toTask(request.aJ.a(response)));\n\t\t}\n\n\t\tvar xhr = new XMLHttpRequest();\n\t\txhr.addEventListener('error', function() { done($elm$http$Http$NetworkError_); });\n\t\txhr.addEventListener('timeout', function() { done($elm$http$Http$Timeout_); });\n\t\txhr.addEventListener('load', function() { done(_Http_toResponse(request.aJ.b, xhr)); });\n\t\t$elm$core$Maybe$isJust(request.ax) && _Http_track(router, xhr, request.ax.a);\n\n\t\ttry {\n\t\t\txhr.open(request.aP, request.a0, true);\n\t\t} catch (e) {\n\t\t\treturn done($elm$http$Http$BadUrl_(request.a0));\n\t\t}\n\n\t\t_Http_configureRequest(xhr, request);\n\n\t\trequest.aF.a && xhr.setRequestHeader('Content-Type', request.aF.a);\n\t\txhr.send(request.aF.b);\n\n\t\treturn function() { xhr.c = true; xhr.abort(); };\n\t});\n});\n\n\n// CONFIGURE\n\nfunction _Http_configureRequest(xhr, request)\n{\n\tfor (var headers = request.aa; headers.b; headers = headers.b) // WHILE_CONS\n\t{\n\t\txhr.setRequestHeader(headers.a.a, headers.a.b);\n\t}\n\txhr.timeout = request.aZ.a || 0;\n\txhr.responseType = request.aJ.d;\n\txhr.withCredentials = request.aD;\n}\n\n\n// RESPONSES\n\nfunction _Http_toResponse(toBody, xhr)\n{\n\treturn A2(\n\t\t200 <= xhr.status && xhr.status < 300 ? $elm$http$Http$GoodStatus_ : $elm$http$Http$BadStatus_,\n\t\t_Http_toMetadata(xhr),\n\t\ttoBody(xhr.response)\n\t);\n}\n\n\n// METADATA\n\nfunction _Http_toMetadata(xhr)\n{\n\treturn {\n\t\ta0: xhr.responseURL,\n\t\taW: xhr.status,\n\t\taX: xhr.statusText,\n\t\taa: _Http_parseHeaders(xhr.getAllResponseHeaders())\n\t};\n}\n\n\n// HEADERS\n\nfunction _Http_parseHeaders(rawHeaders)\n{\n\tif (!rawHeaders)\n\t{\n\t\treturn $elm$core$Dict$empty;\n\t}\n\n\tvar headers = $elm$core$Dict$empty;\n\tvar headerPairs = rawHeaders.split('\\r\\n');\n\tfor (var i = headerPairs.length; i--; )\n\t{\n\t\tvar headerPair = headerPairs[i];\n\t\tvar index = headerPair.indexOf(': ');\n\t\tif (index > 0)\n\t\t{\n\t\t\tvar key = headerPair.substring(0, index);\n\t\t\tvar value = headerPair.substring(index + 2);\n\n\t\t\theaders = A3($elm$core$Dict$update, key, function(oldValue) {\n\t\t\t\treturn $elm$core$Maybe$Just($elm$core$Maybe$isJust(oldValue)\n\t\t\t\t\t? value + ', ' + oldValue.a\n\t\t\t\t\t: value\n\t\t\t\t);\n\t\t\t}, headers);\n\t\t}\n\t}\n\treturn headers;\n}\n\n\n// EXPECT\n\nvar _Http_expect = F3(function(type, toBody, toValue)\n{\n\treturn {\n\t\t$: 0,\n\t\td: type,\n\t\tb: toBody,\n\t\ta: toValue\n\t};\n});\n\nvar _Http_mapExpect = F2(function(func, expect)\n{\n\treturn {\n\t\t$: 0,\n\t\td: expect.d,\n\t\tb: expect.b,\n\t\ta: function(x) { return func(expect.a(x)); }\n\t};\n});\n\nfunction _Http_toDataView(arrayBuffer)\n{\n\treturn new DataView(arrayBuffer);\n}\n\n\n// BODY and PARTS\n\nvar _Http_emptyBody = { $: 0 };\nvar _Http_pair = F2(function(a, b) { return { $: 0, a: a, b: b }; });\n\nfunction _Http_toFormData(parts)\n{\n\tfor (var formData = new FormData(); parts.b; parts = parts.b) // WHILE_CONS\n\t{\n\t\tvar part = parts.a;\n\t\tformData.append(part.a, part.b);\n\t}\n\treturn formData;\n}\n\nvar _Http_bytesToBlob = F2(function(mime, bytes)\n{\n\treturn new Blob([bytes], { type: mime });\n});\n\n\n// PROGRESS\n\nfunction _Http_track(router, xhr, tracker)\n{\n\t// TODO check out lengthComputable on loadstart event\n\n\txhr.upload.addEventListener('progress', function(event) {\n\t\tif (xhr.c) { return; }\n\t\t_Scheduler_rawSpawn(A2($elm$core$Platform$sendToSelf, router, _Utils_Tuple2(tracker, $elm$http$Http$Sending({\n\t\t\taV: event.loaded,\n\t\t\tau: event.total\n\t\t}))));\n\t});\n\txhr.addEventListener('progress', function(event) {\n\t\tif (xhr.c) { return; }\n\t\t_Scheduler_rawSpawn(A2($elm$core$Platform$sendToSelf, router, _Utils_Tuple2(tracker, $elm$http$Http$Receiving({\n\t\t\taT: event.loaded,\n\t\t\tau: event.lengthComputable ? $elm$core$Maybe$Just(event.total) : $elm$core$Maybe$Nothing\n\t\t}))));\n\t});\n}var $elm$core$List$cons = _List_cons;\nvar $elm$core$Elm$JsArray$foldr = _JsArray_foldr;\nvar $elm$core$Array$foldr = F3(\n\tfunction (func, baseCase, _v0) {\n\t\tvar tree = _v0.c;\n\t\tvar tail = _v0.d;\n\t\tvar helper = F2(\n\t\t\tfunction (node, acc) {\n\t\t\t\tif (!node.$) {\n\t\t\t\t\tvar subTree = node.a;\n\t\t\t\t\treturn A3($elm$core$Elm$JsArray$foldr, helper, acc, subTree);\n\t\t\t\t} else {\n\t\t\t\t\tvar values = node.a;\n\t\t\t\t\treturn A3($elm$core$Elm$JsArray$foldr, func, acc, values);\n\t\t\t\t}\n\t\t\t});\n\t\treturn A3(\n\t\t\t$elm$core$Elm$JsArray$foldr,\n\t\t\thelper,\n\t\t\tA3($elm$core$Elm$JsArray$foldr, func, baseCase, tail),\n\t\t\ttree);\n\t});\nvar $elm$core$Array$toList = function (array) {\n\treturn A3($elm$core$Array$foldr, $elm$core$List$cons, _List_Nil, array);\n};\nvar $elm$core$Dict$foldr = F3(\n\tfunction (func, acc, t) {\n\t\tfoldr:\n\t\twhile (true) {\n\t\t\tif (t.$ === -2) {\n\t\t\t\treturn acc;\n\t\t\t} else {\n\t\t\t\tvar key = t.b;\n\t\t\t\tvar value = t.c;\n\t\t\t\tvar left = t.d;\n\t\t\t\tvar right = t.e;\n\t\t\t\tvar $temp$func = func,\n\t\t\t\t\t$temp$acc = A3(\n\t\t\t\t\tfunc,\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue,\n\t\t\t\t\tA3($elm$core$Dict$foldr, func, acc, right)),\n\t\t\t\t\t$temp$t = left;\n\t\t\t\tfunc = $temp$func;\n\t\t\t\tacc = $temp$acc;\n\t\t\t\tt = $temp$t;\n\t\t\t\tcontinue foldr;\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Dict$toList = function (dict) {\n\treturn A3(\n\t\t$elm$core$Dict$foldr,\n\t\tF3(\n\t\t\tfunction (key, value, list) {\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t_Utils_Tuple2(key, value),\n\t\t\t\t\tlist);\n\t\t\t}),\n\t\t_List_Nil,\n\t\tdict);\n};\nvar $elm$core$Dict$keys = function (dict) {\n\treturn A3(\n\t\t$elm$core$Dict$foldr,\n\t\tF3(\n\t\t\tfunction (key, value, keyList) {\n\t\t\t\treturn A2($elm$core$List$cons, key, keyList);\n\t\t\t}),\n\t\t_List_Nil,\n\t\tdict);\n};\nvar $elm$core$Set$toList = function (_v0) {\n\tvar dict = _v0;\n\treturn $elm$core$Dict$keys(dict);\n};\nvar $elm$core$Basics$EQ = 1;\nvar $elm$core$Basics$GT = 2;\nvar $elm$core$Basics$LT = 0;\nvar $elm$core$Result$Err = function (a) {\n\treturn {$: 1, a: a};\n};\nvar $elm$json$Json$Decode$Failure = F2(\n\tfunction (a, b) {\n\t\treturn {$: 3, a: a, b: b};\n\t});\nvar $elm$json$Json$Decode$Field = F2(\n\tfunction (a, b) {\n\t\treturn {$: 0, a: a, b: b};\n\t});\nvar $elm$json$Json$Decode$Index = F2(\n\tfunction (a, b) {\n\t\treturn {$: 1, a: a, b: b};\n\t});\nvar $elm$core$Result$Ok = function (a) {\n\treturn {$: 0, a: a};\n};\nvar $elm$json$Json$Decode$OneOf = function (a) {\n\treturn {$: 2, a: a};\n};\nvar $elm$core$Basics$False = 1;\nvar $elm$core$Basics$add = _Basics_add;\nvar $elm$core$Maybe$Just = function (a) {\n\treturn {$: 0, a: a};\n};\nvar $elm$core$Maybe$Nothing = {$: 1};\nvar $elm$core$String$all = _String_all;\nvar $elm$core$Basics$and = _Basics_and;\nvar $elm$core$Basics$append = _Utils_append;\nvar $elm$json$Json$Encode$encode = _Json_encode;\nvar $elm$core$String$fromInt = _String_fromNumber;\nvar $elm$core$String$join = F2(\n\tfunction (sep, chunks) {\n\t\treturn A2(\n\t\t\t_String_join,\n\t\t\tsep,\n\t\t\t_List_toArray(chunks));\n\t});\nvar $elm$core$String$split = F2(\n\tfunction (sep, string) {\n\t\treturn _List_fromArray(\n\t\t\tA2(_String_split, sep, string));\n\t});\nvar $elm$json$Json$Decode$indent = function (str) {\n\treturn A2(\n\t\t$elm$core$String$join,\n\t\t'\\n ',\n\t\tA2($elm$core$String$split, '\\n', str));\n};\nvar $elm$core$List$foldl = F3(\n\tfunction (func, acc, list) {\n\t\tfoldl:\n\t\twhile (true) {\n\t\t\tif (!list.b) {\n\t\t\t\treturn acc;\n\t\t\t} else {\n\t\t\t\tvar x = list.a;\n\t\t\t\tvar xs = list.b;\n\t\t\t\tvar $temp$func = func,\n\t\t\t\t\t$temp$acc = A2(func, x, acc),\n\t\t\t\t\t$temp$list = xs;\n\t\t\t\tfunc = $temp$func;\n\t\t\t\tacc = $temp$acc;\n\t\t\t\tlist = $temp$list;\n\t\t\t\tcontinue foldl;\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$List$length = function (xs) {\n\treturn A3(\n\t\t$elm$core$List$foldl,\n\t\tF2(\n\t\t\tfunction (_v0, i) {\n\t\t\t\treturn i + 1;\n\t\t\t}),\n\t\t0,\n\t\txs);\n};\nvar $elm$core$List$map2 = _List_map2;\nvar $elm$core$Basics$le = _Utils_le;\nvar $elm$core$Basics$sub = _Basics_sub;\nvar $elm$core$List$rangeHelp = F3(\n\tfunction (lo, hi, list) {\n\t\trangeHelp:\n\t\twhile (true) {\n\t\t\tif (_Utils_cmp(lo, hi) < 1) {\n\t\t\t\tvar $temp$lo = lo,\n\t\t\t\t\t$temp$hi = hi - 1,\n\t\t\t\t\t$temp$list = A2($elm$core$List$cons, hi, list);\n\t\t\t\tlo = $temp$lo;\n\t\t\t\thi = $temp$hi;\n\t\t\t\tlist = $temp$list;\n\t\t\t\tcontinue rangeHelp;\n\t\t\t} else {\n\t\t\t\treturn list;\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$List$range = F2(\n\tfunction (lo, hi) {\n\t\treturn A3($elm$core$List$rangeHelp, lo, hi, _List_Nil);\n\t});\nvar $elm$core$List$indexedMap = F2(\n\tfunction (f, xs) {\n\t\treturn A3(\n\t\t\t$elm$core$List$map2,\n\t\t\tf,\n\t\t\tA2(\n\t\t\t\t$elm$core$List$range,\n\t\t\t\t0,\n\t\t\t\t$elm$core$List$length(xs) - 1),\n\t\t\txs);\n\t});\nvar $elm$core$Char$toCode = _Char_toCode;\nvar $elm$core$Char$isLower = function (_char) {\n\tvar code = $elm$core$Char$toCode(_char);\n\treturn (97 <= code) && (code <= 122);\n};\nvar $elm$core$Char$isUpper = function (_char) {\n\tvar code = $elm$core$Char$toCode(_char);\n\treturn (code <= 90) && (65 <= code);\n};\nvar $elm$core$Basics$or = _Basics_or;\nvar $elm$core$Char$isAlpha = function (_char) {\n\treturn $elm$core$Char$isLower(_char) || $elm$core$Char$isUpper(_char);\n};\nvar $elm$core$Char$isDigit = function (_char) {\n\tvar code = $elm$core$Char$toCode(_char);\n\treturn (code <= 57) && (48 <= code);\n};\nvar $elm$core$Char$isAlphaNum = function (_char) {\n\treturn $elm$core$Char$isLower(_char) || ($elm$core$Char$isUpper(_char) || $elm$core$Char$isDigit(_char));\n};\nvar $elm$core$List$reverse = function (list) {\n\treturn A3($elm$core$List$foldl, $elm$core$List$cons, _List_Nil, list);\n};\nvar $elm$core$String$uncons = _String_uncons;\nvar $elm$json$Json$Decode$errorOneOf = F2(\n\tfunction (i, error) {\n\t\treturn '\\n\\n(' + ($elm$core$String$fromInt(i + 1) + (') ' + $elm$json$Json$Decode$indent(\n\t\t\t$elm$json$Json$Decode$errorToString(error))));\n\t});\nvar $elm$json$Json$Decode$errorToString = function (error) {\n\treturn A2($elm$json$Json$Decode$errorToStringHelp, error, _List_Nil);\n};\nvar $elm$json$Json$Decode$errorToStringHelp = F2(\n\tfunction (error, context) {\n\t\terrorToStringHelp:\n\t\twhile (true) {\n\t\t\tswitch (error.$) {\n\t\t\t\tcase 0:\n\t\t\t\t\tvar f = error.a;\n\t\t\t\t\tvar err = error.b;\n\t\t\t\t\tvar isSimple = function () {\n\t\t\t\t\t\tvar _v1 = $elm$core$String$uncons(f);\n\t\t\t\t\t\tif (_v1.$ === 1) {\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar _v2 = _v1.a;\n\t\t\t\t\t\t\tvar _char = _v2.a;\n\t\t\t\t\t\t\tvar rest = _v2.b;\n\t\t\t\t\t\t\treturn $elm$core$Char$isAlpha(_char) && A2($elm$core$String$all, $elm$core$Char$isAlphaNum, rest);\n\t\t\t\t\t\t}\n\t\t\t\t\t}();\n\t\t\t\t\tvar fieldName = isSimple ? ('.' + f) : ('[\\'' + (f + '\\']'));\n\t\t\t\t\tvar $temp$error = err,\n\t\t\t\t\t\t$temp$context = A2($elm$core$List$cons, fieldName, context);\n\t\t\t\t\terror = $temp$error;\n\t\t\t\t\tcontext = $temp$context;\n\t\t\t\t\tcontinue errorToStringHelp;\n\t\t\t\tcase 1:\n\t\t\t\t\tvar i = error.a;\n\t\t\t\t\tvar err = error.b;\n\t\t\t\t\tvar indexName = '[' + ($elm$core$String$fromInt(i) + ']');\n\t\t\t\t\tvar $temp$error = err,\n\t\t\t\t\t\t$temp$context = A2($elm$core$List$cons, indexName, context);\n\t\t\t\t\terror = $temp$error;\n\t\t\t\t\tcontext = $temp$context;\n\t\t\t\t\tcontinue errorToStringHelp;\n\t\t\t\tcase 2:\n\t\t\t\t\tvar errors = error.a;\n\t\t\t\t\tif (!errors.b) {\n\t\t\t\t\t\treturn 'Ran into a Json.Decode.oneOf with no possibilities' + function () {\n\t\t\t\t\t\t\tif (!context.b) {\n\t\t\t\t\t\t\t\treturn '!';\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\treturn ' at json' + A2(\n\t\t\t\t\t\t\t\t\t$elm$core$String$join,\n\t\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t\t\t$elm$core$List$reverse(context));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (!errors.b.b) {\n\t\t\t\t\t\t\tvar err = errors.a;\n\t\t\t\t\t\t\tvar $temp$error = err,\n\t\t\t\t\t\t\t\t$temp$context = context;\n\t\t\t\t\t\t\terror = $temp$error;\n\t\t\t\t\t\t\tcontext = $temp$context;\n\t\t\t\t\t\t\tcontinue errorToStringHelp;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar starter = function () {\n\t\t\t\t\t\t\t\tif (!context.b) {\n\t\t\t\t\t\t\t\t\treturn 'Json.Decode.oneOf';\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\treturn 'The Json.Decode.oneOf at json' + A2(\n\t\t\t\t\t\t\t\t\t\t$elm$core$String$join,\n\t\t\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t\t\t\t$elm$core$List$reverse(context));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}();\n\t\t\t\t\t\t\tvar introduction = starter + (' failed in the following ' + ($elm$core$String$fromInt(\n\t\t\t\t\t\t\t\t$elm$core$List$length(errors)) + ' ways:'));\n\t\t\t\t\t\t\treturn A2(\n\t\t\t\t\t\t\t\t$elm$core$String$join,\n\t\t\t\t\t\t\t\t'\\n\\n',\n\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t$elm$core$List$cons,\n\t\t\t\t\t\t\t\t\tintroduction,\n\t\t\t\t\t\t\t\t\tA2($elm$core$List$indexedMap, $elm$json$Json$Decode$errorOneOf, errors)));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\tvar msg = error.a;\n\t\t\t\t\tvar json = error.b;\n\t\t\t\t\tvar introduction = function () {\n\t\t\t\t\t\tif (!context.b) {\n\t\t\t\t\t\t\treturn 'Problem with the given value:\\n\\n';\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn 'Problem with the value at json' + (A2(\n\t\t\t\t\t\t\t\t$elm$core$String$join,\n\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t\t$elm$core$List$reverse(context)) + ':\\n\\n ');\n\t\t\t\t\t\t}\n\t\t\t\t\t}();\n\t\t\t\t\treturn introduction + ($elm$json$Json$Decode$indent(\n\t\t\t\t\t\tA2($elm$json$Json$Encode$encode, 4, json)) + ('\\n\\n' + msg));\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Array$branchFactor = 32;\nvar $elm$core$Array$Array_elm_builtin = F4(\n\tfunction (a, b, c, d) {\n\t\treturn {$: 0, a: a, b: b, c: c, d: d};\n\t});\nvar $elm$core$Elm$JsArray$empty = _JsArray_empty;\nvar $elm$core$Basics$ceiling = _Basics_ceiling;\nvar $elm$core$Basics$fdiv = _Basics_fdiv;\nvar $elm$core$Basics$logBase = F2(\n\tfunction (base, number) {\n\t\treturn _Basics_log(number) / _Basics_log(base);\n\t});\nvar $elm$core$Basics$toFloat = _Basics_toFloat;\nvar $elm$core$Array$shiftStep = $elm$core$Basics$ceiling(\n\tA2($elm$core$Basics$logBase, 2, $elm$core$Array$branchFactor));\nvar $elm$core$Array$empty = A4($elm$core$Array$Array_elm_builtin, 0, $elm$core$Array$shiftStep, $elm$core$Elm$JsArray$empty, $elm$core$Elm$JsArray$empty);\nvar $elm$core$Elm$JsArray$initialize = _JsArray_initialize;\nvar $elm$core$Array$Leaf = function (a) {\n\treturn {$: 1, a: a};\n};\nvar $elm$core$Basics$apL = F2(\n\tfunction (f, x) {\n\t\treturn f(x);\n\t});\nvar $elm$core$Basics$apR = F2(\n\tfunction (x, f) {\n\t\treturn f(x);\n\t});\nvar $elm$core$Basics$eq = _Utils_equal;\nvar $elm$core$Basics$floor = _Basics_floor;\nvar $elm$core$Elm$JsArray$length = _JsArray_length;\nvar $elm$core$Basics$gt = _Utils_gt;\nvar $elm$core$Basics$max = F2(\n\tfunction (x, y) {\n\t\treturn (_Utils_cmp(x, y) > 0) ? x : y;\n\t});\nvar $elm$core$Basics$mul = _Basics_mul;\nvar $elm$core$Array$SubTree = function (a) {\n\treturn {$: 0, a: a};\n};\nvar $elm$core$Elm$JsArray$initializeFromList = _JsArray_initializeFromList;\nvar $elm$core$Array$compressNodes = F2(\n\tfunction (nodes, acc) {\n\t\tcompressNodes:\n\t\twhile (true) {\n\t\t\tvar _v0 = A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, nodes);\n\t\t\tvar node = _v0.a;\n\t\t\tvar remainingNodes = _v0.b;\n\t\t\tvar newAcc = A2(\n\t\t\t\t$elm$core$List$cons,\n\t\t\t\t$elm$core$Array$SubTree(node),\n\t\t\t\tacc);\n\t\t\tif (!remainingNodes.b) {\n\t\t\t\treturn $elm$core$List$reverse(newAcc);\n\t\t\t} else {\n\t\t\t\tvar $temp$nodes = remainingNodes,\n\t\t\t\t\t$temp$acc = newAcc;\n\t\t\t\tnodes = $temp$nodes;\n\t\t\t\tacc = $temp$acc;\n\t\t\t\tcontinue compressNodes;\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Tuple$first = function (_v0) {\n\tvar x = _v0.a;\n\treturn x;\n};\nvar $elm$core$Array$treeFromBuilder = F2(\n\tfunction (nodeList, nodeListSize) {\n\t\ttreeFromBuilder:\n\t\twhile (true) {\n\t\t\tvar newNodeSize = $elm$core$Basics$ceiling(nodeListSize / $elm$core$Array$branchFactor);\n\t\t\tif (newNodeSize === 1) {\n\t\t\t\treturn A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, nodeList).a;\n\t\t\t} else {\n\t\t\t\tvar $temp$nodeList = A2($elm$core$Array$compressNodes, nodeList, _List_Nil),\n\t\t\t\t\t$temp$nodeListSize = newNodeSize;\n\t\t\t\tnodeList = $temp$nodeList;\n\t\t\t\tnodeListSize = $temp$nodeListSize;\n\t\t\t\tcontinue treeFromBuilder;\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Array$builderToArray = F2(\n\tfunction (reverseNodeList, builder) {\n\t\tif (!builder.a) {\n\t\t\treturn A4(\n\t\t\t\t$elm$core$Array$Array_elm_builtin,\n\t\t\t\t$elm$core$Elm$JsArray$length(builder.c),\n\t\t\t\t$elm$core$Array$shiftStep,\n\t\t\t\t$elm$core$Elm$JsArray$empty,\n\t\t\t\tbuilder.c);\n\t\t} else {\n\t\t\tvar treeLen = builder.a * $elm$core$Array$branchFactor;\n\t\t\tvar depth = $elm$core$Basics$floor(\n\t\t\t\tA2($elm$core$Basics$logBase, $elm$core$Array$branchFactor, treeLen - 1));\n\t\t\tvar correctNodeList = reverseNodeList ? $elm$core$List$reverse(builder.d) : builder.d;\n\t\t\tvar tree = A2($elm$core$Array$treeFromBuilder, correctNodeList, builder.a);\n\t\t\treturn A4(\n\t\t\t\t$elm$core$Array$Array_elm_builtin,\n\t\t\t\t$elm$core$Elm$JsArray$length(builder.c) + treeLen,\n\t\t\t\tA2($elm$core$Basics$max, 5, depth * $elm$core$Array$shiftStep),\n\t\t\t\ttree,\n\t\t\t\tbuilder.c);\n\t\t}\n\t});\nvar $elm$core$Basics$idiv = _Basics_idiv;\nvar $elm$core$Basics$lt = _Utils_lt;\nvar $elm$core$Array$initializeHelp = F5(\n\tfunction (fn, fromIndex, len, nodeList, tail) {\n\t\tinitializeHelp:\n\t\twhile (true) {\n\t\t\tif (fromIndex < 0) {\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$core$Array$builderToArray,\n\t\t\t\t\tfalse,\n\t\t\t\t\t{d: nodeList, a: (len / $elm$core$Array$branchFactor) | 0, c: tail});\n\t\t\t} else {\n\t\t\t\tvar leaf = $elm$core$Array$Leaf(\n\t\t\t\t\tA3($elm$core$Elm$JsArray$initialize, $elm$core$Array$branchFactor, fromIndex, fn));\n\t\t\t\tvar $temp$fn = fn,\n\t\t\t\t\t$temp$fromIndex = fromIndex - $elm$core$Array$branchFactor,\n\t\t\t\t\t$temp$len = len,\n\t\t\t\t\t$temp$nodeList = A2($elm$core$List$cons, leaf, nodeList),\n\t\t\t\t\t$temp$tail = tail;\n\t\t\t\tfn = $temp$fn;\n\t\t\t\tfromIndex = $temp$fromIndex;\n\t\t\t\tlen = $temp$len;\n\t\t\t\tnodeList = $temp$nodeList;\n\t\t\t\ttail = $temp$tail;\n\t\t\t\tcontinue initializeHelp;\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Basics$remainderBy = _Basics_remainderBy;\nvar $elm$core$Array$initialize = F2(\n\tfunction (len, fn) {\n\t\tif (len <= 0) {\n\t\t\treturn $elm$core$Array$empty;\n\t\t} else {\n\t\t\tvar tailLen = len % $elm$core$Array$branchFactor;\n\t\t\tvar tail = A3($elm$core$Elm$JsArray$initialize, tailLen, len - tailLen, fn);\n\t\t\tvar initialFromIndex = (len - tailLen) - $elm$core$Array$branchFactor;\n\t\t\treturn A5($elm$core$Array$initializeHelp, fn, initialFromIndex, len, _List_Nil, tail);\n\t\t}\n\t});\nvar $elm$core$Basics$True = 0;\nvar $elm$core$Result$isOk = function (result) {\n\tif (!result.$) {\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\nvar $elm$json$Json$Decode$andThen = _Json_andThen;\nvar $elm$json$Json$Decode$map = _Json_map1;\nvar $elm$json$Json$Decode$map2 = _Json_map2;\nvar $elm$json$Json$Decode$succeed = _Json_succeed;\nvar $elm$virtual_dom$VirtualDom$toHandlerInt = function (handler) {\n\tswitch (handler.$) {\n\t\tcase 0:\n\t\t\treturn 0;\n\t\tcase 1:\n\t\t\treturn 1;\n\t\tcase 2:\n\t\t\treturn 2;\n\t\tdefault:\n\t\t\treturn 3;\n\t}\n};\nvar $elm$browser$Browser$External = function (a) {\n\treturn {$: 1, a: a};\n};\nvar $elm$browser$Browser$Internal = function (a) {\n\treturn {$: 0, a: a};\n};\nvar $elm$core$Basics$identity = function (x) {\n\treturn x;\n};\nvar $elm$browser$Browser$Dom$NotFound = $elm$core$Basics$identity;\nvar $elm$url$Url$Http = 0;\nvar $elm$url$Url$Https = 1;\nvar $elm$url$Url$Url = F6(\n\tfunction (protocol, host, port_, path, query, fragment) {\n\t\treturn {_: fragment, ac: host, ag: path, ai: 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 $author$project$Regulations$Index$Country = F2(\n\tfunction (code, name) {\n\t\treturn {G: code, I: name};\n\t});\nvar $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$custom = $elm$json$Json$Decode$map2($elm$core$Basics$apR);\nvar $NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required = F3(\n\tfunction (key, valDecoder, decoder) {\n\t\treturn A2(\n\t\t\t$NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$custom,\n\t\t\tA2($elm$json$Json$Decode$field, key, valDecoder),\n\t\t\tdecoder);\n\t});\nvar $elm$json$Json$Decode$string = _Json_decodeString;\nvar $author$project$Regulations$Index$countryDecoder = A3(\n\t$NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,\n\t'name',\n\t$elm$json$Json$Decode$string,\n\tA3(\n\t\t$NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,\n\t\t'code',\n\t\t$elm$json$Json$Decode$string,\n\t\t$elm$json$Json$Decode$succeed($author$project$Regulations$Index$Country)));\nvar $elm$json$Json$Decode$decodeString = _Json_runOnString;\nvar $elm$core$Platform$Cmd$batch = _Platform_batch;\nvar $elm$core$Platform$Cmd$none = $elm$core$Platform$Cmd$batch(_List_Nil);\nvar $elm$json$Json$Encode$string = _Json_wrap;\nvar $author$project$Regulations$Index$pushUrl = _Platform_outgoingPort('pushUrl', $elm$json$Json$Encode$string);\nvar $elm$core$String$toUpper = _String_toUpper;\nvar $author$project$Regulations$Index$fixUrl = F3(\n\tfunction (invalidPath, countryCode, baseUrl) {\n\t\treturn (invalidPath === 'true') ? $author$project$Regulations$Index$pushUrl(\n\t\t\tbaseUrl + ('/' + $elm$core$String$toUpper(countryCode))) : $elm$core$Platform$Cmd$none;\n\t});\nvar $elm$json$Json$Decode$list = _Json_decodeList;\nvar $author$project$Regulations$Index$Regulation = F3(\n\tfunction (regulationName, isoCountry, requirements) {\n\t\treturn {aO: isoCountry, an: regulationName, ar: requirements};\n\t});\nvar $author$project$Regulations$Index$Requirement = F3(\n\tfunction (name, description, acceptedDocuments) {\n\t\treturn {T: acceptedDocuments, X: description, I: name};\n\t});\nvar $author$project$Regulations$Index$requirementDecoder = A3(\n\t$NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,\n\t'accepted_documents',\n\t$elm$json$Json$Decode$list($elm$json$Json$Decode$string),\n\tA3(\n\t\t$NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,\n\t\t'description',\n\t\t$elm$json$Json$Decode$string,\n\t\tA3(\n\t\t\t$NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,\n\t\t\t'name',\n\t\t\t$elm$json$Json$Decode$string,\n\t\t\t$elm$json$Json$Decode$succeed($author$project$Regulations$Index$Requirement))));\nvar $author$project$Regulations$Index$regulationDecoder = A3(\n\t$NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,\n\t'requirements',\n\t$elm$json$Json$Decode$list($author$project$Regulations$Index$requirementDecoder),\n\tA3(\n\t\t$NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,\n\t\t'iso_country',\n\t\t$elm$json$Json$Decode$string,\n\t\tA3(\n\t\t\t$NoRedInk$elm_json_decode_pipeline$Json$Decode$Pipeline$required,\n\t\t\t'regulation_name',\n\t\t\t$elm$json$Json$Decode$string,\n\t\t\t$elm$json$Json$Decode$succeed($author$project$Regulations$Index$Regulation))));\nvar $elm$core$Result$withDefault = F2(\n\tfunction (def, result) {\n\t\tif (!result.$) {\n\t\t\tvar a = result.a;\n\t\t\treturn a;\n\t\t} else {\n\t\t\treturn def;\n\t\t}\n\t});\nvar $author$project$Regulations$Index$init = function (flags) {\n\tvar regulations = A2(\n\t\t$elm$core$Result$withDefault,\n\t\t_List_Nil,\n\t\tA2(\n\t\t\t$elm$json$Json$Decode$decodeString,\n\t\t\t$elm$json$Json$Decode$list($author$project$Regulations$Index$regulationDecoder),\n\t\t\tflags.y));\n\tvar countries = A2(\n\t\t$elm$core$Result$withDefault,\n\t\t_List_Nil,\n\t\tA2(\n\t\t\t$elm$json$Json$Decode$decodeString,\n\t\t\t$elm$json$Json$Decode$list($author$project$Regulations$Index$countryDecoder),\n\t\t\tflags.q));\n\treturn _Utils_Tuple2(\n\t\t{m: flags.m, q: countries, g: flags.g, B: flags.B, C: false, v: false, y: regulations},\n\t\tA3($author$project$Regulations$Index$fixUrl, flags.B, flags.g, flags.m));\n};\nvar $author$project$Regulations$Index$UrlChanged = function (a) {\n\treturn {$: 3, a: a};\n};\nvar $author$project$Regulations$Index$onUrlChange = _Platform_incomingPort('onUrlChange', $elm$json$Json$Decode$string);\nvar $author$project$Regulations$Index$subscriptions = function (model) {\n\treturn $author$project$Regulations$Index$onUrlChange($author$project$Regulations$Index$UrlChanged);\n};\nvar $author$project$Regulations$Index$GotRegulations = function (a) {\n\treturn {$: 1, a: a};\n};\nvar $elm$http$Http$BadStatus_ = F2(\n\tfunction (a, b) {\n\t\treturn {$: 3, a: a, b: b};\n\t});\nvar $elm$http$Http$BadUrl_ = function (a) {\n\treturn {$: 0, a: a};\n};\nvar $elm$http$Http$GoodStatus_ = F2(\n\tfunction (a, b) {\n\t\treturn {$: 4, a: a, b: b};\n\t});\nvar $elm$http$Http$NetworkError_ = {$: 2};\nvar $elm$http$Http$Receiving = function (a) {\n\treturn {$: 1, a: a};\n};\nvar $elm$http$Http$Sending = function (a) {\n\treturn {$: 0, a: a};\n};\nvar $elm$http$Http$Timeout_ = {$: 1};\nvar $elm$core$Dict$RBEmpty_elm_builtin = {$: -2};\nvar $elm$core$Dict$empty = $elm$core$Dict$RBEmpty_elm_builtin;\nvar $elm$core$Maybe$isJust = function (maybe) {\n\tif (!maybe.$) {\n\t\treturn true;\n\t} else {\n\t\treturn false;\n\t}\n};\nvar $elm$core$Platform$sendToSelf = _Platform_sendToSelf;\nvar $elm$core$Basics$compare = _Utils_compare;\nvar $elm$core$Dict$get = F2(\n\tfunction (targetKey, dict) {\n\t\tget:\n\t\twhile (true) {\n\t\t\tif (dict.$ === -2) {\n\t\t\t\treturn $elm$core$Maybe$Nothing;\n\t\t\t} else {\n\t\t\t\tvar key = dict.b;\n\t\t\t\tvar value = dict.c;\n\t\t\t\tvar left = dict.d;\n\t\t\t\tvar right = dict.e;\n\t\t\t\tvar _v1 = A2($elm$core$Basics$compare, targetKey, key);\n\t\t\t\tswitch (_v1) {\n\t\t\t\t\tcase 0:\n\t\t\t\t\t\tvar $temp$targetKey = targetKey,\n\t\t\t\t\t\t\t$temp$dict = left;\n\t\t\t\t\t\ttargetKey = $temp$targetKey;\n\t\t\t\t\t\tdict = $temp$dict;\n\t\t\t\t\t\tcontinue get;\n\t\t\t\t\tcase 1:\n\t\t\t\t\t\treturn $elm$core$Maybe$Just(value);\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tvar $temp$targetKey = targetKey,\n\t\t\t\t\t\t\t$temp$dict = right;\n\t\t\t\t\t\ttargetKey = $temp$targetKey;\n\t\t\t\t\t\tdict = $temp$dict;\n\t\t\t\t\t\tcontinue get;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Dict$Black = 1;\nvar $elm$core$Dict$RBNode_elm_builtin = F5(\n\tfunction (a, b, c, d, e) {\n\t\treturn {$: -1, a: a, b: b, c: c, d: d, e: e};\n\t});\nvar $elm$core$Dict$Red = 0;\nvar $elm$core$Dict$balance = F5(\n\tfunction (color, key, value, left, right) {\n\t\tif ((right.$ === -1) && (!right.a)) {\n\t\t\tvar _v1 = right.a;\n\t\t\tvar rK = right.b;\n\t\t\tvar rV = right.c;\n\t\t\tvar rLeft = right.d;\n\t\t\tvar rRight = right.e;\n\t\t\tif ((left.$ === -1) && (!left.a)) {\n\t\t\t\tvar _v3 = left.a;\n\t\t\t\tvar lK = left.b;\n\t\t\t\tvar lV = left.c;\n\t\t\t\tvar lLeft = left.d;\n\t\t\t\tvar lRight = left.e;\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t0,\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue,\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, 1, lK, lV, lLeft, lRight),\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, 1, rK, rV, rLeft, rRight));\n\t\t\t} else {\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\tcolor,\n\t\t\t\t\trK,\n\t\t\t\t\trV,\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, 0, key, value, left, rLeft),\n\t\t\t\t\trRight);\n\t\t\t}\n\t\t} else {\n\t\t\tif ((((left.$ === -1) && (!left.a)) && (left.d.$ === -1)) && (!left.d.a)) {\n\t\t\t\tvar _v5 = left.a;\n\t\t\t\tvar lK = left.b;\n\t\t\t\tvar lV = left.c;\n\t\t\t\tvar _v6 = left.d;\n\t\t\t\tvar _v7 = _v6.a;\n\t\t\t\tvar llK = _v6.b;\n\t\t\t\tvar llV = _v6.c;\n\t\t\t\tvar llLeft = _v6.d;\n\t\t\t\tvar llRight = _v6.e;\n\t\t\t\tvar lRight = left.e;\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t0,\n\t\t\t\t\tlK,\n\t\t\t\t\tlV,\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, 1, llK, llV, llLeft, llRight),\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, 1, key, value, lRight, right));\n\t\t\t} else {\n\t\t\t\treturn A5($elm$core$Dict$RBNode_elm_builtin, color, key, value, left, right);\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Dict$insertHelp = F3(\n\tfunction (key, value, dict) {\n\t\tif (dict.$ === -2) {\n\t\t\treturn A5($elm$core$Dict$RBNode_elm_builtin, 0, key, value, $elm$core$Dict$RBEmpty_elm_builtin, $elm$core$Dict$RBEmpty_elm_builtin);\n\t\t} else {\n\t\t\tvar nColor = dict.a;\n\t\t\tvar nKey = dict.b;\n\t\t\tvar nValue = dict.c;\n\t\t\tvar nLeft = dict.d;\n\t\t\tvar nRight = dict.e;\n\t\t\tvar _v1 = A2($elm$core$Basics$compare, key, nKey);\n\t\t\tswitch (_v1) {\n\t\t\t\tcase 0:\n\t\t\t\t\treturn A5(\n\t\t\t\t\t\t$elm$core$Dict$balance,\n\t\t\t\t\t\tnColor,\n\t\t\t\t\t\tnKey,\n\t\t\t\t\t\tnValue,\n\t\t\t\t\t\tA3($elm$core$Dict$insertHelp, key, value, nLeft),\n\t\t\t\t\t\tnRight);\n\t\t\t\tcase 1:\n\t\t\t\t\treturn A5($elm$core$Dict$RBNode_elm_builtin, nColor, nKey, value, nLeft, nRight);\n\t\t\t\tdefault:\n\t\t\t\t\treturn A5(\n\t\t\t\t\t\t$elm$core$Dict$balance,\n\t\t\t\t\t\tnColor,\n\t\t\t\t\t\tnKey,\n\t\t\t\t\t\tnValue,\n\t\t\t\t\t\tnLeft,\n\t\t\t\t\t\tA3($elm$core$Dict$insertHelp, key, value, nRight));\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Dict$insert = F3(\n\tfunction (key, value, dict) {\n\t\tvar _v0 = A3($elm$core$Dict$insertHelp, key, value, dict);\n\t\tif ((_v0.$ === -1) && (!_v0.a)) {\n\t\t\tvar _v1 = _v0.a;\n\t\t\tvar k = _v0.b;\n\t\t\tvar v = _v0.c;\n\t\t\tvar l = _v0.d;\n\t\t\tvar r = _v0.e;\n\t\t\treturn A5($elm$core$Dict$RBNode_elm_builtin, 1, k, v, l, r);\n\t\t} else {\n\t\t\tvar x = _v0;\n\t\t\treturn x;\n\t\t}\n\t});\nvar $elm$core$Dict$getMin = function (dict) {\n\tgetMin:\n\twhile (true) {\n\t\tif ((dict.$ === -1) && (dict.d.$ === -1)) {\n\t\t\tvar left = dict.d;\n\t\t\tvar $temp$dict = left;\n\t\t\tdict = $temp$dict;\n\t\t\tcontinue getMin;\n\t\t} else {\n\t\t\treturn dict;\n\t\t}\n\t}\n};\nvar $elm$core$Dict$moveRedLeft = function (dict) {\n\tif (((dict.$ === -1) && (dict.d.$ === -1)) && (dict.e.$ === -1)) {\n\t\tif ((dict.e.d.$ === -1) && (!dict.e.d.a)) {\n\t\t\tvar clr = dict.a;\n\t\t\tvar k = dict.b;\n\t\t\tvar v = dict.c;\n\t\t\tvar _v1 = dict.d;\n\t\t\tvar lClr = _v1.a;\n\t\t\tvar lK = _v1.b;\n\t\t\tvar lV = _v1.c;\n\t\t\tvar lLeft = _v1.d;\n\t\t\tvar lRight = _v1.e;\n\t\t\tvar _v2 = dict.e;\n\t\t\tvar rClr = _v2.a;\n\t\t\tvar rK = _v2.b;\n\t\t\tvar rV = _v2.c;\n\t\t\tvar rLeft = _v2.d;\n\t\t\tvar _v3 = rLeft.a;\n\t\t\tvar rlK = rLeft.b;\n\t\t\tvar rlV = rLeft.c;\n\t\t\tvar rlL = rLeft.d;\n\t\t\tvar rlR = rLeft.e;\n\t\t\tvar rRight = _v2.e;\n\t\t\treturn A5(\n\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t0,\n\t\t\t\trlK,\n\t\t\t\trlV,\n\t\t\t\tA5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t1,\n\t\t\t\t\tk,\n\t\t\t\t\tv,\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, 0, lK, lV, lLeft, lRight),\n\t\t\t\t\trlL),\n\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, 1, rK, rV, rlR, rRight));\n\t\t} else {\n\t\t\tvar clr = dict.a;\n\t\t\tvar k = dict.b;\n\t\t\tvar v = dict.c;\n\t\t\tvar _v4 = dict.d;\n\t\t\tvar lClr = _v4.a;\n\t\t\tvar lK = _v4.b;\n\t\t\tvar lV = _v4.c;\n\t\t\tvar lLeft = _v4.d;\n\t\t\tvar lRight = _v4.e;\n\t\t\tvar _v5 = dict.e;\n\t\t\tvar rClr = _v5.a;\n\t\t\tvar rK = _v5.b;\n\t\t\tvar rV = _v5.c;\n\t\t\tvar rLeft = _v5.d;\n\t\t\tvar rRight = _v5.e;\n\t\t\tif (clr === 1) {\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t1,\n\t\t\t\t\tk,\n\t\t\t\t\tv,\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, 0, lK, lV, lLeft, lRight),\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, 0, rK, rV, rLeft, rRight));\n\t\t\t} else {\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t1,\n\t\t\t\t\tk,\n\t\t\t\t\tv,\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, 0, lK, lV, lLeft, lRight),\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, 0, rK, rV, rLeft, rRight));\n\t\t\t}\n\t\t}\n\t} else {\n\t\treturn dict;\n\t}\n};\nvar $elm$core$Dict$moveRedRight = function (dict) {\n\tif (((dict.$ === -1) && (dict.d.$ === -1)) && (dict.e.$ === -1)) {\n\t\tif ((dict.d.d.$ === -1) && (!dict.d.d.a)) {\n\t\t\tvar clr = dict.a;\n\t\t\tvar k = dict.b;\n\t\t\tvar v = dict.c;\n\t\t\tvar _v1 = dict.d;\n\t\t\tvar lClr = _v1.a;\n\t\t\tvar lK = _v1.b;\n\t\t\tvar lV = _v1.c;\n\t\t\tvar _v2 = _v1.d;\n\t\t\tvar _v3 = _v2.a;\n\t\t\tvar llK = _v2.b;\n\t\t\tvar llV = _v2.c;\n\t\t\tvar llLeft = _v2.d;\n\t\t\tvar llRight = _v2.e;\n\t\t\tvar lRight = _v1.e;\n\t\t\tvar _v4 = dict.e;\n\t\t\tvar rClr = _v4.a;\n\t\t\tvar rK = _v4.b;\n\t\t\tvar rV = _v4.c;\n\t\t\tvar rLeft = _v4.d;\n\t\t\tvar rRight = _v4.e;\n\t\t\treturn A5(\n\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t0,\n\t\t\t\tlK,\n\t\t\t\tlV,\n\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, 1, llK, llV, llLeft, llRight),\n\t\t\t\tA5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t1,\n\t\t\t\t\tk,\n\t\t\t\t\tv,\n\t\t\t\t\tlRight,\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, 0, rK, rV, rLeft, rRight)));\n\t\t} else {\n\t\t\tvar clr = dict.a;\n\t\t\tvar k = dict.b;\n\t\t\tvar v = dict.c;\n\t\t\tvar _v5 = dict.d;\n\t\t\tvar lClr = _v5.a;\n\t\t\tvar lK = _v5.b;\n\t\t\tvar lV = _v5.c;\n\t\t\tvar lLeft = _v5.d;\n\t\t\tvar lRight = _v5.e;\n\t\t\tvar _v6 = dict.e;\n\t\t\tvar rClr = _v6.a;\n\t\t\tvar rK = _v6.b;\n\t\t\tvar rV = _v6.c;\n\t\t\tvar rLeft = _v6.d;\n\t\t\tvar rRight = _v6.e;\n\t\t\tif (clr === 1) {\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t1,\n\t\t\t\t\tk,\n\t\t\t\t\tv,\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, 0, lK, lV, lLeft, lRight),\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, 0, rK, rV, rLeft, rRight));\n\t\t\t} else {\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t1,\n\t\t\t\t\tk,\n\t\t\t\t\tv,\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, 0, lK, lV, lLeft, lRight),\n\t\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, 0, rK, rV, rLeft, rRight));\n\t\t\t}\n\t\t}\n\t} else {\n\t\treturn dict;\n\t}\n};\nvar $elm$core$Dict$removeHelpPrepEQGT = F7(\n\tfunction (targetKey, dict, color, key, value, left, right) {\n\t\tif ((left.$ === -1) && (!left.a)) {\n\t\t\tvar _v1 = left.a;\n\t\t\tvar lK = left.b;\n\t\t\tvar lV = left.c;\n\t\t\tvar lLeft = left.d;\n\t\t\tvar lRight = left.e;\n\t\t\treturn A5(\n\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\tcolor,\n\t\t\t\tlK,\n\t\t\t\tlV,\n\t\t\t\tlLeft,\n\t\t\t\tA5($elm$core$Dict$RBNode_elm_builtin, 0, key, value, lRight, right));\n\t\t} else {\n\t\t\t_v2$2:\n\t\t\twhile (true) {\n\t\t\t\tif ((right.$ === -1) && (right.a === 1)) {\n\t\t\t\t\tif (right.d.$ === -1) {\n\t\t\t\t\t\tif (right.d.a === 1) {\n\t\t\t\t\t\t\tvar _v3 = right.a;\n\t\t\t\t\t\t\tvar _v4 = right.d;\n\t\t\t\t\t\t\tvar _v5 = _v4.a;\n\t\t\t\t\t\t\treturn $elm$core$Dict$moveRedRight(dict);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tbreak _v2$2;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar _v6 = right.a;\n\t\t\t\t\t\tvar _v7 = right.d;\n\t\t\t\t\t\treturn $elm$core$Dict$moveRedRight(dict);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tbreak _v2$2;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn dict;\n\t\t}\n\t});\nvar $elm$core$Dict$removeMin = function (dict) {\n\tif ((dict.$ === -1) && (dict.d.$ === -1)) {\n\t\tvar color = dict.a;\n\t\tvar key = dict.b;\n\t\tvar value = dict.c;\n\t\tvar left = dict.d;\n\t\tvar lColor = left.a;\n\t\tvar lLeft = left.d;\n\t\tvar right = dict.e;\n\t\tif (lColor === 1) {\n\t\t\tif ((lLeft.$ === -1) && (!lLeft.a)) {\n\t\t\t\tvar _v3 = lLeft.a;\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\tcolor,\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue,\n\t\t\t\t\t$elm$core$Dict$removeMin(left),\n\t\t\t\t\tright);\n\t\t\t} else {\n\t\t\t\tvar _v4 = $elm$core$Dict$moveRedLeft(dict);\n\t\t\t\tif (_v4.$ === -1) {\n\t\t\t\t\tvar nColor = _v4.a;\n\t\t\t\t\tvar nKey = _v4.b;\n\t\t\t\t\tvar nValue = _v4.c;\n\t\t\t\t\tvar nLeft = _v4.d;\n\t\t\t\t\tvar nRight = _v4.e;\n\t\t\t\t\treturn A5(\n\t\t\t\t\t\t$elm$core$Dict$balance,\n\t\t\t\t\t\tnColor,\n\t\t\t\t\t\tnKey,\n\t\t\t\t\t\tnValue,\n\t\t\t\t\t\t$elm$core$Dict$removeMin(nLeft),\n\t\t\t\t\t\tnRight);\n\t\t\t\t} else {\n\t\t\t\t\treturn $elm$core$Dict$RBEmpty_elm_builtin;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\treturn A5(\n\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\tcolor,\n\t\t\t\tkey,\n\t\t\t\tvalue,\n\t\t\t\t$elm$core$Dict$removeMin(left),\n\t\t\t\tright);\n\t\t}\n\t} else {\n\t\treturn $elm$core$Dict$RBEmpty_elm_builtin;\n\t}\n};\nvar $elm$core$Dict$removeHelp = F2(\n\tfunction (targetKey, dict) {\n\t\tif (dict.$ === -2) {\n\t\t\treturn $elm$core$Dict$RBEmpty_elm_builtin;\n\t\t} else {\n\t\t\tvar color = dict.a;\n\t\t\tvar key = dict.b;\n\t\t\tvar value = dict.c;\n\t\t\tvar left = dict.d;\n\t\t\tvar right = dict.e;\n\t\t\tif (_Utils_cmp(targetKey, key) < 0) {\n\t\t\t\tif ((left.$ === -1) && (left.a === 1)) {\n\t\t\t\t\tvar _v4 = left.a;\n\t\t\t\t\tvar lLeft = left.d;\n\t\t\t\t\tif ((lLeft.$ === -1) && (!lLeft.a)) {\n\t\t\t\t\t\tvar _v6 = lLeft.a;\n\t\t\t\t\t\treturn A5(\n\t\t\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t\t\tcolor,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\tA2($elm$core$Dict$removeHelp, targetKey, left),\n\t\t\t\t\t\t\tright);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar _v7 = $elm$core$Dict$moveRedLeft(dict);\n\t\t\t\t\t\tif (_v7.$ === -1) {\n\t\t\t\t\t\t\tvar nColor = _v7.a;\n\t\t\t\t\t\t\tvar nKey = _v7.b;\n\t\t\t\t\t\t\tvar nValue = _v7.c;\n\t\t\t\t\t\t\tvar nLeft = _v7.d;\n\t\t\t\t\t\t\tvar nRight = _v7.e;\n\t\t\t\t\t\t\treturn A5(\n\t\t\t\t\t\t\t\t$elm$core$Dict$balance,\n\t\t\t\t\t\t\t\tnColor,\n\t\t\t\t\t\t\t\tnKey,\n\t\t\t\t\t\t\t\tnValue,\n\t\t\t\t\t\t\t\tA2($elm$core$Dict$removeHelp, targetKey, nLeft),\n\t\t\t\t\t\t\t\tnRight);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn $elm$core$Dict$RBEmpty_elm_builtin;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn A5(\n\t\t\t\t\t\t$elm$core$Dict$RBNode_elm_builtin,\n\t\t\t\t\t\tcolor,\n\t\t\t\t\t\tkey,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tA2($elm$core$Dict$removeHelp, targetKey, left),\n\t\t\t\t\t\tright);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$core$Dict$removeHelpEQGT,\n\t\t\t\t\ttargetKey,\n\t\t\t\t\tA7($elm$core$Dict$removeHelpPrepEQGT, targetKey, dict, color, key, value, left, right));\n\t\t\t}\n\t\t}\n\t});\nvar $elm$core$Dict$removeHelpEQGT = F2(\n\tfunction (targetKey, dict) {\n\t\tif (dict.$ === -1) {\n\t\t\tvar color = dict.a;\n\t\t\tvar key = dict.b;\n\t\t\tvar value = dict.c;\n\t\t\tvar left = dict.d;\n\t\t\tvar right = dict.e;\n\t\t\tif (_Utils_eq(targetKey, key)) {\n\t\t\t\tvar _v1 = $elm$core$Dict$getMin(right);\n\t\t\t\tif (_v1.$ === -1) {\n\t\t\t\t\tvar minKey = _v1.b;\n\t\t\t\t\tvar minValue = _v1.c;\n\t\t\t\t\treturn A5(\n\t\t\t\t\t\t$elm$core$Dict$balance,\n\t\t\t\t\t\tcolor,\n\t\t\t\t\t\tminKey,\n\t\t\t\t\t\tminValue,\n\t\t\t\t\t\tleft,\n\t\t\t\t\t\t$elm$core$Dict$removeMin(right));\n\t\t\t\t} else {\n\t\t\t\t\treturn $elm$core$Dict$RBEmpty_elm_builtin;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn A5(\n\t\t\t\t\t$elm$core$Dict$balance,\n\t\t\t\t\tcolor,\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue,\n\t\t\t\t\tleft,\n\t\t\t\t\tA2($elm$core$Dict$removeHelp, targetKey, right));\n\t\t\t}\n\t\t} else {\n\t\t\treturn $elm$core$Dict$RBEmpty_elm_builtin;\n\t\t}\n\t});\nvar $elm$core$Dict$remove = F2(\n\tfunction (key, dict) {\n\t\tvar _v0 = A2($elm$core$Dict$removeHelp, key, dict);\n\t\tif ((_v0.$ === -1) && (!_v0.a)) {\n\t\t\tvar _v1 = _v0.a;\n\t\t\tvar k = _v0.b;\n\t\t\tvar v = _v0.c;\n\t\t\tvar l = _v0.d;\n\t\t\tvar r = _v0.e;\n\t\t\treturn A5($elm$core$Dict$RBNode_elm_builtin, 1, k, v, l, r);\n\t\t} else {\n\t\t\tvar x = _v0;\n\t\t\treturn x;\n\t\t}\n\t});\nvar $elm$core$Dict$update = F3(\n\tfunction (targetKey, alter, dictionary) {\n\t\tvar _v0 = alter(\n\t\t\tA2($elm$core$Dict$get, targetKey, dictionary));\n\t\tif (!_v0.$) {\n\t\t\tvar value = _v0.a;\n\t\t\treturn A3($elm$core$Dict$insert, targetKey, value, dictionary);\n\t\t} else {\n\t\t\treturn A2($elm$core$Dict$remove, targetKey, dictionary);\n\t\t}\n\t});\nvar $elm$core$Basics$composeR = F3(\n\tfunction (f, g, x) {\n\t\treturn g(\n\t\t\tf(x));\n\t});\nvar $elm$http$Http$expectStringResponse = F2(\n\tfunction (toMsg, toResult) {\n\t\treturn A3(\n\t\t\t_Http_expect,\n\t\t\t'',\n\t\t\t$elm$core$Basics$identity,\n\t\t\tA2($elm$core$Basics$composeR, toResult, toMsg));\n\t});\nvar $elm$core$Result$mapError = F2(\n\tfunction (f, result) {\n\t\tif (!result.$) {\n\t\t\tvar v = result.a;\n\t\t\treturn $elm$core$Result$Ok(v);\n\t\t} else {\n\t\t\tvar e = result.a;\n\t\t\treturn $elm$core$Result$Err(\n\t\t\t\tf(e));\n\t\t}\n\t});\nvar $elm$http$Http$BadBody = function (a) {\n\treturn {$: 4, a: a};\n};\nvar $elm$http$Http$BadStatus = function (a) {\n\treturn {$: 3, a: a};\n};\nvar $elm$http$Http$BadUrl = function (a) {\n\treturn {$: 0, a: a};\n};\nvar $elm$http$Http$NetworkError = {$: 2};\nvar $elm$http$Http$Timeout = {$: 1};\nvar $elm$http$Http$resolve = F2(\n\tfunction (toResult, response) {\n\t\tswitch (response.$) {\n\t\t\tcase 0:\n\t\t\t\tvar url = response.a;\n\t\t\t\treturn $elm$core$Result$Err(\n\t\t\t\t\t$elm$http$Http$BadUrl(url));\n\t\t\tcase 1:\n\t\t\t\treturn $elm$core$Result$Err($elm$http$Http$Timeout);\n\t\t\tcase 2:\n\t\t\t\treturn $elm$core$Result$Err($elm$http$Http$NetworkError);\n\t\t\tcase 3:\n\t\t\t\tvar metadata = response.a;\n\t\t\t\treturn $elm$core$Result$Err(\n\t\t\t\t\t$elm$http$Http$BadStatus(metadata.aW));\n\t\t\tdefault:\n\t\t\t\tvar body = response.b;\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$core$Result$mapError,\n\t\t\t\t\t$elm$http$Http$BadBody,\n\t\t\t\t\ttoResult(body));\n\t\t}\n\t});\nvar $elm$http$Http$expectJson = F2(\n\tfunction (toMsg, decoder) {\n\t\treturn A2(\n\t\t\t$elm$http$Http$expectStringResponse,\n\t\t\ttoMsg,\n\t\t\t$elm$http$Http$resolve(\n\t\t\t\tfunction (string) {\n\t\t\t\t\treturn A2(\n\t\t\t\t\t\t$elm$core$Result$mapError,\n\t\t\t\t\t\t$elm$json$Json$Decode$errorToString,\n\t\t\t\t\t\tA2($elm$json$Json$Decode$decodeString, decoder, string));\n\t\t\t\t}));\n\t});\nvar $elm$http$Http$emptyBody = _Http_emptyBody;\nvar $elm$http$Http$Request = function (a) {\n\treturn {$: 1, a: a};\n};\nvar $elm$http$Http$State = F2(\n\tfunction (reqs, subs) {\n\t\treturn {ap: reqs, av: subs};\n\t});\nvar $elm$http$Http$init = $elm$core$Task$succeed(\n\tA2($elm$http$Http$State, $elm$core$Dict$empty, _List_Nil));\nvar $elm$core$Process$kill = _Scheduler_kill;\nvar $elm$core$Process$spawn = _Scheduler_spawn;\nvar $elm$http$Http$updateReqs = F3(\n\tfunction (router, cmds, reqs) {\n\t\tupdateReqs:\n\t\twhile (true) {\n\t\t\tif (!cmds.b) {\n\t\t\t\treturn $elm$core$Task$succeed(reqs);\n\t\t\t} else {\n\t\t\t\tvar cmd = cmds.a;\n\t\t\t\tvar otherCmds = cmds.b;\n\t\t\t\tif (!cmd.$) {\n\t\t\t\t\tvar tracker = cmd.a;\n\t\t\t\t\tvar _v2 = A2($elm$core$Dict$get, tracker, reqs);\n\t\t\t\t\tif (_v2.$ === 1) {\n\t\t\t\t\t\tvar $temp$router = router,\n\t\t\t\t\t\t\t$temp$cmds = otherCmds,\n\t\t\t\t\t\t\t$temp$reqs = reqs;\n\t\t\t\t\t\trouter = $temp$router;\n\t\t\t\t\t\tcmds = $temp$cmds;\n\t\t\t\t\t\treqs = $temp$reqs;\n\t\t\t\t\t\tcontinue updateReqs;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar pid = _v2.a;\n\t\t\t\t\t\treturn A2(\n\t\t\t\t\t\t\t$elm$core$Task$andThen,\n\t\t\t\t\t\t\tfunction (_v3) {\n\t\t\t\t\t\t\t\treturn A3(\n\t\t\t\t\t\t\t\t\t$elm$http$Http$updateReqs,\n\t\t\t\t\t\t\t\t\trouter,\n\t\t\t\t\t\t\t\t\totherCmds,\n\t\t\t\t\t\t\t\t\tA2($elm$core$Dict$remove, tracker, reqs));\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t$elm$core$Process$kill(pid));\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tvar req = cmd.a;\n\t\t\t\t\treturn A2(\n\t\t\t\t\t\t$elm$core$Task$andThen,\n\t\t\t\t\t\tfunction (pid) {\n\t\t\t\t\t\t\tvar _v4 = req.ax;\n\t\t\t\t\t\t\tif (_v4.$ === 1) {\n\t\t\t\t\t\t\t\treturn A3($elm$http$Http$updateReqs, router, otherCmds, reqs);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tvar tracker = _v4.a;\n\t\t\t\t\t\t\t\treturn A3(\n\t\t\t\t\t\t\t\t\t$elm$http$Http$updateReqs,\n\t\t\t\t\t\t\t\t\trouter,\n\t\t\t\t\t\t\t\t\totherCmds,\n\t\t\t\t\t\t\t\t\tA3($elm$core$Dict$insert, tracker, pid, reqs));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t$elm$core$Process$spawn(\n\t\t\t\t\t\t\tA3(\n\t\t\t\t\t\t\t\t_Http_toTask,\n\t\t\t\t\t\t\t\trouter,\n\t\t\t\t\t\t\t\t$elm$core$Platform$sendToApp(router),\n\t\t\t\t\t\t\t\treq)));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\nvar $elm$http$Http$onEffects = F4(\n\tfunction (router, cmds, subs, state) {\n\t\treturn A2(\n\t\t\t$elm$core$Task$andThen,\n\t\t\tfunction (reqs) {\n\t\t\t\treturn $elm$core$Task$succeed(\n\t\t\t\t\tA2($elm$http$Http$State, reqs, subs));\n\t\t\t},\n\t\t\tA3($elm$http$Http$updateReqs, router, cmds, state.ap));\n\t});\nvar $elm$core$List$maybeCons = F3(\n\tfunction (f, mx, xs) {\n\t\tvar _v0 = f(mx);\n\t\tif (!_v0.$) {\n\t\t\tvar x = _v0.a;\n\t\t\treturn A2($elm$core$List$cons, x, xs);\n\t\t} else {\n\t\t\treturn xs;\n\t\t}\n\t});\nvar $elm$core$List$filterMap = F2(\n\tfunction (f, xs) {\n\t\treturn A3(\n\t\t\t$elm$core$List$foldr,\n\t\t\t$elm$core$List$maybeCons(f),\n\t\t\t_List_Nil,\n\t\t\txs);\n\t});\nvar $elm$http$Http$maybeSend = F4(\n\tfunction (router, desiredTracker, progress, _v0) {\n\t\tvar actualTracker = _v0.a;\n\t\tvar toMsg = _v0.b;\n\t\treturn _Utils_eq(desiredTracker, actualTracker) ? $elm$core$Maybe$Just(\n\t\t\tA2(\n\t\t\t\t$elm$core$Platform$sendToApp,\n\t\t\t\trouter,\n\t\t\t\ttoMsg(progress))) : $elm$core$Maybe$Nothing;\n\t});\nvar $elm$http$Http$onSelfMsg = F3(\n\tfunction (router, _v0, state) {\n\t\tvar tracker = _v0.a;\n\t\tvar progress = _v0.b;\n\t\treturn A2(\n\t\t\t$elm$core$Task$andThen,\n\t\t\tfunction (_v1) {\n\t\t\t\treturn $elm$core$Task$succeed(state);\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$filterMap,\n\t\t\t\t\tA3($elm$http$Http$maybeSend, router, tracker, progress),\n\t\t\t\t\tstate.av)));\n\t});\nvar $elm$http$Http$Cancel = function (a) {\n\treturn {$: 0, a: a};\n};\nvar $elm$http$Http$cmdMap = F2(\n\tfunction (func, cmd) {\n\t\tif (!cmd.$) {\n\t\t\tvar tracker = cmd.a;\n\t\t\treturn $elm$http$Http$Cancel(tracker);\n\t\t} else {\n\t\t\tvar r = cmd.a;\n\t\t\treturn $elm$http$Http$Request(\n\t\t\t\t{\n\t\t\t\t\taD: r.aD,\n\t\t\t\t\taF: r.aF,\n\t\t\t\t\taJ: A2(_Http_mapExpect, func, r.aJ),\n\t\t\t\t\taa: r.aa,\n\t\t\t\t\taP: r.aP,\n\t\t\t\t\taZ: r.aZ,\n\t\t\t\t\tax: r.ax,\n\t\t\t\t\ta0: r.a0\n\t\t\t\t});\n\t\t}\n\t});\nvar $elm$http$Http$MySub = F2(\n\tfunction (a, b) {\n\t\treturn {$: 0, a: a, b: b};\n\t});\nvar $elm$http$Http$subMap = F2(\n\tfunction (func, _v0) {\n\t\tvar tracker = _v0.a;\n\t\tvar toMsg = _v0.b;\n\t\treturn A2(\n\t\t\t$elm$http$Http$MySub,\n\t\t\ttracker,\n\t\t\tA2($elm$core$Basics$composeR, toMsg, func));\n\t});\n_Platform_effectManagers['Http'] = _Platform_createManager($elm$http$Http$init, $elm$http$Http$onEffects, $elm$http$Http$onSelfMsg, $elm$http$Http$cmdMap, $elm$http$Http$subMap);\nvar $elm$http$Http$command = _Platform_leaf('Http');\nvar $elm$http$Http$subscription = _Platform_leaf('Http');\nvar $elm$http$Http$request = function (r) {\n\treturn $elm$http$Http$command(\n\t\t$elm$http$Http$Request(\n\t\t\t{aD: false, aF: r.aF, aJ: r.aJ, aa: r.aa, aP: r.aP, aZ: r.aZ, ax: r.ax, a0: r.a0}));\n};\nvar $elm$http$Http$get = function (r) {\n\treturn $elm$http$Http$request(\n\t\t{aF: $elm$http$Http$emptyBody, aJ: r.aJ, aa: _List_Nil, aP: 'GET', aZ: $elm$core$Maybe$Nothing, ax: $elm$core$Maybe$Nothing, a0: r.a0});\n};\nvar $author$project$Regulations$Index$getRegulations = F2(\n\tfunction (baseUrl, countryCode) {\n\t\treturn $elm$http$Http$get(\n\t\t\t{\n\t\t\t\taJ: A2(\n\t\t\t\t\t$elm$http$Http$expectJson,\n\t\t\t\t\t$author$project$Regulations$Index$GotRegulations,\n\t\t\t\t\t$elm$json$Json$Decode$list($author$project$Regulations$Index$regulationDecoder)),\n\t\t\t\ta0: baseUrl + ('/api/countries/' + countryCode)\n\t\t\t});\n\t});\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$String$toLower = _String_toLower;\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$Regulations$Index$update = F2(\n\tfunction (msg, model) {\n\t\tswitch (msg.$) {\n\t\t\tcase 0:\n\t\t\t\tvar code = 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{g: code, C: true, v: false}),\n\t\t\t\t\t$elm$core$Platform$Cmd$batch(\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($author$project$Regulations$Index$getRegulations, model.m, code),\n\t\t\t\t\t\t\t\t$author$project$Regulations$Index$pushUrl(\n\t\t\t\t\t\t\t\tmodel.m + ('/' + $elm$core$String$toUpper(code)))\n\t\t\t\t\t\t\t])));\n\t\t\tcase 1:\n\t\t\t\tvar result = msg.a;\n\t\t\t\tif (!result.$) {\n\t\t\t\t\tvar regulations = result.a;\n\t\t\t\t\treturn _Utils_Tuple2(\n\t\t\t\t\t\t_Utils_update(\n\t\t\t\t\t\t\tmodel,\n\t\t\t\t\t\t\t{C: false, y: regulations}),\n\t\t\t\t\t\t$elm$core$Platform$Cmd$none);\n\t\t\t\t} else {\n\t\t\t\t\treturn _Utils_Tuple2(model, $elm$core$Platform$Cmd$none);\n\t\t\t\t}\n\t\t\tcase 2:\n\t\t\t\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{v: !model.v}),\n\t\t\t\t\t$elm$core$Platform$Cmd$none);\n\t\t\tdefault:\n\t\t\t\tvar newUrl = msg.a;\n\t\t\t\tvar newCountyCode = $elm$core$String$toLower(\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$Maybe$withDefault,\n\t\t\t\t\t\t'AT',\n\t\t\t\t\t\t$elm$core$List$head(\n\t\t\t\t\t\t\t$elm$core$List$reverse(\n\t\t\t\t\t\t\t\tA2($elm$core$String$split, '/', newUrl)))));\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{g: newCountyCode, C: true}),\n\t\t\t\t\tA2($author$project$Regulations$Index$getRegulations, model.m, newCountyCode));\n\t\t}\n\t});\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 $author$project$Regulations$Index$ToggleMenu = {$: 2};\nvar $elm$html$Html$button = _VirtualDom_node('button');\nvar $elm$core$List$filter = F2(\n\tfunction (isGood, list) {\n\t\treturn A3(\n\t\t\t$elm$core$List$foldr,\n\t\t\tF2(\n\t\t\t\tfunction (x, xs) {\n\t\t\t\t\treturn isGood(x) ? A2($elm$core$List$cons, x, xs) : xs;\n\t\t\t\t}),\n\t\t\t_List_Nil,\n\t\t\tlist);\n\t});\nvar $author$project$Regulations$Index$countryName = F2(\n\tfunction (countryCode, countries) {\n\t\tvar countryByCode = $elm$core$List$head(\n\t\t\tA2(\n\t\t\t\t$elm$core$List$filter,\n\t\t\t\tfunction (country) {\n\t\t\t\t\treturn _Utils_eq(country.G, countryCode);\n\t\t\t\t},\n\t\t\t\tcountries));\n\t\tif (!countryByCode.$) {\n\t\t\tvar country = countryByCode.a;\n\t\t\treturn country.I;\n\t\t} else {\n\t\t\treturn '';\n\t\t}\n\t});\nvar $elm$html$Html$div = _VirtualDom_node('div');\nvar $elm$html$Html$h1 = _VirtualDom_node('h1');\nvar $elm$html$Html$main_ = _VirtualDom_node('main');\nvar $elm$virtual_dom$VirtualDom$Normal = function (a) {\n\treturn {$: 0, a: a};\n};\nvar $elm$virtual_dom$VirtualDom$on = _VirtualDom_on;\nvar $elm$html$Html$Events$on = F2(\n\tfunction (event, decoder) {\n\t\treturn A2(\n\t\t\t$elm$virtual_dom$VirtualDom$on,\n\t\t\tevent,\n\t\t\t$elm$virtual_dom$VirtualDom$Normal(decoder));\n\t});\nvar $elm$html$Html$Events$onClick = function (msg) {\n\treturn A2(\n\t\t$elm$html$Html$Events$on,\n\t\t'click',\n\t\t$elm$json$Json$Decode$succeed(msg));\n};\nvar $elm$html$Html$h3 = _VirtualDom_node('h3');\nvar $elm$html$Html$br = _VirtualDom_node('br');\nvar $elm$html$Html$li = _VirtualDom_node('li');\nvar $elm$virtual_dom$VirtualDom$text = _VirtualDom_text;\nvar $elm$html$Html$text = $elm$virtual_dom$VirtualDom$text;\nvar $author$project$Regulations$Index$documentView = function (documentName) {\n\treturn A2(\n\t\t$elm$html$Html$li,\n\t\t_List_Nil,\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\t$elm$html$Html$text(documentName)\n\t\t\t]));\n};\nvar $elm$html$Html$i = _VirtualDom_node('i');\nvar $author$project$Regulations$Index$noteView = function (note) {\n\treturn (note === '') ? $elm$html$Html$text('') : A2(\n\t\t$elm$html$Html$i,\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\t$elm$html$Html$Attributes$class('font-normal text-gray-600')\n\t\t\t]),\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\t$elm$html$Html$text('Note: ' + note)\n\t\t\t]));\n};\nvar $elm$html$Html$span = _VirtualDom_node('span');\nvar $elm$html$Html$td = _VirtualDom_node('td');\nvar $elm$html$Html$tr = _VirtualDom_node('tr');\nvar $elm$html$Html$ul = _VirtualDom_node('ul');\nvar $author$project$Regulations$Index$requirementView = function (requirement) {\n\treturn A2(\n\t\t$elm$html$Html$tr,\n\t\t_List_Nil,\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\tA2(\n\t\t\t\t$elm$html$Html$td,\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('align-baseline px-6 py-4 text-sm leading-5 font-medium text-gray-900 w-1/2 leading-loose')\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\tA2(\n\t\t\t\t\t\t$elm$html$Html$span,\n\t\t\t\t\t\t_List_Nil,\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t$elm$html$Html$text(requirement.I)\n\t\t\t\t\t\t\t])),\n\t\t\t\t\t\tA2($elm$html$Html$br, _List_Nil, _List_Nil),\n\t\t\t\t\t\t$author$project$Regulations$Index$noteView(requirement.X)\n\t\t\t\t\t])),\n\t\t\t\tA2(\n\t\t\t\t$elm$html$Html$td,\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('px-6 py-4 text-sm leading-5 text-gray-600 w-1/2 leading-loose')\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\tA2(\n\t\t\t\t\t\t$elm$html$Html$ul,\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$class('list-disc')\n\t\t\t\t\t\t\t]),\n\t\t\t\t\t\tA2($elm$core$List$map, $author$project$Regulations$Index$documentView, requirement.T))\n\t\t\t\t\t]))\n\t\t\t]));\n};\nvar $elm$html$Html$table = _VirtualDom_node('table');\nvar $elm$html$Html$tbody = _VirtualDom_node('tbody');\nvar $elm$html$Html$th = _VirtualDom_node('th');\nvar $elm$html$Html$thead = _VirtualDom_node('thead');\nvar $author$project$Regulations$Index$regulationView = F2(\n\tfunction (countryCode, regulation) {\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('flex flex-col my-8 justify-between')\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$h3,\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('text-xl font-semibold text-gray-900 mb-3 ml-3')\n\t\t\t\t\t\t]),\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$text(regulation.an)\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('-my-2 overflow-x-auto sm:-mx-6 lg:-mx-8')\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$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('py-2 align-middle inline-block min-w-full sm:px-6 lg:px-8')\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\tA2(\n\t\t\t\t\t\t\t\t\t$elm$html$Html$div,\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('shadow overflow-hidden border-b border-gray-200 sm:rounded-lg')\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$table,\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$class('min-w-full divide-y divide-gray-200 table-fixed')\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\tA2(\n\t\t\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$thead,\n\t\t\t\t\t\t\t\t\t\t\t\t\t_List_Nil,\n\t\t\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\t\t[\n\t\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$html$Html$tr,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t_List_Nil,\n\t\t\t\t\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\t\t\t\t[\n\t\t\t\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\t\t$elm$html$Html$th,\n\t\t\t\t\t\t\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\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$class('px-6 py-3 bg-gray-50 text-left text-xs leading-4 font-medium text-gray-600 uppercase tracking-wider w-1/2')\n\t\t\t\t\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\t\t\t\t_List_fromArray(\n\t\t\t\t\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\t\t\t\t\t\t$elm$html$Html$text('Information Required')\n\t\t\t\t\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\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$th,\n\t\t\t\t\t\t\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\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$class('px-6 py-3 bg-gray-50 text-left text-xs leading-4 font-medium text-gray-600 uppercase tracking-wider w-1/2')\n\t\t\t\t\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\t\t\t\t_List_fromArray(\n\t\t\t\t\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\t\t\t\t\t\t$elm$html$Html$text('Acceptable Documentation')\n\t\t\t\t\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\t\t\t]))\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\tA2(\n\t\t\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$tbody,\n\t\t\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\t\t[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$class('bg-white divide-y divide-gray-200')\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\tA2($elm$core$List$map, $author$project$Regulations$Index$requirementView, regulation.ar))\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});\nvar $author$project$Regulations$Index$regulationsView = F3(\n\tfunction (countryCode, regulations, isLoading) {\n\t\tif (isLoading) {\n\t\t\treturn A2(\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('mx-3 my-8 bg-center bg-no-repeat spinner')\n\t\t\t\t\t]),\n\t\t\t\t_List_Nil);\n\t\t} else {\n\t\t\tvar _v0 = $elm$core$List$head(regulations);\n\t\t\tif (!_v0.$) {\n\t\t\t\tvar regulation = _v0.a;\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$Attributes$class('max-w-7xl mx-auto px-4 sm:px-6 md:px-8')\n\t\t\t\t\t\t]),\n\t\t\t\t\tA2(\n\t\t\t\t\t\t$elm$core$List$map,\n\t\t\t\t\t\t$author$project$Regulations$Index$regulationView(countryCode),\n\t\t\t\t\t\tregulations));\n\t\t\t} else {\n\t\t\t\treturn A2(\n\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$Attributes$class('mx-3 my-8 text-center')\n\t\t\t\t\t\t]),\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$text('No documentation required')\n\t\t\t\t\t\t]));\n\t\t\t}\n\t\t}\n\t});\nvar $elm$html$Html$Attributes$tabindex = function (n) {\n\treturn A2(\n\t\t_VirtualDom_attribute,\n\t\t'tabIndex',\n\t\t$elm$core$String$fromInt(n));\n};\nvar $author$project$Regulations$Index$contentView = function (model) {\n\tvar menuButtonClass = model.v ? 'invisible' : 'visible';\n\treturn A2(\n\t\t$elm$html$Html$main_,\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\t$elm$html$Html$Attributes$class('flex flex-col flex-1')\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('md:hidden pl-1 pt-1 sm:pl-3 sm:pt-3 z-40 ' + menuButtonClass)\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\tA2(\n\t\t\t\t\t\t$elm$html$Html$button,\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$class('-ml-0.5 -mt-0.5 h-12 w-12 inline-flex items-center justify-center rounded-md text-gray-600 hover:text-gray-900 focus:outline-none focus:bg-gray-200'),\n\t\t\t\t\t\t\t\t$elm$html$Html$Events$onClick($author$project$Regulations$Index$ToggleMenu)\n\t\t\t\t\t\t\t]),\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$elm$html$Html$div,\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$class('bg-center bg-no-repeat menu-icon')\n\t\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t\t_List_Nil)\n\t\t\t\t\t\t\t]))\n\t\t\t\t\t])),\n\t\t\t\tA2(\n\t\t\t\t$elm$html$Html$main_,\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('flex-1 relative z-0 overflow-y-auto focus:outline-none'),\n\t\t\t\t\t\t$elm$html$Html$Attributes$tabindex(0)\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\tA2(\n\t\t\t\t\t\t$elm$html$Html$div,\n\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$class('pt-2 pb-6 md:py-6')\n\t\t\t\t\t\t\t]),\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$elm$html$Html$div,\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$class('max-w-7xl mx-auto px-4 sm:px-6 md:px-8')\n\t\t\t\t\t\t\t\t\t]),\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\tA2(\n\t\t\t\t\t\t\t\t\t\t$elm$html$Html$h1,\n\t\t\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$class('text-2xl font-semibold text-gray-900 ml-3 text-center')\n\t\t\t\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t\t\t\t\t\t[\n\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\tA2($author$project$Regulations$Index$countryName, model.g, model.q))\n\t\t\t\t\t\t\t\t\t\t\t]))\n\t\t\t\t\t\t\t\t\t])),\n\t\t\t\t\t\t\t\tA3($author$project$Regulations$Index$regulationsView, model.g, model.y, model.C)\n\t\t\t\t\t\t\t]))\n\t\t\t\t\t]))\n\t\t\t]));\n};\nvar $elm$html$Html$Attributes$alt = $elm$html$Html$Attributes$stringProperty('alt');\nvar $elm$html$Html$aside = _VirtualDom_node('aside');\nvar $author$project$Regulations$Index$ChangeCountry = function (a) {\n\treturn {$: 0, a: a};\n};\nvar $elm$html$Html$a = _VirtualDom_node('a');\nvar $elm$html$Html$img = _VirtualDom_node('img');\nvar $elm$html$Html$p = _VirtualDom_node('p');\nvar $elm$html$Html$Attributes$src = function (url) {\n\treturn A2(\n\t\t$elm$html$Html$Attributes$stringProperty,\n\t\t'src',\n\t\t_VirtualDom_noJavaScriptOrHtmlUri(url));\n};\nvar $author$project$Regulations$Index$countryView = F2(\n\tfunction (countryCode, country) {\n\t\tvar activityClasses = _Utils_eq(countryCode, country.G) ? 'text-white bg-blue-500' : 'text-gray-900 hover:bg-gray-200 focus:bg-gray-200';\n\t\treturn A2(\n\t\t\t$elm$html$Html$a,\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\t$elm$html$Html$Attributes$class('group flex items-center px-2 py-2 text-sm leading-6 font-medium rounded-md focus:outline-none transition ease-in-out duration-150 cursor-pointer ' + activityClasses),\n\t\t\t\t\t$elm$html$Html$Events$onClick(\n\t\t\t\t\t$author$project$Regulations$Index$ChangeCountry(country.G))\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$img,\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('mr-4 h-6 w-6'),\n\t\t\t\t\t\t\t$elm$html$Html$Attributes$src('images/flags/' + (country.G + '.png'))\n\t\t\t\t\t\t]),\n\t\t\t\t\t_List_Nil),\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$p,\n\t\t\t\t\t_List_Nil,\n\t\t\t\t\t_List_fromArray(\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t$elm$html$Html$text(country.I)\n\t\t\t\t\t\t]))\n\t\t\t\t]));\n\t});\nvar $elm$html$Html$header = _VirtualDom_node('header');\nvar $elm$html$Html$nav = _VirtualDom_node('nav');\nvar $author$project$Regulations$Index$desktopSidebarView = F2(\n\tfunction (countryCode, countries) {\n\t\treturn A2(\n\t\t\t$elm$html$Html$aside,\n\t\t\t_List_fromArray(\n\t\t\t\t[\n\t\t\t\t\t$elm$html$Html$Attributes$class('w-64 shadow h-screen hidden md:flex flex-col bg-white')\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$header,\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('bg-blue-500 p-4')\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$img,\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('h-8 w-auto'),\n\t\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$src('images/yodel_logo.png'),\n\t\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$alt('Yodel')\n\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t_List_Nil)\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('flex-grow overflow-auto')\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$nav,\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('p-2 space-y-1')\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\t$elm$core$List$map,\n\t\t\t\t\t\t\t\t$author$project$Regulations$Index$countryView(countryCode),\n\t\t\t\t\t\t\t\tcountries))\n\t\t\t\t\t\t]))\n\t\t\t\t]));\n\t});\nvar $elm$svg$Svg$Attributes$class = _VirtualDom_attribute('class');\nvar $elm$svg$Svg$Attributes$d = _VirtualDom_attribute('d');\nvar $elm$svg$Svg$Attributes$fill = _VirtualDom_attribute('fill');\nvar $elm$svg$Svg$trustedNode = _VirtualDom_nodeNS('http://www.w3.org/2000/svg');\nvar $elm$svg$Svg$path = $elm$svg$Svg$trustedNode('path');\nvar $elm$svg$Svg$Attributes$stroke = _VirtualDom_attribute('stroke');\nvar $elm$svg$Svg$Attributes$strokeLinecap = _VirtualDom_attribute('stroke-linecap');\nvar $elm$svg$Svg$Attributes$strokeLinejoin = _VirtualDom_attribute('stroke-linejoin');\nvar $elm$svg$Svg$Attributes$strokeWidth = _VirtualDom_attribute('stroke-width');\nvar $elm$svg$Svg$svg = $elm$svg$Svg$trustedNode('svg');\nvar $elm$svg$Svg$Attributes$viewBox = _VirtualDom_attribute('viewBox');\nvar $author$project$Regulations$Index$mobileMenuView = F3(\n\tfunction (countryCode, countries, menuIsOn) {\n\t\tvar menuOverlayClass = menuIsOn ? 'block' : 'hidden';\n\t\tvar menuClass = menuIsOn ? 'visible' : 'invisible';\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('inset-0 absolute z-50 ' + menuOverlayClass)\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('inset-0 absolute bg-gray-600 opacity-75')\n\t\t\t\t\t\t]),\n\t\t\t\t\t_List_Nil),\n\t\t\t\t\tA2(\n\t\t\t\t\t$elm$html$Html$aside,\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('absolute max-w-xs w-full shadow-2xl h-screen flex flex-col md:hidden bg-white ' + menuClass)\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$header,\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('flex-shrink-0 p-4 bg-blue-500 flex justify-between items-center')\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\tA2(\n\t\t\t\t\t\t\t\t\t$elm$html$Html$img,\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('h-8 w-auto'),\n\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$src('images/yodel_logo.png'),\n\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$Attributes$alt('Yodel')\n\t\t\t\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t\t\t\t_List_Nil),\n\t\t\t\t\t\t\t\t\tA2(\n\t\t\t\t\t\t\t\t\t$elm$html$Html$div,\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('text-white cursor-pointer'),\n\t\t\t\t\t\t\t\t\t\t\t$elm$html$Html$Events$onClick($author$project$Regulations$Index$ToggleMenu)\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$svg$Svg$svg,\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$svg$Svg$Attributes$class('h-6 w-6'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t$elm$svg$Svg$Attributes$fill('none'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t$elm$svg$Svg$Attributes$viewBox('0 0 24 24'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t$elm$svg$Svg$Attributes$stroke('currentColor')\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\tA2(\n\t\t\t\t\t\t\t\t\t\t\t\t\t$elm$svg$Svg$path,\n\t\t\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\t\t[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t$elm$svg$Svg$Attributes$strokeLinecap('round'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t$elm$svg$Svg$Attributes$strokeLinejoin('round'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t$elm$svg$Svg$Attributes$strokeWidth('2'),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t$elm$svg$Svg$Attributes$d('M6 18L18 6M6 6l12 12')\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_List_Nil)\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\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('flex-grow overflow-auto')\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\tA2(\n\t\t\t\t\t\t\t\t\t$elm$html$Html$nav,\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('p-2 space-y-1')\n\t\t\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\t$elm$core$List$map,\n\t\t\t\t\t\t\t\t\t\t$author$project$Regulations$Index$countryView(countryCode),\n\t\t\t\t\t\t\t\t\t\tcountries))\n\t\t\t\t\t\t\t\t]))\n\t\t\t\t\t\t]))\n\t\t\t\t]));\n\t});\nvar $author$project$Regulations$Index$view = function (model) {\n\treturn A2(\n\t\t$elm$html$Html$main_,\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\t$elm$html$Html$Attributes$class('h-screen flex bg-gray-100')\n\t\t\t]),\n\t\t_List_fromArray(\n\t\t\t[\n\t\t\t\tA2($author$project$Regulations$Index$desktopSidebarView, model.g, model.q),\n\t\t\t\tA3($author$project$Regulations$Index$mobileMenuView, model.g, model.q, model.v),\n\t\t\t\t$author$project$Regulations$Index$contentView(model)\n\t\t\t]));\n};\nvar $author$project$Regulations$Index$main = $elm$browser$Browser$element(\n\t{aN: $author$project$Regulations$Index$init, aY: $author$project$Regulations$Index$subscriptions, a$: $author$project$Regulations$Index$update, a1: $author$project$Regulations$Index$view});\n_Platform_export({'Regulations':{'Index':{'init':$author$project$Regulations$Index$main(\n\tA2(\n\t\t$elm$json$Json$Decode$andThen,\n\t\tfunction (regulations) {\n\t\t\treturn A2(\n\t\t\t\t$elm$json$Json$Decode$andThen,\n\t\t\t\tfunction (invalidPath) {\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 (countryCode) {\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 (countries) {\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 (baseUrl) {\n\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{m: baseUrl, q: countries, g: countryCode, B: invalidPath, y: regulations});\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tA2($elm$json$Json$Decode$field, 'baseUrl', $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, 'countries', $elm$json$Json$Decode$string));\n\t\t\t\t\t\t},\n\t\t\t\t\t\tA2($elm$json$Json$Decode$field, 'countryCode', $elm$json$Json$Decode$string));\n\t\t\t\t},\n\t\t\t\tA2($elm$json$Json$Decode$field, 'invalidPath', $elm$json$Json$Decode$string));\n\t\t},\n\t\tA2($elm$json$Json$Decode$field, 'regulations', $elm$json$Json$Decode$string)))(0)}}});}(this));","import { Elm } from 'Regulations/Index'\n\ndocument.addEventListener('DOMContentLoaded', () => {\n const node = document.getElementById('Regulations.Index')\n const flags = JSON.parse(node.getAttribute('data'))\n\n let app = Elm.Regulations.Index.init({\n node: node,\n flags: flags\n })\n\n window.addEventListener('popstate', function () {\n app.ports.onUrlChange.send(location.href)\n })\n\n app.ports.pushUrl.subscribe(function (url) {\n history.pushState({}, '', url)\n })\n})"],"sourceRoot":""}