From 18d5a716e1c2cb18ba43410d4f68f028f59c5c8f Mon Sep 17 00:00:00 2001 From: Christine Dodrill Date: Sat, 18 Jan 2020 13:20:39 -0500 Subject: [PATCH 1/3] switch to elm-spa --- cmd/mi/middleware.go | 1 + frontend/.gitignore | 1 + frontend/.npmignore | 4 + frontend/README.md | 24 + frontend/elm-spa.json | 3 + frontend/elm.json | 11 +- frontend/netlify.toml | 6 + frontend/package-lock.json | 1893 ++++ frontend/package.json | 26 + frontend/public/dist/elm.compiled.js | 14874 +++++++++++++++++++++++++ frontend/public/index.html | 19 + frontend/public/ports.js | 17 + frontend/public/styles.css | 5 + frontend/src/Components/README.md | 2 + frontend/src/Global.elm | 60 + frontend/src/Layout.elm | 70 + frontend/src/Layouts/README.md | 2 + frontend/src/Main.elm | 200 +- frontend/src/Page.elm | 57 - frontend/src/Page/SwitchData.elm | 102 - frontend/src/Page/Token.elm | 104 - frontend/src/Pages/NotFound.elm | 39 + frontend/src/Pages/README.md | 3 + frontend/src/Pages/SignIn.elm | 144 + frontend/src/Pages/Switches.elm | 68 + frontend/src/Pages/Top.elm | 59 + frontend/src/Ports.elm | 14 + frontend/src/SwitchData.elm | 64 - frontend/src/Transitions.elm | 12 + frontend/src/Utils/README.md | 2 + frontend/src/Utils/Spa.elm | 72 + static/gruvbox.css | 83 +- 32 files changed, 17452 insertions(+), 589 deletions(-) create mode 100644 frontend/.npmignore create mode 100644 frontend/README.md create mode 100644 frontend/elm-spa.json create mode 100644 frontend/netlify.toml create mode 100644 frontend/package-lock.json create mode 100644 frontend/package.json create mode 100644 frontend/public/dist/elm.compiled.js create mode 100644 frontend/public/index.html create mode 100644 frontend/public/ports.js create mode 100644 frontend/public/styles.css create mode 100644 frontend/src/Components/README.md create mode 100644 frontend/src/Global.elm create mode 100644 frontend/src/Layout.elm create mode 100644 frontend/src/Layouts/README.md delete mode 100644 frontend/src/Page.elm delete mode 100644 frontend/src/Page/SwitchData.elm delete mode 100644 frontend/src/Page/Token.elm create mode 100644 frontend/src/Pages/NotFound.elm create mode 100644 frontend/src/Pages/README.md create mode 100644 frontend/src/Pages/SignIn.elm create mode 100644 frontend/src/Pages/Switches.elm create mode 100644 frontend/src/Pages/Top.elm create mode 100644 frontend/src/Ports.elm delete mode 100644 frontend/src/SwitchData.elm create mode 100644 frontend/src/Transitions.elm create mode 100644 frontend/src/Utils/README.md create mode 100644 frontend/src/Utils/Spa.elm diff --git a/cmd/mi/middleware.go b/cmd/mi/middleware.go index 6161a4e..533bb3b 100644 --- a/cmd/mi/middleware.go +++ b/cmd/mi/middleware.go @@ -88,6 +88,7 @@ func init() { "/static/favicon.png": true, "/debug/requests": true, "/debug/events": true, + "/sign-in": true, } } diff --git a/frontend/.gitignore b/frontend/.gitignore index 4bc8535..8bc31ae 100644 --- a/frontend/.gitignore +++ b/frontend/.gitignore @@ -1 +1,2 @@ elm-stuff +node_modules diff --git a/frontend/.npmignore b/frontend/.npmignore new file mode 100644 index 0000000..d8f6743 --- /dev/null +++ b/frontend/.npmignore @@ -0,0 +1,4 @@ +.DS_Store +dist +elm-stuff +node_modules \ No newline at end of file diff --git a/frontend/README.md b/frontend/README.md new file mode 100644 index 0000000..68cd2f4 --- /dev/null +++ b/frontend/README.md @@ -0,0 +1,24 @@ +# your elm-spa +> learn more at [https://elm-spa.dev](https://elm-spa.dev) + +### local development + +``` +npm run dev +``` + +## folder structure + +```elm +README.md -- this file you're reading 👀 +elm.json -- has project dependencies +src/ + Main.elm -- the entrypoint to the app + Global.elm -- share state across pages + Transitions.elm -- smoothly animate between pages + Ports.elm -- communicate with JS + Pages/ -- where all your pages go + Layouts/ -- reusable views around pages + Components/ -- views shared across the site + Utils/ -- a place for helper functions +``` \ No newline at end of file diff --git a/frontend/elm-spa.json b/frontend/elm-spa.json new file mode 100644 index 0000000..2d70f02 --- /dev/null +++ b/frontend/elm-spa.json @@ -0,0 +1,3 @@ +{ + "ui": "Element" +} \ No newline at end of file diff --git a/frontend/elm.json b/frontend/elm.json index 13fdd97..b36b09e 100644 --- a/frontend/elm.json +++ b/frontend/elm.json @@ -1,24 +1,25 @@ { "type": "application", "source-directories": [ - "src" + "src", + "elm-stuff/.elm-spa" ], "elm-version": "0.19.1", "dependencies": { "direct": { - "elm/browser": "1.0.2", "elm/core": "1.0.4", "elm/html": "1.0.0", "elm/http": "2.0.0", "elm/json": "1.1.3", - "elm/time": "1.0.0", "elm/url": "1.0.0", - "rtfeldman/elm-iso8601-date-strings": "1.1.3" + "mdgriffith/elm-ui": "1.1.5", + "ryannhg/elm-spa": "3.0.0" }, "indirect": { + "elm/browser": "1.0.2", "elm/bytes": "1.0.8", "elm/file": "1.0.5", - "elm/parser": "1.1.0", + "elm/time": "1.0.0", "elm/virtual-dom": "1.0.2" } }, diff --git a/frontend/netlify.toml b/frontend/netlify.toml new file mode 100644 index 0000000..cab849f --- /dev/null +++ b/frontend/netlify.toml @@ -0,0 +1,6 @@ +# sends all routes to /index.html +# (so you can handle 404s there!) +[[redirects]] + from = "/*" + to = "/index.html" + status = 200 \ No newline at end of file diff --git a/frontend/package-lock.json b/frontend/package-lock.json new file mode 100644 index 0000000..0a77346 --- /dev/null +++ b/frontend/package-lock.json @@ -0,0 +1,1893 @@ +{ + "name": "my-elm-spa-project", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "ajv": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "binary-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", + "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", + "dev": true + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=", + "dev": true + }, + "chokidar": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.0.2.tgz", + "integrity": "sha512-c4PR2egjNjI1um6bamCQ6bUNPDiyofNQruHvKgHQ4gDUP/ITSVSzNsiI5OWtHOsX323i5ha/kk4YmOZ1Ktg7KA==", + "dev": true, + "requires": { + "anymatch": "^3.0.1", + "braces": "^3.0.2", + "fsevents": "^2.0.6", + "glob-parent": "^5.0.0", + "is-binary-path": "^2.1.0", + "is-glob": "^4.0.1", + "normalize-path": "^3.0.0", + "readdirp": "^3.1.1" + } + }, + "chokidar-cli": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/chokidar-cli/-/chokidar-cli-2.1.0.tgz", + "integrity": "sha512-6n21AVpW6ywuEPoxJcLXMA2p4T+SLjWsXKny/9yTWFz0kKxESI3eUylpeV97LylING/27T/RVTY0f2/0QaWq9Q==", + "dev": true, + "requires": { + "chokidar": "^3.2.3", + "lodash.debounce": "^4.0.8", + "lodash.throttle": "^4.1.1", + "yargs": "^13.3.0" + }, + "dependencies": { + "chokidar": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", + "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", + "dev": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.2.0" + } + } + } + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "dev": true + }, + "concurrently": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-5.0.0.tgz", + "integrity": "sha512-1yDvK8mduTIdxIxV9C60KoiOySUl/lfekpdbI+U5GXaPrgdffEavFa9QZB3vh68oWOpbCC+TuvxXV9YRPMvUrA==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "date-fns": "^2.0.1", + "lodash": "^4.17.15", + "read-pkg": "^4.0.1", + "rxjs": "^6.5.2", + "spawn-command": "^0.0.2-1", + "supports-color": "^4.5.0", + "tree-kill": "^1.2.1", + "yargs": "^12.0.5" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dev": true, + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "^2.0.0" + }, + "dependencies": { + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true + } + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "yargs": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", + "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "dev": true, + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^11.1.1" + } + }, + "yargs-parser": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", + "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "crocks": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/crocks/-/crocks-0.12.1.tgz", + "integrity": "sha512-2qCRJwBmPlRQXzd50k9gt9PaItultOP8lj/cKSH2Eai9aeBuNqAnDuyolAm9TGn6Pw/4BgbxtPJLU1S+tQ4WMQ==", + "dev": true + }, + "cross-spawn": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.0.1.tgz", + "integrity": "sha1-o7uzAtsil8vqPATt82lB9GE6o5k=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=", + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "date-fns": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.9.0.tgz", + "integrity": "sha512-khbFLu/MlzLjEzy9Gh8oY1hNt/Dvxw3J6Rbc28cVoYWQaC1S3YI4xwkF9ZWcjDLscbZlY9hISMr66RFzZagLsA==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "elm": { + "version": "0.19.1-3", + "resolved": "https://registry.npmjs.org/elm/-/elm-0.19.1-3.tgz", + "integrity": "sha512-6y36ewCcVmTOx8lj7cKJs3bhI5qMfoVEigePZ9PhEUNKpwjjML/pU2u2YSpHVAznuCcojoF6KIsrS1Ci7GtVaQ==", + "dev": true, + "requires": { + "request": "^2.88.0" + } + }, + "elm-hot": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/elm-hot/-/elm-hot-1.1.1.tgz", + "integrity": "sha512-ZHjoHd2Ev6riNXNQirj3J+GKKXXwedAUikfFBYzlVL/+3CdGs96cpZ7nhAk4c5l//Qa9ymltrqX36mOlr0pPFA==", + "dev": true + }, + "elm-live": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/elm-live/-/elm-live-4.0.1.tgz", + "integrity": "sha512-IlonaC1pO/QoXlOrwwrJaxyvpJAT8QDSfzenkChbhU1PC1fJetkj2TwZfki+y1ZxpSMTnMSomMraOdWA6DO3VQ==", + "dev": true, + "requires": { + "chalk": "^1.1.1", + "chokidar": "3.0.2", + "commander": "2.17.1", + "crocks": "0.12.1", + "cross-spawn": "5.0.1", + "elm-hot": "1.1.1", + "finalhandler": "1.1.2", + "http-proxy": "1.17.0", + "internal-ip": "4.3.0", + "mime": "2.4.3", + "open": "6.4.0", + "pem": "1.14.2", + "serve-static": "1.14.1", + "ws": "7.1.1" + } + }, + "elm-spa": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/elm-spa/-/elm-spa-3.0.3.tgz", + "integrity": "sha512-ES3bPdQT2ghlF+Hgf1E6BpD8RS3NHfpK2QOXcxuVY3B0HXd1LPd48ftTtdjiOx3gY8jZKfN1g46I/iFwDyU3BA==", + "dev": true + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es6-promisify": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-6.0.2.tgz", + "integrity": "sha512-eO6vFm0JvqGzjWIQA6QVKjxpmELfhWbDUWHm1rPfIbn55mhKPiAa5xpLmQWJrNa629ZIeQ8ZvMAi13kvrjK6Mg==", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "eventemitter3": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==", + "dev": true + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "follow-redirects": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.9.0.tgz", + "integrity": "sha512-CRcPzsSIbXyVDl0QI01muNDu69S8trU4jArW9LpOt2WtC6LyUJetcIrmfHsRBx7/Jb6GHJUiuqyYxPooFfNt6A==", + "dev": true, + "requires": { + "debug": "^3.0.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "fsevents": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz", + "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==", + "dev": true, + "optional": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "dev": true, + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "hosted-git-info": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz", + "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==", + "dev": true + }, + "http-errors": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "http-proxy": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz", + "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==", + "dev": true, + "requires": { + "eventemitter3": "^3.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "dev": true, + "requires": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + } + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "dev": true + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dev": true, + "requires": { + "invert-kv": "^2.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "dev": true + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, + "lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=", + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "dev": true, + "requires": { + "p-defer": "^1.0.0" + } + }, + "md5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz", + "integrity": "sha1-U6s41f48iJG6RlMp6iP6wFQBJvk=", + "dev": true, + "requires": { + "charenc": "~0.0.1", + "crypt": "~0.0.1", + "is-buffer": "~1.1.1" + } + }, + "mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "dev": true, + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + } + }, + "mime": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.3.tgz", + "integrity": "sha512-QgrPRJfE+riq5TPZMcHZOtm8c6K/yYrMbKIoRfapfiGLxS8OTeIfRhUGW5LU7MlRa52KOAGCfUNruqLrIBvWZw==", + "dev": true + }, + "mime-db": { + "version": "1.42.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.42.0.tgz", + "integrity": "sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ==", + "dev": true + }, + "mime-types": { + "version": "2.1.25", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.25.tgz", + "integrity": "sha512-5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg==", + "dev": true, + "requires": { + "mime-db": "1.42.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "open": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", + "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", + "dev": true + }, + "p-limit": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", + "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "pem": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/pem/-/pem-1.14.2.tgz", + "integrity": "sha512-TOnPtq3ZFnCniOZ+rka4pk8UIze9xG1qI+wNE7EmkiR/cg+53uVvk5QbkWZ7M6RsuOxzz62FW1hlAobJr/lTOA==", + "dev": true, + "requires": { + "es6-promisify": "^6.0.0", + "md5": "^2.2.1", + "os-tmpdir": "^1.0.1", + "which": "^1.3.1" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "picomatch": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.1.1.tgz", + "integrity": "sha512-OYMyqkKzK7blWO/+XZYP6w8hH0LDvkBvdvKukti+7kqYFCiEAk+gI3DWnryapc0Dau05ugGTy0foQ6mqn4AHYA==", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "psl": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz", + "integrity": "sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true + }, + "read-pkg": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-4.0.1.tgz", + "integrity": "sha1-ljYlN48+HE1IyFhytabsfV0JMjc=", + "dev": true, + "requires": { + "normalize-package-data": "^2.3.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0" + } + }, + "readdirp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", + "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", + "dev": true, + "requires": { + "picomatch": "^2.0.4" + } + }, + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "resolve": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.14.2.tgz", + "integrity": "sha512-EjlOBLBO1kxsUxsKjLt7TAECyKW6fOh1VRkykQkKGzcBbjjPIxBqGh0jf7GJ3k/f5mxMqW3htMD3WdTUVtW8HQ==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "rxjs": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", + "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "safe-buffer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "spawn-command": { + "version": "0.0.2-1", + "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz", + "integrity": "sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A=", + "dev": true + }, + "spdx-correct": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", + "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", + "dev": true + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "dev": true + }, + "tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "dev": true, + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true + }, + "tslib": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "uuid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", + "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "ws": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.1.1.tgz", + "integrity": "sha512-o41D/WmDeca0BqYhsr3nJzQyg9NF5X8l/UdnFNux9cS3lwB+swm8qGWX5rn+aD6xfBU3rGmtHij7g7x6LxFU3A==", + "dev": true, + "requires": { + "async-limiter": "^1.0.0" + } + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "yargs": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", + "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.1" + } + }, + "yargs-parser": { + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } +} diff --git a/frontend/package.json b/frontend/package.json new file mode 100644 index 0000000..2bb056c --- /dev/null +++ b/frontend/package.json @@ -0,0 +1,26 @@ +{ + "name": "my-elm-spa-project", + "version": "1.0.0", + "description": "learn more at https://elm-spa.dev", + "scripts": { + "start": "npm install && npm run dev", + "dev": "npm run elm:spa:build && npm run build:watch", + "build": "npm run elm:spa:build && npm run elm:compile", + "build:watch": "concurrently --raw --kill-others \"npm run elm:spa:watch\" \"npm run elm:live\"", + "elm:compile": "elm make src/Main.elm --output=public/dist/elm.compiled.js --optimize", + "elm:live": "elm-live src/Main.elm --dir=public --start-page=index.html --open --pushstate --port=1234 -- --output=public/dist/elm.compiled.js --debug", + "elm:spa:build": "elm-spa build .", + "elm:spa:watch": "chokidar src/Pages -c \"npm run elm:spa:build\"" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": {}, + "devDependencies": { + "chokidar-cli": "2.1.0", + "concurrently": "5.0.0", + "elm": "0.19.1-3", + "elm-live": "4.0.1", + "elm-spa": "3.0.3" + } +} diff --git a/frontend/public/dist/elm.compiled.js b/frontend/public/dist/elm.compiled.js new file mode 100644 index 0000000..b577777 --- /dev/null +++ b/frontend/public/dist/elm.compiled.js @@ -0,0 +1,14874 @@ +(function(scope){ +'use strict'; + +function F(arity, fun, wrapper) { + wrapper.a = arity; + wrapper.f = fun; + return wrapper; +} + +function F2(fun) { + return F(2, fun, function(a) { return function(b) { return fun(a,b); }; }) +} +function F3(fun) { + return F(3, fun, function(a) { + return function(b) { return function(c) { return fun(a, b, c); }; }; + }); +} +function F4(fun) { + return F(4, fun, function(a) { return function(b) { return function(c) { + return function(d) { return fun(a, b, c, d); }; }; }; + }); +} +function F5(fun) { + return F(5, fun, function(a) { return function(b) { return function(c) { + return function(d) { return function(e) { return fun(a, b, c, d, e); }; }; }; }; + }); +} +function F6(fun) { + return F(6, fun, function(a) { return function(b) { return function(c) { + return function(d) { return function(e) { return function(f) { + return fun(a, b, c, d, e, f); }; }; }; }; }; + }); +} +function F7(fun) { + return F(7, fun, function(a) { return function(b) { return function(c) { + return function(d) { return function(e) { return function(f) { + return function(g) { return fun(a, b, c, d, e, f, g); }; }; }; }; }; }; + }); +} +function F8(fun) { + return F(8, fun, function(a) { return function(b) { return function(c) { + return function(d) { return function(e) { return function(f) { + return function(g) { return function(h) { + return fun(a, b, c, d, e, f, g, h); }; }; }; }; }; }; }; + }); +} +function F9(fun) { + return F(9, fun, function(a) { return function(b) { return function(c) { + return function(d) { return function(e) { return function(f) { + return function(g) { return function(h) { return function(i) { + return fun(a, b, c, d, e, f, g, h, i); }; }; }; }; }; }; }; }; + }); +} + +function A2(fun, a, b) { + return fun.a === 2 ? fun.f(a, b) : fun(a)(b); +} +function A3(fun, a, b, c) { + return fun.a === 3 ? fun.f(a, b, c) : fun(a)(b)(c); +} +function A4(fun, a, b, c, d) { + return fun.a === 4 ? fun.f(a, b, c, d) : fun(a)(b)(c)(d); +} +function A5(fun, a, b, c, d, e) { + return fun.a === 5 ? fun.f(a, b, c, d, e) : fun(a)(b)(c)(d)(e); +} +function A6(fun, a, b, c, d, e, f) { + return fun.a === 6 ? fun.f(a, b, c, d, e, f) : fun(a)(b)(c)(d)(e)(f); +} +function A7(fun, a, b, c, d, e, f, g) { + return fun.a === 7 ? fun.f(a, b, c, d, e, f, g) : fun(a)(b)(c)(d)(e)(f)(g); +} +function A8(fun, a, b, c, d, e, f, g, h) { + return fun.a === 8 ? fun.f(a, b, c, d, e, f, g, h) : fun(a)(b)(c)(d)(e)(f)(g)(h); +} +function A9(fun, a, b, c, d, e, f, g, h, i) { + 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); +} + + + + +// EQUALITY + +function _Utils_eq(x, y) +{ + for ( + var pair, stack = [], isEqual = _Utils_eqHelp(x, y, 0, stack); + isEqual && (pair = stack.pop()); + isEqual = _Utils_eqHelp(pair.a, pair.b, 0, stack) + ) + {} + + return isEqual; +} + +function _Utils_eqHelp(x, y, depth, stack) +{ + if (x === y) + { + return true; + } + + if (typeof x !== 'object' || x === null || y === null) + { + typeof x === 'function' && _Debug_crash(5); + return false; + } + + if (depth > 100) + { + stack.push(_Utils_Tuple2(x,y)); + return true; + } + + /**_UNUSED/ + if (x.$ === 'Set_elm_builtin') + { + x = $elm$core$Set$toList(x); + y = $elm$core$Set$toList(y); + } + if (x.$ === 'RBNode_elm_builtin' || x.$ === 'RBEmpty_elm_builtin') + { + x = $elm$core$Dict$toList(x); + y = $elm$core$Dict$toList(y); + } + //*/ + + /**/ + if (x.$ < 0) + { + x = $elm$core$Dict$toList(x); + y = $elm$core$Dict$toList(y); + } + //*/ + + for (var key in x) + { + if (!_Utils_eqHelp(x[key], y[key], depth + 1, stack)) + { + return false; + } + } + return true; +} + +var _Utils_equal = F2(_Utils_eq); +var _Utils_notEqual = F2(function(a, b) { return !_Utils_eq(a,b); }); + + + +// COMPARISONS + +// Code in Generate/JavaScript.hs, Basics.js, and List.js depends on +// the particular integer values assigned to LT, EQ, and GT. + +function _Utils_cmp(x, y, ord) +{ + if (typeof x !== 'object') + { + return x === y ? /*EQ*/ 0 : x < y ? /*LT*/ -1 : /*GT*/ 1; + } + + /**_UNUSED/ + if (x instanceof String) + { + var a = x.valueOf(); + var b = y.valueOf(); + return a === b ? 0 : a < b ? -1 : 1; + } + //*/ + + /**/ + if (typeof x.$ === 'undefined') + //*/ + /**_UNUSED/ + if (x.$[0] === '#') + //*/ + { + return (ord = _Utils_cmp(x.a, y.a)) + ? ord + : (ord = _Utils_cmp(x.b, y.b)) + ? ord + : _Utils_cmp(x.c, y.c); + } + + // traverse conses until end of a list or a mismatch + for (; x.b && y.b && !(ord = _Utils_cmp(x.a, y.a)); x = x.b, y = y.b) {} // WHILE_CONSES + return ord || (x.b ? /*GT*/ 1 : y.b ? /*LT*/ -1 : /*EQ*/ 0); +} + +var _Utils_lt = F2(function(a, b) { return _Utils_cmp(a, b) < 0; }); +var _Utils_le = F2(function(a, b) { return _Utils_cmp(a, b) < 1; }); +var _Utils_gt = F2(function(a, b) { return _Utils_cmp(a, b) > 0; }); +var _Utils_ge = F2(function(a, b) { return _Utils_cmp(a, b) >= 0; }); + +var _Utils_compare = F2(function(x, y) +{ + var n = _Utils_cmp(x, y); + return n < 0 ? $elm$core$Basics$LT : n ? $elm$core$Basics$GT : $elm$core$Basics$EQ; +}); + + +// COMMON VALUES + +var _Utils_Tuple0 = 0; +var _Utils_Tuple0_UNUSED = { $: '#0' }; + +function _Utils_Tuple2(a, b) { return { a: a, b: b }; } +function _Utils_Tuple2_UNUSED(a, b) { return { $: '#2', a: a, b: b }; } + +function _Utils_Tuple3(a, b, c) { return { a: a, b: b, c: c }; } +function _Utils_Tuple3_UNUSED(a, b, c) { return { $: '#3', a: a, b: b, c: c }; } + +function _Utils_chr(c) { return c; } +function _Utils_chr_UNUSED(c) { return new String(c); } + + +// RECORDS + +function _Utils_update(oldRecord, updatedFields) +{ + var newRecord = {}; + + for (var key in oldRecord) + { + newRecord[key] = oldRecord[key]; + } + + for (var key in updatedFields) + { + newRecord[key] = updatedFields[key]; + } + + return newRecord; +} + + +// APPEND + +var _Utils_append = F2(_Utils_ap); + +function _Utils_ap(xs, ys) +{ + // append Strings + if (typeof xs === 'string') + { + return xs + ys; + } + + // append Lists + if (!xs.b) + { + return ys; + } + var root = _List_Cons(xs.a, ys); + xs = xs.b + for (var curr = root; xs.b; xs = xs.b) // WHILE_CONS + { + curr = curr.b = _List_Cons(xs.a, ys); + } + return root; +} + + + +var _List_Nil = { $: 0 }; +var _List_Nil_UNUSED = { $: '[]' }; + +function _List_Cons(hd, tl) { return { $: 1, a: hd, b: tl }; } +function _List_Cons_UNUSED(hd, tl) { return { $: '::', a: hd, b: tl }; } + + +var _List_cons = F2(_List_Cons); + +function _List_fromArray(arr) +{ + var out = _List_Nil; + for (var i = arr.length; i--; ) + { + out = _List_Cons(arr[i], out); + } + return out; +} + +function _List_toArray(xs) +{ + for (var out = []; xs.b; xs = xs.b) // WHILE_CONS + { + out.push(xs.a); + } + return out; +} + +var _List_map2 = F3(function(f, xs, ys) +{ + for (var arr = []; xs.b && ys.b; xs = xs.b, ys = ys.b) // WHILE_CONSES + { + arr.push(A2(f, xs.a, ys.a)); + } + return _List_fromArray(arr); +}); + +var _List_map3 = F4(function(f, xs, ys, zs) +{ + for (var arr = []; xs.b && ys.b && zs.b; xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES + { + arr.push(A3(f, xs.a, ys.a, zs.a)); + } + return _List_fromArray(arr); +}); + +var _List_map4 = F5(function(f, ws, xs, ys, zs) +{ + for (var arr = []; ws.b && xs.b && ys.b && zs.b; ws = ws.b, xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES + { + arr.push(A4(f, ws.a, xs.a, ys.a, zs.a)); + } + return _List_fromArray(arr); +}); + +var _List_map5 = F6(function(f, vs, ws, xs, ys, zs) +{ + for (var arr = []; vs.b && ws.b && xs.b && ys.b && zs.b; vs = vs.b, ws = ws.b, xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES + { + arr.push(A5(f, vs.a, ws.a, xs.a, ys.a, zs.a)); + } + return _List_fromArray(arr); +}); + +var _List_sortBy = F2(function(f, xs) +{ + return _List_fromArray(_List_toArray(xs).sort(function(a, b) { + return _Utils_cmp(f(a), f(b)); + })); +}); + +var _List_sortWith = F2(function(f, xs) +{ + return _List_fromArray(_List_toArray(xs).sort(function(a, b) { + var ord = A2(f, a, b); + return ord === $elm$core$Basics$EQ ? 0 : ord === $elm$core$Basics$LT ? -1 : 1; + })); +}); + + + +var _JsArray_empty = []; + +function _JsArray_singleton(value) +{ + return [value]; +} + +function _JsArray_length(array) +{ + return array.length; +} + +var _JsArray_initialize = F3(function(size, offset, func) +{ + var result = new Array(size); + + for (var i = 0; i < size; i++) + { + result[i] = func(offset + i); + } + + return result; +}); + +var _JsArray_initializeFromList = F2(function (max, ls) +{ + var result = new Array(max); + + for (var i = 0; i < max && ls.b; i++) + { + result[i] = ls.a; + ls = ls.b; + } + + result.length = i; + return _Utils_Tuple2(result, ls); +}); + +var _JsArray_unsafeGet = F2(function(index, array) +{ + return array[index]; +}); + +var _JsArray_unsafeSet = F3(function(index, value, array) +{ + var length = array.length; + var result = new Array(length); + + for (var i = 0; i < length; i++) + { + result[i] = array[i]; + } + + result[index] = value; + return result; +}); + +var _JsArray_push = F2(function(value, array) +{ + var length = array.length; + var result = new Array(length + 1); + + for (var i = 0; i < length; i++) + { + result[i] = array[i]; + } + + result[length] = value; + return result; +}); + +var _JsArray_foldl = F3(function(func, acc, array) +{ + var length = array.length; + + for (var i = 0; i < length; i++) + { + acc = A2(func, array[i], acc); + } + + return acc; +}); + +var _JsArray_foldr = F3(function(func, acc, array) +{ + for (var i = array.length - 1; i >= 0; i--) + { + acc = A2(func, array[i], acc); + } + + return acc; +}); + +var _JsArray_map = F2(function(func, array) +{ + var length = array.length; + var result = new Array(length); + + for (var i = 0; i < length; i++) + { + result[i] = func(array[i]); + } + + return result; +}); + +var _JsArray_indexedMap = F3(function(func, offset, array) +{ + var length = array.length; + var result = new Array(length); + + for (var i = 0; i < length; i++) + { + result[i] = A2(func, offset + i, array[i]); + } + + return result; +}); + +var _JsArray_slice = F3(function(from, to, array) +{ + return array.slice(from, to); +}); + +var _JsArray_appendN = F3(function(n, dest, source) +{ + var destLen = dest.length; + var itemsToCopy = n - destLen; + + if (itemsToCopy > source.length) + { + itemsToCopy = source.length; + } + + var size = destLen + itemsToCopy; + var result = new Array(size); + + for (var i = 0; i < destLen; i++) + { + result[i] = dest[i]; + } + + for (var i = 0; i < itemsToCopy; i++) + { + result[i + destLen] = source[i]; + } + + return result; +}); + + + +// LOG + +var _Debug_log = F2(function(tag, value) +{ + return value; +}); + +var _Debug_log_UNUSED = F2(function(tag, value) +{ + console.log(tag + ': ' + _Debug_toString(value)); + return value; +}); + + +// TODOS + +function _Debug_todo(moduleName, region) +{ + return function(message) { + _Debug_crash(8, moduleName, region, message); + }; +} + +function _Debug_todoCase(moduleName, region, value) +{ + return function(message) { + _Debug_crash(9, moduleName, region, value, message); + }; +} + + +// TO STRING + +function _Debug_toString(value) +{ + return ''; +} + +function _Debug_toString_UNUSED(value) +{ + return _Debug_toAnsiString(false, value); +} + +function _Debug_toAnsiString(ansi, value) +{ + if (typeof value === 'function') + { + return _Debug_internalColor(ansi, ''); + } + + if (typeof value === 'boolean') + { + return _Debug_ctorColor(ansi, value ? 'True' : 'False'); + } + + if (typeof value === 'number') + { + return _Debug_numberColor(ansi, value + ''); + } + + if (value instanceof String) + { + return _Debug_charColor(ansi, "'" + _Debug_addSlashes(value, true) + "'"); + } + + if (typeof value === 'string') + { + return _Debug_stringColor(ansi, '"' + _Debug_addSlashes(value, false) + '"'); + } + + if (typeof value === 'object' && '$' in value) + { + var tag = value.$; + + if (typeof tag === 'number') + { + return _Debug_internalColor(ansi, ''); + } + + if (tag[0] === '#') + { + var output = []; + for (var k in value) + { + if (k === '$') continue; + output.push(_Debug_toAnsiString(ansi, value[k])); + } + return '(' + output.join(',') + ')'; + } + + if (tag === 'Set_elm_builtin') + { + return _Debug_ctorColor(ansi, 'Set') + + _Debug_fadeColor(ansi, '.fromList') + ' ' + + _Debug_toAnsiString(ansi, $elm$core$Set$toList(value)); + } + + if (tag === 'RBNode_elm_builtin' || tag === 'RBEmpty_elm_builtin') + { + return _Debug_ctorColor(ansi, 'Dict') + + _Debug_fadeColor(ansi, '.fromList') + ' ' + + _Debug_toAnsiString(ansi, $elm$core$Dict$toList(value)); + } + + if (tag === 'Array_elm_builtin') + { + return _Debug_ctorColor(ansi, 'Array') + + _Debug_fadeColor(ansi, '.fromList') + ' ' + + _Debug_toAnsiString(ansi, $elm$core$Array$toList(value)); + } + + if (tag === '::' || tag === '[]') + { + var output = '['; + + value.b && (output += _Debug_toAnsiString(ansi, value.a), value = value.b) + + for (; value.b; value = value.b) // WHILE_CONS + { + output += ',' + _Debug_toAnsiString(ansi, value.a); + } + return output + ']'; + } + + var output = ''; + for (var i in value) + { + if (i === '$') continue; + var str = _Debug_toAnsiString(ansi, value[i]); + var c0 = str[0]; + var parenless = c0 === '{' || c0 === '(' || c0 === '[' || c0 === '<' || c0 === '"' || str.indexOf(' ') < 0; + output += ' ' + (parenless ? str : '(' + str + ')'); + } + return _Debug_ctorColor(ansi, tag) + output; + } + + if (typeof DataView === 'function' && value instanceof DataView) + { + return _Debug_stringColor(ansi, '<' + value.byteLength + ' bytes>'); + } + + if (typeof File !== 'undefined' && value instanceof File) + { + return _Debug_internalColor(ansi, '<' + value.name + '>'); + } + + if (typeof value === 'object') + { + var output = []; + for (var key in value) + { + var field = key[0] === '_' ? key.slice(1) : key; + output.push(_Debug_fadeColor(ansi, field) + ' = ' + _Debug_toAnsiString(ansi, value[key])); + } + if (output.length === 0) + { + return '{}'; + } + return '{ ' + output.join(', ') + ' }'; + } + + return _Debug_internalColor(ansi, ''); +} + +function _Debug_addSlashes(str, isChar) +{ + var s = str + .replace(/\\/g, '\\\\') + .replace(/\n/g, '\\n') + .replace(/\t/g, '\\t') + .replace(/\r/g, '\\r') + .replace(/\v/g, '\\v') + .replace(/\0/g, '\\0'); + + if (isChar) + { + return s.replace(/\'/g, '\\\''); + } + else + { + return s.replace(/\"/g, '\\"'); + } +} + +function _Debug_ctorColor(ansi, string) +{ + return ansi ? '\x1b[96m' + string + '\x1b[0m' : string; +} + +function _Debug_numberColor(ansi, string) +{ + return ansi ? '\x1b[95m' + string + '\x1b[0m' : string; +} + +function _Debug_stringColor(ansi, string) +{ + return ansi ? '\x1b[93m' + string + '\x1b[0m' : string; +} + +function _Debug_charColor(ansi, string) +{ + return ansi ? '\x1b[92m' + string + '\x1b[0m' : string; +} + +function _Debug_fadeColor(ansi, string) +{ + return ansi ? '\x1b[37m' + string + '\x1b[0m' : string; +} + +function _Debug_internalColor(ansi, string) +{ + return ansi ? '\x1b[36m' + string + '\x1b[0m' : string; +} + +function _Debug_toHexDigit(n) +{ + return String.fromCharCode(n < 10 ? 48 + n : 55 + n); +} + + +// CRASH + + +function _Debug_crash(identifier) +{ + throw new Error('https://github.com/elm/core/blob/1.0.0/hints/' + identifier + '.md'); +} + + +function _Debug_crash_UNUSED(identifier, fact1, fact2, fact3, fact4) +{ + switch(identifier) + { + case 0: + throw new Error('What node should I take over? In JavaScript I need something like:\n\n Elm.Main.init({\n node: document.getElementById("elm-node")\n })\n\nYou need to do this with any Browser.sandbox or Browser.element program.'); + + case 1: + throw new Error('Browser.application programs cannot handle URLs like this:\n\n ' + document.location.href + '\n\nWhat is the root? The root of your file system? Try looking at this program with `elm reactor` or some other server.'); + + case 2: + var jsonErrorString = fact1; + throw new Error('Problem with the flags given to your Elm program on initialization.\n\n' + jsonErrorString); + + case 3: + var portName = fact1; + throw new Error('There can only be one port named `' + portName + '`, but your program has multiple.'); + + case 4: + var portName = fact1; + var problem = fact2; + throw new Error('Trying to send an unexpected type of value through port `' + portName + '`:\n' + problem); + + case 5: + throw new Error('Trying to use `(==)` on functions.\nThere is no way to know if functions are "the same" in the Elm sense.\nRead more about this at https://package.elm-lang.org/packages/elm/core/latest/Basics#== which describes why it is this way and what the better version will look like.'); + + case 6: + var moduleName = fact1; + throw new Error('Your page is loading multiple Elm scripts with a module named ' + moduleName + '. Maybe a duplicate script is getting loaded accidentally? If not, rename one of them so I know which is which!'); + + case 8: + var moduleName = fact1; + var region = fact2; + var message = fact3; + throw new Error('TODO in module `' + moduleName + '` ' + _Debug_regionToString(region) + '\n\n' + message); + + case 9: + var moduleName = fact1; + var region = fact2; + var value = fact3; + var message = fact4; + throw new Error( + 'TODO in module `' + moduleName + '` from the `case` expression ' + + _Debug_regionToString(region) + '\n\nIt received the following value:\n\n ' + + _Debug_toString(value).replace('\n', '\n ') + + '\n\nBut the branch that handles it says:\n\n ' + message.replace('\n', '\n ') + ); + + case 10: + throw new Error('Bug in https://github.com/elm/virtual-dom/issues'); + + case 11: + throw new Error('Cannot perform mod 0. Division by zero error.'); + } +} + +function _Debug_regionToString(region) +{ + if (region.aW.ab === region.a8.ab) + { + return 'on line ' + region.aW.ab; + } + return 'on lines ' + region.aW.ab + ' through ' + region.a8.ab; +} + + + +// MATH + +var _Basics_add = F2(function(a, b) { return a + b; }); +var _Basics_sub = F2(function(a, b) { return a - b; }); +var _Basics_mul = F2(function(a, b) { return a * b; }); +var _Basics_fdiv = F2(function(a, b) { return a / b; }); +var _Basics_idiv = F2(function(a, b) { return (a / b) | 0; }); +var _Basics_pow = F2(Math.pow); + +var _Basics_remainderBy = F2(function(b, a) { return a % b; }); + +// https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/divmodnote-letter.pdf +var _Basics_modBy = F2(function(modulus, x) +{ + var answer = x % modulus; + return modulus === 0 + ? _Debug_crash(11) + : + ((answer > 0 && modulus < 0) || (answer < 0 && modulus > 0)) + ? answer + modulus + : answer; +}); + + +// TRIGONOMETRY + +var _Basics_pi = Math.PI; +var _Basics_e = Math.E; +var _Basics_cos = Math.cos; +var _Basics_sin = Math.sin; +var _Basics_tan = Math.tan; +var _Basics_acos = Math.acos; +var _Basics_asin = Math.asin; +var _Basics_atan = Math.atan; +var _Basics_atan2 = F2(Math.atan2); + + +// MORE MATH + +function _Basics_toFloat(x) { return x; } +function _Basics_truncate(n) { return n | 0; } +function _Basics_isInfinite(n) { return n === Infinity || n === -Infinity; } + +var _Basics_ceiling = Math.ceil; +var _Basics_floor = Math.floor; +var _Basics_round = Math.round; +var _Basics_sqrt = Math.sqrt; +var _Basics_log = Math.log; +var _Basics_isNaN = isNaN; + + +// BOOLEANS + +function _Basics_not(bool) { return !bool; } +var _Basics_and = F2(function(a, b) { return a && b; }); +var _Basics_or = F2(function(a, b) { return a || b; }); +var _Basics_xor = F2(function(a, b) { return a !== b; }); + + + +var _String_cons = F2(function(chr, str) +{ + return chr + str; +}); + +function _String_uncons(string) +{ + var word = string.charCodeAt(0); + return !isNaN(word) + ? $elm$core$Maybe$Just( + 0xD800 <= word && word <= 0xDBFF + ? _Utils_Tuple2(_Utils_chr(string[0] + string[1]), string.slice(2)) + : _Utils_Tuple2(_Utils_chr(string[0]), string.slice(1)) + ) + : $elm$core$Maybe$Nothing; +} + +var _String_append = F2(function(a, b) +{ + return a + b; +}); + +function _String_length(str) +{ + return str.length; +} + +var _String_map = F2(function(func, string) +{ + var len = string.length; + var array = new Array(len); + var i = 0; + while (i < len) + { + var word = string.charCodeAt(i); + if (0xD800 <= word && word <= 0xDBFF) + { + array[i] = func(_Utils_chr(string[i] + string[i+1])); + i += 2; + continue; + } + array[i] = func(_Utils_chr(string[i])); + i++; + } + return array.join(''); +}); + +var _String_filter = F2(function(isGood, str) +{ + var arr = []; + var len = str.length; + var i = 0; + while (i < len) + { + var char = str[i]; + var word = str.charCodeAt(i); + i++; + if (0xD800 <= word && word <= 0xDBFF) + { + char += str[i]; + i++; + } + + if (isGood(_Utils_chr(char))) + { + arr.push(char); + } + } + return arr.join(''); +}); + +function _String_reverse(str) +{ + var len = str.length; + var arr = new Array(len); + var i = 0; + while (i < len) + { + var word = str.charCodeAt(i); + if (0xD800 <= word && word <= 0xDBFF) + { + arr[len - i] = str[i + 1]; + i++; + arr[len - i] = str[i - 1]; + i++; + } + else + { + arr[len - i] = str[i]; + i++; + } + } + return arr.join(''); +} + +var _String_foldl = F3(function(func, state, string) +{ + var len = string.length; + var i = 0; + while (i < len) + { + var char = string[i]; + var word = string.charCodeAt(i); + i++; + if (0xD800 <= word && word <= 0xDBFF) + { + char += string[i]; + i++; + } + state = A2(func, _Utils_chr(char), state); + } + return state; +}); + +var _String_foldr = F3(function(func, state, string) +{ + var i = string.length; + while (i--) + { + var char = string[i]; + var word = string.charCodeAt(i); + if (0xDC00 <= word && word <= 0xDFFF) + { + i--; + char = string[i] + char; + } + state = A2(func, _Utils_chr(char), state); + } + return state; +}); + +var _String_split = F2(function(sep, str) +{ + return str.split(sep); +}); + +var _String_join = F2(function(sep, strs) +{ + return strs.join(sep); +}); + +var _String_slice = F3(function(start, end, str) { + return str.slice(start, end); +}); + +function _String_trim(str) +{ + return str.trim(); +} + +function _String_trimLeft(str) +{ + return str.replace(/^\s+/, ''); +} + +function _String_trimRight(str) +{ + return str.replace(/\s+$/, ''); +} + +function _String_words(str) +{ + return _List_fromArray(str.trim().split(/\s+/g)); +} + +function _String_lines(str) +{ + return _List_fromArray(str.split(/\r\n|\r|\n/g)); +} + +function _String_toUpper(str) +{ + return str.toUpperCase(); +} + +function _String_toLower(str) +{ + return str.toLowerCase(); +} + +var _String_any = F2(function(isGood, string) +{ + var i = string.length; + while (i--) + { + var char = string[i]; + var word = string.charCodeAt(i); + if (0xDC00 <= word && word <= 0xDFFF) + { + i--; + char = string[i] + char; + } + if (isGood(_Utils_chr(char))) + { + return true; + } + } + return false; +}); + +var _String_all = F2(function(isGood, string) +{ + var i = string.length; + while (i--) + { + var char = string[i]; + var word = string.charCodeAt(i); + if (0xDC00 <= word && word <= 0xDFFF) + { + i--; + char = string[i] + char; + } + if (!isGood(_Utils_chr(char))) + { + return false; + } + } + return true; +}); + +var _String_contains = F2(function(sub, str) +{ + return str.indexOf(sub) > -1; +}); + +var _String_startsWith = F2(function(sub, str) +{ + return str.indexOf(sub) === 0; +}); + +var _String_endsWith = F2(function(sub, str) +{ + return str.length >= sub.length && + str.lastIndexOf(sub) === str.length - sub.length; +}); + +var _String_indexes = F2(function(sub, str) +{ + var subLen = sub.length; + + if (subLen < 1) + { + return _List_Nil; + } + + var i = 0; + var is = []; + + while ((i = str.indexOf(sub, i)) > -1) + { + is.push(i); + i = i + subLen; + } + + return _List_fromArray(is); +}); + + +// TO STRING + +function _String_fromNumber(number) +{ + return number + ''; +} + + +// INT CONVERSIONS + +function _String_toInt(str) +{ + var total = 0; + var code0 = str.charCodeAt(0); + var start = code0 == 0x2B /* + */ || code0 == 0x2D /* - */ ? 1 : 0; + + for (var i = start; i < str.length; ++i) + { + var code = str.charCodeAt(i); + if (code < 0x30 || 0x39 < code) + { + return $elm$core$Maybe$Nothing; + } + total = 10 * total + code - 0x30; + } + + return i == start + ? $elm$core$Maybe$Nothing + : $elm$core$Maybe$Just(code0 == 0x2D ? -total : total); +} + + +// FLOAT CONVERSIONS + +function _String_toFloat(s) +{ + // check if it is a hex, octal, or binary number + if (s.length === 0 || /[\sxbo]/.test(s)) + { + return $elm$core$Maybe$Nothing; + } + var n = +s; + // faster isNaN check + return n === n ? $elm$core$Maybe$Just(n) : $elm$core$Maybe$Nothing; +} + +function _String_fromList(chars) +{ + return _List_toArray(chars).join(''); +} + + + + +function _Char_toCode(char) +{ + var code = char.charCodeAt(0); + if (0xD800 <= code && code <= 0xDBFF) + { + return (code - 0xD800) * 0x400 + char.charCodeAt(1) - 0xDC00 + 0x10000 + } + return code; +} + +function _Char_fromCode(code) +{ + return _Utils_chr( + (code < 0 || 0x10FFFF < code) + ? '\uFFFD' + : + (code <= 0xFFFF) + ? String.fromCharCode(code) + : + (code -= 0x10000, + String.fromCharCode(Math.floor(code / 0x400) + 0xD800, code % 0x400 + 0xDC00) + ) + ); +} + +function _Char_toUpper(char) +{ + return _Utils_chr(char.toUpperCase()); +} + +function _Char_toLower(char) +{ + return _Utils_chr(char.toLowerCase()); +} + +function _Char_toLocaleUpper(char) +{ + return _Utils_chr(char.toLocaleUpperCase()); +} + +function _Char_toLocaleLower(char) +{ + return _Utils_chr(char.toLocaleLowerCase()); +} + + + +/**_UNUSED/ +function _Json_errorToString(error) +{ + return $elm$json$Json$Decode$errorToString(error); +} +//*/ + + +// CORE DECODERS + +function _Json_succeed(msg) +{ + return { + $: 0, + a: msg + }; +} + +function _Json_fail(msg) +{ + return { + $: 1, + a: msg + }; +} + +function _Json_decodePrim(decoder) +{ + return { $: 2, b: decoder }; +} + +var _Json_decodeInt = _Json_decodePrim(function(value) { + return (typeof value !== 'number') + ? _Json_expecting('an INT', value) + : + (-2147483647 < value && value < 2147483647 && (value | 0) === value) + ? $elm$core$Result$Ok(value) + : + (isFinite(value) && !(value % 1)) + ? $elm$core$Result$Ok(value) + : _Json_expecting('an INT', value); +}); + +var _Json_decodeBool = _Json_decodePrim(function(value) { + return (typeof value === 'boolean') + ? $elm$core$Result$Ok(value) + : _Json_expecting('a BOOL', value); +}); + +var _Json_decodeFloat = _Json_decodePrim(function(value) { + return (typeof value === 'number') + ? $elm$core$Result$Ok(value) + : _Json_expecting('a FLOAT', value); +}); + +var _Json_decodeValue = _Json_decodePrim(function(value) { + return $elm$core$Result$Ok(_Json_wrap(value)); +}); + +var _Json_decodeString = _Json_decodePrim(function(value) { + return (typeof value === 'string') + ? $elm$core$Result$Ok(value) + : (value instanceof String) + ? $elm$core$Result$Ok(value + '') + : _Json_expecting('a STRING', value); +}); + +function _Json_decodeList(decoder) { return { $: 3, b: decoder }; } +function _Json_decodeArray(decoder) { return { $: 4, b: decoder }; } + +function _Json_decodeNull(value) { return { $: 5, c: value }; } + +var _Json_decodeField = F2(function(field, decoder) +{ + return { + $: 6, + d: field, + b: decoder + }; +}); + +var _Json_decodeIndex = F2(function(index, decoder) +{ + return { + $: 7, + e: index, + b: decoder + }; +}); + +function _Json_decodeKeyValuePairs(decoder) +{ + return { + $: 8, + b: decoder + }; +} + +function _Json_mapMany(f, decoders) +{ + return { + $: 9, + f: f, + g: decoders + }; +} + +var _Json_andThen = F2(function(callback, decoder) +{ + return { + $: 10, + b: decoder, + h: callback + }; +}); + +function _Json_oneOf(decoders) +{ + return { + $: 11, + g: decoders + }; +} + + +// DECODING OBJECTS + +var _Json_map1 = F2(function(f, d1) +{ + return _Json_mapMany(f, [d1]); +}); + +var _Json_map2 = F3(function(f, d1, d2) +{ + return _Json_mapMany(f, [d1, d2]); +}); + +var _Json_map3 = F4(function(f, d1, d2, d3) +{ + return _Json_mapMany(f, [d1, d2, d3]); +}); + +var _Json_map4 = F5(function(f, d1, d2, d3, d4) +{ + return _Json_mapMany(f, [d1, d2, d3, d4]); +}); + +var _Json_map5 = F6(function(f, d1, d2, d3, d4, d5) +{ + return _Json_mapMany(f, [d1, d2, d3, d4, d5]); +}); + +var _Json_map6 = F7(function(f, d1, d2, d3, d4, d5, d6) +{ + return _Json_mapMany(f, [d1, d2, d3, d4, d5, d6]); +}); + +var _Json_map7 = F8(function(f, d1, d2, d3, d4, d5, d6, d7) +{ + return _Json_mapMany(f, [d1, d2, d3, d4, d5, d6, d7]); +}); + +var _Json_map8 = F9(function(f, d1, d2, d3, d4, d5, d6, d7, d8) +{ + return _Json_mapMany(f, [d1, d2, d3, d4, d5, d6, d7, d8]); +}); + + +// DECODE + +var _Json_runOnString = F2(function(decoder, string) +{ + try + { + var value = JSON.parse(string); + return _Json_runHelp(decoder, value); + } + catch (e) + { + return $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, 'This is not valid JSON! ' + e.message, _Json_wrap(string))); + } +}); + +var _Json_run = F2(function(decoder, value) +{ + return _Json_runHelp(decoder, _Json_unwrap(value)); +}); + +function _Json_runHelp(decoder, value) +{ + switch (decoder.$) + { + case 2: + return decoder.b(value); + + case 5: + return (value === null) + ? $elm$core$Result$Ok(decoder.c) + : _Json_expecting('null', value); + + case 3: + if (!_Json_isArray(value)) + { + return _Json_expecting('a LIST', value); + } + return _Json_runArrayDecoder(decoder.b, value, _List_fromArray); + + case 4: + if (!_Json_isArray(value)) + { + return _Json_expecting('an ARRAY', value); + } + return _Json_runArrayDecoder(decoder.b, value, _Json_toElmArray); + + case 6: + var field = decoder.d; + if (typeof value !== 'object' || value === null || !(field in value)) + { + return _Json_expecting('an OBJECT with a field named `' + field + '`', value); + } + var result = _Json_runHelp(decoder.b, value[field]); + return ($elm$core$Result$isOk(result)) ? result : $elm$core$Result$Err(A2($elm$json$Json$Decode$Field, field, result.a)); + + case 7: + var index = decoder.e; + if (!_Json_isArray(value)) + { + return _Json_expecting('an ARRAY', value); + } + if (index >= value.length) + { + return _Json_expecting('a LONGER array. Need index ' + index + ' but only see ' + value.length + ' entries', value); + } + var result = _Json_runHelp(decoder.b, value[index]); + return ($elm$core$Result$isOk(result)) ? result : $elm$core$Result$Err(A2($elm$json$Json$Decode$Index, index, result.a)); + + case 8: + if (typeof value !== 'object' || value === null || _Json_isArray(value)) + { + return _Json_expecting('an OBJECT', value); + } + + var keyValuePairs = _List_Nil; + // TODO test perf of Object.keys and switch when support is good enough + for (var key in value) + { + if (value.hasOwnProperty(key)) + { + var result = _Json_runHelp(decoder.b, value[key]); + if (!$elm$core$Result$isOk(result)) + { + return $elm$core$Result$Err(A2($elm$json$Json$Decode$Field, key, result.a)); + } + keyValuePairs = _List_Cons(_Utils_Tuple2(key, result.a), keyValuePairs); + } + } + return $elm$core$Result$Ok($elm$core$List$reverse(keyValuePairs)); + + case 9: + var answer = decoder.f; + var decoders = decoder.g; + for (var i = 0; i < decoders.length; i++) + { + var result = _Json_runHelp(decoders[i], value); + if (!$elm$core$Result$isOk(result)) + { + return result; + } + answer = answer(result.a); + } + return $elm$core$Result$Ok(answer); + + case 10: + var result = _Json_runHelp(decoder.b, value); + return (!$elm$core$Result$isOk(result)) + ? result + : _Json_runHelp(decoder.h(result.a), value); + + case 11: + var errors = _List_Nil; + for (var temp = decoder.g; temp.b; temp = temp.b) // WHILE_CONS + { + var result = _Json_runHelp(temp.a, value); + if ($elm$core$Result$isOk(result)) + { + return result; + } + errors = _List_Cons(result.a, errors); + } + return $elm$core$Result$Err($elm$json$Json$Decode$OneOf($elm$core$List$reverse(errors))); + + case 1: + return $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, decoder.a, _Json_wrap(value))); + + case 0: + return $elm$core$Result$Ok(decoder.a); + } +} + +function _Json_runArrayDecoder(decoder, value, toElmValue) +{ + var len = value.length; + var array = new Array(len); + for (var i = 0; i < len; i++) + { + var result = _Json_runHelp(decoder, value[i]); + if (!$elm$core$Result$isOk(result)) + { + return $elm$core$Result$Err(A2($elm$json$Json$Decode$Index, i, result.a)); + } + array[i] = result.a; + } + return $elm$core$Result$Ok(toElmValue(array)); +} + +function _Json_isArray(value) +{ + return Array.isArray(value) || (typeof FileList !== 'undefined' && value instanceof FileList); +} + +function _Json_toElmArray(array) +{ + return A2($elm$core$Array$initialize, array.length, function(i) { return array[i]; }); +} + +function _Json_expecting(type, value) +{ + return $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, 'Expecting ' + type, _Json_wrap(value))); +} + + +// EQUALITY + +function _Json_equality(x, y) +{ + if (x === y) + { + return true; + } + + if (x.$ !== y.$) + { + return false; + } + + switch (x.$) + { + case 0: + case 1: + return x.a === y.a; + + case 2: + return x.b === y.b; + + case 5: + return x.c === y.c; + + case 3: + case 4: + case 8: + return _Json_equality(x.b, y.b); + + case 6: + return x.d === y.d && _Json_equality(x.b, y.b); + + case 7: + return x.e === y.e && _Json_equality(x.b, y.b); + + case 9: + return x.f === y.f && _Json_listEquality(x.g, y.g); + + case 10: + return x.h === y.h && _Json_equality(x.b, y.b); + + case 11: + return _Json_listEquality(x.g, y.g); + } +} + +function _Json_listEquality(aDecoders, bDecoders) +{ + var len = aDecoders.length; + if (len !== bDecoders.length) + { + return false; + } + for (var i = 0; i < len; i++) + { + if (!_Json_equality(aDecoders[i], bDecoders[i])) + { + return false; + } + } + return true; +} + + +// ENCODE + +var _Json_encode = F2(function(indentLevel, value) +{ + return JSON.stringify(_Json_unwrap(value), null, indentLevel) + ''; +}); + +function _Json_wrap_UNUSED(value) { return { $: 0, a: value }; } +function _Json_unwrap_UNUSED(value) { return value.a; } + +function _Json_wrap(value) { return value; } +function _Json_unwrap(value) { return value; } + +function _Json_emptyArray() { return []; } +function _Json_emptyObject() { return {}; } + +var _Json_addField = F3(function(key, value, object) +{ + object[key] = _Json_unwrap(value); + return object; +}); + +function _Json_addEntry(func) +{ + return F2(function(entry, array) + { + array.push(_Json_unwrap(func(entry))); + return array; + }); +} + +var _Json_encodeNull = _Json_wrap(null); + + + +// TASKS + +function _Scheduler_succeed(value) +{ + return { + $: 0, + a: value + }; +} + +function _Scheduler_fail(error) +{ + return { + $: 1, + a: error + }; +} + +function _Scheduler_binding(callback) +{ + return { + $: 2, + b: callback, + c: null + }; +} + +var _Scheduler_andThen = F2(function(callback, task) +{ + return { + $: 3, + b: callback, + d: task + }; +}); + +var _Scheduler_onError = F2(function(callback, task) +{ + return { + $: 4, + b: callback, + d: task + }; +}); + +function _Scheduler_receive(callback) +{ + return { + $: 5, + b: callback + }; +} + + +// PROCESSES + +var _Scheduler_guid = 0; + +function _Scheduler_rawSpawn(task) +{ + var proc = { + $: 0, + e: _Scheduler_guid++, + f: task, + g: null, + h: [] + }; + + _Scheduler_enqueue(proc); + + return proc; +} + +function _Scheduler_spawn(task) +{ + return _Scheduler_binding(function(callback) { + callback(_Scheduler_succeed(_Scheduler_rawSpawn(task))); + }); +} + +function _Scheduler_rawSend(proc, msg) +{ + proc.h.push(msg); + _Scheduler_enqueue(proc); +} + +var _Scheduler_send = F2(function(proc, msg) +{ + return _Scheduler_binding(function(callback) { + _Scheduler_rawSend(proc, msg); + callback(_Scheduler_succeed(_Utils_Tuple0)); + }); +}); + +function _Scheduler_kill(proc) +{ + return _Scheduler_binding(function(callback) { + var task = proc.f; + if (task.$ === 2 && task.c) + { + task.c(); + } + + proc.f = null; + + callback(_Scheduler_succeed(_Utils_Tuple0)); + }); +} + + +/* STEP PROCESSES + +type alias Process = + { $ : tag + , id : unique_id + , root : Task + , stack : null | { $: SUCCEED | FAIL, a: callback, b: stack } + , mailbox : [msg] + } + +*/ + + +var _Scheduler_working = false; +var _Scheduler_queue = []; + + +function _Scheduler_enqueue(proc) +{ + _Scheduler_queue.push(proc); + if (_Scheduler_working) + { + return; + } + _Scheduler_working = true; + while (proc = _Scheduler_queue.shift()) + { + _Scheduler_step(proc); + } + _Scheduler_working = false; +} + + +function _Scheduler_step(proc) +{ + while (proc.f) + { + var rootTag = proc.f.$; + if (rootTag === 0 || rootTag === 1) + { + while (proc.g && proc.g.$ !== rootTag) + { + proc.g = proc.g.i; + } + if (!proc.g) + { + return; + } + proc.f = proc.g.b(proc.f.a); + proc.g = proc.g.i; + } + else if (rootTag === 2) + { + proc.f.c = proc.f.b(function(newRoot) { + proc.f = newRoot; + _Scheduler_enqueue(proc); + }); + return; + } + else if (rootTag === 5) + { + if (proc.h.length === 0) + { + return; + } + proc.f = proc.f.b(proc.h.shift()); + } + else // if (rootTag === 3 || rootTag === 4) + { + proc.g = { + $: rootTag === 3 ? 0 : 1, + b: proc.f.b, + i: proc.g + }; + proc.f = proc.f.d; + } + } +} + + + +function _Process_sleep(time) +{ + return _Scheduler_binding(function(callback) { + var id = setTimeout(function() { + callback(_Scheduler_succeed(_Utils_Tuple0)); + }, time); + + return function() { clearTimeout(id); }; + }); +} + + + + +// PROGRAMS + + +var _Platform_worker = F4(function(impl, flagDecoder, debugMetadata, args) +{ + return _Platform_initialize( + flagDecoder, + args, + impl.aa, + impl.am, + impl.dK, + function() { return function() {} } + ); +}); + + + +// INITIALIZE A PROGRAM + + +function _Platform_initialize(flagDecoder, args, init, update, subscriptions, stepperBuilder) +{ + var result = A2(_Json_run, flagDecoder, _Json_wrap(args ? args['flags'] : undefined)); + $elm$core$Result$isOk(result) || _Debug_crash(2 /**_UNUSED/, _Json_errorToString(result.a) /**/); + var managers = {}; + result = init(result.a); + var model = result.a; + var stepper = stepperBuilder(sendToApp, model); + var ports = _Platform_setupEffects(managers, sendToApp); + + function sendToApp(msg, viewMetadata) + { + result = A2(update, msg, model); + stepper(model = result.a, viewMetadata); + _Platform_enqueueEffects(managers, result.b, subscriptions(model)); + } + + _Platform_enqueueEffects(managers, result.b, subscriptions(model)); + + return ports ? { ports: ports } : {}; +} + + + +// TRACK PRELOADS +// +// This is used by code in elm/browser and elm/http +// to register any HTTP requests that are triggered by init. +// + + +var _Platform_preload; + + +function _Platform_registerPreload(url) +{ + _Platform_preload.add(url); +} + + + +// EFFECT MANAGERS + + +var _Platform_effectManagers = {}; + + +function _Platform_setupEffects(managers, sendToApp) +{ + var ports; + + // setup all necessary effect managers + for (var key in _Platform_effectManagers) + { + var manager = _Platform_effectManagers[key]; + + if (manager.a) + { + ports = ports || {}; + ports[key] = manager.a(key, sendToApp); + } + + managers[key] = _Platform_instantiateManager(manager, sendToApp); + } + + return ports; +} + + +function _Platform_createManager(init, onEffects, onSelfMsg, cmdMap, subMap) +{ + return { + b: init, + c: onEffects, + d: onSelfMsg, + e: cmdMap, + f: subMap + }; +} + + +function _Platform_instantiateManager(info, sendToApp) +{ + var router = { + g: sendToApp, + h: undefined + }; + + var onEffects = info.c; + var onSelfMsg = info.d; + var cmdMap = info.e; + var subMap = info.f; + + function loop(state) + { + return A2(_Scheduler_andThen, loop, _Scheduler_receive(function(msg) + { + var value = msg.a; + + if (msg.$ === 0) + { + return A3(onSelfMsg, router, value, state); + } + + return cmdMap && subMap + ? A4(onEffects, router, value.i, value.j, state) + : A3(onEffects, router, cmdMap ? value.i : value.j, state); + })); + } + + return router.h = _Scheduler_rawSpawn(A2(_Scheduler_andThen, loop, info.b)); +} + + + +// ROUTING + + +var _Platform_sendToApp = F2(function(router, msg) +{ + return _Scheduler_binding(function(callback) + { + router.g(msg); + callback(_Scheduler_succeed(_Utils_Tuple0)); + }); +}); + + +var _Platform_sendToSelf = F2(function(router, msg) +{ + return A2(_Scheduler_send, router.h, { + $: 0, + a: msg + }); +}); + + + +// BAGS + + +function _Platform_leaf(home) +{ + return function(value) + { + return { + $: 1, + k: home, + l: value + }; + }; +} + + +function _Platform_batch(list) +{ + return { + $: 2, + m: list + }; +} + + +var _Platform_map = F2(function(tagger, bag) +{ + return { + $: 3, + n: tagger, + o: bag + } +}); + + + +// PIPE BAGS INTO EFFECT MANAGERS +// +// Effects must be queued! +// +// Say your init contains a synchronous command, like Time.now or Time.here +// +// - This will produce a batch of effects (FX_1) +// - The synchronous task triggers the subsequent `update` call +// - This will produce a batch of effects (FX_2) +// +// If we just start dispatching FX_2, subscriptions from FX_2 can be processed +// before subscriptions from FX_1. No good! Earlier versions of this code had +// this problem, leading to these reports: +// +// https://github.com/elm/core/issues/980 +// https://github.com/elm/core/pull/981 +// https://github.com/elm/compiler/issues/1776 +// +// The queue is necessary to avoid ordering issues for synchronous commands. + + +// Why use true/false here? Why not just check the length of the queue? +// The goal is to detect "are we currently dispatching effects?" If we +// are, we need to bail and let the ongoing while loop handle things. +// +// Now say the queue has 1 element. When we dequeue the final element, +// the queue will be empty, but we are still actively dispatching effects. +// So you could get queue jumping in a really tricky category of cases. +// +var _Platform_effectsQueue = []; +var _Platform_effectsActive = false; + + +function _Platform_enqueueEffects(managers, cmdBag, subBag) +{ + _Platform_effectsQueue.push({ p: managers, q: cmdBag, r: subBag }); + + if (_Platform_effectsActive) return; + + _Platform_effectsActive = true; + for (var fx; fx = _Platform_effectsQueue.shift(); ) + { + _Platform_dispatchEffects(fx.p, fx.q, fx.r); + } + _Platform_effectsActive = false; +} + + +function _Platform_dispatchEffects(managers, cmdBag, subBag) +{ + var effectsDict = {}; + _Platform_gatherEffects(true, cmdBag, effectsDict, null); + _Platform_gatherEffects(false, subBag, effectsDict, null); + + for (var home in managers) + { + _Scheduler_rawSend(managers[home], { + $: 'fx', + a: effectsDict[home] || { i: _List_Nil, j: _List_Nil } + }); + } +} + + +function _Platform_gatherEffects(isCmd, bag, effectsDict, taggers) +{ + switch (bag.$) + { + case 1: + var home = bag.k; + var effect = _Platform_toEffect(isCmd, home, taggers, bag.l); + effectsDict[home] = _Platform_insert(isCmd, effect, effectsDict[home]); + return; + + case 2: + for (var list = bag.m; list.b; list = list.b) // WHILE_CONS + { + _Platform_gatherEffects(isCmd, list.a, effectsDict, taggers); + } + return; + + case 3: + _Platform_gatherEffects(isCmd, bag.o, effectsDict, { + s: bag.n, + t: taggers + }); + return; + } +} + + +function _Platform_toEffect(isCmd, home, taggers, value) +{ + function applyTaggers(x) + { + for (var temp = taggers; temp; temp = temp.t) + { + x = temp.s(x); + } + return x; + } + + var map = isCmd + ? _Platform_effectManagers[home].e + : _Platform_effectManagers[home].f; + + return A2(map, applyTaggers, value) +} + + +function _Platform_insert(isCmd, newEffect, effects) +{ + effects = effects || { i: _List_Nil, j: _List_Nil }; + + isCmd + ? (effects.i = _List_Cons(newEffect, effects.i)) + : (effects.j = _List_Cons(newEffect, effects.j)); + + return effects; +} + + + +// PORTS + + +function _Platform_checkPortName(name) +{ + if (_Platform_effectManagers[name]) + { + _Debug_crash(3, name) + } +} + + + +// OUTGOING PORTS + + +function _Platform_outgoingPort(name, converter) +{ + _Platform_checkPortName(name); + _Platform_effectManagers[name] = { + e: _Platform_outgoingPortMap, + u: converter, + a: _Platform_setupOutgoingPort + }; + return _Platform_leaf(name); +} + + +var _Platform_outgoingPortMap = F2(function(tagger, value) { return value; }); + + +function _Platform_setupOutgoingPort(name) +{ + var subs = []; + var converter = _Platform_effectManagers[name].u; + + // CREATE MANAGER + + var init = _Process_sleep(0); + + _Platform_effectManagers[name].b = init; + _Platform_effectManagers[name].c = F3(function(router, cmdList, state) + { + for ( ; cmdList.b; cmdList = cmdList.b) // WHILE_CONS + { + // grab a separate reference to subs in case unsubscribe is called + var currentSubs = subs; + var value = _Json_unwrap(converter(cmdList.a)); + for (var i = 0; i < currentSubs.length; i++) + { + currentSubs[i](value); + } + } + return init; + }); + + // PUBLIC API + + function subscribe(callback) + { + subs.push(callback); + } + + function unsubscribe(callback) + { + // copy subs into a new array in case unsubscribe is called within a + // subscribed callback + subs = subs.slice(); + var index = subs.indexOf(callback); + if (index >= 0) + { + subs.splice(index, 1); + } + } + + return { + subscribe: subscribe, + unsubscribe: unsubscribe + }; +} + + + +// INCOMING PORTS + + +function _Platform_incomingPort(name, converter) +{ + _Platform_checkPortName(name); + _Platform_effectManagers[name] = { + f: _Platform_incomingPortMap, + u: converter, + a: _Platform_setupIncomingPort + }; + return _Platform_leaf(name); +} + + +var _Platform_incomingPortMap = F2(function(tagger, finalTagger) +{ + return function(value) + { + return tagger(finalTagger(value)); + }; +}); + + +function _Platform_setupIncomingPort(name, sendToApp) +{ + var subs = _List_Nil; + var converter = _Platform_effectManagers[name].u; + + // CREATE MANAGER + + var init = _Scheduler_succeed(null); + + _Platform_effectManagers[name].b = init; + _Platform_effectManagers[name].c = F3(function(router, subList, state) + { + subs = subList; + return init; + }); + + // PUBLIC API + + function send(incomingValue) + { + var result = A2(_Json_run, converter, _Json_wrap(incomingValue)); + + $elm$core$Result$isOk(result) || _Debug_crash(4, name, result.a); + + var value = result.a; + for (var temp = subs; temp.b; temp = temp.b) // WHILE_CONS + { + sendToApp(temp.a(value)); + } + } + + return { send: send }; +} + + + +// EXPORT ELM MODULES +// +// Have DEBUG and PROD versions so that we can (1) give nicer errors in +// debug mode and (2) not pay for the bits needed for that in prod mode. +// + + +function _Platform_export(exports) +{ + scope['Elm'] + ? _Platform_mergeExportsProd(scope['Elm'], exports) + : scope['Elm'] = exports; +} + + +function _Platform_mergeExportsProd(obj, exports) +{ + for (var name in exports) + { + (name in obj) + ? (name == 'init') + ? _Debug_crash(6) + : _Platform_mergeExportsProd(obj[name], exports[name]) + : (obj[name] = exports[name]); + } +} + + +function _Platform_export_UNUSED(exports) +{ + scope['Elm'] + ? _Platform_mergeExportsDebug('Elm', scope['Elm'], exports) + : scope['Elm'] = exports; +} + + +function _Platform_mergeExportsDebug(moduleName, obj, exports) +{ + for (var name in exports) + { + (name in obj) + ? (name == 'init') + ? _Debug_crash(6, moduleName) + : _Platform_mergeExportsDebug(moduleName + '.' + name, obj[name], exports[name]) + : (obj[name] = exports[name]); + } +} + + + + +// HELPERS + + +var _VirtualDom_divertHrefToApp; + +var _VirtualDom_doc = typeof document !== 'undefined' ? document : {}; + + +function _VirtualDom_appendChild(parent, child) +{ + parent.appendChild(child); +} + +var _VirtualDom_init = F4(function(virtualNode, flagDecoder, debugMetadata, args) +{ + // NOTE: this function needs _Platform_export available to work + + /**/ + var node = args['node']; + //*/ + /**_UNUSED/ + var node = args && args['node'] ? args['node'] : _Debug_crash(0); + //*/ + + node.parentNode.replaceChild( + _VirtualDom_render(virtualNode, function() {}), + node + ); + + return {}; +}); + + + +// TEXT + + +function _VirtualDom_text(string) +{ + return { + $: 0, + a: string + }; +} + + + +// NODE + + +var _VirtualDom_nodeNS = F2(function(namespace, tag) +{ + return F2(function(factList, kidList) + { + for (var kids = [], descendantsCount = 0; kidList.b; kidList = kidList.b) // WHILE_CONS + { + var kid = kidList.a; + descendantsCount += (kid.b || 0); + kids.push(kid); + } + descendantsCount += kids.length; + + return { + $: 1, + c: tag, + d: _VirtualDom_organizeFacts(factList), + e: kids, + f: namespace, + b: descendantsCount + }; + }); +}); + + +var _VirtualDom_node = _VirtualDom_nodeNS(undefined); + + + +// KEYED NODE + + +var _VirtualDom_keyedNodeNS = F2(function(namespace, tag) +{ + return F2(function(factList, kidList) + { + for (var kids = [], descendantsCount = 0; kidList.b; kidList = kidList.b) // WHILE_CONS + { + var kid = kidList.a; + descendantsCount += (kid.b.b || 0); + kids.push(kid); + } + descendantsCount += kids.length; + + return { + $: 2, + c: tag, + d: _VirtualDom_organizeFacts(factList), + e: kids, + f: namespace, + b: descendantsCount + }; + }); +}); + + +var _VirtualDom_keyedNode = _VirtualDom_keyedNodeNS(undefined); + + + +// CUSTOM + + +function _VirtualDom_custom(factList, model, render, diff) +{ + return { + $: 3, + d: _VirtualDom_organizeFacts(factList), + g: model, + h: render, + i: diff + }; +} + + + +// MAP + + +var _VirtualDom_map = F2(function(tagger, node) +{ + return { + $: 4, + j: tagger, + k: node, + b: 1 + (node.b || 0) + }; +}); + + + +// LAZY + + +function _VirtualDom_thunk(refs, thunk) +{ + return { + $: 5, + l: refs, + m: thunk, + k: undefined + }; +} + +var _VirtualDom_lazy = F2(function(func, a) +{ + return _VirtualDom_thunk([func, a], function() { + return func(a); + }); +}); + +var _VirtualDom_lazy2 = F3(function(func, a, b) +{ + return _VirtualDom_thunk([func, a, b], function() { + return A2(func, a, b); + }); +}); + +var _VirtualDom_lazy3 = F4(function(func, a, b, c) +{ + return _VirtualDom_thunk([func, a, b, c], function() { + return A3(func, a, b, c); + }); +}); + +var _VirtualDom_lazy4 = F5(function(func, a, b, c, d) +{ + return _VirtualDom_thunk([func, a, b, c, d], function() { + return A4(func, a, b, c, d); + }); +}); + +var _VirtualDom_lazy5 = F6(function(func, a, b, c, d, e) +{ + return _VirtualDom_thunk([func, a, b, c, d, e], function() { + return A5(func, a, b, c, d, e); + }); +}); + +var _VirtualDom_lazy6 = F7(function(func, a, b, c, d, e, f) +{ + return _VirtualDom_thunk([func, a, b, c, d, e, f], function() { + return A6(func, a, b, c, d, e, f); + }); +}); + +var _VirtualDom_lazy7 = F8(function(func, a, b, c, d, e, f, g) +{ + return _VirtualDom_thunk([func, a, b, c, d, e, f, g], function() { + return A7(func, a, b, c, d, e, f, g); + }); +}); + +var _VirtualDom_lazy8 = F9(function(func, a, b, c, d, e, f, g, h) +{ + return _VirtualDom_thunk([func, a, b, c, d, e, f, g, h], function() { + return A8(func, a, b, c, d, e, f, g, h); + }); +}); + + + +// FACTS + + +var _VirtualDom_on = F2(function(key, handler) +{ + return { + $: 'a0', + n: key, + o: handler + }; +}); +var _VirtualDom_style = F2(function(key, value) +{ + return { + $: 'a1', + n: key, + o: value + }; +}); +var _VirtualDom_property = F2(function(key, value) +{ + return { + $: 'a2', + n: key, + o: value + }; +}); +var _VirtualDom_attribute = F2(function(key, value) +{ + return { + $: 'a3', + n: key, + o: value + }; +}); +var _VirtualDom_attributeNS = F3(function(namespace, key, value) +{ + return { + $: 'a4', + n: key, + o: { f: namespace, o: value } + }; +}); + + + +// XSS ATTACK VECTOR CHECKS + + +function _VirtualDom_noScript(tag) +{ + return tag == 'script' ? 'p' : tag; +} + +function _VirtualDom_noOnOrFormAction(key) +{ + return /^(on|formAction$)/i.test(key) ? 'data-' + key : key; +} + +function _VirtualDom_noInnerHtmlOrFormAction(key) +{ + return key == 'innerHTML' || key == 'formAction' ? 'data-' + key : key; +} + +function _VirtualDom_noJavaScriptUri(value) +{ + return /^javascript:/i.test(value.replace(/\s/g,'')) ? '' : value; +} + +function _VirtualDom_noJavaScriptUri_UNUSED(value) +{ + return /^javascript:/i.test(value.replace(/\s/g,'')) + ? 'javascript:alert("This is an XSS vector. Please use ports or web components instead.")' + : value; +} + +function _VirtualDom_noJavaScriptOrHtmlUri(value) +{ + return /^\s*(javascript:|data:text\/html)/i.test(value) ? '' : value; +} + +function _VirtualDom_noJavaScriptOrHtmlUri_UNUSED(value) +{ + return /^\s*(javascript:|data:text\/html)/i.test(value) + ? 'javascript:alert("This is an XSS vector. Please use ports or web components instead.")' + : value; +} + + + +// MAP FACTS + + +var _VirtualDom_mapAttribute = F2(function(func, attr) +{ + return (attr.$ === 'a0') + ? A2(_VirtualDom_on, attr.n, _VirtualDom_mapHandler(func, attr.o)) + : attr; +}); + +function _VirtualDom_mapHandler(func, handler) +{ + var tag = $elm$virtual_dom$VirtualDom$toHandlerInt(handler); + + // 0 = Normal + // 1 = MayStopPropagation + // 2 = MayPreventDefault + // 3 = Custom + + return { + $: handler.$, + a: + !tag + ? A2($elm$json$Json$Decode$map, func, handler.a) + : + A3($elm$json$Json$Decode$map2, + tag < 3 + ? _VirtualDom_mapEventTuple + : _VirtualDom_mapEventRecord, + $elm$json$Json$Decode$succeed(func), + handler.a + ) + }; +} + +var _VirtualDom_mapEventTuple = F2(function(func, tuple) +{ + return _Utils_Tuple2(func(tuple.a), tuple.b); +}); + +var _VirtualDom_mapEventRecord = F2(function(func, record) +{ + return { + D: func(record.D), + aX: record.aX, + aS: record.aS + } +}); + + + +// ORGANIZE FACTS + + +function _VirtualDom_organizeFacts(factList) +{ + for (var facts = {}; factList.b; factList = factList.b) // WHILE_CONS + { + var entry = factList.a; + + var tag = entry.$; + var key = entry.n; + var value = entry.o; + + if (tag === 'a2') + { + (key === 'className') + ? _VirtualDom_addClass(facts, key, _Json_unwrap(value)) + : facts[key] = _Json_unwrap(value); + + continue; + } + + var subFacts = facts[tag] || (facts[tag] = {}); + (tag === 'a3' && key === 'class') + ? _VirtualDom_addClass(subFacts, key, value) + : subFacts[key] = value; + } + + return facts; +} + +function _VirtualDom_addClass(object, key, newClass) +{ + var classes = object[key]; + object[key] = classes ? classes + ' ' + newClass : newClass; +} + + + +// RENDER + + +function _VirtualDom_render(vNode, eventNode) +{ + var tag = vNode.$; + + if (tag === 5) + { + return _VirtualDom_render(vNode.k || (vNode.k = vNode.m()), eventNode); + } + + if (tag === 0) + { + return _VirtualDom_doc.createTextNode(vNode.a); + } + + if (tag === 4) + { + var subNode = vNode.k; + var tagger = vNode.j; + + while (subNode.$ === 4) + { + typeof tagger !== 'object' + ? tagger = [tagger, subNode.j] + : tagger.push(subNode.j); + + subNode = subNode.k; + } + + var subEventRoot = { j: tagger, p: eventNode }; + var domNode = _VirtualDom_render(subNode, subEventRoot); + domNode.elm_event_node_ref = subEventRoot; + return domNode; + } + + if (tag === 3) + { + var domNode = vNode.h(vNode.g); + _VirtualDom_applyFacts(domNode, eventNode, vNode.d); + return domNode; + } + + // at this point `tag` must be 1 or 2 + + var domNode = vNode.f + ? _VirtualDom_doc.createElementNS(vNode.f, vNode.c) + : _VirtualDom_doc.createElement(vNode.c); + + if (_VirtualDom_divertHrefToApp && vNode.c == 'a') + { + domNode.addEventListener('click', _VirtualDom_divertHrefToApp(domNode)); + } + + _VirtualDom_applyFacts(domNode, eventNode, vNode.d); + + for (var kids = vNode.e, i = 0; i < kids.length; i++) + { + _VirtualDom_appendChild(domNode, _VirtualDom_render(tag === 1 ? kids[i] : kids[i].b, eventNode)); + } + + return domNode; +} + + + +// APPLY FACTS + + +function _VirtualDom_applyFacts(domNode, eventNode, facts) +{ + for (var key in facts) + { + var value = facts[key]; + + key === 'a1' + ? _VirtualDom_applyStyles(domNode, value) + : + key === 'a0' + ? _VirtualDom_applyEvents(domNode, eventNode, value) + : + key === 'a3' + ? _VirtualDom_applyAttrs(domNode, value) + : + key === 'a4' + ? _VirtualDom_applyAttrsNS(domNode, value) + : + ((key !== 'value' && key !== 'checked') || domNode[key] !== value) && (domNode[key] = value); + } +} + + + +// APPLY STYLES + + +function _VirtualDom_applyStyles(domNode, styles) +{ + var domNodeStyle = domNode.style; + + for (var key in styles) + { + domNodeStyle[key] = styles[key]; + } +} + + + +// APPLY ATTRS + + +function _VirtualDom_applyAttrs(domNode, attrs) +{ + for (var key in attrs) + { + var value = attrs[key]; + typeof value !== 'undefined' + ? domNode.setAttribute(key, value) + : domNode.removeAttribute(key); + } +} + + + +// APPLY NAMESPACED ATTRS + + +function _VirtualDom_applyAttrsNS(domNode, nsAttrs) +{ + for (var key in nsAttrs) + { + var pair = nsAttrs[key]; + var namespace = pair.f; + var value = pair.o; + + typeof value !== 'undefined' + ? domNode.setAttributeNS(namespace, key, value) + : domNode.removeAttributeNS(namespace, key); + } +} + + + +// APPLY EVENTS + + +function _VirtualDom_applyEvents(domNode, eventNode, events) +{ + var allCallbacks = domNode.elmFs || (domNode.elmFs = {}); + + for (var key in events) + { + var newHandler = events[key]; + var oldCallback = allCallbacks[key]; + + if (!newHandler) + { + domNode.removeEventListener(key, oldCallback); + allCallbacks[key] = undefined; + continue; + } + + if (oldCallback) + { + var oldHandler = oldCallback.q; + if (oldHandler.$ === newHandler.$) + { + oldCallback.q = newHandler; + continue; + } + domNode.removeEventListener(key, oldCallback); + } + + oldCallback = _VirtualDom_makeCallback(eventNode, newHandler); + domNode.addEventListener(key, oldCallback, + _VirtualDom_passiveSupported + && { passive: $elm$virtual_dom$VirtualDom$toHandlerInt(newHandler) < 2 } + ); + allCallbacks[key] = oldCallback; + } +} + + + +// PASSIVE EVENTS + + +var _VirtualDom_passiveSupported; + +try +{ + window.addEventListener('t', null, Object.defineProperty({}, 'passive', { + get: function() { _VirtualDom_passiveSupported = true; } + })); +} +catch(e) {} + + + +// EVENT HANDLERS + + +function _VirtualDom_makeCallback(eventNode, initialHandler) +{ + function callback(event) + { + var handler = callback.q; + var result = _Json_runHelp(handler.a, event); + + if (!$elm$core$Result$isOk(result)) + { + return; + } + + var tag = $elm$virtual_dom$VirtualDom$toHandlerInt(handler); + + // 0 = Normal + // 1 = MayStopPropagation + // 2 = MayPreventDefault + // 3 = Custom + + var value = result.a; + var message = !tag ? value : tag < 3 ? value.a : value.D; + var stopPropagation = tag == 1 ? value.b : tag == 3 && value.aX; + var currentEventNode = ( + stopPropagation && event.stopPropagation(), + (tag == 2 ? value.b : tag == 3 && value.aS) && event.preventDefault(), + eventNode + ); + var tagger; + var i; + while (tagger = currentEventNode.j) + { + if (typeof tagger == 'function') + { + message = tagger(message); + } + else + { + for (var i = tagger.length; i--; ) + { + message = tagger[i](message); + } + } + currentEventNode = currentEventNode.p; + } + currentEventNode(message, stopPropagation); // stopPropagation implies isSync + } + + callback.q = initialHandler; + + return callback; +} + +function _VirtualDom_equalEvents(x, y) +{ + return x.$ == y.$ && _Json_equality(x.a, y.a); +} + + + +// DIFF + + +// TODO: Should we do patches like in iOS? +// +// type Patch +// = At Int Patch +// | Batch (List Patch) +// | Change ... +// +// How could it not be better? +// +function _VirtualDom_diff(x, y) +{ + var patches = []; + _VirtualDom_diffHelp(x, y, patches, 0); + return patches; +} + + +function _VirtualDom_pushPatch(patches, type, index, data) +{ + var patch = { + $: type, + r: index, + s: data, + t: undefined, + u: undefined + }; + patches.push(patch); + return patch; +} + + +function _VirtualDom_diffHelp(x, y, patches, index) +{ + if (x === y) + { + return; + } + + var xType = x.$; + var yType = y.$; + + // Bail if you run into different types of nodes. Implies that the + // structure has changed significantly and it's not worth a diff. + if (xType !== yType) + { + if (xType === 1 && yType === 2) + { + y = _VirtualDom_dekey(y); + yType = 1; + } + else + { + _VirtualDom_pushPatch(patches, 0, index, y); + return; + } + } + + // Now we know that both nodes are the same $. + switch (yType) + { + case 5: + var xRefs = x.l; + var yRefs = y.l; + var i = xRefs.length; + var same = i === yRefs.length; + while (same && i--) + { + same = xRefs[i] === yRefs[i]; + } + if (same) + { + y.k = x.k; + return; + } + y.k = y.m(); + var subPatches = []; + _VirtualDom_diffHelp(x.k, y.k, subPatches, 0); + subPatches.length > 0 && _VirtualDom_pushPatch(patches, 1, index, subPatches); + return; + + case 4: + // gather nested taggers + var xTaggers = x.j; + var yTaggers = y.j; + var nesting = false; + + var xSubNode = x.k; + while (xSubNode.$ === 4) + { + nesting = true; + + typeof xTaggers !== 'object' + ? xTaggers = [xTaggers, xSubNode.j] + : xTaggers.push(xSubNode.j); + + xSubNode = xSubNode.k; + } + + var ySubNode = y.k; + while (ySubNode.$ === 4) + { + nesting = true; + + typeof yTaggers !== 'object' + ? yTaggers = [yTaggers, ySubNode.j] + : yTaggers.push(ySubNode.j); + + ySubNode = ySubNode.k; + } + + // Just bail if different numbers of taggers. This implies the + // structure of the virtual DOM has changed. + if (nesting && xTaggers.length !== yTaggers.length) + { + _VirtualDom_pushPatch(patches, 0, index, y); + return; + } + + // check if taggers are "the same" + if (nesting ? !_VirtualDom_pairwiseRefEqual(xTaggers, yTaggers) : xTaggers !== yTaggers) + { + _VirtualDom_pushPatch(patches, 2, index, yTaggers); + } + + // diff everything below the taggers + _VirtualDom_diffHelp(xSubNode, ySubNode, patches, index + 1); + return; + + case 0: + if (x.a !== y.a) + { + _VirtualDom_pushPatch(patches, 3, index, y.a); + } + return; + + case 1: + _VirtualDom_diffNodes(x, y, patches, index, _VirtualDom_diffKids); + return; + + case 2: + _VirtualDom_diffNodes(x, y, patches, index, _VirtualDom_diffKeyedKids); + return; + + case 3: + if (x.h !== y.h) + { + _VirtualDom_pushPatch(patches, 0, index, y); + return; + } + + var factsDiff = _VirtualDom_diffFacts(x.d, y.d); + factsDiff && _VirtualDom_pushPatch(patches, 4, index, factsDiff); + + var patch = y.i(x.g, y.g); + patch && _VirtualDom_pushPatch(patches, 5, index, patch); + + return; + } +} + +// assumes the incoming arrays are the same length +function _VirtualDom_pairwiseRefEqual(as, bs) +{ + for (var i = 0; i < as.length; i++) + { + if (as[i] !== bs[i]) + { + return false; + } + } + + return true; +} + +function _VirtualDom_diffNodes(x, y, patches, index, diffKids) +{ + // Bail if obvious indicators have changed. Implies more serious + // structural changes such that it's not worth it to diff. + if (x.c !== y.c || x.f !== y.f) + { + _VirtualDom_pushPatch(patches, 0, index, y); + return; + } + + var factsDiff = _VirtualDom_diffFacts(x.d, y.d); + factsDiff && _VirtualDom_pushPatch(patches, 4, index, factsDiff); + + diffKids(x, y, patches, index); +} + + + +// DIFF FACTS + + +// TODO Instead of creating a new diff object, it's possible to just test if +// there *is* a diff. During the actual patch, do the diff again and make the +// modifications directly. This way, there's no new allocations. Worth it? +function _VirtualDom_diffFacts(x, y, category) +{ + var diff; + + // look for changes and removals + for (var xKey in x) + { + if (xKey === 'a1' || xKey === 'a0' || xKey === 'a3' || xKey === 'a4') + { + var subDiff = _VirtualDom_diffFacts(x[xKey], y[xKey] || {}, xKey); + if (subDiff) + { + diff = diff || {}; + diff[xKey] = subDiff; + } + continue; + } + + // remove if not in the new facts + if (!(xKey in y)) + { + diff = diff || {}; + diff[xKey] = + !category + ? (typeof x[xKey] === 'string' ? '' : null) + : + (category === 'a1') + ? '' + : + (category === 'a0' || category === 'a3') + ? undefined + : + { f: x[xKey].f, o: undefined }; + + continue; + } + + var xValue = x[xKey]; + var yValue = y[xKey]; + + // reference equal, so don't worry about it + if (xValue === yValue && xKey !== 'value' && xKey !== 'checked' + || category === 'a0' && _VirtualDom_equalEvents(xValue, yValue)) + { + continue; + } + + diff = diff || {}; + diff[xKey] = yValue; + } + + // add new stuff + for (var yKey in y) + { + if (!(yKey in x)) + { + diff = diff || {}; + diff[yKey] = y[yKey]; + } + } + + return diff; +} + + + +// DIFF KIDS + + +function _VirtualDom_diffKids(xParent, yParent, patches, index) +{ + var xKids = xParent.e; + var yKids = yParent.e; + + var xLen = xKids.length; + var yLen = yKids.length; + + // FIGURE OUT IF THERE ARE INSERTS OR REMOVALS + + if (xLen > yLen) + { + _VirtualDom_pushPatch(patches, 6, index, { + v: yLen, + i: xLen - yLen + }); + } + else if (xLen < yLen) + { + _VirtualDom_pushPatch(patches, 7, index, { + v: xLen, + e: yKids + }); + } + + // PAIRWISE DIFF EVERYTHING ELSE + + for (var minLen = xLen < yLen ? xLen : yLen, i = 0; i < minLen; i++) + { + var xKid = xKids[i]; + _VirtualDom_diffHelp(xKid, yKids[i], patches, ++index); + index += xKid.b || 0; + } +} + + + +// KEYED DIFF + + +function _VirtualDom_diffKeyedKids(xParent, yParent, patches, rootIndex) +{ + var localPatches = []; + + var changes = {}; // Dict String Entry + var inserts = []; // Array { index : Int, entry : Entry } + // type Entry = { tag : String, vnode : VNode, index : Int, data : _ } + + var xKids = xParent.e; + var yKids = yParent.e; + var xLen = xKids.length; + var yLen = yKids.length; + var xIndex = 0; + var yIndex = 0; + + var index = rootIndex; + + while (xIndex < xLen && yIndex < yLen) + { + var x = xKids[xIndex]; + var y = yKids[yIndex]; + + var xKey = x.a; + var yKey = y.a; + var xNode = x.b; + var yNode = y.b; + + var newMatch = undefined; + var oldMatch = undefined; + + // check if keys match + + if (xKey === yKey) + { + index++; + _VirtualDom_diffHelp(xNode, yNode, localPatches, index); + index += xNode.b || 0; + + xIndex++; + yIndex++; + continue; + } + + // look ahead 1 to detect insertions and removals. + + var xNext = xKids[xIndex + 1]; + var yNext = yKids[yIndex + 1]; + + if (xNext) + { + var xNextKey = xNext.a; + var xNextNode = xNext.b; + oldMatch = yKey === xNextKey; + } + + if (yNext) + { + var yNextKey = yNext.a; + var yNextNode = yNext.b; + newMatch = xKey === yNextKey; + } + + + // swap x and y + if (newMatch && oldMatch) + { + index++; + _VirtualDom_diffHelp(xNode, yNextNode, localPatches, index); + _VirtualDom_insertNode(changes, localPatches, xKey, yNode, yIndex, inserts); + index += xNode.b || 0; + + index++; + _VirtualDom_removeNode(changes, localPatches, xKey, xNextNode, index); + index += xNextNode.b || 0; + + xIndex += 2; + yIndex += 2; + continue; + } + + // insert y + if (newMatch) + { + index++; + _VirtualDom_insertNode(changes, localPatches, yKey, yNode, yIndex, inserts); + _VirtualDom_diffHelp(xNode, yNextNode, localPatches, index); + index += xNode.b || 0; + + xIndex += 1; + yIndex += 2; + continue; + } + + // remove x + if (oldMatch) + { + index++; + _VirtualDom_removeNode(changes, localPatches, xKey, xNode, index); + index += xNode.b || 0; + + index++; + _VirtualDom_diffHelp(xNextNode, yNode, localPatches, index); + index += xNextNode.b || 0; + + xIndex += 2; + yIndex += 1; + continue; + } + + // remove x, insert y + if (xNext && xNextKey === yNextKey) + { + index++; + _VirtualDom_removeNode(changes, localPatches, xKey, xNode, index); + _VirtualDom_insertNode(changes, localPatches, yKey, yNode, yIndex, inserts); + index += xNode.b || 0; + + index++; + _VirtualDom_diffHelp(xNextNode, yNextNode, localPatches, index); + index += xNextNode.b || 0; + + xIndex += 2; + yIndex += 2; + continue; + } + + break; + } + + // eat up any remaining nodes with removeNode and insertNode + + while (xIndex < xLen) + { + index++; + var x = xKids[xIndex]; + var xNode = x.b; + _VirtualDom_removeNode(changes, localPatches, x.a, xNode, index); + index += xNode.b || 0; + xIndex++; + } + + while (yIndex < yLen) + { + var endInserts = endInserts || []; + var y = yKids[yIndex]; + _VirtualDom_insertNode(changes, localPatches, y.a, y.b, undefined, endInserts); + yIndex++; + } + + if (localPatches.length > 0 || inserts.length > 0 || endInserts) + { + _VirtualDom_pushPatch(patches, 8, rootIndex, { + w: localPatches, + x: inserts, + y: endInserts + }); + } +} + + + +// CHANGES FROM KEYED DIFF + + +var _VirtualDom_POSTFIX = '_elmW6BL'; + + +function _VirtualDom_insertNode(changes, localPatches, key, vnode, yIndex, inserts) +{ + var entry = changes[key]; + + // never seen this key before + if (!entry) + { + entry = { + c: 0, + z: vnode, + r: yIndex, + s: undefined + }; + + inserts.push({ r: yIndex, A: entry }); + changes[key] = entry; + + return; + } + + // this key was removed earlier, a match! + if (entry.c === 1) + { + inserts.push({ r: yIndex, A: entry }); + + entry.c = 2; + var subPatches = []; + _VirtualDom_diffHelp(entry.z, vnode, subPatches, entry.r); + entry.r = yIndex; + entry.s.s = { + w: subPatches, + A: entry + }; + + return; + } + + // this key has already been inserted or moved, a duplicate! + _VirtualDom_insertNode(changes, localPatches, key + _VirtualDom_POSTFIX, vnode, yIndex, inserts); +} + + +function _VirtualDom_removeNode(changes, localPatches, key, vnode, index) +{ + var entry = changes[key]; + + // never seen this key before + if (!entry) + { + var patch = _VirtualDom_pushPatch(localPatches, 9, index, undefined); + + changes[key] = { + c: 1, + z: vnode, + r: index, + s: patch + }; + + return; + } + + // this key was inserted earlier, a match! + if (entry.c === 0) + { + entry.c = 2; + var subPatches = []; + _VirtualDom_diffHelp(vnode, entry.z, subPatches, index); + + _VirtualDom_pushPatch(localPatches, 9, index, { + w: subPatches, + A: entry + }); + + return; + } + + // this key has already been removed or moved, a duplicate! + _VirtualDom_removeNode(changes, localPatches, key + _VirtualDom_POSTFIX, vnode, index); +} + + + +// ADD DOM NODES +// +// Each DOM node has an "index" assigned in order of traversal. It is important +// to minimize our crawl over the actual DOM, so these indexes (along with the +// descendantsCount of virtual nodes) let us skip touching entire subtrees of +// the DOM if we know there are no patches there. + + +function _VirtualDom_addDomNodes(domNode, vNode, patches, eventNode) +{ + _VirtualDom_addDomNodesHelp(domNode, vNode, patches, 0, 0, vNode.b, eventNode); +} + + +// assumes `patches` is non-empty and indexes increase monotonically. +function _VirtualDom_addDomNodesHelp(domNode, vNode, patches, i, low, high, eventNode) +{ + var patch = patches[i]; + var index = patch.r; + + while (index === low) + { + var patchType = patch.$; + + if (patchType === 1) + { + _VirtualDom_addDomNodes(domNode, vNode.k, patch.s, eventNode); + } + else if (patchType === 8) + { + patch.t = domNode; + patch.u = eventNode; + + var subPatches = patch.s.w; + if (subPatches.length > 0) + { + _VirtualDom_addDomNodesHelp(domNode, vNode, subPatches, 0, low, high, eventNode); + } + } + else if (patchType === 9) + { + patch.t = domNode; + patch.u = eventNode; + + var data = patch.s; + if (data) + { + data.A.s = domNode; + var subPatches = data.w; + if (subPatches.length > 0) + { + _VirtualDom_addDomNodesHelp(domNode, vNode, subPatches, 0, low, high, eventNode); + } + } + } + else + { + patch.t = domNode; + patch.u = eventNode; + } + + i++; + + if (!(patch = patches[i]) || (index = patch.r) > high) + { + return i; + } + } + + var tag = vNode.$; + + if (tag === 4) + { + var subNode = vNode.k; + + while (subNode.$ === 4) + { + subNode = subNode.k; + } + + return _VirtualDom_addDomNodesHelp(domNode, subNode, patches, i, low + 1, high, domNode.elm_event_node_ref); + } + + // tag must be 1 or 2 at this point + + var vKids = vNode.e; + var childNodes = domNode.childNodes; + for (var j = 0; j < vKids.length; j++) + { + low++; + var vKid = tag === 1 ? vKids[j] : vKids[j].b; + var nextLow = low + (vKid.b || 0); + if (low <= index && index <= nextLow) + { + i = _VirtualDom_addDomNodesHelp(childNodes[j], vKid, patches, i, low, nextLow, eventNode); + if (!(patch = patches[i]) || (index = patch.r) > high) + { + return i; + } + } + low = nextLow; + } + return i; +} + + + +// APPLY PATCHES + + +function _VirtualDom_applyPatches(rootDomNode, oldVirtualNode, patches, eventNode) +{ + if (patches.length === 0) + { + return rootDomNode; + } + + _VirtualDom_addDomNodes(rootDomNode, oldVirtualNode, patches, eventNode); + return _VirtualDom_applyPatchesHelp(rootDomNode, patches); +} + +function _VirtualDom_applyPatchesHelp(rootDomNode, patches) +{ + for (var i = 0; i < patches.length; i++) + { + var patch = patches[i]; + var localDomNode = patch.t + var newNode = _VirtualDom_applyPatch(localDomNode, patch); + if (localDomNode === rootDomNode) + { + rootDomNode = newNode; + } + } + return rootDomNode; +} + +function _VirtualDom_applyPatch(domNode, patch) +{ + switch (patch.$) + { + case 0: + return _VirtualDom_applyPatchRedraw(domNode, patch.s, patch.u); + + case 4: + _VirtualDom_applyFacts(domNode, patch.u, patch.s); + return domNode; + + case 3: + domNode.replaceData(0, domNode.length, patch.s); + return domNode; + + case 1: + return _VirtualDom_applyPatchesHelp(domNode, patch.s); + + case 2: + if (domNode.elm_event_node_ref) + { + domNode.elm_event_node_ref.j = patch.s; + } + else + { + domNode.elm_event_node_ref = { j: patch.s, p: patch.u }; + } + return domNode; + + case 6: + var data = patch.s; + for (var i = 0; i < data.i; i++) + { + domNode.removeChild(domNode.childNodes[data.v]); + } + return domNode; + + case 7: + var data = patch.s; + var kids = data.e; + var i = data.v; + var theEnd = domNode.childNodes[i]; + for (; i < kids.length; i++) + { + domNode.insertBefore(_VirtualDom_render(kids[i], patch.u), theEnd); + } + return domNode; + + case 9: + var data = patch.s; + if (!data) + { + domNode.parentNode.removeChild(domNode); + return domNode; + } + var entry = data.A; + if (typeof entry.r !== 'undefined') + { + domNode.parentNode.removeChild(domNode); + } + entry.s = _VirtualDom_applyPatchesHelp(domNode, data.w); + return domNode; + + case 8: + return _VirtualDom_applyPatchReorder(domNode, patch); + + case 5: + return patch.s(domNode); + + default: + _Debug_crash(10); // 'Ran into an unknown patch!' + } +} + + +function _VirtualDom_applyPatchRedraw(domNode, vNode, eventNode) +{ + var parentNode = domNode.parentNode; + var newNode = _VirtualDom_render(vNode, eventNode); + + if (!newNode.elm_event_node_ref) + { + newNode.elm_event_node_ref = domNode.elm_event_node_ref; + } + + if (parentNode && newNode !== domNode) + { + parentNode.replaceChild(newNode, domNode); + } + return newNode; +} + + +function _VirtualDom_applyPatchReorder(domNode, patch) +{ + var data = patch.s; + + // remove end inserts + var frag = _VirtualDom_applyPatchReorderEndInsertsHelp(data.y, patch); + + // removals + domNode = _VirtualDom_applyPatchesHelp(domNode, data.w); + + // inserts + var inserts = data.x; + for (var i = 0; i < inserts.length; i++) + { + var insert = inserts[i]; + var entry = insert.A; + var node = entry.c === 2 + ? entry.s + : _VirtualDom_render(entry.z, patch.u); + domNode.insertBefore(node, domNode.childNodes[insert.r]); + } + + // add end inserts + if (frag) + { + _VirtualDom_appendChild(domNode, frag); + } + + return domNode; +} + + +function _VirtualDom_applyPatchReorderEndInsertsHelp(endInserts, patch) +{ + if (!endInserts) + { + return; + } + + var frag = _VirtualDom_doc.createDocumentFragment(); + for (var i = 0; i < endInserts.length; i++) + { + var insert = endInserts[i]; + var entry = insert.A; + _VirtualDom_appendChild(frag, entry.c === 2 + ? entry.s + : _VirtualDom_render(entry.z, patch.u) + ); + } + return frag; +} + + +function _VirtualDom_virtualize(node) +{ + // TEXT NODES + + if (node.nodeType === 3) + { + return _VirtualDom_text(node.textContent); + } + + + // WEIRD NODES + + if (node.nodeType !== 1) + { + return _VirtualDom_text(''); + } + + + // ELEMENT NODES + + var attrList = _List_Nil; + var attrs = node.attributes; + for (var i = attrs.length; i--; ) + { + var attr = attrs[i]; + var name = attr.name; + var value = attr.value; + attrList = _List_Cons( A2(_VirtualDom_attribute, name, value), attrList ); + } + + var tag = node.tagName.toLowerCase(); + var kidList = _List_Nil; + var kids = node.childNodes; + + for (var i = kids.length; i--; ) + { + kidList = _List_Cons(_VirtualDom_virtualize(kids[i]), kidList); + } + return A3(_VirtualDom_node, tag, attrList, kidList); +} + +function _VirtualDom_dekey(keyedNode) +{ + var keyedKids = keyedNode.e; + var len = keyedKids.length; + var kids = new Array(len); + for (var i = 0; i < len; i++) + { + kids[i] = keyedKids[i].b; + } + + return { + $: 1, + c: keyedNode.c, + d: keyedNode.d, + e: kids, + f: keyedNode.f, + b: keyedNode.b + }; +} + + + + +// ELEMENT + + +var _Debugger_element; + +var _Browser_element = _Debugger_element || F4(function(impl, flagDecoder, debugMetadata, args) +{ + return _Platform_initialize( + flagDecoder, + args, + impl.aa, + impl.am, + impl.dK, + function(sendToApp, initialModel) { + var view = impl.d7; + /**/ + var domNode = args['node']; + //*/ + /**_UNUSED/ + var domNode = args && args['node'] ? args['node'] : _Debug_crash(0); + //*/ + var currNode = _VirtualDom_virtualize(domNode); + + return _Browser_makeAnimator(initialModel, function(model) + { + var nextNode = view(model); + var patches = _VirtualDom_diff(currNode, nextNode); + domNode = _VirtualDom_applyPatches(domNode, currNode, patches, sendToApp); + currNode = nextNode; + }); + } + ); +}); + + + +// DOCUMENT + + +var _Debugger_document; + +var _Browser_document = _Debugger_document || F4(function(impl, flagDecoder, debugMetadata, args) +{ + return _Platform_initialize( + flagDecoder, + args, + impl.aa, + impl.am, + impl.dK, + function(sendToApp, initialModel) { + var divertHrefToApp = impl.aV && impl.aV(sendToApp) + var view = impl.d7; + var title = _VirtualDom_doc.title; + var bodyNode = _VirtualDom_doc.body; + var currNode = _VirtualDom_virtualize(bodyNode); + return _Browser_makeAnimator(initialModel, function(model) + { + _VirtualDom_divertHrefToApp = divertHrefToApp; + var doc = view(model); + var nextNode = _VirtualDom_node('body')(_List_Nil)(doc.cf); + var patches = _VirtualDom_diff(currNode, nextNode); + bodyNode = _VirtualDom_applyPatches(bodyNode, currNode, patches, sendToApp); + currNode = nextNode; + _VirtualDom_divertHrefToApp = 0; + (title !== doc.d$) && (_VirtualDom_doc.title = title = doc.d$); + }); + } + ); +}); + + + +// ANIMATION + + +var _Browser_cancelAnimationFrame = + typeof cancelAnimationFrame !== 'undefined' + ? cancelAnimationFrame + : function(id) { clearTimeout(id); }; + +var _Browser_requestAnimationFrame = + typeof requestAnimationFrame !== 'undefined' + ? requestAnimationFrame + : function(callback) { return setTimeout(callback, 1000 / 60); }; + + +function _Browser_makeAnimator(model, draw) +{ + draw(model); + + var state = 0; + + function updateIfNeeded() + { + state = state === 1 + ? 0 + : ( _Browser_requestAnimationFrame(updateIfNeeded), draw(model), 1 ); + } + + return function(nextModel, isSync) + { + model = nextModel; + + isSync + ? ( draw(model), + state === 2 && (state = 1) + ) + : ( state === 0 && _Browser_requestAnimationFrame(updateIfNeeded), + state = 2 + ); + }; +} + + + +// APPLICATION + + +function _Browser_application(impl) +{ + var onUrlChange = impl.c9; + var onUrlRequest = impl.da; + var key = function() { key.a(onUrlChange(_Browser_getUrl())); }; + + return _Browser_document({ + aV: function(sendToApp) + { + key.a = sendToApp; + _Browser_window.addEventListener('popstate', key); + _Browser_window.navigator.userAgent.indexOf('Trident') < 0 || _Browser_window.addEventListener('hashchange', key); + + return F2(function(domNode, event) + { + if (!event.ctrlKey && !event.metaKey && !event.shiftKey && event.button < 1 && !domNode.target && !domNode.hasAttribute('download')) + { + event.preventDefault(); + var href = domNode.href; + var curr = _Browser_getUrl(); + var next = $elm$url$Url$fromString(href).a; + sendToApp(onUrlRequest( + (next + && curr.bA === next.bA + && curr.bj === next.bj + && curr.bx.a === next.bx.a + ) + ? $elm$browser$Browser$Internal(next) + : $elm$browser$Browser$External(href) + )); + } + }); + }, + aa: function(flags) + { + return A3(impl.aa, flags, _Browser_getUrl(), key); + }, + d7: impl.d7, + am: impl.am, + dK: impl.dK + }); +} + +function _Browser_getUrl() +{ + return $elm$url$Url$fromString(_VirtualDom_doc.location.href).a || _Debug_crash(1); +} + +var _Browser_go = F2(function(key, n) +{ + return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() { + n && history.go(n); + key(); + })); +}); + +var _Browser_pushUrl = F2(function(key, url) +{ + return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() { + history.pushState({}, '', url); + key(); + })); +}); + +var _Browser_replaceUrl = F2(function(key, url) +{ + return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() { + history.replaceState({}, '', url); + key(); + })); +}); + + + +// GLOBAL EVENTS + + +var _Browser_fakeNode = { addEventListener: function() {}, removeEventListener: function() {} }; +var _Browser_doc = typeof document !== 'undefined' ? document : _Browser_fakeNode; +var _Browser_window = typeof window !== 'undefined' ? window : _Browser_fakeNode; + +var _Browser_on = F3(function(node, eventName, sendToSelf) +{ + return _Scheduler_spawn(_Scheduler_binding(function(callback) + { + function handler(event) { _Scheduler_rawSpawn(sendToSelf(event)); } + node.addEventListener(eventName, handler, _VirtualDom_passiveSupported && { passive: true }); + return function() { node.removeEventListener(eventName, handler); }; + })); +}); + +var _Browser_decodeEvent = F2(function(decoder, event) +{ + var result = _Json_runHelp(decoder, event); + return $elm$core$Result$isOk(result) ? $elm$core$Maybe$Just(result.a) : $elm$core$Maybe$Nothing; +}); + + + +// PAGE VISIBILITY + + +function _Browser_visibilityInfo() +{ + return (typeof _VirtualDom_doc.hidden !== 'undefined') + ? { cK: 'hidden', cp: 'visibilitychange' } + : + (typeof _VirtualDom_doc.mozHidden !== 'undefined') + ? { cK: 'mozHidden', cp: 'mozvisibilitychange' } + : + (typeof _VirtualDom_doc.msHidden !== 'undefined') + ? { cK: 'msHidden', cp: 'msvisibilitychange' } + : + (typeof _VirtualDom_doc.webkitHidden !== 'undefined') + ? { cK: 'webkitHidden', cp: 'webkitvisibilitychange' } + : { cK: 'hidden', cp: 'visibilitychange' }; +} + + + +// ANIMATION FRAMES + + +function _Browser_rAF() +{ + return _Scheduler_binding(function(callback) + { + var id = _Browser_requestAnimationFrame(function() { + callback(_Scheduler_succeed(Date.now())); + }); + + return function() { + _Browser_cancelAnimationFrame(id); + }; + }); +} + + +function _Browser_now() +{ + return _Scheduler_binding(function(callback) + { + callback(_Scheduler_succeed(Date.now())); + }); +} + + + +// DOM STUFF + + +function _Browser_withNode(id, doStuff) +{ + return _Scheduler_binding(function(callback) + { + _Browser_requestAnimationFrame(function() { + var node = document.getElementById(id); + callback(node + ? _Scheduler_succeed(doStuff(node)) + : _Scheduler_fail($elm$browser$Browser$Dom$NotFound(id)) + ); + }); + }); +} + + +function _Browser_withWindow(doStuff) +{ + return _Scheduler_binding(function(callback) + { + _Browser_requestAnimationFrame(function() { + callback(_Scheduler_succeed(doStuff())); + }); + }); +} + + +// FOCUS and BLUR + + +var _Browser_call = F2(function(functionName, id) +{ + return _Browser_withNode(id, function(node) { + node[functionName](); + return _Utils_Tuple0; + }); +}); + + + +// WINDOW VIEWPORT + + +function _Browser_getViewport() +{ + return { + bG: _Browser_getScene(), + bQ: { + bV: _Browser_window.pageXOffset, + bW: _Browser_window.pageYOffset, + bS: _Browser_doc.documentElement.clientWidth, + bg: _Browser_doc.documentElement.clientHeight + } + }; +} + +function _Browser_getScene() +{ + var body = _Browser_doc.body; + var elem = _Browser_doc.documentElement; + return { + bS: Math.max(body.scrollWidth, body.offsetWidth, elem.scrollWidth, elem.offsetWidth, elem.clientWidth), + bg: Math.max(body.scrollHeight, body.offsetHeight, elem.scrollHeight, elem.offsetHeight, elem.clientHeight) + }; +} + +var _Browser_setViewport = F2(function(x, y) +{ + return _Browser_withWindow(function() + { + _Browser_window.scroll(x, y); + return _Utils_Tuple0; + }); +}); + + + +// ELEMENT VIEWPORT + + +function _Browser_getViewportOf(id) +{ + return _Browser_withNode(id, function(node) + { + return { + bG: { + bS: node.scrollWidth, + bg: node.scrollHeight + }, + bQ: { + bV: node.scrollLeft, + bW: node.scrollTop, + bS: node.clientWidth, + bg: node.clientHeight + } + }; + }); +} + + +var _Browser_setViewportOf = F3(function(id, x, y) +{ + return _Browser_withNode(id, function(node) + { + node.scrollLeft = x; + node.scrollTop = y; + return _Utils_Tuple0; + }); +}); + + + +// ELEMENT + + +function _Browser_getElement(id) +{ + return _Browser_withNode(id, function(node) + { + var rect = node.getBoundingClientRect(); + var x = _Browser_window.pageXOffset; + var y = _Browser_window.pageYOffset; + return { + bG: _Browser_getScene(), + bQ: { + bV: x, + bW: y, + bS: _Browser_doc.documentElement.clientWidth, + bg: _Browser_doc.documentElement.clientHeight + }, + cA: { + bV: x + rect.left, + bW: y + rect.top, + bS: rect.width, + bg: rect.height + } + }; + }); +} + + + +// LOAD and RELOAD + + +function _Browser_reload(skipCache) +{ + return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function(callback) + { + _VirtualDom_doc.location.reload(skipCache); + })); +} + +function _Browser_load(url) +{ + return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function(callback) + { + try + { + _Browser_window.location = url; + } + catch(err) + { + // Only Firefox can throw a NS_ERROR_MALFORMED_URI exception here. + // Other browsers reload the page, so let's be consistent about that. + _VirtualDom_doc.location.reload(false); + } + })); +} + + +function _Url_percentEncode(string) +{ + return encodeURIComponent(string); +} + +function _Url_percentDecode(string) +{ + try + { + return $elm$core$Maybe$Just(decodeURIComponent(string)); + } + catch (e) + { + return $elm$core$Maybe$Nothing; + } +} + + +var _Bitwise_and = F2(function(a, b) +{ + return a & b; +}); + +var _Bitwise_or = F2(function(a, b) +{ + return a | b; +}); + +var _Bitwise_xor = F2(function(a, b) +{ + return a ^ b; +}); + +function _Bitwise_complement(a) +{ + return ~a; +}; + +var _Bitwise_shiftLeftBy = F2(function(offset, a) +{ + return a << offset; +}); + +var _Bitwise_shiftRightBy = F2(function(offset, a) +{ + return a >> offset; +}); + +var _Bitwise_shiftRightZfBy = F2(function(offset, a) +{ + return a >>> offset; +}); + + + +// SEND REQUEST + +var _Http_toTask = F3(function(router, toTask, request) +{ + return _Scheduler_binding(function(callback) + { + function done(response) { + callback(toTask(request.cB.a(response))); + } + + var xhr = new XMLHttpRequest(); + xhr.addEventListener('error', function() { done($elm$http$Http$NetworkError_); }); + xhr.addEventListener('timeout', function() { done($elm$http$Http$Timeout_); }); + xhr.addEventListener('load', function() { done(_Http_toResponse(request.cB.b, xhr)); }); + $elm$core$Maybe$isJust(request.d3) && _Http_track(router, xhr, request.d3.a); + + try { + xhr.open(request.c$, request.bN, true); + } catch (e) { + return done($elm$http$Http$BadUrl_(request.bN)); + } + + _Http_configureRequest(xhr, request); + + request.cf.a && xhr.setRequestHeader('Content-Type', request.cf.a); + xhr.send(request.cf.b); + + return function() { xhr.c = true; xhr.abort(); }; + }); +}); + + +// CONFIGURE + +function _Http_configureRequest(xhr, request) +{ + for (var headers = request.cJ; headers.b; headers = headers.b) // WHILE_CONS + { + xhr.setRequestHeader(headers.a.a, headers.a.b); + } + xhr.timeout = request.d_.a || 0; + xhr.responseType = request.cB.d; + xhr.withCredentials = request.b7; +} + + +// RESPONSES + +function _Http_toResponse(toBody, xhr) +{ + return A2( + 200 <= xhr.status && xhr.status < 300 ? $elm$http$Http$GoodStatus_ : $elm$http$Http$BadStatus_, + _Http_toMetadata(xhr), + toBody(xhr.response) + ); +} + + +// METADATA + +function _Http_toMetadata(xhr) +{ + return { + bN: xhr.responseURL, + dD: xhr.status, + dE: xhr.statusText, + cJ: _Http_parseHeaders(xhr.getAllResponseHeaders()) + }; +} + + +// HEADERS + +function _Http_parseHeaders(rawHeaders) +{ + if (!rawHeaders) + { + return $elm$core$Dict$empty; + } + + var headers = $elm$core$Dict$empty; + var headerPairs = rawHeaders.split('\r\n'); + for (var i = headerPairs.length; i--; ) + { + var headerPair = headerPairs[i]; + var index = headerPair.indexOf(': '); + if (index > 0) + { + var key = headerPair.substring(0, index); + var value = headerPair.substring(index + 2); + + headers = A3($elm$core$Dict$update, key, function(oldValue) { + return $elm$core$Maybe$Just($elm$core$Maybe$isJust(oldValue) + ? value + ', ' + oldValue.a + : value + ); + }, headers); + } + } + return headers; +} + + +// EXPECT + +var _Http_expect = F3(function(type, toBody, toValue) +{ + return { + $: 0, + d: type, + b: toBody, + a: toValue + }; +}); + +var _Http_mapExpect = F2(function(func, expect) +{ + return { + $: 0, + d: expect.d, + b: expect.b, + a: function(x) { return func(expect.a(x)); } + }; +}); + +function _Http_toDataView(arrayBuffer) +{ + return new DataView(arrayBuffer); +} + + +// BODY and PARTS + +var _Http_emptyBody = { $: 0 }; +var _Http_pair = F2(function(a, b) { return { $: 0, a: a, b: b }; }); + +function _Http_toFormData(parts) +{ + for (var formData = new FormData(); parts.b; parts = parts.b) // WHILE_CONS + { + var part = parts.a; + formData.append(part.a, part.b); + } + return formData; +} + +var _Http_bytesToBlob = F2(function(mime, bytes) +{ + return new Blob([bytes], { type: mime }); +}); + + +// PROGRESS + +function _Http_track(router, xhr, tracker) +{ + // TODO check out lengthComputable on loadstart event + + xhr.upload.addEventListener('progress', function(event) { + if (xhr.c) { return; } + _Scheduler_rawSpawn(A2($elm$core$Platform$sendToSelf, router, _Utils_Tuple2(tracker, $elm$http$Http$Sending({ + dv: event.loaded, + bI: event.total + })))); + }); + xhr.addEventListener('progress', function(event) { + if (xhr.c) { return; } + _Scheduler_rawSpawn(A2($elm$core$Platform$sendToSelf, router, _Utils_Tuple2(tracker, $elm$http$Http$Receiving({ + di: event.loaded, + bI: event.lengthComputable ? $elm$core$Maybe$Just(event.total) : $elm$core$Maybe$Nothing + })))); + }); +}var $elm$core$Maybe$Nothing = {$: 1}; +var $ryannhg$elm_spa$Spa$ChangedUrl = function (a) { + return {$: 0, a: a}; +}; +var $ryannhg$elm_spa$Spa$ClickedLink = function (a) { + return {$: 1, a: a}; +}; +var $elm$core$Basics$always = F2( + function (a, _v0) { + return a; + }); +var $elm$core$Basics$EQ = 1; +var $elm$core$Basics$GT = 2; +var $elm$core$Basics$LT = 0; +var $elm$core$List$cons = _List_cons; +var $elm$core$Dict$foldr = F3( + function (func, acc, t) { + foldr: + while (true) { + if (t.$ === -2) { + return acc; + } else { + var key = t.b; + var value = t.c; + var left = t.d; + var right = t.e; + var $temp$func = func, + $temp$acc = A3( + func, + key, + value, + A3($elm$core$Dict$foldr, func, acc, right)), + $temp$t = left; + func = $temp$func; + acc = $temp$acc; + t = $temp$t; + continue foldr; + } + } + }); +var $elm$core$Dict$toList = function (dict) { + return A3( + $elm$core$Dict$foldr, + F3( + function (key, value, list) { + return A2( + $elm$core$List$cons, + _Utils_Tuple2(key, value), + list); + }), + _List_Nil, + dict); +}; +var $elm$core$Dict$keys = function (dict) { + return A3( + $elm$core$Dict$foldr, + F3( + function (key, value, keyList) { + return A2($elm$core$List$cons, key, keyList); + }), + _List_Nil, + dict); +}; +var $elm$core$Set$toList = function (_v0) { + var dict = _v0; + return $elm$core$Dict$keys(dict); +}; +var $elm$core$Elm$JsArray$foldr = _JsArray_foldr; +var $elm$core$Array$foldr = F3( + function (func, baseCase, _v0) { + var tree = _v0.c; + var tail = _v0.d; + var helper = F2( + function (node, acc) { + if (!node.$) { + var subTree = node.a; + return A3($elm$core$Elm$JsArray$foldr, helper, acc, subTree); + } else { + var values = node.a; + return A3($elm$core$Elm$JsArray$foldr, func, acc, values); + } + }); + return A3( + $elm$core$Elm$JsArray$foldr, + helper, + A3($elm$core$Elm$JsArray$foldr, func, baseCase, tail), + tree); + }); +var $elm$core$Array$toList = function (array) { + return A3($elm$core$Array$foldr, $elm$core$List$cons, _List_Nil, array); +}; +var $elm$core$Result$Err = function (a) { + return {$: 1, a: a}; +}; +var $elm$json$Json$Decode$Failure = F2( + function (a, b) { + return {$: 3, a: a, b: b}; + }); +var $elm$json$Json$Decode$Field = F2( + function (a, b) { + return {$: 0, a: a, b: b}; + }); +var $elm$json$Json$Decode$Index = F2( + function (a, b) { + return {$: 1, a: a, b: b}; + }); +var $elm$core$Result$Ok = function (a) { + return {$: 0, a: a}; +}; +var $elm$json$Json$Decode$OneOf = function (a) { + return {$: 2, a: a}; +}; +var $elm$core$Basics$False = 1; +var $elm$core$Basics$add = _Basics_add; +var $elm$core$Maybe$Just = function (a) { + return {$: 0, a: a}; +}; +var $elm$core$String$all = _String_all; +var $elm$core$Basics$and = _Basics_and; +var $elm$core$Basics$append = _Utils_append; +var $elm$json$Json$Encode$encode = _Json_encode; +var $elm$core$String$fromInt = _String_fromNumber; +var $elm$core$String$join = F2( + function (sep, chunks) { + return A2( + _String_join, + sep, + _List_toArray(chunks)); + }); +var $elm$core$String$split = F2( + function (sep, string) { + return _List_fromArray( + A2(_String_split, sep, string)); + }); +var $elm$json$Json$Decode$indent = function (str) { + return A2( + $elm$core$String$join, + '\n ', + A2($elm$core$String$split, '\n', str)); +}; +var $elm$core$List$foldl = F3( + function (func, acc, list) { + foldl: + while (true) { + if (!list.b) { + return acc; + } else { + var x = list.a; + var xs = list.b; + var $temp$func = func, + $temp$acc = A2(func, x, acc), + $temp$list = xs; + func = $temp$func; + acc = $temp$acc; + list = $temp$list; + continue foldl; + } + } + }); +var $elm$core$List$length = function (xs) { + return A3( + $elm$core$List$foldl, + F2( + function (_v0, i) { + return i + 1; + }), + 0, + xs); +}; +var $elm$core$List$map2 = _List_map2; +var $elm$core$Basics$le = _Utils_le; +var $elm$core$Basics$sub = _Basics_sub; +var $elm$core$List$rangeHelp = F3( + function (lo, hi, list) { + rangeHelp: + while (true) { + if (_Utils_cmp(lo, hi) < 1) { + var $temp$lo = lo, + $temp$hi = hi - 1, + $temp$list = A2($elm$core$List$cons, hi, list); + lo = $temp$lo; + hi = $temp$hi; + list = $temp$list; + continue rangeHelp; + } else { + return list; + } + } + }); +var $elm$core$List$range = F2( + function (lo, hi) { + return A3($elm$core$List$rangeHelp, lo, hi, _List_Nil); + }); +var $elm$core$List$indexedMap = F2( + function (f, xs) { + return A3( + $elm$core$List$map2, + f, + A2( + $elm$core$List$range, + 0, + $elm$core$List$length(xs) - 1), + xs); + }); +var $elm$core$Char$toCode = _Char_toCode; +var $elm$core$Char$isLower = function (_char) { + var code = $elm$core$Char$toCode(_char); + return (97 <= code) && (code <= 122); +}; +var $elm$core$Char$isUpper = function (_char) { + var code = $elm$core$Char$toCode(_char); + return (code <= 90) && (65 <= code); +}; +var $elm$core$Basics$or = _Basics_or; +var $elm$core$Char$isAlpha = function (_char) { + return $elm$core$Char$isLower(_char) || $elm$core$Char$isUpper(_char); +}; +var $elm$core$Char$isDigit = function (_char) { + var code = $elm$core$Char$toCode(_char); + return (code <= 57) && (48 <= code); +}; +var $elm$core$Char$isAlphaNum = function (_char) { + return $elm$core$Char$isLower(_char) || ($elm$core$Char$isUpper(_char) || $elm$core$Char$isDigit(_char)); +}; +var $elm$core$List$reverse = function (list) { + return A3($elm$core$List$foldl, $elm$core$List$cons, _List_Nil, list); +}; +var $elm$core$String$uncons = _String_uncons; +var $elm$json$Json$Decode$errorOneOf = F2( + function (i, error) { + return '\n\n(' + ($elm$core$String$fromInt(i + 1) + (') ' + $elm$json$Json$Decode$indent( + $elm$json$Json$Decode$errorToString(error)))); + }); +var $elm$json$Json$Decode$errorToString = function (error) { + return A2($elm$json$Json$Decode$errorToStringHelp, error, _List_Nil); +}; +var $elm$json$Json$Decode$errorToStringHelp = F2( + function (error, context) { + errorToStringHelp: + while (true) { + switch (error.$) { + case 0: + var f = error.a; + var err = error.b; + var isSimple = function () { + var _v1 = $elm$core$String$uncons(f); + if (_v1.$ === 1) { + return false; + } else { + var _v2 = _v1.a; + var _char = _v2.a; + var rest = _v2.b; + return $elm$core$Char$isAlpha(_char) && A2($elm$core$String$all, $elm$core$Char$isAlphaNum, rest); + } + }(); + var fieldName = isSimple ? ('.' + f) : ('[\'' + (f + '\']')); + var $temp$error = err, + $temp$context = A2($elm$core$List$cons, fieldName, context); + error = $temp$error; + context = $temp$context; + continue errorToStringHelp; + case 1: + var i = error.a; + var err = error.b; + var indexName = '[' + ($elm$core$String$fromInt(i) + ']'); + var $temp$error = err, + $temp$context = A2($elm$core$List$cons, indexName, context); + error = $temp$error; + context = $temp$context; + continue errorToStringHelp; + case 2: + var errors = error.a; + if (!errors.b) { + return 'Ran into a Json.Decode.oneOf with no possibilities' + function () { + if (!context.b) { + return '!'; + } else { + return ' at json' + A2( + $elm$core$String$join, + '', + $elm$core$List$reverse(context)); + } + }(); + } else { + if (!errors.b.b) { + var err = errors.a; + var $temp$error = err, + $temp$context = context; + error = $temp$error; + context = $temp$context; + continue errorToStringHelp; + } else { + var starter = function () { + if (!context.b) { + return 'Json.Decode.oneOf'; + } else { + return 'The Json.Decode.oneOf at json' + A2( + $elm$core$String$join, + '', + $elm$core$List$reverse(context)); + } + }(); + var introduction = starter + (' failed in the following ' + ($elm$core$String$fromInt( + $elm$core$List$length(errors)) + ' ways:')); + return A2( + $elm$core$String$join, + '\n\n', + A2( + $elm$core$List$cons, + introduction, + A2($elm$core$List$indexedMap, $elm$json$Json$Decode$errorOneOf, errors))); + } + } + default: + var msg = error.a; + var json = error.b; + var introduction = function () { + if (!context.b) { + return 'Problem with the given value:\n\n'; + } else { + return 'Problem with the value at json' + (A2( + $elm$core$String$join, + '', + $elm$core$List$reverse(context)) + ':\n\n '); + } + }(); + return introduction + ($elm$json$Json$Decode$indent( + A2($elm$json$Json$Encode$encode, 4, json)) + ('\n\n' + msg)); + } + } + }); +var $elm$core$Array$branchFactor = 32; +var $elm$core$Array$Array_elm_builtin = F4( + function (a, b, c, d) { + return {$: 0, a: a, b: b, c: c, d: d}; + }); +var $elm$core$Elm$JsArray$empty = _JsArray_empty; +var $elm$core$Basics$ceiling = _Basics_ceiling; +var $elm$core$Basics$fdiv = _Basics_fdiv; +var $elm$core$Basics$logBase = F2( + function (base, number) { + return _Basics_log(number) / _Basics_log(base); + }); +var $elm$core$Basics$toFloat = _Basics_toFloat; +var $elm$core$Array$shiftStep = $elm$core$Basics$ceiling( + A2($elm$core$Basics$logBase, 2, $elm$core$Array$branchFactor)); +var $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); +var $elm$core$Elm$JsArray$initialize = _JsArray_initialize; +var $elm$core$Array$Leaf = function (a) { + return {$: 1, a: a}; +}; +var $elm$core$Basics$apL = F2( + function (f, x) { + return f(x); + }); +var $elm$core$Basics$apR = F2( + function (x, f) { + return f(x); + }); +var $elm$core$Basics$eq = _Utils_equal; +var $elm$core$Basics$floor = _Basics_floor; +var $elm$core$Elm$JsArray$length = _JsArray_length; +var $elm$core$Basics$gt = _Utils_gt; +var $elm$core$Basics$max = F2( + function (x, y) { + return (_Utils_cmp(x, y) > 0) ? x : y; + }); +var $elm$core$Basics$mul = _Basics_mul; +var $elm$core$Array$SubTree = function (a) { + return {$: 0, a: a}; +}; +var $elm$core$Elm$JsArray$initializeFromList = _JsArray_initializeFromList; +var $elm$core$Array$compressNodes = F2( + function (nodes, acc) { + compressNodes: + while (true) { + var _v0 = A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, nodes); + var node = _v0.a; + var remainingNodes = _v0.b; + var newAcc = A2( + $elm$core$List$cons, + $elm$core$Array$SubTree(node), + acc); + if (!remainingNodes.b) { + return $elm$core$List$reverse(newAcc); + } else { + var $temp$nodes = remainingNodes, + $temp$acc = newAcc; + nodes = $temp$nodes; + acc = $temp$acc; + continue compressNodes; + } + } + }); +var $elm$core$Tuple$first = function (_v0) { + var x = _v0.a; + return x; +}; +var $elm$core$Array$treeFromBuilder = F2( + function (nodeList, nodeListSize) { + treeFromBuilder: + while (true) { + var newNodeSize = $elm$core$Basics$ceiling(nodeListSize / $elm$core$Array$branchFactor); + if (newNodeSize === 1) { + return A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, nodeList).a; + } else { + var $temp$nodeList = A2($elm$core$Array$compressNodes, nodeList, _List_Nil), + $temp$nodeListSize = newNodeSize; + nodeList = $temp$nodeList; + nodeListSize = $temp$nodeListSize; + continue treeFromBuilder; + } + } + }); +var $elm$core$Array$builderToArray = F2( + function (reverseNodeList, builder) { + if (!builder.c) { + return A4( + $elm$core$Array$Array_elm_builtin, + $elm$core$Elm$JsArray$length(builder.e), + $elm$core$Array$shiftStep, + $elm$core$Elm$JsArray$empty, + builder.e); + } else { + var treeLen = builder.c * $elm$core$Array$branchFactor; + var depth = $elm$core$Basics$floor( + A2($elm$core$Basics$logBase, $elm$core$Array$branchFactor, treeLen - 1)); + var correctNodeList = reverseNodeList ? $elm$core$List$reverse(builder.f) : builder.f; + var tree = A2($elm$core$Array$treeFromBuilder, correctNodeList, builder.c); + return A4( + $elm$core$Array$Array_elm_builtin, + $elm$core$Elm$JsArray$length(builder.e) + treeLen, + A2($elm$core$Basics$max, 5, depth * $elm$core$Array$shiftStep), + tree, + builder.e); + } + }); +var $elm$core$Basics$idiv = _Basics_idiv; +var $elm$core$Basics$lt = _Utils_lt; +var $elm$core$Array$initializeHelp = F5( + function (fn, fromIndex, len, nodeList, tail) { + initializeHelp: + while (true) { + if (fromIndex < 0) { + return A2( + $elm$core$Array$builderToArray, + false, + {f: nodeList, c: (len / $elm$core$Array$branchFactor) | 0, e: tail}); + } else { + var leaf = $elm$core$Array$Leaf( + A3($elm$core$Elm$JsArray$initialize, $elm$core$Array$branchFactor, fromIndex, fn)); + var $temp$fn = fn, + $temp$fromIndex = fromIndex - $elm$core$Array$branchFactor, + $temp$len = len, + $temp$nodeList = A2($elm$core$List$cons, leaf, nodeList), + $temp$tail = tail; + fn = $temp$fn; + fromIndex = $temp$fromIndex; + len = $temp$len; + nodeList = $temp$nodeList; + tail = $temp$tail; + continue initializeHelp; + } + } + }); +var $elm$core$Basics$remainderBy = _Basics_remainderBy; +var $elm$core$Array$initialize = F2( + function (len, fn) { + if (len <= 0) { + return $elm$core$Array$empty; + } else { + var tailLen = len % $elm$core$Array$branchFactor; + var tail = A3($elm$core$Elm$JsArray$initialize, tailLen, len - tailLen, fn); + var initialFromIndex = (len - tailLen) - $elm$core$Array$branchFactor; + return A5($elm$core$Array$initializeHelp, fn, initialFromIndex, len, _List_Nil, tail); + } + }); +var $elm$core$Basics$True = 0; +var $elm$core$Result$isOk = function (result) { + if (!result.$) { + return true; + } else { + return false; + } +}; +var $elm$json$Json$Decode$map = _Json_map1; +var $elm$json$Json$Decode$map2 = _Json_map2; +var $elm$json$Json$Decode$succeed = _Json_succeed; +var $elm$virtual_dom$VirtualDom$toHandlerInt = function (handler) { + switch (handler.$) { + case 0: + return 0; + case 1: + return 1; + case 2: + return 2; + default: + return 3; + } +}; +var $elm$browser$Browser$External = function (a) { + return {$: 1, a: a}; +}; +var $elm$browser$Browser$Internal = function (a) { + return {$: 0, a: a}; +}; +var $elm$core$Basics$identity = function (x) { + return x; +}; +var $elm$browser$Browser$Dom$NotFound = $elm$core$Basics$identity; +var $elm$url$Url$Http = 0; +var $elm$url$Url$Https = 1; +var $elm$url$Url$Url = F6( + function (protocol, host, port_, path, query, fragment) { + return {bc: fragment, bj: host, df: path, bx: port_, bA: protocol, bB: query}; + }); +var $elm$core$String$contains = _String_contains; +var $elm$core$String$length = _String_length; +var $elm$core$String$slice = _String_slice; +var $elm$core$String$dropLeft = F2( + function (n, string) { + return (n < 1) ? string : A3( + $elm$core$String$slice, + n, + $elm$core$String$length(string), + string); + }); +var $elm$core$String$indexes = _String_indexes; +var $elm$core$String$isEmpty = function (string) { + return string === ''; +}; +var $elm$core$String$left = F2( + function (n, string) { + return (n < 1) ? '' : A3($elm$core$String$slice, 0, n, string); + }); +var $elm$core$String$toInt = _String_toInt; +var $elm$url$Url$chompBeforePath = F5( + function (protocol, path, params, frag, str) { + if ($elm$core$String$isEmpty(str) || A2($elm$core$String$contains, '@', str)) { + return $elm$core$Maybe$Nothing; + } else { + var _v0 = A2($elm$core$String$indexes, ':', str); + if (!_v0.b) { + return $elm$core$Maybe$Just( + A6($elm$url$Url$Url, protocol, str, $elm$core$Maybe$Nothing, path, params, frag)); + } else { + if (!_v0.b.b) { + var i = _v0.a; + var _v1 = $elm$core$String$toInt( + A2($elm$core$String$dropLeft, i + 1, str)); + if (_v1.$ === 1) { + return $elm$core$Maybe$Nothing; + } else { + var port_ = _v1; + return $elm$core$Maybe$Just( + A6( + $elm$url$Url$Url, + protocol, + A2($elm$core$String$left, i, str), + port_, + path, + params, + frag)); + } + } else { + return $elm$core$Maybe$Nothing; + } + } + } + }); +var $elm$url$Url$chompBeforeQuery = F4( + function (protocol, params, frag, str) { + if ($elm$core$String$isEmpty(str)) { + return $elm$core$Maybe$Nothing; + } else { + var _v0 = A2($elm$core$String$indexes, '/', str); + if (!_v0.b) { + return A5($elm$url$Url$chompBeforePath, protocol, '/', params, frag, str); + } else { + var i = _v0.a; + return A5( + $elm$url$Url$chompBeforePath, + protocol, + A2($elm$core$String$dropLeft, i, str), + params, + frag, + A2($elm$core$String$left, i, str)); + } + } + }); +var $elm$url$Url$chompBeforeFragment = F3( + function (protocol, frag, str) { + if ($elm$core$String$isEmpty(str)) { + return $elm$core$Maybe$Nothing; + } else { + var _v0 = A2($elm$core$String$indexes, '?', str); + if (!_v0.b) { + return A4($elm$url$Url$chompBeforeQuery, protocol, $elm$core$Maybe$Nothing, frag, str); + } else { + var i = _v0.a; + return A4( + $elm$url$Url$chompBeforeQuery, + protocol, + $elm$core$Maybe$Just( + A2($elm$core$String$dropLeft, i + 1, str)), + frag, + A2($elm$core$String$left, i, str)); + } + } + }); +var $elm$url$Url$chompAfterProtocol = F2( + function (protocol, str) { + if ($elm$core$String$isEmpty(str)) { + return $elm$core$Maybe$Nothing; + } else { + var _v0 = A2($elm$core$String$indexes, '#', str); + if (!_v0.b) { + return A3($elm$url$Url$chompBeforeFragment, protocol, $elm$core$Maybe$Nothing, str); + } else { + var i = _v0.a; + return A3( + $elm$url$Url$chompBeforeFragment, + protocol, + $elm$core$Maybe$Just( + A2($elm$core$String$dropLeft, i + 1, str)), + A2($elm$core$String$left, i, str)); + } + } + }); +var $elm$core$String$startsWith = _String_startsWith; +var $elm$url$Url$fromString = function (str) { + return A2($elm$core$String$startsWith, 'http://', str) ? A2( + $elm$url$Url$chompAfterProtocol, + 0, + A2($elm$core$String$dropLeft, 7, str)) : (A2($elm$core$String$startsWith, 'https://', str) ? A2( + $elm$url$Url$chompAfterProtocol, + 1, + A2($elm$core$String$dropLeft, 8, str)) : $elm$core$Maybe$Nothing); +}; +var $elm$core$Basics$never = function (_v0) { + never: + while (true) { + var nvr = _v0; + var $temp$_v0 = nvr; + _v0 = $temp$_v0; + continue never; + } +}; +var $elm$core$Task$Perform = $elm$core$Basics$identity; +var $elm$core$Task$succeed = _Scheduler_succeed; +var $elm$core$Task$init = $elm$core$Task$succeed(0); +var $elm$core$List$foldrHelper = F4( + function (fn, acc, ctr, ls) { + if (!ls.b) { + return acc; + } else { + var a = ls.a; + var r1 = ls.b; + if (!r1.b) { + return A2(fn, a, acc); + } else { + var b = r1.a; + var r2 = r1.b; + if (!r2.b) { + return A2( + fn, + a, + A2(fn, b, acc)); + } else { + var c = r2.a; + var r3 = r2.b; + if (!r3.b) { + return A2( + fn, + a, + A2( + fn, + b, + A2(fn, c, acc))); + } else { + var d = r3.a; + var r4 = r3.b; + var res = (ctr > 500) ? A3( + $elm$core$List$foldl, + fn, + acc, + $elm$core$List$reverse(r4)) : A4($elm$core$List$foldrHelper, fn, acc, ctr + 1, r4); + return A2( + fn, + a, + A2( + fn, + b, + A2( + fn, + c, + A2(fn, d, res)))); + } + } + } + } + }); +var $elm$core$List$foldr = F3( + function (fn, acc, ls) { + return A4($elm$core$List$foldrHelper, fn, acc, 0, ls); + }); +var $elm$core$List$map = F2( + function (f, xs) { + return A3( + $elm$core$List$foldr, + F2( + function (x, acc) { + return A2( + $elm$core$List$cons, + f(x), + acc); + }), + _List_Nil, + xs); + }); +var $elm$core$Task$andThen = _Scheduler_andThen; +var $elm$core$Task$map = F2( + function (func, taskA) { + return A2( + $elm$core$Task$andThen, + function (a) { + return $elm$core$Task$succeed( + func(a)); + }, + taskA); + }); +var $elm$core$Task$map2 = F3( + function (func, taskA, taskB) { + return A2( + $elm$core$Task$andThen, + function (a) { + return A2( + $elm$core$Task$andThen, + function (b) { + return $elm$core$Task$succeed( + A2(func, a, b)); + }, + taskB); + }, + taskA); + }); +var $elm$core$Task$sequence = function (tasks) { + return A3( + $elm$core$List$foldr, + $elm$core$Task$map2($elm$core$List$cons), + $elm$core$Task$succeed(_List_Nil), + tasks); +}; +var $elm$core$Platform$sendToApp = _Platform_sendToApp; +var $elm$core$Task$spawnCmd = F2( + function (router, _v0) { + var task = _v0; + return _Scheduler_spawn( + A2( + $elm$core$Task$andThen, + $elm$core$Platform$sendToApp(router), + task)); + }); +var $elm$core$Task$onEffects = F3( + function (router, commands, state) { + return A2( + $elm$core$Task$map, + function (_v0) { + return 0; + }, + $elm$core$Task$sequence( + A2( + $elm$core$List$map, + $elm$core$Task$spawnCmd(router), + commands))); + }); +var $elm$core$Task$onSelfMsg = F3( + function (_v0, _v1, _v2) { + return $elm$core$Task$succeed(0); + }); +var $elm$core$Task$cmdMap = F2( + function (tagger, _v0) { + var task = _v0; + return A2($elm$core$Task$map, tagger, task); + }); +_Platform_effectManagers['Task'] = _Platform_createManager($elm$core$Task$init, $elm$core$Task$onEffects, $elm$core$Task$onSelfMsg, $elm$core$Task$cmdMap); +var $elm$core$Task$command = _Platform_leaf('Task'); +var $elm$core$Task$perform = F2( + function (toMessage, task) { + return $elm$core$Task$command( + A2($elm$core$Task$map, toMessage, task)); + }); +var $elm$browser$Browser$application = _Browser_application; +var $elm$core$Basics$composeR = F3( + function (f, g, x) { + return g( + f(x)); + }); +var $elm$url$Url$Parser$Parser = $elm$core$Basics$identity; +var $elm$core$List$append = F2( + function (xs, ys) { + if (!ys.b) { + return xs; + } else { + return A3($elm$core$List$foldr, $elm$core$List$cons, ys, xs); + } + }); +var $elm$core$List$concat = function (lists) { + return A3($elm$core$List$foldr, $elm$core$List$append, _List_Nil, lists); +}; +var $elm$core$List$concatMap = F2( + function (f, list) { + return $elm$core$List$concat( + A2($elm$core$List$map, f, list)); + }); +var $elm$url$Url$Parser$oneOf = function (parsers) { + return function (state) { + return A2( + $elm$core$List$concatMap, + function (_v0) { + var parser = _v0; + return parser(state); + }, + parsers); + }; +}; +var $elm$url$Url$Parser$State = F5( + function (visited, unvisited, params, frag, value) { + return {J: frag, N: params, G: unvisited, y: value, Q: visited}; + }); +var $elm$url$Url$Parser$getFirstMatch = function (states) { + getFirstMatch: + while (true) { + if (!states.b) { + return $elm$core$Maybe$Nothing; + } else { + var state = states.a; + var rest = states.b; + var _v1 = state.G; + if (!_v1.b) { + return $elm$core$Maybe$Just(state.y); + } else { + if ((_v1.a === '') && (!_v1.b.b)) { + return $elm$core$Maybe$Just(state.y); + } else { + var $temp$states = rest; + states = $temp$states; + continue getFirstMatch; + } + } + } + } +}; +var $elm$url$Url$Parser$removeFinalEmpty = function (segments) { + if (!segments.b) { + return _List_Nil; + } else { + if ((segments.a === '') && (!segments.b.b)) { + return _List_Nil; + } else { + var segment = segments.a; + var rest = segments.b; + return A2( + $elm$core$List$cons, + segment, + $elm$url$Url$Parser$removeFinalEmpty(rest)); + } + } +}; +var $elm$url$Url$Parser$preparePath = function (path) { + var _v0 = A2($elm$core$String$split, '/', path); + if (_v0.b && (_v0.a === '')) { + var segments = _v0.b; + return $elm$url$Url$Parser$removeFinalEmpty(segments); + } else { + var segments = _v0; + return $elm$url$Url$Parser$removeFinalEmpty(segments); + } +}; +var $elm$url$Url$Parser$addToParametersHelp = F2( + function (value, maybeList) { + if (maybeList.$ === 1) { + return $elm$core$Maybe$Just( + _List_fromArray( + [value])); + } else { + var list = maybeList.a; + return $elm$core$Maybe$Just( + A2($elm$core$List$cons, value, list)); + } + }); +var $elm$url$Url$percentDecode = _Url_percentDecode; +var $elm$core$Basics$compare = _Utils_compare; +var $elm$core$Dict$get = F2( + function (targetKey, dict) { + get: + while (true) { + if (dict.$ === -2) { + return $elm$core$Maybe$Nothing; + } else { + var key = dict.b; + var value = dict.c; + var left = dict.d; + var right = dict.e; + var _v1 = A2($elm$core$Basics$compare, targetKey, key); + switch (_v1) { + case 0: + var $temp$targetKey = targetKey, + $temp$dict = left; + targetKey = $temp$targetKey; + dict = $temp$dict; + continue get; + case 1: + return $elm$core$Maybe$Just(value); + default: + var $temp$targetKey = targetKey, + $temp$dict = right; + targetKey = $temp$targetKey; + dict = $temp$dict; + continue get; + } + } + } + }); +var $elm$core$Dict$Black = 1; +var $elm$core$Dict$RBNode_elm_builtin = F5( + function (a, b, c, d, e) { + return {$: -1, a: a, b: b, c: c, d: d, e: e}; + }); +var $elm$core$Dict$RBEmpty_elm_builtin = {$: -2}; +var $elm$core$Dict$Red = 0; +var $elm$core$Dict$balance = F5( + function (color, key, value, left, right) { + if ((right.$ === -1) && (!right.a)) { + var _v1 = right.a; + var rK = right.b; + var rV = right.c; + var rLeft = right.d; + var rRight = right.e; + if ((left.$ === -1) && (!left.a)) { + var _v3 = left.a; + var lK = left.b; + var lV = left.c; + var lLeft = left.d; + var lRight = left.e; + return A5( + $elm$core$Dict$RBNode_elm_builtin, + 0, + key, + value, + A5($elm$core$Dict$RBNode_elm_builtin, 1, lK, lV, lLeft, lRight), + A5($elm$core$Dict$RBNode_elm_builtin, 1, rK, rV, rLeft, rRight)); + } else { + return A5( + $elm$core$Dict$RBNode_elm_builtin, + color, + rK, + rV, + A5($elm$core$Dict$RBNode_elm_builtin, 0, key, value, left, rLeft), + rRight); + } + } else { + if ((((left.$ === -1) && (!left.a)) && (left.d.$ === -1)) && (!left.d.a)) { + var _v5 = left.a; + var lK = left.b; + var lV = left.c; + var _v6 = left.d; + var _v7 = _v6.a; + var llK = _v6.b; + var llV = _v6.c; + var llLeft = _v6.d; + var llRight = _v6.e; + var lRight = left.e; + return A5( + $elm$core$Dict$RBNode_elm_builtin, + 0, + lK, + lV, + A5($elm$core$Dict$RBNode_elm_builtin, 1, llK, llV, llLeft, llRight), + A5($elm$core$Dict$RBNode_elm_builtin, 1, key, value, lRight, right)); + } else { + return A5($elm$core$Dict$RBNode_elm_builtin, color, key, value, left, right); + } + } + }); +var $elm$core$Dict$insertHelp = F3( + function (key, value, dict) { + if (dict.$ === -2) { + return A5($elm$core$Dict$RBNode_elm_builtin, 0, key, value, $elm$core$Dict$RBEmpty_elm_builtin, $elm$core$Dict$RBEmpty_elm_builtin); + } else { + var nColor = dict.a; + var nKey = dict.b; + var nValue = dict.c; + var nLeft = dict.d; + var nRight = dict.e; + var _v1 = A2($elm$core$Basics$compare, key, nKey); + switch (_v1) { + case 0: + return A5( + $elm$core$Dict$balance, + nColor, + nKey, + nValue, + A3($elm$core$Dict$insertHelp, key, value, nLeft), + nRight); + case 1: + return A5($elm$core$Dict$RBNode_elm_builtin, nColor, nKey, value, nLeft, nRight); + default: + return A5( + $elm$core$Dict$balance, + nColor, + nKey, + nValue, + nLeft, + A3($elm$core$Dict$insertHelp, key, value, nRight)); + } + } + }); +var $elm$core$Dict$insert = F3( + function (key, value, dict) { + var _v0 = A3($elm$core$Dict$insertHelp, key, value, dict); + if ((_v0.$ === -1) && (!_v0.a)) { + var _v1 = _v0.a; + var k = _v0.b; + var v = _v0.c; + var l = _v0.d; + var r = _v0.e; + return A5($elm$core$Dict$RBNode_elm_builtin, 1, k, v, l, r); + } else { + var x = _v0; + return x; + } + }); +var $elm$core$Dict$getMin = function (dict) { + getMin: + while (true) { + if ((dict.$ === -1) && (dict.d.$ === -1)) { + var left = dict.d; + var $temp$dict = left; + dict = $temp$dict; + continue getMin; + } else { + return dict; + } + } +}; +var $elm$core$Dict$moveRedLeft = function (dict) { + if (((dict.$ === -1) && (dict.d.$ === -1)) && (dict.e.$ === -1)) { + if ((dict.e.d.$ === -1) && (!dict.e.d.a)) { + var clr = dict.a; + var k = dict.b; + var v = dict.c; + var _v1 = dict.d; + var lClr = _v1.a; + var lK = _v1.b; + var lV = _v1.c; + var lLeft = _v1.d; + var lRight = _v1.e; + var _v2 = dict.e; + var rClr = _v2.a; + var rK = _v2.b; + var rV = _v2.c; + var rLeft = _v2.d; + var _v3 = rLeft.a; + var rlK = rLeft.b; + var rlV = rLeft.c; + var rlL = rLeft.d; + var rlR = rLeft.e; + var rRight = _v2.e; + return A5( + $elm$core$Dict$RBNode_elm_builtin, + 0, + rlK, + rlV, + A5( + $elm$core$Dict$RBNode_elm_builtin, + 1, + k, + v, + A5($elm$core$Dict$RBNode_elm_builtin, 0, lK, lV, lLeft, lRight), + rlL), + A5($elm$core$Dict$RBNode_elm_builtin, 1, rK, rV, rlR, rRight)); + } else { + var clr = dict.a; + var k = dict.b; + var v = dict.c; + var _v4 = dict.d; + var lClr = _v4.a; + var lK = _v4.b; + var lV = _v4.c; + var lLeft = _v4.d; + var lRight = _v4.e; + var _v5 = dict.e; + var rClr = _v5.a; + var rK = _v5.b; + var rV = _v5.c; + var rLeft = _v5.d; + var rRight = _v5.e; + if (clr === 1) { + return A5( + $elm$core$Dict$RBNode_elm_builtin, + 1, + k, + v, + A5($elm$core$Dict$RBNode_elm_builtin, 0, lK, lV, lLeft, lRight), + A5($elm$core$Dict$RBNode_elm_builtin, 0, rK, rV, rLeft, rRight)); + } else { + return A5( + $elm$core$Dict$RBNode_elm_builtin, + 1, + k, + v, + A5($elm$core$Dict$RBNode_elm_builtin, 0, lK, lV, lLeft, lRight), + A5($elm$core$Dict$RBNode_elm_builtin, 0, rK, rV, rLeft, rRight)); + } + } + } else { + return dict; + } +}; +var $elm$core$Dict$moveRedRight = function (dict) { + if (((dict.$ === -1) && (dict.d.$ === -1)) && (dict.e.$ === -1)) { + if ((dict.d.d.$ === -1) && (!dict.d.d.a)) { + var clr = dict.a; + var k = dict.b; + var v = dict.c; + var _v1 = dict.d; + var lClr = _v1.a; + var lK = _v1.b; + var lV = _v1.c; + var _v2 = _v1.d; + var _v3 = _v2.a; + var llK = _v2.b; + var llV = _v2.c; + var llLeft = _v2.d; + var llRight = _v2.e; + var lRight = _v1.e; + var _v4 = dict.e; + var rClr = _v4.a; + var rK = _v4.b; + var rV = _v4.c; + var rLeft = _v4.d; + var rRight = _v4.e; + return A5( + $elm$core$Dict$RBNode_elm_builtin, + 0, + lK, + lV, + A5($elm$core$Dict$RBNode_elm_builtin, 1, llK, llV, llLeft, llRight), + A5( + $elm$core$Dict$RBNode_elm_builtin, + 1, + k, + v, + lRight, + A5($elm$core$Dict$RBNode_elm_builtin, 0, rK, rV, rLeft, rRight))); + } else { + var clr = dict.a; + var k = dict.b; + var v = dict.c; + var _v5 = dict.d; + var lClr = _v5.a; + var lK = _v5.b; + var lV = _v5.c; + var lLeft = _v5.d; + var lRight = _v5.e; + var _v6 = dict.e; + var rClr = _v6.a; + var rK = _v6.b; + var rV = _v6.c; + var rLeft = _v6.d; + var rRight = _v6.e; + if (clr === 1) { + return A5( + $elm$core$Dict$RBNode_elm_builtin, + 1, + k, + v, + A5($elm$core$Dict$RBNode_elm_builtin, 0, lK, lV, lLeft, lRight), + A5($elm$core$Dict$RBNode_elm_builtin, 0, rK, rV, rLeft, rRight)); + } else { + return A5( + $elm$core$Dict$RBNode_elm_builtin, + 1, + k, + v, + A5($elm$core$Dict$RBNode_elm_builtin, 0, lK, lV, lLeft, lRight), + A5($elm$core$Dict$RBNode_elm_builtin, 0, rK, rV, rLeft, rRight)); + } + } + } else { + return dict; + } +}; +var $elm$core$Dict$removeHelpPrepEQGT = F7( + function (targetKey, dict, color, key, value, left, right) { + if ((left.$ === -1) && (!left.a)) { + var _v1 = left.a; + var lK = left.b; + var lV = left.c; + var lLeft = left.d; + var lRight = left.e; + return A5( + $elm$core$Dict$RBNode_elm_builtin, + color, + lK, + lV, + lLeft, + A5($elm$core$Dict$RBNode_elm_builtin, 0, key, value, lRight, right)); + } else { + _v2$2: + while (true) { + if ((right.$ === -1) && (right.a === 1)) { + if (right.d.$ === -1) { + if (right.d.a === 1) { + var _v3 = right.a; + var _v4 = right.d; + var _v5 = _v4.a; + return $elm$core$Dict$moveRedRight(dict); + } else { + break _v2$2; + } + } else { + var _v6 = right.a; + var _v7 = right.d; + return $elm$core$Dict$moveRedRight(dict); + } + } else { + break _v2$2; + } + } + return dict; + } + }); +var $elm$core$Dict$removeMin = function (dict) { + if ((dict.$ === -1) && (dict.d.$ === -1)) { + var color = dict.a; + var key = dict.b; + var value = dict.c; + var left = dict.d; + var lColor = left.a; + var lLeft = left.d; + var right = dict.e; + if (lColor === 1) { + if ((lLeft.$ === -1) && (!lLeft.a)) { + var _v3 = lLeft.a; + return A5( + $elm$core$Dict$RBNode_elm_builtin, + color, + key, + value, + $elm$core$Dict$removeMin(left), + right); + } else { + var _v4 = $elm$core$Dict$moveRedLeft(dict); + if (_v4.$ === -1) { + var nColor = _v4.a; + var nKey = _v4.b; + var nValue = _v4.c; + var nLeft = _v4.d; + var nRight = _v4.e; + return A5( + $elm$core$Dict$balance, + nColor, + nKey, + nValue, + $elm$core$Dict$removeMin(nLeft), + nRight); + } else { + return $elm$core$Dict$RBEmpty_elm_builtin; + } + } + } else { + return A5( + $elm$core$Dict$RBNode_elm_builtin, + color, + key, + value, + $elm$core$Dict$removeMin(left), + right); + } + } else { + return $elm$core$Dict$RBEmpty_elm_builtin; + } +}; +var $elm$core$Dict$removeHelp = F2( + function (targetKey, dict) { + if (dict.$ === -2) { + return $elm$core$Dict$RBEmpty_elm_builtin; + } else { + var color = dict.a; + var key = dict.b; + var value = dict.c; + var left = dict.d; + var right = dict.e; + if (_Utils_cmp(targetKey, key) < 0) { + if ((left.$ === -1) && (left.a === 1)) { + var _v4 = left.a; + var lLeft = left.d; + if ((lLeft.$ === -1) && (!lLeft.a)) { + var _v6 = lLeft.a; + return A5( + $elm$core$Dict$RBNode_elm_builtin, + color, + key, + value, + A2($elm$core$Dict$removeHelp, targetKey, left), + right); + } else { + var _v7 = $elm$core$Dict$moveRedLeft(dict); + if (_v7.$ === -1) { + var nColor = _v7.a; + var nKey = _v7.b; + var nValue = _v7.c; + var nLeft = _v7.d; + var nRight = _v7.e; + return A5( + $elm$core$Dict$balance, + nColor, + nKey, + nValue, + A2($elm$core$Dict$removeHelp, targetKey, nLeft), + nRight); + } else { + return $elm$core$Dict$RBEmpty_elm_builtin; + } + } + } else { + return A5( + $elm$core$Dict$RBNode_elm_builtin, + color, + key, + value, + A2($elm$core$Dict$removeHelp, targetKey, left), + right); + } + } else { + return A2( + $elm$core$Dict$removeHelpEQGT, + targetKey, + A7($elm$core$Dict$removeHelpPrepEQGT, targetKey, dict, color, key, value, left, right)); + } + } + }); +var $elm$core$Dict$removeHelpEQGT = F2( + function (targetKey, dict) { + if (dict.$ === -1) { + var color = dict.a; + var key = dict.b; + var value = dict.c; + var left = dict.d; + var right = dict.e; + if (_Utils_eq(targetKey, key)) { + var _v1 = $elm$core$Dict$getMin(right); + if (_v1.$ === -1) { + var minKey = _v1.b; + var minValue = _v1.c; + return A5( + $elm$core$Dict$balance, + color, + minKey, + minValue, + left, + $elm$core$Dict$removeMin(right)); + } else { + return $elm$core$Dict$RBEmpty_elm_builtin; + } + } else { + return A5( + $elm$core$Dict$balance, + color, + key, + value, + left, + A2($elm$core$Dict$removeHelp, targetKey, right)); + } + } else { + return $elm$core$Dict$RBEmpty_elm_builtin; + } + }); +var $elm$core$Dict$remove = F2( + function (key, dict) { + var _v0 = A2($elm$core$Dict$removeHelp, key, dict); + if ((_v0.$ === -1) && (!_v0.a)) { + var _v1 = _v0.a; + var k = _v0.b; + var v = _v0.c; + var l = _v0.d; + var r = _v0.e; + return A5($elm$core$Dict$RBNode_elm_builtin, 1, k, v, l, r); + } else { + var x = _v0; + return x; + } + }); +var $elm$core$Dict$update = F3( + function (targetKey, alter, dictionary) { + var _v0 = alter( + A2($elm$core$Dict$get, targetKey, dictionary)); + if (!_v0.$) { + var value = _v0.a; + return A3($elm$core$Dict$insert, targetKey, value, dictionary); + } else { + return A2($elm$core$Dict$remove, targetKey, dictionary); + } + }); +var $elm$url$Url$Parser$addParam = F2( + function (segment, dict) { + var _v0 = A2($elm$core$String$split, '=', segment); + if ((_v0.b && _v0.b.b) && (!_v0.b.b.b)) { + var rawKey = _v0.a; + var _v1 = _v0.b; + var rawValue = _v1.a; + var _v2 = $elm$url$Url$percentDecode(rawKey); + if (_v2.$ === 1) { + return dict; + } else { + var key = _v2.a; + var _v3 = $elm$url$Url$percentDecode(rawValue); + if (_v3.$ === 1) { + return dict; + } else { + var value = _v3.a; + return A3( + $elm$core$Dict$update, + key, + $elm$url$Url$Parser$addToParametersHelp(value), + dict); + } + } + } else { + return dict; + } + }); +var $elm$core$Dict$empty = $elm$core$Dict$RBEmpty_elm_builtin; +var $elm$url$Url$Parser$prepareQuery = function (maybeQuery) { + if (maybeQuery.$ === 1) { + return $elm$core$Dict$empty; + } else { + var qry = maybeQuery.a; + return A3( + $elm$core$List$foldr, + $elm$url$Url$Parser$addParam, + $elm$core$Dict$empty, + A2($elm$core$String$split, '&', qry)); + } +}; +var $elm$url$Url$Parser$parse = F2( + function (_v0, url) { + var parser = _v0; + return $elm$url$Url$Parser$getFirstMatch( + parser( + A5( + $elm$url$Url$Parser$State, + _List_Nil, + $elm$url$Url$Parser$preparePath(url.df), + $elm$url$Url$Parser$prepareQuery(url.bB), + url.bc, + $elm$core$Basics$identity))); + }); +var $elm$core$Maybe$withDefault = F2( + function (_default, maybe) { + if (!maybe.$) { + var value = maybe.a; + return value; + } else { + return _default; + } + }); +var $ryannhg$elm_spa$Spa$fromUrl = function (config) { + return A2( + $elm$core$Basics$composeR, + $elm$url$Url$Parser$parse( + $elm$url$Url$Parser$oneOf(config.$7)), + $elm$core$Maybe$withDefault(config.ac)); +}; +var $ryannhg$elm_spa$Spa$FadeInLayout = {$: 4}; +var $ryannhg$elm_spa$Spa$Global = function (a) { + return {$: 2, a: a}; +}; +var $ryannhg$elm_spa$Spa$Page = function (a) { + return {$: 3, a: a}; +}; +var $elm$core$Platform$Cmd$batch = _Platform_batch; +var $elm$core$Process$sleep = _Process_sleep; +var $ryannhg$elm_spa$Internals$Utils$delay = F2( + function (ms, msg) { + return A2( + $elm$core$Task$perform, + function (_v0) { + return msg; + }, + $elm$core$Process$sleep(ms)); + }); +var $ryannhg$elm_spa$Internals$Transition$duration = function (transition) { + switch (transition.$) { + case 0: + return 0; + case 1: + return 0; + default: + var t = transition.a; + return t.au; + } +}; +var $ryannhg$elm_spa$Internals$Transition$Invisible = 0; +var $ryannhg$elm_spa$Internals$Transition$invisible = 0; +var $elm$core$Platform$Cmd$map = _Platform_map; +var $ryannhg$elm_spa$Internals$Utils$send = A2( + $elm$core$Basics$composeR, + $elm$core$Task$succeed, + $elm$core$Task$perform($elm$core$Basics$identity)); +var $ryannhg$elm_spa$Spa$navigate = F3( + function (toPath, url, route) { + return $ryannhg$elm_spa$Internals$Utils$send( + $ryannhg$elm_spa$Spa$ClickedLink( + $elm$browser$Browser$Internal( + _Utils_update( + url, + { + df: toPath(route) + })))); + }); +var $elm$core$List$drop = F2( + function (n, list) { + drop: + while (true) { + if (n <= 0) { + return list; + } else { + if (!list.b) { + return list; + } else { + var x = list.a; + var xs = list.b; + var $temp$n = n - 1, + $temp$list = xs; + n = $temp$n; + list = $temp$list; + continue drop; + } + } + } + }); +var $elm$core$List$filter = F2( + function (isGood, list) { + return A3( + $elm$core$List$foldr, + F2( + function (x, xs) { + return isGood(x) ? A2($elm$core$List$cons, x, xs) : xs; + }), + _List_Nil, + list); + }); +var $elm$core$Dict$fromList = function (assocs) { + return A3( + $elm$core$List$foldl, + F2( + function (_v0, dict) { + var key = _v0.a; + var value = _v0.b; + return A3($elm$core$Dict$insert, key, value, dict); + }), + $elm$core$Dict$empty, + assocs); +}; +var $elm$core$List$head = function (list) { + if (list.b) { + var x = list.a; + var xs = list.b; + return $elm$core$Maybe$Just(x); + } else { + return $elm$core$Maybe$Nothing; + } +}; +var $elm$core$Maybe$map = F2( + function (f, maybe) { + if (!maybe.$) { + var value = maybe.a; + return $elm$core$Maybe$Just( + f(value)); + } else { + return $elm$core$Maybe$Nothing; + } + }); +var $elm$core$Tuple$mapBoth = F3( + function (funcA, funcB, _v0) { + var x = _v0.a; + var y = _v0.b; + return _Utils_Tuple2( + funcA(x), + funcB(y)); + }); +var $elm$core$Basics$not = _Basics_not; +var $ryannhg$elm_spa$Spa$queryParameters = function (url) { + var toDict = function (query) { + return $elm$core$Dict$fromList( + A2( + $elm$core$List$filter, + function (_v0) { + var key = _v0.a; + return !$elm$core$String$isEmpty(key); + }, + A2( + $elm$core$List$map, + A2( + $elm$core$Tuple$mapBoth, + $elm$core$Maybe$withDefault(''), + $elm$core$Maybe$withDefault('')), + A2( + $elm$core$List$map, + function (pieces) { + return _Utils_Tuple2( + $elm$core$List$head(pieces), + $elm$core$List$head( + A2($elm$core$List$drop, 1, pieces))); + }, + A2( + $elm$core$List$map, + $elm$core$String$split('='), + A2($elm$core$String$split, '&', query)))))); + }; + return A2( + $elm$core$Maybe$withDefault, + $elm$core$Dict$empty, + A2($elm$core$Maybe$map, toDict, url.bB)); +}; +var $ryannhg$elm_spa$Internals$Transition$Visible = 1; +var $ryannhg$elm_spa$Internals$Transition$visible = 1; +var $ryannhg$elm_spa$Spa$init = F4( + function (config, flags, url, key) { + return function (route) { + var _v0 = A2( + config.aa.cH, + { + c2: A2($ryannhg$elm_spa$Spa$navigate, config.dp.d0, url) + }, + flags); + var globalModel = _v0.a; + var globalCmd = _v0.b; + var cmd = _v0.c; + var _v1 = A2( + config.aa.dd, + route, + { + cH: globalModel, + dh: $ryannhg$elm_spa$Spa$queryParameters(url), + dn: route + }); + var pageModel = _v1.a; + var pageCmd = _v1.b; + var pageGlobalCmd = _v1.c; + return _Utils_Tuple2( + { + ba: flags, + cH: globalModel, + bm: key, + ay: pageModel, + df: _List_Nil, + bN: url, + z: {cX: $ryannhg$elm_spa$Internals$Transition$invisible, ay: $ryannhg$elm_spa$Internals$Transition$visible} + }, + $elm$core$Platform$Cmd$batch( + _List_fromArray( + [ + A2($elm$core$Platform$Cmd$map, $ryannhg$elm_spa$Spa$Page, pageCmd), + A2($elm$core$Platform$Cmd$map, $ryannhg$elm_spa$Spa$Global, pageGlobalCmd), + A2($elm$core$Platform$Cmd$map, $ryannhg$elm_spa$Spa$Global, globalCmd), + A2( + $ryannhg$elm_spa$Internals$Utils$delay, + $ryannhg$elm_spa$Internals$Transition$duration(config.dp.bM), + $ryannhg$elm_spa$Spa$FadeInLayout), + cmd + ]))); + }( + config.dp.n(url)); + }); +var $elm$core$List$sortBy = _List_sortBy; +var $ryannhg$elm_spa$Spa$pageTransitions = function (transitions) { + return A2( + $elm$core$List$sortBy, + A2( + $elm$core$Basics$composeR, + function ($) { + return $.df; + }, + $elm$core$List$length), + A2( + $elm$core$List$cons, + {df: _List_Nil, bM: transitions.ay}, + transitions.dd)); +}; +var $elm$core$Platform$Sub$batch = _Platform_batch; +var $elm$core$Platform$Sub$map = _Platform_map; +var $ryannhg$elm_spa$Spa$subscriptions = F2( + function (config, model) { + return $elm$core$Platform$Sub$batch( + _List_fromArray( + [ + A3( + config.Z, + model.ay, + {cF: $ryannhg$elm_spa$Spa$Global, be: $ryannhg$elm_spa$Spa$Page, c_: config.c_, df: model.df, d4: _List_Nil, bR: model.z.ay}, + { + cH: model.cH, + dh: $ryannhg$elm_spa$Spa$queryParameters(model.bN), + dn: config.n(model.bN) + }).dK, + A2( + $elm$core$Platform$Sub$map, + $ryannhg$elm_spa$Spa$Global, + config.cH(model.cH)) + ])); + }); +var $ryannhg$elm_spa$Spa$FadeInPage = function (a) { + return {$: 5, a: a}; +}; +var $elm$core$Basics$neq = _Utils_notEqual; +var $ryannhg$elm_spa$Internals$Transition$OptOut = {$: 0}; +var $ryannhg$elm_spa$Internals$Transition$optOut = $ryannhg$elm_spa$Internals$Transition$OptOut; +var $ryannhg$elm_spa$Spa$urlPath = function (url) { + return A2( + $elm$core$String$split, + '/', + A2($elm$core$String$dropLeft, 1, url.df)); +}; +var $elm$core$List$any = F2( + function (isOkay, list) { + any: + while (true) { + if (!list.b) { + return false; + } else { + var x = list.a; + var xs = list.b; + if (isOkay(x)) { + return true; + } else { + var $temp$isOkay = isOkay, + $temp$list = xs; + isOkay = $temp$isOkay; + list = $temp$list; + continue any; + } + } + } + }); +var $elm$core$Basics$composeL = F3( + function (g, f, x) { + return g( + f(x)); + }); +var $elm$core$List$all = F2( + function (isOkay, list) { + return !A2( + $elm$core$List$any, + A2($elm$core$Basics$composeL, $elm$core$Basics$not, isOkay), + list); + }); +var $ryannhg$elm_spa$Internals$Path$matches = F2( + function (str, piece) { + if (!piece.$) { + var value = piece.a; + return _Utils_eq(str, value); + } else { + return true; + } + }); +var $ryannhg$elm_spa$Internals$Path$within = F2( + function (strings, pieces) { + return (_Utils_cmp( + $elm$core$List$length(pieces), + $elm$core$List$length(strings)) < 1) && A2( + $elm$core$List$all, + $elm$core$Basics$eq(true), + A3($elm$core$List$map2, $ryannhg$elm_spa$Internals$Path$matches, strings, pieces)); + }); +var $ryannhg$elm_spa$Spa$chooseFrom = function (options) { + var _v0 = A3( + $elm$core$Tuple$mapBoth, + $ryannhg$elm_spa$Spa$urlPath, + $ryannhg$elm_spa$Spa$urlPath, + _Utils_Tuple2(options.bd, options.bL)); + var fromPath = _v0.a; + var toPath = _v0.b; + return $elm$core$List$head( + A2( + $elm$core$List$filter, + function (_v1) { + var path = _v1.df; + var transition = _v1.bM; + return A2($ryannhg$elm_spa$Internals$Path$within, fromPath, path) && (A2($ryannhg$elm_spa$Internals$Path$within, toPath, path) && (!_Utils_eq(transition, $ryannhg$elm_spa$Internals$Transition$optOut))); + }, + $elm$core$List$reverse(options.d4))); +}; +var $elm$browser$Browser$Navigation$load = _Browser_load; +var $elm$core$Platform$Cmd$none = $elm$core$Platform$Cmd$batch(_List_Nil); +var $elm$browser$Browser$Navigation$pushUrl = _Browser_pushUrl; +var $elm$url$Url$addPort = F2( + function (maybePort, starter) { + if (maybePort.$ === 1) { + return starter; + } else { + var port_ = maybePort.a; + return starter + (':' + $elm$core$String$fromInt(port_)); + } + }); +var $elm$url$Url$addPrefixed = F3( + function (prefix, maybeSegment, starter) { + if (maybeSegment.$ === 1) { + return starter; + } else { + var segment = maybeSegment.a; + return _Utils_ap( + starter, + _Utils_ap(prefix, segment)); + } + }); +var $elm$url$Url$toString = function (url) { + var http = function () { + var _v0 = url.bA; + if (!_v0) { + return 'http://'; + } else { + return 'https://'; + } + }(); + return A3( + $elm$url$Url$addPrefixed, + '#', + url.bc, + A3( + $elm$url$Url$addPrefixed, + '?', + url.bB, + _Utils_ap( + A2( + $elm$url$Url$addPort, + url.bx, + _Utils_ap(http, url.bj)), + url.df))); +}; +var $ryannhg$elm_spa$Spa$update = F3( + function (config, msg, model) { + switch (msg.$) { + case 4: + return _Utils_Tuple2( + _Utils_update( + model, + { + z: {cX: $ryannhg$elm_spa$Internals$Transition$visible, ay: model.z.ay} + }), + $elm$core$Platform$Cmd$none); + case 5: + var url = msg.a; + return function (_v1) { + var pageModel = _v1.a; + var pageCmd = _v1.b; + var globalCmd = _v1.c; + return _Utils_Tuple2( + _Utils_update( + model, + { + ay: pageModel, + z: {cX: $ryannhg$elm_spa$Internals$Transition$visible, ay: $ryannhg$elm_spa$Internals$Transition$visible} + }), + $elm$core$Platform$Cmd$batch( + _List_fromArray( + [ + A2($elm$core$Platform$Cmd$map, $ryannhg$elm_spa$Spa$Page, pageCmd), + A2($elm$core$Platform$Cmd$map, $ryannhg$elm_spa$Spa$Global, globalCmd) + ]))); + }( + function (route) { + return A2( + config.aa, + route, + { + cH: model.cH, + dh: $ryannhg$elm_spa$Spa$queryParameters(model.bN), + dn: route + }); + }( + config.dp.n(url))); + case 1: + if (!msg.a.$) { + var url = msg.a.a; + return _Utils_eq(url, model.bN) ? _Utils_Tuple2(model, $elm$core$Platform$Cmd$none) : _Utils_Tuple2( + model, + A2( + $elm$browser$Browser$Navigation$pushUrl, + model.bm, + $elm$url$Url$toString(url))); + } else { + var url = msg.a.a; + return _Utils_Tuple2( + model, + $elm$browser$Browser$Navigation$load(url)); + } + case 0: + var url = msg.a; + var _v2 = A2( + $elm$core$Maybe$withDefault, + _Utils_Tuple2(_List_Nil, 0), + A2( + $elm$core$Maybe$map, + function (item) { + return _Utils_Tuple2( + item.df, + $ryannhg$elm_spa$Internals$Transition$duration(item.bM)); + }, + A2( + $elm$core$Maybe$withDefault, + $elm$core$List$head(config.dp.d4), + $elm$core$Maybe$Just( + $ryannhg$elm_spa$Spa$chooseFrom( + {bd: model.bN, bL: url, d4: config.dp.d4}))))); + var path = _v2.a; + var duration = _v2.b; + return _Utils_Tuple2( + _Utils_update( + model, + { + df: path, + bN: url, + z: {cX: $ryannhg$elm_spa$Internals$Transition$visible, ay: $ryannhg$elm_spa$Internals$Transition$invisible} + }), + $elm$core$Platform$Cmd$batch( + _List_fromArray( + [ + A2( + $ryannhg$elm_spa$Internals$Utils$delay, + duration, + $ryannhg$elm_spa$Spa$FadeInPage(url)), + function () { + var _v3 = config.dp.b_; + if (!_v3.$) { + var toMsg = _v3.a; + return A2( + $elm$core$Basics$composeR, + $ryannhg$elm_spa$Internals$Utils$send, + $elm$core$Platform$Cmd$map($ryannhg$elm_spa$Spa$Global))( + toMsg( + { + c3: config.dp.n(url), + c4: config.dp.n(model.bN) + })); + } else { + return $elm$core$Platform$Cmd$none; + } + }() + ]))); + case 2: + var globalMsg = msg.a; + return function (_v4) { + var global = _v4.a; + var globalCmd = _v4.b; + var cmd = _v4.c; + return _Utils_Tuple2( + _Utils_update( + model, + {cH: global}), + $elm$core$Platform$Cmd$batch( + _List_fromArray( + [ + A2($elm$core$Platform$Cmd$map, $ryannhg$elm_spa$Spa$Global, globalCmd), + cmd + ]))); + }( + A3( + config.am.cH, + { + c2: A2($ryannhg$elm_spa$Spa$navigate, config.dp.d0, model.bN) + }, + globalMsg, + model.cH)); + default: + var pageMsg = msg.a; + return function (_v5) { + var page = _v5.a; + var pageCmd = _v5.b; + var globalCmd = _v5.c; + return _Utils_Tuple2( + _Utils_update( + model, + {ay: page}), + $elm$core$Platform$Cmd$batch( + _List_fromArray( + [ + A2($elm$core$Platform$Cmd$map, $ryannhg$elm_spa$Spa$Page, pageCmd), + A2($elm$core$Platform$Cmd$map, $ryannhg$elm_spa$Spa$Global, globalCmd) + ]))); + }( + A3( + config.am.dd, + pageMsg, + model.ay, + { + cH: model.cH, + dh: $ryannhg$elm_spa$Spa$queryParameters(model.bN), + dn: config.dp.n(model.bN) + })); + } + }); +var $ryannhg$elm_spa$Internals$Page$upgrade = F2( + function (map, config) { + var _v0 = config.ay; + var page = _v0; + return page( + {c_: map, aB: config.aB, aC: config.aC}); + }); +var $ryannhg$elm_spa$Internals$Transition$view = F3( + function (transition, visibility, page) { + switch (transition.$) { + case 0: + return page; + case 1: + return page; + default: + var t = transition.a; + if (visibility === 1) { + return t.aF(page); + } else { + return t.ax(page); + } + } + }); +var $ryannhg$elm_spa$Spa$view = F2( + function (config, model) { + var bundle = A3( + config.Z, + model.ay, + { + cF: $ryannhg$elm_spa$Spa$Global, + be: $ryannhg$elm_spa$Spa$Page, + c_: config.c_, + df: model.df, + d4: $ryannhg$elm_spa$Spa$pageTransitions(config.d4), + bR: model.z.ay + }, + { + cH: model.cH, + dh: $ryannhg$elm_spa$Spa$queryParameters(model.bN), + dn: config.n(model.bN) + }); + return { + cf: _List_fromArray( + [ + config.ah( + A3($ryannhg$elm_spa$Internals$Transition$view, config.d4.cX, model.z.cX, bundle.d7)) + ]), + d$: bundle.d$ + }; + }); +var $ryannhg$elm_spa$Spa$create = function (config) { + var page = A2( + $ryannhg$elm_spa$Internals$Page$upgrade, + $elm$core$Basics$always($elm$core$Basics$identity), + {ay: config.ay, aB: $elm$core$Basics$identity, aC: $elm$core$Basics$identity}); + return $elm$browser$Browser$application( + { + aa: $ryannhg$elm_spa$Spa$init( + { + aa: {cH: config.cH.aa, dd: page.aa}, + dp: { + n: $ryannhg$elm_spa$Spa$fromUrl(config.dp), + d0: config.dp.d0, + bM: config.d4.cX + } + }), + c9: $ryannhg$elm_spa$Spa$ChangedUrl, + da: $ryannhg$elm_spa$Spa$ClickedLink, + dK: $ryannhg$elm_spa$Spa$subscriptions( + { + Z: page.Z, + n: $ryannhg$elm_spa$Spa$fromUrl(config.dp), + cH: config.cH.dK, + c_: config.d5.c_, + bM: config.d4.cX + }), + am: $ryannhg$elm_spa$Spa$update( + { + aa: page.aa, + dp: { + b_: config.dp.b_, + n: $ryannhg$elm_spa$Spa$fromUrl(config.dp), + $7: config.dp.$7, + d0: config.dp.d0, + d4: $ryannhg$elm_spa$Spa$pageTransitions(config.d4) + }, + am: {cH: config.cH.am, dd: page.am} + }), + d7: $ryannhg$elm_spa$Spa$view( + { + Z: page.Z, + n: $ryannhg$elm_spa$Spa$fromUrl(config.dp), + c_: config.d5.c_, + ah: config.d5.ah, + d4: config.d4 + }) + }); +}; +var $elm$json$Json$Encode$object = function (pairs) { + return _Json_wrap( + A3( + $elm$core$List$foldl, + F2( + function (_v0, obj) { + var k = _v0.a; + var v = _v0.b; + return A3(_Json_addField, k, v, obj); + }), + _Json_emptyObject(0), + pairs)); +}; +var $elm$json$Json$Encode$string = _Json_wrap; +var $author$project$Ports$outgoing = _Platform_outgoingPort( + 'outgoing', + function ($) { + return $elm$json$Json$Encode$object( + _List_fromArray( + [ + _Utils_Tuple2( + 'action', + $elm$json$Json$Encode$string($.a$)), + _Utils_Tuple2( + 'data', + $elm$core$Basics$identity($.a6)) + ])); + }); +var $author$project$Ports$log = function (message) { + return $author$project$Ports$outgoing( + { + a$: 'LOG', + a6: $elm$json$Json$Encode$string(message) + }); +}; +var $author$project$Global$init = F2( + function (_v0, _v1) { + return _Utils_Tuple3( + {aD: $elm$core$Maybe$Nothing}, + $elm$core$Platform$Cmd$none, + $author$project$Ports$log('Hello!')); + }); +var $author$project$Generated$Pages$NotFoundModel = function (a) { + return {$: 0, a: a}; +}; +var $author$project$Generated$Pages$NotFoundMsg = function (a) { + return {$: 0, a: a}; +}; +var $author$project$Generated$Pages$SignInModel = function (a) { + return {$: 1, a: a}; +}; +var $author$project$Generated$Pages$SignInMsg = function (a) { + return {$: 1, a: a}; +}; +var $author$project$Generated$Pages$SwitchesModel = function (a) { + return {$: 2, a: a}; +}; +var $author$project$Generated$Pages$SwitchesMsg = function (a) { + return {$: 2, a: a}; +}; +var $author$project$Generated$Pages$TopModel = function (a) { + return {$: 3, a: a}; +}; +var $author$project$Generated$Pages$TopMsg = function (a) { + return {$: 3, a: a}; +}; +var $ryannhg$elm_spa$Internals$Page$Page = $elm$core$Basics$identity; +var $elm$core$Platform$Sub$none = $elm$core$Platform$Sub$batch(_List_Nil); +var $ryannhg$elm_spa$Spa$Page$static = function (page) { + return function (_v0) { + var toModel = _v0.aB; + var toMsg = _v0.aC; + var map = _v0.c_; + return { + Z: F3( + function (_v1, _private, context) { + return { + dK: $elm$core$Platform$Sub$none, + d$: page.d$( + {cH: context.cH}), + d7: A2( + _private.c_, + _private.be, + A2( + map, + toMsg, + page.d7(context))) + }; + }), + aa: F2( + function (_v2, _v3) { + return _Utils_Tuple3( + toModel(0), + $elm$core$Platform$Cmd$none, + $elm$core$Platform$Cmd$none); + }), + am: F3( + function (_v4, model, _v5) { + return _Utils_Tuple3( + toModel(model), + $elm$core$Platform$Cmd$none, + $elm$core$Platform$Cmd$none); + }) + }; + }; +}; +var $mdgriffith$elm_ui$Internal$Model$StyleClass = F2( + function (a, b) { + return {$: 4, a: a, b: b}; + }); +var $mdgriffith$elm_ui$Internal$Model$Transparency = F2( + function (a, b) { + return {$: 12, a: a, b: b}; + }); +var $elm$core$Basics$round = _Basics_round; +var $mdgriffith$elm_ui$Internal$Model$floatClass = function (x) { + return $elm$core$String$fromInt( + $elm$core$Basics$round(x * 255)); +}; +var $elm$core$Basics$min = F2( + function (x, y) { + return (_Utils_cmp(x, y) < 0) ? x : y; + }); +var $mdgriffith$elm_ui$Internal$Flag$Flag = function (a) { + return {$: 0, a: a}; +}; +var $mdgriffith$elm_ui$Internal$Flag$Second = function (a) { + return {$: 1, a: a}; +}; +var $elm$core$Bitwise$shiftLeftBy = _Bitwise_shiftLeftBy; +var $mdgriffith$elm_ui$Internal$Flag$flag = function (i) { + return (i > 31) ? $mdgriffith$elm_ui$Internal$Flag$Second(1 << (i - 32)) : $mdgriffith$elm_ui$Internal$Flag$Flag(1 << i); +}; +var $mdgriffith$elm_ui$Internal$Flag$transparency = $mdgriffith$elm_ui$Internal$Flag$flag(0); +var $mdgriffith$elm_ui$Element$alpha = function (o) { + var transparency = function (x) { + return 1 - x; + }( + A2( + $elm$core$Basics$min, + 1.0, + A2($elm$core$Basics$max, 0.0, o))); + return A2( + $mdgriffith$elm_ui$Internal$Model$StyleClass, + $mdgriffith$elm_ui$Internal$Flag$transparency, + A2( + $mdgriffith$elm_ui$Internal$Model$Transparency, + 'transparency-' + $mdgriffith$elm_ui$Internal$Model$floatClass(transparency), + transparency)); +}; +var $mdgriffith$elm_ui$Internal$Model$AlignX = function (a) { + return {$: 6, a: a}; +}; +var $mdgriffith$elm_ui$Internal$Model$CenterX = 1; +var $mdgriffith$elm_ui$Element$centerX = $mdgriffith$elm_ui$Internal$Model$AlignX(1); +var $mdgriffith$elm_ui$Internal$Model$AlignY = function (a) { + return {$: 5, a: a}; +}; +var $mdgriffith$elm_ui$Internal$Model$CenterY = 1; +var $mdgriffith$elm_ui$Element$centerY = $mdgriffith$elm_ui$Internal$Model$AlignY(1); +var $mdgriffith$elm_ui$Internal$Model$Colored = F3( + function (a, b, c) { + return {$: 4, a: a, b: b, c: c}; + }); +var $mdgriffith$elm_ui$Internal$Flag$fontColor = $mdgriffith$elm_ui$Internal$Flag$flag(14); +var $mdgriffith$elm_ui$Internal$Model$formatColorClass = function (_v0) { + var red = _v0.a; + var green = _v0.b; + var blue = _v0.c; + var alpha = _v0.d; + return $mdgriffith$elm_ui$Internal$Model$floatClass(red) + ('-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(green) + ('-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(blue) + ('-' + $mdgriffith$elm_ui$Internal$Model$floatClass(alpha)))))); +}; +var $mdgriffith$elm_ui$Element$Font$color = function (fontColor) { + return A2( + $mdgriffith$elm_ui$Internal$Model$StyleClass, + $mdgriffith$elm_ui$Internal$Flag$fontColor, + A3( + $mdgriffith$elm_ui$Internal$Model$Colored, + 'fc-' + $mdgriffith$elm_ui$Internal$Model$formatColorClass(fontColor), + 'color', + fontColor)); +}; +var $mdgriffith$elm_ui$Internal$Model$Unkeyed = function (a) { + return {$: 0, a: a}; +}; +var $mdgriffith$elm_ui$Internal$Model$AsColumn = 1; +var $mdgriffith$elm_ui$Internal$Model$asColumn = 1; +var $mdgriffith$elm_ui$Internal$Style$classes = {bY: 'a', aG: 'atv', b$: 'ab', b0: 'cx', b1: 'cy', b2: 'acb', b3: 'accx', b4: 'accy', b5: 'acr', a1: 'al', a2: 'ar', b6: 'at', aH: 'ah', aI: 'av', b9: 's', cd: 'bh', ce: 'b', cg: 'w7', ci: 'bd', cj: 'bdt', an: 'bn', ck: 'bs', ao: 'cpe', cq: 'cp', cr: 'cpx', cs: 'cpy', B: 'c', aq: 'ctr', ar: 'cb', as: 'ccx', C: 'ccy', _: 'cl', at: 'cr', cu: 'ct', cv: 'cptr', cw: 'ctxt', cE: 'fcs', bb: 'focus-within', cG: 'fs', cI: 'g', aM: 'hbh', aN: 'hc', bh: 'he', aO: 'hf', bi: 'hfp', cL: 'hv', cN: 'ic', cP: 'fr', cQ: 'iml', cR: 'imlf', cS: 'imlp', cT: 'implw', cU: 'it', cV: 'i', bo: 'lnk', U: 'nb', br: 'notxt', c6: 'ol', c8: 'or', M: 'oq', dc: 'oh', ay: 'pg', bv: 'p', de: 'ppe', dm: 'ui', s: 'r', dr: 'sb', ds: 'sbx', dt: 'sby', du: 'sbt', dx: 'e', dy: 'cap', dz: 'sev', dH: 'sk', dL: 't', dM: 'tc', dN: 'w8', dO: 'w2', dP: 'w9', dQ: 'tj', aA: 'tja', dR: 'tl', dS: 'w3', dT: 'w5', dU: 'w4', dV: 'tr', dW: 'w6', dX: 'w1', dY: 'tun', bM: 'ts', P: 'clr', d6: 'u', aY: 'wc', bT: 'we', aZ: 'wf', bU: 'wfp', a_: 'wrp'}; +var $mdgriffith$elm_ui$Internal$Model$Generic = {$: 0}; +var $mdgriffith$elm_ui$Internal$Model$div = $mdgriffith$elm_ui$Internal$Model$Generic; +var $mdgriffith$elm_ui$Internal$Model$NoNearbyChildren = {$: 0}; +var $mdgriffith$elm_ui$Internal$Model$columnClass = $mdgriffith$elm_ui$Internal$Style$classes.b9 + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.B); +var $mdgriffith$elm_ui$Internal$Model$gridClass = $mdgriffith$elm_ui$Internal$Style$classes.b9 + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.cI); +var $mdgriffith$elm_ui$Internal$Model$pageClass = $mdgriffith$elm_ui$Internal$Style$classes.b9 + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.ay); +var $mdgriffith$elm_ui$Internal$Model$paragraphClass = $mdgriffith$elm_ui$Internal$Style$classes.b9 + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.bv); +var $mdgriffith$elm_ui$Internal$Model$rowClass = $mdgriffith$elm_ui$Internal$Style$classes.b9 + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.s); +var $mdgriffith$elm_ui$Internal$Model$singleClass = $mdgriffith$elm_ui$Internal$Style$classes.b9 + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.dx); +var $mdgriffith$elm_ui$Internal$Model$contextClasses = function (context) { + switch (context) { + case 0: + return $mdgriffith$elm_ui$Internal$Model$rowClass; + case 1: + return $mdgriffith$elm_ui$Internal$Model$columnClass; + case 2: + return $mdgriffith$elm_ui$Internal$Model$singleClass; + case 3: + return $mdgriffith$elm_ui$Internal$Model$gridClass; + case 4: + return $mdgriffith$elm_ui$Internal$Model$paragraphClass; + default: + return $mdgriffith$elm_ui$Internal$Model$pageClass; + } +}; +var $mdgriffith$elm_ui$Internal$Model$Keyed = function (a) { + return {$: 1, a: a}; +}; +var $mdgriffith$elm_ui$Internal$Model$NoStyleSheet = {$: 0}; +var $mdgriffith$elm_ui$Internal$Model$Styled = function (a) { + return {$: 1, a: a}; +}; +var $mdgriffith$elm_ui$Internal$Model$Unstyled = function (a) { + return {$: 0, a: a}; +}; +var $mdgriffith$elm_ui$Internal$Model$addChildren = F2( + function (existing, nearbyChildren) { + switch (nearbyChildren.$) { + case 0: + return existing; + case 1: + var behind = nearbyChildren.a; + return _Utils_ap(behind, existing); + case 2: + var inFront = nearbyChildren.a; + return _Utils_ap(existing, inFront); + default: + var behind = nearbyChildren.a; + var inFront = nearbyChildren.b; + return _Utils_ap( + behind, + _Utils_ap(existing, inFront)); + } + }); +var $mdgriffith$elm_ui$Internal$Model$addKeyedChildren = F3( + function (key, existing, nearbyChildren) { + switch (nearbyChildren.$) { + case 0: + return existing; + case 1: + var behind = nearbyChildren.a; + return _Utils_ap( + A2( + $elm$core$List$map, + function (x) { + return _Utils_Tuple2(key, x); + }, + behind), + existing); + case 2: + var inFront = nearbyChildren.a; + return _Utils_ap( + existing, + A2( + $elm$core$List$map, + function (x) { + return _Utils_Tuple2(key, x); + }, + inFront)); + default: + var behind = nearbyChildren.a; + var inFront = nearbyChildren.b; + return _Utils_ap( + A2( + $elm$core$List$map, + function (x) { + return _Utils_Tuple2(key, x); + }, + behind), + _Utils_ap( + existing, + A2( + $elm$core$List$map, + function (x) { + return _Utils_Tuple2(key, x); + }, + inFront))); + } + }); +var $mdgriffith$elm_ui$Internal$Model$AsEl = 2; +var $mdgriffith$elm_ui$Internal$Model$asEl = 2; +var $mdgriffith$elm_ui$Internal$Model$AsParagraph = 4; +var $mdgriffith$elm_ui$Internal$Model$asParagraph = 4; +var $mdgriffith$elm_ui$Internal$Flag$alignBottom = $mdgriffith$elm_ui$Internal$Flag$flag(41); +var $mdgriffith$elm_ui$Internal$Flag$alignRight = $mdgriffith$elm_ui$Internal$Flag$flag(40); +var $mdgriffith$elm_ui$Internal$Flag$centerX = $mdgriffith$elm_ui$Internal$Flag$flag(42); +var $mdgriffith$elm_ui$Internal$Flag$centerY = $mdgriffith$elm_ui$Internal$Flag$flag(43); +var $elm$html$Html$Attributes$stringProperty = F2( + function (key, string) { + return A2( + _VirtualDom_property, + key, + $elm$json$Json$Encode$string(string)); + }); +var $elm$html$Html$Attributes$class = $elm$html$Html$Attributes$stringProperty('className'); +var $elm$html$Html$div = _VirtualDom_node('div'); +var $elm$core$Set$Set_elm_builtin = $elm$core$Basics$identity; +var $elm$core$Set$empty = $elm$core$Dict$empty; +var $mdgriffith$elm_ui$Internal$Model$lengthClassName = function (x) { + switch (x.$) { + case 0: + var px = x.a; + return $elm$core$String$fromInt(px) + 'px'; + case 1: + return 'auto'; + case 2: + var i = x.a; + return $elm$core$String$fromInt(i) + 'fr'; + case 3: + var min = x.a; + var len = x.b; + return 'min' + ($elm$core$String$fromInt(min) + $mdgriffith$elm_ui$Internal$Model$lengthClassName(len)); + default: + var max = x.a; + var len = x.b; + return 'max' + ($elm$core$String$fromInt(max) + $mdgriffith$elm_ui$Internal$Model$lengthClassName(len)); + } +}; +var $elm$core$Tuple$second = function (_v0) { + var y = _v0.b; + return y; +}; +var $mdgriffith$elm_ui$Internal$Model$transformClass = function (transform) { + switch (transform.$) { + case 0: + return $elm$core$Maybe$Nothing; + case 1: + var _v1 = transform.a; + var x = _v1.a; + var y = _v1.b; + var z = _v1.c; + return $elm$core$Maybe$Just( + 'mv-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(x) + ('-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(y) + ('-' + $mdgriffith$elm_ui$Internal$Model$floatClass(z)))))); + default: + var _v2 = transform.a; + var tx = _v2.a; + var ty = _v2.b; + var tz = _v2.c; + var _v3 = transform.b; + var sx = _v3.a; + var sy = _v3.b; + var sz = _v3.c; + var _v4 = transform.c; + var ox = _v4.a; + var oy = _v4.b; + var oz = _v4.c; + var angle = transform.d; + return $elm$core$Maybe$Just( + 'tfrm-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(tx) + ('-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(ty) + ('-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(tz) + ('-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(sx) + ('-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(sy) + ('-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(sz) + ('-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(ox) + ('-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(oy) + ('-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(oz) + ('-' + $mdgriffith$elm_ui$Internal$Model$floatClass(angle)))))))))))))))))))); + } +}; +var $mdgriffith$elm_ui$Internal$Model$getStyleName = function (style) { + switch (style.$) { + case 13: + var name = style.a; + return name; + case 12: + var name = style.a; + var o = style.b; + return name; + case 0: + var _class = style.a; + return _class; + case 1: + var name = style.a; + return name; + case 2: + var i = style.a; + return 'font-size-' + $elm$core$String$fromInt(i); + case 3: + var _class = style.a; + return _class; + case 4: + var _class = style.a; + return _class; + case 5: + var cls = style.a; + var x = style.b; + var y = style.c; + return cls; + case 7: + var cls = style.a; + var top = style.b; + var right = style.c; + var bottom = style.d; + var left = style.e; + return cls; + case 6: + var cls = style.a; + var top = style.b; + var right = style.c; + var bottom = style.d; + var left = style.e; + return cls; + case 8: + var template = style.a; + return 'grid-rows-' + (A2( + $elm$core$String$join, + '-', + A2($elm$core$List$map, $mdgriffith$elm_ui$Internal$Model$lengthClassName, template.dq)) + ('-cols-' + (A2( + $elm$core$String$join, + '-', + A2($elm$core$List$map, $mdgriffith$elm_ui$Internal$Model$lengthClassName, template.u)) + ('-space-x-' + ($mdgriffith$elm_ui$Internal$Model$lengthClassName(template.dA.a) + ('-space-y-' + $mdgriffith$elm_ui$Internal$Model$lengthClassName(template.dA.b))))))); + case 9: + var pos = style.a; + return 'gp grid-pos-' + ($elm$core$String$fromInt(pos.s) + ('-' + ($elm$core$String$fromInt(pos.ct) + ('-' + ($elm$core$String$fromInt(pos.bS) + ('-' + $elm$core$String$fromInt(pos.bg))))))); + case 11: + var selector = style.a; + var subStyle = style.b; + var name = function () { + switch (selector) { + case 0: + return 'fs'; + case 1: + return 'hv'; + default: + return 'act'; + } + }(); + return A2( + $elm$core$String$join, + ' ', + A2( + $elm$core$List$map, + function (sty) { + var _v1 = $mdgriffith$elm_ui$Internal$Model$getStyleName(sty); + if (_v1 === '') { + return ''; + } else { + var styleName = _v1; + return styleName + ('-' + name); + } + }, + subStyle)); + default: + var x = style.a; + return A2( + $elm$core$Maybe$withDefault, + '', + $mdgriffith$elm_ui$Internal$Model$transformClass(x)); + } +}; +var $elm$core$Set$insert = F2( + function (key, _v0) { + var dict = _v0; + return A3($elm$core$Dict$insert, key, 0, dict); + }); +var $elm$core$Dict$member = F2( + function (key, dict) { + var _v0 = A2($elm$core$Dict$get, key, dict); + if (!_v0.$) { + return true; + } else { + return false; + } + }); +var $elm$core$Set$member = F2( + function (key, _v0) { + var dict = _v0; + return A2($elm$core$Dict$member, key, dict); + }); +var $mdgriffith$elm_ui$Internal$Model$reduceStyles = F2( + function (style, nevermind) { + var cache = nevermind.a; + var existing = nevermind.b; + var styleName = $mdgriffith$elm_ui$Internal$Model$getStyleName(style); + return A2($elm$core$Set$member, styleName, cache) ? nevermind : _Utils_Tuple2( + A2($elm$core$Set$insert, styleName, cache), + A2($elm$core$List$cons, style, existing)); + }); +var $mdgriffith$elm_ui$Internal$Model$Property = F2( + function (a, b) { + return {$: 0, a: a, b: b}; + }); +var $mdgriffith$elm_ui$Internal$Model$Style = F2( + function (a, b) { + return {$: 0, a: a, b: b}; + }); +var $mdgriffith$elm_ui$Internal$Style$dot = function (c) { + return '.' + c; +}; +var $elm$core$List$maybeCons = F3( + function (f, mx, xs) { + var _v0 = f(mx); + if (!_v0.$) { + var x = _v0.a; + return A2($elm$core$List$cons, x, xs); + } else { + return xs; + } + }); +var $elm$core$List$filterMap = F2( + function (f, xs) { + return A3( + $elm$core$List$foldr, + $elm$core$List$maybeCons(f), + _List_Nil, + xs); + }); +var $elm$core$String$fromFloat = _String_fromNumber; +var $mdgriffith$elm_ui$Internal$Model$formatColor = function (_v0) { + var red = _v0.a; + var green = _v0.b; + var blue = _v0.c; + var alpha = _v0.d; + return 'rgba(' + ($elm$core$String$fromInt( + $elm$core$Basics$round(red * 255)) + ((',' + $elm$core$String$fromInt( + $elm$core$Basics$round(green * 255))) + ((',' + $elm$core$String$fromInt( + $elm$core$Basics$round(blue * 255))) + (',' + ($elm$core$String$fromFloat(alpha) + ')'))))); +}; +var $mdgriffith$elm_ui$Internal$Model$formatBoxShadow = function (shadow) { + return A2( + $elm$core$String$join, + ' ', + A2( + $elm$core$List$filterMap, + $elm$core$Basics$identity, + _List_fromArray( + [ + shadow.bl ? $elm$core$Maybe$Just('inset') : $elm$core$Maybe$Nothing, + $elm$core$Maybe$Just( + $elm$core$String$fromFloat(shadow.bs.a) + 'px'), + $elm$core$Maybe$Just( + $elm$core$String$fromFloat(shadow.bs.b) + 'px'), + $elm$core$Maybe$Just( + $elm$core$String$fromFloat(shadow.R) + 'px'), + $elm$core$Maybe$Just( + $elm$core$String$fromFloat(shadow.bI) + 'px'), + $elm$core$Maybe$Just( + $mdgriffith$elm_ui$Internal$Model$formatColor(shadow.S)) + ]))); +}; +var $elm$core$Tuple$mapFirst = F2( + function (func, _v0) { + var x = _v0.a; + var y = _v0.b; + return _Utils_Tuple2( + func(x), + y); + }); +var $elm$core$Tuple$mapSecond = F2( + function (func, _v0) { + var x = _v0.a; + var y = _v0.b; + return _Utils_Tuple2( + x, + func(y)); + }); +var $mdgriffith$elm_ui$Internal$Model$renderFocusStyle = function (focus) { + return _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Model$Style, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.bb) + ':focus-within', + A2( + $elm$core$List$filterMap, + $elm$core$Basics$identity, + _List_fromArray( + [ + A2( + $elm$core$Maybe$map, + function (color) { + return A2( + $mdgriffith$elm_ui$Internal$Model$Property, + 'border-color', + $mdgriffith$elm_ui$Internal$Model$formatColor(color)); + }, + focus.ch), + A2( + $elm$core$Maybe$map, + function (color) { + return A2( + $mdgriffith$elm_ui$Internal$Model$Property, + 'background-color', + $mdgriffith$elm_ui$Internal$Model$formatColor(color)); + }, + focus.cb), + A2( + $elm$core$Maybe$map, + function (shadow) { + return A2( + $mdgriffith$elm_ui$Internal$Model$Property, + 'box-shadow', + $mdgriffith$elm_ui$Internal$Model$formatBoxShadow( + { + R: shadow.R, + S: shadow.S, + bl: false, + bs: A2( + $elm$core$Tuple$mapSecond, + $elm$core$Basics$toFloat, + A2($elm$core$Tuple$mapFirst, $elm$core$Basics$toFloat, shadow.bs)), + bI: shadow.bI + })); + }, + focus.dw), + $elm$core$Maybe$Just( + A2($mdgriffith$elm_ui$Internal$Model$Property, 'outline', 'none')) + ]))), + A2( + $mdgriffith$elm_ui$Internal$Model$Style, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b9) + (':focus .focusable, ' + ($mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b9) + '.focusable:focus')), + A2( + $elm$core$List$filterMap, + $elm$core$Basics$identity, + _List_fromArray( + [ + A2( + $elm$core$Maybe$map, + function (color) { + return A2( + $mdgriffith$elm_ui$Internal$Model$Property, + 'border-color', + $mdgriffith$elm_ui$Internal$Model$formatColor(color)); + }, + focus.ch), + A2( + $elm$core$Maybe$map, + function (color) { + return A2( + $mdgriffith$elm_ui$Internal$Model$Property, + 'background-color', + $mdgriffith$elm_ui$Internal$Model$formatColor(color)); + }, + focus.cb), + A2( + $elm$core$Maybe$map, + function (shadow) { + return A2( + $mdgriffith$elm_ui$Internal$Model$Property, + 'box-shadow', + $mdgriffith$elm_ui$Internal$Model$formatBoxShadow( + { + R: shadow.R, + S: shadow.S, + bl: false, + bs: A2( + $elm$core$Tuple$mapSecond, + $elm$core$Basics$toFloat, + A2($elm$core$Tuple$mapFirst, $elm$core$Basics$toFloat, shadow.bs)), + bI: shadow.bI + })); + }, + focus.dw), + $elm$core$Maybe$Just( + A2($mdgriffith$elm_ui$Internal$Model$Property, 'outline', 'none')) + ]))) + ]); +}; +var $elm$virtual_dom$VirtualDom$node = function (tag) { + return _VirtualDom_node( + _VirtualDom_noScript(tag)); +}; +var $elm$virtual_dom$VirtualDom$property = F2( + function (key, value) { + return A2( + _VirtualDom_property, + _VirtualDom_noInnerHtmlOrFormAction(key), + _VirtualDom_noJavaScriptOrHtmlUri(value)); + }); +var $mdgriffith$elm_ui$Internal$Style$Batch = function (a) { + return {$: 5, a: a}; +}; +var $mdgriffith$elm_ui$Internal$Style$Child = F2( + function (a, b) { + return {$: 1, a: a, b: b}; + }); +var $mdgriffith$elm_ui$Internal$Style$Class = F2( + function (a, b) { + return {$: 0, a: a, b: b}; + }); +var $mdgriffith$elm_ui$Internal$Style$Descriptor = F2( + function (a, b) { + return {$: 3, a: a, b: b}; + }); +var $mdgriffith$elm_ui$Internal$Style$Left = 3; +var $mdgriffith$elm_ui$Internal$Style$Prop = F2( + function (a, b) { + return {$: 0, a: a, b: b}; + }); +var $mdgriffith$elm_ui$Internal$Style$Right = 2; +var $mdgriffith$elm_ui$Internal$Style$Self = $elm$core$Basics$identity; +var $mdgriffith$elm_ui$Internal$Style$Supports = F2( + function (a, b) { + return {$: 2, a: a, b: b}; + }); +var $mdgriffith$elm_ui$Internal$Style$Content = $elm$core$Basics$identity; +var $mdgriffith$elm_ui$Internal$Style$Bottom = 1; +var $mdgriffith$elm_ui$Internal$Style$CenterX = 4; +var $mdgriffith$elm_ui$Internal$Style$CenterY = 5; +var $mdgriffith$elm_ui$Internal$Style$Top = 0; +var $mdgriffith$elm_ui$Internal$Style$alignments = _List_fromArray( + [0, 1, 2, 3, 4, 5]); +var $mdgriffith$elm_ui$Internal$Style$contentName = function (desc) { + switch (desc) { + case 0: + var _v1 = desc; + return $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cu); + case 1: + var _v2 = desc; + return $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.ar); + case 2: + var _v3 = desc; + return $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.at); + case 3: + var _v4 = desc; + return $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes._); + case 4: + var _v5 = desc; + return $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.as); + default: + var _v6 = desc; + return $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.C); + } +}; +var $mdgriffith$elm_ui$Internal$Style$selfName = function (desc) { + switch (desc) { + case 0: + var _v1 = desc; + return $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b6); + case 1: + var _v2 = desc; + return $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b$); + case 2: + var _v3 = desc; + return $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.a2); + case 3: + var _v4 = desc; + return $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.a1); + case 4: + var _v5 = desc; + return $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b0); + default: + var _v6 = desc; + return $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b1); + } +}; +var $mdgriffith$elm_ui$Internal$Style$describeAlignment = function (values) { + var createDescription = function (alignment) { + var _v0 = values(alignment); + var content = _v0.a; + var indiv = _v0.b; + return _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$contentName(alignment), + content), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b9), + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$selfName(alignment), + indiv) + ])) + ]); + }; + return $mdgriffith$elm_ui$Internal$Style$Batch( + A2($elm$core$List$concatMap, createDescription, $mdgriffith$elm_ui$Internal$Style$alignments)); +}; +var $mdgriffith$elm_ui$Internal$Style$elDescription = _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'flex'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-direction', 'column'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'white-space', 'pre'), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aM), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'z-index', '0'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cd), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'z-index', '-1') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.du), + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dL), + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aO), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '0') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aZ), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'auto !important') + ])) + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aN), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', 'auto') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aO), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '100000') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aZ), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.bU), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aY), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'flex-start') + ])), + $mdgriffith$elm_ui$Internal$Style$describeAlignment( + function (alignment) { + switch (alignment) { + case 0: + return _Utils_Tuple2( + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'flex-start') + ]), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-bottom', 'auto !important'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-top', '0 !important') + ])); + case 1: + return _Utils_Tuple2( + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'flex-end') + ]), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-top', 'auto !important'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-bottom', '0 !important') + ])); + case 2: + return _Utils_Tuple2( + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-items', 'flex-end') + ]), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'flex-end') + ])); + case 3: + return _Utils_Tuple2( + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-items', 'flex-start') + ]), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'flex-start') + ])); + case 4: + return _Utils_Tuple2( + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-items', 'center') + ]), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'center') + ])); + default: + return _Utils_Tuple2( + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b9), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-top', 'auto'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-bottom', 'auto') + ])) + ]), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-top', 'auto !important'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-bottom', 'auto !important') + ])); + } + }) + ]); +var $mdgriffith$elm_ui$Internal$Style$gridAlignments = function (values) { + var createDescription = function (alignment) { + return _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b9), + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$selfName(alignment), + values(alignment)) + ])) + ]); + }; + return $mdgriffith$elm_ui$Internal$Style$Batch( + A2($elm$core$List$concatMap, createDescription, $mdgriffith$elm_ui$Internal$Style$alignments)); +}; +var $mdgriffith$elm_ui$Internal$Style$Above = 0; +var $mdgriffith$elm_ui$Internal$Style$Behind = 5; +var $mdgriffith$elm_ui$Internal$Style$Below = 1; +var $mdgriffith$elm_ui$Internal$Style$OnLeft = 3; +var $mdgriffith$elm_ui$Internal$Style$OnRight = 2; +var $mdgriffith$elm_ui$Internal$Style$Within = 4; +var $mdgriffith$elm_ui$Internal$Style$locations = function () { + var loc = 0; + var _v0 = function () { + switch (loc) { + case 0: + return 0; + case 1: + return 0; + case 2: + return 0; + case 3: + return 0; + case 4: + return 0; + default: + return 0; + } + }(); + return _List_fromArray( + [0, 1, 2, 3, 4, 5]); +}(); +var $mdgriffith$elm_ui$Internal$Style$baseSheet = _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Style$Class, + 'html,body', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'padding', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin', '0') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Class, + _Utils_ap( + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b9), + _Utils_ap( + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dx), + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cN))), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'block') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Class, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b9) + ':focus', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'outline', 'none') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Class, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dm), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', 'auto'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'min-height', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'z-index', '0'), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + _Utils_ap( + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b9), + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aO)), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', '100%'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aO), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', '100%') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cP), + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.U), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'position', 'fixed') + ])) + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Class, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.U), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'position', 'relative'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'border', 'none'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'flex'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-direction', 'row'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-basis', 'auto'), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dx), + $mdgriffith$elm_ui$Internal$Style$elDescription), + $mdgriffith$elm_ui$Internal$Style$Batch( + function (fn) { + return A2($elm$core$List$map, fn, $mdgriffith$elm_ui$Internal$Style$locations); + }( + function (loc) { + switch (loc) { + case 0: + return A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.bY), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'position', 'absolute'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'bottom', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'left', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'z-index', '20'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin', '0 !important'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aO), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', 'auto') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aZ), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%') + ])), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'none'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + '*', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'auto') + ])) + ])); + case 1: + return A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.ce), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'position', 'absolute'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'bottom', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'left', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'z-index', '20'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin', '0 !important'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'none'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + '*', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'auto') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aO), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', 'auto') + ])) + ])); + case 2: + return A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.c8), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'position', 'absolute'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'left', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'top', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin', '0 !important'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'z-index', '20'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'none'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + '*', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'auto') + ])) + ])); + case 3: + return A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.c6), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'position', 'absolute'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'right', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'top', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin', '0 !important'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'z-index', '20'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'none'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + '*', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'auto') + ])) + ])); + case 4: + return A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cP), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'position', 'absolute'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'left', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'top', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin', '0 !important'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'none'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + '*', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'auto') + ])) + ])); + default: + return A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cd), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'position', 'absolute'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'left', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'top', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin', '0 !important'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'z-index', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'none'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + '*', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'auto') + ])) + ])); + } + })) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Class, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b9), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'position', 'relative'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'border', 'none'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-shrink', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'flex'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-direction', 'row'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-basis', 'auto'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'resize', 'none'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-feature-settings', 'inherit'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'box-sizing', 'border-box'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'padding', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'border-width', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'border-style', 'solid'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-size', 'inherit'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'color', 'inherit'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-family', 'inherit'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'line-height', '1'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-weight', 'inherit'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-decoration', 'none'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-style', 'inherit'), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.a_), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-wrap', 'wrap') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.br), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, '-moz-user-select', 'none'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, '-webkit-user-select', 'none'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, '-ms-user-select', 'none'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'user-select', 'none') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cv), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'cursor', 'pointer') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cw), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'cursor', 'text') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.de), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'none !important') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.ao), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'auto !important') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.P), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'opacity', '0') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.M), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'opacity', '1') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot( + _Utils_ap($mdgriffith$elm_ui$Internal$Style$classes.cL, $mdgriffith$elm_ui$Internal$Style$classes.P)) + ':hover', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'opacity', '0') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot( + _Utils_ap($mdgriffith$elm_ui$Internal$Style$classes.cL, $mdgriffith$elm_ui$Internal$Style$classes.M)) + ':hover', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'opacity', '1') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot( + _Utils_ap($mdgriffith$elm_ui$Internal$Style$classes.cE, $mdgriffith$elm_ui$Internal$Style$classes.P)) + ':focus', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'opacity', '0') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot( + _Utils_ap($mdgriffith$elm_ui$Internal$Style$classes.cE, $mdgriffith$elm_ui$Internal$Style$classes.M)) + ':focus', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'opacity', '1') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot( + _Utils_ap($mdgriffith$elm_ui$Internal$Style$classes.aG, $mdgriffith$elm_ui$Internal$Style$classes.P)) + ':active', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'opacity', '0') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot( + _Utils_ap($mdgriffith$elm_ui$Internal$Style$classes.aG, $mdgriffith$elm_ui$Internal$Style$classes.M)) + ':active', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'opacity', '1') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.bM), + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Style$Prop, + 'transition', + A2( + $elm$core$String$join, + ', ', + A2( + $elm$core$List$map, + function (x) { + return x + ' 160ms'; + }, + _List_fromArray( + ['transform', 'opacity', 'filter', 'background-color', 'color', 'font-size'])))) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dr), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'overflow', 'auto'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-shrink', '1') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.ds), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'overflow-x', 'auto'), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.s), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-shrink', '1') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dt), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'overflow-y', 'auto'), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.B), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-shrink', '1') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dx), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-shrink', '1') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cq), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'overflow', 'hidden') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cr), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'overflow-x', 'hidden') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cs), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'overflow-y', 'hidden') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aY), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', 'auto') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.an), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'border-width', '0') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.ci), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'border-style', 'dashed') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cj), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'border-style', 'dotted') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.ck), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'border-style', 'solid') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dL), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'white-space', 'pre'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'inline-block') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cU), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'line-height', '1.05'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'background', 'transparent') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dx), + $mdgriffith$elm_ui$Internal$Style$elDescription), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.s), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'flex'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-direction', 'row'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b9), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-basis', '0%'), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.bT), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-basis', 'auto') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.bo), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-basis', 'auto') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aO), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'stretch !important') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.bi), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'stretch !important') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aZ), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '100000') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aq), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-basis', 'auto'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'stretch') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + 'u:first-of-type.' + $mdgriffith$elm_ui$Internal$Style$classes.b5, + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '1') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + 's:first-of-type.' + $mdgriffith$elm_ui$Internal$Style$classes.b3, + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '1'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b0), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-left', 'auto !important') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + 's:last-of-type.' + $mdgriffith$elm_ui$Internal$Style$classes.b3, + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '1'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b0), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-right', 'auto !important') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + 's:only-of-type.' + $mdgriffith$elm_ui$Internal$Style$classes.b3, + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '1'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b1), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-top', 'auto !important'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-bottom', 'auto !important') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + 's:last-of-type.' + ($mdgriffith$elm_ui$Internal$Style$classes.b3 + ' ~ u'), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '0') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + 'u:first-of-type.' + ($mdgriffith$elm_ui$Internal$Style$classes.b5 + (' ~ s.' + $mdgriffith$elm_ui$Internal$Style$classes.b3)), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '0') + ])), + $mdgriffith$elm_ui$Internal$Style$describeAlignment( + function (alignment) { + switch (alignment) { + case 0: + return _Utils_Tuple2( + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-items', 'flex-start') + ]), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'flex-start') + ])); + case 1: + return _Utils_Tuple2( + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-items', 'flex-end') + ]), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'flex-end') + ])); + case 2: + return _Utils_Tuple2( + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'flex-end') + ]), + _List_Nil); + case 3: + return _Utils_Tuple2( + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'flex-start') + ]), + _List_Nil); + case 4: + return _Utils_Tuple2( + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'center') + ]), + _List_Nil); + default: + return _Utils_Tuple2( + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-items', 'center') + ]), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'center') + ])); + } + }), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dz), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'space-between') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.B), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'flex'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-direction', 'column'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b9), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-basis', '0%'), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.bh), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-basis', 'auto') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.B), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-basis', 'auto') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aO), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '100000') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aZ), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.bU), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aY), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'flex-start') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + 'u:first-of-type.' + $mdgriffith$elm_ui$Internal$Style$classes.b2, + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '1') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + 's:first-of-type.' + $mdgriffith$elm_ui$Internal$Style$classes.b4, + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '1'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b1), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-top', 'auto !important'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-bottom', '0 !important') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + 's:last-of-type.' + $mdgriffith$elm_ui$Internal$Style$classes.b4, + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '1'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b1), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-bottom', 'auto !important'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-top', '0 !important') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + 's:only-of-type.' + $mdgriffith$elm_ui$Internal$Style$classes.b4, + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '1'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b1), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-top', 'auto !important'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-bottom', 'auto !important') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + 's:last-of-type.' + ($mdgriffith$elm_ui$Internal$Style$classes.b4 + ' ~ u'), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '0') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + 'u:first-of-type.' + ($mdgriffith$elm_ui$Internal$Style$classes.b2 + (' ~ s.' + $mdgriffith$elm_ui$Internal$Style$classes.b4)), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '0') + ])), + $mdgriffith$elm_ui$Internal$Style$describeAlignment( + function (alignment) { + switch (alignment) { + case 0: + return _Utils_Tuple2( + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'flex-start') + ]), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-bottom', 'auto') + ])); + case 1: + return _Utils_Tuple2( + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'flex-end') + ]), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-top', 'auto') + ])); + case 2: + return _Utils_Tuple2( + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-items', 'flex-end') + ]), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'flex-end') + ])); + case 3: + return _Utils_Tuple2( + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-items', 'flex-start') + ]), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'flex-start') + ])); + case 4: + return _Utils_Tuple2( + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-items', 'center') + ]), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'center') + ])); + default: + return _Utils_Tuple2( + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'center') + ]), + _List_Nil); + } + }), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aq), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-basis', 'auto'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'stretch !important') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dz), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'space-between') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cI), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', '-ms-grid'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + '.gp', + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b9), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Supports, + _Utils_Tuple2('display', 'grid'), + _List_fromArray( + [ + _Utils_Tuple2('display', 'grid') + ])), + $mdgriffith$elm_ui$Internal$Style$gridAlignments( + function (alignment) { + switch (alignment) { + case 0: + return _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'flex-start') + ]); + case 1: + return _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'flex-end') + ]); + case 2: + return _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-items', 'flex-end') + ]); + case 3: + return _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-items', 'flex-start') + ]); + case 4: + return _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-items', 'center') + ]); + default: + return _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'center') + ]); + } + }) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.ay), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'block'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b9 + ':first-child'), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin', '0 !important') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot( + $mdgriffith$elm_ui$Internal$Style$classes.b9 + ($mdgriffith$elm_ui$Internal$Style$selfName(3) + (':first-child + .' + $mdgriffith$elm_ui$Internal$Style$classes.b9))), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin', '0 !important') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot( + $mdgriffith$elm_ui$Internal$Style$classes.b9 + ($mdgriffith$elm_ui$Internal$Style$selfName(2) + (':first-child + .' + $mdgriffith$elm_ui$Internal$Style$classes.b9))), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin', '0 !important') + ])), + $mdgriffith$elm_ui$Internal$Style$describeAlignment( + function (alignment) { + switch (alignment) { + case 0: + return _Utils_Tuple2(_List_Nil, _List_Nil); + case 1: + return _Utils_Tuple2(_List_Nil, _List_Nil); + case 2: + return _Utils_Tuple2( + _List_Nil, + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'float', 'right'), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + '::after', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'content', '\"\"'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'table'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'clear', 'both') + ])) + ])); + case 3: + return _Utils_Tuple2( + _List_Nil, + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'float', 'left'), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + '::after', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'content', '\"\"'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'table'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'clear', 'both') + ])) + ])); + case 4: + return _Utils_Tuple2(_List_Nil, _List_Nil); + default: + return _Utils_Tuple2(_List_Nil, _List_Nil); + } + }) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cQ), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'white-space', 'pre-wrap'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'background-color', 'transparent') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cT), + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dx), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-basis', 'auto') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cS), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'white-space', 'pre-wrap'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'cursor', 'text'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cR), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'white-space', 'pre-wrap'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'color', 'transparent') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.bv), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'block'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'white-space', 'normal'), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aM), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'z-index', '0'), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cd), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'z-index', '-1') + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dL), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'inline'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'white-space', 'normal') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dx), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'inline'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'white-space', 'normal'), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cP), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'flex') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cd), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'flex') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.bY), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'flex') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.ce), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'flex') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.c8), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'flex') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.c6), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'flex') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dL), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'inline'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'white-space', 'normal') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dx), + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dL), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'inline'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'white-space', 'normal') + ])) + ])) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.s), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'inline-flex') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.B), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'inline-flex') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Child, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cI), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'inline-grid') + ])), + $mdgriffith$elm_ui$Internal$Style$describeAlignment( + function (alignment) { + switch (alignment) { + case 0: + return _Utils_Tuple2(_List_Nil, _List_Nil); + case 1: + return _Utils_Tuple2(_List_Nil, _List_Nil); + case 2: + return _Utils_Tuple2( + _List_Nil, + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'float', 'right') + ])); + case 3: + return _Utils_Tuple2( + _List_Nil, + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'float', 'left') + ])); + case 4: + return _Utils_Tuple2(_List_Nil, _List_Nil); + default: + return _Utils_Tuple2(_List_Nil, _List_Nil); + } + }) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + '.hidden', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'none') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dX), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-weight', '100') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dO), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-weight', '200') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dS), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-weight', '300') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dU), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-weight', '400') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dT), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-weight', '500') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dW), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-weight', '600') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cg), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-weight', '700') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dN), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-weight', '800') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dP), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-weight', '900') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cV), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-style', 'italic') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dH), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-decoration', 'line-through') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.d6), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-decoration', 'underline'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-decoration-skip-ink', 'auto'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-decoration-skip', 'ink') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + _Utils_ap( + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.d6), + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dH)), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-decoration', 'line-through underline'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-decoration-skip-ink', 'auto'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-decoration-skip', 'ink') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dY), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-style', 'normal') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dQ), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-align', 'justify') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aA), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-align', 'justify-all') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dM), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-align', 'center') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dV), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-align', 'right') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dR), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-align', 'left') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Descriptor, + '.modal', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'position', 'fixed'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'left', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'top', '0'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', '100%'), + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'none') + ])) + ])) + ]); +var $mdgriffith$elm_ui$Internal$Style$fontVariant = function (_var) { + return _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Style$Class, + '.v-' + _var, + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-feature-settings', '\"' + (_var + '\"')) + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Class, + '.v-' + (_var + '-off'), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-feature-settings', '\"' + (_var + '\" 0')) + ])) + ]); +}; +var $mdgriffith$elm_ui$Internal$Style$commonValues = $elm$core$List$concat( + _List_fromArray( + [ + A2( + $elm$core$List$map, + function (x) { + return A2( + $mdgriffith$elm_ui$Internal$Style$Class, + '.border-' + $elm$core$String$fromInt(x), + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Style$Prop, + 'border-width', + $elm$core$String$fromInt(x) + 'px') + ])); + }, + A2($elm$core$List$range, 0, 6)), + A2( + $elm$core$List$map, + function (i) { + return A2( + $mdgriffith$elm_ui$Internal$Style$Class, + '.font-size-' + $elm$core$String$fromInt(i), + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Style$Prop, + 'font-size', + $elm$core$String$fromInt(i) + 'px') + ])); + }, + A2($elm$core$List$range, 8, 32)), + A2( + $elm$core$List$map, + function (i) { + return A2( + $mdgriffith$elm_ui$Internal$Style$Class, + '.p-' + $elm$core$String$fromInt(i), + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Style$Prop, + 'padding', + $elm$core$String$fromInt(i) + 'px') + ])); + }, + A2($elm$core$List$range, 0, 24)), + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Style$Class, + '.v-smcp', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-variant', 'small-caps') + ])), + A2( + $mdgriffith$elm_ui$Internal$Style$Class, + '.v-smcp-off', + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-variant', 'normal') + ])) + ]), + $mdgriffith$elm_ui$Internal$Style$fontVariant('zero'), + $mdgriffith$elm_ui$Internal$Style$fontVariant('onum'), + $mdgriffith$elm_ui$Internal$Style$fontVariant('liga'), + $mdgriffith$elm_ui$Internal$Style$fontVariant('dlig'), + $mdgriffith$elm_ui$Internal$Style$fontVariant('ordn'), + $mdgriffith$elm_ui$Internal$Style$fontVariant('tnum'), + $mdgriffith$elm_ui$Internal$Style$fontVariant('afrc'), + $mdgriffith$elm_ui$Internal$Style$fontVariant('frac') + ])); +var $mdgriffith$elm_ui$Internal$Style$explainer = '\n.explain {\n border: 6px solid rgb(174, 121, 15) !important;\n}\n.explain > .' + ($mdgriffith$elm_ui$Internal$Style$classes.b9 + (' {\n border: 4px dashed rgb(0, 151, 167) !important;\n}\n\n.ctr {\n border: none !important;\n}\n.explain > .ctr > .' + ($mdgriffith$elm_ui$Internal$Style$classes.b9 + ' {\n border: 4px dashed rgb(0, 151, 167) !important;\n}\n\n'))); +var $mdgriffith$elm_ui$Internal$Style$inputTextReset = '\ninput[type="search"],\ninput[type="search"]::-webkit-search-decoration,\ninput[type="search"]::-webkit-search-cancel-button,\ninput[type="search"]::-webkit-search-results-button,\ninput[type="search"]::-webkit-search-results-decoration {\n -webkit-appearance:none;\n}\n'; +var $mdgriffith$elm_ui$Internal$Style$sliderReset = '\ninput[type=range] {\n -webkit-appearance: none; \n background: transparent;\n position:absolute;\n left:0;\n top:0;\n z-index:10;\n width: 100%;\n outline: dashed 1px;\n height: 100%;\n opacity: 0;\n}\n'; +var $mdgriffith$elm_ui$Internal$Style$thumbReset = '\ninput[type=range]::-webkit-slider-thumb {\n -webkit-appearance: none;\n opacity: 0.5;\n width: 80px;\n height: 80px;\n background-color: black;\n border:none;\n border-radius: 5px;\n}\ninput[type=range]::-moz-range-thumb {\n opacity: 0.5;\n width: 80px;\n height: 80px;\n background-color: black;\n border:none;\n border-radius: 5px;\n}\ninput[type=range]::-ms-thumb {\n opacity: 0.5;\n width: 80px;\n height: 80px;\n background-color: black;\n border:none;\n border-radius: 5px;\n}\ninput[type=range][orient=vertical]{\n writing-mode: bt-lr; /* IE */\n -webkit-appearance: slider-vertical; /* WebKit */\n}\n'; +var $mdgriffith$elm_ui$Internal$Style$trackReset = '\ninput[type=range]::-moz-range-track {\n background: transparent;\n cursor: pointer;\n}\ninput[type=range]::-ms-track {\n background: transparent;\n cursor: pointer;\n}\ninput[type=range]::-webkit-slider-runnable-track {\n background: transparent;\n cursor: pointer;\n}\n'; +var $mdgriffith$elm_ui$Internal$Style$overrides = '@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {' + ($mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b9) + ($mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.s) + (' > ' + ($mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b9) + (' { flex-basis: auto !important; } ' + ($mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b9) + ($mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.s) + (' > ' + ($mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b9) + ($mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aq) + (' { flex-basis: auto !important; }}' + ($mdgriffith$elm_ui$Internal$Style$inputTextReset + ($mdgriffith$elm_ui$Internal$Style$sliderReset + ($mdgriffith$elm_ui$Internal$Style$trackReset + ($mdgriffith$elm_ui$Internal$Style$thumbReset + $mdgriffith$elm_ui$Internal$Style$explainer))))))))))))))); +var $elm$core$String$concat = function (strings) { + return A2($elm$core$String$join, '', strings); +}; +var $mdgriffith$elm_ui$Internal$Style$Intermediate = $elm$core$Basics$identity; +var $mdgriffith$elm_ui$Internal$Style$emptyIntermediate = F2( + function (selector, closing) { + return {ap: closing, h: _List_Nil, F: _List_Nil, x: selector}; + }); +var $mdgriffith$elm_ui$Internal$Style$renderRules = F2( + function (_v0, rulesToRender) { + var parent = _v0; + var generateIntermediates = F2( + function (rule, rendered) { + switch (rule.$) { + case 0: + var name = rule.a; + var val = rule.b; + return _Utils_update( + rendered, + { + F: A2( + $elm$core$List$cons, + _Utils_Tuple2(name, val), + rendered.F) + }); + case 2: + var _v2 = rule.a; + var prop = _v2.a; + var value = _v2.b; + var props = rule.b; + return _Utils_update( + rendered, + { + h: A2( + $elm$core$List$cons, + {ap: '\n}', h: _List_Nil, F: props, x: '@supports (' + (prop + (':' + (value + (') {' + parent.x))))}, + rendered.h) + }); + case 4: + var selector = rule.a; + var adjRules = rule.b; + return _Utils_update( + rendered, + { + h: A2( + $elm$core$List$cons, + A2( + $mdgriffith$elm_ui$Internal$Style$renderRules, + A2($mdgriffith$elm_ui$Internal$Style$emptyIntermediate, parent.x + (' + ' + selector), ''), + adjRules), + rendered.h) + }); + case 1: + var child = rule.a; + var childRules = rule.b; + return _Utils_update( + rendered, + { + h: A2( + $elm$core$List$cons, + A2( + $mdgriffith$elm_ui$Internal$Style$renderRules, + A2($mdgriffith$elm_ui$Internal$Style$emptyIntermediate, parent.x + (' > ' + child), ''), + childRules), + rendered.h) + }); + case 3: + var descriptor = rule.a; + var descriptorRules = rule.b; + return _Utils_update( + rendered, + { + h: A2( + $elm$core$List$cons, + A2( + $mdgriffith$elm_ui$Internal$Style$renderRules, + A2( + $mdgriffith$elm_ui$Internal$Style$emptyIntermediate, + _Utils_ap(parent.x, descriptor), + ''), + descriptorRules), + rendered.h) + }); + default: + var batched = rule.a; + return _Utils_update( + rendered, + { + h: A2( + $elm$core$List$cons, + A2( + $mdgriffith$elm_ui$Internal$Style$renderRules, + A2($mdgriffith$elm_ui$Internal$Style$emptyIntermediate, parent.x, ''), + batched), + rendered.h) + }); + } + }); + return A3($elm$core$List$foldr, generateIntermediates, parent, rulesToRender); + }); +var $mdgriffith$elm_ui$Internal$Style$renderCompact = function (styleClasses) { + var renderValues = function (values) { + return $elm$core$String$concat( + A2( + $elm$core$List$map, + function (_v3) { + var x = _v3.a; + var y = _v3.b; + return x + (':' + (y + ';')); + }, + values)); + }; + var renderClass = function (rule) { + var _v2 = rule.F; + if (!_v2.b) { + return ''; + } else { + return rule.x + ('{' + (renderValues(rule.F) + (rule.ap + '}'))); + } + }; + var renderIntermediate = function (_v0) { + var rule = _v0; + return _Utils_ap( + renderClass(rule), + $elm$core$String$concat( + A2($elm$core$List$map, renderIntermediate, rule.h))); + }; + return $elm$core$String$concat( + A2( + $elm$core$List$map, + renderIntermediate, + A3( + $elm$core$List$foldr, + F2( + function (_v1, existing) { + var name = _v1.a; + var styleRules = _v1.b; + return A2( + $elm$core$List$cons, + A2( + $mdgriffith$elm_ui$Internal$Style$renderRules, + A2($mdgriffith$elm_ui$Internal$Style$emptyIntermediate, name, ''), + styleRules), + existing); + }), + _List_Nil, + styleClasses))); +}; +var $mdgriffith$elm_ui$Internal$Style$rules = _Utils_ap( + $mdgriffith$elm_ui$Internal$Style$overrides, + $mdgriffith$elm_ui$Internal$Style$renderCompact( + _Utils_ap($mdgriffith$elm_ui$Internal$Style$baseSheet, $mdgriffith$elm_ui$Internal$Style$commonValues))); +var $elm$virtual_dom$VirtualDom$text = _VirtualDom_text; +var $mdgriffith$elm_ui$Internal$Model$staticRoot = function (opts) { + var _v0 = opts.c0; + switch (_v0) { + case 0: + return A3( + $elm$virtual_dom$VirtualDom$node, + 'div', + _List_Nil, + _List_fromArray( + [ + A3( + $elm$virtual_dom$VirtualDom$node, + 'style', + _List_Nil, + _List_fromArray( + [ + $elm$virtual_dom$VirtualDom$text($mdgriffith$elm_ui$Internal$Style$rules) + ])) + ])); + case 1: + return $elm$virtual_dom$VirtualDom$text(''); + default: + return A3( + $elm$virtual_dom$VirtualDom$node, + 'elm-ui-static-rules', + _List_fromArray( + [ + A2( + $elm$virtual_dom$VirtualDom$property, + 'rules', + $elm$json$Json$Encode$string($mdgriffith$elm_ui$Internal$Style$rules)) + ]), + _List_Nil); + } +}; +var $elm$json$Json$Encode$list = F2( + function (func, entries) { + return _Json_wrap( + A3( + $elm$core$List$foldl, + _Json_addEntry(func), + _Json_emptyArray(0), + entries)); + }); +var $mdgriffith$elm_ui$Internal$Model$fontName = function (font) { + switch (font.$) { + case 0: + return 'serif'; + case 1: + return 'sans-serif'; + case 2: + return 'monospace'; + case 3: + var name = font.a; + return '\"' + (name + '\"'); + case 4: + var name = font.a; + var url = font.b; + return '\"' + (name + '\"'); + default: + var name = font.a.c1; + return '\"' + (name + '\"'); + } +}; +var $mdgriffith$elm_ui$Internal$Model$isSmallCaps = function (_var) { + switch (_var.$) { + case 0: + var name = _var.a; + return name === 'smcp'; + case 1: + var name = _var.a; + return false; + default: + var name = _var.a; + var index = _var.b; + return (name === 'smcp') && (index === 1); + } +}; +var $mdgriffith$elm_ui$Internal$Model$hasSmallCaps = function (typeface) { + if (typeface.$ === 5) { + var font = typeface.a; + return A2($elm$core$List$any, $mdgriffith$elm_ui$Internal$Model$isSmallCaps, font.bO); + } else { + return false; + } +}; +var $elm$core$Basics$negate = function (n) { + return -n; +}; +var $mdgriffith$elm_ui$Internal$Model$renderProps = F3( + function (force, _v0, existing) { + var key = _v0.a; + var val = _v0.b; + return force ? (existing + ('\n ' + (key + (': ' + (val + ' !important;'))))) : (existing + ('\n ' + (key + (': ' + (val + ';'))))); + }); +var $mdgriffith$elm_ui$Internal$Model$renderStyle = F4( + function (options, maybePseudo, selector, props) { + if (maybePseudo.$ === 1) { + return _List_fromArray( + [ + selector + ('{' + (A3( + $elm$core$List$foldl, + $mdgriffith$elm_ui$Internal$Model$renderProps(false), + '', + props) + '\n}')) + ]); + } else { + var pseudo = maybePseudo.a; + switch (pseudo) { + case 1: + var _v2 = options.cL; + switch (_v2) { + case 0: + return _List_Nil; + case 2: + return _List_fromArray( + [ + selector + ('-hv {' + (A3( + $elm$core$List$foldl, + $mdgriffith$elm_ui$Internal$Model$renderProps(true), + '', + props) + '\n}')) + ]); + default: + return _List_fromArray( + [ + selector + ('-hv:hover {' + (A3( + $elm$core$List$foldl, + $mdgriffith$elm_ui$Internal$Model$renderProps(false), + '', + props) + '\n}')) + ]); + } + case 0: + var renderedProps = A3( + $elm$core$List$foldl, + $mdgriffith$elm_ui$Internal$Model$renderProps(false), + '', + props); + return _List_fromArray( + [selector + ('-fs:focus {' + (renderedProps + '\n}')), '.' + ($mdgriffith$elm_ui$Internal$Style$classes.b9 + (':focus ~ ' + (selector + ('-fs:not(.focus) {' + (renderedProps + '\n}'))))), '.' + ($mdgriffith$elm_ui$Internal$Style$classes.b9 + (':focus ' + (selector + ('-fs {' + (renderedProps + '\n}'))))), selector + ('-fs:focus-within {' + (renderedProps + '\n}')), '.focusable-parent:focus ~ ' + ('.' + ($mdgriffith$elm_ui$Internal$Style$classes.b9 + (' ' + (selector + ('-fs {' + (renderedProps + '\n}'))))))]); + default: + return _List_fromArray( + [ + selector + ('-act:active {' + (A3( + $elm$core$List$foldl, + $mdgriffith$elm_ui$Internal$Model$renderProps(false), + '', + props) + '\n}')) + ]); + } + } + }); +var $mdgriffith$elm_ui$Internal$Model$renderVariant = function (_var) { + switch (_var.$) { + case 0: + var name = _var.a; + return '\"' + (name + '\"'); + case 1: + var name = _var.a; + return '\"' + (name + '\" 0'); + default: + var name = _var.a; + var index = _var.b; + return '\"' + (name + ('\" ' + $elm$core$String$fromInt(index))); + } +}; +var $mdgriffith$elm_ui$Internal$Model$renderVariants = function (typeface) { + if (typeface.$ === 5) { + var font = typeface.a; + return $elm$core$Maybe$Just( + A2( + $elm$core$String$join, + ', ', + A2($elm$core$List$map, $mdgriffith$elm_ui$Internal$Model$renderVariant, font.bO))); + } else { + return $elm$core$Maybe$Nothing; + } +}; +var $mdgriffith$elm_ui$Internal$Model$transformValue = function (transform) { + switch (transform.$) { + case 0: + return $elm$core$Maybe$Nothing; + case 1: + var _v1 = transform.a; + var x = _v1.a; + var y = _v1.b; + var z = _v1.c; + return $elm$core$Maybe$Just( + 'translate3d(' + ($elm$core$String$fromFloat(x) + ('px, ' + ($elm$core$String$fromFloat(y) + ('px, ' + ($elm$core$String$fromFloat(z) + 'px)')))))); + default: + var _v2 = transform.a; + var tx = _v2.a; + var ty = _v2.b; + var tz = _v2.c; + var _v3 = transform.b; + var sx = _v3.a; + var sy = _v3.b; + var sz = _v3.c; + var _v4 = transform.c; + var ox = _v4.a; + var oy = _v4.b; + var oz = _v4.c; + var angle = transform.d; + var translate = 'translate3d(' + ($elm$core$String$fromFloat(tx) + ('px, ' + ($elm$core$String$fromFloat(ty) + ('px, ' + ($elm$core$String$fromFloat(tz) + 'px)'))))); + var scale = 'scale3d(' + ($elm$core$String$fromFloat(sx) + (', ' + ($elm$core$String$fromFloat(sy) + (', ' + ($elm$core$String$fromFloat(sz) + ')'))))); + var rotate = 'rotate3d(' + ($elm$core$String$fromFloat(ox) + (', ' + ($elm$core$String$fromFloat(oy) + (', ' + ($elm$core$String$fromFloat(oz) + (', ' + ($elm$core$String$fromFloat(angle) + 'rad)'))))))); + return $elm$core$Maybe$Just(translate + (' ' + (scale + (' ' + rotate)))); + } +}; +var $mdgriffith$elm_ui$Internal$Model$renderStyleRule = F3( + function (options, rule, maybePseudo) { + switch (rule.$) { + case 0: + var selector = rule.a; + var props = rule.b; + return A4($mdgriffith$elm_ui$Internal$Model$renderStyle, options, maybePseudo, selector, props); + case 13: + var name = rule.a; + var prop = rule.b; + return A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + '.' + name, + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Model$Property, 'box-shadow', prop) + ])); + case 12: + var name = rule.a; + var transparency = rule.b; + var opacity = A2( + $elm$core$Basics$max, + 0, + A2($elm$core$Basics$min, 1, 1 - transparency)); + return A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + '.' + name, + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Model$Property, + 'opacity', + $elm$core$String$fromFloat(opacity)) + ])); + case 2: + var i = rule.a; + return A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + '.font-size-' + $elm$core$String$fromInt(i), + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Model$Property, + 'font-size', + $elm$core$String$fromInt(i) + 'px') + ])); + case 1: + var name = rule.a; + var typefaces = rule.b; + var features = A2( + $elm$core$String$join, + ', ', + A2($elm$core$List$filterMap, $mdgriffith$elm_ui$Internal$Model$renderVariants, typefaces)); + var families = _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Model$Property, + 'font-family', + A2( + $elm$core$String$join, + ', ', + A2($elm$core$List$map, $mdgriffith$elm_ui$Internal$Model$fontName, typefaces))), + A2($mdgriffith$elm_ui$Internal$Model$Property, 'font-feature-settings', features), + A2( + $mdgriffith$elm_ui$Internal$Model$Property, + 'font-variant', + A2($elm$core$List$any, $mdgriffith$elm_ui$Internal$Model$hasSmallCaps, typefaces) ? 'small-caps' : 'normal') + ]); + return A4($mdgriffith$elm_ui$Internal$Model$renderStyle, options, maybePseudo, '.' + name, families); + case 3: + var _class = rule.a; + var prop = rule.b; + var val = rule.c; + return A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + '.' + _class, + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Model$Property, prop, val) + ])); + case 4: + var _class = rule.a; + var prop = rule.b; + var color = rule.c; + return A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + '.' + _class, + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Model$Property, + prop, + $mdgriffith$elm_ui$Internal$Model$formatColor(color)) + ])); + case 5: + var cls = rule.a; + var x = rule.b; + var y = rule.c; + var yPx = $elm$core$String$fromInt(y) + 'px'; + var xPx = $elm$core$String$fromInt(x) + 'px'; + var single = '.' + $mdgriffith$elm_ui$Internal$Style$classes.dx; + var row = '.' + $mdgriffith$elm_ui$Internal$Style$classes.s; + var wrappedRow = '.' + ($mdgriffith$elm_ui$Internal$Style$classes.a_ + row); + var right = '.' + $mdgriffith$elm_ui$Internal$Style$classes.a2; + var paragraph = '.' + $mdgriffith$elm_ui$Internal$Style$classes.bv; + var page = '.' + $mdgriffith$elm_ui$Internal$Style$classes.ay; + var left = '.' + $mdgriffith$elm_ui$Internal$Style$classes.a1; + var halfY = $elm$core$String$fromFloat(y / 2) + 'px'; + var halfX = $elm$core$String$fromFloat(x / 2) + 'px'; + var column = '.' + $mdgriffith$elm_ui$Internal$Style$classes.B; + var _class = '.' + cls; + var any = '.' + $mdgriffith$elm_ui$Internal$Style$classes.b9; + return $elm$core$List$concat( + _List_fromArray( + [ + A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + _class + (row + (' > ' + (any + (' + ' + any)))), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Model$Property, 'margin-left', xPx) + ])), + A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + _class + (wrappedRow + (' > ' + any)), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Model$Property, 'margin', halfY + (' ' + halfX)) + ])), + A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + _class + (column + (' > ' + (any + (' + ' + any)))), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Model$Property, 'margin-top', yPx) + ])), + A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + _class + (page + (' > ' + (any + (' + ' + any)))), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Model$Property, 'margin-top', yPx) + ])), + A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + _class + (page + (' > ' + left)), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Model$Property, 'margin-right', xPx) + ])), + A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + _class + (page + (' > ' + right)), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Model$Property, 'margin-left', xPx) + ])), + A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + _Utils_ap(_class, paragraph), + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Model$Property, + 'line-height', + 'calc(1em + ' + ($elm$core$String$fromInt(y) + 'px)')) + ])), + A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + 'textarea' + (any + _class), + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Model$Property, + 'line-height', + 'calc(1em + ' + ($elm$core$String$fromInt(y) + 'px)')), + A2( + $mdgriffith$elm_ui$Internal$Model$Property, + 'height', + 'calc(100% + ' + ($elm$core$String$fromInt(y) + 'px)')) + ])), + A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + _class + (paragraph + (' > ' + left)), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Model$Property, 'margin-right', xPx) + ])), + A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + _class + (paragraph + (' > ' + right)), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Model$Property, 'margin-left', xPx) + ])), + A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + _class + (paragraph + '::after'), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Model$Property, 'content', '\'\''), + A2($mdgriffith$elm_ui$Internal$Model$Property, 'display', 'block'), + A2($mdgriffith$elm_ui$Internal$Model$Property, 'height', '0'), + A2($mdgriffith$elm_ui$Internal$Model$Property, 'width', '0'), + A2( + $mdgriffith$elm_ui$Internal$Model$Property, + 'margin-top', + $elm$core$String$fromInt((-1) * ((y / 2) | 0)) + 'px') + ])), + A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + _class + (paragraph + '::before'), + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Model$Property, 'content', '\'\''), + A2($mdgriffith$elm_ui$Internal$Model$Property, 'display', 'block'), + A2($mdgriffith$elm_ui$Internal$Model$Property, 'height', '0'), + A2($mdgriffith$elm_ui$Internal$Model$Property, 'width', '0'), + A2( + $mdgriffith$elm_ui$Internal$Model$Property, + 'margin-bottom', + $elm$core$String$fromInt((-1) * ((y / 2) | 0)) + 'px') + ])) + ])); + case 7: + var cls = rule.a; + var top = rule.b; + var right = rule.c; + var bottom = rule.d; + var left = rule.e; + var _class = '.' + cls; + return A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + _class, + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Model$Property, + 'padding', + $elm$core$String$fromInt(top) + ('px ' + ($elm$core$String$fromInt(right) + ('px ' + ($elm$core$String$fromInt(bottom) + ('px ' + ($elm$core$String$fromInt(left) + 'px'))))))) + ])); + case 6: + var cls = rule.a; + var top = rule.b; + var right = rule.c; + var bottom = rule.d; + var left = rule.e; + var _class = '.' + cls; + return A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + _class, + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Model$Property, + 'border-width', + $elm$core$String$fromInt(top) + ('px ' + ($elm$core$String$fromInt(right) + ('px ' + ($elm$core$String$fromInt(bottom) + ('px ' + ($elm$core$String$fromInt(left) + 'px'))))))) + ])); + case 8: + var template = rule.a; + var toGridLengthHelper = F3( + function (minimum, maximum, x) { + toGridLengthHelper: + while (true) { + switch (x.$) { + case 0: + var px = x.a; + return $elm$core$String$fromInt(px) + 'px'; + case 1: + var _v2 = _Utils_Tuple2(minimum, maximum); + if (_v2.a.$ === 1) { + if (_v2.b.$ === 1) { + var _v3 = _v2.a; + var _v4 = _v2.b; + return 'max-content'; + } else { + var _v6 = _v2.a; + var maxSize = _v2.b.a; + return 'minmax(max-content, ' + ($elm$core$String$fromInt(maxSize) + 'px)'); + } + } else { + if (_v2.b.$ === 1) { + var minSize = _v2.a.a; + var _v5 = _v2.b; + return 'minmax(' + ($elm$core$String$fromInt(minSize) + ('px, ' + 'max-content)')); + } else { + var minSize = _v2.a.a; + var maxSize = _v2.b.a; + return 'minmax(' + ($elm$core$String$fromInt(minSize) + ('px, ' + ($elm$core$String$fromInt(maxSize) + 'px)'))); + } + } + case 2: + var i = x.a; + var _v7 = _Utils_Tuple2(minimum, maximum); + if (_v7.a.$ === 1) { + if (_v7.b.$ === 1) { + var _v8 = _v7.a; + var _v9 = _v7.b; + return $elm$core$String$fromInt(i) + 'fr'; + } else { + var _v11 = _v7.a; + var maxSize = _v7.b.a; + return 'minmax(max-content, ' + ($elm$core$String$fromInt(maxSize) + 'px)'); + } + } else { + if (_v7.b.$ === 1) { + var minSize = _v7.a.a; + var _v10 = _v7.b; + return 'minmax(' + ($elm$core$String$fromInt(minSize) + ('px, ' + ($elm$core$String$fromInt(i) + ('fr' + 'fr)')))); + } else { + var minSize = _v7.a.a; + var maxSize = _v7.b.a; + return 'minmax(' + ($elm$core$String$fromInt(minSize) + ('px, ' + ($elm$core$String$fromInt(maxSize) + 'px)'))); + } + } + case 3: + var m = x.a; + var len = x.b; + var $temp$minimum = $elm$core$Maybe$Just(m), + $temp$maximum = maximum, + $temp$x = len; + minimum = $temp$minimum; + maximum = $temp$maximum; + x = $temp$x; + continue toGridLengthHelper; + default: + var m = x.a; + var len = x.b; + var $temp$minimum = minimum, + $temp$maximum = $elm$core$Maybe$Just(m), + $temp$x = len; + minimum = $temp$minimum; + maximum = $temp$maximum; + x = $temp$x; + continue toGridLengthHelper; + } + } + }); + var toGridLength = function (x) { + return A3(toGridLengthHelper, $elm$core$Maybe$Nothing, $elm$core$Maybe$Nothing, x); + }; + var xSpacing = toGridLength(template.dA.a); + var ySpacing = toGridLength(template.dA.b); + var rows = function (x) { + return 'grid-template-rows: ' + (x + ';'); + }( + A2( + $elm$core$String$join, + ' ', + A2($elm$core$List$map, toGridLength, template.dq))); + var msRows = function (x) { + return '-ms-grid-rows: ' + (x + ';'); + }( + A2( + $elm$core$String$join, + ySpacing, + A2($elm$core$List$map, toGridLength, template.u))); + var msColumns = function (x) { + return '-ms-grid-columns: ' + (x + ';'); + }( + A2( + $elm$core$String$join, + ySpacing, + A2($elm$core$List$map, toGridLength, template.u))); + var gapY = 'grid-row-gap:' + (toGridLength(template.dA.b) + ';'); + var gapX = 'grid-column-gap:' + (toGridLength(template.dA.a) + ';'); + var columns = function (x) { + return 'grid-template-columns: ' + (x + ';'); + }( + A2( + $elm$core$String$join, + ' ', + A2($elm$core$List$map, toGridLength, template.u))); + var _class = '.grid-rows-' + (A2( + $elm$core$String$join, + '-', + A2($elm$core$List$map, $mdgriffith$elm_ui$Internal$Model$lengthClassName, template.dq)) + ('-cols-' + (A2( + $elm$core$String$join, + '-', + A2($elm$core$List$map, $mdgriffith$elm_ui$Internal$Model$lengthClassName, template.u)) + ('-space-x-' + ($mdgriffith$elm_ui$Internal$Model$lengthClassName(template.dA.a) + ('-space-y-' + $mdgriffith$elm_ui$Internal$Model$lengthClassName(template.dA.b))))))); + var modernGrid = _class + ('{' + (columns + (rows + (gapX + (gapY + '}'))))); + var supports = '@supports (display:grid) {' + (modernGrid + '}'); + var base = _class + ('{' + (msColumns + (msRows + '}'))); + return _List_fromArray( + [base, supports]); + case 9: + var position = rule.a; + var msPosition = A2( + $elm$core$String$join, + ' ', + _List_fromArray( + [ + '-ms-grid-row: ' + ($elm$core$String$fromInt(position.s) + ';'), + '-ms-grid-row-span: ' + ($elm$core$String$fromInt(position.bg) + ';'), + '-ms-grid-column: ' + ($elm$core$String$fromInt(position.ct) + ';'), + '-ms-grid-column-span: ' + ($elm$core$String$fromInt(position.bS) + ';') + ])); + var modernPosition = A2( + $elm$core$String$join, + ' ', + _List_fromArray( + [ + 'grid-row: ' + ($elm$core$String$fromInt(position.s) + (' / ' + ($elm$core$String$fromInt(position.s + position.bg) + ';'))), + 'grid-column: ' + ($elm$core$String$fromInt(position.ct) + (' / ' + ($elm$core$String$fromInt(position.ct + position.bS) + ';'))) + ])); + var _class = '.grid-pos-' + ($elm$core$String$fromInt(position.s) + ('-' + ($elm$core$String$fromInt(position.ct) + ('-' + ($elm$core$String$fromInt(position.bS) + ('-' + $elm$core$String$fromInt(position.bg))))))); + var modernGrid = _class + ('{' + (modernPosition + '}')); + var supports = '@supports (display:grid) {' + (modernGrid + '}'); + var base = _class + ('{' + (msPosition + '}')); + return _List_fromArray( + [base, supports]); + case 11: + var _class = rule.a; + var styles = rule.b; + var renderPseudoRule = function (style) { + return A3( + $mdgriffith$elm_ui$Internal$Model$renderStyleRule, + options, + style, + $elm$core$Maybe$Just(_class)); + }; + return A2($elm$core$List$concatMap, renderPseudoRule, styles); + default: + var transform = rule.a; + var val = $mdgriffith$elm_ui$Internal$Model$transformValue(transform); + var _class = $mdgriffith$elm_ui$Internal$Model$transformClass(transform); + var _v12 = _Utils_Tuple2(_class, val); + if ((!_v12.a.$) && (!_v12.b.$)) { + var cls = _v12.a.a; + var v = _v12.b.a; + return A4( + $mdgriffith$elm_ui$Internal$Model$renderStyle, + options, + maybePseudo, + '.' + cls, + _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Model$Property, 'transform', v) + ])); + } else { + return _List_Nil; + } + } + }); +var $mdgriffith$elm_ui$Internal$Model$encodeStyles = F2( + function (options, stylesheet) { + return $elm$json$Json$Encode$object( + A2( + $elm$core$List$map, + function (style) { + var styled = A3($mdgriffith$elm_ui$Internal$Model$renderStyleRule, options, style, $elm$core$Maybe$Nothing); + return _Utils_Tuple2( + $mdgriffith$elm_ui$Internal$Model$getStyleName(style), + A2($elm$json$Json$Encode$list, $elm$json$Json$Encode$string, styled)); + }, + stylesheet)); + }); +var $mdgriffith$elm_ui$Internal$Model$bracket = F2( + function (selector, rules) { + var renderPair = function (_v0) { + var name = _v0.a; + var val = _v0.b; + return name + (': ' + (val + ';')); + }; + return selector + (' {' + (A2( + $elm$core$String$join, + '', + A2($elm$core$List$map, renderPair, rules)) + '}')); + }); +var $mdgriffith$elm_ui$Internal$Model$fontRule = F3( + function (name, modifier, _v0) { + var parentAdj = _v0.a; + var textAdjustment = _v0.b; + return _List_fromArray( + [ + A2($mdgriffith$elm_ui$Internal$Model$bracket, '.' + (name + ('.' + (modifier + (', ' + ('.' + (name + (' .' + modifier))))))), parentAdj), + A2($mdgriffith$elm_ui$Internal$Model$bracket, '.' + (name + ('.' + (modifier + ('> .' + ($mdgriffith$elm_ui$Internal$Style$classes.dL + (', .' + (name + (' .' + (modifier + (' > .' + $mdgriffith$elm_ui$Internal$Style$classes.dL)))))))))), textAdjustment) + ]); + }); +var $mdgriffith$elm_ui$Internal$Model$renderFontAdjustmentRule = F3( + function (fontToAdjust, _v0, otherFontName) { + var full = _v0.a; + var capital = _v0.b; + var name = _Utils_eq(fontToAdjust, otherFontName) ? fontToAdjust : (otherFontName + (' .' + fontToAdjust)); + return A2( + $elm$core$String$join, + ' ', + _Utils_ap( + A3($mdgriffith$elm_ui$Internal$Model$fontRule, name, $mdgriffith$elm_ui$Internal$Style$classes.dy, capital), + A3($mdgriffith$elm_ui$Internal$Model$fontRule, name, $mdgriffith$elm_ui$Internal$Style$classes.cG, full))); + }); +var $mdgriffith$elm_ui$Internal$Model$renderNullAdjustmentRule = F2( + function (fontToAdjust, otherFontName) { + var name = _Utils_eq(fontToAdjust, otherFontName) ? fontToAdjust : (otherFontName + (' .' + fontToAdjust)); + return A2( + $elm$core$String$join, + ' ', + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Model$bracket, + '.' + (name + ('.' + ($mdgriffith$elm_ui$Internal$Style$classes.dy + (', ' + ('.' + (name + (' .' + $mdgriffith$elm_ui$Internal$Style$classes.dy))))))), + _List_fromArray( + [ + _Utils_Tuple2('line-height', '1') + ])), + A2( + $mdgriffith$elm_ui$Internal$Model$bracket, + '.' + (name + ('.' + ($mdgriffith$elm_ui$Internal$Style$classes.dy + ('> .' + ($mdgriffith$elm_ui$Internal$Style$classes.dL + (', .' + (name + (' .' + ($mdgriffith$elm_ui$Internal$Style$classes.dy + (' > .' + $mdgriffith$elm_ui$Internal$Style$classes.dL)))))))))), + _List_fromArray( + [ + _Utils_Tuple2('vertical-align', '0'), + _Utils_Tuple2('line-height', '1') + ])) + ])); + }); +var $mdgriffith$elm_ui$Internal$Model$adjust = F3( + function (size, height, vertical) { + return {bg: height / size, bI: size, bP: vertical}; + }); +var $elm$core$List$maximum = function (list) { + if (list.b) { + var x = list.a; + var xs = list.b; + return $elm$core$Maybe$Just( + A3($elm$core$List$foldl, $elm$core$Basics$max, x, xs)); + } else { + return $elm$core$Maybe$Nothing; + } +}; +var $elm$core$List$minimum = function (list) { + if (list.b) { + var x = list.a; + var xs = list.b; + return $elm$core$Maybe$Just( + A3($elm$core$List$foldl, $elm$core$Basics$min, x, xs)); + } else { + return $elm$core$Maybe$Nothing; + } +}; +var $mdgriffith$elm_ui$Internal$Model$convertAdjustment = function (adjustment) { + var lines = _List_fromArray( + [adjustment.co, adjustment.cc, adjustment.cx, adjustment.cZ]); + var lineHeight = 1.5; + var normalDescender = (lineHeight - 1) / 2; + var oldMiddle = lineHeight / 2; + var descender = A2( + $elm$core$Maybe$withDefault, + adjustment.cx, + $elm$core$List$minimum(lines)); + var newBaseline = A2( + $elm$core$Maybe$withDefault, + adjustment.cc, + $elm$core$List$minimum( + A2( + $elm$core$List$filter, + function (x) { + return !_Utils_eq(x, descender); + }, + lines))); + var base = lineHeight; + var ascender = A2( + $elm$core$Maybe$withDefault, + adjustment.co, + $elm$core$List$maximum(lines)); + var capitalSize = 1 / (ascender - newBaseline); + var capitalVertical = 1 - ascender; + var fullSize = 1 / (ascender - descender); + var fullVertical = 1 - ascender; + var newCapitalMiddle = ((ascender - newBaseline) / 2) + newBaseline; + var newFullMiddle = ((ascender - descender) / 2) + descender; + return { + co: A3($mdgriffith$elm_ui$Internal$Model$adjust, capitalSize, ascender - newBaseline, capitalVertical), + bf: A3($mdgriffith$elm_ui$Internal$Model$adjust, fullSize, ascender - descender, fullVertical) + }; +}; +var $mdgriffith$elm_ui$Internal$Model$fontAdjustmentRules = function (converted) { + return _Utils_Tuple2( + _List_fromArray( + [ + _Utils_Tuple2('display', 'block') + ]), + _List_fromArray( + [ + _Utils_Tuple2('display', 'inline-block'), + _Utils_Tuple2( + 'line-height', + $elm$core$String$fromFloat(converted.bg)), + _Utils_Tuple2( + 'vertical-align', + $elm$core$String$fromFloat(converted.bP) + 'em'), + _Utils_Tuple2( + 'font-size', + $elm$core$String$fromFloat(converted.bI) + 'em') + ])); +}; +var $mdgriffith$elm_ui$Internal$Model$typefaceAdjustment = function (typefaces) { + return A3( + $elm$core$List$foldl, + F2( + function (face, found) { + if (found.$ === 1) { + if (face.$ === 5) { + var _with = face.a; + var _v2 = _with.bZ; + if (_v2.$ === 1) { + return found; + } else { + var adjustment = _v2.a; + return $elm$core$Maybe$Just( + _Utils_Tuple2( + $mdgriffith$elm_ui$Internal$Model$fontAdjustmentRules( + function ($) { + return $.bf; + }( + $mdgriffith$elm_ui$Internal$Model$convertAdjustment(adjustment))), + $mdgriffith$elm_ui$Internal$Model$fontAdjustmentRules( + function ($) { + return $.co; + }( + $mdgriffith$elm_ui$Internal$Model$convertAdjustment(adjustment))))); + } + } else { + return found; + } + } else { + return found; + } + }), + $elm$core$Maybe$Nothing, + typefaces); +}; +var $mdgriffith$elm_ui$Internal$Model$renderTopLevelValues = function (rules) { + var withImport = function (font) { + if (font.$ === 4) { + var url = font.b; + return $elm$core$Maybe$Just('@import url(\'' + (url + '\');')); + } else { + return $elm$core$Maybe$Nothing; + } + }; + var fontImports = function (_v2) { + var name = _v2.a; + var typefaces = _v2.b; + var imports = A2( + $elm$core$String$join, + '\n', + A2($elm$core$List$filterMap, withImport, typefaces)); + return imports; + }; + var allNames = A2($elm$core$List$map, $elm$core$Tuple$first, rules); + var fontAdjustments = function (_v1) { + var name = _v1.a; + var typefaces = _v1.b; + var _v0 = $mdgriffith$elm_ui$Internal$Model$typefaceAdjustment(typefaces); + if (_v0.$ === 1) { + return A2( + $elm$core$String$join, + '', + A2( + $elm$core$List$map, + $mdgriffith$elm_ui$Internal$Model$renderNullAdjustmentRule(name), + allNames)); + } else { + var adjustment = _v0.a; + return A2( + $elm$core$String$join, + '', + A2( + $elm$core$List$map, + A2($mdgriffith$elm_ui$Internal$Model$renderFontAdjustmentRule, name, adjustment), + allNames)); + } + }; + return _Utils_ap( + A2( + $elm$core$String$join, + '\n', + A2($elm$core$List$map, fontImports, rules)), + A2( + $elm$core$String$join, + '\n', + A2($elm$core$List$map, fontAdjustments, rules))); +}; +var $mdgriffith$elm_ui$Internal$Model$topLevelValue = function (rule) { + if (rule.$ === 1) { + var name = rule.a; + var typefaces = rule.b; + return $elm$core$Maybe$Just( + _Utils_Tuple2(name, typefaces)); + } else { + return $elm$core$Maybe$Nothing; + } +}; +var $mdgriffith$elm_ui$Internal$Model$toStyleSheetString = F2( + function (options, stylesheet) { + var combine = F2( + function (style, rendered) { + return { + az: _Utils_ap( + rendered.az, + A3($mdgriffith$elm_ui$Internal$Model$renderStyleRule, options, style, $elm$core$Maybe$Nothing)), + aj: function () { + var _v1 = $mdgriffith$elm_ui$Internal$Model$topLevelValue(style); + if (_v1.$ === 1) { + return rendered.aj; + } else { + var topLevel = _v1.a; + return A2($elm$core$List$cons, topLevel, rendered.aj); + } + }() + }; + }); + var _v0 = A3( + $elm$core$List$foldl, + combine, + {az: _List_Nil, aj: _List_Nil}, + stylesheet); + var topLevel = _v0.aj; + var rules = _v0.az; + return _Utils_ap( + $mdgriffith$elm_ui$Internal$Model$renderTopLevelValues(topLevel), + $elm$core$String$concat(rules)); + }); +var $mdgriffith$elm_ui$Internal$Model$toStyleSheet = F2( + function (options, styleSheet) { + var _v0 = options.c0; + switch (_v0) { + case 0: + return A3( + $elm$virtual_dom$VirtualDom$node, + 'div', + _List_Nil, + _List_fromArray( + [ + A3( + $elm$virtual_dom$VirtualDom$node, + 'style', + _List_Nil, + _List_fromArray( + [ + $elm$virtual_dom$VirtualDom$text( + A2($mdgriffith$elm_ui$Internal$Model$toStyleSheetString, options, styleSheet)) + ])) + ])); + case 1: + return A3( + $elm$virtual_dom$VirtualDom$node, + 'div', + _List_Nil, + _List_fromArray( + [ + A3( + $elm$virtual_dom$VirtualDom$node, + 'style', + _List_Nil, + _List_fromArray( + [ + $elm$virtual_dom$VirtualDom$text( + A2($mdgriffith$elm_ui$Internal$Model$toStyleSheetString, options, styleSheet)) + ])) + ])); + default: + return A3( + $elm$virtual_dom$VirtualDom$node, + 'elm-ui-rules', + _List_fromArray( + [ + A2( + $elm$virtual_dom$VirtualDom$property, + 'rules', + A2($mdgriffith$elm_ui$Internal$Model$encodeStyles, options, styleSheet)) + ]), + _List_Nil); + } + }); +var $mdgriffith$elm_ui$Internal$Model$embedKeyed = F4( + function (_static, opts, styles, children) { + var dynamicStyleSheet = A2( + $mdgriffith$elm_ui$Internal$Model$toStyleSheet, + opts, + A3( + $elm$core$List$foldl, + $mdgriffith$elm_ui$Internal$Model$reduceStyles, + _Utils_Tuple2( + $elm$core$Set$empty, + $mdgriffith$elm_ui$Internal$Model$renderFocusStyle(opts.cE)), + styles).b); + return _static ? A2( + $elm$core$List$cons, + _Utils_Tuple2( + 'static-stylesheet', + $mdgriffith$elm_ui$Internal$Model$staticRoot(opts)), + A2( + $elm$core$List$cons, + _Utils_Tuple2('dynamic-stylesheet', dynamicStyleSheet), + children)) : A2( + $elm$core$List$cons, + _Utils_Tuple2('dynamic-stylesheet', dynamicStyleSheet), + children); + }); +var $mdgriffith$elm_ui$Internal$Model$embedWith = F4( + function (_static, opts, styles, children) { + var dynamicStyleSheet = A2( + $mdgriffith$elm_ui$Internal$Model$toStyleSheet, + opts, + A3( + $elm$core$List$foldl, + $mdgriffith$elm_ui$Internal$Model$reduceStyles, + _Utils_Tuple2( + $elm$core$Set$empty, + $mdgriffith$elm_ui$Internal$Model$renderFocusStyle(opts.cE)), + styles).b); + return _static ? A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Internal$Model$staticRoot(opts), + A2($elm$core$List$cons, dynamicStyleSheet, children)) : A2($elm$core$List$cons, dynamicStyleSheet, children); + }); +var $mdgriffith$elm_ui$Internal$Flag$heightBetween = $mdgriffith$elm_ui$Internal$Flag$flag(45); +var $mdgriffith$elm_ui$Internal$Flag$heightFill = $mdgriffith$elm_ui$Internal$Flag$flag(37); +var $elm$virtual_dom$VirtualDom$keyedNode = function (tag) { + return _VirtualDom_keyedNode( + _VirtualDom_noScript(tag)); +}; +var $elm$html$Html$p = _VirtualDom_node('p'); +var $elm$core$Bitwise$and = _Bitwise_and; +var $mdgriffith$elm_ui$Internal$Flag$present = F2( + function (myFlag, _v0) { + var fieldOne = _v0.a; + var fieldTwo = _v0.b; + if (!myFlag.$) { + var first = myFlag.a; + return _Utils_eq(first & fieldOne, first); + } else { + var second = myFlag.a; + return _Utils_eq(second & fieldTwo, second); + } + }); +var $elm$html$Html$s = _VirtualDom_node('s'); +var $elm$html$Html$u = _VirtualDom_node('u'); +var $mdgriffith$elm_ui$Internal$Flag$widthBetween = $mdgriffith$elm_ui$Internal$Flag$flag(44); +var $mdgriffith$elm_ui$Internal$Flag$widthFill = $mdgriffith$elm_ui$Internal$Flag$flag(39); +var $mdgriffith$elm_ui$Internal$Model$finalizeNode = F6( + function (has, node, attributes, children, embedMode, parentContext) { + var createNode = F2( + function (nodeName, attrs) { + if (children.$ === 1) { + var keyed = children.a; + return A3( + $elm$virtual_dom$VirtualDom$keyedNode, + nodeName, + attrs, + function () { + switch (embedMode.$) { + case 0: + return keyed; + case 2: + var opts = embedMode.a; + var styles = embedMode.b; + return A4($mdgriffith$elm_ui$Internal$Model$embedKeyed, false, opts, styles, keyed); + default: + var opts = embedMode.a; + var styles = embedMode.b; + return A4($mdgriffith$elm_ui$Internal$Model$embedKeyed, true, opts, styles, keyed); + } + }()); + } else { + var unkeyed = children.a; + return A2( + function () { + switch (nodeName) { + case 'div': + return $elm$html$Html$div; + case 'p': + return $elm$html$Html$p; + default: + return $elm$virtual_dom$VirtualDom$node(nodeName); + } + }(), + attrs, + function () { + switch (embedMode.$) { + case 0: + return unkeyed; + case 2: + var opts = embedMode.a; + var styles = embedMode.b; + return A4($mdgriffith$elm_ui$Internal$Model$embedWith, false, opts, styles, unkeyed); + default: + var opts = embedMode.a; + var styles = embedMode.b; + return A4($mdgriffith$elm_ui$Internal$Model$embedWith, true, opts, styles, unkeyed); + } + }()); + } + }); + var html = function () { + switch (node.$) { + case 0: + return A2(createNode, 'div', attributes); + case 1: + var nodeName = node.a; + return A2(createNode, nodeName, attributes); + default: + var nodeName = node.a; + var internal = node.b; + return A3( + $elm$virtual_dom$VirtualDom$node, + nodeName, + attributes, + _List_fromArray( + [ + A2( + createNode, + internal, + _List_fromArray( + [ + $elm$html$Html$Attributes$class($mdgriffith$elm_ui$Internal$Style$classes.b9 + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.dx)) + ])) + ])); + } + }(); + switch (parentContext) { + case 0: + return (A2($mdgriffith$elm_ui$Internal$Flag$present, $mdgriffith$elm_ui$Internal$Flag$widthFill, has) && (!A2($mdgriffith$elm_ui$Internal$Flag$present, $mdgriffith$elm_ui$Internal$Flag$widthBetween, has))) ? html : (A2($mdgriffith$elm_ui$Internal$Flag$present, $mdgriffith$elm_ui$Internal$Flag$alignRight, has) ? A2( + $elm$html$Html$u, + _List_fromArray( + [ + $elm$html$Html$Attributes$class( + A2( + $elm$core$String$join, + ' ', + _List_fromArray( + [$mdgriffith$elm_ui$Internal$Style$classes.b9, $mdgriffith$elm_ui$Internal$Style$classes.dx, $mdgriffith$elm_ui$Internal$Style$classes.aq, $mdgriffith$elm_ui$Internal$Style$classes.C, $mdgriffith$elm_ui$Internal$Style$classes.b5]))) + ]), + _List_fromArray( + [html])) : (A2($mdgriffith$elm_ui$Internal$Flag$present, $mdgriffith$elm_ui$Internal$Flag$centerX, has) ? A2( + $elm$html$Html$s, + _List_fromArray( + [ + $elm$html$Html$Attributes$class( + A2( + $elm$core$String$join, + ' ', + _List_fromArray( + [$mdgriffith$elm_ui$Internal$Style$classes.b9, $mdgriffith$elm_ui$Internal$Style$classes.dx, $mdgriffith$elm_ui$Internal$Style$classes.aq, $mdgriffith$elm_ui$Internal$Style$classes.C, $mdgriffith$elm_ui$Internal$Style$classes.b3]))) + ]), + _List_fromArray( + [html])) : html)); + case 1: + return (A2($mdgriffith$elm_ui$Internal$Flag$present, $mdgriffith$elm_ui$Internal$Flag$heightFill, has) && (!A2($mdgriffith$elm_ui$Internal$Flag$present, $mdgriffith$elm_ui$Internal$Flag$heightBetween, has))) ? html : (A2($mdgriffith$elm_ui$Internal$Flag$present, $mdgriffith$elm_ui$Internal$Flag$centerY, has) ? A2( + $elm$html$Html$s, + _List_fromArray( + [ + $elm$html$Html$Attributes$class( + A2( + $elm$core$String$join, + ' ', + _List_fromArray( + [$mdgriffith$elm_ui$Internal$Style$classes.b9, $mdgriffith$elm_ui$Internal$Style$classes.dx, $mdgriffith$elm_ui$Internal$Style$classes.aq, $mdgriffith$elm_ui$Internal$Style$classes.b4]))) + ]), + _List_fromArray( + [html])) : (A2($mdgriffith$elm_ui$Internal$Flag$present, $mdgriffith$elm_ui$Internal$Flag$alignBottom, has) ? A2( + $elm$html$Html$u, + _List_fromArray( + [ + $elm$html$Html$Attributes$class( + A2( + $elm$core$String$join, + ' ', + _List_fromArray( + [$mdgriffith$elm_ui$Internal$Style$classes.b9, $mdgriffith$elm_ui$Internal$Style$classes.dx, $mdgriffith$elm_ui$Internal$Style$classes.aq, $mdgriffith$elm_ui$Internal$Style$classes.b2]))) + ]), + _List_fromArray( + [html])) : html)); + default: + return html; + } + }); +var $elm$core$List$isEmpty = function (xs) { + if (!xs.b) { + return true; + } else { + return false; + } +}; +var $elm$html$Html$text = $elm$virtual_dom$VirtualDom$text; +var $mdgriffith$elm_ui$Internal$Model$textElementClasses = $mdgriffith$elm_ui$Internal$Style$classes.b9 + (' ' + ($mdgriffith$elm_ui$Internal$Style$classes.dL + (' ' + ($mdgriffith$elm_ui$Internal$Style$classes.aY + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.aN))))); +var $mdgriffith$elm_ui$Internal$Model$textElement = function (str) { + return A2( + $elm$html$Html$div, + _List_fromArray( + [ + $elm$html$Html$Attributes$class($mdgriffith$elm_ui$Internal$Model$textElementClasses) + ]), + _List_fromArray( + [ + $elm$html$Html$text(str) + ])); +}; +var $mdgriffith$elm_ui$Internal$Model$textElementFillClasses = $mdgriffith$elm_ui$Internal$Style$classes.b9 + (' ' + ($mdgriffith$elm_ui$Internal$Style$classes.dL + (' ' + ($mdgriffith$elm_ui$Internal$Style$classes.aZ + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.aO))))); +var $mdgriffith$elm_ui$Internal$Model$textElementFill = function (str) { + return A2( + $elm$html$Html$div, + _List_fromArray( + [ + $elm$html$Html$Attributes$class($mdgriffith$elm_ui$Internal$Model$textElementFillClasses) + ]), + _List_fromArray( + [ + $elm$html$Html$text(str) + ])); +}; +var $mdgriffith$elm_ui$Internal$Model$createElement = F3( + function (context, children, rendered) { + var gatherKeyed = F2( + function (_v8, _v9) { + var key = _v8.a; + var child = _v8.b; + var htmls = _v9.a; + var existingStyles = _v9.b; + switch (child.$) { + case 0: + var html = child.a; + return _Utils_eq(context, $mdgriffith$elm_ui$Internal$Model$asParagraph) ? _Utils_Tuple2( + A2( + $elm$core$List$cons, + _Utils_Tuple2( + key, + html(context)), + htmls), + existingStyles) : _Utils_Tuple2( + A2( + $elm$core$List$cons, + _Utils_Tuple2( + key, + html(context)), + htmls), + existingStyles); + case 1: + var styled = child.a; + return _Utils_eq(context, $mdgriffith$elm_ui$Internal$Model$asParagraph) ? _Utils_Tuple2( + A2( + $elm$core$List$cons, + _Utils_Tuple2( + key, + A2(styled.cM, $mdgriffith$elm_ui$Internal$Model$NoStyleSheet, context)), + htmls), + $elm$core$List$isEmpty(existingStyles) ? styled.dI : _Utils_ap(styled.dI, existingStyles)) : _Utils_Tuple2( + A2( + $elm$core$List$cons, + _Utils_Tuple2( + key, + A2(styled.cM, $mdgriffith$elm_ui$Internal$Model$NoStyleSheet, context)), + htmls), + $elm$core$List$isEmpty(existingStyles) ? styled.dI : _Utils_ap(styled.dI, existingStyles)); + case 2: + var str = child.a; + return _Utils_Tuple2( + A2( + $elm$core$List$cons, + _Utils_Tuple2( + key, + _Utils_eq(context, $mdgriffith$elm_ui$Internal$Model$asEl) ? $mdgriffith$elm_ui$Internal$Model$textElementFill(str) : $mdgriffith$elm_ui$Internal$Model$textElement(str)), + htmls), + existingStyles); + default: + return _Utils_Tuple2(htmls, existingStyles); + } + }); + var gather = F2( + function (child, _v6) { + var htmls = _v6.a; + var existingStyles = _v6.b; + switch (child.$) { + case 0: + var html = child.a; + return _Utils_eq(context, $mdgriffith$elm_ui$Internal$Model$asParagraph) ? _Utils_Tuple2( + A2( + $elm$core$List$cons, + html(context), + htmls), + existingStyles) : _Utils_Tuple2( + A2( + $elm$core$List$cons, + html(context), + htmls), + existingStyles); + case 1: + var styled = child.a; + return _Utils_eq(context, $mdgriffith$elm_ui$Internal$Model$asParagraph) ? _Utils_Tuple2( + A2( + $elm$core$List$cons, + A2(styled.cM, $mdgriffith$elm_ui$Internal$Model$NoStyleSheet, context), + htmls), + $elm$core$List$isEmpty(existingStyles) ? styled.dI : _Utils_ap(styled.dI, existingStyles)) : _Utils_Tuple2( + A2( + $elm$core$List$cons, + A2(styled.cM, $mdgriffith$elm_ui$Internal$Model$NoStyleSheet, context), + htmls), + $elm$core$List$isEmpty(existingStyles) ? styled.dI : _Utils_ap(styled.dI, existingStyles)); + case 2: + var str = child.a; + return _Utils_Tuple2( + A2( + $elm$core$List$cons, + _Utils_eq(context, $mdgriffith$elm_ui$Internal$Model$asEl) ? $mdgriffith$elm_ui$Internal$Model$textElementFill(str) : $mdgriffith$elm_ui$Internal$Model$textElement(str), + htmls), + existingStyles); + default: + return _Utils_Tuple2(htmls, existingStyles); + } + }); + if (children.$ === 1) { + var keyedChildren = children.a; + var _v1 = A3( + $elm$core$List$foldr, + gatherKeyed, + _Utils_Tuple2(_List_Nil, _List_Nil), + keyedChildren); + var keyed = _v1.a; + var styles = _v1.b; + var newStyles = $elm$core$List$isEmpty(styles) ? rendered.dI : _Utils_ap(rendered.dI, styles); + if (!newStyles.b) { + return $mdgriffith$elm_ui$Internal$Model$Unstyled( + A5( + $mdgriffith$elm_ui$Internal$Model$finalizeNode, + rendered.K, + rendered.L, + rendered.H, + $mdgriffith$elm_ui$Internal$Model$Keyed( + A3($mdgriffith$elm_ui$Internal$Model$addKeyedChildren, 'nearby-element-pls', keyed, rendered.I)), + $mdgriffith$elm_ui$Internal$Model$NoStyleSheet)); + } else { + var allStyles = newStyles; + return $mdgriffith$elm_ui$Internal$Model$Styled( + { + cM: A4( + $mdgriffith$elm_ui$Internal$Model$finalizeNode, + rendered.K, + rendered.L, + rendered.H, + $mdgriffith$elm_ui$Internal$Model$Keyed( + A3($mdgriffith$elm_ui$Internal$Model$addKeyedChildren, 'nearby-element-pls', keyed, rendered.I))), + dI: allStyles + }); + } + } else { + var unkeyedChildren = children.a; + var _v3 = A3( + $elm$core$List$foldr, + gather, + _Utils_Tuple2(_List_Nil, _List_Nil), + unkeyedChildren); + var unkeyed = _v3.a; + var styles = _v3.b; + var newStyles = $elm$core$List$isEmpty(styles) ? rendered.dI : _Utils_ap(rendered.dI, styles); + if (!newStyles.b) { + return $mdgriffith$elm_ui$Internal$Model$Unstyled( + A5( + $mdgriffith$elm_ui$Internal$Model$finalizeNode, + rendered.K, + rendered.L, + rendered.H, + $mdgriffith$elm_ui$Internal$Model$Unkeyed( + A2($mdgriffith$elm_ui$Internal$Model$addChildren, unkeyed, rendered.I)), + $mdgriffith$elm_ui$Internal$Model$NoStyleSheet)); + } else { + var allStyles = newStyles; + return $mdgriffith$elm_ui$Internal$Model$Styled( + { + cM: A4( + $mdgriffith$elm_ui$Internal$Model$finalizeNode, + rendered.K, + rendered.L, + rendered.H, + $mdgriffith$elm_ui$Internal$Model$Unkeyed( + A2($mdgriffith$elm_ui$Internal$Model$addChildren, unkeyed, rendered.I))), + dI: allStyles + }); + } + } + }); +var $mdgriffith$elm_ui$Internal$Model$Single = F3( + function (a, b, c) { + return {$: 3, a: a, b: b, c: c}; + }); +var $mdgriffith$elm_ui$Internal$Model$Transform = function (a) { + return {$: 10, a: a}; +}; +var $mdgriffith$elm_ui$Internal$Flag$Field = F2( + function (a, b) { + return {$: 0, a: a, b: b}; + }); +var $elm$core$Bitwise$or = _Bitwise_or; +var $mdgriffith$elm_ui$Internal$Flag$add = F2( + function (myFlag, _v0) { + var one = _v0.a; + var two = _v0.b; + if (!myFlag.$) { + var first = myFlag.a; + return A2($mdgriffith$elm_ui$Internal$Flag$Field, first | one, two); + } else { + var second = myFlag.a; + return A2($mdgriffith$elm_ui$Internal$Flag$Field, one, second | two); + } + }); +var $mdgriffith$elm_ui$Internal$Model$ChildrenBehind = function (a) { + return {$: 1, a: a}; +}; +var $mdgriffith$elm_ui$Internal$Model$ChildrenBehindAndInFront = F2( + function (a, b) { + return {$: 3, a: a, b: b}; + }); +var $mdgriffith$elm_ui$Internal$Model$ChildrenInFront = function (a) { + return {$: 2, a: a}; +}; +var $mdgriffith$elm_ui$Internal$Model$nearbyElement = F2( + function (location, elem) { + return A2( + $elm$html$Html$div, + _List_fromArray( + [ + $elm$html$Html$Attributes$class( + function () { + switch (location) { + case 0: + return A2( + $elm$core$String$join, + ' ', + _List_fromArray( + [$mdgriffith$elm_ui$Internal$Style$classes.U, $mdgriffith$elm_ui$Internal$Style$classes.dx, $mdgriffith$elm_ui$Internal$Style$classes.bY])); + case 1: + return A2( + $elm$core$String$join, + ' ', + _List_fromArray( + [$mdgriffith$elm_ui$Internal$Style$classes.U, $mdgriffith$elm_ui$Internal$Style$classes.dx, $mdgriffith$elm_ui$Internal$Style$classes.ce])); + case 2: + return A2( + $elm$core$String$join, + ' ', + _List_fromArray( + [$mdgriffith$elm_ui$Internal$Style$classes.U, $mdgriffith$elm_ui$Internal$Style$classes.dx, $mdgriffith$elm_ui$Internal$Style$classes.c8])); + case 3: + return A2( + $elm$core$String$join, + ' ', + _List_fromArray( + [$mdgriffith$elm_ui$Internal$Style$classes.U, $mdgriffith$elm_ui$Internal$Style$classes.dx, $mdgriffith$elm_ui$Internal$Style$classes.c6])); + case 4: + return A2( + $elm$core$String$join, + ' ', + _List_fromArray( + [$mdgriffith$elm_ui$Internal$Style$classes.U, $mdgriffith$elm_ui$Internal$Style$classes.dx, $mdgriffith$elm_ui$Internal$Style$classes.cP])); + default: + return A2( + $elm$core$String$join, + ' ', + _List_fromArray( + [$mdgriffith$elm_ui$Internal$Style$classes.U, $mdgriffith$elm_ui$Internal$Style$classes.dx, $mdgriffith$elm_ui$Internal$Style$classes.cd])); + } + }()) + ]), + _List_fromArray( + [ + function () { + switch (elem.$) { + case 3: + return $elm$virtual_dom$VirtualDom$text(''); + case 2: + var str = elem.a; + return $mdgriffith$elm_ui$Internal$Model$textElement(str); + case 0: + var html = elem.a; + return html($mdgriffith$elm_ui$Internal$Model$asEl); + default: + var styled = elem.a; + return A2(styled.cM, $mdgriffith$elm_ui$Internal$Model$NoStyleSheet, $mdgriffith$elm_ui$Internal$Model$asEl); + } + }() + ])); + }); +var $mdgriffith$elm_ui$Internal$Model$addNearbyElement = F3( + function (location, elem, existing) { + var nearby = A2($mdgriffith$elm_ui$Internal$Model$nearbyElement, location, elem); + switch (existing.$) { + case 0: + if (location === 5) { + return $mdgriffith$elm_ui$Internal$Model$ChildrenBehind( + _List_fromArray( + [nearby])); + } else { + return $mdgriffith$elm_ui$Internal$Model$ChildrenInFront( + _List_fromArray( + [nearby])); + } + case 1: + var existingBehind = existing.a; + if (location === 5) { + return $mdgriffith$elm_ui$Internal$Model$ChildrenBehind( + A2($elm$core$List$cons, nearby, existingBehind)); + } else { + return A2( + $mdgriffith$elm_ui$Internal$Model$ChildrenBehindAndInFront, + existingBehind, + _List_fromArray( + [nearby])); + } + case 2: + var existingInFront = existing.a; + if (location === 5) { + return A2( + $mdgriffith$elm_ui$Internal$Model$ChildrenBehindAndInFront, + _List_fromArray( + [nearby]), + existingInFront); + } else { + return $mdgriffith$elm_ui$Internal$Model$ChildrenInFront( + A2($elm$core$List$cons, nearby, existingInFront)); + } + default: + var existingBehind = existing.a; + var existingInFront = existing.b; + if (location === 5) { + return A2( + $mdgriffith$elm_ui$Internal$Model$ChildrenBehindAndInFront, + A2($elm$core$List$cons, nearby, existingBehind), + existingInFront); + } else { + return A2( + $mdgriffith$elm_ui$Internal$Model$ChildrenBehindAndInFront, + existingBehind, + A2($elm$core$List$cons, nearby, existingInFront)); + } + } + }); +var $mdgriffith$elm_ui$Internal$Model$Embedded = F2( + function (a, b) { + return {$: 2, a: a, b: b}; + }); +var $mdgriffith$elm_ui$Internal$Model$NodeName = function (a) { + return {$: 1, a: a}; +}; +var $mdgriffith$elm_ui$Internal$Model$addNodeName = F2( + function (newNode, old) { + switch (old.$) { + case 0: + return $mdgriffith$elm_ui$Internal$Model$NodeName(newNode); + case 1: + var name = old.a; + return A2($mdgriffith$elm_ui$Internal$Model$Embedded, name, newNode); + default: + var x = old.a; + var y = old.b; + return A2($mdgriffith$elm_ui$Internal$Model$Embedded, x, y); + } + }); +var $mdgriffith$elm_ui$Internal$Model$alignXName = function (align) { + switch (align) { + case 0: + return $mdgriffith$elm_ui$Internal$Style$classes.aH + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.a1); + case 2: + return $mdgriffith$elm_ui$Internal$Style$classes.aH + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.a2); + default: + return $mdgriffith$elm_ui$Internal$Style$classes.aH + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.b0); + } +}; +var $mdgriffith$elm_ui$Internal$Model$alignYName = function (align) { + switch (align) { + case 0: + return $mdgriffith$elm_ui$Internal$Style$classes.aI + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.b6); + case 2: + return $mdgriffith$elm_ui$Internal$Style$classes.aI + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.b$); + default: + return $mdgriffith$elm_ui$Internal$Style$classes.aI + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.b1); + } +}; +var $elm$virtual_dom$VirtualDom$attribute = F2( + function (key, value) { + return A2( + _VirtualDom_attribute, + _VirtualDom_noOnOrFormAction(key), + _VirtualDom_noJavaScriptOrHtmlUri(value)); + }); +var $mdgriffith$elm_ui$Internal$Model$FullTransform = F4( + function (a, b, c, d) { + return {$: 2, a: a, b: b, c: c, d: d}; + }); +var $mdgriffith$elm_ui$Internal$Model$Moved = function (a) { + return {$: 1, a: a}; +}; +var $mdgriffith$elm_ui$Internal$Model$composeTransformation = F2( + function (transform, component) { + switch (transform.$) { + case 0: + switch (component.$) { + case 0: + var x = component.a; + return $mdgriffith$elm_ui$Internal$Model$Moved( + _Utils_Tuple3(x, 0, 0)); + case 1: + var y = component.a; + return $mdgriffith$elm_ui$Internal$Model$Moved( + _Utils_Tuple3(0, y, 0)); + case 2: + var z = component.a; + return $mdgriffith$elm_ui$Internal$Model$Moved( + _Utils_Tuple3(0, 0, z)); + case 3: + var xyz = component.a; + return $mdgriffith$elm_ui$Internal$Model$Moved(xyz); + case 4: + var xyz = component.a; + var angle = component.b; + return A4( + $mdgriffith$elm_ui$Internal$Model$FullTransform, + _Utils_Tuple3(0, 0, 0), + _Utils_Tuple3(1, 1, 1), + xyz, + angle); + default: + var xyz = component.a; + return A4( + $mdgriffith$elm_ui$Internal$Model$FullTransform, + _Utils_Tuple3(0, 0, 0), + xyz, + _Utils_Tuple3(0, 0, 1), + 0); + } + case 1: + var moved = transform.a; + var x = moved.a; + var y = moved.b; + var z = moved.c; + switch (component.$) { + case 0: + var newX = component.a; + return $mdgriffith$elm_ui$Internal$Model$Moved( + _Utils_Tuple3(newX, y, z)); + case 1: + var newY = component.a; + return $mdgriffith$elm_ui$Internal$Model$Moved( + _Utils_Tuple3(x, newY, z)); + case 2: + var newZ = component.a; + return $mdgriffith$elm_ui$Internal$Model$Moved( + _Utils_Tuple3(x, y, newZ)); + case 3: + var xyz = component.a; + return $mdgriffith$elm_ui$Internal$Model$Moved(xyz); + case 4: + var xyz = component.a; + var angle = component.b; + return A4( + $mdgriffith$elm_ui$Internal$Model$FullTransform, + moved, + _Utils_Tuple3(1, 1, 1), + xyz, + angle); + default: + var scale = component.a; + return A4( + $mdgriffith$elm_ui$Internal$Model$FullTransform, + moved, + scale, + _Utils_Tuple3(0, 0, 1), + 0); + } + default: + var moved = transform.a; + var x = moved.a; + var y = moved.b; + var z = moved.c; + var scaled = transform.b; + var origin = transform.c; + var angle = transform.d; + switch (component.$) { + case 0: + var newX = component.a; + return A4( + $mdgriffith$elm_ui$Internal$Model$FullTransform, + _Utils_Tuple3(newX, y, z), + scaled, + origin, + angle); + case 1: + var newY = component.a; + return A4( + $mdgriffith$elm_ui$Internal$Model$FullTransform, + _Utils_Tuple3(x, newY, z), + scaled, + origin, + angle); + case 2: + var newZ = component.a; + return A4( + $mdgriffith$elm_ui$Internal$Model$FullTransform, + _Utils_Tuple3(x, y, newZ), + scaled, + origin, + angle); + case 3: + var newMove = component.a; + return A4($mdgriffith$elm_ui$Internal$Model$FullTransform, newMove, scaled, origin, angle); + case 4: + var newOrigin = component.a; + var newAngle = component.b; + return A4($mdgriffith$elm_ui$Internal$Model$FullTransform, moved, scaled, newOrigin, newAngle); + default: + var newScale = component.a; + return A4($mdgriffith$elm_ui$Internal$Model$FullTransform, moved, newScale, origin, angle); + } + } + }); +var $mdgriffith$elm_ui$Internal$Flag$height = $mdgriffith$elm_ui$Internal$Flag$flag(7); +var $mdgriffith$elm_ui$Internal$Flag$heightContent = $mdgriffith$elm_ui$Internal$Flag$flag(36); +var $mdgriffith$elm_ui$Internal$Flag$merge = F2( + function (_v0, _v1) { + var one = _v0.a; + var two = _v0.b; + var three = _v1.a; + var four = _v1.b; + return A2($mdgriffith$elm_ui$Internal$Flag$Field, one | three, two | four); + }); +var $mdgriffith$elm_ui$Internal$Flag$none = A2($mdgriffith$elm_ui$Internal$Flag$Field, 0, 0); +var $mdgriffith$elm_ui$Internal$Model$renderHeight = function (h) { + switch (h.$) { + case 0: + var px = h.a; + var val = $elm$core$String$fromInt(px); + var name = 'height-px-' + val; + return _Utils_Tuple3( + $mdgriffith$elm_ui$Internal$Flag$none, + $mdgriffith$elm_ui$Internal$Style$classes.bh + (' ' + name), + _List_fromArray( + [ + A3($mdgriffith$elm_ui$Internal$Model$Single, name, 'height', val + 'px') + ])); + case 1: + return _Utils_Tuple3( + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$heightContent, $mdgriffith$elm_ui$Internal$Flag$none), + $mdgriffith$elm_ui$Internal$Style$classes.aN, + _List_Nil); + case 2: + var portion = h.a; + return (portion === 1) ? _Utils_Tuple3( + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$heightFill, $mdgriffith$elm_ui$Internal$Flag$none), + $mdgriffith$elm_ui$Internal$Style$classes.aO, + _List_Nil) : _Utils_Tuple3( + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$heightFill, $mdgriffith$elm_ui$Internal$Flag$none), + $mdgriffith$elm_ui$Internal$Style$classes.bi + (' height-fill-' + $elm$core$String$fromInt(portion)), + _List_fromArray( + [ + A3( + $mdgriffith$elm_ui$Internal$Model$Single, + $mdgriffith$elm_ui$Internal$Style$classes.b9 + ('.' + ($mdgriffith$elm_ui$Internal$Style$classes.B + (' > ' + $mdgriffith$elm_ui$Internal$Style$dot( + 'height-fill-' + $elm$core$String$fromInt(portion))))), + 'flex-grow', + $elm$core$String$fromInt(portion * 100000)) + ])); + case 3: + var minSize = h.a; + var len = h.b; + var cls = 'min-height-' + $elm$core$String$fromInt(minSize); + var style = A3( + $mdgriffith$elm_ui$Internal$Model$Single, + cls, + 'min-height', + $elm$core$String$fromInt(minSize) + 'px'); + var _v1 = $mdgriffith$elm_ui$Internal$Model$renderHeight(len); + var newFlag = _v1.a; + var newAttrs = _v1.b; + var newStyle = _v1.c; + return _Utils_Tuple3( + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$heightBetween, newFlag), + cls + (' ' + newAttrs), + A2($elm$core$List$cons, style, newStyle)); + default: + var maxSize = h.a; + var len = h.b; + var cls = 'max-height-' + $elm$core$String$fromInt(maxSize); + var style = A3( + $mdgriffith$elm_ui$Internal$Model$Single, + cls, + 'max-height', + $elm$core$String$fromInt(maxSize) + 'px'); + var _v2 = $mdgriffith$elm_ui$Internal$Model$renderHeight(len); + var newFlag = _v2.a; + var newAttrs = _v2.b; + var newStyle = _v2.c; + return _Utils_Tuple3( + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$heightBetween, newFlag), + cls + (' ' + newAttrs), + A2($elm$core$List$cons, style, newStyle)); + } +}; +var $mdgriffith$elm_ui$Internal$Flag$widthContent = $mdgriffith$elm_ui$Internal$Flag$flag(38); +var $mdgriffith$elm_ui$Internal$Model$renderWidth = function (w) { + switch (w.$) { + case 0: + var px = w.a; + return _Utils_Tuple3( + $mdgriffith$elm_ui$Internal$Flag$none, + $mdgriffith$elm_ui$Internal$Style$classes.bT + (' width-px-' + $elm$core$String$fromInt(px)), + _List_fromArray( + [ + A3( + $mdgriffith$elm_ui$Internal$Model$Single, + 'width-px-' + $elm$core$String$fromInt(px), + 'width', + $elm$core$String$fromInt(px) + 'px') + ])); + case 1: + return _Utils_Tuple3( + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$widthContent, $mdgriffith$elm_ui$Internal$Flag$none), + $mdgriffith$elm_ui$Internal$Style$classes.aY, + _List_Nil); + case 2: + var portion = w.a; + return (portion === 1) ? _Utils_Tuple3( + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$widthFill, $mdgriffith$elm_ui$Internal$Flag$none), + $mdgriffith$elm_ui$Internal$Style$classes.aZ, + _List_Nil) : _Utils_Tuple3( + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$widthFill, $mdgriffith$elm_ui$Internal$Flag$none), + $mdgriffith$elm_ui$Internal$Style$classes.bU + (' width-fill-' + $elm$core$String$fromInt(portion)), + _List_fromArray( + [ + A3( + $mdgriffith$elm_ui$Internal$Model$Single, + $mdgriffith$elm_ui$Internal$Style$classes.b9 + ('.' + ($mdgriffith$elm_ui$Internal$Style$classes.s + (' > ' + $mdgriffith$elm_ui$Internal$Style$dot( + 'width-fill-' + $elm$core$String$fromInt(portion))))), + 'flex-grow', + $elm$core$String$fromInt(portion * 100000)) + ])); + case 3: + var minSize = w.a; + var len = w.b; + var cls = 'min-width-' + $elm$core$String$fromInt(minSize); + var style = A3( + $mdgriffith$elm_ui$Internal$Model$Single, + cls, + 'min-width', + $elm$core$String$fromInt(minSize) + 'px'); + var _v1 = $mdgriffith$elm_ui$Internal$Model$renderWidth(len); + var newFlag = _v1.a; + var newAttrs = _v1.b; + var newStyle = _v1.c; + return _Utils_Tuple3( + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$widthBetween, newFlag), + cls + (' ' + newAttrs), + A2($elm$core$List$cons, style, newStyle)); + default: + var maxSize = w.a; + var len = w.b; + var cls = 'max-width-' + $elm$core$String$fromInt(maxSize); + var style = A3( + $mdgriffith$elm_ui$Internal$Model$Single, + cls, + 'max-width', + $elm$core$String$fromInt(maxSize) + 'px'); + var _v2 = $mdgriffith$elm_ui$Internal$Model$renderWidth(len); + var newFlag = _v2.a; + var newAttrs = _v2.b; + var newStyle = _v2.c; + return _Utils_Tuple3( + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$widthBetween, newFlag), + cls + (' ' + newAttrs), + A2($elm$core$List$cons, style, newStyle)); + } +}; +var $mdgriffith$elm_ui$Internal$Flag$borderWidth = $mdgriffith$elm_ui$Internal$Flag$flag(27); +var $elm$core$Basics$ge = _Utils_ge; +var $mdgriffith$elm_ui$Internal$Model$skippable = F2( + function (flag, style) { + if (_Utils_eq(flag, $mdgriffith$elm_ui$Internal$Flag$borderWidth)) { + if (style.$ === 3) { + var val = style.c; + switch (val) { + case '0px': + return true; + case '1px': + return true; + case '2px': + return true; + case '3px': + return true; + case '4px': + return true; + case '5px': + return true; + case '6px': + return true; + default: + return false; + } + } else { + return false; + } + } else { + switch (style.$) { + case 2: + var i = style.a; + return (i >= 8) && (i <= 32); + case 7: + var name = style.a; + var t = style.b; + var r = style.c; + var b = style.d; + var l = style.e; + return _Utils_eq(t, b) && (_Utils_eq(t, r) && (_Utils_eq(t, l) && ((t >= 0) && (t <= 24)))); + default: + return false; + } + } + }); +var $mdgriffith$elm_ui$Internal$Flag$width = $mdgriffith$elm_ui$Internal$Flag$flag(6); +var $mdgriffith$elm_ui$Internal$Flag$xAlign = $mdgriffith$elm_ui$Internal$Flag$flag(30); +var $mdgriffith$elm_ui$Internal$Flag$yAlign = $mdgriffith$elm_ui$Internal$Flag$flag(29); +var $mdgriffith$elm_ui$Internal$Model$gatherAttrRecursive = F8( + function (classes, node, has, transform, styles, attrs, children, elementAttrs) { + gatherAttrRecursive: + while (true) { + if (!elementAttrs.b) { + var _v1 = $mdgriffith$elm_ui$Internal$Model$transformClass(transform); + if (_v1.$ === 1) { + return { + H: A2( + $elm$core$List$cons, + $elm$html$Html$Attributes$class(classes), + attrs), + I: children, + K: has, + L: node, + dI: styles + }; + } else { + var _class = _v1.a; + return { + H: A2( + $elm$core$List$cons, + $elm$html$Html$Attributes$class(classes + (' ' + _class)), + attrs), + I: children, + K: has, + L: node, + dI: A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Internal$Model$Transform(transform), + styles) + }; + } + } else { + var attribute = elementAttrs.a; + var remaining = elementAttrs.b; + switch (attribute.$) { + case 0: + var $temp$classes = classes, + $temp$node = node, + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + case 3: + var flag = attribute.a; + var exactClassName = attribute.b; + if (A2($mdgriffith$elm_ui$Internal$Flag$present, flag, has)) { + var $temp$classes = classes, + $temp$node = node, + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } else { + var $temp$classes = exactClassName + (' ' + classes), + $temp$node = node, + $temp$has = A2($mdgriffith$elm_ui$Internal$Flag$add, flag, has), + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } + case 1: + var actualAttribute = attribute.a; + var $temp$classes = classes, + $temp$node = node, + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = A2($elm$core$List$cons, actualAttribute, attrs), + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + case 4: + var flag = attribute.a; + var style = attribute.b; + if (A2($mdgriffith$elm_ui$Internal$Flag$present, flag, has)) { + var $temp$classes = classes, + $temp$node = node, + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } else { + if (A2($mdgriffith$elm_ui$Internal$Model$skippable, flag, style)) { + var $temp$classes = $mdgriffith$elm_ui$Internal$Model$getStyleName(style) + (' ' + classes), + $temp$node = node, + $temp$has = A2($mdgriffith$elm_ui$Internal$Flag$add, flag, has), + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } else { + var $temp$classes = $mdgriffith$elm_ui$Internal$Model$getStyleName(style) + (' ' + classes), + $temp$node = node, + $temp$has = A2($mdgriffith$elm_ui$Internal$Flag$add, flag, has), + $temp$transform = transform, + $temp$styles = A2($elm$core$List$cons, style, styles), + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } + } + case 10: + var flag = attribute.a; + var component = attribute.b; + var $temp$classes = classes, + $temp$node = node, + $temp$has = A2($mdgriffith$elm_ui$Internal$Flag$add, flag, has), + $temp$transform = A2($mdgriffith$elm_ui$Internal$Model$composeTransformation, transform, component), + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + case 7: + var width = attribute.a; + if (A2($mdgriffith$elm_ui$Internal$Flag$present, $mdgriffith$elm_ui$Internal$Flag$width, has)) { + var $temp$classes = classes, + $temp$node = node, + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } else { + switch (width.$) { + case 0: + var px = width.a; + var $temp$classes = ($mdgriffith$elm_ui$Internal$Style$classes.bT + (' width-px-' + $elm$core$String$fromInt(px))) + (' ' + classes), + $temp$node = node, + $temp$has = A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$width, has), + $temp$transform = transform, + $temp$styles = A2( + $elm$core$List$cons, + A3( + $mdgriffith$elm_ui$Internal$Model$Single, + 'width-px-' + $elm$core$String$fromInt(px), + 'width', + $elm$core$String$fromInt(px) + 'px'), + styles), + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + case 1: + var $temp$classes = classes + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.aY), + $temp$node = node, + $temp$has = A2( + $mdgriffith$elm_ui$Internal$Flag$add, + $mdgriffith$elm_ui$Internal$Flag$widthContent, + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$width, has)), + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + case 2: + var portion = width.a; + if (portion === 1) { + var $temp$classes = classes + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.aZ), + $temp$node = node, + $temp$has = A2( + $mdgriffith$elm_ui$Internal$Flag$add, + $mdgriffith$elm_ui$Internal$Flag$widthFill, + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$width, has)), + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } else { + var $temp$classes = classes + (' ' + ($mdgriffith$elm_ui$Internal$Style$classes.bU + (' width-fill-' + $elm$core$String$fromInt(portion)))), + $temp$node = node, + $temp$has = A2( + $mdgriffith$elm_ui$Internal$Flag$add, + $mdgriffith$elm_ui$Internal$Flag$widthFill, + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$width, has)), + $temp$transform = transform, + $temp$styles = A2( + $elm$core$List$cons, + A3( + $mdgriffith$elm_ui$Internal$Model$Single, + $mdgriffith$elm_ui$Internal$Style$classes.b9 + ('.' + ($mdgriffith$elm_ui$Internal$Style$classes.s + (' > ' + $mdgriffith$elm_ui$Internal$Style$dot( + 'width-fill-' + $elm$core$String$fromInt(portion))))), + 'flex-grow', + $elm$core$String$fromInt(portion * 100000)), + styles), + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } + default: + var _v4 = $mdgriffith$elm_ui$Internal$Model$renderWidth(width); + var addToFlags = _v4.a; + var newClass = _v4.b; + var newStyles = _v4.c; + var $temp$classes = classes + (' ' + newClass), + $temp$node = node, + $temp$has = A2( + $mdgriffith$elm_ui$Internal$Flag$merge, + addToFlags, + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$width, has)), + $temp$transform = transform, + $temp$styles = _Utils_ap(newStyles, styles), + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } + } + case 8: + var height = attribute.a; + if (A2($mdgriffith$elm_ui$Internal$Flag$present, $mdgriffith$elm_ui$Internal$Flag$height, has)) { + var $temp$classes = classes, + $temp$node = node, + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } else { + switch (height.$) { + case 0: + var px = height.a; + var val = $elm$core$String$fromInt(px) + 'px'; + var name = 'height-px-' + val; + var $temp$classes = $mdgriffith$elm_ui$Internal$Style$classes.bh + (' ' + (name + (' ' + classes))), + $temp$node = node, + $temp$has = A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$height, has), + $temp$transform = transform, + $temp$styles = A2( + $elm$core$List$cons, + A3($mdgriffith$elm_ui$Internal$Model$Single, name, 'height ', val), + styles), + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + case 1: + var $temp$classes = $mdgriffith$elm_ui$Internal$Style$classes.aN + (' ' + classes), + $temp$node = node, + $temp$has = A2( + $mdgriffith$elm_ui$Internal$Flag$add, + $mdgriffith$elm_ui$Internal$Flag$heightContent, + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$height, has)), + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + case 2: + var portion = height.a; + if (portion === 1) { + var $temp$classes = $mdgriffith$elm_ui$Internal$Style$classes.aO + (' ' + classes), + $temp$node = node, + $temp$has = A2( + $mdgriffith$elm_ui$Internal$Flag$add, + $mdgriffith$elm_ui$Internal$Flag$heightFill, + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$height, has)), + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } else { + var $temp$classes = classes + (' ' + ($mdgriffith$elm_ui$Internal$Style$classes.bi + (' height-fill-' + $elm$core$String$fromInt(portion)))), + $temp$node = node, + $temp$has = A2( + $mdgriffith$elm_ui$Internal$Flag$add, + $mdgriffith$elm_ui$Internal$Flag$heightFill, + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$height, has)), + $temp$transform = transform, + $temp$styles = A2( + $elm$core$List$cons, + A3( + $mdgriffith$elm_ui$Internal$Model$Single, + $mdgriffith$elm_ui$Internal$Style$classes.b9 + ('.' + ($mdgriffith$elm_ui$Internal$Style$classes.B + (' > ' + $mdgriffith$elm_ui$Internal$Style$dot( + 'height-fill-' + $elm$core$String$fromInt(portion))))), + 'flex-grow', + $elm$core$String$fromInt(portion * 100000)), + styles), + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } + default: + var _v6 = $mdgriffith$elm_ui$Internal$Model$renderHeight(height); + var addToFlags = _v6.a; + var newClass = _v6.b; + var newStyles = _v6.c; + var $temp$classes = classes + (' ' + newClass), + $temp$node = node, + $temp$has = A2( + $mdgriffith$elm_ui$Internal$Flag$merge, + addToFlags, + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$height, has)), + $temp$transform = transform, + $temp$styles = _Utils_ap(newStyles, styles), + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } + } + case 2: + var description = attribute.a; + switch (description.$) { + case 0: + var $temp$classes = classes, + $temp$node = A2($mdgriffith$elm_ui$Internal$Model$addNodeName, 'main', node), + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + case 1: + var $temp$classes = classes, + $temp$node = A2($mdgriffith$elm_ui$Internal$Model$addNodeName, 'nav', node), + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + case 2: + var $temp$classes = classes, + $temp$node = A2($mdgriffith$elm_ui$Internal$Model$addNodeName, 'footer', node), + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + case 3: + var $temp$classes = classes, + $temp$node = A2($mdgriffith$elm_ui$Internal$Model$addNodeName, 'aside', node), + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + case 4: + var i = description.a; + if (i <= 1) { + var $temp$classes = classes, + $temp$node = A2($mdgriffith$elm_ui$Internal$Model$addNodeName, 'h1', node), + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } else { + if (i < 7) { + var $temp$classes = classes, + $temp$node = A2( + $mdgriffith$elm_ui$Internal$Model$addNodeName, + 'h' + $elm$core$String$fromInt(i), + node), + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } else { + var $temp$classes = classes, + $temp$node = A2($mdgriffith$elm_ui$Internal$Model$addNodeName, 'h6', node), + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } + } + case 9: + var $temp$classes = classes, + $temp$node = node, + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + case 8: + var $temp$classes = classes, + $temp$node = node, + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = A2( + $elm$core$List$cons, + A2($elm$virtual_dom$VirtualDom$attribute, 'role', 'button'), + attrs), + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + case 5: + var label = description.a; + var $temp$classes = classes, + $temp$node = node, + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = A2( + $elm$core$List$cons, + A2($elm$virtual_dom$VirtualDom$attribute, 'aria-label', label), + attrs), + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + case 6: + var $temp$classes = classes, + $temp$node = node, + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = A2( + $elm$core$List$cons, + A2($elm$virtual_dom$VirtualDom$attribute, 'aria-live', 'polite'), + attrs), + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + default: + var $temp$classes = classes, + $temp$node = node, + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = A2( + $elm$core$List$cons, + A2($elm$virtual_dom$VirtualDom$attribute, 'aria-live', 'assertive'), + attrs), + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } + case 9: + var location = attribute.a; + var elem = attribute.b; + var newStyles = function () { + switch (elem.$) { + case 3: + return styles; + case 2: + var str = elem.a; + return styles; + case 0: + var html = elem.a; + return styles; + default: + var styled = elem.a; + return _Utils_ap(styles, styled.dI); + } + }(); + var $temp$classes = classes, + $temp$node = node, + $temp$has = has, + $temp$transform = transform, + $temp$styles = newStyles, + $temp$attrs = attrs, + $temp$children = A3($mdgriffith$elm_ui$Internal$Model$addNearbyElement, location, elem, children), + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + case 6: + var x = attribute.a; + if (A2($mdgriffith$elm_ui$Internal$Flag$present, $mdgriffith$elm_ui$Internal$Flag$xAlign, has)) { + var $temp$classes = classes, + $temp$node = node, + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } else { + var $temp$classes = $mdgriffith$elm_ui$Internal$Model$alignXName(x) + (' ' + classes), + $temp$node = node, + $temp$has = function (flags) { + switch (x) { + case 1: + return A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$centerX, flags); + case 2: + return A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$alignRight, flags); + default: + return flags; + } + }( + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$xAlign, has)), + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } + default: + var y = attribute.a; + if (A2($mdgriffith$elm_ui$Internal$Flag$present, $mdgriffith$elm_ui$Internal$Flag$yAlign, has)) { + var $temp$classes = classes, + $temp$node = node, + $temp$has = has, + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } else { + var $temp$classes = $mdgriffith$elm_ui$Internal$Model$alignYName(y) + (' ' + classes), + $temp$node = node, + $temp$has = function (flags) { + switch (y) { + case 1: + return A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$centerY, flags); + case 2: + return A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$alignBottom, flags); + default: + return flags; + } + }( + A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$yAlign, has)), + $temp$transform = transform, + $temp$styles = styles, + $temp$attrs = attrs, + $temp$children = children, + $temp$elementAttrs = remaining; + classes = $temp$classes; + node = $temp$node; + has = $temp$has; + transform = $temp$transform; + styles = $temp$styles; + attrs = $temp$attrs; + children = $temp$children; + elementAttrs = $temp$elementAttrs; + continue gatherAttrRecursive; + } + } + } + } + }); +var $mdgriffith$elm_ui$Internal$Model$Untransformed = {$: 0}; +var $mdgriffith$elm_ui$Internal$Model$untransformed = $mdgriffith$elm_ui$Internal$Model$Untransformed; +var $mdgriffith$elm_ui$Internal$Model$element = F4( + function (context, node, attributes, children) { + return A3( + $mdgriffith$elm_ui$Internal$Model$createElement, + context, + children, + A8( + $mdgriffith$elm_ui$Internal$Model$gatherAttrRecursive, + $mdgriffith$elm_ui$Internal$Model$contextClasses(context), + node, + $mdgriffith$elm_ui$Internal$Flag$none, + $mdgriffith$elm_ui$Internal$Model$untransformed, + _List_Nil, + _List_Nil, + $mdgriffith$elm_ui$Internal$Model$NoNearbyChildren, + $elm$core$List$reverse(attributes))); + }); +var $mdgriffith$elm_ui$Internal$Model$Height = function (a) { + return {$: 8, a: a}; +}; +var $mdgriffith$elm_ui$Element$height = $mdgriffith$elm_ui$Internal$Model$Height; +var $mdgriffith$elm_ui$Internal$Model$Attr = function (a) { + return {$: 1, a: a}; +}; +var $mdgriffith$elm_ui$Internal$Model$htmlClass = function (cls) { + return $mdgriffith$elm_ui$Internal$Model$Attr( + $elm$html$Html$Attributes$class(cls)); +}; +var $mdgriffith$elm_ui$Internal$Model$Content = {$: 1}; +var $mdgriffith$elm_ui$Element$shrink = $mdgriffith$elm_ui$Internal$Model$Content; +var $mdgriffith$elm_ui$Internal$Model$Width = function (a) { + return {$: 7, a: a}; +}; +var $mdgriffith$elm_ui$Element$width = $mdgriffith$elm_ui$Internal$Model$Width; +var $mdgriffith$elm_ui$Element$column = F2( + function (attrs, children) { + return A4( + $mdgriffith$elm_ui$Internal$Model$element, + $mdgriffith$elm_ui$Internal$Model$asColumn, + $mdgriffith$elm_ui$Internal$Model$div, + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Internal$Model$htmlClass($mdgriffith$elm_ui$Internal$Style$classes.cu + (' ' + $mdgriffith$elm_ui$Internal$Style$classes._)), + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Element$height($mdgriffith$elm_ui$Element$shrink), + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Element$width($mdgriffith$elm_ui$Element$shrink), + attrs))), + $mdgriffith$elm_ui$Internal$Model$Unkeyed(children)); + }); +var $mdgriffith$elm_ui$Element$el = F2( + function (attrs, child) { + return A4( + $mdgriffith$elm_ui$Internal$Model$element, + $mdgriffith$elm_ui$Internal$Model$asEl, + $mdgriffith$elm_ui$Internal$Model$div, + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Element$width($mdgriffith$elm_ui$Element$shrink), + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Element$height($mdgriffith$elm_ui$Element$shrink), + attrs)), + $mdgriffith$elm_ui$Internal$Model$Unkeyed( + _List_fromArray( + [child]))); + }); +var $elm$html$Html$Attributes$href = function (url) { + return A2( + $elm$html$Html$Attributes$stringProperty, + 'href', + _VirtualDom_noJavaScriptUri(url)); +}; +var $elm$html$Html$Attributes$rel = _VirtualDom_attribute('rel'); +var $mdgriffith$elm_ui$Element$link = F2( + function (attrs, _v0) { + var url = _v0.bN; + var label = _v0.bn; + return A4( + $mdgriffith$elm_ui$Internal$Model$element, + $mdgriffith$elm_ui$Internal$Model$asEl, + $mdgriffith$elm_ui$Internal$Model$NodeName('a'), + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Internal$Model$Attr( + $elm$html$Html$Attributes$href(url)), + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Internal$Model$Attr( + $elm$html$Html$Attributes$rel('noopener noreferrer')), + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Element$width($mdgriffith$elm_ui$Element$shrink), + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Element$height($mdgriffith$elm_ui$Element$shrink), + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Internal$Model$htmlClass($mdgriffith$elm_ui$Internal$Style$classes.as + (' ' + ($mdgriffith$elm_ui$Internal$Style$classes.C + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.bo)))), + attrs))))), + $mdgriffith$elm_ui$Internal$Model$Unkeyed( + _List_fromArray( + [label]))); + }); +var $mdgriffith$elm_ui$Internal$Model$Hover = 1; +var $mdgriffith$elm_ui$Internal$Model$PseudoSelector = F2( + function (a, b) { + return {$: 11, a: a, b: b}; + }); +var $mdgriffith$elm_ui$Internal$Flag$hover = $mdgriffith$elm_ui$Internal$Flag$flag(33); +var $mdgriffith$elm_ui$Internal$Model$Class = F2( + function (a, b) { + return {$: 3, a: a, b: b}; + }); +var $mdgriffith$elm_ui$Internal$Model$Describe = function (a) { + return {$: 2, a: a}; +}; +var $mdgriffith$elm_ui$Internal$Model$Nearby = F2( + function (a, b) { + return {$: 9, a: a, b: b}; + }); +var $mdgriffith$elm_ui$Internal$Model$NoAttribute = {$: 0}; +var $mdgriffith$elm_ui$Internal$Model$TransformComponent = F2( + function (a, b) { + return {$: 10, a: a, b: b}; + }); +var $mdgriffith$elm_ui$Internal$Model$Empty = {$: 3}; +var $mdgriffith$elm_ui$Internal$Model$Text = function (a) { + return {$: 2, a: a}; +}; +var $elm$virtual_dom$VirtualDom$map = _VirtualDom_map; +var $mdgriffith$elm_ui$Internal$Model$map = F2( + function (fn, el) { + switch (el.$) { + case 1: + var styled = el.a; + return $mdgriffith$elm_ui$Internal$Model$Styled( + { + cM: F2( + function (add, context) { + return A2( + $elm$virtual_dom$VirtualDom$map, + fn, + A2(styled.cM, add, context)); + }), + dI: styled.dI + }); + case 0: + var html = el.a; + return $mdgriffith$elm_ui$Internal$Model$Unstyled( + A2( + $elm$core$Basics$composeL, + $elm$virtual_dom$VirtualDom$map(fn), + html)); + case 2: + var str = el.a; + return $mdgriffith$elm_ui$Internal$Model$Text(str); + default: + return $mdgriffith$elm_ui$Internal$Model$Empty; + } + }); +var $elm$virtual_dom$VirtualDom$mapAttribute = _VirtualDom_mapAttribute; +var $mdgriffith$elm_ui$Internal$Model$mapAttrFromStyle = F2( + function (fn, attr) { + switch (attr.$) { + case 0: + return $mdgriffith$elm_ui$Internal$Model$NoAttribute; + case 2: + var description = attr.a; + return $mdgriffith$elm_ui$Internal$Model$Describe(description); + case 6: + var x = attr.a; + return $mdgriffith$elm_ui$Internal$Model$AlignX(x); + case 5: + var y = attr.a; + return $mdgriffith$elm_ui$Internal$Model$AlignY(y); + case 7: + var x = attr.a; + return $mdgriffith$elm_ui$Internal$Model$Width(x); + case 8: + var x = attr.a; + return $mdgriffith$elm_ui$Internal$Model$Height(x); + case 3: + var x = attr.a; + var y = attr.b; + return A2($mdgriffith$elm_ui$Internal$Model$Class, x, y); + case 4: + var flag = attr.a; + var style = attr.b; + return A2($mdgriffith$elm_ui$Internal$Model$StyleClass, flag, style); + case 9: + var location = attr.a; + var elem = attr.b; + return A2( + $mdgriffith$elm_ui$Internal$Model$Nearby, + location, + A2($mdgriffith$elm_ui$Internal$Model$map, fn, elem)); + case 1: + var htmlAttr = attr.a; + return $mdgriffith$elm_ui$Internal$Model$Attr( + A2($elm$virtual_dom$VirtualDom$mapAttribute, fn, htmlAttr)); + default: + var fl = attr.a; + var trans = attr.b; + return A2($mdgriffith$elm_ui$Internal$Model$TransformComponent, fl, trans); + } + }); +var $mdgriffith$elm_ui$Internal$Model$removeNever = function (style) { + return A2($mdgriffith$elm_ui$Internal$Model$mapAttrFromStyle, $elm$core$Basics$never, style); +}; +var $mdgriffith$elm_ui$Internal$Model$unwrapDecsHelper = F2( + function (attr, _v0) { + var styles = _v0.a; + var trans = _v0.b; + var _v1 = $mdgriffith$elm_ui$Internal$Model$removeNever(attr); + switch (_v1.$) { + case 4: + var style = _v1.b; + return _Utils_Tuple2( + A2($elm$core$List$cons, style, styles), + trans); + case 10: + var flag = _v1.a; + var component = _v1.b; + return _Utils_Tuple2( + styles, + A2($mdgriffith$elm_ui$Internal$Model$composeTransformation, trans, component)); + default: + return _Utils_Tuple2(styles, trans); + } + }); +var $mdgriffith$elm_ui$Internal$Model$unwrapDecorations = function (attrs) { + var _v0 = A3( + $elm$core$List$foldl, + $mdgriffith$elm_ui$Internal$Model$unwrapDecsHelper, + _Utils_Tuple2(_List_Nil, $mdgriffith$elm_ui$Internal$Model$Untransformed), + attrs); + var styles = _v0.a; + var transform = _v0.b; + return A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Internal$Model$Transform(transform), + styles); +}; +var $mdgriffith$elm_ui$Element$mouseOver = function (decs) { + return A2( + $mdgriffith$elm_ui$Internal$Model$StyleClass, + $mdgriffith$elm_ui$Internal$Flag$hover, + A2( + $mdgriffith$elm_ui$Internal$Model$PseudoSelector, + 1, + $mdgriffith$elm_ui$Internal$Model$unwrapDecorations(decs))); +}; +var $mdgriffith$elm_ui$Internal$Model$Rgba = F4( + function (a, b, c, d) { + return {$: 0, a: a, b: b, c: c, d: d}; + }); +var $mdgriffith$elm_ui$Element$rgb255 = F3( + function (red, green, blue) { + return A4($mdgriffith$elm_ui$Internal$Model$Rgba, red / 255, green / 255, blue / 255, 1); + }); +var $author$project$Generated$Route$NotFound = function (a) { + return {$: 0, a: a}; +}; +var $author$project$Generated$Route$SignIn = function (a) { + return {$: 1, a: a}; +}; +var $author$project$Generated$Route$Switches = function (a) { + return {$: 2, a: a}; +}; +var $author$project$Generated$Route$Top = function (a) { + return {$: 3, a: a}; +}; +var $author$project$Generated$Routes$routes = { + ac: $author$project$Generated$Route$NotFound( + {}), + ad: $author$project$Generated$Route$SignIn( + {}), + ae: $author$project$Generated$Route$Switches( + {}), + ai: $author$project$Generated$Route$Top( + {}) +}; +var $mdgriffith$elm_ui$Internal$Flag$fontWeight = $mdgriffith$elm_ui$Internal$Flag$flag(13); +var $mdgriffith$elm_ui$Element$Font$semiBold = A2($mdgriffith$elm_ui$Internal$Model$Class, $mdgriffith$elm_ui$Internal$Flag$fontWeight, $mdgriffith$elm_ui$Internal$Style$classes.dW); +var $mdgriffith$elm_ui$Internal$Model$FontSize = function (a) { + return {$: 2, a: a}; +}; +var $mdgriffith$elm_ui$Internal$Flag$fontSize = $mdgriffith$elm_ui$Internal$Flag$flag(4); +var $mdgriffith$elm_ui$Element$Font$size = function (i) { + return A2( + $mdgriffith$elm_ui$Internal$Model$StyleClass, + $mdgriffith$elm_ui$Internal$Flag$fontSize, + $mdgriffith$elm_ui$Internal$Model$FontSize(i)); +}; +var $mdgriffith$elm_ui$Internal$Model$SpacingStyle = F3( + function (a, b, c) { + return {$: 5, a: a, b: b, c: c}; + }); +var $mdgriffith$elm_ui$Internal$Flag$spacing = $mdgriffith$elm_ui$Internal$Flag$flag(3); +var $mdgriffith$elm_ui$Internal$Model$spacingName = F2( + function (x, y) { + return 'spacing-' + ($elm$core$String$fromInt(x) + ('-' + $elm$core$String$fromInt(y))); + }); +var $mdgriffith$elm_ui$Element$spacing = function (x) { + return A2( + $mdgriffith$elm_ui$Internal$Model$StyleClass, + $mdgriffith$elm_ui$Internal$Flag$spacing, + A3( + $mdgriffith$elm_ui$Internal$Model$SpacingStyle, + A2($mdgriffith$elm_ui$Internal$Model$spacingName, x, x), + x, + x)); +}; +var $mdgriffith$elm_ui$Element$text = function (content) { + return $mdgriffith$elm_ui$Internal$Model$Text(content); +}; +var $author$project$Generated$Route$toPath = function (route) { + switch (route.$) { + case 0: + return '/not-found'; + case 1: + return '/sign-in'; + case 2: + return '/switches'; + default: + return '/'; + } +}; +var $author$project$Generated$Routes$toPath = $author$project$Generated$Route$toPath; +var $mdgriffith$elm_ui$Element$Font$underline = $mdgriffith$elm_ui$Internal$Model$htmlClass($mdgriffith$elm_ui$Internal$Style$classes.d6); +var $author$project$Pages$NotFound$view = A2( + $mdgriffith$elm_ui$Element$column, + _List_fromArray( + [ + $mdgriffith$elm_ui$Element$centerX, + $mdgriffith$elm_ui$Element$centerY, + $mdgriffith$elm_ui$Element$spacing(16) + ]), + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Element$el, + _List_fromArray( + [ + $mdgriffith$elm_ui$Element$Font$size(32), + $mdgriffith$elm_ui$Element$Font$semiBold + ]), + $mdgriffith$elm_ui$Element$text('404 is life.')), + A2( + $mdgriffith$elm_ui$Element$link, + _List_fromArray( + [ + $mdgriffith$elm_ui$Element$Font$size(16), + $mdgriffith$elm_ui$Element$Font$underline, + $mdgriffith$elm_ui$Element$centerX, + $mdgriffith$elm_ui$Element$Font$color( + A3($mdgriffith$elm_ui$Element$rgb255, 204, 75, 75)), + $mdgriffith$elm_ui$Element$mouseOver( + _List_fromArray( + [ + $mdgriffith$elm_ui$Element$alpha(0.5) + ])) + ]), + { + bn: $mdgriffith$elm_ui$Element$text('back home?'), + bN: $author$project$Generated$Routes$toPath($author$project$Generated$Routes$routes.ai) + }) + ])); +var $author$project$Pages$NotFound$page = $ryannhg$elm_spa$Spa$Page$static( + { + d$: $elm$core$Basics$always('not found | elm-spa'), + d7: $elm$core$Basics$always($author$project$Pages$NotFound$view) + }); +var $ryannhg$elm_spa$Spa$Page$truple = F3( + function (toModel, toMsg, _v0) { + var a = _v0.a; + var b = _v0.b; + var c = _v0.c; + return _Utils_Tuple3( + toModel(a), + A2($elm$core$Platform$Cmd$map, toMsg, b), + c); + }); +var $ryannhg$elm_spa$Spa$Page$component = function (page) { + return function (_v0) { + var toModel = _v0.aB; + var toMsg = _v0.aC; + var map = _v0.c_; + return { + Z: F3( + function (model, _private, context) { + return { + dK: A2( + $elm$core$Platform$Sub$map, + A2($elm$core$Basics$composeR, toMsg, _private.be), + A2(page.dK, context, model)), + d$: page.d$( + {cH: context.cH, w: model}), + d7: A2( + _private.c_, + _private.be, + A2( + map, + toMsg, + A2(page.d7, context, model))) + }; + }), + aa: F2( + function (pageParams, context) { + return A3( + $ryannhg$elm_spa$Spa$Page$truple, + toModel, + toMsg, + A2(page.aa, context, pageParams)); + }), + am: F3( + function (msg, model, context) { + return A3( + $ryannhg$elm_spa$Spa$Page$truple, + toModel, + toMsg, + A3(page.am, context, msg, model)); + }) + }; + }; +}; +var $author$project$Pages$SignIn$init = function (_v0) { + return _Utils_Tuple3( + {av: $elm$core$Maybe$Nothing, aD: '', aE: $elm$core$Maybe$Nothing}, + $elm$core$Platform$Cmd$none, + $elm$core$Platform$Cmd$none); +}; +var $author$project$Pages$SignIn$subscriptions = function (model) { + return $elm$core$Platform$Sub$none; +}; +var $author$project$Global$SignIn = function (a) { + return {$: 0, a: a}; +}; +var $author$project$Global$SignOut = {$: 1}; +var $author$project$Pages$SignIn$ValidateToken = function (a) { + return {$: 2, a: a}; +}; +var $elm$http$Http$BadStatus_ = F2( + function (a, b) { + return {$: 3, a: a, b: b}; + }); +var $elm$http$Http$BadUrl_ = function (a) { + return {$: 0, a: a}; +}; +var $elm$http$Http$GoodStatus_ = F2( + function (a, b) { + return {$: 4, a: a, b: b}; + }); +var $elm$http$Http$NetworkError_ = {$: 2}; +var $elm$http$Http$Receiving = function (a) { + return {$: 1, a: a}; +}; +var $elm$http$Http$Sending = function (a) { + return {$: 0, a: a}; +}; +var $elm$http$Http$Timeout_ = {$: 1}; +var $elm$core$Maybe$isJust = function (maybe) { + if (!maybe.$) { + return true; + } else { + return false; + } +}; +var $elm$core$Platform$sendToSelf = _Platform_sendToSelf; +var $elm$http$Http$emptyBody = _Http_emptyBody; +var $elm$http$Http$BadBody = function (a) { + return {$: 4, a: a}; +}; +var $elm$http$Http$BadStatus = function (a) { + return {$: 3, a: a}; +}; +var $elm$http$Http$BadUrl = function (a) { + return {$: 0, a: a}; +}; +var $elm$http$Http$NetworkError = {$: 2}; +var $elm$http$Http$Timeout = {$: 1}; +var $elm$json$Json$Decode$decodeString = _Json_runOnString; +var $elm$http$Http$expectStringResponse = F2( + function (toMsg, toResult) { + return A3( + _Http_expect, + '', + $elm$core$Basics$identity, + A2($elm$core$Basics$composeR, toResult, toMsg)); + }); +var $author$project$Mi$expectJson = F2( + function (toMsg, decoder) { + return A2( + $elm$http$Http$expectStringResponse, + toMsg, + function (response) { + switch (response.$) { + case 0: + var url = response.a; + return $elm$core$Result$Err( + $elm$http$Http$BadUrl(url)); + case 1: + return $elm$core$Result$Err($elm$http$Http$Timeout); + case 2: + return $elm$core$Result$Err($elm$http$Http$NetworkError); + case 3: + var metadata = response.a; + var body = response.b; + return $elm$core$Result$Err( + $elm$http$Http$BadStatus(metadata.dD)); + default: + var metadata = response.a; + var body = response.b; + var _v1 = A2($elm$json$Json$Decode$decodeString, decoder, body); + if (!_v1.$) { + var value = _v1.a; + return $elm$core$Result$Ok(value); + } else { + var err = _v1.a; + return $elm$core$Result$Err( + $elm$http$Http$BadBody( + $elm$json$Json$Decode$errorToString(err))); + } + } + }); + }); +var $elm$http$Http$Header = F2( + function (a, b) { + return {$: 0, a: a, b: b}; + }); +var $elm$http$Http$header = $elm$http$Http$Header; +var $elm$http$Http$Request = function (a) { + return {$: 1, a: a}; +}; +var $elm$http$Http$State = F2( + function (reqs, subs) { + return {bD: reqs, bJ: subs}; + }); +var $elm$http$Http$init = $elm$core$Task$succeed( + A2($elm$http$Http$State, $elm$core$Dict$empty, _List_Nil)); +var $elm$core$Process$kill = _Scheduler_kill; +var $elm$core$Process$spawn = _Scheduler_spawn; +var $elm$http$Http$updateReqs = F3( + function (router, cmds, reqs) { + updateReqs: + while (true) { + if (!cmds.b) { + return $elm$core$Task$succeed(reqs); + } else { + var cmd = cmds.a; + var otherCmds = cmds.b; + if (!cmd.$) { + var tracker = cmd.a; + var _v2 = A2($elm$core$Dict$get, tracker, reqs); + if (_v2.$ === 1) { + var $temp$router = router, + $temp$cmds = otherCmds, + $temp$reqs = reqs; + router = $temp$router; + cmds = $temp$cmds; + reqs = $temp$reqs; + continue updateReqs; + } else { + var pid = _v2.a; + return A2( + $elm$core$Task$andThen, + function (_v3) { + return A3( + $elm$http$Http$updateReqs, + router, + otherCmds, + A2($elm$core$Dict$remove, tracker, reqs)); + }, + $elm$core$Process$kill(pid)); + } + } else { + var req = cmd.a; + return A2( + $elm$core$Task$andThen, + function (pid) { + var _v4 = req.d3; + if (_v4.$ === 1) { + return A3($elm$http$Http$updateReqs, router, otherCmds, reqs); + } else { + var tracker = _v4.a; + return A3( + $elm$http$Http$updateReqs, + router, + otherCmds, + A3($elm$core$Dict$insert, tracker, pid, reqs)); + } + }, + $elm$core$Process$spawn( + A3( + _Http_toTask, + router, + $elm$core$Platform$sendToApp(router), + req))); + } + } + } + }); +var $elm$http$Http$onEffects = F4( + function (router, cmds, subs, state) { + return A2( + $elm$core$Task$andThen, + function (reqs) { + return $elm$core$Task$succeed( + A2($elm$http$Http$State, reqs, subs)); + }, + A3($elm$http$Http$updateReqs, router, cmds, state.bD)); + }); +var $elm$http$Http$maybeSend = F4( + function (router, desiredTracker, progress, _v0) { + var actualTracker = _v0.a; + var toMsg = _v0.b; + return _Utils_eq(desiredTracker, actualTracker) ? $elm$core$Maybe$Just( + A2( + $elm$core$Platform$sendToApp, + router, + toMsg(progress))) : $elm$core$Maybe$Nothing; + }); +var $elm$http$Http$onSelfMsg = F3( + function (router, _v0, state) { + var tracker = _v0.a; + var progress = _v0.b; + return A2( + $elm$core$Task$andThen, + function (_v1) { + return $elm$core$Task$succeed(state); + }, + $elm$core$Task$sequence( + A2( + $elm$core$List$filterMap, + A3($elm$http$Http$maybeSend, router, tracker, progress), + state.bJ))); + }); +var $elm$http$Http$Cancel = function (a) { + return {$: 0, a: a}; +}; +var $elm$http$Http$cmdMap = F2( + function (func, cmd) { + if (!cmd.$) { + var tracker = cmd.a; + return $elm$http$Http$Cancel(tracker); + } else { + var r = cmd.a; + return $elm$http$Http$Request( + { + b7: r.b7, + cf: r.cf, + cB: A2(_Http_mapExpect, func, r.cB), + cJ: r.cJ, + c$: r.c$, + d_: r.d_, + d3: r.d3, + bN: r.bN + }); + } + }); +var $elm$http$Http$MySub = F2( + function (a, b) { + return {$: 0, a: a, b: b}; + }); +var $elm$http$Http$subMap = F2( + function (func, _v0) { + var tracker = _v0.a; + var toMsg = _v0.b; + return A2( + $elm$http$Http$MySub, + tracker, + A2($elm$core$Basics$composeR, toMsg, func)); + }); +_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); +var $elm$http$Http$command = _Platform_leaf('Http'); +var $elm$http$Http$subscription = _Platform_leaf('Http'); +var $elm$http$Http$request = function (r) { + return $elm$http$Http$command( + $elm$http$Http$Request( + {b7: false, cf: r.cf, cB: r.cB, cJ: r.cJ, c$: r.c$, d_: r.d_, d3: r.d3, bN: r.bN})); +}; +var $author$project$Mi$request = F5( + function (method, token, path, body, expect) { + return $elm$http$Http$request( + { + cf: body, + cB: expect, + cJ: _List_fromArray( + [ + A2($elm$http$Http$header, 'Authorization', token) + ]), + c$: method, + d_: $elm$core$Maybe$Nothing, + d3: $elm$core$Maybe$Nothing, + bN: path + }); + }); +var $ryannhg$elm_spa$Spa$Page$send = $ryannhg$elm_spa$Internals$Utils$send; +var $author$project$Mi$TokenData = F2( + function (sub, jti) { + return {cW: jti, dJ: sub}; + }); +var $elm$json$Json$Decode$field = _Json_decodeField; +var $elm$json$Json$Decode$string = _Json_decodeString; +var $author$project$Mi$tokenDecoder = A3( + $elm$json$Json$Decode$map2, + $author$project$Mi$TokenData, + A2($elm$json$Json$Decode$field, 'sub', $elm$json$Json$Decode$string), + A2($elm$json$Json$Decode$field, 'jti', $elm$json$Json$Decode$string)); +var $author$project$Pages$SignIn$update = F2( + function (msg, model) { + switch (msg.$) { + case 3: + var token = msg.a; + return _Utils_Tuple3( + _Utils_update( + model, + {aD: token}), + $elm$core$Platform$Cmd$none, + $elm$core$Platform$Cmd$none); + case 2: + var result = msg.a; + if (!result.$) { + var data = result.a; + return _Utils_Tuple3( + _Utils_update( + model, + { + aE: $elm$core$Maybe$Just(data) + }), + $elm$core$Platform$Cmd$none, + $ryannhg$elm_spa$Spa$Page$send( + $author$project$Global$SignIn(model.aD))); + } else { + return _Utils_Tuple3( + _Utils_update( + model, + { + av: $elm$core$Maybe$Just('got an error :('), + aD: '' + }), + $elm$core$Platform$Cmd$none, + $elm$core$Platform$Cmd$none); + } + case 0: + return _Utils_Tuple3( + model, + A5( + $author$project$Mi$request, + 'GET', + model.aD, + '/.within/tokeninfo', + $elm$http$Http$emptyBody, + A2($author$project$Mi$expectJson, $author$project$Pages$SignIn$ValidateToken, $author$project$Mi$tokenDecoder)), + $elm$core$Platform$Cmd$none); + default: + return _Utils_Tuple3( + model, + $elm$core$Platform$Cmd$none, + $ryannhg$elm_spa$Spa$Page$send($author$project$Global$SignOut)); + } + }); +var $author$project$Pages$SignIn$SignIn = {$: 0}; +var $author$project$Pages$SignIn$UpdateToken = function (a) { + return {$: 3, a: a}; +}; +var $mdgriffith$elm_ui$Internal$Model$Button = {$: 8}; +var $elm$json$Json$Encode$bool = _Json_wrap; +var $elm$html$Html$Attributes$boolProperty = F2( + function (key, bool) { + return A2( + _VirtualDom_property, + key, + $elm$json$Json$Encode$bool(bool)); + }); +var $elm$html$Html$Attributes$disabled = $elm$html$Html$Attributes$boolProperty('disabled'); +var $mdgriffith$elm_ui$Element$Input$hasFocusStyle = function (attr) { + if (((attr.$ === 4) && (attr.b.$ === 11)) && (!attr.b.a)) { + var _v1 = attr.b; + var _v2 = _v1.a; + return true; + } else { + return false; + } +}; +var $mdgriffith$elm_ui$Element$Input$focusDefault = function (attrs) { + return A2($elm$core$List$any, $mdgriffith$elm_ui$Element$Input$hasFocusStyle, attrs) ? $mdgriffith$elm_ui$Internal$Model$NoAttribute : $mdgriffith$elm_ui$Internal$Model$htmlClass('focusable'); +}; +var $elm$virtual_dom$VirtualDom$Normal = function (a) { + return {$: 0, a: a}; +}; +var $elm$virtual_dom$VirtualDom$on = _VirtualDom_on; +var $elm$html$Html$Events$on = F2( + function (event, decoder) { + return A2( + $elm$virtual_dom$VirtualDom$on, + event, + $elm$virtual_dom$VirtualDom$Normal(decoder)); + }); +var $elm$html$Html$Events$onClick = function (msg) { + return A2( + $elm$html$Html$Events$on, + 'click', + $elm$json$Json$Decode$succeed(msg)); +}; +var $mdgriffith$elm_ui$Element$Events$onClick = A2($elm$core$Basics$composeL, $mdgriffith$elm_ui$Internal$Model$Attr, $elm$html$Html$Events$onClick); +var $mdgriffith$elm_ui$Element$Input$enter = 'Enter'; +var $elm$json$Json$Decode$andThen = _Json_andThen; +var $elm$json$Json$Decode$fail = _Json_fail; +var $elm$virtual_dom$VirtualDom$MayPreventDefault = function (a) { + return {$: 2, a: a}; +}; +var $elm$html$Html$Events$preventDefaultOn = F2( + function (event, decoder) { + return A2( + $elm$virtual_dom$VirtualDom$on, + event, + $elm$virtual_dom$VirtualDom$MayPreventDefault(decoder)); + }); +var $mdgriffith$elm_ui$Element$Input$onKey = F2( + function (desiredCode, msg) { + var decode = function (code) { + return _Utils_eq(code, desiredCode) ? $elm$json$Json$Decode$succeed(msg) : $elm$json$Json$Decode$fail('Not the enter key'); + }; + var isKey = A2( + $elm$json$Json$Decode$andThen, + decode, + A2($elm$json$Json$Decode$field, 'key', $elm$json$Json$Decode$string)); + return $mdgriffith$elm_ui$Internal$Model$Attr( + A2( + $elm$html$Html$Events$preventDefaultOn, + 'keyup', + A2( + $elm$json$Json$Decode$map, + function (fired) { + return _Utils_Tuple2(fired, true); + }, + isKey))); + }); +var $mdgriffith$elm_ui$Element$Input$onEnter = function (msg) { + return A2($mdgriffith$elm_ui$Element$Input$onKey, $mdgriffith$elm_ui$Element$Input$enter, msg); +}; +var $mdgriffith$elm_ui$Internal$Flag$cursor = $mdgriffith$elm_ui$Internal$Flag$flag(21); +var $mdgriffith$elm_ui$Element$pointer = A2($mdgriffith$elm_ui$Internal$Model$Class, $mdgriffith$elm_ui$Internal$Flag$cursor, $mdgriffith$elm_ui$Internal$Style$classes.cv); +var $elm$html$Html$Attributes$tabindex = function (n) { + return A2( + _VirtualDom_attribute, + 'tabIndex', + $elm$core$String$fromInt(n)); +}; +var $mdgriffith$elm_ui$Element$Input$button = F2( + function (attrs, _v0) { + var onPress = _v0.c7; + var label = _v0.bn; + return A4( + $mdgriffith$elm_ui$Internal$Model$element, + $mdgriffith$elm_ui$Internal$Model$asEl, + $mdgriffith$elm_ui$Internal$Model$div, + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Element$width($mdgriffith$elm_ui$Element$shrink), + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Element$height($mdgriffith$elm_ui$Element$shrink), + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Internal$Model$htmlClass($mdgriffith$elm_ui$Internal$Style$classes.as + (' ' + ($mdgriffith$elm_ui$Internal$Style$classes.C + (' ' + ($mdgriffith$elm_ui$Internal$Style$classes.du + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.br)))))), + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Element$pointer, + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Element$Input$focusDefault(attrs), + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Internal$Model$Describe($mdgriffith$elm_ui$Internal$Model$Button), + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Internal$Model$Attr( + $elm$html$Html$Attributes$tabindex(0)), + function () { + if (onPress.$ === 1) { + return A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Internal$Model$Attr( + $elm$html$Html$Attributes$disabled(true)), + attrs); + } else { + var msg = onPress.a; + return A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Element$Events$onClick(msg), + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Element$Input$onEnter(msg), + attrs)); + } + }()))))))), + $mdgriffith$elm_ui$Internal$Model$Unkeyed( + _List_fromArray( + [label]))); + }); +var $mdgriffith$elm_ui$Element$Input$Above = 2; +var $mdgriffith$elm_ui$Element$Input$Label = F3( + function (a, b, c) { + return {$: 0, a: a, b: b, c: c}; + }); +var $mdgriffith$elm_ui$Element$Input$labelAbove = $mdgriffith$elm_ui$Element$Input$Label(2); +var $mdgriffith$elm_ui$Internal$Model$Paragraph = {$: 9}; +var $mdgriffith$elm_ui$Internal$Model$Fill = function (a) { + return {$: 2, a: a}; +}; +var $mdgriffith$elm_ui$Element$fill = $mdgriffith$elm_ui$Internal$Model$Fill(1); +var $mdgriffith$elm_ui$Element$paragraph = F2( + function (attrs, children) { + return A4( + $mdgriffith$elm_ui$Internal$Model$element, + $mdgriffith$elm_ui$Internal$Model$asParagraph, + $mdgriffith$elm_ui$Internal$Model$div, + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Internal$Model$Describe($mdgriffith$elm_ui$Internal$Model$Paragraph), + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Element$width($mdgriffith$elm_ui$Element$fill), + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Element$spacing(5), + attrs))), + $mdgriffith$elm_ui$Internal$Model$Unkeyed(children)); + }); +var $mdgriffith$elm_ui$Element$Input$Placeholder = F2( + function (a, b) { + return {$: 0, a: a, b: b}; + }); +var $mdgriffith$elm_ui$Element$Input$placeholder = $mdgriffith$elm_ui$Element$Input$Placeholder; +var $mdgriffith$elm_ui$Element$Input$TextInputNode = function (a) { + return {$: 0, a: a}; +}; +var $mdgriffith$elm_ui$Element$Input$TextArea = {$: 1}; +var $mdgriffith$elm_ui$Internal$Model$LivePolite = {$: 6}; +var $mdgriffith$elm_ui$Element$Region$announce = $mdgriffith$elm_ui$Internal$Model$Describe($mdgriffith$elm_ui$Internal$Model$LivePolite); +var $mdgriffith$elm_ui$Internal$Model$AsRow = 0; +var $mdgriffith$elm_ui$Internal$Model$asRow = 0; +var $mdgriffith$elm_ui$Element$Input$applyLabel = F3( + function (attrs, label, input) { + if (label.$ === 1) { + var labelText = label.a; + return A4( + $mdgriffith$elm_ui$Internal$Model$element, + $mdgriffith$elm_ui$Internal$Model$asColumn, + $mdgriffith$elm_ui$Internal$Model$NodeName('label'), + attrs, + $mdgriffith$elm_ui$Internal$Model$Unkeyed( + _List_fromArray( + [input]))); + } else { + var position = label.a; + var labelAttrs = label.b; + var labelChild = label.c; + var labelElement = A4( + $mdgriffith$elm_ui$Internal$Model$element, + $mdgriffith$elm_ui$Internal$Model$asEl, + $mdgriffith$elm_ui$Internal$Model$div, + labelAttrs, + $mdgriffith$elm_ui$Internal$Model$Unkeyed( + _List_fromArray( + [labelChild]))); + switch (position) { + case 2: + return A4( + $mdgriffith$elm_ui$Internal$Model$element, + $mdgriffith$elm_ui$Internal$Model$asColumn, + $mdgriffith$elm_ui$Internal$Model$NodeName('label'), + attrs, + $mdgriffith$elm_ui$Internal$Model$Unkeyed( + _List_fromArray( + [labelElement, input]))); + case 3: + return A4( + $mdgriffith$elm_ui$Internal$Model$element, + $mdgriffith$elm_ui$Internal$Model$asColumn, + $mdgriffith$elm_ui$Internal$Model$NodeName('label'), + attrs, + $mdgriffith$elm_ui$Internal$Model$Unkeyed( + _List_fromArray( + [input, labelElement]))); + case 0: + return A4( + $mdgriffith$elm_ui$Internal$Model$element, + $mdgriffith$elm_ui$Internal$Model$asRow, + $mdgriffith$elm_ui$Internal$Model$NodeName('label'), + attrs, + $mdgriffith$elm_ui$Internal$Model$Unkeyed( + _List_fromArray( + [input, labelElement]))); + default: + return A4( + $mdgriffith$elm_ui$Internal$Model$element, + $mdgriffith$elm_ui$Internal$Model$asRow, + $mdgriffith$elm_ui$Internal$Model$NodeName('label'), + attrs, + $mdgriffith$elm_ui$Internal$Model$Unkeyed( + _List_fromArray( + [labelElement, input]))); + } + } + }); +var $elm$html$Html$Attributes$attribute = $elm$virtual_dom$VirtualDom$attribute; +var $mdgriffith$elm_ui$Element$Input$autofill = A2( + $elm$core$Basics$composeL, + $mdgriffith$elm_ui$Internal$Model$Attr, + $elm$html$Html$Attributes$attribute('autocomplete')); +var $mdgriffith$elm_ui$Internal$Model$Behind = 5; +var $mdgriffith$elm_ui$Element$createNearby = F2( + function (loc, element) { + if (element.$ === 3) { + return $mdgriffith$elm_ui$Internal$Model$NoAttribute; + } else { + return A2($mdgriffith$elm_ui$Internal$Model$Nearby, loc, element); + } + }); +var $mdgriffith$elm_ui$Element$behindContent = function (element) { + return A2($mdgriffith$elm_ui$Element$createNearby, 5, element); +}; +var $mdgriffith$elm_ui$Internal$Model$MoveY = function (a) { + return {$: 1, a: a}; +}; +var $mdgriffith$elm_ui$Internal$Flag$moveY = $mdgriffith$elm_ui$Internal$Flag$flag(26); +var $mdgriffith$elm_ui$Element$moveUp = function (y) { + return A2( + $mdgriffith$elm_ui$Internal$Model$TransformComponent, + $mdgriffith$elm_ui$Internal$Flag$moveY, + $mdgriffith$elm_ui$Internal$Model$MoveY(-y)); +}; +var $mdgriffith$elm_ui$Element$Input$calcMoveToCompensateForPadding = function (attrs) { + var gatherSpacing = F2( + function (attr, found) { + if ((attr.$ === 4) && (attr.b.$ === 5)) { + var _v2 = attr.b; + var x = _v2.b; + var y = _v2.c; + if (found.$ === 1) { + return $elm$core$Maybe$Just(y); + } else { + return found; + } + } else { + return found; + } + }); + var _v0 = A3($elm$core$List$foldr, gatherSpacing, $elm$core$Maybe$Nothing, attrs); + if (_v0.$ === 1) { + return $mdgriffith$elm_ui$Internal$Model$NoAttribute; + } else { + var vSpace = _v0.a; + return $mdgriffith$elm_ui$Element$moveUp( + $elm$core$Basics$floor(vSpace / 2)); + } +}; +var $mdgriffith$elm_ui$Internal$Flag$overflow = $mdgriffith$elm_ui$Internal$Flag$flag(20); +var $mdgriffith$elm_ui$Element$clip = A2($mdgriffith$elm_ui$Internal$Model$Class, $mdgriffith$elm_ui$Internal$Flag$overflow, $mdgriffith$elm_ui$Internal$Style$classes.cq); +var $mdgriffith$elm_ui$Internal$Flag$bgColor = $mdgriffith$elm_ui$Internal$Flag$flag(8); +var $mdgriffith$elm_ui$Element$Background$color = function (clr) { + return A2( + $mdgriffith$elm_ui$Internal$Model$StyleClass, + $mdgriffith$elm_ui$Internal$Flag$bgColor, + A3( + $mdgriffith$elm_ui$Internal$Model$Colored, + 'bg-' + $mdgriffith$elm_ui$Internal$Model$formatColorClass(clr), + 'background-color', + clr)); +}; +var $mdgriffith$elm_ui$Internal$Flag$borderColor = $mdgriffith$elm_ui$Internal$Flag$flag(28); +var $mdgriffith$elm_ui$Element$Border$color = function (clr) { + return A2( + $mdgriffith$elm_ui$Internal$Model$StyleClass, + $mdgriffith$elm_ui$Internal$Flag$borderColor, + A3( + $mdgriffith$elm_ui$Internal$Model$Colored, + 'bc-' + $mdgriffith$elm_ui$Internal$Model$formatColorClass(clr), + 'border-color', + clr)); +}; +var $mdgriffith$elm_ui$Element$rgb = F3( + function (r, g, b) { + return A4($mdgriffith$elm_ui$Internal$Model$Rgba, r, g, b, 1); + }); +var $mdgriffith$elm_ui$Element$Input$darkGrey = A3($mdgriffith$elm_ui$Element$rgb, 186 / 255, 189 / 255, 182 / 255); +var $mdgriffith$elm_ui$Internal$Model$PaddingStyle = F5( + function (a, b, c, d, e) { + return {$: 7, a: a, b: b, c: c, d: d, e: e}; + }); +var $mdgriffith$elm_ui$Internal$Flag$padding = $mdgriffith$elm_ui$Internal$Flag$flag(2); +var $mdgriffith$elm_ui$Element$paddingXY = F2( + function (x, y) { + return _Utils_eq(x, y) ? A2( + $mdgriffith$elm_ui$Internal$Model$StyleClass, + $mdgriffith$elm_ui$Internal$Flag$padding, + A5( + $mdgriffith$elm_ui$Internal$Model$PaddingStyle, + 'p-' + $elm$core$String$fromInt(x), + x, + x, + x, + x)) : A2( + $mdgriffith$elm_ui$Internal$Model$StyleClass, + $mdgriffith$elm_ui$Internal$Flag$padding, + A5( + $mdgriffith$elm_ui$Internal$Model$PaddingStyle, + 'p-' + ($elm$core$String$fromInt(x) + ('-' + $elm$core$String$fromInt(y))), + y, + x, + y, + x)); + }); +var $mdgriffith$elm_ui$Element$Input$defaultTextPadding = A2($mdgriffith$elm_ui$Element$paddingXY, 12, 12); +var $mdgriffith$elm_ui$Internal$Flag$borderRound = $mdgriffith$elm_ui$Internal$Flag$flag(17); +var $mdgriffith$elm_ui$Element$Border$rounded = function (radius) { + return A2( + $mdgriffith$elm_ui$Internal$Model$StyleClass, + $mdgriffith$elm_ui$Internal$Flag$borderRound, + A3( + $mdgriffith$elm_ui$Internal$Model$Single, + 'br-' + $elm$core$String$fromInt(radius), + 'border-radius', + $elm$core$String$fromInt(radius) + 'px')); +}; +var $mdgriffith$elm_ui$Element$Input$white = A3($mdgriffith$elm_ui$Element$rgb, 1, 1, 1); +var $mdgriffith$elm_ui$Internal$Model$BorderWidth = F5( + function (a, b, c, d, e) { + return {$: 6, a: a, b: b, c: c, d: d, e: e}; + }); +var $mdgriffith$elm_ui$Element$Border$width = function (v) { + return A2( + $mdgriffith$elm_ui$Internal$Model$StyleClass, + $mdgriffith$elm_ui$Internal$Flag$borderWidth, + A5( + $mdgriffith$elm_ui$Internal$Model$BorderWidth, + 'b-' + $elm$core$String$fromInt(v), + v, + v, + v, + v)); +}; +var $mdgriffith$elm_ui$Element$Input$defaultTextBoxStyle = _List_fromArray( + [ + $mdgriffith$elm_ui$Element$Input$defaultTextPadding, + $mdgriffith$elm_ui$Element$Border$rounded(3), + $mdgriffith$elm_ui$Element$Border$color($mdgriffith$elm_ui$Element$Input$darkGrey), + $mdgriffith$elm_ui$Element$Background$color($mdgriffith$elm_ui$Element$Input$white), + $mdgriffith$elm_ui$Element$Border$width(1), + $mdgriffith$elm_ui$Element$spacing(5), + $mdgriffith$elm_ui$Element$width($mdgriffith$elm_ui$Element$fill), + $mdgriffith$elm_ui$Element$height($mdgriffith$elm_ui$Element$shrink) + ]); +var $mdgriffith$elm_ui$Element$Input$getHeight = function (attr) { + if (attr.$ === 8) { + var h = attr.a; + return $elm$core$Maybe$Just(h); + } else { + return $elm$core$Maybe$Nothing; + } +}; +var $mdgriffith$elm_ui$Internal$Model$Label = function (a) { + return {$: 5, a: a}; +}; +var $mdgriffith$elm_ui$Element$Input$hiddenLabelAttribute = function (label) { + if (label.$ === 1) { + var textLabel = label.a; + return $mdgriffith$elm_ui$Internal$Model$Describe( + $mdgriffith$elm_ui$Internal$Model$Label(textLabel)); + } else { + return $mdgriffith$elm_ui$Internal$Model$NoAttribute; + } +}; +var $mdgriffith$elm_ui$Internal$Model$InFront = 4; +var $mdgriffith$elm_ui$Element$inFront = function (element) { + return A2($mdgriffith$elm_ui$Element$createNearby, 4, element); +}; +var $mdgriffith$elm_ui$Element$Input$isConstrained = function (len) { + isConstrained: + while (true) { + switch (len.$) { + case 1: + return false; + case 0: + return true; + case 2: + return true; + case 3: + var l = len.b; + var $temp$len = l; + len = $temp$len; + continue isConstrained; + default: + var l = len.b; + return true; + } + } +}; +var $mdgriffith$elm_ui$Element$Input$isHiddenLabel = function (label) { + if (label.$ === 1) { + return true; + } else { + return false; + } +}; +var $mdgriffith$elm_ui$Element$Input$isStacked = function (label) { + if (!label.$) { + var loc = label.a; + switch (loc) { + case 0: + return false; + case 1: + return false; + case 2: + return true; + default: + return true; + } + } else { + return true; + } +}; +var $mdgriffith$elm_ui$Element$Input$negateBox = function (box) { + return {cl: -box.cl, cY: -box.cY, dl: -box.dl, ai: -box.ai}; +}; +var $elm$html$Html$Events$alwaysStop = function (x) { + return _Utils_Tuple2(x, true); +}; +var $elm$virtual_dom$VirtualDom$MayStopPropagation = function (a) { + return {$: 1, a: a}; +}; +var $elm$html$Html$Events$stopPropagationOn = F2( + function (event, decoder) { + return A2( + $elm$virtual_dom$VirtualDom$on, + event, + $elm$virtual_dom$VirtualDom$MayStopPropagation(decoder)); + }); +var $elm$json$Json$Decode$at = F2( + function (fields, decoder) { + return A3($elm$core$List$foldr, $elm$json$Json$Decode$field, decoder, fields); + }); +var $elm$html$Html$Events$targetValue = A2( + $elm$json$Json$Decode$at, + _List_fromArray( + ['target', 'value']), + $elm$json$Json$Decode$string); +var $elm$html$Html$Events$onInput = function (tagger) { + return A2( + $elm$html$Html$Events$stopPropagationOn, + 'input', + A2( + $elm$json$Json$Decode$map, + $elm$html$Html$Events$alwaysStop, + A2($elm$json$Json$Decode$map, tagger, $elm$html$Html$Events$targetValue))); +}; +var $mdgriffith$elm_ui$Internal$Model$paddingName = F4( + function (top, right, bottom, left) { + return 'pad-' + ($elm$core$String$fromInt(top) + ('-' + ($elm$core$String$fromInt(right) + ('-' + ($elm$core$String$fromInt(bottom) + ('-' + $elm$core$String$fromInt(left))))))); + }); +var $mdgriffith$elm_ui$Element$paddingEach = function (_v0) { + var top = _v0.ai; + var right = _v0.dl; + var bottom = _v0.cl; + var left = _v0.cY; + return (_Utils_eq(top, right) && (_Utils_eq(top, bottom) && _Utils_eq(top, left))) ? A2( + $mdgriffith$elm_ui$Internal$Model$StyleClass, + $mdgriffith$elm_ui$Internal$Flag$padding, + A5( + $mdgriffith$elm_ui$Internal$Model$PaddingStyle, + 'p-' + $elm$core$String$fromInt(top), + top, + top, + top, + top)) : A2( + $mdgriffith$elm_ui$Internal$Model$StyleClass, + $mdgriffith$elm_ui$Internal$Flag$padding, + A5( + $mdgriffith$elm_ui$Internal$Model$PaddingStyle, + A4($mdgriffith$elm_ui$Internal$Model$paddingName, top, right, bottom, left), + top, + right, + bottom, + left)); +}; +var $mdgriffith$elm_ui$Element$htmlAttribute = $mdgriffith$elm_ui$Internal$Model$Attr; +var $mdgriffith$elm_ui$Element$Input$isFill = function (len) { + isFill: + while (true) { + switch (len.$) { + case 2: + return true; + case 1: + return false; + case 0: + return false; + case 3: + var l = len.b; + var $temp$len = l; + len = $temp$len; + continue isFill; + default: + var l = len.b; + var $temp$len = l; + len = $temp$len; + continue isFill; + } + } +}; +var $mdgriffith$elm_ui$Element$Input$isPixel = function (len) { + isPixel: + while (true) { + switch (len.$) { + case 1: + return false; + case 0: + return true; + case 2: + return false; + case 3: + var l = len.b; + var $temp$len = l; + len = $temp$len; + continue isPixel; + default: + var l = len.b; + var $temp$len = l; + len = $temp$len; + continue isPixel; + } + } +}; +var $elm$virtual_dom$VirtualDom$style = _VirtualDom_style; +var $elm$html$Html$Attributes$style = $elm$virtual_dom$VirtualDom$style; +var $mdgriffith$elm_ui$Element$Input$redistributeOver = F4( + function (isMultiline, stacked, attr, els) { + switch (attr.$) { + case 9: + return _Utils_update( + els, + { + a: A2($elm$core$List$cons, attr, els.a) + }); + case 7: + var width = attr.a; + return $mdgriffith$elm_ui$Element$Input$isFill(width) ? _Utils_update( + els, + { + b: A2($elm$core$List$cons, attr, els.b), + g: A2($elm$core$List$cons, attr, els.g), + a: A2($elm$core$List$cons, attr, els.a) + }) : (stacked ? _Utils_update( + els, + { + b: A2($elm$core$List$cons, attr, els.b) + }) : _Utils_update( + els, + { + a: A2($elm$core$List$cons, attr, els.a) + })); + case 8: + var height = attr.a; + return (!stacked) ? _Utils_update( + els, + { + b: A2($elm$core$List$cons, attr, els.b), + a: A2($elm$core$List$cons, attr, els.a) + }) : ($mdgriffith$elm_ui$Element$Input$isFill(height) ? _Utils_update( + els, + { + b: A2($elm$core$List$cons, attr, els.b), + a: A2($elm$core$List$cons, attr, els.a) + }) : ($mdgriffith$elm_ui$Element$Input$isPixel(height) ? _Utils_update( + els, + { + a: A2($elm$core$List$cons, attr, els.a) + }) : _Utils_update( + els, + { + a: A2($elm$core$List$cons, attr, els.a) + }))); + case 6: + return _Utils_update( + els, + { + b: A2($elm$core$List$cons, attr, els.b) + }); + case 5: + return _Utils_update( + els, + { + b: A2($elm$core$List$cons, attr, els.b) + }); + case 4: + switch (attr.b.$) { + case 5: + var _v1 = attr.b; + return _Utils_update( + els, + { + b: A2($elm$core$List$cons, attr, els.b), + g: A2($elm$core$List$cons, attr, els.g), + a: A2($elm$core$List$cons, attr, els.a), + X: A2($elm$core$List$cons, attr, els.X) + }); + case 7: + var cls = attr.a; + var _v2 = attr.b; + var pad = _v2.a; + var t = _v2.b; + var r = _v2.c; + var b = _v2.d; + var l = _v2.e; + if (isMultiline) { + return _Utils_update( + els, + { + k: A2($elm$core$List$cons, attr, els.k), + a: A2($elm$core$List$cons, attr, els.a) + }); + } else { + var reducedVerticalPadding = $mdgriffith$elm_ui$Element$paddingEach( + { + cl: b - A2($elm$core$Basics$min, t, b), + cY: l, + dl: r, + ai: t - A2($elm$core$Basics$min, t, b) + }); + var newLineHeight = $mdgriffith$elm_ui$Element$htmlAttribute( + A2( + $elm$html$Html$Attributes$style, + 'line-height', + 'calc(1.0em + ' + ($elm$core$String$fromInt( + 2 * A2($elm$core$Basics$min, t, b)) + 'px)'))); + var newHeight = $mdgriffith$elm_ui$Element$htmlAttribute( + A2( + $elm$html$Html$Attributes$style, + 'height', + 'calc(1.0em + ' + ($elm$core$String$fromInt( + 2 * A2($elm$core$Basics$min, t, b)) + 'px)'))); + return _Utils_update( + els, + { + k: A2($elm$core$List$cons, attr, els.k), + g: A2( + $elm$core$List$cons, + newHeight, + A2($elm$core$List$cons, newLineHeight, els.g)), + a: A2($elm$core$List$cons, reducedVerticalPadding, els.a) + }); + } + case 6: + var _v3 = attr.b; + return _Utils_update( + els, + { + k: A2($elm$core$List$cons, attr, els.k), + a: A2($elm$core$List$cons, attr, els.a) + }); + case 10: + return _Utils_update( + els, + { + k: A2($elm$core$List$cons, attr, els.k), + a: A2($elm$core$List$cons, attr, els.a) + }); + case 2: + return _Utils_update( + els, + { + b: A2($elm$core$List$cons, attr, els.b) + }); + case 1: + var _v4 = attr.b; + return _Utils_update( + els, + { + b: A2($elm$core$List$cons, attr, els.b) + }); + default: + var flag = attr.a; + var cls = attr.b; + return _Utils_update( + els, + { + a: A2($elm$core$List$cons, attr, els.a) + }); + } + case 0: + return els; + case 1: + var a = attr.a; + return _Utils_update( + els, + { + g: A2($elm$core$List$cons, attr, els.g) + }); + case 2: + return _Utils_update( + els, + { + g: A2($elm$core$List$cons, attr, els.g) + }); + case 3: + return _Utils_update( + els, + { + a: A2($elm$core$List$cons, attr, els.a) + }); + default: + return _Utils_update( + els, + { + g: A2($elm$core$List$cons, attr, els.g) + }); + } + }); +var $mdgriffith$elm_ui$Element$Input$redistribute = F3( + function (isMultiline, stacked, attrs) { + return function (redist) { + return { + k: $elm$core$List$reverse(redist.k), + b: $elm$core$List$reverse(redist.b), + g: $elm$core$List$reverse(redist.g), + a: $elm$core$List$reverse(redist.a), + X: $elm$core$List$reverse(redist.X) + }; + }( + A3( + $elm$core$List$foldl, + A2($mdgriffith$elm_ui$Element$Input$redistributeOver, isMultiline, stacked), + {k: _List_Nil, b: _List_Nil, g: _List_Nil, a: _List_Nil, X: _List_Nil}, + attrs)); + }); +var $mdgriffith$elm_ui$Element$Input$renderBox = function (_v0) { + var top = _v0.ai; + var right = _v0.dl; + var bottom = _v0.cl; + var left = _v0.cY; + return $elm$core$String$fromInt(top) + ('px ' + ($elm$core$String$fromInt(right) + ('px ' + ($elm$core$String$fromInt(bottom) + ('px ' + ($elm$core$String$fromInt(left) + 'px')))))); +}; +var $mdgriffith$elm_ui$Element$Input$charcoal = A3($mdgriffith$elm_ui$Element$rgb, 136 / 255, 138 / 255, 133 / 255); +var $mdgriffith$elm_ui$Element$rgba = $mdgriffith$elm_ui$Internal$Model$Rgba; +var $mdgriffith$elm_ui$Element$Input$renderPlaceholder = F3( + function (_v0, forPlaceholder, on) { + var placeholderAttrs = _v0.a; + var placeholderEl = _v0.b; + return A2( + $mdgriffith$elm_ui$Element$el, + _Utils_ap( + forPlaceholder, + _Utils_ap( + _List_fromArray( + [ + $mdgriffith$elm_ui$Element$Font$color($mdgriffith$elm_ui$Element$Input$charcoal), + $mdgriffith$elm_ui$Internal$Model$htmlClass($mdgriffith$elm_ui$Internal$Style$classes.br + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.de)), + $mdgriffith$elm_ui$Element$clip, + $mdgriffith$elm_ui$Element$Border$color( + A4($mdgriffith$elm_ui$Element$rgba, 0, 0, 0, 0)), + $mdgriffith$elm_ui$Element$Background$color( + A4($mdgriffith$elm_ui$Element$rgba, 0, 0, 0, 0)), + $mdgriffith$elm_ui$Element$height($mdgriffith$elm_ui$Element$fill), + $mdgriffith$elm_ui$Element$width($mdgriffith$elm_ui$Element$fill), + $mdgriffith$elm_ui$Element$alpha( + on ? 1 : 0) + ]), + placeholderAttrs)), + placeholderEl); + }); +var $mdgriffith$elm_ui$Element$scrollbarY = A2($mdgriffith$elm_ui$Internal$Model$Class, $mdgriffith$elm_ui$Internal$Flag$overflow, $mdgriffith$elm_ui$Internal$Style$classes.dt); +var $elm$html$Html$span = _VirtualDom_node('span'); +var $elm$html$Html$Attributes$spellcheck = $elm$html$Html$Attributes$boolProperty('spellcheck'); +var $mdgriffith$elm_ui$Element$Input$spellcheck = A2($elm$core$Basics$composeL, $mdgriffith$elm_ui$Internal$Model$Attr, $elm$html$Html$Attributes$spellcheck); +var $elm$html$Html$Attributes$type_ = $elm$html$Html$Attributes$stringProperty('type'); +var $mdgriffith$elm_ui$Internal$Model$unstyled = A2($elm$core$Basics$composeL, $mdgriffith$elm_ui$Internal$Model$Unstyled, $elm$core$Basics$always); +var $elm$html$Html$Attributes$value = $elm$html$Html$Attributes$stringProperty('value'); +var $mdgriffith$elm_ui$Element$Input$value = A2($elm$core$Basics$composeL, $mdgriffith$elm_ui$Internal$Model$Attr, $elm$html$Html$Attributes$value); +var $mdgriffith$elm_ui$Element$Input$textHelper = F3( + function (textInput, attrs, textOptions) { + var withDefaults = _Utils_ap($mdgriffith$elm_ui$Element$Input$defaultTextBoxStyle, attrs); + var redistributed = A3( + $mdgriffith$elm_ui$Element$Input$redistribute, + _Utils_eq(textInput.i, $mdgriffith$elm_ui$Element$Input$TextArea), + $mdgriffith$elm_ui$Element$Input$isStacked(textOptions.bn), + withDefaults); + var onlySpacing = function (attr) { + if ((attr.$ === 4) && (attr.b.$ === 5)) { + var _v9 = attr.b; + return true; + } else { + return false; + } + }; + var heightConstrained = function () { + var _v7 = textInput.i; + if (!_v7.$) { + var inputType = _v7.a; + return false; + } else { + return A2( + $elm$core$Maybe$withDefault, + false, + A2( + $elm$core$Maybe$map, + $mdgriffith$elm_ui$Element$Input$isConstrained, + $elm$core$List$head( + $elm$core$List$reverse( + A2($elm$core$List$filterMap, $mdgriffith$elm_ui$Element$Input$getHeight, withDefaults))))); + } + }(); + var getPadding = function (attr) { + if ((attr.$ === 4) && (attr.b.$ === 7)) { + var cls = attr.a; + var _v6 = attr.b; + var pad = _v6.a; + var t = _v6.b; + var r = _v6.c; + var b = _v6.d; + var l = _v6.e; + return $elm$core$Maybe$Just( + { + cl: A2( + $elm$core$Basics$max, + 0, + $elm$core$Basics$floor(b - 3)), + cY: A2( + $elm$core$Basics$max, + 0, + $elm$core$Basics$floor(l - 3)), + dl: A2( + $elm$core$Basics$max, + 0, + $elm$core$Basics$floor(r - 3)), + ai: A2( + $elm$core$Basics$max, + 0, + $elm$core$Basics$floor(t - 3)) + }); + } else { + return $elm$core$Maybe$Nothing; + } + }; + var parentPadding = A2( + $elm$core$Maybe$withDefault, + {cl: 0, cY: 0, dl: 0, ai: 0}, + $elm$core$List$head( + $elm$core$List$reverse( + A2($elm$core$List$filterMap, getPadding, withDefaults)))); + var inputElement = A4( + $mdgriffith$elm_ui$Internal$Model$element, + $mdgriffith$elm_ui$Internal$Model$asEl, + function () { + var _v3 = textInput.i; + if (!_v3.$) { + var inputType = _v3.a; + return $mdgriffith$elm_ui$Internal$Model$NodeName('input'); + } else { + return $mdgriffith$elm_ui$Internal$Model$NodeName('textarea'); + } + }(), + _Utils_ap( + function () { + var _v4 = textInput.i; + if (!_v4.$) { + var inputType = _v4.a; + return _List_fromArray( + [ + $mdgriffith$elm_ui$Internal$Model$Attr( + $elm$html$Html$Attributes$type_(inputType)), + $mdgriffith$elm_ui$Internal$Model$htmlClass($mdgriffith$elm_ui$Internal$Style$classes.cU) + ]); + } else { + return _List_fromArray( + [ + $mdgriffith$elm_ui$Element$clip, + $mdgriffith$elm_ui$Element$height($mdgriffith$elm_ui$Element$fill), + $mdgriffith$elm_ui$Internal$Model$htmlClass($mdgriffith$elm_ui$Internal$Style$classes.cQ), + $mdgriffith$elm_ui$Element$Input$calcMoveToCompensateForPadding(withDefaults), + $mdgriffith$elm_ui$Element$paddingEach(parentPadding), + $mdgriffith$elm_ui$Internal$Model$Attr( + A2( + $elm$html$Html$Attributes$style, + 'margin', + $mdgriffith$elm_ui$Element$Input$renderBox( + $mdgriffith$elm_ui$Element$Input$negateBox(parentPadding)))), + $mdgriffith$elm_ui$Internal$Model$Attr( + A2($elm$html$Html$Attributes$style, 'box-sizing', 'content-box')) + ]); + } + }(), + _Utils_ap( + _List_fromArray( + [ + $mdgriffith$elm_ui$Element$Input$value(textOptions.dL), + $mdgriffith$elm_ui$Internal$Model$Attr( + $elm$html$Html$Events$onInput(textOptions.c5)), + $mdgriffith$elm_ui$Element$Input$hiddenLabelAttribute(textOptions.bn), + $mdgriffith$elm_ui$Element$Input$spellcheck(textInput.t), + A2( + $elm$core$Maybe$withDefault, + $mdgriffith$elm_ui$Internal$Model$NoAttribute, + A2($elm$core$Maybe$map, $mdgriffith$elm_ui$Element$Input$autofill, textInput.p)) + ]), + redistributed.g)), + $mdgriffith$elm_ui$Internal$Model$Unkeyed(_List_Nil)); + var wrappedInput = function () { + var _v0 = textInput.i; + if (_v0.$ === 1) { + return A4( + $mdgriffith$elm_ui$Internal$Model$element, + $mdgriffith$elm_ui$Internal$Model$asEl, + $mdgriffith$elm_ui$Internal$Model$div, + _Utils_ap( + (heightConstrained ? $elm$core$List$cons($mdgriffith$elm_ui$Element$scrollbarY) : $elm$core$Basics$identity)( + _List_fromArray( + [ + $mdgriffith$elm_ui$Element$width($mdgriffith$elm_ui$Element$fill), + A2($elm$core$List$any, $mdgriffith$elm_ui$Element$Input$hasFocusStyle, withDefaults) ? $mdgriffith$elm_ui$Internal$Model$NoAttribute : $mdgriffith$elm_ui$Internal$Model$htmlClass($mdgriffith$elm_ui$Internal$Style$classes.bb), + $mdgriffith$elm_ui$Internal$Model$htmlClass($mdgriffith$elm_ui$Internal$Style$classes.cT) + ])), + redistributed.a), + $mdgriffith$elm_ui$Internal$Model$Unkeyed( + _List_fromArray( + [ + A4( + $mdgriffith$elm_ui$Internal$Model$element, + $mdgriffith$elm_ui$Internal$Model$asParagraph, + $mdgriffith$elm_ui$Internal$Model$div, + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Element$width($mdgriffith$elm_ui$Element$fill), + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Element$height($mdgriffith$elm_ui$Element$fill), + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Element$inFront(inputElement), + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Internal$Model$htmlClass($mdgriffith$elm_ui$Internal$Style$classes.cS), + redistributed.X)))), + $mdgriffith$elm_ui$Internal$Model$Unkeyed( + function () { + if (textOptions.dL === '') { + var _v1 = textOptions.dg; + if (_v1.$ === 1) { + return _List_fromArray( + [ + $mdgriffith$elm_ui$Element$text('\u00A0') + ]); + } else { + var place = _v1.a; + return _List_fromArray( + [ + A3($mdgriffith$elm_ui$Element$Input$renderPlaceholder, place, _List_Nil, textOptions.dL === '') + ]); + } + } else { + return _List_fromArray( + [ + $mdgriffith$elm_ui$Internal$Model$unstyled( + A2( + $elm$html$Html$span, + _List_fromArray( + [ + $elm$html$Html$Attributes$class($mdgriffith$elm_ui$Internal$Style$classes.cR) + ]), + _List_fromArray( + [ + $elm$html$Html$text(textOptions.dL + '\u00A0') + ]))) + ]); + } + }())) + ]))); + } else { + var inputType = _v0.a; + return A4( + $mdgriffith$elm_ui$Internal$Model$element, + $mdgriffith$elm_ui$Internal$Model$asEl, + $mdgriffith$elm_ui$Internal$Model$div, + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Element$width($mdgriffith$elm_ui$Element$fill), + A2( + $elm$core$List$cons, + A2($elm$core$List$any, $mdgriffith$elm_ui$Element$Input$hasFocusStyle, withDefaults) ? $mdgriffith$elm_ui$Internal$Model$NoAttribute : $mdgriffith$elm_ui$Internal$Model$htmlClass($mdgriffith$elm_ui$Internal$Style$classes.bb), + $elm$core$List$concat( + _List_fromArray( + [ + redistributed.a, + function () { + var _v2 = textOptions.dg; + if (_v2.$ === 1) { + return _List_Nil; + } else { + var place = _v2.a; + return _List_fromArray( + [ + $mdgriffith$elm_ui$Element$behindContent( + A3($mdgriffith$elm_ui$Element$Input$renderPlaceholder, place, redistributed.k, textOptions.dL === '')) + ]); + } + }() + ])))), + $mdgriffith$elm_ui$Internal$Model$Unkeyed( + _List_fromArray( + [inputElement]))); + } + }(); + return A3( + $mdgriffith$elm_ui$Element$Input$applyLabel, + A2( + $elm$core$List$cons, + A2($mdgriffith$elm_ui$Internal$Model$Class, $mdgriffith$elm_ui$Internal$Flag$cursor, $mdgriffith$elm_ui$Internal$Style$classes.cw), + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Element$Input$isHiddenLabel(textOptions.bn) ? $mdgriffith$elm_ui$Internal$Model$NoAttribute : $mdgriffith$elm_ui$Element$spacing(5), + A2($elm$core$List$cons, $mdgriffith$elm_ui$Element$Region$announce, redistributed.b))), + textOptions.bn, + wrappedInput); + }); +var $mdgriffith$elm_ui$Element$Input$text = $mdgriffith$elm_ui$Element$Input$textHelper( + { + p: $elm$core$Maybe$Nothing, + t: false, + i: $mdgriffith$elm_ui$Element$Input$TextInputNode('text') + }); +var $author$project$Pages$SignIn$view = function (model) { + var tData = function () { + var _v1 = model.aE; + if (!_v1.$) { + var data = _v1.a; + return A2( + $mdgriffith$elm_ui$Element$paragraph, + _List_Nil, + _List_fromArray( + [ + $mdgriffith$elm_ui$Element$text('ID: ' + data.cW), + A2( + $mdgriffith$elm_ui$Element$paragraph, + _List_Nil, + _List_fromArray( + [ + $mdgriffith$elm_ui$Element$text('Sub: ' + data.dJ) + ])) + ])); + } else { + return A2( + $mdgriffith$elm_ui$Element$column, + _List_Nil, + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Element$Input$text, + _List_Nil, + { + bn: A2( + $mdgriffith$elm_ui$Element$Input$labelAbove, + _List_Nil, + $mdgriffith$elm_ui$Element$text('API Token')), + c5: $author$project$Pages$SignIn$UpdateToken, + dg: $elm$core$Maybe$Just( + A2( + $mdgriffith$elm_ui$Element$Input$placeholder, + _List_Nil, + $mdgriffith$elm_ui$Element$text(''))), + dL: model.aD + }), + A2( + $mdgriffith$elm_ui$Element$Input$button, + _List_Nil, + { + bn: $mdgriffith$elm_ui$Element$text('Login'), + c7: $elm$core$Maybe$Just($author$project$Pages$SignIn$SignIn) + }) + ])); + } + }(); + var errMsg = function () { + var _v0 = model.av; + if (!_v0.$) { + var msg = _v0.a; + return msg; + } else { + return ''; + } + }(); + return A2( + $mdgriffith$elm_ui$Element$column, + _List_fromArray( + [ + $mdgriffith$elm_ui$Element$spacing(16) + ]), + _List_fromArray( + [ + tData, + $mdgriffith$elm_ui$Element$text(errMsg) + ])); +}; +var $author$project$Pages$SignIn$page = $ryannhg$elm_spa$Spa$Page$component( + { + aa: $elm$core$Basics$always($author$project$Pages$SignIn$init), + dK: $elm$core$Basics$always($author$project$Pages$SignIn$subscriptions), + d$: $elm$core$Basics$always('Login'), + am: $elm$core$Basics$always($author$project$Pages$SignIn$update), + d7: $elm$core$Basics$always($author$project$Pages$SignIn$view) + }); +var $author$project$Pages$Switches$init = function (_v0) { + return _Utils_Tuple3( + {}, + $elm$core$Platform$Cmd$none, + $elm$core$Platform$Cmd$none); +}; +var $author$project$Pages$Switches$subscriptions = function (model) { + return $elm$core$Platform$Sub$none; +}; +var $author$project$Pages$Switches$update = F2( + function (msg, model) { + return _Utils_Tuple3(model, $elm$core$Platform$Cmd$none, $elm$core$Platform$Cmd$none); + }); +var $author$project$Pages$Switches$view = function (model) { + return $mdgriffith$elm_ui$Element$text('Switches'); +}; +var $author$project$Pages$Switches$page = $ryannhg$elm_spa$Spa$Page$component( + { + aa: $elm$core$Basics$always($author$project$Pages$Switches$init), + dK: $elm$core$Basics$always($author$project$Pages$Switches$subscriptions), + d$: $elm$core$Basics$always('Switches'), + am: $elm$core$Basics$always($author$project$Pages$Switches$update), + d7: $elm$core$Basics$always($author$project$Pages$Switches$view) + }); +var $mdgriffith$elm_ui$Element$row = F2( + function (attrs, children) { + return A4( + $mdgriffith$elm_ui$Internal$Model$element, + $mdgriffith$elm_ui$Internal$Model$asRow, + $mdgriffith$elm_ui$Internal$Model$div, + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Internal$Model$htmlClass($mdgriffith$elm_ui$Internal$Style$classes._ + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.C)), + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Element$width($mdgriffith$elm_ui$Element$shrink), + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Element$height($mdgriffith$elm_ui$Element$shrink), + attrs))), + $mdgriffith$elm_ui$Internal$Model$Unkeyed(children)); + }); +var $author$project$Pages$Top$view = function (_v0) { + var global = _v0.cH; + var _v1 = global.aD; + if (!_v1.$) { + return A2( + $mdgriffith$elm_ui$Element$column, + _List_fromArray( + [ + $mdgriffith$elm_ui$Element$spacing(12) + ]), + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Element$row, + _List_fromArray( + [ + $mdgriffith$elm_ui$Element$spacing(14) + ]), + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Element$el, + _List_fromArray( + [ + $mdgriffith$elm_ui$Element$Font$size(48), + $mdgriffith$elm_ui$Element$Font$semiBold + ]), + $mdgriffith$elm_ui$Element$text('Mi')), + A2( + $mdgriffith$elm_ui$Element$el, + _List_fromArray( + [ + $mdgriffith$elm_ui$Element$alpha(0.5) + ]), + $mdgriffith$elm_ui$Element$text('POSSE and stuff')) + ])), + $mdgriffith$elm_ui$Element$text('TODO:'), + $mdgriffith$elm_ui$Element$text('* POSSE'), + $mdgriffith$elm_ui$Element$text('* Switch Data') + ])); + } else { + return A2( + $mdgriffith$elm_ui$Element$el, + _List_fromArray( + [ + $mdgriffith$elm_ui$Element$Font$size(48), + $mdgriffith$elm_ui$Element$centerX, + $mdgriffith$elm_ui$Element$centerY + ]), + A2( + $mdgriffith$elm_ui$Element$link, + _List_fromArray( + [ + $mdgriffith$elm_ui$Element$Font$underline, + $mdgriffith$elm_ui$Element$Font$color( + A3($mdgriffith$elm_ui$Element$rgb255, 204, 75, 75)), + $mdgriffith$elm_ui$Element$Font$size(48), + $mdgriffith$elm_ui$Element$mouseOver( + _List_fromArray( + [ + $mdgriffith$elm_ui$Element$alpha(0.5) + ])) + ]), + { + bn: $mdgriffith$elm_ui$Element$text('Login'), + bN: $author$project$Generated$Routes$toPath($author$project$Generated$Routes$routes.ad) + })); + } +}; +var $author$project$Pages$Top$page = $ryannhg$elm_spa$Spa$Page$static( + { + d$: $elm$core$Basics$always('/'), + d7: $author$project$Pages$Top$view + }); +var $mdgriffith$elm_ui$Element$map = $mdgriffith$elm_ui$Internal$Model$map; +var $ryannhg$elm_spa$Spa$Page$recipe = $ryannhg$elm_spa$Internals$Page$upgrade; +var $author$project$Utils$Spa$recipe = $ryannhg$elm_spa$Spa$Page$recipe($mdgriffith$elm_ui$Element$map); +var $author$project$Generated$Pages$recipes = { + ac: $author$project$Utils$Spa$recipe( + {ay: $author$project$Pages$NotFound$page, aB: $author$project$Generated$Pages$NotFoundModel, aC: $author$project$Generated$Pages$NotFoundMsg}), + ad: $author$project$Utils$Spa$recipe( + {ay: $author$project$Pages$SignIn$page, aB: $author$project$Generated$Pages$SignInModel, aC: $author$project$Generated$Pages$SignInMsg}), + ae: $author$project$Utils$Spa$recipe( + {ay: $author$project$Pages$Switches$page, aB: $author$project$Generated$Pages$SwitchesModel, aC: $author$project$Generated$Pages$SwitchesMsg}), + ai: $author$project$Utils$Spa$recipe( + {ay: $author$project$Pages$Top$page, aB: $author$project$Generated$Pages$TopModel, aC: $author$project$Generated$Pages$TopMsg}) +}; +var $author$project$Generated$Pages$bundle = function (bigModel) { + switch (bigModel.$) { + case 0: + var model = bigModel.a; + return $author$project$Generated$Pages$recipes.ac.Z(model); + case 1: + var model = bigModel.a; + return $author$project$Generated$Pages$recipes.ad.Z(model); + case 2: + var model = bigModel.a; + return $author$project$Generated$Pages$recipes.ae.Z(model); + default: + var model = bigModel.a; + return $author$project$Generated$Pages$recipes.ai.Z(model); + } +}; +var $author$project$Generated$Pages$init = function (route_) { + switch (route_.$) { + case 0: + var params = route_.a; + return $author$project$Generated$Pages$recipes.ac.aa(params); + case 1: + var params = route_.a; + return $author$project$Generated$Pages$recipes.ad.aa(params); + case 2: + var params = route_.a; + return $author$project$Generated$Pages$recipes.ae.aa(params); + default: + var params = route_.a; + return $author$project$Generated$Pages$recipes.ai.aa(params); + } +}; +var $ryannhg$elm_spa$Spa$Page$layout = F2( + function (map, options) { + return function (_v0) { + var toModel = _v0.aB; + var toMsg = _v0.aC; + return { + Z: F3( + function (model, _private, context) { + var viewLayout = function (page) { + return options.d7( + {cF: _private.cF, cH: context.cH, ay: page, dn: context.dn}); + }; + var myLayoutsVisibility = _Utils_eq(_private.df, options.df) ? _private.bR : $ryannhg$elm_spa$Internals$Transition$visible; + var lookupTransitionFrom = F2( + function (path, list) { + return A2( + $elm$core$Maybe$withDefault, + $ryannhg$elm_spa$Internals$Transition$optOut, + $elm$core$List$head( + A2( + $elm$core$List$map, + function ($) { + return $.bM; + }, + A2( + $elm$core$List$filter, + A2( + $elm$core$Basics$composeR, + function ($) { + return $.df; + }, + $elm$core$Basics$eq(path)), + list)))); + }); + var bundle = A3( + options.dj.Z, + model, + { + cF: _private.cF, + be: A2($elm$core$Basics$composeR, toMsg, _private.be), + c_: map, + df: _private.df, + d4: _private.d4, + bR: _private.bR + }, + context); + return { + dK: bundle.dK, + d$: bundle.d$, + d7: viewLayout( + A3( + $ryannhg$elm_spa$Internals$Transition$view, + A2(lookupTransitionFrom, options.df, _private.d4), + myLayoutsVisibility, + bundle.d7)) + }; + }), + aa: F2( + function (pageParams, global) { + return A3( + $ryannhg$elm_spa$Spa$Page$truple, + toModel, + toMsg, + A2(options.dj.aa, pageParams, global)); + }), + am: F3( + function (msg, model, global) { + return A3( + $ryannhg$elm_spa$Spa$Page$truple, + toModel, + toMsg, + A3(options.dj.am, msg, model, global)); + }) + }; + }; + }); +var $author$project$Utils$Spa$layout = $ryannhg$elm_spa$Spa$Page$layout($mdgriffith$elm_ui$Element$map); +var $author$project$Generated$Pages$path = _List_Nil; +var $ryannhg$elm_spa$Spa$Page$keep = function (model) { + return $elm$core$Basics$always( + _Utils_Tuple3(model, $elm$core$Platform$Cmd$none, $elm$core$Platform$Cmd$none)); +}; +var $author$project$Generated$Pages$update = F2( + function (bigMsg, bigModel) { + var _v0 = _Utils_Tuple2(bigMsg, bigModel); + _v0$4: + while (true) { + switch (_v0.a.$) { + case 0: + if (!_v0.b.$) { + var msg = _v0.a.a; + var model = _v0.b.a; + return A2($author$project$Generated$Pages$recipes.ac.am, msg, model); + } else { + break _v0$4; + } + case 1: + if (_v0.b.$ === 1) { + var msg = _v0.a.a; + var model = _v0.b.a; + return A2($author$project$Generated$Pages$recipes.ad.am, msg, model); + } else { + break _v0$4; + } + case 2: + if (_v0.b.$ === 2) { + var msg = _v0.a.a; + var model = _v0.b.a; + return A2($author$project$Generated$Pages$recipes.ae.am, msg, model); + } else { + break _v0$4; + } + default: + if (_v0.b.$ === 3) { + var msg = _v0.a.a; + var model = _v0.b.a; + return A2($author$project$Generated$Pages$recipes.ai.am, msg, model); + } else { + break _v0$4; + } + } + } + return $ryannhg$elm_spa$Spa$Page$keep(bigModel); + }); +var $mdgriffith$elm_ui$Internal$Model$Max = F2( + function (a, b) { + return {$: 4, a: a, b: b}; + }); +var $mdgriffith$elm_ui$Element$maximum = F2( + function (i, l) { + return A2($mdgriffith$elm_ui$Internal$Model$Max, i, l); + }); +var $mdgriffith$elm_ui$Element$padding = function (x) { + return A2( + $mdgriffith$elm_ui$Internal$Model$StyleClass, + $mdgriffith$elm_ui$Internal$Flag$padding, + A5( + $mdgriffith$elm_ui$Internal$Model$PaddingStyle, + 'p-' + $elm$core$String$fromInt(x), + x, + x, + x, + x)); +}; +var $author$project$Layout$viewLink = F2( + function (currentRoute, _v0) { + var label = _v0.a; + var route = _v0.b; + return _Utils_eq(currentRoute, route) ? A2( + $mdgriffith$elm_ui$Element$el, + _List_fromArray( + [ + $mdgriffith$elm_ui$Element$Font$underline, + $mdgriffith$elm_ui$Element$Font$color( + A3($mdgriffith$elm_ui$Element$rgb255, 204, 75, 75)), + $mdgriffith$elm_ui$Element$alpha(0.5), + $mdgriffith$elm_ui$Element$Font$size(16) + ]), + $mdgriffith$elm_ui$Element$text(label)) : A2( + $mdgriffith$elm_ui$Element$link, + _List_fromArray( + [ + $mdgriffith$elm_ui$Element$Font$underline, + $mdgriffith$elm_ui$Element$Font$color( + A3($mdgriffith$elm_ui$Element$rgb255, 204, 75, 75)), + $mdgriffith$elm_ui$Element$Font$size(16), + $mdgriffith$elm_ui$Element$mouseOver( + _List_fromArray( + [ + $mdgriffith$elm_ui$Element$alpha(0.5) + ])) + ]), + { + bn: $mdgriffith$elm_ui$Element$text(label), + bN: $author$project$Generated$Routes$toPath(route) + }); + }); +var $author$project$Layout$viewHeader = function (currentRoute) { + return A2( + $mdgriffith$elm_ui$Element$row, + _List_fromArray( + [ + $mdgriffith$elm_ui$Element$spacing(24), + $mdgriffith$elm_ui$Element$paddingEach( + {cl: 0, cY: 16, dl: 16, ai: 32}), + $mdgriffith$elm_ui$Element$centerX, + $mdgriffith$elm_ui$Element$width( + A2($mdgriffith$elm_ui$Element$maximum, 750, $mdgriffith$elm_ui$Element$fill)) + ]), + _List_fromArray( + [ + A2( + $author$project$Layout$viewLink, + currentRoute, + _Utils_Tuple2('Mi', $author$project$Generated$Routes$routes.ai)), + A2( + $author$project$Layout$viewLink, + currentRoute, + _Utils_Tuple2('Switch Data', $author$project$Generated$Routes$routes.ae)) + ])); +}; +var $author$project$Layout$view = function (_v0) { + var page = _v0.ay; + var route = _v0.dn; + var global = _v0.cH; + var _v1 = global.aD; + if (!_v1.$) { + return A2( + $mdgriffith$elm_ui$Element$column, + _List_fromArray( + [ + $mdgriffith$elm_ui$Element$height($mdgriffith$elm_ui$Element$fill), + $mdgriffith$elm_ui$Element$width( + A2($mdgriffith$elm_ui$Element$maximum, 750, $mdgriffith$elm_ui$Element$fill)), + $mdgriffith$elm_ui$Element$centerX + ]), + _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Element$el, + _List_fromArray( + [ + $mdgriffith$elm_ui$Element$padding(15) + ]), + $author$project$Layout$viewHeader(route)), + page + ])); + } else { + return (!_Utils_eq(route, $author$project$Generated$Routes$routes.ad)) ? A2( + $mdgriffith$elm_ui$Element$el, + _List_fromArray( + [$mdgriffith$elm_ui$Element$centerX, $mdgriffith$elm_ui$Element$centerY]), + A2( + $mdgriffith$elm_ui$Element$link, + _List_fromArray( + [ + $mdgriffith$elm_ui$Element$Font$underline, + $mdgriffith$elm_ui$Element$Font$color( + A3($mdgriffith$elm_ui$Element$rgb255, 204, 75, 75)), + $mdgriffith$elm_ui$Element$Font$size(48) + ]), + { + bn: $mdgriffith$elm_ui$Element$text('Login'), + bN: $author$project$Generated$Routes$toPath($author$project$Generated$Routes$routes.ad) + })) : A2( + $mdgriffith$elm_ui$Element$el, + _List_fromArray( + [$mdgriffith$elm_ui$Element$centerX, $mdgriffith$elm_ui$Element$centerY]), + page); + } +}; +var $author$project$Generated$Pages$page = $author$project$Utils$Spa$layout( + { + df: $author$project$Generated$Pages$path, + dj: {Z: $author$project$Generated$Pages$bundle, aa: $author$project$Generated$Pages$init, am: $author$project$Generated$Pages$update}, + d7: $author$project$Layout$view + }); +var $elm$url$Url$Parser$mapState = F2( + function (func, _v0) { + var visited = _v0.Q; + var unvisited = _v0.G; + var params = _v0.N; + var frag = _v0.J; + var value = _v0.y; + return A5( + $elm$url$Url$Parser$State, + visited, + unvisited, + params, + frag, + func(value)); + }); +var $elm$url$Url$Parser$map = F2( + function (subValue, _v0) { + var parseArg = _v0; + return function (_v1) { + var visited = _v1.Q; + var unvisited = _v1.G; + var params = _v1.N; + var frag = _v1.J; + var value = _v1.y; + return A2( + $elm$core$List$map, + $elm$url$Url$Parser$mapState(value), + parseArg( + A5($elm$url$Url$Parser$State, visited, unvisited, params, frag, subValue))); + }; + }); +var $elm$url$Url$Parser$s = function (str) { + return function (_v0) { + var visited = _v0.Q; + var unvisited = _v0.G; + var params = _v0.N; + var frag = _v0.J; + var value = _v0.y; + if (!unvisited.b) { + return _List_Nil; + } else { + var next = unvisited.a; + var rest = unvisited.b; + return _Utils_eq(next, str) ? _List_fromArray( + [ + A5( + $elm$url$Url$Parser$State, + A2($elm$core$List$cons, next, visited), + rest, + params, + frag, + value) + ]) : _List_Nil; + } + }; +}; +var $elm$url$Url$Parser$top = function (state) { + return _List_fromArray( + [state]); +}; +var $author$project$Generated$Routes$parsers = _List_fromArray( + [ + A2( + $elm$url$Url$Parser$map, + $author$project$Generated$Routes$routes.ac, + $elm$url$Url$Parser$s('not-found')), + A2( + $elm$url$Url$Parser$map, + $author$project$Generated$Routes$routes.ad, + $elm$url$Url$Parser$s('sign-in')), + A2( + $elm$url$Url$Parser$map, + $author$project$Generated$Routes$routes.ae, + $elm$url$Url$Parser$s('switches')), + A2($elm$url$Url$Parser$map, $author$project$Generated$Routes$routes.ai, $elm$url$Url$Parser$top) + ]); +var $author$project$Global$subscriptions = function (_v0) { + return $elm$core$Platform$Sub$none; +}; +var $ryannhg$elm_spa$Internals$Transition$Transition = function (a) { + return {$: 2, a: a}; +}; +var $ryannhg$elm_spa$Internals$Transition$fadeElmUi = function (duration_) { + var withOpacity = F2( + function (opacity, page) { + return A2( + $mdgriffith$elm_ui$Element$el, + _List_fromArray( + [ + $mdgriffith$elm_ui$Element$width($mdgriffith$elm_ui$Element$fill), + $mdgriffith$elm_ui$Element$height($mdgriffith$elm_ui$Element$fill), + $mdgriffith$elm_ui$Element$alpha(opacity), + $mdgriffith$elm_ui$Element$htmlAttribute( + A2( + $elm$html$Html$Attributes$style, + 'transition', + $elm$core$String$concat( + _List_fromArray( + [ + 'opacity ', + $elm$core$String$fromInt(duration_), + 'ms ease-in-out' + ])))) + ]), + page); + }); + return $ryannhg$elm_spa$Internals$Transition$Transition( + { + au: duration_, + ax: withOpacity(0), + aF: withOpacity(1) + }); +}; +var $ryannhg$elm_spa$Spa$Transition$fadeElmUi = $ryannhg$elm_spa$Internals$Transition$fadeElmUi; +var $author$project$Transitions$transitions = { + cX: $ryannhg$elm_spa$Spa$Transition$fadeElmUi(500), + ay: $ryannhg$elm_spa$Spa$Transition$fadeElmUi(300), + dd: _List_Nil +}; +var $author$project$Global$update = F3( + function (_v0, msg, model) { + if (!msg.$) { + var token = msg.a; + return _Utils_Tuple3( + _Utils_update( + model, + { + aD: $elm$core$Maybe$Just(token) + }), + $elm$core$Platform$Cmd$none, + $elm$core$Platform$Cmd$none); + } else { + return _Utils_Tuple3( + _Utils_update( + model, + {aD: $elm$core$Maybe$Nothing}), + $elm$core$Platform$Cmd$none, + $elm$core$Platform$Cmd$none); + } + }); +var $mdgriffith$elm_ui$Internal$Model$OnlyDynamic = F2( + function (a, b) { + return {$: 2, a: a, b: b}; + }); +var $mdgriffith$elm_ui$Internal$Model$StaticRootAndDynamic = F2( + function (a, b) { + return {$: 1, a: a, b: b}; + }); +var $mdgriffith$elm_ui$Internal$Model$AllowHover = 1; +var $mdgriffith$elm_ui$Internal$Model$Layout = 0; +var $mdgriffith$elm_ui$Internal$Model$focusDefaultStyle = { + cb: $elm$core$Maybe$Nothing, + ch: $elm$core$Maybe$Nothing, + dw: $elm$core$Maybe$Just( + { + R: 0, + S: A4($mdgriffith$elm_ui$Internal$Model$Rgba, 155 / 255, 203 / 255, 1, 1), + bs: _Utils_Tuple2(0, 0), + bI: 3 + }) +}; +var $mdgriffith$elm_ui$Internal$Model$optionsToRecord = function (options) { + var combine = F2( + function (opt, record) { + switch (opt.$) { + case 0: + var hoverable = opt.a; + var _v4 = record.cL; + if (_v4.$ === 1) { + return _Utils_update( + record, + { + cL: $elm$core$Maybe$Just(hoverable) + }); + } else { + return record; + } + case 1: + var focusStyle = opt.a; + var _v5 = record.cE; + if (_v5.$ === 1) { + return _Utils_update( + record, + { + cE: $elm$core$Maybe$Just(focusStyle) + }); + } else { + return record; + } + default: + var renderMode = opt.a; + var _v6 = record.c0; + if (_v6.$ === 1) { + return _Utils_update( + record, + { + c0: $elm$core$Maybe$Just(renderMode) + }); + } else { + return record; + } + } + }); + var andFinally = function (record) { + return { + cE: function () { + var _v0 = record.cE; + if (_v0.$ === 1) { + return $mdgriffith$elm_ui$Internal$Model$focusDefaultStyle; + } else { + var focusable = _v0.a; + return focusable; + } + }(), + cL: function () { + var _v1 = record.cL; + if (_v1.$ === 1) { + return 1; + } else { + var hoverable = _v1.a; + return hoverable; + } + }(), + c0: function () { + var _v2 = record.c0; + if (_v2.$ === 1) { + return 0; + } else { + var actualMode = _v2.a; + return actualMode; + } + }() + }; + }; + return andFinally( + A3( + $elm$core$List$foldr, + combine, + {cE: $elm$core$Maybe$Nothing, cL: $elm$core$Maybe$Nothing, c0: $elm$core$Maybe$Nothing}, + options)); +}; +var $mdgriffith$elm_ui$Internal$Model$toHtml = F2( + function (mode, el) { + switch (el.$) { + case 0: + var html = el.a; + return html($mdgriffith$elm_ui$Internal$Model$asEl); + case 1: + var styles = el.a.dI; + var html = el.a.cM; + return A2( + html, + mode(styles), + $mdgriffith$elm_ui$Internal$Model$asEl); + case 2: + var text = el.a; + return $mdgriffith$elm_ui$Internal$Model$textElement(text); + default: + return $mdgriffith$elm_ui$Internal$Model$textElement(''); + } + }); +var $mdgriffith$elm_ui$Internal$Model$renderRoot = F3( + function (optionList, attributes, child) { + var options = $mdgriffith$elm_ui$Internal$Model$optionsToRecord(optionList); + var embedStyle = function () { + var _v0 = options.c0; + if (_v0 === 1) { + return $mdgriffith$elm_ui$Internal$Model$OnlyDynamic(options); + } else { + return $mdgriffith$elm_ui$Internal$Model$StaticRootAndDynamic(options); + } + }(); + return A2( + $mdgriffith$elm_ui$Internal$Model$toHtml, + embedStyle, + A4( + $mdgriffith$elm_ui$Internal$Model$element, + $mdgriffith$elm_ui$Internal$Model$asEl, + $mdgriffith$elm_ui$Internal$Model$div, + attributes, + $mdgriffith$elm_ui$Internal$Model$Unkeyed( + _List_fromArray( + [child])))); + }); +var $mdgriffith$elm_ui$Internal$Model$FontFamily = F2( + function (a, b) { + return {$: 1, a: a, b: b}; + }); +var $mdgriffith$elm_ui$Internal$Model$SansSerif = {$: 1}; +var $mdgriffith$elm_ui$Internal$Model$Typeface = function (a) { + return {$: 3, a: a}; +}; +var $mdgriffith$elm_ui$Internal$Flag$fontFamily = $mdgriffith$elm_ui$Internal$Flag$flag(5); +var $elm$core$String$toLower = _String_toLower; +var $elm$core$String$words = _String_words; +var $mdgriffith$elm_ui$Internal$Model$renderFontClassName = F2( + function (font, current) { + return _Utils_ap( + current, + function () { + switch (font.$) { + case 0: + return 'serif'; + case 1: + return 'sans-serif'; + case 2: + return 'monospace'; + case 3: + var name = font.a; + return A2( + $elm$core$String$join, + '-', + $elm$core$String$words( + $elm$core$String$toLower(name))); + case 4: + var name = font.a; + var url = font.b; + return A2( + $elm$core$String$join, + '-', + $elm$core$String$words( + $elm$core$String$toLower(name))); + default: + var name = font.a.c1; + return A2( + $elm$core$String$join, + '-', + $elm$core$String$words( + $elm$core$String$toLower(name))); + } + }()); + }); +var $mdgriffith$elm_ui$Internal$Model$rootStyle = function () { + var families = _List_fromArray( + [ + $mdgriffith$elm_ui$Internal$Model$Typeface('Open Sans'), + $mdgriffith$elm_ui$Internal$Model$Typeface('Helvetica'), + $mdgriffith$elm_ui$Internal$Model$Typeface('Verdana'), + $mdgriffith$elm_ui$Internal$Model$SansSerif + ]); + return _List_fromArray( + [ + A2( + $mdgriffith$elm_ui$Internal$Model$StyleClass, + $mdgriffith$elm_ui$Internal$Flag$bgColor, + A3( + $mdgriffith$elm_ui$Internal$Model$Colored, + 'bg-' + $mdgriffith$elm_ui$Internal$Model$formatColorClass( + A4($mdgriffith$elm_ui$Internal$Model$Rgba, 1, 1, 1, 0)), + 'background-color', + A4($mdgriffith$elm_ui$Internal$Model$Rgba, 1, 1, 1, 0))), + A2( + $mdgriffith$elm_ui$Internal$Model$StyleClass, + $mdgriffith$elm_ui$Internal$Flag$fontColor, + A3( + $mdgriffith$elm_ui$Internal$Model$Colored, + 'fc-' + $mdgriffith$elm_ui$Internal$Model$formatColorClass( + A4($mdgriffith$elm_ui$Internal$Model$Rgba, 0, 0, 0, 1)), + 'color', + A4($mdgriffith$elm_ui$Internal$Model$Rgba, 0, 0, 0, 1))), + A2( + $mdgriffith$elm_ui$Internal$Model$StyleClass, + $mdgriffith$elm_ui$Internal$Flag$fontSize, + $mdgriffith$elm_ui$Internal$Model$FontSize(20)), + A2( + $mdgriffith$elm_ui$Internal$Model$StyleClass, + $mdgriffith$elm_ui$Internal$Flag$fontFamily, + A2( + $mdgriffith$elm_ui$Internal$Model$FontFamily, + A3($elm$core$List$foldl, $mdgriffith$elm_ui$Internal$Model$renderFontClassName, 'font-', families), + families)) + ]); +}(); +var $mdgriffith$elm_ui$Element$layoutWith = F3( + function (_v0, attrs, child) { + var options = _v0.bt; + return A3( + $mdgriffith$elm_ui$Internal$Model$renderRoot, + options, + A2( + $elm$core$List$cons, + $mdgriffith$elm_ui$Internal$Model$htmlClass( + A2( + $elm$core$String$join, + ' ', + _List_fromArray( + [$mdgriffith$elm_ui$Internal$Style$classes.dm, $mdgriffith$elm_ui$Internal$Style$classes.b9, $mdgriffith$elm_ui$Internal$Style$classes.dx]))), + _Utils_ap($mdgriffith$elm_ui$Internal$Model$rootStyle, attrs)), + child); + }); +var $mdgriffith$elm_ui$Element$layout = $mdgriffith$elm_ui$Element$layoutWith( + {bt: _List_Nil}); +var $ryannhg$elm_spa$Spa$usingElmUi = { + c_: $mdgriffith$elm_ui$Element$map, + ah: $mdgriffith$elm_ui$Element$layout(_List_Nil) +}; +var $author$project$Main$main = $ryannhg$elm_spa$Spa$create( + { + cH: {aa: $author$project$Global$init, dK: $author$project$Global$subscriptions, am: $author$project$Global$update}, + ay: $author$project$Generated$Pages$page, + dp: {b_: $elm$core$Maybe$Nothing, ac: $author$project$Generated$Routes$routes.ac, $7: $author$project$Generated$Routes$parsers, d0: $author$project$Generated$Routes$toPath}, + d4: $author$project$Transitions$transitions, + d5: $ryannhg$elm_spa$Spa$usingElmUi + }); +_Platform_export({'Main':{'init':$author$project$Main$main( + $elm$json$Json$Decode$succeed(0))(0)}});}(this)); \ No newline at end of file diff --git a/frontend/public/index.html b/frontend/public/index.html new file mode 100644 index 0000000..9a0d0cf --- /dev/null +++ b/frontend/public/index.html @@ -0,0 +1,19 @@ + + + + + + + our-elm-spa + + + + + + + + diff --git a/frontend/public/ports.js b/frontend/public/ports.js new file mode 100644 index 0000000..89c96ae --- /dev/null +++ b/frontend/public/ports.js @@ -0,0 +1,17 @@ +// On load, listen to Elm! +window.addEventListener('load', _ => { + window.ports = { + init: (app) => + app.ports.outgoing.subscribe(({ action, data }) => + actions[action] + ? actions[action](data) + : console.warn(`I didn't recognize action "${action}".`) + ) + } +}) + +// maps actions to functions! +const actions = { + 'LOG': (message) => + console.log(`From Elm:`, message) +} diff --git a/frontend/public/styles.css b/frontend/public/styles.css new file mode 100644 index 0000000..6d6ac7b --- /dev/null +++ b/frontend/public/styles.css @@ -0,0 +1,5 @@ +/* you can include CSS here */ +html, body { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; + height: 100%; +} \ No newline at end of file diff --git a/frontend/src/Components/README.md b/frontend/src/Components/README.md new file mode 100644 index 0000000..edac699 --- /dev/null +++ b/frontend/src/Components/README.md @@ -0,0 +1,2 @@ +# src/Components +> views shared across the site \ No newline at end of file diff --git a/frontend/src/Global.elm b/frontend/src/Global.elm new file mode 100644 index 0000000..b765c30 --- /dev/null +++ b/frontend/src/Global.elm @@ -0,0 +1,60 @@ +module Global exposing + ( Flags + , Model + , Msg(..) + , init + , subscriptions + , update + ) + +import Generated.Routes as Routes exposing (Route) +import Ports + + +type alias Flags = + () + + +type alias Model = + { token : Maybe String + } + + +type Msg + = SignIn String + | SignOut + + +type alias Commands msg = + { navigate : Route -> Cmd msg + } + + +init : Commands msg -> Flags -> ( Model, Cmd Msg, Cmd msg ) +init _ _ = + ( { token = Nothing + } + , Cmd.none + , Ports.log "Hello!" + ) + + +update : Commands msg -> Msg -> Model -> ( Model, Cmd Msg, Cmd msg ) +update _ msg model = + case msg of + SignIn token -> + ( { model | token = Just token } + , Cmd.none + , Cmd.none + ) + + SignOut -> + ( { model | token = Nothing } + , Cmd.none + , Cmd.none + ) + + +subscriptions : Model -> Sub Msg +subscriptions _ = + Sub.none diff --git a/frontend/src/Layout.elm b/frontend/src/Layout.elm new file mode 100644 index 0000000..3444059 --- /dev/null +++ b/frontend/src/Layout.elm @@ -0,0 +1,70 @@ +module Layout exposing (view) + +import Element exposing (..) +import Element.Font as Font +import Generated.Routes as Routes exposing (Route, routes) +import Utils.Spa as Spa + + +view : Spa.LayoutContext msg -> Element msg +view { page, route, global } = + case global.token of + Just _ -> + column [ height fill, width (fill |> maximum 750), centerX ] + [ el [ padding 15 ] (viewHeader route) + , page + ] + + Nothing -> + if route /= routes.signIn then + el [ centerX, centerY ] + (link + [ Font.underline + , Font.color (rgb255 204 75 75) + , Font.size 48 + ] + { label = text "Login" + , url = Routes.toPath routes.signIn + } + ) + + else + el + [ centerX, centerY ] + page + + +viewHeader : Route -> Element msg +viewHeader currentRoute = + row + [ spacing 24 + , paddingEach { top = 32, left = 16, right = 16, bottom = 0 } + , centerX + , width (fill |> maximum 750) + ] + [ viewLink currentRoute ( "Mi", routes.top ) + , viewLink currentRoute ( "Switch Data", routes.switches ) + ] + + +viewLink : Route -> ( String, Route ) -> Element msg +viewLink currentRoute ( label, route ) = + if currentRoute == route then + el + [ Font.underline + , Font.color (rgb255 204 75 75) + , alpha 0.5 + , Font.size 16 + ] + (text label) + + else + link + [ Font.underline + , Font.color (rgb255 204 75 75) + , Font.size 16 + , mouseOver [ alpha 0.5 ] + ] + { label = text label + , url = Routes.toPath route + } diff --git a/frontend/src/Layouts/README.md b/frontend/src/Layouts/README.md new file mode 100644 index 0000000..b8e461e --- /dev/null +++ b/frontend/src/Layouts/README.md @@ -0,0 +1,2 @@ +# src/Layouts +> where all your pages go \ No newline at end of file diff --git a/frontend/src/Main.elm b/frontend/src/Main.elm index 9d455e3..e77ed03 100644 --- a/frontend/src/Main.elm +++ b/frontend/src/Main.elm @@ -1,185 +1,27 @@ module Main exposing (main) -import Browser -import Browser.Navigation as Nav -import Html exposing (..) -import Html.Attributes exposing (..) -import Html.Events exposing (onInput) -import Http -import Json.Decode as D -import Mi exposing (..) -import Page exposing (..) -import Page.SwitchData as PSD -import SwitchData -import Url -import Url.Builder +import Generated.Pages as Pages +import Generated.Routes as Routes exposing (routes) +import Global +import Spa +import Transitions -main : Program () Model Msg +main : Spa.Program Global.Flags Global.Model Global.Msg Pages.Model Pages.Msg main = - Browser.application - { init = init - , view = view - , update = update - , subscriptions = subscriptions - , onUrlChange = UrlChanged - , onUrlRequest = LinkClicked - } - - -type alias Model = - { key : Nav.Key - , url : Url.Url - , token : Maybe String - , token_data : Maybe TokenData - , switch_data_model : PSD.Model - } - - -init : () -> Url.Url -> Nav.Key -> ( Model, Cmd Msg ) -init flags url key = - ( Model - key - url - Nothing - Nothing - PSD.init - , Cmd.none - ) - - -type Page - = NotFound - | Index - | SwitchData PSD.Model - - -type Msg - = LinkClicked Browser.UrlRequest - | UrlChanged Url.Url - | TokenInput String - | TokenValidate (Result Http.Error TokenData) - | Logout - | GotSwitchDataMSG PSD.Msg - - -update : Msg -> Model -> ( Model, Cmd Msg ) -update msg model = - case msg of - LinkClicked urlRequest -> - case urlRequest of - Browser.Internal url -> - ( model - , Nav.pushUrl - model.key - (Url.toString url) - ) - - Browser.External href -> - ( model, Nav.load href ) - - UrlChanged url -> - case url.path of - "/logout" -> - ( { model | token = Nothing, token_data = Nothing } - , Nav.pushUrl - model.key - "/" - ) - - default -> - ( { model | url = url } - , Cmd.none - ) - - TokenInput token -> - ( { model | token = Just token } - , request - "GET" - token - "/.within/tokeninfo" - Http.emptyBody - (expectJson TokenValidate tokenDecoder) - ) - - TokenValidate result -> - case result of - Ok data -> - ( { model | token_data = Just data } - , Cmd.none - ) - - Err _ -> - ( { model | token = Nothing } - , Cmd.none - ) - - Logout -> - ( { model | token = Nothing, token_data = Nothing } - , Nav.load "/" - ) - - GotSwitchDataMSG psd_msg -> - let - ( psd_model, cmd ) = - PSD.update - (Maybe.withDefault "" model.token) - psd_msg - model.switch_data_model - in - ( { model | switch_data_model = psd_model } - , Cmd.map GotSwitchDataMSG cmd - ) - - -subscriptions : Model -> Sub Msg -subscriptions _ = - Sub.none - - -view : Model -> Browser.Document Msg -view model = - case model.token_data of - Nothing -> - { title = "Login" - , body = - [ node "main" - [ style "align" "center" ] - [ h1 [] [ text "Login" ] - , viewInput "password" "API Token" "" TokenInput - ] - ] + Spa.create + { ui = Spa.usingElmUi + , transitions = Transitions.transitions + , routing = + { routes = Routes.parsers + , toPath = Routes.toPath + , notFound = routes.notFound + , afterNavigate = Nothing } - - Just token_data -> - case model.url.path of - "/" -> - template "Mi" - [ h1 [] [ text "Mi" ] - , h2 [] [ text "TODO" ] - , ul [] - [ li [] [ text "Switch CRUD" ] - , li [] [ text "POSSE manual announcement" ] - ] - , h2 [] [ text "Token data" ] - , p [] - [ text "Token sub: " - , text token_data.sub - , Html.br [] [] - , text "ID: " - , text token_data.jti - ] - ] - - "/switch" -> - PSD.view model.switch_data_model - - other -> - template "Not found" - [ h1 [] [ text "Not found" ] - , p [] - [ text "The requested URL " - , b [] [ text other ] - , text " was not found." - ] - ] + , global = + { init = Global.init + , update = Global.update + , subscriptions = Global.subscriptions + } + , page = Pages.page + } diff --git a/frontend/src/Page.elm b/frontend/src/Page.elm deleted file mode 100644 index 67f7e9f..0000000 --- a/frontend/src/Page.elm +++ /dev/null @@ -1,57 +0,0 @@ -module Page exposing (..) - -import Browser exposing (Document) -import Html exposing (Html, a, div, input, node, p, span, text) -import Html.Attributes exposing (class, href, placeholder, style, type_, value) -import Html.Events exposing (onInput) - - -template : String -> List (Html msg) -> Browser.Document msg -template title body = - { title = title - , body = - [ node "main" - [] - [ navBar - , div [] body - , footer - ] - ] - } - - -navBar : Html msg -navBar = - node "nav" - [] - [ p [] - [ viewLink "/" "Mi" - , text " - " - , viewLink "/switch" "Switch tracker" - , span - [ class "right" ] - [ viewLink "/logout" "Logout" ] - ] - ] - - -footer : Html msg -footer = - node "footer" - [] - [ p [] - [ a [ href "https://within.website" ] [ text "From Within" ] - , text " - " - , a [ href "https://tulpa.dev/cadey/mi" ] [ text "Source code" ] - ] - ] - - -viewInput : String -> String -> String -> (String -> msg) -> Html msg -viewInput t p v toMsg = - input [ type_ t, placeholder p, value v, onInput toMsg ] [] - - -viewLink : String -> String -> Html msg -viewLink path title = - a [ href path ] [ text title ] diff --git a/frontend/src/Page/SwitchData.elm b/frontend/src/Page/SwitchData.elm deleted file mode 100644 index e037b56..0000000 --- a/frontend/src/Page/SwitchData.elm +++ /dev/null @@ -1,102 +0,0 @@ -module Page.SwitchData exposing - ( Model - , Msg - , init - , update - , view - ) - -import Browser exposing (Document) -import Html exposing (..) -import Html.Attributes exposing (..) -import Http -import Json.Decode exposing (list) -import Mi -import Page -import SwitchData - - -type alias Model = - { page : Int - , limit : Int - , data : Data - } - - -type Data - = Init - | HaveData (List SwitchData.Switch) - | Error String - - -init : Model -init = - Model - 0 - 40 - Init - - -type Msg - = NeedData - | Settings Int Int - | GotData (Result Http.Error (List SwitchData.Switch)) - - -update : String -> Msg -> Model -> ( Model, Cmd Msg ) -update token msg model = - if token == "" then - ( model, Cmd.none ) - - else - case msg of - NeedData -> - ( model - , Mi.request - "GET" - token - (SwitchData.listURL model.limit model.page) - Http.emptyBody - (Mi.expectJson GotData (Json.Decode.list SwitchData.decoder)) - ) - - Settings page limit -> - ( { model | page = page, limit = limit } - , Mi.request - "GET" - token - (SwitchData.listURL model.limit model.page) - Http.emptyBody - (Mi.expectJson GotData (Json.Decode.list SwitchData.decoder)) - ) - - GotData result -> - case result of - Ok data -> - ( { model | data = HaveData data } - , Cmd.none - ) - - Err _ -> - ( { model | data = Error "got an error" } - , Cmd.none - ) - - -view : Model -> Browser.Document msg -view model = - case model.data of - Init -> - Page.template "Switch data" - [ h1 [] [ text "loading data..." ] ] - - HaveData _ -> - Page.template "Switch data" - [ h1 [] [ text "Switch data here" ] - ] - - Error msg -> - Page.template "Switch data error" - [ h1 [] [ text "oh no got an error" ] - , p [] [ text msg ] - ] diff --git a/frontend/src/Page/Token.elm b/frontend/src/Page/Token.elm deleted file mode 100644 index 4f4d030..0000000 --- a/frontend/src/Page/Token.elm +++ /dev/null @@ -1,104 +0,0 @@ -module Page.Token exposing - ( Model - , Msg - , init - , update - , view - ) - -import Browser -import Html exposing (Html, h1, h2, li, p, text, ul) -import Http exposing (..) -import Mi exposing (TokenData, expectJson, request, tokenDecoder) -import Page - - -type alias Model = - { token : Maybe String - , token_data : Maybe TokenData - , error : Maybe String - } - - -init : Model -init = - Model Nothing Nothing Nothing - - -type Msg - = Init - | GotTokenData (Result Http.Error TokenData) - - -update : Msg -> String -> Model -> ( Model, Cmd Msg ) -update msg token model = - case msg of - Init -> - ( { model | token = Just token } - , Mi.request - "GET" - token - "/.within/tokeninfo" - Http.emptyBody - (Mi.expectJson GotTokenData tokenDecoder) - ) - - GotTokenData result -> - case result of - Ok data -> - ( { model | token_data = Just data } - , Cmd.none - ) - - Err (BadUrl val) -> - ( { model | error = Just ("bad URL " ++ val) } - , Cmd.none - ) - - Err Timeout -> - ( { model | error = Just "Timeout" } - , Cmd.none - ) - - Err NetworkError -> - ( { model | error = Just "network error" } - , Cmd.none - ) - - Err (BadStatus code) -> - ( { model | error = Just ("bad status code " ++ String.fromInt code) } - , Cmd.none - ) - - Err (BadBody err_msg) -> - ( { model | error = Just err_msg } - , Cmd.none - ) - - -view : Model -> Browser.Document msg -view model = - case model.token_data of - Nothing -> - Page.template "No token data?" - [ h1 [] [ text "No token data?" ] - , p [] [ text "this should be impossible" ] - ] - - Just token_data -> - Page.template "Mi" - [ h1 [] [ text "Mi" ] - , h2 [] [ text "TODO" ] - , ul [] - [ li [] [ text "Switch CRUD" ] - , li [] [ text "POSSE manual announcement" ] - ] - , h2 [] [ text "Token data" ] - , p [] - [ text "Token sub: " - , text token_data.sub - , Html.br [] [] - , text "ID: " - , text token_data.jti - ] - ] diff --git a/frontend/src/Pages/NotFound.elm b/frontend/src/Pages/NotFound.elm new file mode 100644 index 0000000..e0aa2af --- /dev/null +++ b/frontend/src/Pages/NotFound.elm @@ -0,0 +1,39 @@ +module Pages.NotFound exposing (Model, Msg, page) + +import Element exposing (..) +import Element.Font as Font +import Generated.Params as Params +import Generated.Routes as Routes exposing (routes) +import Spa.Page +import Utils.Spa exposing (Page) + + +type alias Model = + () + + +type alias Msg = + Never + + +page : Page Params.NotFound Model Msg model msg appMsg +page = + Spa.Page.static + { title = always "not found | elm-spa" + , view = always view + } + + + +-- VIEW + + +view : Element Msg +view = + column [ centerX, centerY, spacing 16 ] + [ el [ Font.size 32, Font.semiBold ] (text "404 is life.") + , link [ Font.size 16, Font.underline, centerX, Font.color (rgb255 204 75 75), mouseOver [ alpha 0.5 ] ] + { label = text "back home?" + , url = Routes.toPath routes.top + } + ] diff --git a/frontend/src/Pages/README.md b/frontend/src/Pages/README.md new file mode 100644 index 0000000..fb9be14 --- /dev/null +++ b/frontend/src/Pages/README.md @@ -0,0 +1,3 @@ +# src/Pages +> where all your pages go + diff --git a/frontend/src/Pages/SignIn.elm b/frontend/src/Pages/SignIn.elm new file mode 100644 index 0000000..e518bf0 --- /dev/null +++ b/frontend/src/Pages/SignIn.elm @@ -0,0 +1,144 @@ +module Pages.SignIn exposing (Model, Msg, page) + +import Element exposing (..) +import Element.Input as Input +import Generated.Params as Params +import Global +import Http +import Mi +import Spa.Page +import Utils.Spa exposing (Page) + + +page : Page Params.SignIn Model Msg model msg appMsg +page = + Spa.Page.component + { title = always "Login" + , init = always init + , update = always update + , subscriptions = always subscriptions + , view = always view + } + + + +-- INIT + + +type alias Model = + { token : String + , tokenData : Maybe Mi.TokenData + , error : Maybe String + } + + +init : Params.SignIn -> ( Model, Cmd Msg, Cmd Global.Msg ) +init _ = + ( { token = "" + , tokenData = Nothing + , error = Nothing + } + , Cmd.none + , Cmd.none + ) + + + +-- UPDATE + + +type Msg + = SignIn + | SignOut + | ValidateToken (Result Http.Error Mi.TokenData) + | UpdateToken String + + +update : Msg -> Model -> ( Model, Cmd Msg, Cmd Global.Msg ) +update msg model = + case msg of + UpdateToken token -> + ( { model | token = token } + , Cmd.none + , Cmd.none + ) + + ValidateToken result -> + case result of + Ok data -> + ( { model | tokenData = Just data } + , Cmd.none + , Spa.Page.send (Global.SignIn model.token) + ) + + Err _ -> + ( { model | token = "", error = Just "got an error :(" } + , Cmd.none + , Cmd.none + ) + + SignIn -> + ( model + , Mi.request + "GET" + model.token + "/.within/tokeninfo" + Http.emptyBody + (Mi.expectJson ValidateToken Mi.tokenDecoder) + , Cmd.none + ) + + SignOut -> + ( model + , Cmd.none + , Spa.Page.send Global.SignOut + ) + + + +-- SUBSCRIPTIONS + + +subscriptions : Model -> Sub Msg +subscriptions model = + Sub.none + + + +-- VIEW + + +view : Model -> Element Msg +view model = + let + errMsg = + case model.error of + Just msg -> + msg + + Nothing -> + "" + + tData = + case model.tokenData of + Just data -> + Element.paragraph [] + [ text ("ID: " ++ data.jti) + , paragraph [] [ text ("Sub: " ++ data.sub) ] + ] + + Nothing -> + Element.column [] + [ Input.text [] + { label = Input.labelAbove [] (text "API Token") + , onChange = UpdateToken + , text = model.token + , placeholder = Just (Input.placeholder [] (text "")) + } + , Input.button [] { onPress = Just SignIn, label = text "Login" } + ] + in + column [ spacing 16 ] + [ tData + , text errMsg + ] diff --git a/frontend/src/Pages/Switches.elm b/frontend/src/Pages/Switches.elm new file mode 100644 index 0000000..288d01f --- /dev/null +++ b/frontend/src/Pages/Switches.elm @@ -0,0 +1,68 @@ +module Pages.Switches exposing (Model, Msg, page) + +import Spa.Page +import Element exposing (..) +import Generated.Params as Params +import Global +import Utils.Spa exposing (Page) + + +page : Page Params.Switches Model Msg model msg appMsg +page = + Spa.Page.component + { title = always "Switches" + , init = always init + , update = always update + , subscriptions = always subscriptions + , view = always view + } + + + +-- INIT + + +type alias Model = + {} + + +init : Params.Switches -> ( Model, Cmd Msg, Cmd Global.Msg ) +init _ = + ( {} + , Cmd.none + , Cmd.none + ) + + + +-- UPDATE + + +type Msg + = Msg + + +update : Msg -> Model -> ( Model, Cmd Msg, Cmd Global.Msg ) +update msg model = + ( model + , Cmd.none + , Cmd.none + ) + + + +-- SUBSCRIPTIONS + + +subscriptions : Model -> Sub Msg +subscriptions model = + Sub.none + + + +-- VIEW + + +view : Model -> Element Msg +view model = + text "Switches" \ No newline at end of file diff --git a/frontend/src/Pages/Top.elm b/frontend/src/Pages/Top.elm new file mode 100644 index 0000000..0e42a28 --- /dev/null +++ b/frontend/src/Pages/Top.elm @@ -0,0 +1,59 @@ +module Pages.Top exposing (Model, Msg, page) + +import Element exposing (..) +import Element.Font as Font +import Generated.Params as Params +import Generated.Routes as Routes exposing (Route, routes) +import Spa.Page +import Utils.Spa exposing (Page) + + +type alias Model = + () + + +type alias Msg = + Never + + +page : Page Params.Top Model Msg model msg appMsg +page = + Spa.Page.static + { title = always "/" + , view = view + } + + + +-- VIEW + + +view : Utils.Spa.PageContext -> Element Msg +view { global } = + case global.token of + Just _ -> + column + [ spacing 12 + ] + [ row [ spacing 14 ] + [ el [ Font.size 48, Font.semiBold ] (text "Mi") + , el [ alpha 0.5 ] (text "POSSE and stuff") + ] + , text "TODO:" + , text "* POSSE" + , text "* Switch Data" + ] + + Nothing -> + el + [ Font.size 48, centerX, centerY ] + (link + [ Font.underline + , Font.color (rgb255 204 75 75) + , Font.size 48 + , mouseOver [ alpha 0.5 ] + ] + { label = text "Login" + , url = Routes.toPath routes.signIn + } + ) diff --git a/frontend/src/Ports.elm b/frontend/src/Ports.elm new file mode 100644 index 0000000..094a416 --- /dev/null +++ b/frontend/src/Ports.elm @@ -0,0 +1,14 @@ +port module Ports exposing (log) + +import Json.Encode as Json + + +port outgoing : { action : String, data : Json.Value } -> Cmd msg + + +log : String -> Cmd msg +log message = + outgoing + { action = "LOG" + , data = Json.string message + } diff --git a/frontend/src/SwitchData.elm b/frontend/src/SwitchData.elm deleted file mode 100644 index 2d524ab..0000000 --- a/frontend/src/SwitchData.elm +++ /dev/null @@ -1,64 +0,0 @@ -module SwitchData exposing - ( Switch - , decoder - , frontURL - , idURL - , listURL - , switchURL - ) - -import Html exposing (..) -import Html.Attributes exposing (..) -import Iso8601 -import Json.Decode exposing (Decoder, field, int, map5, nullable, string) -import Time exposing (Posix) -import Url.Builder as UB - - -type alias Switch = - { id : String - , who : String - , started_at : Posix - , ended_at : Maybe Posix - , duration : Int - } - - -decoder : Decoder Switch -decoder = - map5 Switch - (field "id" string) - (field "who" string) - (field "started_at" Iso8601.decoder) - (field "ended_at" (nullable Iso8601.decoder)) - (field "duration" int) - - -switchURL : String -switchURL = - UB.absolute - [ "switches", "switch" ] - [] - - -idURL : String -> String -idURL id = - UB.absolute - [ "switches", "id", id ] - [] - - -frontURL : String -frontURL = - UB.absolute - [ "switches", "current" ] - [] - - -listURL : Int -> Int -> String -listURL limit page = - UB.absolute - [ "switches", "" ] - [ UB.int "limit" limit - , UB.int "page" page - ] diff --git a/frontend/src/Transitions.elm b/frontend/src/Transitions.elm new file mode 100644 index 0000000..292708b --- /dev/null +++ b/frontend/src/Transitions.elm @@ -0,0 +1,12 @@ +module Transitions exposing (transitions) + +import Spa.Transition as Transition +import Utils.Spa as Spa + + +transitions : Spa.Transitions msg +transitions = + { layout = Transition.fadeElmUi 500 + , page = Transition.fadeElmUi 300 + , pages = [] + } diff --git a/frontend/src/Utils/README.md b/frontend/src/Utils/README.md new file mode 100644 index 0000000..05c12de --- /dev/null +++ b/frontend/src/Utils/README.md @@ -0,0 +1,2 @@ +# src/Utils +> a place for helper functions diff --git a/frontend/src/Utils/Spa.elm b/frontend/src/Utils/Spa.elm new file mode 100644 index 0000000..ef4747d --- /dev/null +++ b/frontend/src/Utils/Spa.elm @@ -0,0 +1,72 @@ +module Utils.Spa exposing + ( Bundle + , Init + , LayoutContext + , Page + , PageContext + , Recipe + , Transitions + , Update + , layout + , recipe + ) + +import Element exposing (Element) +import Generated.Routes as Routes exposing (Route) +import Global +import Spa.Page +import Spa.Types + + +type alias Page params model msg layoutModel layoutMsg appMsg = + Spa.Types.Page Route params model msg (Element msg) layoutModel layoutMsg (Element layoutMsg) Global.Model Global.Msg appMsg (Element appMsg) + + +type alias Recipe params model msg layoutModel layoutMsg appMsg = + Spa.Types.Recipe Route params model msg layoutModel layoutMsg (Element layoutMsg) Global.Model Global.Msg appMsg (Element appMsg) + + +type alias Init model msg = + Spa.Types.Init Route model msg Global.Model Global.Msg + + +type alias Update model msg = + Spa.Types.Update Route model msg Global.Model Global.Msg + + +type alias Bundle msg appMsg = + Spa.Types.Bundle Route msg (Element msg) Global.Model Global.Msg appMsg (Element appMsg) + + +type alias LayoutContext msg = + Spa.Types.LayoutContext Route msg (Element msg) Global.Model Global.Msg + + +type alias PageContext = + Spa.Types.PageContext Route Global.Model + + +type alias Layout params model msg appMsg = + Spa.Types.Layout Route params model msg (Element msg) Global.Model Global.Msg appMsg (Element appMsg) + + +layout : + Layout params model msg appMsg + -> Page params model msg layoutModel layoutMsg appMsg +layout = + Spa.Page.layout Element.map + + +type alias Upgrade params model msg layoutModel layoutMsg appMsg = + Spa.Types.Upgrade Route params model msg (Element msg) layoutModel layoutMsg (Element layoutMsg) Global.Model Global.Msg appMsg (Element appMsg) + + +recipe : + Upgrade params model msg layoutModel layoutMsg appMsg + -> Recipe params model msg layoutModel layoutMsg appMsg +recipe = + Spa.Page.recipe Element.map + + +type alias Transitions msg = + Spa.Types.Transitions (Element msg) diff --git a/static/gruvbox.css b/static/gruvbox.css index 05bea91..6d6ac7b 100644 --- a/static/gruvbox.css +++ b/static/gruvbox.css @@ -1,78 +1,5 @@ -main { - font-family: monospace, monospace; - max-width: 38rem; - padding: 2rem; - margin: auto; -} - -@media only screen and (max-device-width: 736px) { - main { - padding: 0rem; - } -} - -::selection { - background: #d3869b; -} - -body { - background: #282828; - color: #ebdbb2; -} - -pre { - background-color: #3c3836; - padding: 1em; - border: 0; -} - -.right { - float: right; -} - -a, a:active, a:visited { - color: #b16286; - background-color: #1d2021; -} - -h1, h2, h3, h4, h5 { - margin-bottom: .1rem; -} - -blockquote { - border-left: 1px solid #bdae93; - margin: 0.5em 10px; - padding: 0.5em 10px; -} - -footer { - align: center; -} - -@media (prefers-color-scheme: light) { - body { - background: #fbf1c7; - color: #3c3836; - } - - pre { - background-color: #ebdbb2; - padding: 1em; - border: 0; - } - - a, a:active, a:visited { - color: #b16286; - background-color: #f9f5d7; - } - - h1, h2, h3, h4, h5 { - margin-bottom: .1rem; - } - - blockquote { - border-left: 1px solid #655c54; - margin: 0.5em 10px; - padding: 0.5em 10px; - } -} +/* you can include CSS here */ +html, body { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; + height: 100%; +} \ No newline at end of file -- 2.44.0 From 68ed7658f1a1efb81e59d79ee2e39a4f18e1e594 Mon Sep 17 00:00:00 2001 From: Christine Dodrill Date: Sat, 18 Jan 2020 13:22:12 -0500 Subject: [PATCH 2/3] dockerignore --- frontend/.dockerignore | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 frontend/.dockerignore diff --git a/frontend/.dockerignore b/frontend/.dockerignore new file mode 100644 index 0000000..8bc31ae --- /dev/null +++ b/frontend/.dockerignore @@ -0,0 +1,2 @@ +elm-stuff +node_modules -- 2.44.0 From dba02e8f4c8ef9120d23fa576a5be99dabd455b7 Mon Sep 17 00:00:00 2001 From: Christine Dodrill Date: Sat, 18 Jan 2020 13:25:48 -0500 Subject: [PATCH 3/3] Add more stuff --- frontend/elm.json | 4 +- frontend/public/.gitignore | 1 + frontend/public/dist/elm.compiled.js | 14874 ------------------------- frontend/src/Mi/SwitchData.elm | 64 + frontend/src/Pages/Switches.elm | 6 +- 5 files changed, 72 insertions(+), 14877 deletions(-) create mode 100644 frontend/public/.gitignore delete mode 100644 frontend/public/dist/elm.compiled.js create mode 100644 frontend/src/Mi/SwitchData.elm diff --git a/frontend/elm.json b/frontend/elm.json index b36b09e..c8cb49e 100644 --- a/frontend/elm.json +++ b/frontend/elm.json @@ -11,15 +11,17 @@ "elm/html": "1.0.0", "elm/http": "2.0.0", "elm/json": "1.1.3", + "elm/time": "1.0.0", "elm/url": "1.0.0", "mdgriffith/elm-ui": "1.1.5", + "rtfeldman/elm-iso8601-date-strings": "1.1.3", "ryannhg/elm-spa": "3.0.0" }, "indirect": { "elm/browser": "1.0.2", "elm/bytes": "1.0.8", "elm/file": "1.0.5", - "elm/time": "1.0.0", + "elm/parser": "1.1.0", "elm/virtual-dom": "1.0.2" } }, diff --git a/frontend/public/.gitignore b/frontend/public/.gitignore new file mode 100644 index 0000000..1521c8b --- /dev/null +++ b/frontend/public/.gitignore @@ -0,0 +1 @@ +dist diff --git a/frontend/public/dist/elm.compiled.js b/frontend/public/dist/elm.compiled.js deleted file mode 100644 index b577777..0000000 --- a/frontend/public/dist/elm.compiled.js +++ /dev/null @@ -1,14874 +0,0 @@ -(function(scope){ -'use strict'; - -function F(arity, fun, wrapper) { - wrapper.a = arity; - wrapper.f = fun; - return wrapper; -} - -function F2(fun) { - return F(2, fun, function(a) { return function(b) { return fun(a,b); }; }) -} -function F3(fun) { - return F(3, fun, function(a) { - return function(b) { return function(c) { return fun(a, b, c); }; }; - }); -} -function F4(fun) { - return F(4, fun, function(a) { return function(b) { return function(c) { - return function(d) { return fun(a, b, c, d); }; }; }; - }); -} -function F5(fun) { - return F(5, fun, function(a) { return function(b) { return function(c) { - return function(d) { return function(e) { return fun(a, b, c, d, e); }; }; }; }; - }); -} -function F6(fun) { - return F(6, fun, function(a) { return function(b) { return function(c) { - return function(d) { return function(e) { return function(f) { - return fun(a, b, c, d, e, f); }; }; }; }; }; - }); -} -function F7(fun) { - return F(7, fun, function(a) { return function(b) { return function(c) { - return function(d) { return function(e) { return function(f) { - return function(g) { return fun(a, b, c, d, e, f, g); }; }; }; }; }; }; - }); -} -function F8(fun) { - return F(8, fun, function(a) { return function(b) { return function(c) { - return function(d) { return function(e) { return function(f) { - return function(g) { return function(h) { - return fun(a, b, c, d, e, f, g, h); }; }; }; }; }; }; }; - }); -} -function F9(fun) { - return F(9, fun, function(a) { return function(b) { return function(c) { - return function(d) { return function(e) { return function(f) { - return function(g) { return function(h) { return function(i) { - return fun(a, b, c, d, e, f, g, h, i); }; }; }; }; }; }; }; }; - }); -} - -function A2(fun, a, b) { - return fun.a === 2 ? fun.f(a, b) : fun(a)(b); -} -function A3(fun, a, b, c) { - return fun.a === 3 ? fun.f(a, b, c) : fun(a)(b)(c); -} -function A4(fun, a, b, c, d) { - return fun.a === 4 ? fun.f(a, b, c, d) : fun(a)(b)(c)(d); -} -function A5(fun, a, b, c, d, e) { - return fun.a === 5 ? fun.f(a, b, c, d, e) : fun(a)(b)(c)(d)(e); -} -function A6(fun, a, b, c, d, e, f) { - return fun.a === 6 ? fun.f(a, b, c, d, e, f) : fun(a)(b)(c)(d)(e)(f); -} -function A7(fun, a, b, c, d, e, f, g) { - return fun.a === 7 ? fun.f(a, b, c, d, e, f, g) : fun(a)(b)(c)(d)(e)(f)(g); -} -function A8(fun, a, b, c, d, e, f, g, h) { - return fun.a === 8 ? fun.f(a, b, c, d, e, f, g, h) : fun(a)(b)(c)(d)(e)(f)(g)(h); -} -function A9(fun, a, b, c, d, e, f, g, h, i) { - 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); -} - - - - -// EQUALITY - -function _Utils_eq(x, y) -{ - for ( - var pair, stack = [], isEqual = _Utils_eqHelp(x, y, 0, stack); - isEqual && (pair = stack.pop()); - isEqual = _Utils_eqHelp(pair.a, pair.b, 0, stack) - ) - {} - - return isEqual; -} - -function _Utils_eqHelp(x, y, depth, stack) -{ - if (x === y) - { - return true; - } - - if (typeof x !== 'object' || x === null || y === null) - { - typeof x === 'function' && _Debug_crash(5); - return false; - } - - if (depth > 100) - { - stack.push(_Utils_Tuple2(x,y)); - return true; - } - - /**_UNUSED/ - if (x.$ === 'Set_elm_builtin') - { - x = $elm$core$Set$toList(x); - y = $elm$core$Set$toList(y); - } - if (x.$ === 'RBNode_elm_builtin' || x.$ === 'RBEmpty_elm_builtin') - { - x = $elm$core$Dict$toList(x); - y = $elm$core$Dict$toList(y); - } - //*/ - - /**/ - if (x.$ < 0) - { - x = $elm$core$Dict$toList(x); - y = $elm$core$Dict$toList(y); - } - //*/ - - for (var key in x) - { - if (!_Utils_eqHelp(x[key], y[key], depth + 1, stack)) - { - return false; - } - } - return true; -} - -var _Utils_equal = F2(_Utils_eq); -var _Utils_notEqual = F2(function(a, b) { return !_Utils_eq(a,b); }); - - - -// COMPARISONS - -// Code in Generate/JavaScript.hs, Basics.js, and List.js depends on -// the particular integer values assigned to LT, EQ, and GT. - -function _Utils_cmp(x, y, ord) -{ - if (typeof x !== 'object') - { - return x === y ? /*EQ*/ 0 : x < y ? /*LT*/ -1 : /*GT*/ 1; - } - - /**_UNUSED/ - if (x instanceof String) - { - var a = x.valueOf(); - var b = y.valueOf(); - return a === b ? 0 : a < b ? -1 : 1; - } - //*/ - - /**/ - if (typeof x.$ === 'undefined') - //*/ - /**_UNUSED/ - if (x.$[0] === '#') - //*/ - { - return (ord = _Utils_cmp(x.a, y.a)) - ? ord - : (ord = _Utils_cmp(x.b, y.b)) - ? ord - : _Utils_cmp(x.c, y.c); - } - - // traverse conses until end of a list or a mismatch - for (; x.b && y.b && !(ord = _Utils_cmp(x.a, y.a)); x = x.b, y = y.b) {} // WHILE_CONSES - return ord || (x.b ? /*GT*/ 1 : y.b ? /*LT*/ -1 : /*EQ*/ 0); -} - -var _Utils_lt = F2(function(a, b) { return _Utils_cmp(a, b) < 0; }); -var _Utils_le = F2(function(a, b) { return _Utils_cmp(a, b) < 1; }); -var _Utils_gt = F2(function(a, b) { return _Utils_cmp(a, b) > 0; }); -var _Utils_ge = F2(function(a, b) { return _Utils_cmp(a, b) >= 0; }); - -var _Utils_compare = F2(function(x, y) -{ - var n = _Utils_cmp(x, y); - return n < 0 ? $elm$core$Basics$LT : n ? $elm$core$Basics$GT : $elm$core$Basics$EQ; -}); - - -// COMMON VALUES - -var _Utils_Tuple0 = 0; -var _Utils_Tuple0_UNUSED = { $: '#0' }; - -function _Utils_Tuple2(a, b) { return { a: a, b: b }; } -function _Utils_Tuple2_UNUSED(a, b) { return { $: '#2', a: a, b: b }; } - -function _Utils_Tuple3(a, b, c) { return { a: a, b: b, c: c }; } -function _Utils_Tuple3_UNUSED(a, b, c) { return { $: '#3', a: a, b: b, c: c }; } - -function _Utils_chr(c) { return c; } -function _Utils_chr_UNUSED(c) { return new String(c); } - - -// RECORDS - -function _Utils_update(oldRecord, updatedFields) -{ - var newRecord = {}; - - for (var key in oldRecord) - { - newRecord[key] = oldRecord[key]; - } - - for (var key in updatedFields) - { - newRecord[key] = updatedFields[key]; - } - - return newRecord; -} - - -// APPEND - -var _Utils_append = F2(_Utils_ap); - -function _Utils_ap(xs, ys) -{ - // append Strings - if (typeof xs === 'string') - { - return xs + ys; - } - - // append Lists - if (!xs.b) - { - return ys; - } - var root = _List_Cons(xs.a, ys); - xs = xs.b - for (var curr = root; xs.b; xs = xs.b) // WHILE_CONS - { - curr = curr.b = _List_Cons(xs.a, ys); - } - return root; -} - - - -var _List_Nil = { $: 0 }; -var _List_Nil_UNUSED = { $: '[]' }; - -function _List_Cons(hd, tl) { return { $: 1, a: hd, b: tl }; } -function _List_Cons_UNUSED(hd, tl) { return { $: '::', a: hd, b: tl }; } - - -var _List_cons = F2(_List_Cons); - -function _List_fromArray(arr) -{ - var out = _List_Nil; - for (var i = arr.length; i--; ) - { - out = _List_Cons(arr[i], out); - } - return out; -} - -function _List_toArray(xs) -{ - for (var out = []; xs.b; xs = xs.b) // WHILE_CONS - { - out.push(xs.a); - } - return out; -} - -var _List_map2 = F3(function(f, xs, ys) -{ - for (var arr = []; xs.b && ys.b; xs = xs.b, ys = ys.b) // WHILE_CONSES - { - arr.push(A2(f, xs.a, ys.a)); - } - return _List_fromArray(arr); -}); - -var _List_map3 = F4(function(f, xs, ys, zs) -{ - for (var arr = []; xs.b && ys.b && zs.b; xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES - { - arr.push(A3(f, xs.a, ys.a, zs.a)); - } - return _List_fromArray(arr); -}); - -var _List_map4 = F5(function(f, ws, xs, ys, zs) -{ - for (var arr = []; ws.b && xs.b && ys.b && zs.b; ws = ws.b, xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES - { - arr.push(A4(f, ws.a, xs.a, ys.a, zs.a)); - } - return _List_fromArray(arr); -}); - -var _List_map5 = F6(function(f, vs, ws, xs, ys, zs) -{ - for (var arr = []; vs.b && ws.b && xs.b && ys.b && zs.b; vs = vs.b, ws = ws.b, xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES - { - arr.push(A5(f, vs.a, ws.a, xs.a, ys.a, zs.a)); - } - return _List_fromArray(arr); -}); - -var _List_sortBy = F2(function(f, xs) -{ - return _List_fromArray(_List_toArray(xs).sort(function(a, b) { - return _Utils_cmp(f(a), f(b)); - })); -}); - -var _List_sortWith = F2(function(f, xs) -{ - return _List_fromArray(_List_toArray(xs).sort(function(a, b) { - var ord = A2(f, a, b); - return ord === $elm$core$Basics$EQ ? 0 : ord === $elm$core$Basics$LT ? -1 : 1; - })); -}); - - - -var _JsArray_empty = []; - -function _JsArray_singleton(value) -{ - return [value]; -} - -function _JsArray_length(array) -{ - return array.length; -} - -var _JsArray_initialize = F3(function(size, offset, func) -{ - var result = new Array(size); - - for (var i = 0; i < size; i++) - { - result[i] = func(offset + i); - } - - return result; -}); - -var _JsArray_initializeFromList = F2(function (max, ls) -{ - var result = new Array(max); - - for (var i = 0; i < max && ls.b; i++) - { - result[i] = ls.a; - ls = ls.b; - } - - result.length = i; - return _Utils_Tuple2(result, ls); -}); - -var _JsArray_unsafeGet = F2(function(index, array) -{ - return array[index]; -}); - -var _JsArray_unsafeSet = F3(function(index, value, array) -{ - var length = array.length; - var result = new Array(length); - - for (var i = 0; i < length; i++) - { - result[i] = array[i]; - } - - result[index] = value; - return result; -}); - -var _JsArray_push = F2(function(value, array) -{ - var length = array.length; - var result = new Array(length + 1); - - for (var i = 0; i < length; i++) - { - result[i] = array[i]; - } - - result[length] = value; - return result; -}); - -var _JsArray_foldl = F3(function(func, acc, array) -{ - var length = array.length; - - for (var i = 0; i < length; i++) - { - acc = A2(func, array[i], acc); - } - - return acc; -}); - -var _JsArray_foldr = F3(function(func, acc, array) -{ - for (var i = array.length - 1; i >= 0; i--) - { - acc = A2(func, array[i], acc); - } - - return acc; -}); - -var _JsArray_map = F2(function(func, array) -{ - var length = array.length; - var result = new Array(length); - - for (var i = 0; i < length; i++) - { - result[i] = func(array[i]); - } - - return result; -}); - -var _JsArray_indexedMap = F3(function(func, offset, array) -{ - var length = array.length; - var result = new Array(length); - - for (var i = 0; i < length; i++) - { - result[i] = A2(func, offset + i, array[i]); - } - - return result; -}); - -var _JsArray_slice = F3(function(from, to, array) -{ - return array.slice(from, to); -}); - -var _JsArray_appendN = F3(function(n, dest, source) -{ - var destLen = dest.length; - var itemsToCopy = n - destLen; - - if (itemsToCopy > source.length) - { - itemsToCopy = source.length; - } - - var size = destLen + itemsToCopy; - var result = new Array(size); - - for (var i = 0; i < destLen; i++) - { - result[i] = dest[i]; - } - - for (var i = 0; i < itemsToCopy; i++) - { - result[i + destLen] = source[i]; - } - - return result; -}); - - - -// LOG - -var _Debug_log = F2(function(tag, value) -{ - return value; -}); - -var _Debug_log_UNUSED = F2(function(tag, value) -{ - console.log(tag + ': ' + _Debug_toString(value)); - return value; -}); - - -// TODOS - -function _Debug_todo(moduleName, region) -{ - return function(message) { - _Debug_crash(8, moduleName, region, message); - }; -} - -function _Debug_todoCase(moduleName, region, value) -{ - return function(message) { - _Debug_crash(9, moduleName, region, value, message); - }; -} - - -// TO STRING - -function _Debug_toString(value) -{ - return ''; -} - -function _Debug_toString_UNUSED(value) -{ - return _Debug_toAnsiString(false, value); -} - -function _Debug_toAnsiString(ansi, value) -{ - if (typeof value === 'function') - { - return _Debug_internalColor(ansi, ''); - } - - if (typeof value === 'boolean') - { - return _Debug_ctorColor(ansi, value ? 'True' : 'False'); - } - - if (typeof value === 'number') - { - return _Debug_numberColor(ansi, value + ''); - } - - if (value instanceof String) - { - return _Debug_charColor(ansi, "'" + _Debug_addSlashes(value, true) + "'"); - } - - if (typeof value === 'string') - { - return _Debug_stringColor(ansi, '"' + _Debug_addSlashes(value, false) + '"'); - } - - if (typeof value === 'object' && '$' in value) - { - var tag = value.$; - - if (typeof tag === 'number') - { - return _Debug_internalColor(ansi, ''); - } - - if (tag[0] === '#') - { - var output = []; - for (var k in value) - { - if (k === '$') continue; - output.push(_Debug_toAnsiString(ansi, value[k])); - } - return '(' + output.join(',') + ')'; - } - - if (tag === 'Set_elm_builtin') - { - return _Debug_ctorColor(ansi, 'Set') - + _Debug_fadeColor(ansi, '.fromList') + ' ' - + _Debug_toAnsiString(ansi, $elm$core$Set$toList(value)); - } - - if (tag === 'RBNode_elm_builtin' || tag === 'RBEmpty_elm_builtin') - { - return _Debug_ctorColor(ansi, 'Dict') - + _Debug_fadeColor(ansi, '.fromList') + ' ' - + _Debug_toAnsiString(ansi, $elm$core$Dict$toList(value)); - } - - if (tag === 'Array_elm_builtin') - { - return _Debug_ctorColor(ansi, 'Array') - + _Debug_fadeColor(ansi, '.fromList') + ' ' - + _Debug_toAnsiString(ansi, $elm$core$Array$toList(value)); - } - - if (tag === '::' || tag === '[]') - { - var output = '['; - - value.b && (output += _Debug_toAnsiString(ansi, value.a), value = value.b) - - for (; value.b; value = value.b) // WHILE_CONS - { - output += ',' + _Debug_toAnsiString(ansi, value.a); - } - return output + ']'; - } - - var output = ''; - for (var i in value) - { - if (i === '$') continue; - var str = _Debug_toAnsiString(ansi, value[i]); - var c0 = str[0]; - var parenless = c0 === '{' || c0 === '(' || c0 === '[' || c0 === '<' || c0 === '"' || str.indexOf(' ') < 0; - output += ' ' + (parenless ? str : '(' + str + ')'); - } - return _Debug_ctorColor(ansi, tag) + output; - } - - if (typeof DataView === 'function' && value instanceof DataView) - { - return _Debug_stringColor(ansi, '<' + value.byteLength + ' bytes>'); - } - - if (typeof File !== 'undefined' && value instanceof File) - { - return _Debug_internalColor(ansi, '<' + value.name + '>'); - } - - if (typeof value === 'object') - { - var output = []; - for (var key in value) - { - var field = key[0] === '_' ? key.slice(1) : key; - output.push(_Debug_fadeColor(ansi, field) + ' = ' + _Debug_toAnsiString(ansi, value[key])); - } - if (output.length === 0) - { - return '{}'; - } - return '{ ' + output.join(', ') + ' }'; - } - - return _Debug_internalColor(ansi, ''); -} - -function _Debug_addSlashes(str, isChar) -{ - var s = str - .replace(/\\/g, '\\\\') - .replace(/\n/g, '\\n') - .replace(/\t/g, '\\t') - .replace(/\r/g, '\\r') - .replace(/\v/g, '\\v') - .replace(/\0/g, '\\0'); - - if (isChar) - { - return s.replace(/\'/g, '\\\''); - } - else - { - return s.replace(/\"/g, '\\"'); - } -} - -function _Debug_ctorColor(ansi, string) -{ - return ansi ? '\x1b[96m' + string + '\x1b[0m' : string; -} - -function _Debug_numberColor(ansi, string) -{ - return ansi ? '\x1b[95m' + string + '\x1b[0m' : string; -} - -function _Debug_stringColor(ansi, string) -{ - return ansi ? '\x1b[93m' + string + '\x1b[0m' : string; -} - -function _Debug_charColor(ansi, string) -{ - return ansi ? '\x1b[92m' + string + '\x1b[0m' : string; -} - -function _Debug_fadeColor(ansi, string) -{ - return ansi ? '\x1b[37m' + string + '\x1b[0m' : string; -} - -function _Debug_internalColor(ansi, string) -{ - return ansi ? '\x1b[36m' + string + '\x1b[0m' : string; -} - -function _Debug_toHexDigit(n) -{ - return String.fromCharCode(n < 10 ? 48 + n : 55 + n); -} - - -// CRASH - - -function _Debug_crash(identifier) -{ - throw new Error('https://github.com/elm/core/blob/1.0.0/hints/' + identifier + '.md'); -} - - -function _Debug_crash_UNUSED(identifier, fact1, fact2, fact3, fact4) -{ - switch(identifier) - { - case 0: - throw new Error('What node should I take over? In JavaScript I need something like:\n\n Elm.Main.init({\n node: document.getElementById("elm-node")\n })\n\nYou need to do this with any Browser.sandbox or Browser.element program.'); - - case 1: - throw new Error('Browser.application programs cannot handle URLs like this:\n\n ' + document.location.href + '\n\nWhat is the root? The root of your file system? Try looking at this program with `elm reactor` or some other server.'); - - case 2: - var jsonErrorString = fact1; - throw new Error('Problem with the flags given to your Elm program on initialization.\n\n' + jsonErrorString); - - case 3: - var portName = fact1; - throw new Error('There can only be one port named `' + portName + '`, but your program has multiple.'); - - case 4: - var portName = fact1; - var problem = fact2; - throw new Error('Trying to send an unexpected type of value through port `' + portName + '`:\n' + problem); - - case 5: - throw new Error('Trying to use `(==)` on functions.\nThere is no way to know if functions are "the same" in the Elm sense.\nRead more about this at https://package.elm-lang.org/packages/elm/core/latest/Basics#== which describes why it is this way and what the better version will look like.'); - - case 6: - var moduleName = fact1; - throw new Error('Your page is loading multiple Elm scripts with a module named ' + moduleName + '. Maybe a duplicate script is getting loaded accidentally? If not, rename one of them so I know which is which!'); - - case 8: - var moduleName = fact1; - var region = fact2; - var message = fact3; - throw new Error('TODO in module `' + moduleName + '` ' + _Debug_regionToString(region) + '\n\n' + message); - - case 9: - var moduleName = fact1; - var region = fact2; - var value = fact3; - var message = fact4; - throw new Error( - 'TODO in module `' + moduleName + '` from the `case` expression ' - + _Debug_regionToString(region) + '\n\nIt received the following value:\n\n ' - + _Debug_toString(value).replace('\n', '\n ') - + '\n\nBut the branch that handles it says:\n\n ' + message.replace('\n', '\n ') - ); - - case 10: - throw new Error('Bug in https://github.com/elm/virtual-dom/issues'); - - case 11: - throw new Error('Cannot perform mod 0. Division by zero error.'); - } -} - -function _Debug_regionToString(region) -{ - if (region.aW.ab === region.a8.ab) - { - return 'on line ' + region.aW.ab; - } - return 'on lines ' + region.aW.ab + ' through ' + region.a8.ab; -} - - - -// MATH - -var _Basics_add = F2(function(a, b) { return a + b; }); -var _Basics_sub = F2(function(a, b) { return a - b; }); -var _Basics_mul = F2(function(a, b) { return a * b; }); -var _Basics_fdiv = F2(function(a, b) { return a / b; }); -var _Basics_idiv = F2(function(a, b) { return (a / b) | 0; }); -var _Basics_pow = F2(Math.pow); - -var _Basics_remainderBy = F2(function(b, a) { return a % b; }); - -// https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/divmodnote-letter.pdf -var _Basics_modBy = F2(function(modulus, x) -{ - var answer = x % modulus; - return modulus === 0 - ? _Debug_crash(11) - : - ((answer > 0 && modulus < 0) || (answer < 0 && modulus > 0)) - ? answer + modulus - : answer; -}); - - -// TRIGONOMETRY - -var _Basics_pi = Math.PI; -var _Basics_e = Math.E; -var _Basics_cos = Math.cos; -var _Basics_sin = Math.sin; -var _Basics_tan = Math.tan; -var _Basics_acos = Math.acos; -var _Basics_asin = Math.asin; -var _Basics_atan = Math.atan; -var _Basics_atan2 = F2(Math.atan2); - - -// MORE MATH - -function _Basics_toFloat(x) { return x; } -function _Basics_truncate(n) { return n | 0; } -function _Basics_isInfinite(n) { return n === Infinity || n === -Infinity; } - -var _Basics_ceiling = Math.ceil; -var _Basics_floor = Math.floor; -var _Basics_round = Math.round; -var _Basics_sqrt = Math.sqrt; -var _Basics_log = Math.log; -var _Basics_isNaN = isNaN; - - -// BOOLEANS - -function _Basics_not(bool) { return !bool; } -var _Basics_and = F2(function(a, b) { return a && b; }); -var _Basics_or = F2(function(a, b) { return a || b; }); -var _Basics_xor = F2(function(a, b) { return a !== b; }); - - - -var _String_cons = F2(function(chr, str) -{ - return chr + str; -}); - -function _String_uncons(string) -{ - var word = string.charCodeAt(0); - return !isNaN(word) - ? $elm$core$Maybe$Just( - 0xD800 <= word && word <= 0xDBFF - ? _Utils_Tuple2(_Utils_chr(string[0] + string[1]), string.slice(2)) - : _Utils_Tuple2(_Utils_chr(string[0]), string.slice(1)) - ) - : $elm$core$Maybe$Nothing; -} - -var _String_append = F2(function(a, b) -{ - return a + b; -}); - -function _String_length(str) -{ - return str.length; -} - -var _String_map = F2(function(func, string) -{ - var len = string.length; - var array = new Array(len); - var i = 0; - while (i < len) - { - var word = string.charCodeAt(i); - if (0xD800 <= word && word <= 0xDBFF) - { - array[i] = func(_Utils_chr(string[i] + string[i+1])); - i += 2; - continue; - } - array[i] = func(_Utils_chr(string[i])); - i++; - } - return array.join(''); -}); - -var _String_filter = F2(function(isGood, str) -{ - var arr = []; - var len = str.length; - var i = 0; - while (i < len) - { - var char = str[i]; - var word = str.charCodeAt(i); - i++; - if (0xD800 <= word && word <= 0xDBFF) - { - char += str[i]; - i++; - } - - if (isGood(_Utils_chr(char))) - { - arr.push(char); - } - } - return arr.join(''); -}); - -function _String_reverse(str) -{ - var len = str.length; - var arr = new Array(len); - var i = 0; - while (i < len) - { - var word = str.charCodeAt(i); - if (0xD800 <= word && word <= 0xDBFF) - { - arr[len - i] = str[i + 1]; - i++; - arr[len - i] = str[i - 1]; - i++; - } - else - { - arr[len - i] = str[i]; - i++; - } - } - return arr.join(''); -} - -var _String_foldl = F3(function(func, state, string) -{ - var len = string.length; - var i = 0; - while (i < len) - { - var char = string[i]; - var word = string.charCodeAt(i); - i++; - if (0xD800 <= word && word <= 0xDBFF) - { - char += string[i]; - i++; - } - state = A2(func, _Utils_chr(char), state); - } - return state; -}); - -var _String_foldr = F3(function(func, state, string) -{ - var i = string.length; - while (i--) - { - var char = string[i]; - var word = string.charCodeAt(i); - if (0xDC00 <= word && word <= 0xDFFF) - { - i--; - char = string[i] + char; - } - state = A2(func, _Utils_chr(char), state); - } - return state; -}); - -var _String_split = F2(function(sep, str) -{ - return str.split(sep); -}); - -var _String_join = F2(function(sep, strs) -{ - return strs.join(sep); -}); - -var _String_slice = F3(function(start, end, str) { - return str.slice(start, end); -}); - -function _String_trim(str) -{ - return str.trim(); -} - -function _String_trimLeft(str) -{ - return str.replace(/^\s+/, ''); -} - -function _String_trimRight(str) -{ - return str.replace(/\s+$/, ''); -} - -function _String_words(str) -{ - return _List_fromArray(str.trim().split(/\s+/g)); -} - -function _String_lines(str) -{ - return _List_fromArray(str.split(/\r\n|\r|\n/g)); -} - -function _String_toUpper(str) -{ - return str.toUpperCase(); -} - -function _String_toLower(str) -{ - return str.toLowerCase(); -} - -var _String_any = F2(function(isGood, string) -{ - var i = string.length; - while (i--) - { - var char = string[i]; - var word = string.charCodeAt(i); - if (0xDC00 <= word && word <= 0xDFFF) - { - i--; - char = string[i] + char; - } - if (isGood(_Utils_chr(char))) - { - return true; - } - } - return false; -}); - -var _String_all = F2(function(isGood, string) -{ - var i = string.length; - while (i--) - { - var char = string[i]; - var word = string.charCodeAt(i); - if (0xDC00 <= word && word <= 0xDFFF) - { - i--; - char = string[i] + char; - } - if (!isGood(_Utils_chr(char))) - { - return false; - } - } - return true; -}); - -var _String_contains = F2(function(sub, str) -{ - return str.indexOf(sub) > -1; -}); - -var _String_startsWith = F2(function(sub, str) -{ - return str.indexOf(sub) === 0; -}); - -var _String_endsWith = F2(function(sub, str) -{ - return str.length >= sub.length && - str.lastIndexOf(sub) === str.length - sub.length; -}); - -var _String_indexes = F2(function(sub, str) -{ - var subLen = sub.length; - - if (subLen < 1) - { - return _List_Nil; - } - - var i = 0; - var is = []; - - while ((i = str.indexOf(sub, i)) > -1) - { - is.push(i); - i = i + subLen; - } - - return _List_fromArray(is); -}); - - -// TO STRING - -function _String_fromNumber(number) -{ - return number + ''; -} - - -// INT CONVERSIONS - -function _String_toInt(str) -{ - var total = 0; - var code0 = str.charCodeAt(0); - var start = code0 == 0x2B /* + */ || code0 == 0x2D /* - */ ? 1 : 0; - - for (var i = start; i < str.length; ++i) - { - var code = str.charCodeAt(i); - if (code < 0x30 || 0x39 < code) - { - return $elm$core$Maybe$Nothing; - } - total = 10 * total + code - 0x30; - } - - return i == start - ? $elm$core$Maybe$Nothing - : $elm$core$Maybe$Just(code0 == 0x2D ? -total : total); -} - - -// FLOAT CONVERSIONS - -function _String_toFloat(s) -{ - // check if it is a hex, octal, or binary number - if (s.length === 0 || /[\sxbo]/.test(s)) - { - return $elm$core$Maybe$Nothing; - } - var n = +s; - // faster isNaN check - return n === n ? $elm$core$Maybe$Just(n) : $elm$core$Maybe$Nothing; -} - -function _String_fromList(chars) -{ - return _List_toArray(chars).join(''); -} - - - - -function _Char_toCode(char) -{ - var code = char.charCodeAt(0); - if (0xD800 <= code && code <= 0xDBFF) - { - return (code - 0xD800) * 0x400 + char.charCodeAt(1) - 0xDC00 + 0x10000 - } - return code; -} - -function _Char_fromCode(code) -{ - return _Utils_chr( - (code < 0 || 0x10FFFF < code) - ? '\uFFFD' - : - (code <= 0xFFFF) - ? String.fromCharCode(code) - : - (code -= 0x10000, - String.fromCharCode(Math.floor(code / 0x400) + 0xD800, code % 0x400 + 0xDC00) - ) - ); -} - -function _Char_toUpper(char) -{ - return _Utils_chr(char.toUpperCase()); -} - -function _Char_toLower(char) -{ - return _Utils_chr(char.toLowerCase()); -} - -function _Char_toLocaleUpper(char) -{ - return _Utils_chr(char.toLocaleUpperCase()); -} - -function _Char_toLocaleLower(char) -{ - return _Utils_chr(char.toLocaleLowerCase()); -} - - - -/**_UNUSED/ -function _Json_errorToString(error) -{ - return $elm$json$Json$Decode$errorToString(error); -} -//*/ - - -// CORE DECODERS - -function _Json_succeed(msg) -{ - return { - $: 0, - a: msg - }; -} - -function _Json_fail(msg) -{ - return { - $: 1, - a: msg - }; -} - -function _Json_decodePrim(decoder) -{ - return { $: 2, b: decoder }; -} - -var _Json_decodeInt = _Json_decodePrim(function(value) { - return (typeof value !== 'number') - ? _Json_expecting('an INT', value) - : - (-2147483647 < value && value < 2147483647 && (value | 0) === value) - ? $elm$core$Result$Ok(value) - : - (isFinite(value) && !(value % 1)) - ? $elm$core$Result$Ok(value) - : _Json_expecting('an INT', value); -}); - -var _Json_decodeBool = _Json_decodePrim(function(value) { - return (typeof value === 'boolean') - ? $elm$core$Result$Ok(value) - : _Json_expecting('a BOOL', value); -}); - -var _Json_decodeFloat = _Json_decodePrim(function(value) { - return (typeof value === 'number') - ? $elm$core$Result$Ok(value) - : _Json_expecting('a FLOAT', value); -}); - -var _Json_decodeValue = _Json_decodePrim(function(value) { - return $elm$core$Result$Ok(_Json_wrap(value)); -}); - -var _Json_decodeString = _Json_decodePrim(function(value) { - return (typeof value === 'string') - ? $elm$core$Result$Ok(value) - : (value instanceof String) - ? $elm$core$Result$Ok(value + '') - : _Json_expecting('a STRING', value); -}); - -function _Json_decodeList(decoder) { return { $: 3, b: decoder }; } -function _Json_decodeArray(decoder) { return { $: 4, b: decoder }; } - -function _Json_decodeNull(value) { return { $: 5, c: value }; } - -var _Json_decodeField = F2(function(field, decoder) -{ - return { - $: 6, - d: field, - b: decoder - }; -}); - -var _Json_decodeIndex = F2(function(index, decoder) -{ - return { - $: 7, - e: index, - b: decoder - }; -}); - -function _Json_decodeKeyValuePairs(decoder) -{ - return { - $: 8, - b: decoder - }; -} - -function _Json_mapMany(f, decoders) -{ - return { - $: 9, - f: f, - g: decoders - }; -} - -var _Json_andThen = F2(function(callback, decoder) -{ - return { - $: 10, - b: decoder, - h: callback - }; -}); - -function _Json_oneOf(decoders) -{ - return { - $: 11, - g: decoders - }; -} - - -// DECODING OBJECTS - -var _Json_map1 = F2(function(f, d1) -{ - return _Json_mapMany(f, [d1]); -}); - -var _Json_map2 = F3(function(f, d1, d2) -{ - return _Json_mapMany(f, [d1, d2]); -}); - -var _Json_map3 = F4(function(f, d1, d2, d3) -{ - return _Json_mapMany(f, [d1, d2, d3]); -}); - -var _Json_map4 = F5(function(f, d1, d2, d3, d4) -{ - return _Json_mapMany(f, [d1, d2, d3, d4]); -}); - -var _Json_map5 = F6(function(f, d1, d2, d3, d4, d5) -{ - return _Json_mapMany(f, [d1, d2, d3, d4, d5]); -}); - -var _Json_map6 = F7(function(f, d1, d2, d3, d4, d5, d6) -{ - return _Json_mapMany(f, [d1, d2, d3, d4, d5, d6]); -}); - -var _Json_map7 = F8(function(f, d1, d2, d3, d4, d5, d6, d7) -{ - return _Json_mapMany(f, [d1, d2, d3, d4, d5, d6, d7]); -}); - -var _Json_map8 = F9(function(f, d1, d2, d3, d4, d5, d6, d7, d8) -{ - return _Json_mapMany(f, [d1, d2, d3, d4, d5, d6, d7, d8]); -}); - - -// DECODE - -var _Json_runOnString = F2(function(decoder, string) -{ - try - { - var value = JSON.parse(string); - return _Json_runHelp(decoder, value); - } - catch (e) - { - return $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, 'This is not valid JSON! ' + e.message, _Json_wrap(string))); - } -}); - -var _Json_run = F2(function(decoder, value) -{ - return _Json_runHelp(decoder, _Json_unwrap(value)); -}); - -function _Json_runHelp(decoder, value) -{ - switch (decoder.$) - { - case 2: - return decoder.b(value); - - case 5: - return (value === null) - ? $elm$core$Result$Ok(decoder.c) - : _Json_expecting('null', value); - - case 3: - if (!_Json_isArray(value)) - { - return _Json_expecting('a LIST', value); - } - return _Json_runArrayDecoder(decoder.b, value, _List_fromArray); - - case 4: - if (!_Json_isArray(value)) - { - return _Json_expecting('an ARRAY', value); - } - return _Json_runArrayDecoder(decoder.b, value, _Json_toElmArray); - - case 6: - var field = decoder.d; - if (typeof value !== 'object' || value === null || !(field in value)) - { - return _Json_expecting('an OBJECT with a field named `' + field + '`', value); - } - var result = _Json_runHelp(decoder.b, value[field]); - return ($elm$core$Result$isOk(result)) ? result : $elm$core$Result$Err(A2($elm$json$Json$Decode$Field, field, result.a)); - - case 7: - var index = decoder.e; - if (!_Json_isArray(value)) - { - return _Json_expecting('an ARRAY', value); - } - if (index >= value.length) - { - return _Json_expecting('a LONGER array. Need index ' + index + ' but only see ' + value.length + ' entries', value); - } - var result = _Json_runHelp(decoder.b, value[index]); - return ($elm$core$Result$isOk(result)) ? result : $elm$core$Result$Err(A2($elm$json$Json$Decode$Index, index, result.a)); - - case 8: - if (typeof value !== 'object' || value === null || _Json_isArray(value)) - { - return _Json_expecting('an OBJECT', value); - } - - var keyValuePairs = _List_Nil; - // TODO test perf of Object.keys and switch when support is good enough - for (var key in value) - { - if (value.hasOwnProperty(key)) - { - var result = _Json_runHelp(decoder.b, value[key]); - if (!$elm$core$Result$isOk(result)) - { - return $elm$core$Result$Err(A2($elm$json$Json$Decode$Field, key, result.a)); - } - keyValuePairs = _List_Cons(_Utils_Tuple2(key, result.a), keyValuePairs); - } - } - return $elm$core$Result$Ok($elm$core$List$reverse(keyValuePairs)); - - case 9: - var answer = decoder.f; - var decoders = decoder.g; - for (var i = 0; i < decoders.length; i++) - { - var result = _Json_runHelp(decoders[i], value); - if (!$elm$core$Result$isOk(result)) - { - return result; - } - answer = answer(result.a); - } - return $elm$core$Result$Ok(answer); - - case 10: - var result = _Json_runHelp(decoder.b, value); - return (!$elm$core$Result$isOk(result)) - ? result - : _Json_runHelp(decoder.h(result.a), value); - - case 11: - var errors = _List_Nil; - for (var temp = decoder.g; temp.b; temp = temp.b) // WHILE_CONS - { - var result = _Json_runHelp(temp.a, value); - if ($elm$core$Result$isOk(result)) - { - return result; - } - errors = _List_Cons(result.a, errors); - } - return $elm$core$Result$Err($elm$json$Json$Decode$OneOf($elm$core$List$reverse(errors))); - - case 1: - return $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, decoder.a, _Json_wrap(value))); - - case 0: - return $elm$core$Result$Ok(decoder.a); - } -} - -function _Json_runArrayDecoder(decoder, value, toElmValue) -{ - var len = value.length; - var array = new Array(len); - for (var i = 0; i < len; i++) - { - var result = _Json_runHelp(decoder, value[i]); - if (!$elm$core$Result$isOk(result)) - { - return $elm$core$Result$Err(A2($elm$json$Json$Decode$Index, i, result.a)); - } - array[i] = result.a; - } - return $elm$core$Result$Ok(toElmValue(array)); -} - -function _Json_isArray(value) -{ - return Array.isArray(value) || (typeof FileList !== 'undefined' && value instanceof FileList); -} - -function _Json_toElmArray(array) -{ - return A2($elm$core$Array$initialize, array.length, function(i) { return array[i]; }); -} - -function _Json_expecting(type, value) -{ - return $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, 'Expecting ' + type, _Json_wrap(value))); -} - - -// EQUALITY - -function _Json_equality(x, y) -{ - if (x === y) - { - return true; - } - - if (x.$ !== y.$) - { - return false; - } - - switch (x.$) - { - case 0: - case 1: - return x.a === y.a; - - case 2: - return x.b === y.b; - - case 5: - return x.c === y.c; - - case 3: - case 4: - case 8: - return _Json_equality(x.b, y.b); - - case 6: - return x.d === y.d && _Json_equality(x.b, y.b); - - case 7: - return x.e === y.e && _Json_equality(x.b, y.b); - - case 9: - return x.f === y.f && _Json_listEquality(x.g, y.g); - - case 10: - return x.h === y.h && _Json_equality(x.b, y.b); - - case 11: - return _Json_listEquality(x.g, y.g); - } -} - -function _Json_listEquality(aDecoders, bDecoders) -{ - var len = aDecoders.length; - if (len !== bDecoders.length) - { - return false; - } - for (var i = 0; i < len; i++) - { - if (!_Json_equality(aDecoders[i], bDecoders[i])) - { - return false; - } - } - return true; -} - - -// ENCODE - -var _Json_encode = F2(function(indentLevel, value) -{ - return JSON.stringify(_Json_unwrap(value), null, indentLevel) + ''; -}); - -function _Json_wrap_UNUSED(value) { return { $: 0, a: value }; } -function _Json_unwrap_UNUSED(value) { return value.a; } - -function _Json_wrap(value) { return value; } -function _Json_unwrap(value) { return value; } - -function _Json_emptyArray() { return []; } -function _Json_emptyObject() { return {}; } - -var _Json_addField = F3(function(key, value, object) -{ - object[key] = _Json_unwrap(value); - return object; -}); - -function _Json_addEntry(func) -{ - return F2(function(entry, array) - { - array.push(_Json_unwrap(func(entry))); - return array; - }); -} - -var _Json_encodeNull = _Json_wrap(null); - - - -// TASKS - -function _Scheduler_succeed(value) -{ - return { - $: 0, - a: value - }; -} - -function _Scheduler_fail(error) -{ - return { - $: 1, - a: error - }; -} - -function _Scheduler_binding(callback) -{ - return { - $: 2, - b: callback, - c: null - }; -} - -var _Scheduler_andThen = F2(function(callback, task) -{ - return { - $: 3, - b: callback, - d: task - }; -}); - -var _Scheduler_onError = F2(function(callback, task) -{ - return { - $: 4, - b: callback, - d: task - }; -}); - -function _Scheduler_receive(callback) -{ - return { - $: 5, - b: callback - }; -} - - -// PROCESSES - -var _Scheduler_guid = 0; - -function _Scheduler_rawSpawn(task) -{ - var proc = { - $: 0, - e: _Scheduler_guid++, - f: task, - g: null, - h: [] - }; - - _Scheduler_enqueue(proc); - - return proc; -} - -function _Scheduler_spawn(task) -{ - return _Scheduler_binding(function(callback) { - callback(_Scheduler_succeed(_Scheduler_rawSpawn(task))); - }); -} - -function _Scheduler_rawSend(proc, msg) -{ - proc.h.push(msg); - _Scheduler_enqueue(proc); -} - -var _Scheduler_send = F2(function(proc, msg) -{ - return _Scheduler_binding(function(callback) { - _Scheduler_rawSend(proc, msg); - callback(_Scheduler_succeed(_Utils_Tuple0)); - }); -}); - -function _Scheduler_kill(proc) -{ - return _Scheduler_binding(function(callback) { - var task = proc.f; - if (task.$ === 2 && task.c) - { - task.c(); - } - - proc.f = null; - - callback(_Scheduler_succeed(_Utils_Tuple0)); - }); -} - - -/* STEP PROCESSES - -type alias Process = - { $ : tag - , id : unique_id - , root : Task - , stack : null | { $: SUCCEED | FAIL, a: callback, b: stack } - , mailbox : [msg] - } - -*/ - - -var _Scheduler_working = false; -var _Scheduler_queue = []; - - -function _Scheduler_enqueue(proc) -{ - _Scheduler_queue.push(proc); - if (_Scheduler_working) - { - return; - } - _Scheduler_working = true; - while (proc = _Scheduler_queue.shift()) - { - _Scheduler_step(proc); - } - _Scheduler_working = false; -} - - -function _Scheduler_step(proc) -{ - while (proc.f) - { - var rootTag = proc.f.$; - if (rootTag === 0 || rootTag === 1) - { - while (proc.g && proc.g.$ !== rootTag) - { - proc.g = proc.g.i; - } - if (!proc.g) - { - return; - } - proc.f = proc.g.b(proc.f.a); - proc.g = proc.g.i; - } - else if (rootTag === 2) - { - proc.f.c = proc.f.b(function(newRoot) { - proc.f = newRoot; - _Scheduler_enqueue(proc); - }); - return; - } - else if (rootTag === 5) - { - if (proc.h.length === 0) - { - return; - } - proc.f = proc.f.b(proc.h.shift()); - } - else // if (rootTag === 3 || rootTag === 4) - { - proc.g = { - $: rootTag === 3 ? 0 : 1, - b: proc.f.b, - i: proc.g - }; - proc.f = proc.f.d; - } - } -} - - - -function _Process_sleep(time) -{ - return _Scheduler_binding(function(callback) { - var id = setTimeout(function() { - callback(_Scheduler_succeed(_Utils_Tuple0)); - }, time); - - return function() { clearTimeout(id); }; - }); -} - - - - -// PROGRAMS - - -var _Platform_worker = F4(function(impl, flagDecoder, debugMetadata, args) -{ - return _Platform_initialize( - flagDecoder, - args, - impl.aa, - impl.am, - impl.dK, - function() { return function() {} } - ); -}); - - - -// INITIALIZE A PROGRAM - - -function _Platform_initialize(flagDecoder, args, init, update, subscriptions, stepperBuilder) -{ - var result = A2(_Json_run, flagDecoder, _Json_wrap(args ? args['flags'] : undefined)); - $elm$core$Result$isOk(result) || _Debug_crash(2 /**_UNUSED/, _Json_errorToString(result.a) /**/); - var managers = {}; - result = init(result.a); - var model = result.a; - var stepper = stepperBuilder(sendToApp, model); - var ports = _Platform_setupEffects(managers, sendToApp); - - function sendToApp(msg, viewMetadata) - { - result = A2(update, msg, model); - stepper(model = result.a, viewMetadata); - _Platform_enqueueEffects(managers, result.b, subscriptions(model)); - } - - _Platform_enqueueEffects(managers, result.b, subscriptions(model)); - - return ports ? { ports: ports } : {}; -} - - - -// TRACK PRELOADS -// -// This is used by code in elm/browser and elm/http -// to register any HTTP requests that are triggered by init. -// - - -var _Platform_preload; - - -function _Platform_registerPreload(url) -{ - _Platform_preload.add(url); -} - - - -// EFFECT MANAGERS - - -var _Platform_effectManagers = {}; - - -function _Platform_setupEffects(managers, sendToApp) -{ - var ports; - - // setup all necessary effect managers - for (var key in _Platform_effectManagers) - { - var manager = _Platform_effectManagers[key]; - - if (manager.a) - { - ports = ports || {}; - ports[key] = manager.a(key, sendToApp); - } - - managers[key] = _Platform_instantiateManager(manager, sendToApp); - } - - return ports; -} - - -function _Platform_createManager(init, onEffects, onSelfMsg, cmdMap, subMap) -{ - return { - b: init, - c: onEffects, - d: onSelfMsg, - e: cmdMap, - f: subMap - }; -} - - -function _Platform_instantiateManager(info, sendToApp) -{ - var router = { - g: sendToApp, - h: undefined - }; - - var onEffects = info.c; - var onSelfMsg = info.d; - var cmdMap = info.e; - var subMap = info.f; - - function loop(state) - { - return A2(_Scheduler_andThen, loop, _Scheduler_receive(function(msg) - { - var value = msg.a; - - if (msg.$ === 0) - { - return A3(onSelfMsg, router, value, state); - } - - return cmdMap && subMap - ? A4(onEffects, router, value.i, value.j, state) - : A3(onEffects, router, cmdMap ? value.i : value.j, state); - })); - } - - return router.h = _Scheduler_rawSpawn(A2(_Scheduler_andThen, loop, info.b)); -} - - - -// ROUTING - - -var _Platform_sendToApp = F2(function(router, msg) -{ - return _Scheduler_binding(function(callback) - { - router.g(msg); - callback(_Scheduler_succeed(_Utils_Tuple0)); - }); -}); - - -var _Platform_sendToSelf = F2(function(router, msg) -{ - return A2(_Scheduler_send, router.h, { - $: 0, - a: msg - }); -}); - - - -// BAGS - - -function _Platform_leaf(home) -{ - return function(value) - { - return { - $: 1, - k: home, - l: value - }; - }; -} - - -function _Platform_batch(list) -{ - return { - $: 2, - m: list - }; -} - - -var _Platform_map = F2(function(tagger, bag) -{ - return { - $: 3, - n: tagger, - o: bag - } -}); - - - -// PIPE BAGS INTO EFFECT MANAGERS -// -// Effects must be queued! -// -// Say your init contains a synchronous command, like Time.now or Time.here -// -// - This will produce a batch of effects (FX_1) -// - The synchronous task triggers the subsequent `update` call -// - This will produce a batch of effects (FX_2) -// -// If we just start dispatching FX_2, subscriptions from FX_2 can be processed -// before subscriptions from FX_1. No good! Earlier versions of this code had -// this problem, leading to these reports: -// -// https://github.com/elm/core/issues/980 -// https://github.com/elm/core/pull/981 -// https://github.com/elm/compiler/issues/1776 -// -// The queue is necessary to avoid ordering issues for synchronous commands. - - -// Why use true/false here? Why not just check the length of the queue? -// The goal is to detect "are we currently dispatching effects?" If we -// are, we need to bail and let the ongoing while loop handle things. -// -// Now say the queue has 1 element. When we dequeue the final element, -// the queue will be empty, but we are still actively dispatching effects. -// So you could get queue jumping in a really tricky category of cases. -// -var _Platform_effectsQueue = []; -var _Platform_effectsActive = false; - - -function _Platform_enqueueEffects(managers, cmdBag, subBag) -{ - _Platform_effectsQueue.push({ p: managers, q: cmdBag, r: subBag }); - - if (_Platform_effectsActive) return; - - _Platform_effectsActive = true; - for (var fx; fx = _Platform_effectsQueue.shift(); ) - { - _Platform_dispatchEffects(fx.p, fx.q, fx.r); - } - _Platform_effectsActive = false; -} - - -function _Platform_dispatchEffects(managers, cmdBag, subBag) -{ - var effectsDict = {}; - _Platform_gatherEffects(true, cmdBag, effectsDict, null); - _Platform_gatherEffects(false, subBag, effectsDict, null); - - for (var home in managers) - { - _Scheduler_rawSend(managers[home], { - $: 'fx', - a: effectsDict[home] || { i: _List_Nil, j: _List_Nil } - }); - } -} - - -function _Platform_gatherEffects(isCmd, bag, effectsDict, taggers) -{ - switch (bag.$) - { - case 1: - var home = bag.k; - var effect = _Platform_toEffect(isCmd, home, taggers, bag.l); - effectsDict[home] = _Platform_insert(isCmd, effect, effectsDict[home]); - return; - - case 2: - for (var list = bag.m; list.b; list = list.b) // WHILE_CONS - { - _Platform_gatherEffects(isCmd, list.a, effectsDict, taggers); - } - return; - - case 3: - _Platform_gatherEffects(isCmd, bag.o, effectsDict, { - s: bag.n, - t: taggers - }); - return; - } -} - - -function _Platform_toEffect(isCmd, home, taggers, value) -{ - function applyTaggers(x) - { - for (var temp = taggers; temp; temp = temp.t) - { - x = temp.s(x); - } - return x; - } - - var map = isCmd - ? _Platform_effectManagers[home].e - : _Platform_effectManagers[home].f; - - return A2(map, applyTaggers, value) -} - - -function _Platform_insert(isCmd, newEffect, effects) -{ - effects = effects || { i: _List_Nil, j: _List_Nil }; - - isCmd - ? (effects.i = _List_Cons(newEffect, effects.i)) - : (effects.j = _List_Cons(newEffect, effects.j)); - - return effects; -} - - - -// PORTS - - -function _Platform_checkPortName(name) -{ - if (_Platform_effectManagers[name]) - { - _Debug_crash(3, name) - } -} - - - -// OUTGOING PORTS - - -function _Platform_outgoingPort(name, converter) -{ - _Platform_checkPortName(name); - _Platform_effectManagers[name] = { - e: _Platform_outgoingPortMap, - u: converter, - a: _Platform_setupOutgoingPort - }; - return _Platform_leaf(name); -} - - -var _Platform_outgoingPortMap = F2(function(tagger, value) { return value; }); - - -function _Platform_setupOutgoingPort(name) -{ - var subs = []; - var converter = _Platform_effectManagers[name].u; - - // CREATE MANAGER - - var init = _Process_sleep(0); - - _Platform_effectManagers[name].b = init; - _Platform_effectManagers[name].c = F3(function(router, cmdList, state) - { - for ( ; cmdList.b; cmdList = cmdList.b) // WHILE_CONS - { - // grab a separate reference to subs in case unsubscribe is called - var currentSubs = subs; - var value = _Json_unwrap(converter(cmdList.a)); - for (var i = 0; i < currentSubs.length; i++) - { - currentSubs[i](value); - } - } - return init; - }); - - // PUBLIC API - - function subscribe(callback) - { - subs.push(callback); - } - - function unsubscribe(callback) - { - // copy subs into a new array in case unsubscribe is called within a - // subscribed callback - subs = subs.slice(); - var index = subs.indexOf(callback); - if (index >= 0) - { - subs.splice(index, 1); - } - } - - return { - subscribe: subscribe, - unsubscribe: unsubscribe - }; -} - - - -// INCOMING PORTS - - -function _Platform_incomingPort(name, converter) -{ - _Platform_checkPortName(name); - _Platform_effectManagers[name] = { - f: _Platform_incomingPortMap, - u: converter, - a: _Platform_setupIncomingPort - }; - return _Platform_leaf(name); -} - - -var _Platform_incomingPortMap = F2(function(tagger, finalTagger) -{ - return function(value) - { - return tagger(finalTagger(value)); - }; -}); - - -function _Platform_setupIncomingPort(name, sendToApp) -{ - var subs = _List_Nil; - var converter = _Platform_effectManagers[name].u; - - // CREATE MANAGER - - var init = _Scheduler_succeed(null); - - _Platform_effectManagers[name].b = init; - _Platform_effectManagers[name].c = F3(function(router, subList, state) - { - subs = subList; - return init; - }); - - // PUBLIC API - - function send(incomingValue) - { - var result = A2(_Json_run, converter, _Json_wrap(incomingValue)); - - $elm$core$Result$isOk(result) || _Debug_crash(4, name, result.a); - - var value = result.a; - for (var temp = subs; temp.b; temp = temp.b) // WHILE_CONS - { - sendToApp(temp.a(value)); - } - } - - return { send: send }; -} - - - -// EXPORT ELM MODULES -// -// Have DEBUG and PROD versions so that we can (1) give nicer errors in -// debug mode and (2) not pay for the bits needed for that in prod mode. -// - - -function _Platform_export(exports) -{ - scope['Elm'] - ? _Platform_mergeExportsProd(scope['Elm'], exports) - : scope['Elm'] = exports; -} - - -function _Platform_mergeExportsProd(obj, exports) -{ - for (var name in exports) - { - (name in obj) - ? (name == 'init') - ? _Debug_crash(6) - : _Platform_mergeExportsProd(obj[name], exports[name]) - : (obj[name] = exports[name]); - } -} - - -function _Platform_export_UNUSED(exports) -{ - scope['Elm'] - ? _Platform_mergeExportsDebug('Elm', scope['Elm'], exports) - : scope['Elm'] = exports; -} - - -function _Platform_mergeExportsDebug(moduleName, obj, exports) -{ - for (var name in exports) - { - (name in obj) - ? (name == 'init') - ? _Debug_crash(6, moduleName) - : _Platform_mergeExportsDebug(moduleName + '.' + name, obj[name], exports[name]) - : (obj[name] = exports[name]); - } -} - - - - -// HELPERS - - -var _VirtualDom_divertHrefToApp; - -var _VirtualDom_doc = typeof document !== 'undefined' ? document : {}; - - -function _VirtualDom_appendChild(parent, child) -{ - parent.appendChild(child); -} - -var _VirtualDom_init = F4(function(virtualNode, flagDecoder, debugMetadata, args) -{ - // NOTE: this function needs _Platform_export available to work - - /**/ - var node = args['node']; - //*/ - /**_UNUSED/ - var node = args && args['node'] ? args['node'] : _Debug_crash(0); - //*/ - - node.parentNode.replaceChild( - _VirtualDom_render(virtualNode, function() {}), - node - ); - - return {}; -}); - - - -// TEXT - - -function _VirtualDom_text(string) -{ - return { - $: 0, - a: string - }; -} - - - -// NODE - - -var _VirtualDom_nodeNS = F2(function(namespace, tag) -{ - return F2(function(factList, kidList) - { - for (var kids = [], descendantsCount = 0; kidList.b; kidList = kidList.b) // WHILE_CONS - { - var kid = kidList.a; - descendantsCount += (kid.b || 0); - kids.push(kid); - } - descendantsCount += kids.length; - - return { - $: 1, - c: tag, - d: _VirtualDom_organizeFacts(factList), - e: kids, - f: namespace, - b: descendantsCount - }; - }); -}); - - -var _VirtualDom_node = _VirtualDom_nodeNS(undefined); - - - -// KEYED NODE - - -var _VirtualDom_keyedNodeNS = F2(function(namespace, tag) -{ - return F2(function(factList, kidList) - { - for (var kids = [], descendantsCount = 0; kidList.b; kidList = kidList.b) // WHILE_CONS - { - var kid = kidList.a; - descendantsCount += (kid.b.b || 0); - kids.push(kid); - } - descendantsCount += kids.length; - - return { - $: 2, - c: tag, - d: _VirtualDom_organizeFacts(factList), - e: kids, - f: namespace, - b: descendantsCount - }; - }); -}); - - -var _VirtualDom_keyedNode = _VirtualDom_keyedNodeNS(undefined); - - - -// CUSTOM - - -function _VirtualDom_custom(factList, model, render, diff) -{ - return { - $: 3, - d: _VirtualDom_organizeFacts(factList), - g: model, - h: render, - i: diff - }; -} - - - -// MAP - - -var _VirtualDom_map = F2(function(tagger, node) -{ - return { - $: 4, - j: tagger, - k: node, - b: 1 + (node.b || 0) - }; -}); - - - -// LAZY - - -function _VirtualDom_thunk(refs, thunk) -{ - return { - $: 5, - l: refs, - m: thunk, - k: undefined - }; -} - -var _VirtualDom_lazy = F2(function(func, a) -{ - return _VirtualDom_thunk([func, a], function() { - return func(a); - }); -}); - -var _VirtualDom_lazy2 = F3(function(func, a, b) -{ - return _VirtualDom_thunk([func, a, b], function() { - return A2(func, a, b); - }); -}); - -var _VirtualDom_lazy3 = F4(function(func, a, b, c) -{ - return _VirtualDom_thunk([func, a, b, c], function() { - return A3(func, a, b, c); - }); -}); - -var _VirtualDom_lazy4 = F5(function(func, a, b, c, d) -{ - return _VirtualDom_thunk([func, a, b, c, d], function() { - return A4(func, a, b, c, d); - }); -}); - -var _VirtualDom_lazy5 = F6(function(func, a, b, c, d, e) -{ - return _VirtualDom_thunk([func, a, b, c, d, e], function() { - return A5(func, a, b, c, d, e); - }); -}); - -var _VirtualDom_lazy6 = F7(function(func, a, b, c, d, e, f) -{ - return _VirtualDom_thunk([func, a, b, c, d, e, f], function() { - return A6(func, a, b, c, d, e, f); - }); -}); - -var _VirtualDom_lazy7 = F8(function(func, a, b, c, d, e, f, g) -{ - return _VirtualDom_thunk([func, a, b, c, d, e, f, g], function() { - return A7(func, a, b, c, d, e, f, g); - }); -}); - -var _VirtualDom_lazy8 = F9(function(func, a, b, c, d, e, f, g, h) -{ - return _VirtualDom_thunk([func, a, b, c, d, e, f, g, h], function() { - return A8(func, a, b, c, d, e, f, g, h); - }); -}); - - - -// FACTS - - -var _VirtualDom_on = F2(function(key, handler) -{ - return { - $: 'a0', - n: key, - o: handler - }; -}); -var _VirtualDom_style = F2(function(key, value) -{ - return { - $: 'a1', - n: key, - o: value - }; -}); -var _VirtualDom_property = F2(function(key, value) -{ - return { - $: 'a2', - n: key, - o: value - }; -}); -var _VirtualDom_attribute = F2(function(key, value) -{ - return { - $: 'a3', - n: key, - o: value - }; -}); -var _VirtualDom_attributeNS = F3(function(namespace, key, value) -{ - return { - $: 'a4', - n: key, - o: { f: namespace, o: value } - }; -}); - - - -// XSS ATTACK VECTOR CHECKS - - -function _VirtualDom_noScript(tag) -{ - return tag == 'script' ? 'p' : tag; -} - -function _VirtualDom_noOnOrFormAction(key) -{ - return /^(on|formAction$)/i.test(key) ? 'data-' + key : key; -} - -function _VirtualDom_noInnerHtmlOrFormAction(key) -{ - return key == 'innerHTML' || key == 'formAction' ? 'data-' + key : key; -} - -function _VirtualDom_noJavaScriptUri(value) -{ - return /^javascript:/i.test(value.replace(/\s/g,'')) ? '' : value; -} - -function _VirtualDom_noJavaScriptUri_UNUSED(value) -{ - return /^javascript:/i.test(value.replace(/\s/g,'')) - ? 'javascript:alert("This is an XSS vector. Please use ports or web components instead.")' - : value; -} - -function _VirtualDom_noJavaScriptOrHtmlUri(value) -{ - return /^\s*(javascript:|data:text\/html)/i.test(value) ? '' : value; -} - -function _VirtualDom_noJavaScriptOrHtmlUri_UNUSED(value) -{ - return /^\s*(javascript:|data:text\/html)/i.test(value) - ? 'javascript:alert("This is an XSS vector. Please use ports or web components instead.")' - : value; -} - - - -// MAP FACTS - - -var _VirtualDom_mapAttribute = F2(function(func, attr) -{ - return (attr.$ === 'a0') - ? A2(_VirtualDom_on, attr.n, _VirtualDom_mapHandler(func, attr.o)) - : attr; -}); - -function _VirtualDom_mapHandler(func, handler) -{ - var tag = $elm$virtual_dom$VirtualDom$toHandlerInt(handler); - - // 0 = Normal - // 1 = MayStopPropagation - // 2 = MayPreventDefault - // 3 = Custom - - return { - $: handler.$, - a: - !tag - ? A2($elm$json$Json$Decode$map, func, handler.a) - : - A3($elm$json$Json$Decode$map2, - tag < 3 - ? _VirtualDom_mapEventTuple - : _VirtualDom_mapEventRecord, - $elm$json$Json$Decode$succeed(func), - handler.a - ) - }; -} - -var _VirtualDom_mapEventTuple = F2(function(func, tuple) -{ - return _Utils_Tuple2(func(tuple.a), tuple.b); -}); - -var _VirtualDom_mapEventRecord = F2(function(func, record) -{ - return { - D: func(record.D), - aX: record.aX, - aS: record.aS - } -}); - - - -// ORGANIZE FACTS - - -function _VirtualDom_organizeFacts(factList) -{ - for (var facts = {}; factList.b; factList = factList.b) // WHILE_CONS - { - var entry = factList.a; - - var tag = entry.$; - var key = entry.n; - var value = entry.o; - - if (tag === 'a2') - { - (key === 'className') - ? _VirtualDom_addClass(facts, key, _Json_unwrap(value)) - : facts[key] = _Json_unwrap(value); - - continue; - } - - var subFacts = facts[tag] || (facts[tag] = {}); - (tag === 'a3' && key === 'class') - ? _VirtualDom_addClass(subFacts, key, value) - : subFacts[key] = value; - } - - return facts; -} - -function _VirtualDom_addClass(object, key, newClass) -{ - var classes = object[key]; - object[key] = classes ? classes + ' ' + newClass : newClass; -} - - - -// RENDER - - -function _VirtualDom_render(vNode, eventNode) -{ - var tag = vNode.$; - - if (tag === 5) - { - return _VirtualDom_render(vNode.k || (vNode.k = vNode.m()), eventNode); - } - - if (tag === 0) - { - return _VirtualDom_doc.createTextNode(vNode.a); - } - - if (tag === 4) - { - var subNode = vNode.k; - var tagger = vNode.j; - - while (subNode.$ === 4) - { - typeof tagger !== 'object' - ? tagger = [tagger, subNode.j] - : tagger.push(subNode.j); - - subNode = subNode.k; - } - - var subEventRoot = { j: tagger, p: eventNode }; - var domNode = _VirtualDom_render(subNode, subEventRoot); - domNode.elm_event_node_ref = subEventRoot; - return domNode; - } - - if (tag === 3) - { - var domNode = vNode.h(vNode.g); - _VirtualDom_applyFacts(domNode, eventNode, vNode.d); - return domNode; - } - - // at this point `tag` must be 1 or 2 - - var domNode = vNode.f - ? _VirtualDom_doc.createElementNS(vNode.f, vNode.c) - : _VirtualDom_doc.createElement(vNode.c); - - if (_VirtualDom_divertHrefToApp && vNode.c == 'a') - { - domNode.addEventListener('click', _VirtualDom_divertHrefToApp(domNode)); - } - - _VirtualDom_applyFacts(domNode, eventNode, vNode.d); - - for (var kids = vNode.e, i = 0; i < kids.length; i++) - { - _VirtualDom_appendChild(domNode, _VirtualDom_render(tag === 1 ? kids[i] : kids[i].b, eventNode)); - } - - return domNode; -} - - - -// APPLY FACTS - - -function _VirtualDom_applyFacts(domNode, eventNode, facts) -{ - for (var key in facts) - { - var value = facts[key]; - - key === 'a1' - ? _VirtualDom_applyStyles(domNode, value) - : - key === 'a0' - ? _VirtualDom_applyEvents(domNode, eventNode, value) - : - key === 'a3' - ? _VirtualDom_applyAttrs(domNode, value) - : - key === 'a4' - ? _VirtualDom_applyAttrsNS(domNode, value) - : - ((key !== 'value' && key !== 'checked') || domNode[key] !== value) && (domNode[key] = value); - } -} - - - -// APPLY STYLES - - -function _VirtualDom_applyStyles(domNode, styles) -{ - var domNodeStyle = domNode.style; - - for (var key in styles) - { - domNodeStyle[key] = styles[key]; - } -} - - - -// APPLY ATTRS - - -function _VirtualDom_applyAttrs(domNode, attrs) -{ - for (var key in attrs) - { - var value = attrs[key]; - typeof value !== 'undefined' - ? domNode.setAttribute(key, value) - : domNode.removeAttribute(key); - } -} - - - -// APPLY NAMESPACED ATTRS - - -function _VirtualDom_applyAttrsNS(domNode, nsAttrs) -{ - for (var key in nsAttrs) - { - var pair = nsAttrs[key]; - var namespace = pair.f; - var value = pair.o; - - typeof value !== 'undefined' - ? domNode.setAttributeNS(namespace, key, value) - : domNode.removeAttributeNS(namespace, key); - } -} - - - -// APPLY EVENTS - - -function _VirtualDom_applyEvents(domNode, eventNode, events) -{ - var allCallbacks = domNode.elmFs || (domNode.elmFs = {}); - - for (var key in events) - { - var newHandler = events[key]; - var oldCallback = allCallbacks[key]; - - if (!newHandler) - { - domNode.removeEventListener(key, oldCallback); - allCallbacks[key] = undefined; - continue; - } - - if (oldCallback) - { - var oldHandler = oldCallback.q; - if (oldHandler.$ === newHandler.$) - { - oldCallback.q = newHandler; - continue; - } - domNode.removeEventListener(key, oldCallback); - } - - oldCallback = _VirtualDom_makeCallback(eventNode, newHandler); - domNode.addEventListener(key, oldCallback, - _VirtualDom_passiveSupported - && { passive: $elm$virtual_dom$VirtualDom$toHandlerInt(newHandler) < 2 } - ); - allCallbacks[key] = oldCallback; - } -} - - - -// PASSIVE EVENTS - - -var _VirtualDom_passiveSupported; - -try -{ - window.addEventListener('t', null, Object.defineProperty({}, 'passive', { - get: function() { _VirtualDom_passiveSupported = true; } - })); -} -catch(e) {} - - - -// EVENT HANDLERS - - -function _VirtualDom_makeCallback(eventNode, initialHandler) -{ - function callback(event) - { - var handler = callback.q; - var result = _Json_runHelp(handler.a, event); - - if (!$elm$core$Result$isOk(result)) - { - return; - } - - var tag = $elm$virtual_dom$VirtualDom$toHandlerInt(handler); - - // 0 = Normal - // 1 = MayStopPropagation - // 2 = MayPreventDefault - // 3 = Custom - - var value = result.a; - var message = !tag ? value : tag < 3 ? value.a : value.D; - var stopPropagation = tag == 1 ? value.b : tag == 3 && value.aX; - var currentEventNode = ( - stopPropagation && event.stopPropagation(), - (tag == 2 ? value.b : tag == 3 && value.aS) && event.preventDefault(), - eventNode - ); - var tagger; - var i; - while (tagger = currentEventNode.j) - { - if (typeof tagger == 'function') - { - message = tagger(message); - } - else - { - for (var i = tagger.length; i--; ) - { - message = tagger[i](message); - } - } - currentEventNode = currentEventNode.p; - } - currentEventNode(message, stopPropagation); // stopPropagation implies isSync - } - - callback.q = initialHandler; - - return callback; -} - -function _VirtualDom_equalEvents(x, y) -{ - return x.$ == y.$ && _Json_equality(x.a, y.a); -} - - - -// DIFF - - -// TODO: Should we do patches like in iOS? -// -// type Patch -// = At Int Patch -// | Batch (List Patch) -// | Change ... -// -// How could it not be better? -// -function _VirtualDom_diff(x, y) -{ - var patches = []; - _VirtualDom_diffHelp(x, y, patches, 0); - return patches; -} - - -function _VirtualDom_pushPatch(patches, type, index, data) -{ - var patch = { - $: type, - r: index, - s: data, - t: undefined, - u: undefined - }; - patches.push(patch); - return patch; -} - - -function _VirtualDom_diffHelp(x, y, patches, index) -{ - if (x === y) - { - return; - } - - var xType = x.$; - var yType = y.$; - - // Bail if you run into different types of nodes. Implies that the - // structure has changed significantly and it's not worth a diff. - if (xType !== yType) - { - if (xType === 1 && yType === 2) - { - y = _VirtualDom_dekey(y); - yType = 1; - } - else - { - _VirtualDom_pushPatch(patches, 0, index, y); - return; - } - } - - // Now we know that both nodes are the same $. - switch (yType) - { - case 5: - var xRefs = x.l; - var yRefs = y.l; - var i = xRefs.length; - var same = i === yRefs.length; - while (same && i--) - { - same = xRefs[i] === yRefs[i]; - } - if (same) - { - y.k = x.k; - return; - } - y.k = y.m(); - var subPatches = []; - _VirtualDom_diffHelp(x.k, y.k, subPatches, 0); - subPatches.length > 0 && _VirtualDom_pushPatch(patches, 1, index, subPatches); - return; - - case 4: - // gather nested taggers - var xTaggers = x.j; - var yTaggers = y.j; - var nesting = false; - - var xSubNode = x.k; - while (xSubNode.$ === 4) - { - nesting = true; - - typeof xTaggers !== 'object' - ? xTaggers = [xTaggers, xSubNode.j] - : xTaggers.push(xSubNode.j); - - xSubNode = xSubNode.k; - } - - var ySubNode = y.k; - while (ySubNode.$ === 4) - { - nesting = true; - - typeof yTaggers !== 'object' - ? yTaggers = [yTaggers, ySubNode.j] - : yTaggers.push(ySubNode.j); - - ySubNode = ySubNode.k; - } - - // Just bail if different numbers of taggers. This implies the - // structure of the virtual DOM has changed. - if (nesting && xTaggers.length !== yTaggers.length) - { - _VirtualDom_pushPatch(patches, 0, index, y); - return; - } - - // check if taggers are "the same" - if (nesting ? !_VirtualDom_pairwiseRefEqual(xTaggers, yTaggers) : xTaggers !== yTaggers) - { - _VirtualDom_pushPatch(patches, 2, index, yTaggers); - } - - // diff everything below the taggers - _VirtualDom_diffHelp(xSubNode, ySubNode, patches, index + 1); - return; - - case 0: - if (x.a !== y.a) - { - _VirtualDom_pushPatch(patches, 3, index, y.a); - } - return; - - case 1: - _VirtualDom_diffNodes(x, y, patches, index, _VirtualDom_diffKids); - return; - - case 2: - _VirtualDom_diffNodes(x, y, patches, index, _VirtualDom_diffKeyedKids); - return; - - case 3: - if (x.h !== y.h) - { - _VirtualDom_pushPatch(patches, 0, index, y); - return; - } - - var factsDiff = _VirtualDom_diffFacts(x.d, y.d); - factsDiff && _VirtualDom_pushPatch(patches, 4, index, factsDiff); - - var patch = y.i(x.g, y.g); - patch && _VirtualDom_pushPatch(patches, 5, index, patch); - - return; - } -} - -// assumes the incoming arrays are the same length -function _VirtualDom_pairwiseRefEqual(as, bs) -{ - for (var i = 0; i < as.length; i++) - { - if (as[i] !== bs[i]) - { - return false; - } - } - - return true; -} - -function _VirtualDom_diffNodes(x, y, patches, index, diffKids) -{ - // Bail if obvious indicators have changed. Implies more serious - // structural changes such that it's not worth it to diff. - if (x.c !== y.c || x.f !== y.f) - { - _VirtualDom_pushPatch(patches, 0, index, y); - return; - } - - var factsDiff = _VirtualDom_diffFacts(x.d, y.d); - factsDiff && _VirtualDom_pushPatch(patches, 4, index, factsDiff); - - diffKids(x, y, patches, index); -} - - - -// DIFF FACTS - - -// TODO Instead of creating a new diff object, it's possible to just test if -// there *is* a diff. During the actual patch, do the diff again and make the -// modifications directly. This way, there's no new allocations. Worth it? -function _VirtualDom_diffFacts(x, y, category) -{ - var diff; - - // look for changes and removals - for (var xKey in x) - { - if (xKey === 'a1' || xKey === 'a0' || xKey === 'a3' || xKey === 'a4') - { - var subDiff = _VirtualDom_diffFacts(x[xKey], y[xKey] || {}, xKey); - if (subDiff) - { - diff = diff || {}; - diff[xKey] = subDiff; - } - continue; - } - - // remove if not in the new facts - if (!(xKey in y)) - { - diff = diff || {}; - diff[xKey] = - !category - ? (typeof x[xKey] === 'string' ? '' : null) - : - (category === 'a1') - ? '' - : - (category === 'a0' || category === 'a3') - ? undefined - : - { f: x[xKey].f, o: undefined }; - - continue; - } - - var xValue = x[xKey]; - var yValue = y[xKey]; - - // reference equal, so don't worry about it - if (xValue === yValue && xKey !== 'value' && xKey !== 'checked' - || category === 'a0' && _VirtualDom_equalEvents(xValue, yValue)) - { - continue; - } - - diff = diff || {}; - diff[xKey] = yValue; - } - - // add new stuff - for (var yKey in y) - { - if (!(yKey in x)) - { - diff = diff || {}; - diff[yKey] = y[yKey]; - } - } - - return diff; -} - - - -// DIFF KIDS - - -function _VirtualDom_diffKids(xParent, yParent, patches, index) -{ - var xKids = xParent.e; - var yKids = yParent.e; - - var xLen = xKids.length; - var yLen = yKids.length; - - // FIGURE OUT IF THERE ARE INSERTS OR REMOVALS - - if (xLen > yLen) - { - _VirtualDom_pushPatch(patches, 6, index, { - v: yLen, - i: xLen - yLen - }); - } - else if (xLen < yLen) - { - _VirtualDom_pushPatch(patches, 7, index, { - v: xLen, - e: yKids - }); - } - - // PAIRWISE DIFF EVERYTHING ELSE - - for (var minLen = xLen < yLen ? xLen : yLen, i = 0; i < minLen; i++) - { - var xKid = xKids[i]; - _VirtualDom_diffHelp(xKid, yKids[i], patches, ++index); - index += xKid.b || 0; - } -} - - - -// KEYED DIFF - - -function _VirtualDom_diffKeyedKids(xParent, yParent, patches, rootIndex) -{ - var localPatches = []; - - var changes = {}; // Dict String Entry - var inserts = []; // Array { index : Int, entry : Entry } - // type Entry = { tag : String, vnode : VNode, index : Int, data : _ } - - var xKids = xParent.e; - var yKids = yParent.e; - var xLen = xKids.length; - var yLen = yKids.length; - var xIndex = 0; - var yIndex = 0; - - var index = rootIndex; - - while (xIndex < xLen && yIndex < yLen) - { - var x = xKids[xIndex]; - var y = yKids[yIndex]; - - var xKey = x.a; - var yKey = y.a; - var xNode = x.b; - var yNode = y.b; - - var newMatch = undefined; - var oldMatch = undefined; - - // check if keys match - - if (xKey === yKey) - { - index++; - _VirtualDom_diffHelp(xNode, yNode, localPatches, index); - index += xNode.b || 0; - - xIndex++; - yIndex++; - continue; - } - - // look ahead 1 to detect insertions and removals. - - var xNext = xKids[xIndex + 1]; - var yNext = yKids[yIndex + 1]; - - if (xNext) - { - var xNextKey = xNext.a; - var xNextNode = xNext.b; - oldMatch = yKey === xNextKey; - } - - if (yNext) - { - var yNextKey = yNext.a; - var yNextNode = yNext.b; - newMatch = xKey === yNextKey; - } - - - // swap x and y - if (newMatch && oldMatch) - { - index++; - _VirtualDom_diffHelp(xNode, yNextNode, localPatches, index); - _VirtualDom_insertNode(changes, localPatches, xKey, yNode, yIndex, inserts); - index += xNode.b || 0; - - index++; - _VirtualDom_removeNode(changes, localPatches, xKey, xNextNode, index); - index += xNextNode.b || 0; - - xIndex += 2; - yIndex += 2; - continue; - } - - // insert y - if (newMatch) - { - index++; - _VirtualDom_insertNode(changes, localPatches, yKey, yNode, yIndex, inserts); - _VirtualDom_diffHelp(xNode, yNextNode, localPatches, index); - index += xNode.b || 0; - - xIndex += 1; - yIndex += 2; - continue; - } - - // remove x - if (oldMatch) - { - index++; - _VirtualDom_removeNode(changes, localPatches, xKey, xNode, index); - index += xNode.b || 0; - - index++; - _VirtualDom_diffHelp(xNextNode, yNode, localPatches, index); - index += xNextNode.b || 0; - - xIndex += 2; - yIndex += 1; - continue; - } - - // remove x, insert y - if (xNext && xNextKey === yNextKey) - { - index++; - _VirtualDom_removeNode(changes, localPatches, xKey, xNode, index); - _VirtualDom_insertNode(changes, localPatches, yKey, yNode, yIndex, inserts); - index += xNode.b || 0; - - index++; - _VirtualDom_diffHelp(xNextNode, yNextNode, localPatches, index); - index += xNextNode.b || 0; - - xIndex += 2; - yIndex += 2; - continue; - } - - break; - } - - // eat up any remaining nodes with removeNode and insertNode - - while (xIndex < xLen) - { - index++; - var x = xKids[xIndex]; - var xNode = x.b; - _VirtualDom_removeNode(changes, localPatches, x.a, xNode, index); - index += xNode.b || 0; - xIndex++; - } - - while (yIndex < yLen) - { - var endInserts = endInserts || []; - var y = yKids[yIndex]; - _VirtualDom_insertNode(changes, localPatches, y.a, y.b, undefined, endInserts); - yIndex++; - } - - if (localPatches.length > 0 || inserts.length > 0 || endInserts) - { - _VirtualDom_pushPatch(patches, 8, rootIndex, { - w: localPatches, - x: inserts, - y: endInserts - }); - } -} - - - -// CHANGES FROM KEYED DIFF - - -var _VirtualDom_POSTFIX = '_elmW6BL'; - - -function _VirtualDom_insertNode(changes, localPatches, key, vnode, yIndex, inserts) -{ - var entry = changes[key]; - - // never seen this key before - if (!entry) - { - entry = { - c: 0, - z: vnode, - r: yIndex, - s: undefined - }; - - inserts.push({ r: yIndex, A: entry }); - changes[key] = entry; - - return; - } - - // this key was removed earlier, a match! - if (entry.c === 1) - { - inserts.push({ r: yIndex, A: entry }); - - entry.c = 2; - var subPatches = []; - _VirtualDom_diffHelp(entry.z, vnode, subPatches, entry.r); - entry.r = yIndex; - entry.s.s = { - w: subPatches, - A: entry - }; - - return; - } - - // this key has already been inserted or moved, a duplicate! - _VirtualDom_insertNode(changes, localPatches, key + _VirtualDom_POSTFIX, vnode, yIndex, inserts); -} - - -function _VirtualDom_removeNode(changes, localPatches, key, vnode, index) -{ - var entry = changes[key]; - - // never seen this key before - if (!entry) - { - var patch = _VirtualDom_pushPatch(localPatches, 9, index, undefined); - - changes[key] = { - c: 1, - z: vnode, - r: index, - s: patch - }; - - return; - } - - // this key was inserted earlier, a match! - if (entry.c === 0) - { - entry.c = 2; - var subPatches = []; - _VirtualDom_diffHelp(vnode, entry.z, subPatches, index); - - _VirtualDom_pushPatch(localPatches, 9, index, { - w: subPatches, - A: entry - }); - - return; - } - - // this key has already been removed or moved, a duplicate! - _VirtualDom_removeNode(changes, localPatches, key + _VirtualDom_POSTFIX, vnode, index); -} - - - -// ADD DOM NODES -// -// Each DOM node has an "index" assigned in order of traversal. It is important -// to minimize our crawl over the actual DOM, so these indexes (along with the -// descendantsCount of virtual nodes) let us skip touching entire subtrees of -// the DOM if we know there are no patches there. - - -function _VirtualDom_addDomNodes(domNode, vNode, patches, eventNode) -{ - _VirtualDom_addDomNodesHelp(domNode, vNode, patches, 0, 0, vNode.b, eventNode); -} - - -// assumes `patches` is non-empty and indexes increase monotonically. -function _VirtualDom_addDomNodesHelp(domNode, vNode, patches, i, low, high, eventNode) -{ - var patch = patches[i]; - var index = patch.r; - - while (index === low) - { - var patchType = patch.$; - - if (patchType === 1) - { - _VirtualDom_addDomNodes(domNode, vNode.k, patch.s, eventNode); - } - else if (patchType === 8) - { - patch.t = domNode; - patch.u = eventNode; - - var subPatches = patch.s.w; - if (subPatches.length > 0) - { - _VirtualDom_addDomNodesHelp(domNode, vNode, subPatches, 0, low, high, eventNode); - } - } - else if (patchType === 9) - { - patch.t = domNode; - patch.u = eventNode; - - var data = patch.s; - if (data) - { - data.A.s = domNode; - var subPatches = data.w; - if (subPatches.length > 0) - { - _VirtualDom_addDomNodesHelp(domNode, vNode, subPatches, 0, low, high, eventNode); - } - } - } - else - { - patch.t = domNode; - patch.u = eventNode; - } - - i++; - - if (!(patch = patches[i]) || (index = patch.r) > high) - { - return i; - } - } - - var tag = vNode.$; - - if (tag === 4) - { - var subNode = vNode.k; - - while (subNode.$ === 4) - { - subNode = subNode.k; - } - - return _VirtualDom_addDomNodesHelp(domNode, subNode, patches, i, low + 1, high, domNode.elm_event_node_ref); - } - - // tag must be 1 or 2 at this point - - var vKids = vNode.e; - var childNodes = domNode.childNodes; - for (var j = 0; j < vKids.length; j++) - { - low++; - var vKid = tag === 1 ? vKids[j] : vKids[j].b; - var nextLow = low + (vKid.b || 0); - if (low <= index && index <= nextLow) - { - i = _VirtualDom_addDomNodesHelp(childNodes[j], vKid, patches, i, low, nextLow, eventNode); - if (!(patch = patches[i]) || (index = patch.r) > high) - { - return i; - } - } - low = nextLow; - } - return i; -} - - - -// APPLY PATCHES - - -function _VirtualDom_applyPatches(rootDomNode, oldVirtualNode, patches, eventNode) -{ - if (patches.length === 0) - { - return rootDomNode; - } - - _VirtualDom_addDomNodes(rootDomNode, oldVirtualNode, patches, eventNode); - return _VirtualDom_applyPatchesHelp(rootDomNode, patches); -} - -function _VirtualDom_applyPatchesHelp(rootDomNode, patches) -{ - for (var i = 0; i < patches.length; i++) - { - var patch = patches[i]; - var localDomNode = patch.t - var newNode = _VirtualDom_applyPatch(localDomNode, patch); - if (localDomNode === rootDomNode) - { - rootDomNode = newNode; - } - } - return rootDomNode; -} - -function _VirtualDom_applyPatch(domNode, patch) -{ - switch (patch.$) - { - case 0: - return _VirtualDom_applyPatchRedraw(domNode, patch.s, patch.u); - - case 4: - _VirtualDom_applyFacts(domNode, patch.u, patch.s); - return domNode; - - case 3: - domNode.replaceData(0, domNode.length, patch.s); - return domNode; - - case 1: - return _VirtualDom_applyPatchesHelp(domNode, patch.s); - - case 2: - if (domNode.elm_event_node_ref) - { - domNode.elm_event_node_ref.j = patch.s; - } - else - { - domNode.elm_event_node_ref = { j: patch.s, p: patch.u }; - } - return domNode; - - case 6: - var data = patch.s; - for (var i = 0; i < data.i; i++) - { - domNode.removeChild(domNode.childNodes[data.v]); - } - return domNode; - - case 7: - var data = patch.s; - var kids = data.e; - var i = data.v; - var theEnd = domNode.childNodes[i]; - for (; i < kids.length; i++) - { - domNode.insertBefore(_VirtualDom_render(kids[i], patch.u), theEnd); - } - return domNode; - - case 9: - var data = patch.s; - if (!data) - { - domNode.parentNode.removeChild(domNode); - return domNode; - } - var entry = data.A; - if (typeof entry.r !== 'undefined') - { - domNode.parentNode.removeChild(domNode); - } - entry.s = _VirtualDom_applyPatchesHelp(domNode, data.w); - return domNode; - - case 8: - return _VirtualDom_applyPatchReorder(domNode, patch); - - case 5: - return patch.s(domNode); - - default: - _Debug_crash(10); // 'Ran into an unknown patch!' - } -} - - -function _VirtualDom_applyPatchRedraw(domNode, vNode, eventNode) -{ - var parentNode = domNode.parentNode; - var newNode = _VirtualDom_render(vNode, eventNode); - - if (!newNode.elm_event_node_ref) - { - newNode.elm_event_node_ref = domNode.elm_event_node_ref; - } - - if (parentNode && newNode !== domNode) - { - parentNode.replaceChild(newNode, domNode); - } - return newNode; -} - - -function _VirtualDom_applyPatchReorder(domNode, patch) -{ - var data = patch.s; - - // remove end inserts - var frag = _VirtualDom_applyPatchReorderEndInsertsHelp(data.y, patch); - - // removals - domNode = _VirtualDom_applyPatchesHelp(domNode, data.w); - - // inserts - var inserts = data.x; - for (var i = 0; i < inserts.length; i++) - { - var insert = inserts[i]; - var entry = insert.A; - var node = entry.c === 2 - ? entry.s - : _VirtualDom_render(entry.z, patch.u); - domNode.insertBefore(node, domNode.childNodes[insert.r]); - } - - // add end inserts - if (frag) - { - _VirtualDom_appendChild(domNode, frag); - } - - return domNode; -} - - -function _VirtualDom_applyPatchReorderEndInsertsHelp(endInserts, patch) -{ - if (!endInserts) - { - return; - } - - var frag = _VirtualDom_doc.createDocumentFragment(); - for (var i = 0; i < endInserts.length; i++) - { - var insert = endInserts[i]; - var entry = insert.A; - _VirtualDom_appendChild(frag, entry.c === 2 - ? entry.s - : _VirtualDom_render(entry.z, patch.u) - ); - } - return frag; -} - - -function _VirtualDom_virtualize(node) -{ - // TEXT NODES - - if (node.nodeType === 3) - { - return _VirtualDom_text(node.textContent); - } - - - // WEIRD NODES - - if (node.nodeType !== 1) - { - return _VirtualDom_text(''); - } - - - // ELEMENT NODES - - var attrList = _List_Nil; - var attrs = node.attributes; - for (var i = attrs.length; i--; ) - { - var attr = attrs[i]; - var name = attr.name; - var value = attr.value; - attrList = _List_Cons( A2(_VirtualDom_attribute, name, value), attrList ); - } - - var tag = node.tagName.toLowerCase(); - var kidList = _List_Nil; - var kids = node.childNodes; - - for (var i = kids.length; i--; ) - { - kidList = _List_Cons(_VirtualDom_virtualize(kids[i]), kidList); - } - return A3(_VirtualDom_node, tag, attrList, kidList); -} - -function _VirtualDom_dekey(keyedNode) -{ - var keyedKids = keyedNode.e; - var len = keyedKids.length; - var kids = new Array(len); - for (var i = 0; i < len; i++) - { - kids[i] = keyedKids[i].b; - } - - return { - $: 1, - c: keyedNode.c, - d: keyedNode.d, - e: kids, - f: keyedNode.f, - b: keyedNode.b - }; -} - - - - -// ELEMENT - - -var _Debugger_element; - -var _Browser_element = _Debugger_element || F4(function(impl, flagDecoder, debugMetadata, args) -{ - return _Platform_initialize( - flagDecoder, - args, - impl.aa, - impl.am, - impl.dK, - function(sendToApp, initialModel) { - var view = impl.d7; - /**/ - var domNode = args['node']; - //*/ - /**_UNUSED/ - var domNode = args && args['node'] ? args['node'] : _Debug_crash(0); - //*/ - var currNode = _VirtualDom_virtualize(domNode); - - return _Browser_makeAnimator(initialModel, function(model) - { - var nextNode = view(model); - var patches = _VirtualDom_diff(currNode, nextNode); - domNode = _VirtualDom_applyPatches(domNode, currNode, patches, sendToApp); - currNode = nextNode; - }); - } - ); -}); - - - -// DOCUMENT - - -var _Debugger_document; - -var _Browser_document = _Debugger_document || F4(function(impl, flagDecoder, debugMetadata, args) -{ - return _Platform_initialize( - flagDecoder, - args, - impl.aa, - impl.am, - impl.dK, - function(sendToApp, initialModel) { - var divertHrefToApp = impl.aV && impl.aV(sendToApp) - var view = impl.d7; - var title = _VirtualDom_doc.title; - var bodyNode = _VirtualDom_doc.body; - var currNode = _VirtualDom_virtualize(bodyNode); - return _Browser_makeAnimator(initialModel, function(model) - { - _VirtualDom_divertHrefToApp = divertHrefToApp; - var doc = view(model); - var nextNode = _VirtualDom_node('body')(_List_Nil)(doc.cf); - var patches = _VirtualDom_diff(currNode, nextNode); - bodyNode = _VirtualDom_applyPatches(bodyNode, currNode, patches, sendToApp); - currNode = nextNode; - _VirtualDom_divertHrefToApp = 0; - (title !== doc.d$) && (_VirtualDom_doc.title = title = doc.d$); - }); - } - ); -}); - - - -// ANIMATION - - -var _Browser_cancelAnimationFrame = - typeof cancelAnimationFrame !== 'undefined' - ? cancelAnimationFrame - : function(id) { clearTimeout(id); }; - -var _Browser_requestAnimationFrame = - typeof requestAnimationFrame !== 'undefined' - ? requestAnimationFrame - : function(callback) { return setTimeout(callback, 1000 / 60); }; - - -function _Browser_makeAnimator(model, draw) -{ - draw(model); - - var state = 0; - - function updateIfNeeded() - { - state = state === 1 - ? 0 - : ( _Browser_requestAnimationFrame(updateIfNeeded), draw(model), 1 ); - } - - return function(nextModel, isSync) - { - model = nextModel; - - isSync - ? ( draw(model), - state === 2 && (state = 1) - ) - : ( state === 0 && _Browser_requestAnimationFrame(updateIfNeeded), - state = 2 - ); - }; -} - - - -// APPLICATION - - -function _Browser_application(impl) -{ - var onUrlChange = impl.c9; - var onUrlRequest = impl.da; - var key = function() { key.a(onUrlChange(_Browser_getUrl())); }; - - return _Browser_document({ - aV: function(sendToApp) - { - key.a = sendToApp; - _Browser_window.addEventListener('popstate', key); - _Browser_window.navigator.userAgent.indexOf('Trident') < 0 || _Browser_window.addEventListener('hashchange', key); - - return F2(function(domNode, event) - { - if (!event.ctrlKey && !event.metaKey && !event.shiftKey && event.button < 1 && !domNode.target && !domNode.hasAttribute('download')) - { - event.preventDefault(); - var href = domNode.href; - var curr = _Browser_getUrl(); - var next = $elm$url$Url$fromString(href).a; - sendToApp(onUrlRequest( - (next - && curr.bA === next.bA - && curr.bj === next.bj - && curr.bx.a === next.bx.a - ) - ? $elm$browser$Browser$Internal(next) - : $elm$browser$Browser$External(href) - )); - } - }); - }, - aa: function(flags) - { - return A3(impl.aa, flags, _Browser_getUrl(), key); - }, - d7: impl.d7, - am: impl.am, - dK: impl.dK - }); -} - -function _Browser_getUrl() -{ - return $elm$url$Url$fromString(_VirtualDom_doc.location.href).a || _Debug_crash(1); -} - -var _Browser_go = F2(function(key, n) -{ - return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() { - n && history.go(n); - key(); - })); -}); - -var _Browser_pushUrl = F2(function(key, url) -{ - return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() { - history.pushState({}, '', url); - key(); - })); -}); - -var _Browser_replaceUrl = F2(function(key, url) -{ - return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() { - history.replaceState({}, '', url); - key(); - })); -}); - - - -// GLOBAL EVENTS - - -var _Browser_fakeNode = { addEventListener: function() {}, removeEventListener: function() {} }; -var _Browser_doc = typeof document !== 'undefined' ? document : _Browser_fakeNode; -var _Browser_window = typeof window !== 'undefined' ? window : _Browser_fakeNode; - -var _Browser_on = F3(function(node, eventName, sendToSelf) -{ - return _Scheduler_spawn(_Scheduler_binding(function(callback) - { - function handler(event) { _Scheduler_rawSpawn(sendToSelf(event)); } - node.addEventListener(eventName, handler, _VirtualDom_passiveSupported && { passive: true }); - return function() { node.removeEventListener(eventName, handler); }; - })); -}); - -var _Browser_decodeEvent = F2(function(decoder, event) -{ - var result = _Json_runHelp(decoder, event); - return $elm$core$Result$isOk(result) ? $elm$core$Maybe$Just(result.a) : $elm$core$Maybe$Nothing; -}); - - - -// PAGE VISIBILITY - - -function _Browser_visibilityInfo() -{ - return (typeof _VirtualDom_doc.hidden !== 'undefined') - ? { cK: 'hidden', cp: 'visibilitychange' } - : - (typeof _VirtualDom_doc.mozHidden !== 'undefined') - ? { cK: 'mozHidden', cp: 'mozvisibilitychange' } - : - (typeof _VirtualDom_doc.msHidden !== 'undefined') - ? { cK: 'msHidden', cp: 'msvisibilitychange' } - : - (typeof _VirtualDom_doc.webkitHidden !== 'undefined') - ? { cK: 'webkitHidden', cp: 'webkitvisibilitychange' } - : { cK: 'hidden', cp: 'visibilitychange' }; -} - - - -// ANIMATION FRAMES - - -function _Browser_rAF() -{ - return _Scheduler_binding(function(callback) - { - var id = _Browser_requestAnimationFrame(function() { - callback(_Scheduler_succeed(Date.now())); - }); - - return function() { - _Browser_cancelAnimationFrame(id); - }; - }); -} - - -function _Browser_now() -{ - return _Scheduler_binding(function(callback) - { - callback(_Scheduler_succeed(Date.now())); - }); -} - - - -// DOM STUFF - - -function _Browser_withNode(id, doStuff) -{ - return _Scheduler_binding(function(callback) - { - _Browser_requestAnimationFrame(function() { - var node = document.getElementById(id); - callback(node - ? _Scheduler_succeed(doStuff(node)) - : _Scheduler_fail($elm$browser$Browser$Dom$NotFound(id)) - ); - }); - }); -} - - -function _Browser_withWindow(doStuff) -{ - return _Scheduler_binding(function(callback) - { - _Browser_requestAnimationFrame(function() { - callback(_Scheduler_succeed(doStuff())); - }); - }); -} - - -// FOCUS and BLUR - - -var _Browser_call = F2(function(functionName, id) -{ - return _Browser_withNode(id, function(node) { - node[functionName](); - return _Utils_Tuple0; - }); -}); - - - -// WINDOW VIEWPORT - - -function _Browser_getViewport() -{ - return { - bG: _Browser_getScene(), - bQ: { - bV: _Browser_window.pageXOffset, - bW: _Browser_window.pageYOffset, - bS: _Browser_doc.documentElement.clientWidth, - bg: _Browser_doc.documentElement.clientHeight - } - }; -} - -function _Browser_getScene() -{ - var body = _Browser_doc.body; - var elem = _Browser_doc.documentElement; - return { - bS: Math.max(body.scrollWidth, body.offsetWidth, elem.scrollWidth, elem.offsetWidth, elem.clientWidth), - bg: Math.max(body.scrollHeight, body.offsetHeight, elem.scrollHeight, elem.offsetHeight, elem.clientHeight) - }; -} - -var _Browser_setViewport = F2(function(x, y) -{ - return _Browser_withWindow(function() - { - _Browser_window.scroll(x, y); - return _Utils_Tuple0; - }); -}); - - - -// ELEMENT VIEWPORT - - -function _Browser_getViewportOf(id) -{ - return _Browser_withNode(id, function(node) - { - return { - bG: { - bS: node.scrollWidth, - bg: node.scrollHeight - }, - bQ: { - bV: node.scrollLeft, - bW: node.scrollTop, - bS: node.clientWidth, - bg: node.clientHeight - } - }; - }); -} - - -var _Browser_setViewportOf = F3(function(id, x, y) -{ - return _Browser_withNode(id, function(node) - { - node.scrollLeft = x; - node.scrollTop = y; - return _Utils_Tuple0; - }); -}); - - - -// ELEMENT - - -function _Browser_getElement(id) -{ - return _Browser_withNode(id, function(node) - { - var rect = node.getBoundingClientRect(); - var x = _Browser_window.pageXOffset; - var y = _Browser_window.pageYOffset; - return { - bG: _Browser_getScene(), - bQ: { - bV: x, - bW: y, - bS: _Browser_doc.documentElement.clientWidth, - bg: _Browser_doc.documentElement.clientHeight - }, - cA: { - bV: x + rect.left, - bW: y + rect.top, - bS: rect.width, - bg: rect.height - } - }; - }); -} - - - -// LOAD and RELOAD - - -function _Browser_reload(skipCache) -{ - return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function(callback) - { - _VirtualDom_doc.location.reload(skipCache); - })); -} - -function _Browser_load(url) -{ - return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function(callback) - { - try - { - _Browser_window.location = url; - } - catch(err) - { - // Only Firefox can throw a NS_ERROR_MALFORMED_URI exception here. - // Other browsers reload the page, so let's be consistent about that. - _VirtualDom_doc.location.reload(false); - } - })); -} - - -function _Url_percentEncode(string) -{ - return encodeURIComponent(string); -} - -function _Url_percentDecode(string) -{ - try - { - return $elm$core$Maybe$Just(decodeURIComponent(string)); - } - catch (e) - { - return $elm$core$Maybe$Nothing; - } -} - - -var _Bitwise_and = F2(function(a, b) -{ - return a & b; -}); - -var _Bitwise_or = F2(function(a, b) -{ - return a | b; -}); - -var _Bitwise_xor = F2(function(a, b) -{ - return a ^ b; -}); - -function _Bitwise_complement(a) -{ - return ~a; -}; - -var _Bitwise_shiftLeftBy = F2(function(offset, a) -{ - return a << offset; -}); - -var _Bitwise_shiftRightBy = F2(function(offset, a) -{ - return a >> offset; -}); - -var _Bitwise_shiftRightZfBy = F2(function(offset, a) -{ - return a >>> offset; -}); - - - -// SEND REQUEST - -var _Http_toTask = F3(function(router, toTask, request) -{ - return _Scheduler_binding(function(callback) - { - function done(response) { - callback(toTask(request.cB.a(response))); - } - - var xhr = new XMLHttpRequest(); - xhr.addEventListener('error', function() { done($elm$http$Http$NetworkError_); }); - xhr.addEventListener('timeout', function() { done($elm$http$Http$Timeout_); }); - xhr.addEventListener('load', function() { done(_Http_toResponse(request.cB.b, xhr)); }); - $elm$core$Maybe$isJust(request.d3) && _Http_track(router, xhr, request.d3.a); - - try { - xhr.open(request.c$, request.bN, true); - } catch (e) { - return done($elm$http$Http$BadUrl_(request.bN)); - } - - _Http_configureRequest(xhr, request); - - request.cf.a && xhr.setRequestHeader('Content-Type', request.cf.a); - xhr.send(request.cf.b); - - return function() { xhr.c = true; xhr.abort(); }; - }); -}); - - -// CONFIGURE - -function _Http_configureRequest(xhr, request) -{ - for (var headers = request.cJ; headers.b; headers = headers.b) // WHILE_CONS - { - xhr.setRequestHeader(headers.a.a, headers.a.b); - } - xhr.timeout = request.d_.a || 0; - xhr.responseType = request.cB.d; - xhr.withCredentials = request.b7; -} - - -// RESPONSES - -function _Http_toResponse(toBody, xhr) -{ - return A2( - 200 <= xhr.status && xhr.status < 300 ? $elm$http$Http$GoodStatus_ : $elm$http$Http$BadStatus_, - _Http_toMetadata(xhr), - toBody(xhr.response) - ); -} - - -// METADATA - -function _Http_toMetadata(xhr) -{ - return { - bN: xhr.responseURL, - dD: xhr.status, - dE: xhr.statusText, - cJ: _Http_parseHeaders(xhr.getAllResponseHeaders()) - }; -} - - -// HEADERS - -function _Http_parseHeaders(rawHeaders) -{ - if (!rawHeaders) - { - return $elm$core$Dict$empty; - } - - var headers = $elm$core$Dict$empty; - var headerPairs = rawHeaders.split('\r\n'); - for (var i = headerPairs.length; i--; ) - { - var headerPair = headerPairs[i]; - var index = headerPair.indexOf(': '); - if (index > 0) - { - var key = headerPair.substring(0, index); - var value = headerPair.substring(index + 2); - - headers = A3($elm$core$Dict$update, key, function(oldValue) { - return $elm$core$Maybe$Just($elm$core$Maybe$isJust(oldValue) - ? value + ', ' + oldValue.a - : value - ); - }, headers); - } - } - return headers; -} - - -// EXPECT - -var _Http_expect = F3(function(type, toBody, toValue) -{ - return { - $: 0, - d: type, - b: toBody, - a: toValue - }; -}); - -var _Http_mapExpect = F2(function(func, expect) -{ - return { - $: 0, - d: expect.d, - b: expect.b, - a: function(x) { return func(expect.a(x)); } - }; -}); - -function _Http_toDataView(arrayBuffer) -{ - return new DataView(arrayBuffer); -} - - -// BODY and PARTS - -var _Http_emptyBody = { $: 0 }; -var _Http_pair = F2(function(a, b) { return { $: 0, a: a, b: b }; }); - -function _Http_toFormData(parts) -{ - for (var formData = new FormData(); parts.b; parts = parts.b) // WHILE_CONS - { - var part = parts.a; - formData.append(part.a, part.b); - } - return formData; -} - -var _Http_bytesToBlob = F2(function(mime, bytes) -{ - return new Blob([bytes], { type: mime }); -}); - - -// PROGRESS - -function _Http_track(router, xhr, tracker) -{ - // TODO check out lengthComputable on loadstart event - - xhr.upload.addEventListener('progress', function(event) { - if (xhr.c) { return; } - _Scheduler_rawSpawn(A2($elm$core$Platform$sendToSelf, router, _Utils_Tuple2(tracker, $elm$http$Http$Sending({ - dv: event.loaded, - bI: event.total - })))); - }); - xhr.addEventListener('progress', function(event) { - if (xhr.c) { return; } - _Scheduler_rawSpawn(A2($elm$core$Platform$sendToSelf, router, _Utils_Tuple2(tracker, $elm$http$Http$Receiving({ - di: event.loaded, - bI: event.lengthComputable ? $elm$core$Maybe$Just(event.total) : $elm$core$Maybe$Nothing - })))); - }); -}var $elm$core$Maybe$Nothing = {$: 1}; -var $ryannhg$elm_spa$Spa$ChangedUrl = function (a) { - return {$: 0, a: a}; -}; -var $ryannhg$elm_spa$Spa$ClickedLink = function (a) { - return {$: 1, a: a}; -}; -var $elm$core$Basics$always = F2( - function (a, _v0) { - return a; - }); -var $elm$core$Basics$EQ = 1; -var $elm$core$Basics$GT = 2; -var $elm$core$Basics$LT = 0; -var $elm$core$List$cons = _List_cons; -var $elm$core$Dict$foldr = F3( - function (func, acc, t) { - foldr: - while (true) { - if (t.$ === -2) { - return acc; - } else { - var key = t.b; - var value = t.c; - var left = t.d; - var right = t.e; - var $temp$func = func, - $temp$acc = A3( - func, - key, - value, - A3($elm$core$Dict$foldr, func, acc, right)), - $temp$t = left; - func = $temp$func; - acc = $temp$acc; - t = $temp$t; - continue foldr; - } - } - }); -var $elm$core$Dict$toList = function (dict) { - return A3( - $elm$core$Dict$foldr, - F3( - function (key, value, list) { - return A2( - $elm$core$List$cons, - _Utils_Tuple2(key, value), - list); - }), - _List_Nil, - dict); -}; -var $elm$core$Dict$keys = function (dict) { - return A3( - $elm$core$Dict$foldr, - F3( - function (key, value, keyList) { - return A2($elm$core$List$cons, key, keyList); - }), - _List_Nil, - dict); -}; -var $elm$core$Set$toList = function (_v0) { - var dict = _v0; - return $elm$core$Dict$keys(dict); -}; -var $elm$core$Elm$JsArray$foldr = _JsArray_foldr; -var $elm$core$Array$foldr = F3( - function (func, baseCase, _v0) { - var tree = _v0.c; - var tail = _v0.d; - var helper = F2( - function (node, acc) { - if (!node.$) { - var subTree = node.a; - return A3($elm$core$Elm$JsArray$foldr, helper, acc, subTree); - } else { - var values = node.a; - return A3($elm$core$Elm$JsArray$foldr, func, acc, values); - } - }); - return A3( - $elm$core$Elm$JsArray$foldr, - helper, - A3($elm$core$Elm$JsArray$foldr, func, baseCase, tail), - tree); - }); -var $elm$core$Array$toList = function (array) { - return A3($elm$core$Array$foldr, $elm$core$List$cons, _List_Nil, array); -}; -var $elm$core$Result$Err = function (a) { - return {$: 1, a: a}; -}; -var $elm$json$Json$Decode$Failure = F2( - function (a, b) { - return {$: 3, a: a, b: b}; - }); -var $elm$json$Json$Decode$Field = F2( - function (a, b) { - return {$: 0, a: a, b: b}; - }); -var $elm$json$Json$Decode$Index = F2( - function (a, b) { - return {$: 1, a: a, b: b}; - }); -var $elm$core$Result$Ok = function (a) { - return {$: 0, a: a}; -}; -var $elm$json$Json$Decode$OneOf = function (a) { - return {$: 2, a: a}; -}; -var $elm$core$Basics$False = 1; -var $elm$core$Basics$add = _Basics_add; -var $elm$core$Maybe$Just = function (a) { - return {$: 0, a: a}; -}; -var $elm$core$String$all = _String_all; -var $elm$core$Basics$and = _Basics_and; -var $elm$core$Basics$append = _Utils_append; -var $elm$json$Json$Encode$encode = _Json_encode; -var $elm$core$String$fromInt = _String_fromNumber; -var $elm$core$String$join = F2( - function (sep, chunks) { - return A2( - _String_join, - sep, - _List_toArray(chunks)); - }); -var $elm$core$String$split = F2( - function (sep, string) { - return _List_fromArray( - A2(_String_split, sep, string)); - }); -var $elm$json$Json$Decode$indent = function (str) { - return A2( - $elm$core$String$join, - '\n ', - A2($elm$core$String$split, '\n', str)); -}; -var $elm$core$List$foldl = F3( - function (func, acc, list) { - foldl: - while (true) { - if (!list.b) { - return acc; - } else { - var x = list.a; - var xs = list.b; - var $temp$func = func, - $temp$acc = A2(func, x, acc), - $temp$list = xs; - func = $temp$func; - acc = $temp$acc; - list = $temp$list; - continue foldl; - } - } - }); -var $elm$core$List$length = function (xs) { - return A3( - $elm$core$List$foldl, - F2( - function (_v0, i) { - return i + 1; - }), - 0, - xs); -}; -var $elm$core$List$map2 = _List_map2; -var $elm$core$Basics$le = _Utils_le; -var $elm$core$Basics$sub = _Basics_sub; -var $elm$core$List$rangeHelp = F3( - function (lo, hi, list) { - rangeHelp: - while (true) { - if (_Utils_cmp(lo, hi) < 1) { - var $temp$lo = lo, - $temp$hi = hi - 1, - $temp$list = A2($elm$core$List$cons, hi, list); - lo = $temp$lo; - hi = $temp$hi; - list = $temp$list; - continue rangeHelp; - } else { - return list; - } - } - }); -var $elm$core$List$range = F2( - function (lo, hi) { - return A3($elm$core$List$rangeHelp, lo, hi, _List_Nil); - }); -var $elm$core$List$indexedMap = F2( - function (f, xs) { - return A3( - $elm$core$List$map2, - f, - A2( - $elm$core$List$range, - 0, - $elm$core$List$length(xs) - 1), - xs); - }); -var $elm$core$Char$toCode = _Char_toCode; -var $elm$core$Char$isLower = function (_char) { - var code = $elm$core$Char$toCode(_char); - return (97 <= code) && (code <= 122); -}; -var $elm$core$Char$isUpper = function (_char) { - var code = $elm$core$Char$toCode(_char); - return (code <= 90) && (65 <= code); -}; -var $elm$core$Basics$or = _Basics_or; -var $elm$core$Char$isAlpha = function (_char) { - return $elm$core$Char$isLower(_char) || $elm$core$Char$isUpper(_char); -}; -var $elm$core$Char$isDigit = function (_char) { - var code = $elm$core$Char$toCode(_char); - return (code <= 57) && (48 <= code); -}; -var $elm$core$Char$isAlphaNum = function (_char) { - return $elm$core$Char$isLower(_char) || ($elm$core$Char$isUpper(_char) || $elm$core$Char$isDigit(_char)); -}; -var $elm$core$List$reverse = function (list) { - return A3($elm$core$List$foldl, $elm$core$List$cons, _List_Nil, list); -}; -var $elm$core$String$uncons = _String_uncons; -var $elm$json$Json$Decode$errorOneOf = F2( - function (i, error) { - return '\n\n(' + ($elm$core$String$fromInt(i + 1) + (') ' + $elm$json$Json$Decode$indent( - $elm$json$Json$Decode$errorToString(error)))); - }); -var $elm$json$Json$Decode$errorToString = function (error) { - return A2($elm$json$Json$Decode$errorToStringHelp, error, _List_Nil); -}; -var $elm$json$Json$Decode$errorToStringHelp = F2( - function (error, context) { - errorToStringHelp: - while (true) { - switch (error.$) { - case 0: - var f = error.a; - var err = error.b; - var isSimple = function () { - var _v1 = $elm$core$String$uncons(f); - if (_v1.$ === 1) { - return false; - } else { - var _v2 = _v1.a; - var _char = _v2.a; - var rest = _v2.b; - return $elm$core$Char$isAlpha(_char) && A2($elm$core$String$all, $elm$core$Char$isAlphaNum, rest); - } - }(); - var fieldName = isSimple ? ('.' + f) : ('[\'' + (f + '\']')); - var $temp$error = err, - $temp$context = A2($elm$core$List$cons, fieldName, context); - error = $temp$error; - context = $temp$context; - continue errorToStringHelp; - case 1: - var i = error.a; - var err = error.b; - var indexName = '[' + ($elm$core$String$fromInt(i) + ']'); - var $temp$error = err, - $temp$context = A2($elm$core$List$cons, indexName, context); - error = $temp$error; - context = $temp$context; - continue errorToStringHelp; - case 2: - var errors = error.a; - if (!errors.b) { - return 'Ran into a Json.Decode.oneOf with no possibilities' + function () { - if (!context.b) { - return '!'; - } else { - return ' at json' + A2( - $elm$core$String$join, - '', - $elm$core$List$reverse(context)); - } - }(); - } else { - if (!errors.b.b) { - var err = errors.a; - var $temp$error = err, - $temp$context = context; - error = $temp$error; - context = $temp$context; - continue errorToStringHelp; - } else { - var starter = function () { - if (!context.b) { - return 'Json.Decode.oneOf'; - } else { - return 'The Json.Decode.oneOf at json' + A2( - $elm$core$String$join, - '', - $elm$core$List$reverse(context)); - } - }(); - var introduction = starter + (' failed in the following ' + ($elm$core$String$fromInt( - $elm$core$List$length(errors)) + ' ways:')); - return A2( - $elm$core$String$join, - '\n\n', - A2( - $elm$core$List$cons, - introduction, - A2($elm$core$List$indexedMap, $elm$json$Json$Decode$errorOneOf, errors))); - } - } - default: - var msg = error.a; - var json = error.b; - var introduction = function () { - if (!context.b) { - return 'Problem with the given value:\n\n'; - } else { - return 'Problem with the value at json' + (A2( - $elm$core$String$join, - '', - $elm$core$List$reverse(context)) + ':\n\n '); - } - }(); - return introduction + ($elm$json$Json$Decode$indent( - A2($elm$json$Json$Encode$encode, 4, json)) + ('\n\n' + msg)); - } - } - }); -var $elm$core$Array$branchFactor = 32; -var $elm$core$Array$Array_elm_builtin = F4( - function (a, b, c, d) { - return {$: 0, a: a, b: b, c: c, d: d}; - }); -var $elm$core$Elm$JsArray$empty = _JsArray_empty; -var $elm$core$Basics$ceiling = _Basics_ceiling; -var $elm$core$Basics$fdiv = _Basics_fdiv; -var $elm$core$Basics$logBase = F2( - function (base, number) { - return _Basics_log(number) / _Basics_log(base); - }); -var $elm$core$Basics$toFloat = _Basics_toFloat; -var $elm$core$Array$shiftStep = $elm$core$Basics$ceiling( - A2($elm$core$Basics$logBase, 2, $elm$core$Array$branchFactor)); -var $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); -var $elm$core$Elm$JsArray$initialize = _JsArray_initialize; -var $elm$core$Array$Leaf = function (a) { - return {$: 1, a: a}; -}; -var $elm$core$Basics$apL = F2( - function (f, x) { - return f(x); - }); -var $elm$core$Basics$apR = F2( - function (x, f) { - return f(x); - }); -var $elm$core$Basics$eq = _Utils_equal; -var $elm$core$Basics$floor = _Basics_floor; -var $elm$core$Elm$JsArray$length = _JsArray_length; -var $elm$core$Basics$gt = _Utils_gt; -var $elm$core$Basics$max = F2( - function (x, y) { - return (_Utils_cmp(x, y) > 0) ? x : y; - }); -var $elm$core$Basics$mul = _Basics_mul; -var $elm$core$Array$SubTree = function (a) { - return {$: 0, a: a}; -}; -var $elm$core$Elm$JsArray$initializeFromList = _JsArray_initializeFromList; -var $elm$core$Array$compressNodes = F2( - function (nodes, acc) { - compressNodes: - while (true) { - var _v0 = A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, nodes); - var node = _v0.a; - var remainingNodes = _v0.b; - var newAcc = A2( - $elm$core$List$cons, - $elm$core$Array$SubTree(node), - acc); - if (!remainingNodes.b) { - return $elm$core$List$reverse(newAcc); - } else { - var $temp$nodes = remainingNodes, - $temp$acc = newAcc; - nodes = $temp$nodes; - acc = $temp$acc; - continue compressNodes; - } - } - }); -var $elm$core$Tuple$first = function (_v0) { - var x = _v0.a; - return x; -}; -var $elm$core$Array$treeFromBuilder = F2( - function (nodeList, nodeListSize) { - treeFromBuilder: - while (true) { - var newNodeSize = $elm$core$Basics$ceiling(nodeListSize / $elm$core$Array$branchFactor); - if (newNodeSize === 1) { - return A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, nodeList).a; - } else { - var $temp$nodeList = A2($elm$core$Array$compressNodes, nodeList, _List_Nil), - $temp$nodeListSize = newNodeSize; - nodeList = $temp$nodeList; - nodeListSize = $temp$nodeListSize; - continue treeFromBuilder; - } - } - }); -var $elm$core$Array$builderToArray = F2( - function (reverseNodeList, builder) { - if (!builder.c) { - return A4( - $elm$core$Array$Array_elm_builtin, - $elm$core$Elm$JsArray$length(builder.e), - $elm$core$Array$shiftStep, - $elm$core$Elm$JsArray$empty, - builder.e); - } else { - var treeLen = builder.c * $elm$core$Array$branchFactor; - var depth = $elm$core$Basics$floor( - A2($elm$core$Basics$logBase, $elm$core$Array$branchFactor, treeLen - 1)); - var correctNodeList = reverseNodeList ? $elm$core$List$reverse(builder.f) : builder.f; - var tree = A2($elm$core$Array$treeFromBuilder, correctNodeList, builder.c); - return A4( - $elm$core$Array$Array_elm_builtin, - $elm$core$Elm$JsArray$length(builder.e) + treeLen, - A2($elm$core$Basics$max, 5, depth * $elm$core$Array$shiftStep), - tree, - builder.e); - } - }); -var $elm$core$Basics$idiv = _Basics_idiv; -var $elm$core$Basics$lt = _Utils_lt; -var $elm$core$Array$initializeHelp = F5( - function (fn, fromIndex, len, nodeList, tail) { - initializeHelp: - while (true) { - if (fromIndex < 0) { - return A2( - $elm$core$Array$builderToArray, - false, - {f: nodeList, c: (len / $elm$core$Array$branchFactor) | 0, e: tail}); - } else { - var leaf = $elm$core$Array$Leaf( - A3($elm$core$Elm$JsArray$initialize, $elm$core$Array$branchFactor, fromIndex, fn)); - var $temp$fn = fn, - $temp$fromIndex = fromIndex - $elm$core$Array$branchFactor, - $temp$len = len, - $temp$nodeList = A2($elm$core$List$cons, leaf, nodeList), - $temp$tail = tail; - fn = $temp$fn; - fromIndex = $temp$fromIndex; - len = $temp$len; - nodeList = $temp$nodeList; - tail = $temp$tail; - continue initializeHelp; - } - } - }); -var $elm$core$Basics$remainderBy = _Basics_remainderBy; -var $elm$core$Array$initialize = F2( - function (len, fn) { - if (len <= 0) { - return $elm$core$Array$empty; - } else { - var tailLen = len % $elm$core$Array$branchFactor; - var tail = A3($elm$core$Elm$JsArray$initialize, tailLen, len - tailLen, fn); - var initialFromIndex = (len - tailLen) - $elm$core$Array$branchFactor; - return A5($elm$core$Array$initializeHelp, fn, initialFromIndex, len, _List_Nil, tail); - } - }); -var $elm$core$Basics$True = 0; -var $elm$core$Result$isOk = function (result) { - if (!result.$) { - return true; - } else { - return false; - } -}; -var $elm$json$Json$Decode$map = _Json_map1; -var $elm$json$Json$Decode$map2 = _Json_map2; -var $elm$json$Json$Decode$succeed = _Json_succeed; -var $elm$virtual_dom$VirtualDom$toHandlerInt = function (handler) { - switch (handler.$) { - case 0: - return 0; - case 1: - return 1; - case 2: - return 2; - default: - return 3; - } -}; -var $elm$browser$Browser$External = function (a) { - return {$: 1, a: a}; -}; -var $elm$browser$Browser$Internal = function (a) { - return {$: 0, a: a}; -}; -var $elm$core$Basics$identity = function (x) { - return x; -}; -var $elm$browser$Browser$Dom$NotFound = $elm$core$Basics$identity; -var $elm$url$Url$Http = 0; -var $elm$url$Url$Https = 1; -var $elm$url$Url$Url = F6( - function (protocol, host, port_, path, query, fragment) { - return {bc: fragment, bj: host, df: path, bx: port_, bA: protocol, bB: query}; - }); -var $elm$core$String$contains = _String_contains; -var $elm$core$String$length = _String_length; -var $elm$core$String$slice = _String_slice; -var $elm$core$String$dropLeft = F2( - function (n, string) { - return (n < 1) ? string : A3( - $elm$core$String$slice, - n, - $elm$core$String$length(string), - string); - }); -var $elm$core$String$indexes = _String_indexes; -var $elm$core$String$isEmpty = function (string) { - return string === ''; -}; -var $elm$core$String$left = F2( - function (n, string) { - return (n < 1) ? '' : A3($elm$core$String$slice, 0, n, string); - }); -var $elm$core$String$toInt = _String_toInt; -var $elm$url$Url$chompBeforePath = F5( - function (protocol, path, params, frag, str) { - if ($elm$core$String$isEmpty(str) || A2($elm$core$String$contains, '@', str)) { - return $elm$core$Maybe$Nothing; - } else { - var _v0 = A2($elm$core$String$indexes, ':', str); - if (!_v0.b) { - return $elm$core$Maybe$Just( - A6($elm$url$Url$Url, protocol, str, $elm$core$Maybe$Nothing, path, params, frag)); - } else { - if (!_v0.b.b) { - var i = _v0.a; - var _v1 = $elm$core$String$toInt( - A2($elm$core$String$dropLeft, i + 1, str)); - if (_v1.$ === 1) { - return $elm$core$Maybe$Nothing; - } else { - var port_ = _v1; - return $elm$core$Maybe$Just( - A6( - $elm$url$Url$Url, - protocol, - A2($elm$core$String$left, i, str), - port_, - path, - params, - frag)); - } - } else { - return $elm$core$Maybe$Nothing; - } - } - } - }); -var $elm$url$Url$chompBeforeQuery = F4( - function (protocol, params, frag, str) { - if ($elm$core$String$isEmpty(str)) { - return $elm$core$Maybe$Nothing; - } else { - var _v0 = A2($elm$core$String$indexes, '/', str); - if (!_v0.b) { - return A5($elm$url$Url$chompBeforePath, protocol, '/', params, frag, str); - } else { - var i = _v0.a; - return A5( - $elm$url$Url$chompBeforePath, - protocol, - A2($elm$core$String$dropLeft, i, str), - params, - frag, - A2($elm$core$String$left, i, str)); - } - } - }); -var $elm$url$Url$chompBeforeFragment = F3( - function (protocol, frag, str) { - if ($elm$core$String$isEmpty(str)) { - return $elm$core$Maybe$Nothing; - } else { - var _v0 = A2($elm$core$String$indexes, '?', str); - if (!_v0.b) { - return A4($elm$url$Url$chompBeforeQuery, protocol, $elm$core$Maybe$Nothing, frag, str); - } else { - var i = _v0.a; - return A4( - $elm$url$Url$chompBeforeQuery, - protocol, - $elm$core$Maybe$Just( - A2($elm$core$String$dropLeft, i + 1, str)), - frag, - A2($elm$core$String$left, i, str)); - } - } - }); -var $elm$url$Url$chompAfterProtocol = F2( - function (protocol, str) { - if ($elm$core$String$isEmpty(str)) { - return $elm$core$Maybe$Nothing; - } else { - var _v0 = A2($elm$core$String$indexes, '#', str); - if (!_v0.b) { - return A3($elm$url$Url$chompBeforeFragment, protocol, $elm$core$Maybe$Nothing, str); - } else { - var i = _v0.a; - return A3( - $elm$url$Url$chompBeforeFragment, - protocol, - $elm$core$Maybe$Just( - A2($elm$core$String$dropLeft, i + 1, str)), - A2($elm$core$String$left, i, str)); - } - } - }); -var $elm$core$String$startsWith = _String_startsWith; -var $elm$url$Url$fromString = function (str) { - return A2($elm$core$String$startsWith, 'http://', str) ? A2( - $elm$url$Url$chompAfterProtocol, - 0, - A2($elm$core$String$dropLeft, 7, str)) : (A2($elm$core$String$startsWith, 'https://', str) ? A2( - $elm$url$Url$chompAfterProtocol, - 1, - A2($elm$core$String$dropLeft, 8, str)) : $elm$core$Maybe$Nothing); -}; -var $elm$core$Basics$never = function (_v0) { - never: - while (true) { - var nvr = _v0; - var $temp$_v0 = nvr; - _v0 = $temp$_v0; - continue never; - } -}; -var $elm$core$Task$Perform = $elm$core$Basics$identity; -var $elm$core$Task$succeed = _Scheduler_succeed; -var $elm$core$Task$init = $elm$core$Task$succeed(0); -var $elm$core$List$foldrHelper = F4( - function (fn, acc, ctr, ls) { - if (!ls.b) { - return acc; - } else { - var a = ls.a; - var r1 = ls.b; - if (!r1.b) { - return A2(fn, a, acc); - } else { - var b = r1.a; - var r2 = r1.b; - if (!r2.b) { - return A2( - fn, - a, - A2(fn, b, acc)); - } else { - var c = r2.a; - var r3 = r2.b; - if (!r3.b) { - return A2( - fn, - a, - A2( - fn, - b, - A2(fn, c, acc))); - } else { - var d = r3.a; - var r4 = r3.b; - var res = (ctr > 500) ? A3( - $elm$core$List$foldl, - fn, - acc, - $elm$core$List$reverse(r4)) : A4($elm$core$List$foldrHelper, fn, acc, ctr + 1, r4); - return A2( - fn, - a, - A2( - fn, - b, - A2( - fn, - c, - A2(fn, d, res)))); - } - } - } - } - }); -var $elm$core$List$foldr = F3( - function (fn, acc, ls) { - return A4($elm$core$List$foldrHelper, fn, acc, 0, ls); - }); -var $elm$core$List$map = F2( - function (f, xs) { - return A3( - $elm$core$List$foldr, - F2( - function (x, acc) { - return A2( - $elm$core$List$cons, - f(x), - acc); - }), - _List_Nil, - xs); - }); -var $elm$core$Task$andThen = _Scheduler_andThen; -var $elm$core$Task$map = F2( - function (func, taskA) { - return A2( - $elm$core$Task$andThen, - function (a) { - return $elm$core$Task$succeed( - func(a)); - }, - taskA); - }); -var $elm$core$Task$map2 = F3( - function (func, taskA, taskB) { - return A2( - $elm$core$Task$andThen, - function (a) { - return A2( - $elm$core$Task$andThen, - function (b) { - return $elm$core$Task$succeed( - A2(func, a, b)); - }, - taskB); - }, - taskA); - }); -var $elm$core$Task$sequence = function (tasks) { - return A3( - $elm$core$List$foldr, - $elm$core$Task$map2($elm$core$List$cons), - $elm$core$Task$succeed(_List_Nil), - tasks); -}; -var $elm$core$Platform$sendToApp = _Platform_sendToApp; -var $elm$core$Task$spawnCmd = F2( - function (router, _v0) { - var task = _v0; - return _Scheduler_spawn( - A2( - $elm$core$Task$andThen, - $elm$core$Platform$sendToApp(router), - task)); - }); -var $elm$core$Task$onEffects = F3( - function (router, commands, state) { - return A2( - $elm$core$Task$map, - function (_v0) { - return 0; - }, - $elm$core$Task$sequence( - A2( - $elm$core$List$map, - $elm$core$Task$spawnCmd(router), - commands))); - }); -var $elm$core$Task$onSelfMsg = F3( - function (_v0, _v1, _v2) { - return $elm$core$Task$succeed(0); - }); -var $elm$core$Task$cmdMap = F2( - function (tagger, _v0) { - var task = _v0; - return A2($elm$core$Task$map, tagger, task); - }); -_Platform_effectManagers['Task'] = _Platform_createManager($elm$core$Task$init, $elm$core$Task$onEffects, $elm$core$Task$onSelfMsg, $elm$core$Task$cmdMap); -var $elm$core$Task$command = _Platform_leaf('Task'); -var $elm$core$Task$perform = F2( - function (toMessage, task) { - return $elm$core$Task$command( - A2($elm$core$Task$map, toMessage, task)); - }); -var $elm$browser$Browser$application = _Browser_application; -var $elm$core$Basics$composeR = F3( - function (f, g, x) { - return g( - f(x)); - }); -var $elm$url$Url$Parser$Parser = $elm$core$Basics$identity; -var $elm$core$List$append = F2( - function (xs, ys) { - if (!ys.b) { - return xs; - } else { - return A3($elm$core$List$foldr, $elm$core$List$cons, ys, xs); - } - }); -var $elm$core$List$concat = function (lists) { - return A3($elm$core$List$foldr, $elm$core$List$append, _List_Nil, lists); -}; -var $elm$core$List$concatMap = F2( - function (f, list) { - return $elm$core$List$concat( - A2($elm$core$List$map, f, list)); - }); -var $elm$url$Url$Parser$oneOf = function (parsers) { - return function (state) { - return A2( - $elm$core$List$concatMap, - function (_v0) { - var parser = _v0; - return parser(state); - }, - parsers); - }; -}; -var $elm$url$Url$Parser$State = F5( - function (visited, unvisited, params, frag, value) { - return {J: frag, N: params, G: unvisited, y: value, Q: visited}; - }); -var $elm$url$Url$Parser$getFirstMatch = function (states) { - getFirstMatch: - while (true) { - if (!states.b) { - return $elm$core$Maybe$Nothing; - } else { - var state = states.a; - var rest = states.b; - var _v1 = state.G; - if (!_v1.b) { - return $elm$core$Maybe$Just(state.y); - } else { - if ((_v1.a === '') && (!_v1.b.b)) { - return $elm$core$Maybe$Just(state.y); - } else { - var $temp$states = rest; - states = $temp$states; - continue getFirstMatch; - } - } - } - } -}; -var $elm$url$Url$Parser$removeFinalEmpty = function (segments) { - if (!segments.b) { - return _List_Nil; - } else { - if ((segments.a === '') && (!segments.b.b)) { - return _List_Nil; - } else { - var segment = segments.a; - var rest = segments.b; - return A2( - $elm$core$List$cons, - segment, - $elm$url$Url$Parser$removeFinalEmpty(rest)); - } - } -}; -var $elm$url$Url$Parser$preparePath = function (path) { - var _v0 = A2($elm$core$String$split, '/', path); - if (_v0.b && (_v0.a === '')) { - var segments = _v0.b; - return $elm$url$Url$Parser$removeFinalEmpty(segments); - } else { - var segments = _v0; - return $elm$url$Url$Parser$removeFinalEmpty(segments); - } -}; -var $elm$url$Url$Parser$addToParametersHelp = F2( - function (value, maybeList) { - if (maybeList.$ === 1) { - return $elm$core$Maybe$Just( - _List_fromArray( - [value])); - } else { - var list = maybeList.a; - return $elm$core$Maybe$Just( - A2($elm$core$List$cons, value, list)); - } - }); -var $elm$url$Url$percentDecode = _Url_percentDecode; -var $elm$core$Basics$compare = _Utils_compare; -var $elm$core$Dict$get = F2( - function (targetKey, dict) { - get: - while (true) { - if (dict.$ === -2) { - return $elm$core$Maybe$Nothing; - } else { - var key = dict.b; - var value = dict.c; - var left = dict.d; - var right = dict.e; - var _v1 = A2($elm$core$Basics$compare, targetKey, key); - switch (_v1) { - case 0: - var $temp$targetKey = targetKey, - $temp$dict = left; - targetKey = $temp$targetKey; - dict = $temp$dict; - continue get; - case 1: - return $elm$core$Maybe$Just(value); - default: - var $temp$targetKey = targetKey, - $temp$dict = right; - targetKey = $temp$targetKey; - dict = $temp$dict; - continue get; - } - } - } - }); -var $elm$core$Dict$Black = 1; -var $elm$core$Dict$RBNode_elm_builtin = F5( - function (a, b, c, d, e) { - return {$: -1, a: a, b: b, c: c, d: d, e: e}; - }); -var $elm$core$Dict$RBEmpty_elm_builtin = {$: -2}; -var $elm$core$Dict$Red = 0; -var $elm$core$Dict$balance = F5( - function (color, key, value, left, right) { - if ((right.$ === -1) && (!right.a)) { - var _v1 = right.a; - var rK = right.b; - var rV = right.c; - var rLeft = right.d; - var rRight = right.e; - if ((left.$ === -1) && (!left.a)) { - var _v3 = left.a; - var lK = left.b; - var lV = left.c; - var lLeft = left.d; - var lRight = left.e; - return A5( - $elm$core$Dict$RBNode_elm_builtin, - 0, - key, - value, - A5($elm$core$Dict$RBNode_elm_builtin, 1, lK, lV, lLeft, lRight), - A5($elm$core$Dict$RBNode_elm_builtin, 1, rK, rV, rLeft, rRight)); - } else { - return A5( - $elm$core$Dict$RBNode_elm_builtin, - color, - rK, - rV, - A5($elm$core$Dict$RBNode_elm_builtin, 0, key, value, left, rLeft), - rRight); - } - } else { - if ((((left.$ === -1) && (!left.a)) && (left.d.$ === -1)) && (!left.d.a)) { - var _v5 = left.a; - var lK = left.b; - var lV = left.c; - var _v6 = left.d; - var _v7 = _v6.a; - var llK = _v6.b; - var llV = _v6.c; - var llLeft = _v6.d; - var llRight = _v6.e; - var lRight = left.e; - return A5( - $elm$core$Dict$RBNode_elm_builtin, - 0, - lK, - lV, - A5($elm$core$Dict$RBNode_elm_builtin, 1, llK, llV, llLeft, llRight), - A5($elm$core$Dict$RBNode_elm_builtin, 1, key, value, lRight, right)); - } else { - return A5($elm$core$Dict$RBNode_elm_builtin, color, key, value, left, right); - } - } - }); -var $elm$core$Dict$insertHelp = F3( - function (key, value, dict) { - if (dict.$ === -2) { - return A5($elm$core$Dict$RBNode_elm_builtin, 0, key, value, $elm$core$Dict$RBEmpty_elm_builtin, $elm$core$Dict$RBEmpty_elm_builtin); - } else { - var nColor = dict.a; - var nKey = dict.b; - var nValue = dict.c; - var nLeft = dict.d; - var nRight = dict.e; - var _v1 = A2($elm$core$Basics$compare, key, nKey); - switch (_v1) { - case 0: - return A5( - $elm$core$Dict$balance, - nColor, - nKey, - nValue, - A3($elm$core$Dict$insertHelp, key, value, nLeft), - nRight); - case 1: - return A5($elm$core$Dict$RBNode_elm_builtin, nColor, nKey, value, nLeft, nRight); - default: - return A5( - $elm$core$Dict$balance, - nColor, - nKey, - nValue, - nLeft, - A3($elm$core$Dict$insertHelp, key, value, nRight)); - } - } - }); -var $elm$core$Dict$insert = F3( - function (key, value, dict) { - var _v0 = A3($elm$core$Dict$insertHelp, key, value, dict); - if ((_v0.$ === -1) && (!_v0.a)) { - var _v1 = _v0.a; - var k = _v0.b; - var v = _v0.c; - var l = _v0.d; - var r = _v0.e; - return A5($elm$core$Dict$RBNode_elm_builtin, 1, k, v, l, r); - } else { - var x = _v0; - return x; - } - }); -var $elm$core$Dict$getMin = function (dict) { - getMin: - while (true) { - if ((dict.$ === -1) && (dict.d.$ === -1)) { - var left = dict.d; - var $temp$dict = left; - dict = $temp$dict; - continue getMin; - } else { - return dict; - } - } -}; -var $elm$core$Dict$moveRedLeft = function (dict) { - if (((dict.$ === -1) && (dict.d.$ === -1)) && (dict.e.$ === -1)) { - if ((dict.e.d.$ === -1) && (!dict.e.d.a)) { - var clr = dict.a; - var k = dict.b; - var v = dict.c; - var _v1 = dict.d; - var lClr = _v1.a; - var lK = _v1.b; - var lV = _v1.c; - var lLeft = _v1.d; - var lRight = _v1.e; - var _v2 = dict.e; - var rClr = _v2.a; - var rK = _v2.b; - var rV = _v2.c; - var rLeft = _v2.d; - var _v3 = rLeft.a; - var rlK = rLeft.b; - var rlV = rLeft.c; - var rlL = rLeft.d; - var rlR = rLeft.e; - var rRight = _v2.e; - return A5( - $elm$core$Dict$RBNode_elm_builtin, - 0, - rlK, - rlV, - A5( - $elm$core$Dict$RBNode_elm_builtin, - 1, - k, - v, - A5($elm$core$Dict$RBNode_elm_builtin, 0, lK, lV, lLeft, lRight), - rlL), - A5($elm$core$Dict$RBNode_elm_builtin, 1, rK, rV, rlR, rRight)); - } else { - var clr = dict.a; - var k = dict.b; - var v = dict.c; - var _v4 = dict.d; - var lClr = _v4.a; - var lK = _v4.b; - var lV = _v4.c; - var lLeft = _v4.d; - var lRight = _v4.e; - var _v5 = dict.e; - var rClr = _v5.a; - var rK = _v5.b; - var rV = _v5.c; - var rLeft = _v5.d; - var rRight = _v5.e; - if (clr === 1) { - return A5( - $elm$core$Dict$RBNode_elm_builtin, - 1, - k, - v, - A5($elm$core$Dict$RBNode_elm_builtin, 0, lK, lV, lLeft, lRight), - A5($elm$core$Dict$RBNode_elm_builtin, 0, rK, rV, rLeft, rRight)); - } else { - return A5( - $elm$core$Dict$RBNode_elm_builtin, - 1, - k, - v, - A5($elm$core$Dict$RBNode_elm_builtin, 0, lK, lV, lLeft, lRight), - A5($elm$core$Dict$RBNode_elm_builtin, 0, rK, rV, rLeft, rRight)); - } - } - } else { - return dict; - } -}; -var $elm$core$Dict$moveRedRight = function (dict) { - if (((dict.$ === -1) && (dict.d.$ === -1)) && (dict.e.$ === -1)) { - if ((dict.d.d.$ === -1) && (!dict.d.d.a)) { - var clr = dict.a; - var k = dict.b; - var v = dict.c; - var _v1 = dict.d; - var lClr = _v1.a; - var lK = _v1.b; - var lV = _v1.c; - var _v2 = _v1.d; - var _v3 = _v2.a; - var llK = _v2.b; - var llV = _v2.c; - var llLeft = _v2.d; - var llRight = _v2.e; - var lRight = _v1.e; - var _v4 = dict.e; - var rClr = _v4.a; - var rK = _v4.b; - var rV = _v4.c; - var rLeft = _v4.d; - var rRight = _v4.e; - return A5( - $elm$core$Dict$RBNode_elm_builtin, - 0, - lK, - lV, - A5($elm$core$Dict$RBNode_elm_builtin, 1, llK, llV, llLeft, llRight), - A5( - $elm$core$Dict$RBNode_elm_builtin, - 1, - k, - v, - lRight, - A5($elm$core$Dict$RBNode_elm_builtin, 0, rK, rV, rLeft, rRight))); - } else { - var clr = dict.a; - var k = dict.b; - var v = dict.c; - var _v5 = dict.d; - var lClr = _v5.a; - var lK = _v5.b; - var lV = _v5.c; - var lLeft = _v5.d; - var lRight = _v5.e; - var _v6 = dict.e; - var rClr = _v6.a; - var rK = _v6.b; - var rV = _v6.c; - var rLeft = _v6.d; - var rRight = _v6.e; - if (clr === 1) { - return A5( - $elm$core$Dict$RBNode_elm_builtin, - 1, - k, - v, - A5($elm$core$Dict$RBNode_elm_builtin, 0, lK, lV, lLeft, lRight), - A5($elm$core$Dict$RBNode_elm_builtin, 0, rK, rV, rLeft, rRight)); - } else { - return A5( - $elm$core$Dict$RBNode_elm_builtin, - 1, - k, - v, - A5($elm$core$Dict$RBNode_elm_builtin, 0, lK, lV, lLeft, lRight), - A5($elm$core$Dict$RBNode_elm_builtin, 0, rK, rV, rLeft, rRight)); - } - } - } else { - return dict; - } -}; -var $elm$core$Dict$removeHelpPrepEQGT = F7( - function (targetKey, dict, color, key, value, left, right) { - if ((left.$ === -1) && (!left.a)) { - var _v1 = left.a; - var lK = left.b; - var lV = left.c; - var lLeft = left.d; - var lRight = left.e; - return A5( - $elm$core$Dict$RBNode_elm_builtin, - color, - lK, - lV, - lLeft, - A5($elm$core$Dict$RBNode_elm_builtin, 0, key, value, lRight, right)); - } else { - _v2$2: - while (true) { - if ((right.$ === -1) && (right.a === 1)) { - if (right.d.$ === -1) { - if (right.d.a === 1) { - var _v3 = right.a; - var _v4 = right.d; - var _v5 = _v4.a; - return $elm$core$Dict$moveRedRight(dict); - } else { - break _v2$2; - } - } else { - var _v6 = right.a; - var _v7 = right.d; - return $elm$core$Dict$moveRedRight(dict); - } - } else { - break _v2$2; - } - } - return dict; - } - }); -var $elm$core$Dict$removeMin = function (dict) { - if ((dict.$ === -1) && (dict.d.$ === -1)) { - var color = dict.a; - var key = dict.b; - var value = dict.c; - var left = dict.d; - var lColor = left.a; - var lLeft = left.d; - var right = dict.e; - if (lColor === 1) { - if ((lLeft.$ === -1) && (!lLeft.a)) { - var _v3 = lLeft.a; - return A5( - $elm$core$Dict$RBNode_elm_builtin, - color, - key, - value, - $elm$core$Dict$removeMin(left), - right); - } else { - var _v4 = $elm$core$Dict$moveRedLeft(dict); - if (_v4.$ === -1) { - var nColor = _v4.a; - var nKey = _v4.b; - var nValue = _v4.c; - var nLeft = _v4.d; - var nRight = _v4.e; - return A5( - $elm$core$Dict$balance, - nColor, - nKey, - nValue, - $elm$core$Dict$removeMin(nLeft), - nRight); - } else { - return $elm$core$Dict$RBEmpty_elm_builtin; - } - } - } else { - return A5( - $elm$core$Dict$RBNode_elm_builtin, - color, - key, - value, - $elm$core$Dict$removeMin(left), - right); - } - } else { - return $elm$core$Dict$RBEmpty_elm_builtin; - } -}; -var $elm$core$Dict$removeHelp = F2( - function (targetKey, dict) { - if (dict.$ === -2) { - return $elm$core$Dict$RBEmpty_elm_builtin; - } else { - var color = dict.a; - var key = dict.b; - var value = dict.c; - var left = dict.d; - var right = dict.e; - if (_Utils_cmp(targetKey, key) < 0) { - if ((left.$ === -1) && (left.a === 1)) { - var _v4 = left.a; - var lLeft = left.d; - if ((lLeft.$ === -1) && (!lLeft.a)) { - var _v6 = lLeft.a; - return A5( - $elm$core$Dict$RBNode_elm_builtin, - color, - key, - value, - A2($elm$core$Dict$removeHelp, targetKey, left), - right); - } else { - var _v7 = $elm$core$Dict$moveRedLeft(dict); - if (_v7.$ === -1) { - var nColor = _v7.a; - var nKey = _v7.b; - var nValue = _v7.c; - var nLeft = _v7.d; - var nRight = _v7.e; - return A5( - $elm$core$Dict$balance, - nColor, - nKey, - nValue, - A2($elm$core$Dict$removeHelp, targetKey, nLeft), - nRight); - } else { - return $elm$core$Dict$RBEmpty_elm_builtin; - } - } - } else { - return A5( - $elm$core$Dict$RBNode_elm_builtin, - color, - key, - value, - A2($elm$core$Dict$removeHelp, targetKey, left), - right); - } - } else { - return A2( - $elm$core$Dict$removeHelpEQGT, - targetKey, - A7($elm$core$Dict$removeHelpPrepEQGT, targetKey, dict, color, key, value, left, right)); - } - } - }); -var $elm$core$Dict$removeHelpEQGT = F2( - function (targetKey, dict) { - if (dict.$ === -1) { - var color = dict.a; - var key = dict.b; - var value = dict.c; - var left = dict.d; - var right = dict.e; - if (_Utils_eq(targetKey, key)) { - var _v1 = $elm$core$Dict$getMin(right); - if (_v1.$ === -1) { - var minKey = _v1.b; - var minValue = _v1.c; - return A5( - $elm$core$Dict$balance, - color, - minKey, - minValue, - left, - $elm$core$Dict$removeMin(right)); - } else { - return $elm$core$Dict$RBEmpty_elm_builtin; - } - } else { - return A5( - $elm$core$Dict$balance, - color, - key, - value, - left, - A2($elm$core$Dict$removeHelp, targetKey, right)); - } - } else { - return $elm$core$Dict$RBEmpty_elm_builtin; - } - }); -var $elm$core$Dict$remove = F2( - function (key, dict) { - var _v0 = A2($elm$core$Dict$removeHelp, key, dict); - if ((_v0.$ === -1) && (!_v0.a)) { - var _v1 = _v0.a; - var k = _v0.b; - var v = _v0.c; - var l = _v0.d; - var r = _v0.e; - return A5($elm$core$Dict$RBNode_elm_builtin, 1, k, v, l, r); - } else { - var x = _v0; - return x; - } - }); -var $elm$core$Dict$update = F3( - function (targetKey, alter, dictionary) { - var _v0 = alter( - A2($elm$core$Dict$get, targetKey, dictionary)); - if (!_v0.$) { - var value = _v0.a; - return A3($elm$core$Dict$insert, targetKey, value, dictionary); - } else { - return A2($elm$core$Dict$remove, targetKey, dictionary); - } - }); -var $elm$url$Url$Parser$addParam = F2( - function (segment, dict) { - var _v0 = A2($elm$core$String$split, '=', segment); - if ((_v0.b && _v0.b.b) && (!_v0.b.b.b)) { - var rawKey = _v0.a; - var _v1 = _v0.b; - var rawValue = _v1.a; - var _v2 = $elm$url$Url$percentDecode(rawKey); - if (_v2.$ === 1) { - return dict; - } else { - var key = _v2.a; - var _v3 = $elm$url$Url$percentDecode(rawValue); - if (_v3.$ === 1) { - return dict; - } else { - var value = _v3.a; - return A3( - $elm$core$Dict$update, - key, - $elm$url$Url$Parser$addToParametersHelp(value), - dict); - } - } - } else { - return dict; - } - }); -var $elm$core$Dict$empty = $elm$core$Dict$RBEmpty_elm_builtin; -var $elm$url$Url$Parser$prepareQuery = function (maybeQuery) { - if (maybeQuery.$ === 1) { - return $elm$core$Dict$empty; - } else { - var qry = maybeQuery.a; - return A3( - $elm$core$List$foldr, - $elm$url$Url$Parser$addParam, - $elm$core$Dict$empty, - A2($elm$core$String$split, '&', qry)); - } -}; -var $elm$url$Url$Parser$parse = F2( - function (_v0, url) { - var parser = _v0; - return $elm$url$Url$Parser$getFirstMatch( - parser( - A5( - $elm$url$Url$Parser$State, - _List_Nil, - $elm$url$Url$Parser$preparePath(url.df), - $elm$url$Url$Parser$prepareQuery(url.bB), - url.bc, - $elm$core$Basics$identity))); - }); -var $elm$core$Maybe$withDefault = F2( - function (_default, maybe) { - if (!maybe.$) { - var value = maybe.a; - return value; - } else { - return _default; - } - }); -var $ryannhg$elm_spa$Spa$fromUrl = function (config) { - return A2( - $elm$core$Basics$composeR, - $elm$url$Url$Parser$parse( - $elm$url$Url$Parser$oneOf(config.$7)), - $elm$core$Maybe$withDefault(config.ac)); -}; -var $ryannhg$elm_spa$Spa$FadeInLayout = {$: 4}; -var $ryannhg$elm_spa$Spa$Global = function (a) { - return {$: 2, a: a}; -}; -var $ryannhg$elm_spa$Spa$Page = function (a) { - return {$: 3, a: a}; -}; -var $elm$core$Platform$Cmd$batch = _Platform_batch; -var $elm$core$Process$sleep = _Process_sleep; -var $ryannhg$elm_spa$Internals$Utils$delay = F2( - function (ms, msg) { - return A2( - $elm$core$Task$perform, - function (_v0) { - return msg; - }, - $elm$core$Process$sleep(ms)); - }); -var $ryannhg$elm_spa$Internals$Transition$duration = function (transition) { - switch (transition.$) { - case 0: - return 0; - case 1: - return 0; - default: - var t = transition.a; - return t.au; - } -}; -var $ryannhg$elm_spa$Internals$Transition$Invisible = 0; -var $ryannhg$elm_spa$Internals$Transition$invisible = 0; -var $elm$core$Platform$Cmd$map = _Platform_map; -var $ryannhg$elm_spa$Internals$Utils$send = A2( - $elm$core$Basics$composeR, - $elm$core$Task$succeed, - $elm$core$Task$perform($elm$core$Basics$identity)); -var $ryannhg$elm_spa$Spa$navigate = F3( - function (toPath, url, route) { - return $ryannhg$elm_spa$Internals$Utils$send( - $ryannhg$elm_spa$Spa$ClickedLink( - $elm$browser$Browser$Internal( - _Utils_update( - url, - { - df: toPath(route) - })))); - }); -var $elm$core$List$drop = F2( - function (n, list) { - drop: - while (true) { - if (n <= 0) { - return list; - } else { - if (!list.b) { - return list; - } else { - var x = list.a; - var xs = list.b; - var $temp$n = n - 1, - $temp$list = xs; - n = $temp$n; - list = $temp$list; - continue drop; - } - } - } - }); -var $elm$core$List$filter = F2( - function (isGood, list) { - return A3( - $elm$core$List$foldr, - F2( - function (x, xs) { - return isGood(x) ? A2($elm$core$List$cons, x, xs) : xs; - }), - _List_Nil, - list); - }); -var $elm$core$Dict$fromList = function (assocs) { - return A3( - $elm$core$List$foldl, - F2( - function (_v0, dict) { - var key = _v0.a; - var value = _v0.b; - return A3($elm$core$Dict$insert, key, value, dict); - }), - $elm$core$Dict$empty, - assocs); -}; -var $elm$core$List$head = function (list) { - if (list.b) { - var x = list.a; - var xs = list.b; - return $elm$core$Maybe$Just(x); - } else { - return $elm$core$Maybe$Nothing; - } -}; -var $elm$core$Maybe$map = F2( - function (f, maybe) { - if (!maybe.$) { - var value = maybe.a; - return $elm$core$Maybe$Just( - f(value)); - } else { - return $elm$core$Maybe$Nothing; - } - }); -var $elm$core$Tuple$mapBoth = F3( - function (funcA, funcB, _v0) { - var x = _v0.a; - var y = _v0.b; - return _Utils_Tuple2( - funcA(x), - funcB(y)); - }); -var $elm$core$Basics$not = _Basics_not; -var $ryannhg$elm_spa$Spa$queryParameters = function (url) { - var toDict = function (query) { - return $elm$core$Dict$fromList( - A2( - $elm$core$List$filter, - function (_v0) { - var key = _v0.a; - return !$elm$core$String$isEmpty(key); - }, - A2( - $elm$core$List$map, - A2( - $elm$core$Tuple$mapBoth, - $elm$core$Maybe$withDefault(''), - $elm$core$Maybe$withDefault('')), - A2( - $elm$core$List$map, - function (pieces) { - return _Utils_Tuple2( - $elm$core$List$head(pieces), - $elm$core$List$head( - A2($elm$core$List$drop, 1, pieces))); - }, - A2( - $elm$core$List$map, - $elm$core$String$split('='), - A2($elm$core$String$split, '&', query)))))); - }; - return A2( - $elm$core$Maybe$withDefault, - $elm$core$Dict$empty, - A2($elm$core$Maybe$map, toDict, url.bB)); -}; -var $ryannhg$elm_spa$Internals$Transition$Visible = 1; -var $ryannhg$elm_spa$Internals$Transition$visible = 1; -var $ryannhg$elm_spa$Spa$init = F4( - function (config, flags, url, key) { - return function (route) { - var _v0 = A2( - config.aa.cH, - { - c2: A2($ryannhg$elm_spa$Spa$navigate, config.dp.d0, url) - }, - flags); - var globalModel = _v0.a; - var globalCmd = _v0.b; - var cmd = _v0.c; - var _v1 = A2( - config.aa.dd, - route, - { - cH: globalModel, - dh: $ryannhg$elm_spa$Spa$queryParameters(url), - dn: route - }); - var pageModel = _v1.a; - var pageCmd = _v1.b; - var pageGlobalCmd = _v1.c; - return _Utils_Tuple2( - { - ba: flags, - cH: globalModel, - bm: key, - ay: pageModel, - df: _List_Nil, - bN: url, - z: {cX: $ryannhg$elm_spa$Internals$Transition$invisible, ay: $ryannhg$elm_spa$Internals$Transition$visible} - }, - $elm$core$Platform$Cmd$batch( - _List_fromArray( - [ - A2($elm$core$Platform$Cmd$map, $ryannhg$elm_spa$Spa$Page, pageCmd), - A2($elm$core$Platform$Cmd$map, $ryannhg$elm_spa$Spa$Global, pageGlobalCmd), - A2($elm$core$Platform$Cmd$map, $ryannhg$elm_spa$Spa$Global, globalCmd), - A2( - $ryannhg$elm_spa$Internals$Utils$delay, - $ryannhg$elm_spa$Internals$Transition$duration(config.dp.bM), - $ryannhg$elm_spa$Spa$FadeInLayout), - cmd - ]))); - }( - config.dp.n(url)); - }); -var $elm$core$List$sortBy = _List_sortBy; -var $ryannhg$elm_spa$Spa$pageTransitions = function (transitions) { - return A2( - $elm$core$List$sortBy, - A2( - $elm$core$Basics$composeR, - function ($) { - return $.df; - }, - $elm$core$List$length), - A2( - $elm$core$List$cons, - {df: _List_Nil, bM: transitions.ay}, - transitions.dd)); -}; -var $elm$core$Platform$Sub$batch = _Platform_batch; -var $elm$core$Platform$Sub$map = _Platform_map; -var $ryannhg$elm_spa$Spa$subscriptions = F2( - function (config, model) { - return $elm$core$Platform$Sub$batch( - _List_fromArray( - [ - A3( - config.Z, - model.ay, - {cF: $ryannhg$elm_spa$Spa$Global, be: $ryannhg$elm_spa$Spa$Page, c_: config.c_, df: model.df, d4: _List_Nil, bR: model.z.ay}, - { - cH: model.cH, - dh: $ryannhg$elm_spa$Spa$queryParameters(model.bN), - dn: config.n(model.bN) - }).dK, - A2( - $elm$core$Platform$Sub$map, - $ryannhg$elm_spa$Spa$Global, - config.cH(model.cH)) - ])); - }); -var $ryannhg$elm_spa$Spa$FadeInPage = function (a) { - return {$: 5, a: a}; -}; -var $elm$core$Basics$neq = _Utils_notEqual; -var $ryannhg$elm_spa$Internals$Transition$OptOut = {$: 0}; -var $ryannhg$elm_spa$Internals$Transition$optOut = $ryannhg$elm_spa$Internals$Transition$OptOut; -var $ryannhg$elm_spa$Spa$urlPath = function (url) { - return A2( - $elm$core$String$split, - '/', - A2($elm$core$String$dropLeft, 1, url.df)); -}; -var $elm$core$List$any = F2( - function (isOkay, list) { - any: - while (true) { - if (!list.b) { - return false; - } else { - var x = list.a; - var xs = list.b; - if (isOkay(x)) { - return true; - } else { - var $temp$isOkay = isOkay, - $temp$list = xs; - isOkay = $temp$isOkay; - list = $temp$list; - continue any; - } - } - } - }); -var $elm$core$Basics$composeL = F3( - function (g, f, x) { - return g( - f(x)); - }); -var $elm$core$List$all = F2( - function (isOkay, list) { - return !A2( - $elm$core$List$any, - A2($elm$core$Basics$composeL, $elm$core$Basics$not, isOkay), - list); - }); -var $ryannhg$elm_spa$Internals$Path$matches = F2( - function (str, piece) { - if (!piece.$) { - var value = piece.a; - return _Utils_eq(str, value); - } else { - return true; - } - }); -var $ryannhg$elm_spa$Internals$Path$within = F2( - function (strings, pieces) { - return (_Utils_cmp( - $elm$core$List$length(pieces), - $elm$core$List$length(strings)) < 1) && A2( - $elm$core$List$all, - $elm$core$Basics$eq(true), - A3($elm$core$List$map2, $ryannhg$elm_spa$Internals$Path$matches, strings, pieces)); - }); -var $ryannhg$elm_spa$Spa$chooseFrom = function (options) { - var _v0 = A3( - $elm$core$Tuple$mapBoth, - $ryannhg$elm_spa$Spa$urlPath, - $ryannhg$elm_spa$Spa$urlPath, - _Utils_Tuple2(options.bd, options.bL)); - var fromPath = _v0.a; - var toPath = _v0.b; - return $elm$core$List$head( - A2( - $elm$core$List$filter, - function (_v1) { - var path = _v1.df; - var transition = _v1.bM; - return A2($ryannhg$elm_spa$Internals$Path$within, fromPath, path) && (A2($ryannhg$elm_spa$Internals$Path$within, toPath, path) && (!_Utils_eq(transition, $ryannhg$elm_spa$Internals$Transition$optOut))); - }, - $elm$core$List$reverse(options.d4))); -}; -var $elm$browser$Browser$Navigation$load = _Browser_load; -var $elm$core$Platform$Cmd$none = $elm$core$Platform$Cmd$batch(_List_Nil); -var $elm$browser$Browser$Navigation$pushUrl = _Browser_pushUrl; -var $elm$url$Url$addPort = F2( - function (maybePort, starter) { - if (maybePort.$ === 1) { - return starter; - } else { - var port_ = maybePort.a; - return starter + (':' + $elm$core$String$fromInt(port_)); - } - }); -var $elm$url$Url$addPrefixed = F3( - function (prefix, maybeSegment, starter) { - if (maybeSegment.$ === 1) { - return starter; - } else { - var segment = maybeSegment.a; - return _Utils_ap( - starter, - _Utils_ap(prefix, segment)); - } - }); -var $elm$url$Url$toString = function (url) { - var http = function () { - var _v0 = url.bA; - if (!_v0) { - return 'http://'; - } else { - return 'https://'; - } - }(); - return A3( - $elm$url$Url$addPrefixed, - '#', - url.bc, - A3( - $elm$url$Url$addPrefixed, - '?', - url.bB, - _Utils_ap( - A2( - $elm$url$Url$addPort, - url.bx, - _Utils_ap(http, url.bj)), - url.df))); -}; -var $ryannhg$elm_spa$Spa$update = F3( - function (config, msg, model) { - switch (msg.$) { - case 4: - return _Utils_Tuple2( - _Utils_update( - model, - { - z: {cX: $ryannhg$elm_spa$Internals$Transition$visible, ay: model.z.ay} - }), - $elm$core$Platform$Cmd$none); - case 5: - var url = msg.a; - return function (_v1) { - var pageModel = _v1.a; - var pageCmd = _v1.b; - var globalCmd = _v1.c; - return _Utils_Tuple2( - _Utils_update( - model, - { - ay: pageModel, - z: {cX: $ryannhg$elm_spa$Internals$Transition$visible, ay: $ryannhg$elm_spa$Internals$Transition$visible} - }), - $elm$core$Platform$Cmd$batch( - _List_fromArray( - [ - A2($elm$core$Platform$Cmd$map, $ryannhg$elm_spa$Spa$Page, pageCmd), - A2($elm$core$Platform$Cmd$map, $ryannhg$elm_spa$Spa$Global, globalCmd) - ]))); - }( - function (route) { - return A2( - config.aa, - route, - { - cH: model.cH, - dh: $ryannhg$elm_spa$Spa$queryParameters(model.bN), - dn: route - }); - }( - config.dp.n(url))); - case 1: - if (!msg.a.$) { - var url = msg.a.a; - return _Utils_eq(url, model.bN) ? _Utils_Tuple2(model, $elm$core$Platform$Cmd$none) : _Utils_Tuple2( - model, - A2( - $elm$browser$Browser$Navigation$pushUrl, - model.bm, - $elm$url$Url$toString(url))); - } else { - var url = msg.a.a; - return _Utils_Tuple2( - model, - $elm$browser$Browser$Navigation$load(url)); - } - case 0: - var url = msg.a; - var _v2 = A2( - $elm$core$Maybe$withDefault, - _Utils_Tuple2(_List_Nil, 0), - A2( - $elm$core$Maybe$map, - function (item) { - return _Utils_Tuple2( - item.df, - $ryannhg$elm_spa$Internals$Transition$duration(item.bM)); - }, - A2( - $elm$core$Maybe$withDefault, - $elm$core$List$head(config.dp.d4), - $elm$core$Maybe$Just( - $ryannhg$elm_spa$Spa$chooseFrom( - {bd: model.bN, bL: url, d4: config.dp.d4}))))); - var path = _v2.a; - var duration = _v2.b; - return _Utils_Tuple2( - _Utils_update( - model, - { - df: path, - bN: url, - z: {cX: $ryannhg$elm_spa$Internals$Transition$visible, ay: $ryannhg$elm_spa$Internals$Transition$invisible} - }), - $elm$core$Platform$Cmd$batch( - _List_fromArray( - [ - A2( - $ryannhg$elm_spa$Internals$Utils$delay, - duration, - $ryannhg$elm_spa$Spa$FadeInPage(url)), - function () { - var _v3 = config.dp.b_; - if (!_v3.$) { - var toMsg = _v3.a; - return A2( - $elm$core$Basics$composeR, - $ryannhg$elm_spa$Internals$Utils$send, - $elm$core$Platform$Cmd$map($ryannhg$elm_spa$Spa$Global))( - toMsg( - { - c3: config.dp.n(url), - c4: config.dp.n(model.bN) - })); - } else { - return $elm$core$Platform$Cmd$none; - } - }() - ]))); - case 2: - var globalMsg = msg.a; - return function (_v4) { - var global = _v4.a; - var globalCmd = _v4.b; - var cmd = _v4.c; - return _Utils_Tuple2( - _Utils_update( - model, - {cH: global}), - $elm$core$Platform$Cmd$batch( - _List_fromArray( - [ - A2($elm$core$Platform$Cmd$map, $ryannhg$elm_spa$Spa$Global, globalCmd), - cmd - ]))); - }( - A3( - config.am.cH, - { - c2: A2($ryannhg$elm_spa$Spa$navigate, config.dp.d0, model.bN) - }, - globalMsg, - model.cH)); - default: - var pageMsg = msg.a; - return function (_v5) { - var page = _v5.a; - var pageCmd = _v5.b; - var globalCmd = _v5.c; - return _Utils_Tuple2( - _Utils_update( - model, - {ay: page}), - $elm$core$Platform$Cmd$batch( - _List_fromArray( - [ - A2($elm$core$Platform$Cmd$map, $ryannhg$elm_spa$Spa$Page, pageCmd), - A2($elm$core$Platform$Cmd$map, $ryannhg$elm_spa$Spa$Global, globalCmd) - ]))); - }( - A3( - config.am.dd, - pageMsg, - model.ay, - { - cH: model.cH, - dh: $ryannhg$elm_spa$Spa$queryParameters(model.bN), - dn: config.dp.n(model.bN) - })); - } - }); -var $ryannhg$elm_spa$Internals$Page$upgrade = F2( - function (map, config) { - var _v0 = config.ay; - var page = _v0; - return page( - {c_: map, aB: config.aB, aC: config.aC}); - }); -var $ryannhg$elm_spa$Internals$Transition$view = F3( - function (transition, visibility, page) { - switch (transition.$) { - case 0: - return page; - case 1: - return page; - default: - var t = transition.a; - if (visibility === 1) { - return t.aF(page); - } else { - return t.ax(page); - } - } - }); -var $ryannhg$elm_spa$Spa$view = F2( - function (config, model) { - var bundle = A3( - config.Z, - model.ay, - { - cF: $ryannhg$elm_spa$Spa$Global, - be: $ryannhg$elm_spa$Spa$Page, - c_: config.c_, - df: model.df, - d4: $ryannhg$elm_spa$Spa$pageTransitions(config.d4), - bR: model.z.ay - }, - { - cH: model.cH, - dh: $ryannhg$elm_spa$Spa$queryParameters(model.bN), - dn: config.n(model.bN) - }); - return { - cf: _List_fromArray( - [ - config.ah( - A3($ryannhg$elm_spa$Internals$Transition$view, config.d4.cX, model.z.cX, bundle.d7)) - ]), - d$: bundle.d$ - }; - }); -var $ryannhg$elm_spa$Spa$create = function (config) { - var page = A2( - $ryannhg$elm_spa$Internals$Page$upgrade, - $elm$core$Basics$always($elm$core$Basics$identity), - {ay: config.ay, aB: $elm$core$Basics$identity, aC: $elm$core$Basics$identity}); - return $elm$browser$Browser$application( - { - aa: $ryannhg$elm_spa$Spa$init( - { - aa: {cH: config.cH.aa, dd: page.aa}, - dp: { - n: $ryannhg$elm_spa$Spa$fromUrl(config.dp), - d0: config.dp.d0, - bM: config.d4.cX - } - }), - c9: $ryannhg$elm_spa$Spa$ChangedUrl, - da: $ryannhg$elm_spa$Spa$ClickedLink, - dK: $ryannhg$elm_spa$Spa$subscriptions( - { - Z: page.Z, - n: $ryannhg$elm_spa$Spa$fromUrl(config.dp), - cH: config.cH.dK, - c_: config.d5.c_, - bM: config.d4.cX - }), - am: $ryannhg$elm_spa$Spa$update( - { - aa: page.aa, - dp: { - b_: config.dp.b_, - n: $ryannhg$elm_spa$Spa$fromUrl(config.dp), - $7: config.dp.$7, - d0: config.dp.d0, - d4: $ryannhg$elm_spa$Spa$pageTransitions(config.d4) - }, - am: {cH: config.cH.am, dd: page.am} - }), - d7: $ryannhg$elm_spa$Spa$view( - { - Z: page.Z, - n: $ryannhg$elm_spa$Spa$fromUrl(config.dp), - c_: config.d5.c_, - ah: config.d5.ah, - d4: config.d4 - }) - }); -}; -var $elm$json$Json$Encode$object = function (pairs) { - return _Json_wrap( - A3( - $elm$core$List$foldl, - F2( - function (_v0, obj) { - var k = _v0.a; - var v = _v0.b; - return A3(_Json_addField, k, v, obj); - }), - _Json_emptyObject(0), - pairs)); -}; -var $elm$json$Json$Encode$string = _Json_wrap; -var $author$project$Ports$outgoing = _Platform_outgoingPort( - 'outgoing', - function ($) { - return $elm$json$Json$Encode$object( - _List_fromArray( - [ - _Utils_Tuple2( - 'action', - $elm$json$Json$Encode$string($.a$)), - _Utils_Tuple2( - 'data', - $elm$core$Basics$identity($.a6)) - ])); - }); -var $author$project$Ports$log = function (message) { - return $author$project$Ports$outgoing( - { - a$: 'LOG', - a6: $elm$json$Json$Encode$string(message) - }); -}; -var $author$project$Global$init = F2( - function (_v0, _v1) { - return _Utils_Tuple3( - {aD: $elm$core$Maybe$Nothing}, - $elm$core$Platform$Cmd$none, - $author$project$Ports$log('Hello!')); - }); -var $author$project$Generated$Pages$NotFoundModel = function (a) { - return {$: 0, a: a}; -}; -var $author$project$Generated$Pages$NotFoundMsg = function (a) { - return {$: 0, a: a}; -}; -var $author$project$Generated$Pages$SignInModel = function (a) { - return {$: 1, a: a}; -}; -var $author$project$Generated$Pages$SignInMsg = function (a) { - return {$: 1, a: a}; -}; -var $author$project$Generated$Pages$SwitchesModel = function (a) { - return {$: 2, a: a}; -}; -var $author$project$Generated$Pages$SwitchesMsg = function (a) { - return {$: 2, a: a}; -}; -var $author$project$Generated$Pages$TopModel = function (a) { - return {$: 3, a: a}; -}; -var $author$project$Generated$Pages$TopMsg = function (a) { - return {$: 3, a: a}; -}; -var $ryannhg$elm_spa$Internals$Page$Page = $elm$core$Basics$identity; -var $elm$core$Platform$Sub$none = $elm$core$Platform$Sub$batch(_List_Nil); -var $ryannhg$elm_spa$Spa$Page$static = function (page) { - return function (_v0) { - var toModel = _v0.aB; - var toMsg = _v0.aC; - var map = _v0.c_; - return { - Z: F3( - function (_v1, _private, context) { - return { - dK: $elm$core$Platform$Sub$none, - d$: page.d$( - {cH: context.cH}), - d7: A2( - _private.c_, - _private.be, - A2( - map, - toMsg, - page.d7(context))) - }; - }), - aa: F2( - function (_v2, _v3) { - return _Utils_Tuple3( - toModel(0), - $elm$core$Platform$Cmd$none, - $elm$core$Platform$Cmd$none); - }), - am: F3( - function (_v4, model, _v5) { - return _Utils_Tuple3( - toModel(model), - $elm$core$Platform$Cmd$none, - $elm$core$Platform$Cmd$none); - }) - }; - }; -}; -var $mdgriffith$elm_ui$Internal$Model$StyleClass = F2( - function (a, b) { - return {$: 4, a: a, b: b}; - }); -var $mdgriffith$elm_ui$Internal$Model$Transparency = F2( - function (a, b) { - return {$: 12, a: a, b: b}; - }); -var $elm$core$Basics$round = _Basics_round; -var $mdgriffith$elm_ui$Internal$Model$floatClass = function (x) { - return $elm$core$String$fromInt( - $elm$core$Basics$round(x * 255)); -}; -var $elm$core$Basics$min = F2( - function (x, y) { - return (_Utils_cmp(x, y) < 0) ? x : y; - }); -var $mdgriffith$elm_ui$Internal$Flag$Flag = function (a) { - return {$: 0, a: a}; -}; -var $mdgriffith$elm_ui$Internal$Flag$Second = function (a) { - return {$: 1, a: a}; -}; -var $elm$core$Bitwise$shiftLeftBy = _Bitwise_shiftLeftBy; -var $mdgriffith$elm_ui$Internal$Flag$flag = function (i) { - return (i > 31) ? $mdgriffith$elm_ui$Internal$Flag$Second(1 << (i - 32)) : $mdgriffith$elm_ui$Internal$Flag$Flag(1 << i); -}; -var $mdgriffith$elm_ui$Internal$Flag$transparency = $mdgriffith$elm_ui$Internal$Flag$flag(0); -var $mdgriffith$elm_ui$Element$alpha = function (o) { - var transparency = function (x) { - return 1 - x; - }( - A2( - $elm$core$Basics$min, - 1.0, - A2($elm$core$Basics$max, 0.0, o))); - return A2( - $mdgriffith$elm_ui$Internal$Model$StyleClass, - $mdgriffith$elm_ui$Internal$Flag$transparency, - A2( - $mdgriffith$elm_ui$Internal$Model$Transparency, - 'transparency-' + $mdgriffith$elm_ui$Internal$Model$floatClass(transparency), - transparency)); -}; -var $mdgriffith$elm_ui$Internal$Model$AlignX = function (a) { - return {$: 6, a: a}; -}; -var $mdgriffith$elm_ui$Internal$Model$CenterX = 1; -var $mdgriffith$elm_ui$Element$centerX = $mdgriffith$elm_ui$Internal$Model$AlignX(1); -var $mdgriffith$elm_ui$Internal$Model$AlignY = function (a) { - return {$: 5, a: a}; -}; -var $mdgriffith$elm_ui$Internal$Model$CenterY = 1; -var $mdgriffith$elm_ui$Element$centerY = $mdgriffith$elm_ui$Internal$Model$AlignY(1); -var $mdgriffith$elm_ui$Internal$Model$Colored = F3( - function (a, b, c) { - return {$: 4, a: a, b: b, c: c}; - }); -var $mdgriffith$elm_ui$Internal$Flag$fontColor = $mdgriffith$elm_ui$Internal$Flag$flag(14); -var $mdgriffith$elm_ui$Internal$Model$formatColorClass = function (_v0) { - var red = _v0.a; - var green = _v0.b; - var blue = _v0.c; - var alpha = _v0.d; - return $mdgriffith$elm_ui$Internal$Model$floatClass(red) + ('-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(green) + ('-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(blue) + ('-' + $mdgriffith$elm_ui$Internal$Model$floatClass(alpha)))))); -}; -var $mdgriffith$elm_ui$Element$Font$color = function (fontColor) { - return A2( - $mdgriffith$elm_ui$Internal$Model$StyleClass, - $mdgriffith$elm_ui$Internal$Flag$fontColor, - A3( - $mdgriffith$elm_ui$Internal$Model$Colored, - 'fc-' + $mdgriffith$elm_ui$Internal$Model$formatColorClass(fontColor), - 'color', - fontColor)); -}; -var $mdgriffith$elm_ui$Internal$Model$Unkeyed = function (a) { - return {$: 0, a: a}; -}; -var $mdgriffith$elm_ui$Internal$Model$AsColumn = 1; -var $mdgriffith$elm_ui$Internal$Model$asColumn = 1; -var $mdgriffith$elm_ui$Internal$Style$classes = {bY: 'a', aG: 'atv', b$: 'ab', b0: 'cx', b1: 'cy', b2: 'acb', b3: 'accx', b4: 'accy', b5: 'acr', a1: 'al', a2: 'ar', b6: 'at', aH: 'ah', aI: 'av', b9: 's', cd: 'bh', ce: 'b', cg: 'w7', ci: 'bd', cj: 'bdt', an: 'bn', ck: 'bs', ao: 'cpe', cq: 'cp', cr: 'cpx', cs: 'cpy', B: 'c', aq: 'ctr', ar: 'cb', as: 'ccx', C: 'ccy', _: 'cl', at: 'cr', cu: 'ct', cv: 'cptr', cw: 'ctxt', cE: 'fcs', bb: 'focus-within', cG: 'fs', cI: 'g', aM: 'hbh', aN: 'hc', bh: 'he', aO: 'hf', bi: 'hfp', cL: 'hv', cN: 'ic', cP: 'fr', cQ: 'iml', cR: 'imlf', cS: 'imlp', cT: 'implw', cU: 'it', cV: 'i', bo: 'lnk', U: 'nb', br: 'notxt', c6: 'ol', c8: 'or', M: 'oq', dc: 'oh', ay: 'pg', bv: 'p', de: 'ppe', dm: 'ui', s: 'r', dr: 'sb', ds: 'sbx', dt: 'sby', du: 'sbt', dx: 'e', dy: 'cap', dz: 'sev', dH: 'sk', dL: 't', dM: 'tc', dN: 'w8', dO: 'w2', dP: 'w9', dQ: 'tj', aA: 'tja', dR: 'tl', dS: 'w3', dT: 'w5', dU: 'w4', dV: 'tr', dW: 'w6', dX: 'w1', dY: 'tun', bM: 'ts', P: 'clr', d6: 'u', aY: 'wc', bT: 'we', aZ: 'wf', bU: 'wfp', a_: 'wrp'}; -var $mdgriffith$elm_ui$Internal$Model$Generic = {$: 0}; -var $mdgriffith$elm_ui$Internal$Model$div = $mdgriffith$elm_ui$Internal$Model$Generic; -var $mdgriffith$elm_ui$Internal$Model$NoNearbyChildren = {$: 0}; -var $mdgriffith$elm_ui$Internal$Model$columnClass = $mdgriffith$elm_ui$Internal$Style$classes.b9 + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.B); -var $mdgriffith$elm_ui$Internal$Model$gridClass = $mdgriffith$elm_ui$Internal$Style$classes.b9 + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.cI); -var $mdgriffith$elm_ui$Internal$Model$pageClass = $mdgriffith$elm_ui$Internal$Style$classes.b9 + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.ay); -var $mdgriffith$elm_ui$Internal$Model$paragraphClass = $mdgriffith$elm_ui$Internal$Style$classes.b9 + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.bv); -var $mdgriffith$elm_ui$Internal$Model$rowClass = $mdgriffith$elm_ui$Internal$Style$classes.b9 + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.s); -var $mdgriffith$elm_ui$Internal$Model$singleClass = $mdgriffith$elm_ui$Internal$Style$classes.b9 + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.dx); -var $mdgriffith$elm_ui$Internal$Model$contextClasses = function (context) { - switch (context) { - case 0: - return $mdgriffith$elm_ui$Internal$Model$rowClass; - case 1: - return $mdgriffith$elm_ui$Internal$Model$columnClass; - case 2: - return $mdgriffith$elm_ui$Internal$Model$singleClass; - case 3: - return $mdgriffith$elm_ui$Internal$Model$gridClass; - case 4: - return $mdgriffith$elm_ui$Internal$Model$paragraphClass; - default: - return $mdgriffith$elm_ui$Internal$Model$pageClass; - } -}; -var $mdgriffith$elm_ui$Internal$Model$Keyed = function (a) { - return {$: 1, a: a}; -}; -var $mdgriffith$elm_ui$Internal$Model$NoStyleSheet = {$: 0}; -var $mdgriffith$elm_ui$Internal$Model$Styled = function (a) { - return {$: 1, a: a}; -}; -var $mdgriffith$elm_ui$Internal$Model$Unstyled = function (a) { - return {$: 0, a: a}; -}; -var $mdgriffith$elm_ui$Internal$Model$addChildren = F2( - function (existing, nearbyChildren) { - switch (nearbyChildren.$) { - case 0: - return existing; - case 1: - var behind = nearbyChildren.a; - return _Utils_ap(behind, existing); - case 2: - var inFront = nearbyChildren.a; - return _Utils_ap(existing, inFront); - default: - var behind = nearbyChildren.a; - var inFront = nearbyChildren.b; - return _Utils_ap( - behind, - _Utils_ap(existing, inFront)); - } - }); -var $mdgriffith$elm_ui$Internal$Model$addKeyedChildren = F3( - function (key, existing, nearbyChildren) { - switch (nearbyChildren.$) { - case 0: - return existing; - case 1: - var behind = nearbyChildren.a; - return _Utils_ap( - A2( - $elm$core$List$map, - function (x) { - return _Utils_Tuple2(key, x); - }, - behind), - existing); - case 2: - var inFront = nearbyChildren.a; - return _Utils_ap( - existing, - A2( - $elm$core$List$map, - function (x) { - return _Utils_Tuple2(key, x); - }, - inFront)); - default: - var behind = nearbyChildren.a; - var inFront = nearbyChildren.b; - return _Utils_ap( - A2( - $elm$core$List$map, - function (x) { - return _Utils_Tuple2(key, x); - }, - behind), - _Utils_ap( - existing, - A2( - $elm$core$List$map, - function (x) { - return _Utils_Tuple2(key, x); - }, - inFront))); - } - }); -var $mdgriffith$elm_ui$Internal$Model$AsEl = 2; -var $mdgriffith$elm_ui$Internal$Model$asEl = 2; -var $mdgriffith$elm_ui$Internal$Model$AsParagraph = 4; -var $mdgriffith$elm_ui$Internal$Model$asParagraph = 4; -var $mdgriffith$elm_ui$Internal$Flag$alignBottom = $mdgriffith$elm_ui$Internal$Flag$flag(41); -var $mdgriffith$elm_ui$Internal$Flag$alignRight = $mdgriffith$elm_ui$Internal$Flag$flag(40); -var $mdgriffith$elm_ui$Internal$Flag$centerX = $mdgriffith$elm_ui$Internal$Flag$flag(42); -var $mdgriffith$elm_ui$Internal$Flag$centerY = $mdgriffith$elm_ui$Internal$Flag$flag(43); -var $elm$html$Html$Attributes$stringProperty = F2( - function (key, string) { - return A2( - _VirtualDom_property, - key, - $elm$json$Json$Encode$string(string)); - }); -var $elm$html$Html$Attributes$class = $elm$html$Html$Attributes$stringProperty('className'); -var $elm$html$Html$div = _VirtualDom_node('div'); -var $elm$core$Set$Set_elm_builtin = $elm$core$Basics$identity; -var $elm$core$Set$empty = $elm$core$Dict$empty; -var $mdgriffith$elm_ui$Internal$Model$lengthClassName = function (x) { - switch (x.$) { - case 0: - var px = x.a; - return $elm$core$String$fromInt(px) + 'px'; - case 1: - return 'auto'; - case 2: - var i = x.a; - return $elm$core$String$fromInt(i) + 'fr'; - case 3: - var min = x.a; - var len = x.b; - return 'min' + ($elm$core$String$fromInt(min) + $mdgriffith$elm_ui$Internal$Model$lengthClassName(len)); - default: - var max = x.a; - var len = x.b; - return 'max' + ($elm$core$String$fromInt(max) + $mdgriffith$elm_ui$Internal$Model$lengthClassName(len)); - } -}; -var $elm$core$Tuple$second = function (_v0) { - var y = _v0.b; - return y; -}; -var $mdgriffith$elm_ui$Internal$Model$transformClass = function (transform) { - switch (transform.$) { - case 0: - return $elm$core$Maybe$Nothing; - case 1: - var _v1 = transform.a; - var x = _v1.a; - var y = _v1.b; - var z = _v1.c; - return $elm$core$Maybe$Just( - 'mv-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(x) + ('-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(y) + ('-' + $mdgriffith$elm_ui$Internal$Model$floatClass(z)))))); - default: - var _v2 = transform.a; - var tx = _v2.a; - var ty = _v2.b; - var tz = _v2.c; - var _v3 = transform.b; - var sx = _v3.a; - var sy = _v3.b; - var sz = _v3.c; - var _v4 = transform.c; - var ox = _v4.a; - var oy = _v4.b; - var oz = _v4.c; - var angle = transform.d; - return $elm$core$Maybe$Just( - 'tfrm-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(tx) + ('-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(ty) + ('-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(tz) + ('-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(sx) + ('-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(sy) + ('-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(sz) + ('-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(ox) + ('-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(oy) + ('-' + ($mdgriffith$elm_ui$Internal$Model$floatClass(oz) + ('-' + $mdgriffith$elm_ui$Internal$Model$floatClass(angle)))))))))))))))))))); - } -}; -var $mdgriffith$elm_ui$Internal$Model$getStyleName = function (style) { - switch (style.$) { - case 13: - var name = style.a; - return name; - case 12: - var name = style.a; - var o = style.b; - return name; - case 0: - var _class = style.a; - return _class; - case 1: - var name = style.a; - return name; - case 2: - var i = style.a; - return 'font-size-' + $elm$core$String$fromInt(i); - case 3: - var _class = style.a; - return _class; - case 4: - var _class = style.a; - return _class; - case 5: - var cls = style.a; - var x = style.b; - var y = style.c; - return cls; - case 7: - var cls = style.a; - var top = style.b; - var right = style.c; - var bottom = style.d; - var left = style.e; - return cls; - case 6: - var cls = style.a; - var top = style.b; - var right = style.c; - var bottom = style.d; - var left = style.e; - return cls; - case 8: - var template = style.a; - return 'grid-rows-' + (A2( - $elm$core$String$join, - '-', - A2($elm$core$List$map, $mdgriffith$elm_ui$Internal$Model$lengthClassName, template.dq)) + ('-cols-' + (A2( - $elm$core$String$join, - '-', - A2($elm$core$List$map, $mdgriffith$elm_ui$Internal$Model$lengthClassName, template.u)) + ('-space-x-' + ($mdgriffith$elm_ui$Internal$Model$lengthClassName(template.dA.a) + ('-space-y-' + $mdgriffith$elm_ui$Internal$Model$lengthClassName(template.dA.b))))))); - case 9: - var pos = style.a; - return 'gp grid-pos-' + ($elm$core$String$fromInt(pos.s) + ('-' + ($elm$core$String$fromInt(pos.ct) + ('-' + ($elm$core$String$fromInt(pos.bS) + ('-' + $elm$core$String$fromInt(pos.bg))))))); - case 11: - var selector = style.a; - var subStyle = style.b; - var name = function () { - switch (selector) { - case 0: - return 'fs'; - case 1: - return 'hv'; - default: - return 'act'; - } - }(); - return A2( - $elm$core$String$join, - ' ', - A2( - $elm$core$List$map, - function (sty) { - var _v1 = $mdgriffith$elm_ui$Internal$Model$getStyleName(sty); - if (_v1 === '') { - return ''; - } else { - var styleName = _v1; - return styleName + ('-' + name); - } - }, - subStyle)); - default: - var x = style.a; - return A2( - $elm$core$Maybe$withDefault, - '', - $mdgriffith$elm_ui$Internal$Model$transformClass(x)); - } -}; -var $elm$core$Set$insert = F2( - function (key, _v0) { - var dict = _v0; - return A3($elm$core$Dict$insert, key, 0, dict); - }); -var $elm$core$Dict$member = F2( - function (key, dict) { - var _v0 = A2($elm$core$Dict$get, key, dict); - if (!_v0.$) { - return true; - } else { - return false; - } - }); -var $elm$core$Set$member = F2( - function (key, _v0) { - var dict = _v0; - return A2($elm$core$Dict$member, key, dict); - }); -var $mdgriffith$elm_ui$Internal$Model$reduceStyles = F2( - function (style, nevermind) { - var cache = nevermind.a; - var existing = nevermind.b; - var styleName = $mdgriffith$elm_ui$Internal$Model$getStyleName(style); - return A2($elm$core$Set$member, styleName, cache) ? nevermind : _Utils_Tuple2( - A2($elm$core$Set$insert, styleName, cache), - A2($elm$core$List$cons, style, existing)); - }); -var $mdgriffith$elm_ui$Internal$Model$Property = F2( - function (a, b) { - return {$: 0, a: a, b: b}; - }); -var $mdgriffith$elm_ui$Internal$Model$Style = F2( - function (a, b) { - return {$: 0, a: a, b: b}; - }); -var $mdgriffith$elm_ui$Internal$Style$dot = function (c) { - return '.' + c; -}; -var $elm$core$List$maybeCons = F3( - function (f, mx, xs) { - var _v0 = f(mx); - if (!_v0.$) { - var x = _v0.a; - return A2($elm$core$List$cons, x, xs); - } else { - return xs; - } - }); -var $elm$core$List$filterMap = F2( - function (f, xs) { - return A3( - $elm$core$List$foldr, - $elm$core$List$maybeCons(f), - _List_Nil, - xs); - }); -var $elm$core$String$fromFloat = _String_fromNumber; -var $mdgriffith$elm_ui$Internal$Model$formatColor = function (_v0) { - var red = _v0.a; - var green = _v0.b; - var blue = _v0.c; - var alpha = _v0.d; - return 'rgba(' + ($elm$core$String$fromInt( - $elm$core$Basics$round(red * 255)) + ((',' + $elm$core$String$fromInt( - $elm$core$Basics$round(green * 255))) + ((',' + $elm$core$String$fromInt( - $elm$core$Basics$round(blue * 255))) + (',' + ($elm$core$String$fromFloat(alpha) + ')'))))); -}; -var $mdgriffith$elm_ui$Internal$Model$formatBoxShadow = function (shadow) { - return A2( - $elm$core$String$join, - ' ', - A2( - $elm$core$List$filterMap, - $elm$core$Basics$identity, - _List_fromArray( - [ - shadow.bl ? $elm$core$Maybe$Just('inset') : $elm$core$Maybe$Nothing, - $elm$core$Maybe$Just( - $elm$core$String$fromFloat(shadow.bs.a) + 'px'), - $elm$core$Maybe$Just( - $elm$core$String$fromFloat(shadow.bs.b) + 'px'), - $elm$core$Maybe$Just( - $elm$core$String$fromFloat(shadow.R) + 'px'), - $elm$core$Maybe$Just( - $elm$core$String$fromFloat(shadow.bI) + 'px'), - $elm$core$Maybe$Just( - $mdgriffith$elm_ui$Internal$Model$formatColor(shadow.S)) - ]))); -}; -var $elm$core$Tuple$mapFirst = F2( - function (func, _v0) { - var x = _v0.a; - var y = _v0.b; - return _Utils_Tuple2( - func(x), - y); - }); -var $elm$core$Tuple$mapSecond = F2( - function (func, _v0) { - var x = _v0.a; - var y = _v0.b; - return _Utils_Tuple2( - x, - func(y)); - }); -var $mdgriffith$elm_ui$Internal$Model$renderFocusStyle = function (focus) { - return _List_fromArray( - [ - A2( - $mdgriffith$elm_ui$Internal$Model$Style, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.bb) + ':focus-within', - A2( - $elm$core$List$filterMap, - $elm$core$Basics$identity, - _List_fromArray( - [ - A2( - $elm$core$Maybe$map, - function (color) { - return A2( - $mdgriffith$elm_ui$Internal$Model$Property, - 'border-color', - $mdgriffith$elm_ui$Internal$Model$formatColor(color)); - }, - focus.ch), - A2( - $elm$core$Maybe$map, - function (color) { - return A2( - $mdgriffith$elm_ui$Internal$Model$Property, - 'background-color', - $mdgriffith$elm_ui$Internal$Model$formatColor(color)); - }, - focus.cb), - A2( - $elm$core$Maybe$map, - function (shadow) { - return A2( - $mdgriffith$elm_ui$Internal$Model$Property, - 'box-shadow', - $mdgriffith$elm_ui$Internal$Model$formatBoxShadow( - { - R: shadow.R, - S: shadow.S, - bl: false, - bs: A2( - $elm$core$Tuple$mapSecond, - $elm$core$Basics$toFloat, - A2($elm$core$Tuple$mapFirst, $elm$core$Basics$toFloat, shadow.bs)), - bI: shadow.bI - })); - }, - focus.dw), - $elm$core$Maybe$Just( - A2($mdgriffith$elm_ui$Internal$Model$Property, 'outline', 'none')) - ]))), - A2( - $mdgriffith$elm_ui$Internal$Model$Style, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b9) + (':focus .focusable, ' + ($mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b9) + '.focusable:focus')), - A2( - $elm$core$List$filterMap, - $elm$core$Basics$identity, - _List_fromArray( - [ - A2( - $elm$core$Maybe$map, - function (color) { - return A2( - $mdgriffith$elm_ui$Internal$Model$Property, - 'border-color', - $mdgriffith$elm_ui$Internal$Model$formatColor(color)); - }, - focus.ch), - A2( - $elm$core$Maybe$map, - function (color) { - return A2( - $mdgriffith$elm_ui$Internal$Model$Property, - 'background-color', - $mdgriffith$elm_ui$Internal$Model$formatColor(color)); - }, - focus.cb), - A2( - $elm$core$Maybe$map, - function (shadow) { - return A2( - $mdgriffith$elm_ui$Internal$Model$Property, - 'box-shadow', - $mdgriffith$elm_ui$Internal$Model$formatBoxShadow( - { - R: shadow.R, - S: shadow.S, - bl: false, - bs: A2( - $elm$core$Tuple$mapSecond, - $elm$core$Basics$toFloat, - A2($elm$core$Tuple$mapFirst, $elm$core$Basics$toFloat, shadow.bs)), - bI: shadow.bI - })); - }, - focus.dw), - $elm$core$Maybe$Just( - A2($mdgriffith$elm_ui$Internal$Model$Property, 'outline', 'none')) - ]))) - ]); -}; -var $elm$virtual_dom$VirtualDom$node = function (tag) { - return _VirtualDom_node( - _VirtualDom_noScript(tag)); -}; -var $elm$virtual_dom$VirtualDom$property = F2( - function (key, value) { - return A2( - _VirtualDom_property, - _VirtualDom_noInnerHtmlOrFormAction(key), - _VirtualDom_noJavaScriptOrHtmlUri(value)); - }); -var $mdgriffith$elm_ui$Internal$Style$Batch = function (a) { - return {$: 5, a: a}; -}; -var $mdgriffith$elm_ui$Internal$Style$Child = F2( - function (a, b) { - return {$: 1, a: a, b: b}; - }); -var $mdgriffith$elm_ui$Internal$Style$Class = F2( - function (a, b) { - return {$: 0, a: a, b: b}; - }); -var $mdgriffith$elm_ui$Internal$Style$Descriptor = F2( - function (a, b) { - return {$: 3, a: a, b: b}; - }); -var $mdgriffith$elm_ui$Internal$Style$Left = 3; -var $mdgriffith$elm_ui$Internal$Style$Prop = F2( - function (a, b) { - return {$: 0, a: a, b: b}; - }); -var $mdgriffith$elm_ui$Internal$Style$Right = 2; -var $mdgriffith$elm_ui$Internal$Style$Self = $elm$core$Basics$identity; -var $mdgriffith$elm_ui$Internal$Style$Supports = F2( - function (a, b) { - return {$: 2, a: a, b: b}; - }); -var $mdgriffith$elm_ui$Internal$Style$Content = $elm$core$Basics$identity; -var $mdgriffith$elm_ui$Internal$Style$Bottom = 1; -var $mdgriffith$elm_ui$Internal$Style$CenterX = 4; -var $mdgriffith$elm_ui$Internal$Style$CenterY = 5; -var $mdgriffith$elm_ui$Internal$Style$Top = 0; -var $mdgriffith$elm_ui$Internal$Style$alignments = _List_fromArray( - [0, 1, 2, 3, 4, 5]); -var $mdgriffith$elm_ui$Internal$Style$contentName = function (desc) { - switch (desc) { - case 0: - var _v1 = desc; - return $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cu); - case 1: - var _v2 = desc; - return $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.ar); - case 2: - var _v3 = desc; - return $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.at); - case 3: - var _v4 = desc; - return $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes._); - case 4: - var _v5 = desc; - return $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.as); - default: - var _v6 = desc; - return $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.C); - } -}; -var $mdgriffith$elm_ui$Internal$Style$selfName = function (desc) { - switch (desc) { - case 0: - var _v1 = desc; - return $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b6); - case 1: - var _v2 = desc; - return $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b$); - case 2: - var _v3 = desc; - return $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.a2); - case 3: - var _v4 = desc; - return $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.a1); - case 4: - var _v5 = desc; - return $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b0); - default: - var _v6 = desc; - return $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b1); - } -}; -var $mdgriffith$elm_ui$Internal$Style$describeAlignment = function (values) { - var createDescription = function (alignment) { - var _v0 = values(alignment); - var content = _v0.a; - var indiv = _v0.b; - return _List_fromArray( - [ - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$contentName(alignment), - content), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b9), - _List_fromArray( - [ - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$selfName(alignment), - indiv) - ])) - ]); - }; - return $mdgriffith$elm_ui$Internal$Style$Batch( - A2($elm$core$List$concatMap, createDescription, $mdgriffith$elm_ui$Internal$Style$alignments)); -}; -var $mdgriffith$elm_ui$Internal$Style$elDescription = _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'flex'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-direction', 'column'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'white-space', 'pre'), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aM), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'z-index', '0'), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cd), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'z-index', '-1') - ])) - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.du), - _List_fromArray( - [ - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dL), - _List_fromArray( - [ - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aO), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '0') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aZ), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'auto !important') - ])) - ])) - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aN), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', 'auto') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aO), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '100000') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aZ), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.bU), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aY), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'flex-start') - ])), - $mdgriffith$elm_ui$Internal$Style$describeAlignment( - function (alignment) { - switch (alignment) { - case 0: - return _Utils_Tuple2( - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'flex-start') - ]), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-bottom', 'auto !important'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-top', '0 !important') - ])); - case 1: - return _Utils_Tuple2( - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'flex-end') - ]), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-top', 'auto !important'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-bottom', '0 !important') - ])); - case 2: - return _Utils_Tuple2( - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-items', 'flex-end') - ]), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'flex-end') - ])); - case 3: - return _Utils_Tuple2( - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-items', 'flex-start') - ]), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'flex-start') - ])); - case 4: - return _Utils_Tuple2( - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-items', 'center') - ]), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'center') - ])); - default: - return _Utils_Tuple2( - _List_fromArray( - [ - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b9), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-top', 'auto'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-bottom', 'auto') - ])) - ]), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-top', 'auto !important'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-bottom', 'auto !important') - ])); - } - }) - ]); -var $mdgriffith$elm_ui$Internal$Style$gridAlignments = function (values) { - var createDescription = function (alignment) { - return _List_fromArray( - [ - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b9), - _List_fromArray( - [ - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$selfName(alignment), - values(alignment)) - ])) - ]); - }; - return $mdgriffith$elm_ui$Internal$Style$Batch( - A2($elm$core$List$concatMap, createDescription, $mdgriffith$elm_ui$Internal$Style$alignments)); -}; -var $mdgriffith$elm_ui$Internal$Style$Above = 0; -var $mdgriffith$elm_ui$Internal$Style$Behind = 5; -var $mdgriffith$elm_ui$Internal$Style$Below = 1; -var $mdgriffith$elm_ui$Internal$Style$OnLeft = 3; -var $mdgriffith$elm_ui$Internal$Style$OnRight = 2; -var $mdgriffith$elm_ui$Internal$Style$Within = 4; -var $mdgriffith$elm_ui$Internal$Style$locations = function () { - var loc = 0; - var _v0 = function () { - switch (loc) { - case 0: - return 0; - case 1: - return 0; - case 2: - return 0; - case 3: - return 0; - case 4: - return 0; - default: - return 0; - } - }(); - return _List_fromArray( - [0, 1, 2, 3, 4, 5]); -}(); -var $mdgriffith$elm_ui$Internal$Style$baseSheet = _List_fromArray( - [ - A2( - $mdgriffith$elm_ui$Internal$Style$Class, - 'html,body', - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', '100%'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'padding', '0'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin', '0') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Class, - _Utils_ap( - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b9), - _Utils_ap( - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dx), - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cN))), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'block') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Class, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b9) + ':focus', - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'outline', 'none') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Class, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dm), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', 'auto'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'min-height', '100%'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'z-index', '0'), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - _Utils_ap( - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b9), - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aO)), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', '100%'), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aO), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', '100%') - ])) - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cP), - _List_fromArray( - [ - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.U), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'position', 'fixed') - ])) - ])) - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Class, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.U), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'position', 'relative'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'border', 'none'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'flex'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-direction', 'row'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-basis', 'auto'), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dx), - $mdgriffith$elm_ui$Internal$Style$elDescription), - $mdgriffith$elm_ui$Internal$Style$Batch( - function (fn) { - return A2($elm$core$List$map, fn, $mdgriffith$elm_ui$Internal$Style$locations); - }( - function (loc) { - switch (loc) { - case 0: - return A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.bY), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'position', 'absolute'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'bottom', '100%'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'left', '0'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'z-index', '20'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin', '0 !important'), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aO), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', 'auto') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aZ), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%') - ])), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'none'), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - '*', - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'auto') - ])) - ])); - case 1: - return A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.ce), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'position', 'absolute'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'bottom', '0'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'left', '0'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', '0'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'z-index', '20'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin', '0 !important'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'none'), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - '*', - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'auto') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aO), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', 'auto') - ])) - ])); - case 2: - return A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.c8), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'position', 'absolute'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'left', '100%'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'top', '0'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', '100%'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin', '0 !important'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'z-index', '20'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'none'), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - '*', - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'auto') - ])) - ])); - case 3: - return A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.c6), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'position', 'absolute'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'right', '100%'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'top', '0'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', '100%'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin', '0 !important'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'z-index', '20'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'none'), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - '*', - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'auto') - ])) - ])); - case 4: - return A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cP), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'position', 'absolute'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', '100%'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'left', '0'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'top', '0'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin', '0 !important'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'none'), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - '*', - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'auto') - ])) - ])); - default: - return A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cd), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'position', 'absolute'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', '100%'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'left', '0'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'top', '0'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin', '0 !important'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'z-index', '0'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'none'), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - '*', - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'auto') - ])) - ])); - } - })) - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Class, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b9), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'position', 'relative'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'border', 'none'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-shrink', '0'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'flex'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-direction', 'row'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-basis', 'auto'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'resize', 'none'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-feature-settings', 'inherit'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'box-sizing', 'border-box'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin', '0'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'padding', '0'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'border-width', '0'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'border-style', 'solid'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-size', 'inherit'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'color', 'inherit'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-family', 'inherit'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'line-height', '1'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-weight', 'inherit'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-decoration', 'none'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-style', 'inherit'), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.a_), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-wrap', 'wrap') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.br), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, '-moz-user-select', 'none'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, '-webkit-user-select', 'none'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, '-ms-user-select', 'none'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'user-select', 'none') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cv), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'cursor', 'pointer') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cw), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'cursor', 'text') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.de), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'none !important') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.ao), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'auto !important') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.P), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'opacity', '0') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.M), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'opacity', '1') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot( - _Utils_ap($mdgriffith$elm_ui$Internal$Style$classes.cL, $mdgriffith$elm_ui$Internal$Style$classes.P)) + ':hover', - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'opacity', '0') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot( - _Utils_ap($mdgriffith$elm_ui$Internal$Style$classes.cL, $mdgriffith$elm_ui$Internal$Style$classes.M)) + ':hover', - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'opacity', '1') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot( - _Utils_ap($mdgriffith$elm_ui$Internal$Style$classes.cE, $mdgriffith$elm_ui$Internal$Style$classes.P)) + ':focus', - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'opacity', '0') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot( - _Utils_ap($mdgriffith$elm_ui$Internal$Style$classes.cE, $mdgriffith$elm_ui$Internal$Style$classes.M)) + ':focus', - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'opacity', '1') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot( - _Utils_ap($mdgriffith$elm_ui$Internal$Style$classes.aG, $mdgriffith$elm_ui$Internal$Style$classes.P)) + ':active', - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'opacity', '0') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot( - _Utils_ap($mdgriffith$elm_ui$Internal$Style$classes.aG, $mdgriffith$elm_ui$Internal$Style$classes.M)) + ':active', - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'opacity', '1') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.bM), - _List_fromArray( - [ - A2( - $mdgriffith$elm_ui$Internal$Style$Prop, - 'transition', - A2( - $elm$core$String$join, - ', ', - A2( - $elm$core$List$map, - function (x) { - return x + ' 160ms'; - }, - _List_fromArray( - ['transform', 'opacity', 'filter', 'background-color', 'color', 'font-size'])))) - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dr), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'overflow', 'auto'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-shrink', '1') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.ds), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'overflow-x', 'auto'), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.s), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-shrink', '1') - ])) - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dt), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'overflow-y', 'auto'), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.B), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-shrink', '1') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dx), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-shrink', '1') - ])) - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cq), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'overflow', 'hidden') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cr), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'overflow-x', 'hidden') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cs), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'overflow-y', 'hidden') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aY), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', 'auto') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.an), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'border-width', '0') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.ci), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'border-style', 'dashed') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cj), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'border-style', 'dotted') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.ck), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'border-style', 'solid') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dL), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'white-space', 'pre'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'inline-block') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cU), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'line-height', '1.05'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'background', 'transparent') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dx), - $mdgriffith$elm_ui$Internal$Style$elDescription), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.s), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'flex'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-direction', 'row'), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b9), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-basis', '0%'), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.bT), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-basis', 'auto') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.bo), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-basis', 'auto') - ])) - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aO), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'stretch !important') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.bi), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'stretch !important') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aZ), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '100000') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aq), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '0'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-basis', 'auto'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'stretch') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - 'u:first-of-type.' + $mdgriffith$elm_ui$Internal$Style$classes.b5, - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '1') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - 's:first-of-type.' + $mdgriffith$elm_ui$Internal$Style$classes.b3, - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '1'), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b0), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-left', 'auto !important') - ])) - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - 's:last-of-type.' + $mdgriffith$elm_ui$Internal$Style$classes.b3, - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '1'), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b0), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-right', 'auto !important') - ])) - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - 's:only-of-type.' + $mdgriffith$elm_ui$Internal$Style$classes.b3, - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '1'), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b1), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-top', 'auto !important'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-bottom', 'auto !important') - ])) - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - 's:last-of-type.' + ($mdgriffith$elm_ui$Internal$Style$classes.b3 + ' ~ u'), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '0') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - 'u:first-of-type.' + ($mdgriffith$elm_ui$Internal$Style$classes.b5 + (' ~ s.' + $mdgriffith$elm_ui$Internal$Style$classes.b3)), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '0') - ])), - $mdgriffith$elm_ui$Internal$Style$describeAlignment( - function (alignment) { - switch (alignment) { - case 0: - return _Utils_Tuple2( - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-items', 'flex-start') - ]), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'flex-start') - ])); - case 1: - return _Utils_Tuple2( - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-items', 'flex-end') - ]), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'flex-end') - ])); - case 2: - return _Utils_Tuple2( - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'flex-end') - ]), - _List_Nil); - case 3: - return _Utils_Tuple2( - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'flex-start') - ]), - _List_Nil); - case 4: - return _Utils_Tuple2( - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'center') - ]), - _List_Nil); - default: - return _Utils_Tuple2( - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-items', 'center') - ]), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'center') - ])); - } - }), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dz), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'space-between') - ])) - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.B), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'flex'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-direction', 'column'), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b9), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-basis', '0%'), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.bh), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-basis', 'auto') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.B), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-basis', 'auto') - ])) - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aO), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '100000') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aZ), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.bU), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aY), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'flex-start') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - 'u:first-of-type.' + $mdgriffith$elm_ui$Internal$Style$classes.b2, - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '1') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - 's:first-of-type.' + $mdgriffith$elm_ui$Internal$Style$classes.b4, - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '1'), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b1), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-top', 'auto !important'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-bottom', '0 !important') - ])) - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - 's:last-of-type.' + $mdgriffith$elm_ui$Internal$Style$classes.b4, - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '1'), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b1), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-bottom', 'auto !important'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-top', '0 !important') - ])) - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - 's:only-of-type.' + $mdgriffith$elm_ui$Internal$Style$classes.b4, - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '1'), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b1), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-top', 'auto !important'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-bottom', 'auto !important') - ])) - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - 's:last-of-type.' + ($mdgriffith$elm_ui$Internal$Style$classes.b4 + ' ~ u'), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '0') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - 'u:first-of-type.' + ($mdgriffith$elm_ui$Internal$Style$classes.b2 + (' ~ s.' + $mdgriffith$elm_ui$Internal$Style$classes.b4)), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '0') - ])), - $mdgriffith$elm_ui$Internal$Style$describeAlignment( - function (alignment) { - switch (alignment) { - case 0: - return _Utils_Tuple2( - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'flex-start') - ]), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-bottom', 'auto') - ])); - case 1: - return _Utils_Tuple2( - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'flex-end') - ]), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin-top', 'auto') - ])); - case 2: - return _Utils_Tuple2( - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-items', 'flex-end') - ]), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'flex-end') - ])); - case 3: - return _Utils_Tuple2( - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-items', 'flex-start') - ]), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'flex-start') - ])); - case 4: - return _Utils_Tuple2( - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-items', 'center') - ]), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'center') - ])); - default: - return _Utils_Tuple2( - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'center') - ]), - _List_Nil); - } - }), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aq), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-grow', '0'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-basis', 'auto'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-self', 'stretch !important') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dz), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'space-between') - ])) - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cI), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', '-ms-grid'), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - '.gp', - _List_fromArray( - [ - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b9), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%') - ])) - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Supports, - _Utils_Tuple2('display', 'grid'), - _List_fromArray( - [ - _Utils_Tuple2('display', 'grid') - ])), - $mdgriffith$elm_ui$Internal$Style$gridAlignments( - function (alignment) { - switch (alignment) { - case 0: - return _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'flex-start') - ]); - case 1: - return _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'flex-end') - ]); - case 2: - return _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-items', 'flex-end') - ]); - case 3: - return _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-items', 'flex-start') - ]); - case 4: - return _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'align-items', 'center') - ]); - default: - return _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'justify-content', 'center') - ]); - } - }) - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.ay), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'block'), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b9 + ':first-child'), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin', '0 !important') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot( - $mdgriffith$elm_ui$Internal$Style$classes.b9 + ($mdgriffith$elm_ui$Internal$Style$selfName(3) + (':first-child + .' + $mdgriffith$elm_ui$Internal$Style$classes.b9))), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin', '0 !important') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot( - $mdgriffith$elm_ui$Internal$Style$classes.b9 + ($mdgriffith$elm_ui$Internal$Style$selfName(2) + (':first-child + .' + $mdgriffith$elm_ui$Internal$Style$classes.b9))), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'margin', '0 !important') - ])), - $mdgriffith$elm_ui$Internal$Style$describeAlignment( - function (alignment) { - switch (alignment) { - case 0: - return _Utils_Tuple2(_List_Nil, _List_Nil); - case 1: - return _Utils_Tuple2(_List_Nil, _List_Nil); - case 2: - return _Utils_Tuple2( - _List_Nil, - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'float', 'right'), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - '::after', - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'content', '\"\"'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'table'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'clear', 'both') - ])) - ])); - case 3: - return _Utils_Tuple2( - _List_Nil, - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'float', 'left'), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - '::after', - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'content', '\"\"'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'table'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'clear', 'both') - ])) - ])); - case 4: - return _Utils_Tuple2(_List_Nil, _List_Nil); - default: - return _Utils_Tuple2(_List_Nil, _List_Nil); - } - }) - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cQ), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'white-space', 'pre-wrap'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', '100%'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'background-color', 'transparent') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cT), - _List_fromArray( - [ - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dx), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'flex-basis', 'auto') - ])) - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cS), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'white-space', 'pre-wrap'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'cursor', 'text'), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cR), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'white-space', 'pre-wrap'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'color', 'transparent') - ])) - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.bv), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'block'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'white-space', 'normal'), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aM), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'z-index', '0'), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cd), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'z-index', '-1') - ])) - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dL), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'inline'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'white-space', 'normal') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dx), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'inline'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'white-space', 'normal'), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cP), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'flex') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cd), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'flex') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.bY), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'flex') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.ce), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'flex') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.c8), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'flex') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.c6), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'flex') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dL), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'inline'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'white-space', 'normal') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dx), - _List_fromArray( - [ - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dL), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'inline'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'white-space', 'normal') - ])) - ])) - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.s), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'inline-flex') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.B), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'inline-flex') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Child, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cI), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'inline-grid') - ])), - $mdgriffith$elm_ui$Internal$Style$describeAlignment( - function (alignment) { - switch (alignment) { - case 0: - return _Utils_Tuple2(_List_Nil, _List_Nil); - case 1: - return _Utils_Tuple2(_List_Nil, _List_Nil); - case 2: - return _Utils_Tuple2( - _List_Nil, - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'float', 'right') - ])); - case 3: - return _Utils_Tuple2( - _List_Nil, - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'float', 'left') - ])); - case 4: - return _Utils_Tuple2(_List_Nil, _List_Nil); - default: - return _Utils_Tuple2(_List_Nil, _List_Nil); - } - }) - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - '.hidden', - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'display', 'none') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dX), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-weight', '100') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dO), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-weight', '200') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dS), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-weight', '300') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dU), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-weight', '400') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dT), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-weight', '500') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dW), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-weight', '600') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cg), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-weight', '700') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dN), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-weight', '800') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dP), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-weight', '900') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.cV), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-style', 'italic') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dH), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-decoration', 'line-through') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.d6), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-decoration', 'underline'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-decoration-skip-ink', 'auto'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-decoration-skip', 'ink') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - _Utils_ap( - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.d6), - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dH)), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-decoration', 'line-through underline'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-decoration-skip-ink', 'auto'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-decoration-skip', 'ink') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dY), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-style', 'normal') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dQ), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-align', 'justify') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aA), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-align', 'justify-all') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dM), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-align', 'center') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dV), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-align', 'right') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - $mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.dR), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'text-align', 'left') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Descriptor, - '.modal', - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'position', 'fixed'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'left', '0'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'top', '0'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'width', '100%'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'height', '100%'), - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'pointer-events', 'none') - ])) - ])) - ]); -var $mdgriffith$elm_ui$Internal$Style$fontVariant = function (_var) { - return _List_fromArray( - [ - A2( - $mdgriffith$elm_ui$Internal$Style$Class, - '.v-' + _var, - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-feature-settings', '\"' + (_var + '\"')) - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Class, - '.v-' + (_var + '-off'), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-feature-settings', '\"' + (_var + '\" 0')) - ])) - ]); -}; -var $mdgriffith$elm_ui$Internal$Style$commonValues = $elm$core$List$concat( - _List_fromArray( - [ - A2( - $elm$core$List$map, - function (x) { - return A2( - $mdgriffith$elm_ui$Internal$Style$Class, - '.border-' + $elm$core$String$fromInt(x), - _List_fromArray( - [ - A2( - $mdgriffith$elm_ui$Internal$Style$Prop, - 'border-width', - $elm$core$String$fromInt(x) + 'px') - ])); - }, - A2($elm$core$List$range, 0, 6)), - A2( - $elm$core$List$map, - function (i) { - return A2( - $mdgriffith$elm_ui$Internal$Style$Class, - '.font-size-' + $elm$core$String$fromInt(i), - _List_fromArray( - [ - A2( - $mdgriffith$elm_ui$Internal$Style$Prop, - 'font-size', - $elm$core$String$fromInt(i) + 'px') - ])); - }, - A2($elm$core$List$range, 8, 32)), - A2( - $elm$core$List$map, - function (i) { - return A2( - $mdgriffith$elm_ui$Internal$Style$Class, - '.p-' + $elm$core$String$fromInt(i), - _List_fromArray( - [ - A2( - $mdgriffith$elm_ui$Internal$Style$Prop, - 'padding', - $elm$core$String$fromInt(i) + 'px') - ])); - }, - A2($elm$core$List$range, 0, 24)), - _List_fromArray( - [ - A2( - $mdgriffith$elm_ui$Internal$Style$Class, - '.v-smcp', - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-variant', 'small-caps') - ])), - A2( - $mdgriffith$elm_ui$Internal$Style$Class, - '.v-smcp-off', - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Style$Prop, 'font-variant', 'normal') - ])) - ]), - $mdgriffith$elm_ui$Internal$Style$fontVariant('zero'), - $mdgriffith$elm_ui$Internal$Style$fontVariant('onum'), - $mdgriffith$elm_ui$Internal$Style$fontVariant('liga'), - $mdgriffith$elm_ui$Internal$Style$fontVariant('dlig'), - $mdgriffith$elm_ui$Internal$Style$fontVariant('ordn'), - $mdgriffith$elm_ui$Internal$Style$fontVariant('tnum'), - $mdgriffith$elm_ui$Internal$Style$fontVariant('afrc'), - $mdgriffith$elm_ui$Internal$Style$fontVariant('frac') - ])); -var $mdgriffith$elm_ui$Internal$Style$explainer = '\n.explain {\n border: 6px solid rgb(174, 121, 15) !important;\n}\n.explain > .' + ($mdgriffith$elm_ui$Internal$Style$classes.b9 + (' {\n border: 4px dashed rgb(0, 151, 167) !important;\n}\n\n.ctr {\n border: none !important;\n}\n.explain > .ctr > .' + ($mdgriffith$elm_ui$Internal$Style$classes.b9 + ' {\n border: 4px dashed rgb(0, 151, 167) !important;\n}\n\n'))); -var $mdgriffith$elm_ui$Internal$Style$inputTextReset = '\ninput[type="search"],\ninput[type="search"]::-webkit-search-decoration,\ninput[type="search"]::-webkit-search-cancel-button,\ninput[type="search"]::-webkit-search-results-button,\ninput[type="search"]::-webkit-search-results-decoration {\n -webkit-appearance:none;\n}\n'; -var $mdgriffith$elm_ui$Internal$Style$sliderReset = '\ninput[type=range] {\n -webkit-appearance: none; \n background: transparent;\n position:absolute;\n left:0;\n top:0;\n z-index:10;\n width: 100%;\n outline: dashed 1px;\n height: 100%;\n opacity: 0;\n}\n'; -var $mdgriffith$elm_ui$Internal$Style$thumbReset = '\ninput[type=range]::-webkit-slider-thumb {\n -webkit-appearance: none;\n opacity: 0.5;\n width: 80px;\n height: 80px;\n background-color: black;\n border:none;\n border-radius: 5px;\n}\ninput[type=range]::-moz-range-thumb {\n opacity: 0.5;\n width: 80px;\n height: 80px;\n background-color: black;\n border:none;\n border-radius: 5px;\n}\ninput[type=range]::-ms-thumb {\n opacity: 0.5;\n width: 80px;\n height: 80px;\n background-color: black;\n border:none;\n border-radius: 5px;\n}\ninput[type=range][orient=vertical]{\n writing-mode: bt-lr; /* IE */\n -webkit-appearance: slider-vertical; /* WebKit */\n}\n'; -var $mdgriffith$elm_ui$Internal$Style$trackReset = '\ninput[type=range]::-moz-range-track {\n background: transparent;\n cursor: pointer;\n}\ninput[type=range]::-ms-track {\n background: transparent;\n cursor: pointer;\n}\ninput[type=range]::-webkit-slider-runnable-track {\n background: transparent;\n cursor: pointer;\n}\n'; -var $mdgriffith$elm_ui$Internal$Style$overrides = '@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {' + ($mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b9) + ($mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.s) + (' > ' + ($mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b9) + (' { flex-basis: auto !important; } ' + ($mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b9) + ($mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.s) + (' > ' + ($mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.b9) + ($mdgriffith$elm_ui$Internal$Style$dot($mdgriffith$elm_ui$Internal$Style$classes.aq) + (' { flex-basis: auto !important; }}' + ($mdgriffith$elm_ui$Internal$Style$inputTextReset + ($mdgriffith$elm_ui$Internal$Style$sliderReset + ($mdgriffith$elm_ui$Internal$Style$trackReset + ($mdgriffith$elm_ui$Internal$Style$thumbReset + $mdgriffith$elm_ui$Internal$Style$explainer))))))))))))))); -var $elm$core$String$concat = function (strings) { - return A2($elm$core$String$join, '', strings); -}; -var $mdgriffith$elm_ui$Internal$Style$Intermediate = $elm$core$Basics$identity; -var $mdgriffith$elm_ui$Internal$Style$emptyIntermediate = F2( - function (selector, closing) { - return {ap: closing, h: _List_Nil, F: _List_Nil, x: selector}; - }); -var $mdgriffith$elm_ui$Internal$Style$renderRules = F2( - function (_v0, rulesToRender) { - var parent = _v0; - var generateIntermediates = F2( - function (rule, rendered) { - switch (rule.$) { - case 0: - var name = rule.a; - var val = rule.b; - return _Utils_update( - rendered, - { - F: A2( - $elm$core$List$cons, - _Utils_Tuple2(name, val), - rendered.F) - }); - case 2: - var _v2 = rule.a; - var prop = _v2.a; - var value = _v2.b; - var props = rule.b; - return _Utils_update( - rendered, - { - h: A2( - $elm$core$List$cons, - {ap: '\n}', h: _List_Nil, F: props, x: '@supports (' + (prop + (':' + (value + (') {' + parent.x))))}, - rendered.h) - }); - case 4: - var selector = rule.a; - var adjRules = rule.b; - return _Utils_update( - rendered, - { - h: A2( - $elm$core$List$cons, - A2( - $mdgriffith$elm_ui$Internal$Style$renderRules, - A2($mdgriffith$elm_ui$Internal$Style$emptyIntermediate, parent.x + (' + ' + selector), ''), - adjRules), - rendered.h) - }); - case 1: - var child = rule.a; - var childRules = rule.b; - return _Utils_update( - rendered, - { - h: A2( - $elm$core$List$cons, - A2( - $mdgriffith$elm_ui$Internal$Style$renderRules, - A2($mdgriffith$elm_ui$Internal$Style$emptyIntermediate, parent.x + (' > ' + child), ''), - childRules), - rendered.h) - }); - case 3: - var descriptor = rule.a; - var descriptorRules = rule.b; - return _Utils_update( - rendered, - { - h: A2( - $elm$core$List$cons, - A2( - $mdgriffith$elm_ui$Internal$Style$renderRules, - A2( - $mdgriffith$elm_ui$Internal$Style$emptyIntermediate, - _Utils_ap(parent.x, descriptor), - ''), - descriptorRules), - rendered.h) - }); - default: - var batched = rule.a; - return _Utils_update( - rendered, - { - h: A2( - $elm$core$List$cons, - A2( - $mdgriffith$elm_ui$Internal$Style$renderRules, - A2($mdgriffith$elm_ui$Internal$Style$emptyIntermediate, parent.x, ''), - batched), - rendered.h) - }); - } - }); - return A3($elm$core$List$foldr, generateIntermediates, parent, rulesToRender); - }); -var $mdgriffith$elm_ui$Internal$Style$renderCompact = function (styleClasses) { - var renderValues = function (values) { - return $elm$core$String$concat( - A2( - $elm$core$List$map, - function (_v3) { - var x = _v3.a; - var y = _v3.b; - return x + (':' + (y + ';')); - }, - values)); - }; - var renderClass = function (rule) { - var _v2 = rule.F; - if (!_v2.b) { - return ''; - } else { - return rule.x + ('{' + (renderValues(rule.F) + (rule.ap + '}'))); - } - }; - var renderIntermediate = function (_v0) { - var rule = _v0; - return _Utils_ap( - renderClass(rule), - $elm$core$String$concat( - A2($elm$core$List$map, renderIntermediate, rule.h))); - }; - return $elm$core$String$concat( - A2( - $elm$core$List$map, - renderIntermediate, - A3( - $elm$core$List$foldr, - F2( - function (_v1, existing) { - var name = _v1.a; - var styleRules = _v1.b; - return A2( - $elm$core$List$cons, - A2( - $mdgriffith$elm_ui$Internal$Style$renderRules, - A2($mdgriffith$elm_ui$Internal$Style$emptyIntermediate, name, ''), - styleRules), - existing); - }), - _List_Nil, - styleClasses))); -}; -var $mdgriffith$elm_ui$Internal$Style$rules = _Utils_ap( - $mdgriffith$elm_ui$Internal$Style$overrides, - $mdgriffith$elm_ui$Internal$Style$renderCompact( - _Utils_ap($mdgriffith$elm_ui$Internal$Style$baseSheet, $mdgriffith$elm_ui$Internal$Style$commonValues))); -var $elm$virtual_dom$VirtualDom$text = _VirtualDom_text; -var $mdgriffith$elm_ui$Internal$Model$staticRoot = function (opts) { - var _v0 = opts.c0; - switch (_v0) { - case 0: - return A3( - $elm$virtual_dom$VirtualDom$node, - 'div', - _List_Nil, - _List_fromArray( - [ - A3( - $elm$virtual_dom$VirtualDom$node, - 'style', - _List_Nil, - _List_fromArray( - [ - $elm$virtual_dom$VirtualDom$text($mdgriffith$elm_ui$Internal$Style$rules) - ])) - ])); - case 1: - return $elm$virtual_dom$VirtualDom$text(''); - default: - return A3( - $elm$virtual_dom$VirtualDom$node, - 'elm-ui-static-rules', - _List_fromArray( - [ - A2( - $elm$virtual_dom$VirtualDom$property, - 'rules', - $elm$json$Json$Encode$string($mdgriffith$elm_ui$Internal$Style$rules)) - ]), - _List_Nil); - } -}; -var $elm$json$Json$Encode$list = F2( - function (func, entries) { - return _Json_wrap( - A3( - $elm$core$List$foldl, - _Json_addEntry(func), - _Json_emptyArray(0), - entries)); - }); -var $mdgriffith$elm_ui$Internal$Model$fontName = function (font) { - switch (font.$) { - case 0: - return 'serif'; - case 1: - return 'sans-serif'; - case 2: - return 'monospace'; - case 3: - var name = font.a; - return '\"' + (name + '\"'); - case 4: - var name = font.a; - var url = font.b; - return '\"' + (name + '\"'); - default: - var name = font.a.c1; - return '\"' + (name + '\"'); - } -}; -var $mdgriffith$elm_ui$Internal$Model$isSmallCaps = function (_var) { - switch (_var.$) { - case 0: - var name = _var.a; - return name === 'smcp'; - case 1: - var name = _var.a; - return false; - default: - var name = _var.a; - var index = _var.b; - return (name === 'smcp') && (index === 1); - } -}; -var $mdgriffith$elm_ui$Internal$Model$hasSmallCaps = function (typeface) { - if (typeface.$ === 5) { - var font = typeface.a; - return A2($elm$core$List$any, $mdgriffith$elm_ui$Internal$Model$isSmallCaps, font.bO); - } else { - return false; - } -}; -var $elm$core$Basics$negate = function (n) { - return -n; -}; -var $mdgriffith$elm_ui$Internal$Model$renderProps = F3( - function (force, _v0, existing) { - var key = _v0.a; - var val = _v0.b; - return force ? (existing + ('\n ' + (key + (': ' + (val + ' !important;'))))) : (existing + ('\n ' + (key + (': ' + (val + ';'))))); - }); -var $mdgriffith$elm_ui$Internal$Model$renderStyle = F4( - function (options, maybePseudo, selector, props) { - if (maybePseudo.$ === 1) { - return _List_fromArray( - [ - selector + ('{' + (A3( - $elm$core$List$foldl, - $mdgriffith$elm_ui$Internal$Model$renderProps(false), - '', - props) + '\n}')) - ]); - } else { - var pseudo = maybePseudo.a; - switch (pseudo) { - case 1: - var _v2 = options.cL; - switch (_v2) { - case 0: - return _List_Nil; - case 2: - return _List_fromArray( - [ - selector + ('-hv {' + (A3( - $elm$core$List$foldl, - $mdgriffith$elm_ui$Internal$Model$renderProps(true), - '', - props) + '\n}')) - ]); - default: - return _List_fromArray( - [ - selector + ('-hv:hover {' + (A3( - $elm$core$List$foldl, - $mdgriffith$elm_ui$Internal$Model$renderProps(false), - '', - props) + '\n}')) - ]); - } - case 0: - var renderedProps = A3( - $elm$core$List$foldl, - $mdgriffith$elm_ui$Internal$Model$renderProps(false), - '', - props); - return _List_fromArray( - [selector + ('-fs:focus {' + (renderedProps + '\n}')), '.' + ($mdgriffith$elm_ui$Internal$Style$classes.b9 + (':focus ~ ' + (selector + ('-fs:not(.focus) {' + (renderedProps + '\n}'))))), '.' + ($mdgriffith$elm_ui$Internal$Style$classes.b9 + (':focus ' + (selector + ('-fs {' + (renderedProps + '\n}'))))), selector + ('-fs:focus-within {' + (renderedProps + '\n}')), '.focusable-parent:focus ~ ' + ('.' + ($mdgriffith$elm_ui$Internal$Style$classes.b9 + (' ' + (selector + ('-fs {' + (renderedProps + '\n}'))))))]); - default: - return _List_fromArray( - [ - selector + ('-act:active {' + (A3( - $elm$core$List$foldl, - $mdgriffith$elm_ui$Internal$Model$renderProps(false), - '', - props) + '\n}')) - ]); - } - } - }); -var $mdgriffith$elm_ui$Internal$Model$renderVariant = function (_var) { - switch (_var.$) { - case 0: - var name = _var.a; - return '\"' + (name + '\"'); - case 1: - var name = _var.a; - return '\"' + (name + '\" 0'); - default: - var name = _var.a; - var index = _var.b; - return '\"' + (name + ('\" ' + $elm$core$String$fromInt(index))); - } -}; -var $mdgriffith$elm_ui$Internal$Model$renderVariants = function (typeface) { - if (typeface.$ === 5) { - var font = typeface.a; - return $elm$core$Maybe$Just( - A2( - $elm$core$String$join, - ', ', - A2($elm$core$List$map, $mdgriffith$elm_ui$Internal$Model$renderVariant, font.bO))); - } else { - return $elm$core$Maybe$Nothing; - } -}; -var $mdgriffith$elm_ui$Internal$Model$transformValue = function (transform) { - switch (transform.$) { - case 0: - return $elm$core$Maybe$Nothing; - case 1: - var _v1 = transform.a; - var x = _v1.a; - var y = _v1.b; - var z = _v1.c; - return $elm$core$Maybe$Just( - 'translate3d(' + ($elm$core$String$fromFloat(x) + ('px, ' + ($elm$core$String$fromFloat(y) + ('px, ' + ($elm$core$String$fromFloat(z) + 'px)')))))); - default: - var _v2 = transform.a; - var tx = _v2.a; - var ty = _v2.b; - var tz = _v2.c; - var _v3 = transform.b; - var sx = _v3.a; - var sy = _v3.b; - var sz = _v3.c; - var _v4 = transform.c; - var ox = _v4.a; - var oy = _v4.b; - var oz = _v4.c; - var angle = transform.d; - var translate = 'translate3d(' + ($elm$core$String$fromFloat(tx) + ('px, ' + ($elm$core$String$fromFloat(ty) + ('px, ' + ($elm$core$String$fromFloat(tz) + 'px)'))))); - var scale = 'scale3d(' + ($elm$core$String$fromFloat(sx) + (', ' + ($elm$core$String$fromFloat(sy) + (', ' + ($elm$core$String$fromFloat(sz) + ')'))))); - var rotate = 'rotate3d(' + ($elm$core$String$fromFloat(ox) + (', ' + ($elm$core$String$fromFloat(oy) + (', ' + ($elm$core$String$fromFloat(oz) + (', ' + ($elm$core$String$fromFloat(angle) + 'rad)'))))))); - return $elm$core$Maybe$Just(translate + (' ' + (scale + (' ' + rotate)))); - } -}; -var $mdgriffith$elm_ui$Internal$Model$renderStyleRule = F3( - function (options, rule, maybePseudo) { - switch (rule.$) { - case 0: - var selector = rule.a; - var props = rule.b; - return A4($mdgriffith$elm_ui$Internal$Model$renderStyle, options, maybePseudo, selector, props); - case 13: - var name = rule.a; - var prop = rule.b; - return A4( - $mdgriffith$elm_ui$Internal$Model$renderStyle, - options, - maybePseudo, - '.' + name, - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Model$Property, 'box-shadow', prop) - ])); - case 12: - var name = rule.a; - var transparency = rule.b; - var opacity = A2( - $elm$core$Basics$max, - 0, - A2($elm$core$Basics$min, 1, 1 - transparency)); - return A4( - $mdgriffith$elm_ui$Internal$Model$renderStyle, - options, - maybePseudo, - '.' + name, - _List_fromArray( - [ - A2( - $mdgriffith$elm_ui$Internal$Model$Property, - 'opacity', - $elm$core$String$fromFloat(opacity)) - ])); - case 2: - var i = rule.a; - return A4( - $mdgriffith$elm_ui$Internal$Model$renderStyle, - options, - maybePseudo, - '.font-size-' + $elm$core$String$fromInt(i), - _List_fromArray( - [ - A2( - $mdgriffith$elm_ui$Internal$Model$Property, - 'font-size', - $elm$core$String$fromInt(i) + 'px') - ])); - case 1: - var name = rule.a; - var typefaces = rule.b; - var features = A2( - $elm$core$String$join, - ', ', - A2($elm$core$List$filterMap, $mdgriffith$elm_ui$Internal$Model$renderVariants, typefaces)); - var families = _List_fromArray( - [ - A2( - $mdgriffith$elm_ui$Internal$Model$Property, - 'font-family', - A2( - $elm$core$String$join, - ', ', - A2($elm$core$List$map, $mdgriffith$elm_ui$Internal$Model$fontName, typefaces))), - A2($mdgriffith$elm_ui$Internal$Model$Property, 'font-feature-settings', features), - A2( - $mdgriffith$elm_ui$Internal$Model$Property, - 'font-variant', - A2($elm$core$List$any, $mdgriffith$elm_ui$Internal$Model$hasSmallCaps, typefaces) ? 'small-caps' : 'normal') - ]); - return A4($mdgriffith$elm_ui$Internal$Model$renderStyle, options, maybePseudo, '.' + name, families); - case 3: - var _class = rule.a; - var prop = rule.b; - var val = rule.c; - return A4( - $mdgriffith$elm_ui$Internal$Model$renderStyle, - options, - maybePseudo, - '.' + _class, - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Model$Property, prop, val) - ])); - case 4: - var _class = rule.a; - var prop = rule.b; - var color = rule.c; - return A4( - $mdgriffith$elm_ui$Internal$Model$renderStyle, - options, - maybePseudo, - '.' + _class, - _List_fromArray( - [ - A2( - $mdgriffith$elm_ui$Internal$Model$Property, - prop, - $mdgriffith$elm_ui$Internal$Model$formatColor(color)) - ])); - case 5: - var cls = rule.a; - var x = rule.b; - var y = rule.c; - var yPx = $elm$core$String$fromInt(y) + 'px'; - var xPx = $elm$core$String$fromInt(x) + 'px'; - var single = '.' + $mdgriffith$elm_ui$Internal$Style$classes.dx; - var row = '.' + $mdgriffith$elm_ui$Internal$Style$classes.s; - var wrappedRow = '.' + ($mdgriffith$elm_ui$Internal$Style$classes.a_ + row); - var right = '.' + $mdgriffith$elm_ui$Internal$Style$classes.a2; - var paragraph = '.' + $mdgriffith$elm_ui$Internal$Style$classes.bv; - var page = '.' + $mdgriffith$elm_ui$Internal$Style$classes.ay; - var left = '.' + $mdgriffith$elm_ui$Internal$Style$classes.a1; - var halfY = $elm$core$String$fromFloat(y / 2) + 'px'; - var halfX = $elm$core$String$fromFloat(x / 2) + 'px'; - var column = '.' + $mdgriffith$elm_ui$Internal$Style$classes.B; - var _class = '.' + cls; - var any = '.' + $mdgriffith$elm_ui$Internal$Style$classes.b9; - return $elm$core$List$concat( - _List_fromArray( - [ - A4( - $mdgriffith$elm_ui$Internal$Model$renderStyle, - options, - maybePseudo, - _class + (row + (' > ' + (any + (' + ' + any)))), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Model$Property, 'margin-left', xPx) - ])), - A4( - $mdgriffith$elm_ui$Internal$Model$renderStyle, - options, - maybePseudo, - _class + (wrappedRow + (' > ' + any)), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Model$Property, 'margin', halfY + (' ' + halfX)) - ])), - A4( - $mdgriffith$elm_ui$Internal$Model$renderStyle, - options, - maybePseudo, - _class + (column + (' > ' + (any + (' + ' + any)))), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Model$Property, 'margin-top', yPx) - ])), - A4( - $mdgriffith$elm_ui$Internal$Model$renderStyle, - options, - maybePseudo, - _class + (page + (' > ' + (any + (' + ' + any)))), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Model$Property, 'margin-top', yPx) - ])), - A4( - $mdgriffith$elm_ui$Internal$Model$renderStyle, - options, - maybePseudo, - _class + (page + (' > ' + left)), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Model$Property, 'margin-right', xPx) - ])), - A4( - $mdgriffith$elm_ui$Internal$Model$renderStyle, - options, - maybePseudo, - _class + (page + (' > ' + right)), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Model$Property, 'margin-left', xPx) - ])), - A4( - $mdgriffith$elm_ui$Internal$Model$renderStyle, - options, - maybePseudo, - _Utils_ap(_class, paragraph), - _List_fromArray( - [ - A2( - $mdgriffith$elm_ui$Internal$Model$Property, - 'line-height', - 'calc(1em + ' + ($elm$core$String$fromInt(y) + 'px)')) - ])), - A4( - $mdgriffith$elm_ui$Internal$Model$renderStyle, - options, - maybePseudo, - 'textarea' + (any + _class), - _List_fromArray( - [ - A2( - $mdgriffith$elm_ui$Internal$Model$Property, - 'line-height', - 'calc(1em + ' + ($elm$core$String$fromInt(y) + 'px)')), - A2( - $mdgriffith$elm_ui$Internal$Model$Property, - 'height', - 'calc(100% + ' + ($elm$core$String$fromInt(y) + 'px)')) - ])), - A4( - $mdgriffith$elm_ui$Internal$Model$renderStyle, - options, - maybePseudo, - _class + (paragraph + (' > ' + left)), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Model$Property, 'margin-right', xPx) - ])), - A4( - $mdgriffith$elm_ui$Internal$Model$renderStyle, - options, - maybePseudo, - _class + (paragraph + (' > ' + right)), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Model$Property, 'margin-left', xPx) - ])), - A4( - $mdgriffith$elm_ui$Internal$Model$renderStyle, - options, - maybePseudo, - _class + (paragraph + '::after'), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Model$Property, 'content', '\'\''), - A2($mdgriffith$elm_ui$Internal$Model$Property, 'display', 'block'), - A2($mdgriffith$elm_ui$Internal$Model$Property, 'height', '0'), - A2($mdgriffith$elm_ui$Internal$Model$Property, 'width', '0'), - A2( - $mdgriffith$elm_ui$Internal$Model$Property, - 'margin-top', - $elm$core$String$fromInt((-1) * ((y / 2) | 0)) + 'px') - ])), - A4( - $mdgriffith$elm_ui$Internal$Model$renderStyle, - options, - maybePseudo, - _class + (paragraph + '::before'), - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Model$Property, 'content', '\'\''), - A2($mdgriffith$elm_ui$Internal$Model$Property, 'display', 'block'), - A2($mdgriffith$elm_ui$Internal$Model$Property, 'height', '0'), - A2($mdgriffith$elm_ui$Internal$Model$Property, 'width', '0'), - A2( - $mdgriffith$elm_ui$Internal$Model$Property, - 'margin-bottom', - $elm$core$String$fromInt((-1) * ((y / 2) | 0)) + 'px') - ])) - ])); - case 7: - var cls = rule.a; - var top = rule.b; - var right = rule.c; - var bottom = rule.d; - var left = rule.e; - var _class = '.' + cls; - return A4( - $mdgriffith$elm_ui$Internal$Model$renderStyle, - options, - maybePseudo, - _class, - _List_fromArray( - [ - A2( - $mdgriffith$elm_ui$Internal$Model$Property, - 'padding', - $elm$core$String$fromInt(top) + ('px ' + ($elm$core$String$fromInt(right) + ('px ' + ($elm$core$String$fromInt(bottom) + ('px ' + ($elm$core$String$fromInt(left) + 'px'))))))) - ])); - case 6: - var cls = rule.a; - var top = rule.b; - var right = rule.c; - var bottom = rule.d; - var left = rule.e; - var _class = '.' + cls; - return A4( - $mdgriffith$elm_ui$Internal$Model$renderStyle, - options, - maybePseudo, - _class, - _List_fromArray( - [ - A2( - $mdgriffith$elm_ui$Internal$Model$Property, - 'border-width', - $elm$core$String$fromInt(top) + ('px ' + ($elm$core$String$fromInt(right) + ('px ' + ($elm$core$String$fromInt(bottom) + ('px ' + ($elm$core$String$fromInt(left) + 'px'))))))) - ])); - case 8: - var template = rule.a; - var toGridLengthHelper = F3( - function (minimum, maximum, x) { - toGridLengthHelper: - while (true) { - switch (x.$) { - case 0: - var px = x.a; - return $elm$core$String$fromInt(px) + 'px'; - case 1: - var _v2 = _Utils_Tuple2(minimum, maximum); - if (_v2.a.$ === 1) { - if (_v2.b.$ === 1) { - var _v3 = _v2.a; - var _v4 = _v2.b; - return 'max-content'; - } else { - var _v6 = _v2.a; - var maxSize = _v2.b.a; - return 'minmax(max-content, ' + ($elm$core$String$fromInt(maxSize) + 'px)'); - } - } else { - if (_v2.b.$ === 1) { - var minSize = _v2.a.a; - var _v5 = _v2.b; - return 'minmax(' + ($elm$core$String$fromInt(minSize) + ('px, ' + 'max-content)')); - } else { - var minSize = _v2.a.a; - var maxSize = _v2.b.a; - return 'minmax(' + ($elm$core$String$fromInt(minSize) + ('px, ' + ($elm$core$String$fromInt(maxSize) + 'px)'))); - } - } - case 2: - var i = x.a; - var _v7 = _Utils_Tuple2(minimum, maximum); - if (_v7.a.$ === 1) { - if (_v7.b.$ === 1) { - var _v8 = _v7.a; - var _v9 = _v7.b; - return $elm$core$String$fromInt(i) + 'fr'; - } else { - var _v11 = _v7.a; - var maxSize = _v7.b.a; - return 'minmax(max-content, ' + ($elm$core$String$fromInt(maxSize) + 'px)'); - } - } else { - if (_v7.b.$ === 1) { - var minSize = _v7.a.a; - var _v10 = _v7.b; - return 'minmax(' + ($elm$core$String$fromInt(minSize) + ('px, ' + ($elm$core$String$fromInt(i) + ('fr' + 'fr)')))); - } else { - var minSize = _v7.a.a; - var maxSize = _v7.b.a; - return 'minmax(' + ($elm$core$String$fromInt(minSize) + ('px, ' + ($elm$core$String$fromInt(maxSize) + 'px)'))); - } - } - case 3: - var m = x.a; - var len = x.b; - var $temp$minimum = $elm$core$Maybe$Just(m), - $temp$maximum = maximum, - $temp$x = len; - minimum = $temp$minimum; - maximum = $temp$maximum; - x = $temp$x; - continue toGridLengthHelper; - default: - var m = x.a; - var len = x.b; - var $temp$minimum = minimum, - $temp$maximum = $elm$core$Maybe$Just(m), - $temp$x = len; - minimum = $temp$minimum; - maximum = $temp$maximum; - x = $temp$x; - continue toGridLengthHelper; - } - } - }); - var toGridLength = function (x) { - return A3(toGridLengthHelper, $elm$core$Maybe$Nothing, $elm$core$Maybe$Nothing, x); - }; - var xSpacing = toGridLength(template.dA.a); - var ySpacing = toGridLength(template.dA.b); - var rows = function (x) { - return 'grid-template-rows: ' + (x + ';'); - }( - A2( - $elm$core$String$join, - ' ', - A2($elm$core$List$map, toGridLength, template.dq))); - var msRows = function (x) { - return '-ms-grid-rows: ' + (x + ';'); - }( - A2( - $elm$core$String$join, - ySpacing, - A2($elm$core$List$map, toGridLength, template.u))); - var msColumns = function (x) { - return '-ms-grid-columns: ' + (x + ';'); - }( - A2( - $elm$core$String$join, - ySpacing, - A2($elm$core$List$map, toGridLength, template.u))); - var gapY = 'grid-row-gap:' + (toGridLength(template.dA.b) + ';'); - var gapX = 'grid-column-gap:' + (toGridLength(template.dA.a) + ';'); - var columns = function (x) { - return 'grid-template-columns: ' + (x + ';'); - }( - A2( - $elm$core$String$join, - ' ', - A2($elm$core$List$map, toGridLength, template.u))); - var _class = '.grid-rows-' + (A2( - $elm$core$String$join, - '-', - A2($elm$core$List$map, $mdgriffith$elm_ui$Internal$Model$lengthClassName, template.dq)) + ('-cols-' + (A2( - $elm$core$String$join, - '-', - A2($elm$core$List$map, $mdgriffith$elm_ui$Internal$Model$lengthClassName, template.u)) + ('-space-x-' + ($mdgriffith$elm_ui$Internal$Model$lengthClassName(template.dA.a) + ('-space-y-' + $mdgriffith$elm_ui$Internal$Model$lengthClassName(template.dA.b))))))); - var modernGrid = _class + ('{' + (columns + (rows + (gapX + (gapY + '}'))))); - var supports = '@supports (display:grid) {' + (modernGrid + '}'); - var base = _class + ('{' + (msColumns + (msRows + '}'))); - return _List_fromArray( - [base, supports]); - case 9: - var position = rule.a; - var msPosition = A2( - $elm$core$String$join, - ' ', - _List_fromArray( - [ - '-ms-grid-row: ' + ($elm$core$String$fromInt(position.s) + ';'), - '-ms-grid-row-span: ' + ($elm$core$String$fromInt(position.bg) + ';'), - '-ms-grid-column: ' + ($elm$core$String$fromInt(position.ct) + ';'), - '-ms-grid-column-span: ' + ($elm$core$String$fromInt(position.bS) + ';') - ])); - var modernPosition = A2( - $elm$core$String$join, - ' ', - _List_fromArray( - [ - 'grid-row: ' + ($elm$core$String$fromInt(position.s) + (' / ' + ($elm$core$String$fromInt(position.s + position.bg) + ';'))), - 'grid-column: ' + ($elm$core$String$fromInt(position.ct) + (' / ' + ($elm$core$String$fromInt(position.ct + position.bS) + ';'))) - ])); - var _class = '.grid-pos-' + ($elm$core$String$fromInt(position.s) + ('-' + ($elm$core$String$fromInt(position.ct) + ('-' + ($elm$core$String$fromInt(position.bS) + ('-' + $elm$core$String$fromInt(position.bg))))))); - var modernGrid = _class + ('{' + (modernPosition + '}')); - var supports = '@supports (display:grid) {' + (modernGrid + '}'); - var base = _class + ('{' + (msPosition + '}')); - return _List_fromArray( - [base, supports]); - case 11: - var _class = rule.a; - var styles = rule.b; - var renderPseudoRule = function (style) { - return A3( - $mdgriffith$elm_ui$Internal$Model$renderStyleRule, - options, - style, - $elm$core$Maybe$Just(_class)); - }; - return A2($elm$core$List$concatMap, renderPseudoRule, styles); - default: - var transform = rule.a; - var val = $mdgriffith$elm_ui$Internal$Model$transformValue(transform); - var _class = $mdgriffith$elm_ui$Internal$Model$transformClass(transform); - var _v12 = _Utils_Tuple2(_class, val); - if ((!_v12.a.$) && (!_v12.b.$)) { - var cls = _v12.a.a; - var v = _v12.b.a; - return A4( - $mdgriffith$elm_ui$Internal$Model$renderStyle, - options, - maybePseudo, - '.' + cls, - _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Model$Property, 'transform', v) - ])); - } else { - return _List_Nil; - } - } - }); -var $mdgriffith$elm_ui$Internal$Model$encodeStyles = F2( - function (options, stylesheet) { - return $elm$json$Json$Encode$object( - A2( - $elm$core$List$map, - function (style) { - var styled = A3($mdgriffith$elm_ui$Internal$Model$renderStyleRule, options, style, $elm$core$Maybe$Nothing); - return _Utils_Tuple2( - $mdgriffith$elm_ui$Internal$Model$getStyleName(style), - A2($elm$json$Json$Encode$list, $elm$json$Json$Encode$string, styled)); - }, - stylesheet)); - }); -var $mdgriffith$elm_ui$Internal$Model$bracket = F2( - function (selector, rules) { - var renderPair = function (_v0) { - var name = _v0.a; - var val = _v0.b; - return name + (': ' + (val + ';')); - }; - return selector + (' {' + (A2( - $elm$core$String$join, - '', - A2($elm$core$List$map, renderPair, rules)) + '}')); - }); -var $mdgriffith$elm_ui$Internal$Model$fontRule = F3( - function (name, modifier, _v0) { - var parentAdj = _v0.a; - var textAdjustment = _v0.b; - return _List_fromArray( - [ - A2($mdgriffith$elm_ui$Internal$Model$bracket, '.' + (name + ('.' + (modifier + (', ' + ('.' + (name + (' .' + modifier))))))), parentAdj), - A2($mdgriffith$elm_ui$Internal$Model$bracket, '.' + (name + ('.' + (modifier + ('> .' + ($mdgriffith$elm_ui$Internal$Style$classes.dL + (', .' + (name + (' .' + (modifier + (' > .' + $mdgriffith$elm_ui$Internal$Style$classes.dL)))))))))), textAdjustment) - ]); - }); -var $mdgriffith$elm_ui$Internal$Model$renderFontAdjustmentRule = F3( - function (fontToAdjust, _v0, otherFontName) { - var full = _v0.a; - var capital = _v0.b; - var name = _Utils_eq(fontToAdjust, otherFontName) ? fontToAdjust : (otherFontName + (' .' + fontToAdjust)); - return A2( - $elm$core$String$join, - ' ', - _Utils_ap( - A3($mdgriffith$elm_ui$Internal$Model$fontRule, name, $mdgriffith$elm_ui$Internal$Style$classes.dy, capital), - A3($mdgriffith$elm_ui$Internal$Model$fontRule, name, $mdgriffith$elm_ui$Internal$Style$classes.cG, full))); - }); -var $mdgriffith$elm_ui$Internal$Model$renderNullAdjustmentRule = F2( - function (fontToAdjust, otherFontName) { - var name = _Utils_eq(fontToAdjust, otherFontName) ? fontToAdjust : (otherFontName + (' .' + fontToAdjust)); - return A2( - $elm$core$String$join, - ' ', - _List_fromArray( - [ - A2( - $mdgriffith$elm_ui$Internal$Model$bracket, - '.' + (name + ('.' + ($mdgriffith$elm_ui$Internal$Style$classes.dy + (', ' + ('.' + (name + (' .' + $mdgriffith$elm_ui$Internal$Style$classes.dy))))))), - _List_fromArray( - [ - _Utils_Tuple2('line-height', '1') - ])), - A2( - $mdgriffith$elm_ui$Internal$Model$bracket, - '.' + (name + ('.' + ($mdgriffith$elm_ui$Internal$Style$classes.dy + ('> .' + ($mdgriffith$elm_ui$Internal$Style$classes.dL + (', .' + (name + (' .' + ($mdgriffith$elm_ui$Internal$Style$classes.dy + (' > .' + $mdgriffith$elm_ui$Internal$Style$classes.dL)))))))))), - _List_fromArray( - [ - _Utils_Tuple2('vertical-align', '0'), - _Utils_Tuple2('line-height', '1') - ])) - ])); - }); -var $mdgriffith$elm_ui$Internal$Model$adjust = F3( - function (size, height, vertical) { - return {bg: height / size, bI: size, bP: vertical}; - }); -var $elm$core$List$maximum = function (list) { - if (list.b) { - var x = list.a; - var xs = list.b; - return $elm$core$Maybe$Just( - A3($elm$core$List$foldl, $elm$core$Basics$max, x, xs)); - } else { - return $elm$core$Maybe$Nothing; - } -}; -var $elm$core$List$minimum = function (list) { - if (list.b) { - var x = list.a; - var xs = list.b; - return $elm$core$Maybe$Just( - A3($elm$core$List$foldl, $elm$core$Basics$min, x, xs)); - } else { - return $elm$core$Maybe$Nothing; - } -}; -var $mdgriffith$elm_ui$Internal$Model$convertAdjustment = function (adjustment) { - var lines = _List_fromArray( - [adjustment.co, adjustment.cc, adjustment.cx, adjustment.cZ]); - var lineHeight = 1.5; - var normalDescender = (lineHeight - 1) / 2; - var oldMiddle = lineHeight / 2; - var descender = A2( - $elm$core$Maybe$withDefault, - adjustment.cx, - $elm$core$List$minimum(lines)); - var newBaseline = A2( - $elm$core$Maybe$withDefault, - adjustment.cc, - $elm$core$List$minimum( - A2( - $elm$core$List$filter, - function (x) { - return !_Utils_eq(x, descender); - }, - lines))); - var base = lineHeight; - var ascender = A2( - $elm$core$Maybe$withDefault, - adjustment.co, - $elm$core$List$maximum(lines)); - var capitalSize = 1 / (ascender - newBaseline); - var capitalVertical = 1 - ascender; - var fullSize = 1 / (ascender - descender); - var fullVertical = 1 - ascender; - var newCapitalMiddle = ((ascender - newBaseline) / 2) + newBaseline; - var newFullMiddle = ((ascender - descender) / 2) + descender; - return { - co: A3($mdgriffith$elm_ui$Internal$Model$adjust, capitalSize, ascender - newBaseline, capitalVertical), - bf: A3($mdgriffith$elm_ui$Internal$Model$adjust, fullSize, ascender - descender, fullVertical) - }; -}; -var $mdgriffith$elm_ui$Internal$Model$fontAdjustmentRules = function (converted) { - return _Utils_Tuple2( - _List_fromArray( - [ - _Utils_Tuple2('display', 'block') - ]), - _List_fromArray( - [ - _Utils_Tuple2('display', 'inline-block'), - _Utils_Tuple2( - 'line-height', - $elm$core$String$fromFloat(converted.bg)), - _Utils_Tuple2( - 'vertical-align', - $elm$core$String$fromFloat(converted.bP) + 'em'), - _Utils_Tuple2( - 'font-size', - $elm$core$String$fromFloat(converted.bI) + 'em') - ])); -}; -var $mdgriffith$elm_ui$Internal$Model$typefaceAdjustment = function (typefaces) { - return A3( - $elm$core$List$foldl, - F2( - function (face, found) { - if (found.$ === 1) { - if (face.$ === 5) { - var _with = face.a; - var _v2 = _with.bZ; - if (_v2.$ === 1) { - return found; - } else { - var adjustment = _v2.a; - return $elm$core$Maybe$Just( - _Utils_Tuple2( - $mdgriffith$elm_ui$Internal$Model$fontAdjustmentRules( - function ($) { - return $.bf; - }( - $mdgriffith$elm_ui$Internal$Model$convertAdjustment(adjustment))), - $mdgriffith$elm_ui$Internal$Model$fontAdjustmentRules( - function ($) { - return $.co; - }( - $mdgriffith$elm_ui$Internal$Model$convertAdjustment(adjustment))))); - } - } else { - return found; - } - } else { - return found; - } - }), - $elm$core$Maybe$Nothing, - typefaces); -}; -var $mdgriffith$elm_ui$Internal$Model$renderTopLevelValues = function (rules) { - var withImport = function (font) { - if (font.$ === 4) { - var url = font.b; - return $elm$core$Maybe$Just('@import url(\'' + (url + '\');')); - } else { - return $elm$core$Maybe$Nothing; - } - }; - var fontImports = function (_v2) { - var name = _v2.a; - var typefaces = _v2.b; - var imports = A2( - $elm$core$String$join, - '\n', - A2($elm$core$List$filterMap, withImport, typefaces)); - return imports; - }; - var allNames = A2($elm$core$List$map, $elm$core$Tuple$first, rules); - var fontAdjustments = function (_v1) { - var name = _v1.a; - var typefaces = _v1.b; - var _v0 = $mdgriffith$elm_ui$Internal$Model$typefaceAdjustment(typefaces); - if (_v0.$ === 1) { - return A2( - $elm$core$String$join, - '', - A2( - $elm$core$List$map, - $mdgriffith$elm_ui$Internal$Model$renderNullAdjustmentRule(name), - allNames)); - } else { - var adjustment = _v0.a; - return A2( - $elm$core$String$join, - '', - A2( - $elm$core$List$map, - A2($mdgriffith$elm_ui$Internal$Model$renderFontAdjustmentRule, name, adjustment), - allNames)); - } - }; - return _Utils_ap( - A2( - $elm$core$String$join, - '\n', - A2($elm$core$List$map, fontImports, rules)), - A2( - $elm$core$String$join, - '\n', - A2($elm$core$List$map, fontAdjustments, rules))); -}; -var $mdgriffith$elm_ui$Internal$Model$topLevelValue = function (rule) { - if (rule.$ === 1) { - var name = rule.a; - var typefaces = rule.b; - return $elm$core$Maybe$Just( - _Utils_Tuple2(name, typefaces)); - } else { - return $elm$core$Maybe$Nothing; - } -}; -var $mdgriffith$elm_ui$Internal$Model$toStyleSheetString = F2( - function (options, stylesheet) { - var combine = F2( - function (style, rendered) { - return { - az: _Utils_ap( - rendered.az, - A3($mdgriffith$elm_ui$Internal$Model$renderStyleRule, options, style, $elm$core$Maybe$Nothing)), - aj: function () { - var _v1 = $mdgriffith$elm_ui$Internal$Model$topLevelValue(style); - if (_v1.$ === 1) { - return rendered.aj; - } else { - var topLevel = _v1.a; - return A2($elm$core$List$cons, topLevel, rendered.aj); - } - }() - }; - }); - var _v0 = A3( - $elm$core$List$foldl, - combine, - {az: _List_Nil, aj: _List_Nil}, - stylesheet); - var topLevel = _v0.aj; - var rules = _v0.az; - return _Utils_ap( - $mdgriffith$elm_ui$Internal$Model$renderTopLevelValues(topLevel), - $elm$core$String$concat(rules)); - }); -var $mdgriffith$elm_ui$Internal$Model$toStyleSheet = F2( - function (options, styleSheet) { - var _v0 = options.c0; - switch (_v0) { - case 0: - return A3( - $elm$virtual_dom$VirtualDom$node, - 'div', - _List_Nil, - _List_fromArray( - [ - A3( - $elm$virtual_dom$VirtualDom$node, - 'style', - _List_Nil, - _List_fromArray( - [ - $elm$virtual_dom$VirtualDom$text( - A2($mdgriffith$elm_ui$Internal$Model$toStyleSheetString, options, styleSheet)) - ])) - ])); - case 1: - return A3( - $elm$virtual_dom$VirtualDom$node, - 'div', - _List_Nil, - _List_fromArray( - [ - A3( - $elm$virtual_dom$VirtualDom$node, - 'style', - _List_Nil, - _List_fromArray( - [ - $elm$virtual_dom$VirtualDom$text( - A2($mdgriffith$elm_ui$Internal$Model$toStyleSheetString, options, styleSheet)) - ])) - ])); - default: - return A3( - $elm$virtual_dom$VirtualDom$node, - 'elm-ui-rules', - _List_fromArray( - [ - A2( - $elm$virtual_dom$VirtualDom$property, - 'rules', - A2($mdgriffith$elm_ui$Internal$Model$encodeStyles, options, styleSheet)) - ]), - _List_Nil); - } - }); -var $mdgriffith$elm_ui$Internal$Model$embedKeyed = F4( - function (_static, opts, styles, children) { - var dynamicStyleSheet = A2( - $mdgriffith$elm_ui$Internal$Model$toStyleSheet, - opts, - A3( - $elm$core$List$foldl, - $mdgriffith$elm_ui$Internal$Model$reduceStyles, - _Utils_Tuple2( - $elm$core$Set$empty, - $mdgriffith$elm_ui$Internal$Model$renderFocusStyle(opts.cE)), - styles).b); - return _static ? A2( - $elm$core$List$cons, - _Utils_Tuple2( - 'static-stylesheet', - $mdgriffith$elm_ui$Internal$Model$staticRoot(opts)), - A2( - $elm$core$List$cons, - _Utils_Tuple2('dynamic-stylesheet', dynamicStyleSheet), - children)) : A2( - $elm$core$List$cons, - _Utils_Tuple2('dynamic-stylesheet', dynamicStyleSheet), - children); - }); -var $mdgriffith$elm_ui$Internal$Model$embedWith = F4( - function (_static, opts, styles, children) { - var dynamicStyleSheet = A2( - $mdgriffith$elm_ui$Internal$Model$toStyleSheet, - opts, - A3( - $elm$core$List$foldl, - $mdgriffith$elm_ui$Internal$Model$reduceStyles, - _Utils_Tuple2( - $elm$core$Set$empty, - $mdgriffith$elm_ui$Internal$Model$renderFocusStyle(opts.cE)), - styles).b); - return _static ? A2( - $elm$core$List$cons, - $mdgriffith$elm_ui$Internal$Model$staticRoot(opts), - A2($elm$core$List$cons, dynamicStyleSheet, children)) : A2($elm$core$List$cons, dynamicStyleSheet, children); - }); -var $mdgriffith$elm_ui$Internal$Flag$heightBetween = $mdgriffith$elm_ui$Internal$Flag$flag(45); -var $mdgriffith$elm_ui$Internal$Flag$heightFill = $mdgriffith$elm_ui$Internal$Flag$flag(37); -var $elm$virtual_dom$VirtualDom$keyedNode = function (tag) { - return _VirtualDom_keyedNode( - _VirtualDom_noScript(tag)); -}; -var $elm$html$Html$p = _VirtualDom_node('p'); -var $elm$core$Bitwise$and = _Bitwise_and; -var $mdgriffith$elm_ui$Internal$Flag$present = F2( - function (myFlag, _v0) { - var fieldOne = _v0.a; - var fieldTwo = _v0.b; - if (!myFlag.$) { - var first = myFlag.a; - return _Utils_eq(first & fieldOne, first); - } else { - var second = myFlag.a; - return _Utils_eq(second & fieldTwo, second); - } - }); -var $elm$html$Html$s = _VirtualDom_node('s'); -var $elm$html$Html$u = _VirtualDom_node('u'); -var $mdgriffith$elm_ui$Internal$Flag$widthBetween = $mdgriffith$elm_ui$Internal$Flag$flag(44); -var $mdgriffith$elm_ui$Internal$Flag$widthFill = $mdgriffith$elm_ui$Internal$Flag$flag(39); -var $mdgriffith$elm_ui$Internal$Model$finalizeNode = F6( - function (has, node, attributes, children, embedMode, parentContext) { - var createNode = F2( - function (nodeName, attrs) { - if (children.$ === 1) { - var keyed = children.a; - return A3( - $elm$virtual_dom$VirtualDom$keyedNode, - nodeName, - attrs, - function () { - switch (embedMode.$) { - case 0: - return keyed; - case 2: - var opts = embedMode.a; - var styles = embedMode.b; - return A4($mdgriffith$elm_ui$Internal$Model$embedKeyed, false, opts, styles, keyed); - default: - var opts = embedMode.a; - var styles = embedMode.b; - return A4($mdgriffith$elm_ui$Internal$Model$embedKeyed, true, opts, styles, keyed); - } - }()); - } else { - var unkeyed = children.a; - return A2( - function () { - switch (nodeName) { - case 'div': - return $elm$html$Html$div; - case 'p': - return $elm$html$Html$p; - default: - return $elm$virtual_dom$VirtualDom$node(nodeName); - } - }(), - attrs, - function () { - switch (embedMode.$) { - case 0: - return unkeyed; - case 2: - var opts = embedMode.a; - var styles = embedMode.b; - return A4($mdgriffith$elm_ui$Internal$Model$embedWith, false, opts, styles, unkeyed); - default: - var opts = embedMode.a; - var styles = embedMode.b; - return A4($mdgriffith$elm_ui$Internal$Model$embedWith, true, opts, styles, unkeyed); - } - }()); - } - }); - var html = function () { - switch (node.$) { - case 0: - return A2(createNode, 'div', attributes); - case 1: - var nodeName = node.a; - return A2(createNode, nodeName, attributes); - default: - var nodeName = node.a; - var internal = node.b; - return A3( - $elm$virtual_dom$VirtualDom$node, - nodeName, - attributes, - _List_fromArray( - [ - A2( - createNode, - internal, - _List_fromArray( - [ - $elm$html$Html$Attributes$class($mdgriffith$elm_ui$Internal$Style$classes.b9 + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.dx)) - ])) - ])); - } - }(); - switch (parentContext) { - case 0: - return (A2($mdgriffith$elm_ui$Internal$Flag$present, $mdgriffith$elm_ui$Internal$Flag$widthFill, has) && (!A2($mdgriffith$elm_ui$Internal$Flag$present, $mdgriffith$elm_ui$Internal$Flag$widthBetween, has))) ? html : (A2($mdgriffith$elm_ui$Internal$Flag$present, $mdgriffith$elm_ui$Internal$Flag$alignRight, has) ? A2( - $elm$html$Html$u, - _List_fromArray( - [ - $elm$html$Html$Attributes$class( - A2( - $elm$core$String$join, - ' ', - _List_fromArray( - [$mdgriffith$elm_ui$Internal$Style$classes.b9, $mdgriffith$elm_ui$Internal$Style$classes.dx, $mdgriffith$elm_ui$Internal$Style$classes.aq, $mdgriffith$elm_ui$Internal$Style$classes.C, $mdgriffith$elm_ui$Internal$Style$classes.b5]))) - ]), - _List_fromArray( - [html])) : (A2($mdgriffith$elm_ui$Internal$Flag$present, $mdgriffith$elm_ui$Internal$Flag$centerX, has) ? A2( - $elm$html$Html$s, - _List_fromArray( - [ - $elm$html$Html$Attributes$class( - A2( - $elm$core$String$join, - ' ', - _List_fromArray( - [$mdgriffith$elm_ui$Internal$Style$classes.b9, $mdgriffith$elm_ui$Internal$Style$classes.dx, $mdgriffith$elm_ui$Internal$Style$classes.aq, $mdgriffith$elm_ui$Internal$Style$classes.C, $mdgriffith$elm_ui$Internal$Style$classes.b3]))) - ]), - _List_fromArray( - [html])) : html)); - case 1: - return (A2($mdgriffith$elm_ui$Internal$Flag$present, $mdgriffith$elm_ui$Internal$Flag$heightFill, has) && (!A2($mdgriffith$elm_ui$Internal$Flag$present, $mdgriffith$elm_ui$Internal$Flag$heightBetween, has))) ? html : (A2($mdgriffith$elm_ui$Internal$Flag$present, $mdgriffith$elm_ui$Internal$Flag$centerY, has) ? A2( - $elm$html$Html$s, - _List_fromArray( - [ - $elm$html$Html$Attributes$class( - A2( - $elm$core$String$join, - ' ', - _List_fromArray( - [$mdgriffith$elm_ui$Internal$Style$classes.b9, $mdgriffith$elm_ui$Internal$Style$classes.dx, $mdgriffith$elm_ui$Internal$Style$classes.aq, $mdgriffith$elm_ui$Internal$Style$classes.b4]))) - ]), - _List_fromArray( - [html])) : (A2($mdgriffith$elm_ui$Internal$Flag$present, $mdgriffith$elm_ui$Internal$Flag$alignBottom, has) ? A2( - $elm$html$Html$u, - _List_fromArray( - [ - $elm$html$Html$Attributes$class( - A2( - $elm$core$String$join, - ' ', - _List_fromArray( - [$mdgriffith$elm_ui$Internal$Style$classes.b9, $mdgriffith$elm_ui$Internal$Style$classes.dx, $mdgriffith$elm_ui$Internal$Style$classes.aq, $mdgriffith$elm_ui$Internal$Style$classes.b2]))) - ]), - _List_fromArray( - [html])) : html)); - default: - return html; - } - }); -var $elm$core$List$isEmpty = function (xs) { - if (!xs.b) { - return true; - } else { - return false; - } -}; -var $elm$html$Html$text = $elm$virtual_dom$VirtualDom$text; -var $mdgriffith$elm_ui$Internal$Model$textElementClasses = $mdgriffith$elm_ui$Internal$Style$classes.b9 + (' ' + ($mdgriffith$elm_ui$Internal$Style$classes.dL + (' ' + ($mdgriffith$elm_ui$Internal$Style$classes.aY + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.aN))))); -var $mdgriffith$elm_ui$Internal$Model$textElement = function (str) { - return A2( - $elm$html$Html$div, - _List_fromArray( - [ - $elm$html$Html$Attributes$class($mdgriffith$elm_ui$Internal$Model$textElementClasses) - ]), - _List_fromArray( - [ - $elm$html$Html$text(str) - ])); -}; -var $mdgriffith$elm_ui$Internal$Model$textElementFillClasses = $mdgriffith$elm_ui$Internal$Style$classes.b9 + (' ' + ($mdgriffith$elm_ui$Internal$Style$classes.dL + (' ' + ($mdgriffith$elm_ui$Internal$Style$classes.aZ + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.aO))))); -var $mdgriffith$elm_ui$Internal$Model$textElementFill = function (str) { - return A2( - $elm$html$Html$div, - _List_fromArray( - [ - $elm$html$Html$Attributes$class($mdgriffith$elm_ui$Internal$Model$textElementFillClasses) - ]), - _List_fromArray( - [ - $elm$html$Html$text(str) - ])); -}; -var $mdgriffith$elm_ui$Internal$Model$createElement = F3( - function (context, children, rendered) { - var gatherKeyed = F2( - function (_v8, _v9) { - var key = _v8.a; - var child = _v8.b; - var htmls = _v9.a; - var existingStyles = _v9.b; - switch (child.$) { - case 0: - var html = child.a; - return _Utils_eq(context, $mdgriffith$elm_ui$Internal$Model$asParagraph) ? _Utils_Tuple2( - A2( - $elm$core$List$cons, - _Utils_Tuple2( - key, - html(context)), - htmls), - existingStyles) : _Utils_Tuple2( - A2( - $elm$core$List$cons, - _Utils_Tuple2( - key, - html(context)), - htmls), - existingStyles); - case 1: - var styled = child.a; - return _Utils_eq(context, $mdgriffith$elm_ui$Internal$Model$asParagraph) ? _Utils_Tuple2( - A2( - $elm$core$List$cons, - _Utils_Tuple2( - key, - A2(styled.cM, $mdgriffith$elm_ui$Internal$Model$NoStyleSheet, context)), - htmls), - $elm$core$List$isEmpty(existingStyles) ? styled.dI : _Utils_ap(styled.dI, existingStyles)) : _Utils_Tuple2( - A2( - $elm$core$List$cons, - _Utils_Tuple2( - key, - A2(styled.cM, $mdgriffith$elm_ui$Internal$Model$NoStyleSheet, context)), - htmls), - $elm$core$List$isEmpty(existingStyles) ? styled.dI : _Utils_ap(styled.dI, existingStyles)); - case 2: - var str = child.a; - return _Utils_Tuple2( - A2( - $elm$core$List$cons, - _Utils_Tuple2( - key, - _Utils_eq(context, $mdgriffith$elm_ui$Internal$Model$asEl) ? $mdgriffith$elm_ui$Internal$Model$textElementFill(str) : $mdgriffith$elm_ui$Internal$Model$textElement(str)), - htmls), - existingStyles); - default: - return _Utils_Tuple2(htmls, existingStyles); - } - }); - var gather = F2( - function (child, _v6) { - var htmls = _v6.a; - var existingStyles = _v6.b; - switch (child.$) { - case 0: - var html = child.a; - return _Utils_eq(context, $mdgriffith$elm_ui$Internal$Model$asParagraph) ? _Utils_Tuple2( - A2( - $elm$core$List$cons, - html(context), - htmls), - existingStyles) : _Utils_Tuple2( - A2( - $elm$core$List$cons, - html(context), - htmls), - existingStyles); - case 1: - var styled = child.a; - return _Utils_eq(context, $mdgriffith$elm_ui$Internal$Model$asParagraph) ? _Utils_Tuple2( - A2( - $elm$core$List$cons, - A2(styled.cM, $mdgriffith$elm_ui$Internal$Model$NoStyleSheet, context), - htmls), - $elm$core$List$isEmpty(existingStyles) ? styled.dI : _Utils_ap(styled.dI, existingStyles)) : _Utils_Tuple2( - A2( - $elm$core$List$cons, - A2(styled.cM, $mdgriffith$elm_ui$Internal$Model$NoStyleSheet, context), - htmls), - $elm$core$List$isEmpty(existingStyles) ? styled.dI : _Utils_ap(styled.dI, existingStyles)); - case 2: - var str = child.a; - return _Utils_Tuple2( - A2( - $elm$core$List$cons, - _Utils_eq(context, $mdgriffith$elm_ui$Internal$Model$asEl) ? $mdgriffith$elm_ui$Internal$Model$textElementFill(str) : $mdgriffith$elm_ui$Internal$Model$textElement(str), - htmls), - existingStyles); - default: - return _Utils_Tuple2(htmls, existingStyles); - } - }); - if (children.$ === 1) { - var keyedChildren = children.a; - var _v1 = A3( - $elm$core$List$foldr, - gatherKeyed, - _Utils_Tuple2(_List_Nil, _List_Nil), - keyedChildren); - var keyed = _v1.a; - var styles = _v1.b; - var newStyles = $elm$core$List$isEmpty(styles) ? rendered.dI : _Utils_ap(rendered.dI, styles); - if (!newStyles.b) { - return $mdgriffith$elm_ui$Internal$Model$Unstyled( - A5( - $mdgriffith$elm_ui$Internal$Model$finalizeNode, - rendered.K, - rendered.L, - rendered.H, - $mdgriffith$elm_ui$Internal$Model$Keyed( - A3($mdgriffith$elm_ui$Internal$Model$addKeyedChildren, 'nearby-element-pls', keyed, rendered.I)), - $mdgriffith$elm_ui$Internal$Model$NoStyleSheet)); - } else { - var allStyles = newStyles; - return $mdgriffith$elm_ui$Internal$Model$Styled( - { - cM: A4( - $mdgriffith$elm_ui$Internal$Model$finalizeNode, - rendered.K, - rendered.L, - rendered.H, - $mdgriffith$elm_ui$Internal$Model$Keyed( - A3($mdgriffith$elm_ui$Internal$Model$addKeyedChildren, 'nearby-element-pls', keyed, rendered.I))), - dI: allStyles - }); - } - } else { - var unkeyedChildren = children.a; - var _v3 = A3( - $elm$core$List$foldr, - gather, - _Utils_Tuple2(_List_Nil, _List_Nil), - unkeyedChildren); - var unkeyed = _v3.a; - var styles = _v3.b; - var newStyles = $elm$core$List$isEmpty(styles) ? rendered.dI : _Utils_ap(rendered.dI, styles); - if (!newStyles.b) { - return $mdgriffith$elm_ui$Internal$Model$Unstyled( - A5( - $mdgriffith$elm_ui$Internal$Model$finalizeNode, - rendered.K, - rendered.L, - rendered.H, - $mdgriffith$elm_ui$Internal$Model$Unkeyed( - A2($mdgriffith$elm_ui$Internal$Model$addChildren, unkeyed, rendered.I)), - $mdgriffith$elm_ui$Internal$Model$NoStyleSheet)); - } else { - var allStyles = newStyles; - return $mdgriffith$elm_ui$Internal$Model$Styled( - { - cM: A4( - $mdgriffith$elm_ui$Internal$Model$finalizeNode, - rendered.K, - rendered.L, - rendered.H, - $mdgriffith$elm_ui$Internal$Model$Unkeyed( - A2($mdgriffith$elm_ui$Internal$Model$addChildren, unkeyed, rendered.I))), - dI: allStyles - }); - } - } - }); -var $mdgriffith$elm_ui$Internal$Model$Single = F3( - function (a, b, c) { - return {$: 3, a: a, b: b, c: c}; - }); -var $mdgriffith$elm_ui$Internal$Model$Transform = function (a) { - return {$: 10, a: a}; -}; -var $mdgriffith$elm_ui$Internal$Flag$Field = F2( - function (a, b) { - return {$: 0, a: a, b: b}; - }); -var $elm$core$Bitwise$or = _Bitwise_or; -var $mdgriffith$elm_ui$Internal$Flag$add = F2( - function (myFlag, _v0) { - var one = _v0.a; - var two = _v0.b; - if (!myFlag.$) { - var first = myFlag.a; - return A2($mdgriffith$elm_ui$Internal$Flag$Field, first | one, two); - } else { - var second = myFlag.a; - return A2($mdgriffith$elm_ui$Internal$Flag$Field, one, second | two); - } - }); -var $mdgriffith$elm_ui$Internal$Model$ChildrenBehind = function (a) { - return {$: 1, a: a}; -}; -var $mdgriffith$elm_ui$Internal$Model$ChildrenBehindAndInFront = F2( - function (a, b) { - return {$: 3, a: a, b: b}; - }); -var $mdgriffith$elm_ui$Internal$Model$ChildrenInFront = function (a) { - return {$: 2, a: a}; -}; -var $mdgriffith$elm_ui$Internal$Model$nearbyElement = F2( - function (location, elem) { - return A2( - $elm$html$Html$div, - _List_fromArray( - [ - $elm$html$Html$Attributes$class( - function () { - switch (location) { - case 0: - return A2( - $elm$core$String$join, - ' ', - _List_fromArray( - [$mdgriffith$elm_ui$Internal$Style$classes.U, $mdgriffith$elm_ui$Internal$Style$classes.dx, $mdgriffith$elm_ui$Internal$Style$classes.bY])); - case 1: - return A2( - $elm$core$String$join, - ' ', - _List_fromArray( - [$mdgriffith$elm_ui$Internal$Style$classes.U, $mdgriffith$elm_ui$Internal$Style$classes.dx, $mdgriffith$elm_ui$Internal$Style$classes.ce])); - case 2: - return A2( - $elm$core$String$join, - ' ', - _List_fromArray( - [$mdgriffith$elm_ui$Internal$Style$classes.U, $mdgriffith$elm_ui$Internal$Style$classes.dx, $mdgriffith$elm_ui$Internal$Style$classes.c8])); - case 3: - return A2( - $elm$core$String$join, - ' ', - _List_fromArray( - [$mdgriffith$elm_ui$Internal$Style$classes.U, $mdgriffith$elm_ui$Internal$Style$classes.dx, $mdgriffith$elm_ui$Internal$Style$classes.c6])); - case 4: - return A2( - $elm$core$String$join, - ' ', - _List_fromArray( - [$mdgriffith$elm_ui$Internal$Style$classes.U, $mdgriffith$elm_ui$Internal$Style$classes.dx, $mdgriffith$elm_ui$Internal$Style$classes.cP])); - default: - return A2( - $elm$core$String$join, - ' ', - _List_fromArray( - [$mdgriffith$elm_ui$Internal$Style$classes.U, $mdgriffith$elm_ui$Internal$Style$classes.dx, $mdgriffith$elm_ui$Internal$Style$classes.cd])); - } - }()) - ]), - _List_fromArray( - [ - function () { - switch (elem.$) { - case 3: - return $elm$virtual_dom$VirtualDom$text(''); - case 2: - var str = elem.a; - return $mdgriffith$elm_ui$Internal$Model$textElement(str); - case 0: - var html = elem.a; - return html($mdgriffith$elm_ui$Internal$Model$asEl); - default: - var styled = elem.a; - return A2(styled.cM, $mdgriffith$elm_ui$Internal$Model$NoStyleSheet, $mdgriffith$elm_ui$Internal$Model$asEl); - } - }() - ])); - }); -var $mdgriffith$elm_ui$Internal$Model$addNearbyElement = F3( - function (location, elem, existing) { - var nearby = A2($mdgriffith$elm_ui$Internal$Model$nearbyElement, location, elem); - switch (existing.$) { - case 0: - if (location === 5) { - return $mdgriffith$elm_ui$Internal$Model$ChildrenBehind( - _List_fromArray( - [nearby])); - } else { - return $mdgriffith$elm_ui$Internal$Model$ChildrenInFront( - _List_fromArray( - [nearby])); - } - case 1: - var existingBehind = existing.a; - if (location === 5) { - return $mdgriffith$elm_ui$Internal$Model$ChildrenBehind( - A2($elm$core$List$cons, nearby, existingBehind)); - } else { - return A2( - $mdgriffith$elm_ui$Internal$Model$ChildrenBehindAndInFront, - existingBehind, - _List_fromArray( - [nearby])); - } - case 2: - var existingInFront = existing.a; - if (location === 5) { - return A2( - $mdgriffith$elm_ui$Internal$Model$ChildrenBehindAndInFront, - _List_fromArray( - [nearby]), - existingInFront); - } else { - return $mdgriffith$elm_ui$Internal$Model$ChildrenInFront( - A2($elm$core$List$cons, nearby, existingInFront)); - } - default: - var existingBehind = existing.a; - var existingInFront = existing.b; - if (location === 5) { - return A2( - $mdgriffith$elm_ui$Internal$Model$ChildrenBehindAndInFront, - A2($elm$core$List$cons, nearby, existingBehind), - existingInFront); - } else { - return A2( - $mdgriffith$elm_ui$Internal$Model$ChildrenBehindAndInFront, - existingBehind, - A2($elm$core$List$cons, nearby, existingInFront)); - } - } - }); -var $mdgriffith$elm_ui$Internal$Model$Embedded = F2( - function (a, b) { - return {$: 2, a: a, b: b}; - }); -var $mdgriffith$elm_ui$Internal$Model$NodeName = function (a) { - return {$: 1, a: a}; -}; -var $mdgriffith$elm_ui$Internal$Model$addNodeName = F2( - function (newNode, old) { - switch (old.$) { - case 0: - return $mdgriffith$elm_ui$Internal$Model$NodeName(newNode); - case 1: - var name = old.a; - return A2($mdgriffith$elm_ui$Internal$Model$Embedded, name, newNode); - default: - var x = old.a; - var y = old.b; - return A2($mdgriffith$elm_ui$Internal$Model$Embedded, x, y); - } - }); -var $mdgriffith$elm_ui$Internal$Model$alignXName = function (align) { - switch (align) { - case 0: - return $mdgriffith$elm_ui$Internal$Style$classes.aH + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.a1); - case 2: - return $mdgriffith$elm_ui$Internal$Style$classes.aH + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.a2); - default: - return $mdgriffith$elm_ui$Internal$Style$classes.aH + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.b0); - } -}; -var $mdgriffith$elm_ui$Internal$Model$alignYName = function (align) { - switch (align) { - case 0: - return $mdgriffith$elm_ui$Internal$Style$classes.aI + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.b6); - case 2: - return $mdgriffith$elm_ui$Internal$Style$classes.aI + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.b$); - default: - return $mdgriffith$elm_ui$Internal$Style$classes.aI + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.b1); - } -}; -var $elm$virtual_dom$VirtualDom$attribute = F2( - function (key, value) { - return A2( - _VirtualDom_attribute, - _VirtualDom_noOnOrFormAction(key), - _VirtualDom_noJavaScriptOrHtmlUri(value)); - }); -var $mdgriffith$elm_ui$Internal$Model$FullTransform = F4( - function (a, b, c, d) { - return {$: 2, a: a, b: b, c: c, d: d}; - }); -var $mdgriffith$elm_ui$Internal$Model$Moved = function (a) { - return {$: 1, a: a}; -}; -var $mdgriffith$elm_ui$Internal$Model$composeTransformation = F2( - function (transform, component) { - switch (transform.$) { - case 0: - switch (component.$) { - case 0: - var x = component.a; - return $mdgriffith$elm_ui$Internal$Model$Moved( - _Utils_Tuple3(x, 0, 0)); - case 1: - var y = component.a; - return $mdgriffith$elm_ui$Internal$Model$Moved( - _Utils_Tuple3(0, y, 0)); - case 2: - var z = component.a; - return $mdgriffith$elm_ui$Internal$Model$Moved( - _Utils_Tuple3(0, 0, z)); - case 3: - var xyz = component.a; - return $mdgriffith$elm_ui$Internal$Model$Moved(xyz); - case 4: - var xyz = component.a; - var angle = component.b; - return A4( - $mdgriffith$elm_ui$Internal$Model$FullTransform, - _Utils_Tuple3(0, 0, 0), - _Utils_Tuple3(1, 1, 1), - xyz, - angle); - default: - var xyz = component.a; - return A4( - $mdgriffith$elm_ui$Internal$Model$FullTransform, - _Utils_Tuple3(0, 0, 0), - xyz, - _Utils_Tuple3(0, 0, 1), - 0); - } - case 1: - var moved = transform.a; - var x = moved.a; - var y = moved.b; - var z = moved.c; - switch (component.$) { - case 0: - var newX = component.a; - return $mdgriffith$elm_ui$Internal$Model$Moved( - _Utils_Tuple3(newX, y, z)); - case 1: - var newY = component.a; - return $mdgriffith$elm_ui$Internal$Model$Moved( - _Utils_Tuple3(x, newY, z)); - case 2: - var newZ = component.a; - return $mdgriffith$elm_ui$Internal$Model$Moved( - _Utils_Tuple3(x, y, newZ)); - case 3: - var xyz = component.a; - return $mdgriffith$elm_ui$Internal$Model$Moved(xyz); - case 4: - var xyz = component.a; - var angle = component.b; - return A4( - $mdgriffith$elm_ui$Internal$Model$FullTransform, - moved, - _Utils_Tuple3(1, 1, 1), - xyz, - angle); - default: - var scale = component.a; - return A4( - $mdgriffith$elm_ui$Internal$Model$FullTransform, - moved, - scale, - _Utils_Tuple3(0, 0, 1), - 0); - } - default: - var moved = transform.a; - var x = moved.a; - var y = moved.b; - var z = moved.c; - var scaled = transform.b; - var origin = transform.c; - var angle = transform.d; - switch (component.$) { - case 0: - var newX = component.a; - return A4( - $mdgriffith$elm_ui$Internal$Model$FullTransform, - _Utils_Tuple3(newX, y, z), - scaled, - origin, - angle); - case 1: - var newY = component.a; - return A4( - $mdgriffith$elm_ui$Internal$Model$FullTransform, - _Utils_Tuple3(x, newY, z), - scaled, - origin, - angle); - case 2: - var newZ = component.a; - return A4( - $mdgriffith$elm_ui$Internal$Model$FullTransform, - _Utils_Tuple3(x, y, newZ), - scaled, - origin, - angle); - case 3: - var newMove = component.a; - return A4($mdgriffith$elm_ui$Internal$Model$FullTransform, newMove, scaled, origin, angle); - case 4: - var newOrigin = component.a; - var newAngle = component.b; - return A4($mdgriffith$elm_ui$Internal$Model$FullTransform, moved, scaled, newOrigin, newAngle); - default: - var newScale = component.a; - return A4($mdgriffith$elm_ui$Internal$Model$FullTransform, moved, newScale, origin, angle); - } - } - }); -var $mdgriffith$elm_ui$Internal$Flag$height = $mdgriffith$elm_ui$Internal$Flag$flag(7); -var $mdgriffith$elm_ui$Internal$Flag$heightContent = $mdgriffith$elm_ui$Internal$Flag$flag(36); -var $mdgriffith$elm_ui$Internal$Flag$merge = F2( - function (_v0, _v1) { - var one = _v0.a; - var two = _v0.b; - var three = _v1.a; - var four = _v1.b; - return A2($mdgriffith$elm_ui$Internal$Flag$Field, one | three, two | four); - }); -var $mdgriffith$elm_ui$Internal$Flag$none = A2($mdgriffith$elm_ui$Internal$Flag$Field, 0, 0); -var $mdgriffith$elm_ui$Internal$Model$renderHeight = function (h) { - switch (h.$) { - case 0: - var px = h.a; - var val = $elm$core$String$fromInt(px); - var name = 'height-px-' + val; - return _Utils_Tuple3( - $mdgriffith$elm_ui$Internal$Flag$none, - $mdgriffith$elm_ui$Internal$Style$classes.bh + (' ' + name), - _List_fromArray( - [ - A3($mdgriffith$elm_ui$Internal$Model$Single, name, 'height', val + 'px') - ])); - case 1: - return _Utils_Tuple3( - A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$heightContent, $mdgriffith$elm_ui$Internal$Flag$none), - $mdgriffith$elm_ui$Internal$Style$classes.aN, - _List_Nil); - case 2: - var portion = h.a; - return (portion === 1) ? _Utils_Tuple3( - A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$heightFill, $mdgriffith$elm_ui$Internal$Flag$none), - $mdgriffith$elm_ui$Internal$Style$classes.aO, - _List_Nil) : _Utils_Tuple3( - A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$heightFill, $mdgriffith$elm_ui$Internal$Flag$none), - $mdgriffith$elm_ui$Internal$Style$classes.bi + (' height-fill-' + $elm$core$String$fromInt(portion)), - _List_fromArray( - [ - A3( - $mdgriffith$elm_ui$Internal$Model$Single, - $mdgriffith$elm_ui$Internal$Style$classes.b9 + ('.' + ($mdgriffith$elm_ui$Internal$Style$classes.B + (' > ' + $mdgriffith$elm_ui$Internal$Style$dot( - 'height-fill-' + $elm$core$String$fromInt(portion))))), - 'flex-grow', - $elm$core$String$fromInt(portion * 100000)) - ])); - case 3: - var minSize = h.a; - var len = h.b; - var cls = 'min-height-' + $elm$core$String$fromInt(minSize); - var style = A3( - $mdgriffith$elm_ui$Internal$Model$Single, - cls, - 'min-height', - $elm$core$String$fromInt(minSize) + 'px'); - var _v1 = $mdgriffith$elm_ui$Internal$Model$renderHeight(len); - var newFlag = _v1.a; - var newAttrs = _v1.b; - var newStyle = _v1.c; - return _Utils_Tuple3( - A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$heightBetween, newFlag), - cls + (' ' + newAttrs), - A2($elm$core$List$cons, style, newStyle)); - default: - var maxSize = h.a; - var len = h.b; - var cls = 'max-height-' + $elm$core$String$fromInt(maxSize); - var style = A3( - $mdgriffith$elm_ui$Internal$Model$Single, - cls, - 'max-height', - $elm$core$String$fromInt(maxSize) + 'px'); - var _v2 = $mdgriffith$elm_ui$Internal$Model$renderHeight(len); - var newFlag = _v2.a; - var newAttrs = _v2.b; - var newStyle = _v2.c; - return _Utils_Tuple3( - A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$heightBetween, newFlag), - cls + (' ' + newAttrs), - A2($elm$core$List$cons, style, newStyle)); - } -}; -var $mdgriffith$elm_ui$Internal$Flag$widthContent = $mdgriffith$elm_ui$Internal$Flag$flag(38); -var $mdgriffith$elm_ui$Internal$Model$renderWidth = function (w) { - switch (w.$) { - case 0: - var px = w.a; - return _Utils_Tuple3( - $mdgriffith$elm_ui$Internal$Flag$none, - $mdgriffith$elm_ui$Internal$Style$classes.bT + (' width-px-' + $elm$core$String$fromInt(px)), - _List_fromArray( - [ - A3( - $mdgriffith$elm_ui$Internal$Model$Single, - 'width-px-' + $elm$core$String$fromInt(px), - 'width', - $elm$core$String$fromInt(px) + 'px') - ])); - case 1: - return _Utils_Tuple3( - A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$widthContent, $mdgriffith$elm_ui$Internal$Flag$none), - $mdgriffith$elm_ui$Internal$Style$classes.aY, - _List_Nil); - case 2: - var portion = w.a; - return (portion === 1) ? _Utils_Tuple3( - A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$widthFill, $mdgriffith$elm_ui$Internal$Flag$none), - $mdgriffith$elm_ui$Internal$Style$classes.aZ, - _List_Nil) : _Utils_Tuple3( - A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$widthFill, $mdgriffith$elm_ui$Internal$Flag$none), - $mdgriffith$elm_ui$Internal$Style$classes.bU + (' width-fill-' + $elm$core$String$fromInt(portion)), - _List_fromArray( - [ - A3( - $mdgriffith$elm_ui$Internal$Model$Single, - $mdgriffith$elm_ui$Internal$Style$classes.b9 + ('.' + ($mdgriffith$elm_ui$Internal$Style$classes.s + (' > ' + $mdgriffith$elm_ui$Internal$Style$dot( - 'width-fill-' + $elm$core$String$fromInt(portion))))), - 'flex-grow', - $elm$core$String$fromInt(portion * 100000)) - ])); - case 3: - var minSize = w.a; - var len = w.b; - var cls = 'min-width-' + $elm$core$String$fromInt(minSize); - var style = A3( - $mdgriffith$elm_ui$Internal$Model$Single, - cls, - 'min-width', - $elm$core$String$fromInt(minSize) + 'px'); - var _v1 = $mdgriffith$elm_ui$Internal$Model$renderWidth(len); - var newFlag = _v1.a; - var newAttrs = _v1.b; - var newStyle = _v1.c; - return _Utils_Tuple3( - A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$widthBetween, newFlag), - cls + (' ' + newAttrs), - A2($elm$core$List$cons, style, newStyle)); - default: - var maxSize = w.a; - var len = w.b; - var cls = 'max-width-' + $elm$core$String$fromInt(maxSize); - var style = A3( - $mdgriffith$elm_ui$Internal$Model$Single, - cls, - 'max-width', - $elm$core$String$fromInt(maxSize) + 'px'); - var _v2 = $mdgriffith$elm_ui$Internal$Model$renderWidth(len); - var newFlag = _v2.a; - var newAttrs = _v2.b; - var newStyle = _v2.c; - return _Utils_Tuple3( - A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$widthBetween, newFlag), - cls + (' ' + newAttrs), - A2($elm$core$List$cons, style, newStyle)); - } -}; -var $mdgriffith$elm_ui$Internal$Flag$borderWidth = $mdgriffith$elm_ui$Internal$Flag$flag(27); -var $elm$core$Basics$ge = _Utils_ge; -var $mdgriffith$elm_ui$Internal$Model$skippable = F2( - function (flag, style) { - if (_Utils_eq(flag, $mdgriffith$elm_ui$Internal$Flag$borderWidth)) { - if (style.$ === 3) { - var val = style.c; - switch (val) { - case '0px': - return true; - case '1px': - return true; - case '2px': - return true; - case '3px': - return true; - case '4px': - return true; - case '5px': - return true; - case '6px': - return true; - default: - return false; - } - } else { - return false; - } - } else { - switch (style.$) { - case 2: - var i = style.a; - return (i >= 8) && (i <= 32); - case 7: - var name = style.a; - var t = style.b; - var r = style.c; - var b = style.d; - var l = style.e; - return _Utils_eq(t, b) && (_Utils_eq(t, r) && (_Utils_eq(t, l) && ((t >= 0) && (t <= 24)))); - default: - return false; - } - } - }); -var $mdgriffith$elm_ui$Internal$Flag$width = $mdgriffith$elm_ui$Internal$Flag$flag(6); -var $mdgriffith$elm_ui$Internal$Flag$xAlign = $mdgriffith$elm_ui$Internal$Flag$flag(30); -var $mdgriffith$elm_ui$Internal$Flag$yAlign = $mdgriffith$elm_ui$Internal$Flag$flag(29); -var $mdgriffith$elm_ui$Internal$Model$gatherAttrRecursive = F8( - function (classes, node, has, transform, styles, attrs, children, elementAttrs) { - gatherAttrRecursive: - while (true) { - if (!elementAttrs.b) { - var _v1 = $mdgriffith$elm_ui$Internal$Model$transformClass(transform); - if (_v1.$ === 1) { - return { - H: A2( - $elm$core$List$cons, - $elm$html$Html$Attributes$class(classes), - attrs), - I: children, - K: has, - L: node, - dI: styles - }; - } else { - var _class = _v1.a; - return { - H: A2( - $elm$core$List$cons, - $elm$html$Html$Attributes$class(classes + (' ' + _class)), - attrs), - I: children, - K: has, - L: node, - dI: A2( - $elm$core$List$cons, - $mdgriffith$elm_ui$Internal$Model$Transform(transform), - styles) - }; - } - } else { - var attribute = elementAttrs.a; - var remaining = elementAttrs.b; - switch (attribute.$) { - case 0: - var $temp$classes = classes, - $temp$node = node, - $temp$has = has, - $temp$transform = transform, - $temp$styles = styles, - $temp$attrs = attrs, - $temp$children = children, - $temp$elementAttrs = remaining; - classes = $temp$classes; - node = $temp$node; - has = $temp$has; - transform = $temp$transform; - styles = $temp$styles; - attrs = $temp$attrs; - children = $temp$children; - elementAttrs = $temp$elementAttrs; - continue gatherAttrRecursive; - case 3: - var flag = attribute.a; - var exactClassName = attribute.b; - if (A2($mdgriffith$elm_ui$Internal$Flag$present, flag, has)) { - var $temp$classes = classes, - $temp$node = node, - $temp$has = has, - $temp$transform = transform, - $temp$styles = styles, - $temp$attrs = attrs, - $temp$children = children, - $temp$elementAttrs = remaining; - classes = $temp$classes; - node = $temp$node; - has = $temp$has; - transform = $temp$transform; - styles = $temp$styles; - attrs = $temp$attrs; - children = $temp$children; - elementAttrs = $temp$elementAttrs; - continue gatherAttrRecursive; - } else { - var $temp$classes = exactClassName + (' ' + classes), - $temp$node = node, - $temp$has = A2($mdgriffith$elm_ui$Internal$Flag$add, flag, has), - $temp$transform = transform, - $temp$styles = styles, - $temp$attrs = attrs, - $temp$children = children, - $temp$elementAttrs = remaining; - classes = $temp$classes; - node = $temp$node; - has = $temp$has; - transform = $temp$transform; - styles = $temp$styles; - attrs = $temp$attrs; - children = $temp$children; - elementAttrs = $temp$elementAttrs; - continue gatherAttrRecursive; - } - case 1: - var actualAttribute = attribute.a; - var $temp$classes = classes, - $temp$node = node, - $temp$has = has, - $temp$transform = transform, - $temp$styles = styles, - $temp$attrs = A2($elm$core$List$cons, actualAttribute, attrs), - $temp$children = children, - $temp$elementAttrs = remaining; - classes = $temp$classes; - node = $temp$node; - has = $temp$has; - transform = $temp$transform; - styles = $temp$styles; - attrs = $temp$attrs; - children = $temp$children; - elementAttrs = $temp$elementAttrs; - continue gatherAttrRecursive; - case 4: - var flag = attribute.a; - var style = attribute.b; - if (A2($mdgriffith$elm_ui$Internal$Flag$present, flag, has)) { - var $temp$classes = classes, - $temp$node = node, - $temp$has = has, - $temp$transform = transform, - $temp$styles = styles, - $temp$attrs = attrs, - $temp$children = children, - $temp$elementAttrs = remaining; - classes = $temp$classes; - node = $temp$node; - has = $temp$has; - transform = $temp$transform; - styles = $temp$styles; - attrs = $temp$attrs; - children = $temp$children; - elementAttrs = $temp$elementAttrs; - continue gatherAttrRecursive; - } else { - if (A2($mdgriffith$elm_ui$Internal$Model$skippable, flag, style)) { - var $temp$classes = $mdgriffith$elm_ui$Internal$Model$getStyleName(style) + (' ' + classes), - $temp$node = node, - $temp$has = A2($mdgriffith$elm_ui$Internal$Flag$add, flag, has), - $temp$transform = transform, - $temp$styles = styles, - $temp$attrs = attrs, - $temp$children = children, - $temp$elementAttrs = remaining; - classes = $temp$classes; - node = $temp$node; - has = $temp$has; - transform = $temp$transform; - styles = $temp$styles; - attrs = $temp$attrs; - children = $temp$children; - elementAttrs = $temp$elementAttrs; - continue gatherAttrRecursive; - } else { - var $temp$classes = $mdgriffith$elm_ui$Internal$Model$getStyleName(style) + (' ' + classes), - $temp$node = node, - $temp$has = A2($mdgriffith$elm_ui$Internal$Flag$add, flag, has), - $temp$transform = transform, - $temp$styles = A2($elm$core$List$cons, style, styles), - $temp$attrs = attrs, - $temp$children = children, - $temp$elementAttrs = remaining; - classes = $temp$classes; - node = $temp$node; - has = $temp$has; - transform = $temp$transform; - styles = $temp$styles; - attrs = $temp$attrs; - children = $temp$children; - elementAttrs = $temp$elementAttrs; - continue gatherAttrRecursive; - } - } - case 10: - var flag = attribute.a; - var component = attribute.b; - var $temp$classes = classes, - $temp$node = node, - $temp$has = A2($mdgriffith$elm_ui$Internal$Flag$add, flag, has), - $temp$transform = A2($mdgriffith$elm_ui$Internal$Model$composeTransformation, transform, component), - $temp$styles = styles, - $temp$attrs = attrs, - $temp$children = children, - $temp$elementAttrs = remaining; - classes = $temp$classes; - node = $temp$node; - has = $temp$has; - transform = $temp$transform; - styles = $temp$styles; - attrs = $temp$attrs; - children = $temp$children; - elementAttrs = $temp$elementAttrs; - continue gatherAttrRecursive; - case 7: - var width = attribute.a; - if (A2($mdgriffith$elm_ui$Internal$Flag$present, $mdgriffith$elm_ui$Internal$Flag$width, has)) { - var $temp$classes = classes, - $temp$node = node, - $temp$has = has, - $temp$transform = transform, - $temp$styles = styles, - $temp$attrs = attrs, - $temp$children = children, - $temp$elementAttrs = remaining; - classes = $temp$classes; - node = $temp$node; - has = $temp$has; - transform = $temp$transform; - styles = $temp$styles; - attrs = $temp$attrs; - children = $temp$children; - elementAttrs = $temp$elementAttrs; - continue gatherAttrRecursive; - } else { - switch (width.$) { - case 0: - var px = width.a; - var $temp$classes = ($mdgriffith$elm_ui$Internal$Style$classes.bT + (' width-px-' + $elm$core$String$fromInt(px))) + (' ' + classes), - $temp$node = node, - $temp$has = A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$width, has), - $temp$transform = transform, - $temp$styles = A2( - $elm$core$List$cons, - A3( - $mdgriffith$elm_ui$Internal$Model$Single, - 'width-px-' + $elm$core$String$fromInt(px), - 'width', - $elm$core$String$fromInt(px) + 'px'), - styles), - $temp$attrs = attrs, - $temp$children = children, - $temp$elementAttrs = remaining; - classes = $temp$classes; - node = $temp$node; - has = $temp$has; - transform = $temp$transform; - styles = $temp$styles; - attrs = $temp$attrs; - children = $temp$children; - elementAttrs = $temp$elementAttrs; - continue gatherAttrRecursive; - case 1: - var $temp$classes = classes + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.aY), - $temp$node = node, - $temp$has = A2( - $mdgriffith$elm_ui$Internal$Flag$add, - $mdgriffith$elm_ui$Internal$Flag$widthContent, - A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$width, has)), - $temp$transform = transform, - $temp$styles = styles, - $temp$attrs = attrs, - $temp$children = children, - $temp$elementAttrs = remaining; - classes = $temp$classes; - node = $temp$node; - has = $temp$has; - transform = $temp$transform; - styles = $temp$styles; - attrs = $temp$attrs; - children = $temp$children; - elementAttrs = $temp$elementAttrs; - continue gatherAttrRecursive; - case 2: - var portion = width.a; - if (portion === 1) { - var $temp$classes = classes + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.aZ), - $temp$node = node, - $temp$has = A2( - $mdgriffith$elm_ui$Internal$Flag$add, - $mdgriffith$elm_ui$Internal$Flag$widthFill, - A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$width, has)), - $temp$transform = transform, - $temp$styles = styles, - $temp$attrs = attrs, - $temp$children = children, - $temp$elementAttrs = remaining; - classes = $temp$classes; - node = $temp$node; - has = $temp$has; - transform = $temp$transform; - styles = $temp$styles; - attrs = $temp$attrs; - children = $temp$children; - elementAttrs = $temp$elementAttrs; - continue gatherAttrRecursive; - } else { - var $temp$classes = classes + (' ' + ($mdgriffith$elm_ui$Internal$Style$classes.bU + (' width-fill-' + $elm$core$String$fromInt(portion)))), - $temp$node = node, - $temp$has = A2( - $mdgriffith$elm_ui$Internal$Flag$add, - $mdgriffith$elm_ui$Internal$Flag$widthFill, - A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$width, has)), - $temp$transform = transform, - $temp$styles = A2( - $elm$core$List$cons, - A3( - $mdgriffith$elm_ui$Internal$Model$Single, - $mdgriffith$elm_ui$Internal$Style$classes.b9 + ('.' + ($mdgriffith$elm_ui$Internal$Style$classes.s + (' > ' + $mdgriffith$elm_ui$Internal$Style$dot( - 'width-fill-' + $elm$core$String$fromInt(portion))))), - 'flex-grow', - $elm$core$String$fromInt(portion * 100000)), - styles), - $temp$attrs = attrs, - $temp$children = children, - $temp$elementAttrs = remaining; - classes = $temp$classes; - node = $temp$node; - has = $temp$has; - transform = $temp$transform; - styles = $temp$styles; - attrs = $temp$attrs; - children = $temp$children; - elementAttrs = $temp$elementAttrs; - continue gatherAttrRecursive; - } - default: - var _v4 = $mdgriffith$elm_ui$Internal$Model$renderWidth(width); - var addToFlags = _v4.a; - var newClass = _v4.b; - var newStyles = _v4.c; - var $temp$classes = classes + (' ' + newClass), - $temp$node = node, - $temp$has = A2( - $mdgriffith$elm_ui$Internal$Flag$merge, - addToFlags, - A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$width, has)), - $temp$transform = transform, - $temp$styles = _Utils_ap(newStyles, styles), - $temp$attrs = attrs, - $temp$children = children, - $temp$elementAttrs = remaining; - classes = $temp$classes; - node = $temp$node; - has = $temp$has; - transform = $temp$transform; - styles = $temp$styles; - attrs = $temp$attrs; - children = $temp$children; - elementAttrs = $temp$elementAttrs; - continue gatherAttrRecursive; - } - } - case 8: - var height = attribute.a; - if (A2($mdgriffith$elm_ui$Internal$Flag$present, $mdgriffith$elm_ui$Internal$Flag$height, has)) { - var $temp$classes = classes, - $temp$node = node, - $temp$has = has, - $temp$transform = transform, - $temp$styles = styles, - $temp$attrs = attrs, - $temp$children = children, - $temp$elementAttrs = remaining; - classes = $temp$classes; - node = $temp$node; - has = $temp$has; - transform = $temp$transform; - styles = $temp$styles; - attrs = $temp$attrs; - children = $temp$children; - elementAttrs = $temp$elementAttrs; - continue gatherAttrRecursive; - } else { - switch (height.$) { - case 0: - var px = height.a; - var val = $elm$core$String$fromInt(px) + 'px'; - var name = 'height-px-' + val; - var $temp$classes = $mdgriffith$elm_ui$Internal$Style$classes.bh + (' ' + (name + (' ' + classes))), - $temp$node = node, - $temp$has = A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$height, has), - $temp$transform = transform, - $temp$styles = A2( - $elm$core$List$cons, - A3($mdgriffith$elm_ui$Internal$Model$Single, name, 'height ', val), - styles), - $temp$attrs = attrs, - $temp$children = children, - $temp$elementAttrs = remaining; - classes = $temp$classes; - node = $temp$node; - has = $temp$has; - transform = $temp$transform; - styles = $temp$styles; - attrs = $temp$attrs; - children = $temp$children; - elementAttrs = $temp$elementAttrs; - continue gatherAttrRecursive; - case 1: - var $temp$classes = $mdgriffith$elm_ui$Internal$Style$classes.aN + (' ' + classes), - $temp$node = node, - $temp$has = A2( - $mdgriffith$elm_ui$Internal$Flag$add, - $mdgriffith$elm_ui$Internal$Flag$heightContent, - A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$height, has)), - $temp$transform = transform, - $temp$styles = styles, - $temp$attrs = attrs, - $temp$children = children, - $temp$elementAttrs = remaining; - classes = $temp$classes; - node = $temp$node; - has = $temp$has; - transform = $temp$transform; - styles = $temp$styles; - attrs = $temp$attrs; - children = $temp$children; - elementAttrs = $temp$elementAttrs; - continue gatherAttrRecursive; - case 2: - var portion = height.a; - if (portion === 1) { - var $temp$classes = $mdgriffith$elm_ui$Internal$Style$classes.aO + (' ' + classes), - $temp$node = node, - $temp$has = A2( - $mdgriffith$elm_ui$Internal$Flag$add, - $mdgriffith$elm_ui$Internal$Flag$heightFill, - A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$height, has)), - $temp$transform = transform, - $temp$styles = styles, - $temp$attrs = attrs, - $temp$children = children, - $temp$elementAttrs = remaining; - classes = $temp$classes; - node = $temp$node; - has = $temp$has; - transform = $temp$transform; - styles = $temp$styles; - attrs = $temp$attrs; - children = $temp$children; - elementAttrs = $temp$elementAttrs; - continue gatherAttrRecursive; - } else { - var $temp$classes = classes + (' ' + ($mdgriffith$elm_ui$Internal$Style$classes.bi + (' height-fill-' + $elm$core$String$fromInt(portion)))), - $temp$node = node, - $temp$has = A2( - $mdgriffith$elm_ui$Internal$Flag$add, - $mdgriffith$elm_ui$Internal$Flag$heightFill, - A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$height, has)), - $temp$transform = transform, - $temp$styles = A2( - $elm$core$List$cons, - A3( - $mdgriffith$elm_ui$Internal$Model$Single, - $mdgriffith$elm_ui$Internal$Style$classes.b9 + ('.' + ($mdgriffith$elm_ui$Internal$Style$classes.B + (' > ' + $mdgriffith$elm_ui$Internal$Style$dot( - 'height-fill-' + $elm$core$String$fromInt(portion))))), - 'flex-grow', - $elm$core$String$fromInt(portion * 100000)), - styles), - $temp$attrs = attrs, - $temp$children = children, - $temp$elementAttrs = remaining; - classes = $temp$classes; - node = $temp$node; - has = $temp$has; - transform = $temp$transform; - styles = $temp$styles; - attrs = $temp$attrs; - children = $temp$children; - elementAttrs = $temp$elementAttrs; - continue gatherAttrRecursive; - } - default: - var _v6 = $mdgriffith$elm_ui$Internal$Model$renderHeight(height); - var addToFlags = _v6.a; - var newClass = _v6.b; - var newStyles = _v6.c; - var $temp$classes = classes + (' ' + newClass), - $temp$node = node, - $temp$has = A2( - $mdgriffith$elm_ui$Internal$Flag$merge, - addToFlags, - A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$height, has)), - $temp$transform = transform, - $temp$styles = _Utils_ap(newStyles, styles), - $temp$attrs = attrs, - $temp$children = children, - $temp$elementAttrs = remaining; - classes = $temp$classes; - node = $temp$node; - has = $temp$has; - transform = $temp$transform; - styles = $temp$styles; - attrs = $temp$attrs; - children = $temp$children; - elementAttrs = $temp$elementAttrs; - continue gatherAttrRecursive; - } - } - case 2: - var description = attribute.a; - switch (description.$) { - case 0: - var $temp$classes = classes, - $temp$node = A2($mdgriffith$elm_ui$Internal$Model$addNodeName, 'main', node), - $temp$has = has, - $temp$transform = transform, - $temp$styles = styles, - $temp$attrs = attrs, - $temp$children = children, - $temp$elementAttrs = remaining; - classes = $temp$classes; - node = $temp$node; - has = $temp$has; - transform = $temp$transform; - styles = $temp$styles; - attrs = $temp$attrs; - children = $temp$children; - elementAttrs = $temp$elementAttrs; - continue gatherAttrRecursive; - case 1: - var $temp$classes = classes, - $temp$node = A2($mdgriffith$elm_ui$Internal$Model$addNodeName, 'nav', node), - $temp$has = has, - $temp$transform = transform, - $temp$styles = styles, - $temp$attrs = attrs, - $temp$children = children, - $temp$elementAttrs = remaining; - classes = $temp$classes; - node = $temp$node; - has = $temp$has; - transform = $temp$transform; - styles = $temp$styles; - attrs = $temp$attrs; - children = $temp$children; - elementAttrs = $temp$elementAttrs; - continue gatherAttrRecursive; - case 2: - var $temp$classes = classes, - $temp$node = A2($mdgriffith$elm_ui$Internal$Model$addNodeName, 'footer', node), - $temp$has = has, - $temp$transform = transform, - $temp$styles = styles, - $temp$attrs = attrs, - $temp$children = children, - $temp$elementAttrs = remaining; - classes = $temp$classes; - node = $temp$node; - has = $temp$has; - transform = $temp$transform; - styles = $temp$styles; - attrs = $temp$attrs; - children = $temp$children; - elementAttrs = $temp$elementAttrs; - continue gatherAttrRecursive; - case 3: - var $temp$classes = classes, - $temp$node = A2($mdgriffith$elm_ui$Internal$Model$addNodeName, 'aside', node), - $temp$has = has, - $temp$transform = transform, - $temp$styles = styles, - $temp$attrs = attrs, - $temp$children = children, - $temp$elementAttrs = remaining; - classes = $temp$classes; - node = $temp$node; - has = $temp$has; - transform = $temp$transform; - styles = $temp$styles; - attrs = $temp$attrs; - children = $temp$children; - elementAttrs = $temp$elementAttrs; - continue gatherAttrRecursive; - case 4: - var i = description.a; - if (i <= 1) { - var $temp$classes = classes, - $temp$node = A2($mdgriffith$elm_ui$Internal$Model$addNodeName, 'h1', node), - $temp$has = has, - $temp$transform = transform, - $temp$styles = styles, - $temp$attrs = attrs, - $temp$children = children, - $temp$elementAttrs = remaining; - classes = $temp$classes; - node = $temp$node; - has = $temp$has; - transform = $temp$transform; - styles = $temp$styles; - attrs = $temp$attrs; - children = $temp$children; - elementAttrs = $temp$elementAttrs; - continue gatherAttrRecursive; - } else { - if (i < 7) { - var $temp$classes = classes, - $temp$node = A2( - $mdgriffith$elm_ui$Internal$Model$addNodeName, - 'h' + $elm$core$String$fromInt(i), - node), - $temp$has = has, - $temp$transform = transform, - $temp$styles = styles, - $temp$attrs = attrs, - $temp$children = children, - $temp$elementAttrs = remaining; - classes = $temp$classes; - node = $temp$node; - has = $temp$has; - transform = $temp$transform; - styles = $temp$styles; - attrs = $temp$attrs; - children = $temp$children; - elementAttrs = $temp$elementAttrs; - continue gatherAttrRecursive; - } else { - var $temp$classes = classes, - $temp$node = A2($mdgriffith$elm_ui$Internal$Model$addNodeName, 'h6', node), - $temp$has = has, - $temp$transform = transform, - $temp$styles = styles, - $temp$attrs = attrs, - $temp$children = children, - $temp$elementAttrs = remaining; - classes = $temp$classes; - node = $temp$node; - has = $temp$has; - transform = $temp$transform; - styles = $temp$styles; - attrs = $temp$attrs; - children = $temp$children; - elementAttrs = $temp$elementAttrs; - continue gatherAttrRecursive; - } - } - case 9: - var $temp$classes = classes, - $temp$node = node, - $temp$has = has, - $temp$transform = transform, - $temp$styles = styles, - $temp$attrs = attrs, - $temp$children = children, - $temp$elementAttrs = remaining; - classes = $temp$classes; - node = $temp$node; - has = $temp$has; - transform = $temp$transform; - styles = $temp$styles; - attrs = $temp$attrs; - children = $temp$children; - elementAttrs = $temp$elementAttrs; - continue gatherAttrRecursive; - case 8: - var $temp$classes = classes, - $temp$node = node, - $temp$has = has, - $temp$transform = transform, - $temp$styles = styles, - $temp$attrs = A2( - $elm$core$List$cons, - A2($elm$virtual_dom$VirtualDom$attribute, 'role', 'button'), - attrs), - $temp$children = children, - $temp$elementAttrs = remaining; - classes = $temp$classes; - node = $temp$node; - has = $temp$has; - transform = $temp$transform; - styles = $temp$styles; - attrs = $temp$attrs; - children = $temp$children; - elementAttrs = $temp$elementAttrs; - continue gatherAttrRecursive; - case 5: - var label = description.a; - var $temp$classes = classes, - $temp$node = node, - $temp$has = has, - $temp$transform = transform, - $temp$styles = styles, - $temp$attrs = A2( - $elm$core$List$cons, - A2($elm$virtual_dom$VirtualDom$attribute, 'aria-label', label), - attrs), - $temp$children = children, - $temp$elementAttrs = remaining; - classes = $temp$classes; - node = $temp$node; - has = $temp$has; - transform = $temp$transform; - styles = $temp$styles; - attrs = $temp$attrs; - children = $temp$children; - elementAttrs = $temp$elementAttrs; - continue gatherAttrRecursive; - case 6: - var $temp$classes = classes, - $temp$node = node, - $temp$has = has, - $temp$transform = transform, - $temp$styles = styles, - $temp$attrs = A2( - $elm$core$List$cons, - A2($elm$virtual_dom$VirtualDom$attribute, 'aria-live', 'polite'), - attrs), - $temp$children = children, - $temp$elementAttrs = remaining; - classes = $temp$classes; - node = $temp$node; - has = $temp$has; - transform = $temp$transform; - styles = $temp$styles; - attrs = $temp$attrs; - children = $temp$children; - elementAttrs = $temp$elementAttrs; - continue gatherAttrRecursive; - default: - var $temp$classes = classes, - $temp$node = node, - $temp$has = has, - $temp$transform = transform, - $temp$styles = styles, - $temp$attrs = A2( - $elm$core$List$cons, - A2($elm$virtual_dom$VirtualDom$attribute, 'aria-live', 'assertive'), - attrs), - $temp$children = children, - $temp$elementAttrs = remaining; - classes = $temp$classes; - node = $temp$node; - has = $temp$has; - transform = $temp$transform; - styles = $temp$styles; - attrs = $temp$attrs; - children = $temp$children; - elementAttrs = $temp$elementAttrs; - continue gatherAttrRecursive; - } - case 9: - var location = attribute.a; - var elem = attribute.b; - var newStyles = function () { - switch (elem.$) { - case 3: - return styles; - case 2: - var str = elem.a; - return styles; - case 0: - var html = elem.a; - return styles; - default: - var styled = elem.a; - return _Utils_ap(styles, styled.dI); - } - }(); - var $temp$classes = classes, - $temp$node = node, - $temp$has = has, - $temp$transform = transform, - $temp$styles = newStyles, - $temp$attrs = attrs, - $temp$children = A3($mdgriffith$elm_ui$Internal$Model$addNearbyElement, location, elem, children), - $temp$elementAttrs = remaining; - classes = $temp$classes; - node = $temp$node; - has = $temp$has; - transform = $temp$transform; - styles = $temp$styles; - attrs = $temp$attrs; - children = $temp$children; - elementAttrs = $temp$elementAttrs; - continue gatherAttrRecursive; - case 6: - var x = attribute.a; - if (A2($mdgriffith$elm_ui$Internal$Flag$present, $mdgriffith$elm_ui$Internal$Flag$xAlign, has)) { - var $temp$classes = classes, - $temp$node = node, - $temp$has = has, - $temp$transform = transform, - $temp$styles = styles, - $temp$attrs = attrs, - $temp$children = children, - $temp$elementAttrs = remaining; - classes = $temp$classes; - node = $temp$node; - has = $temp$has; - transform = $temp$transform; - styles = $temp$styles; - attrs = $temp$attrs; - children = $temp$children; - elementAttrs = $temp$elementAttrs; - continue gatherAttrRecursive; - } else { - var $temp$classes = $mdgriffith$elm_ui$Internal$Model$alignXName(x) + (' ' + classes), - $temp$node = node, - $temp$has = function (flags) { - switch (x) { - case 1: - return A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$centerX, flags); - case 2: - return A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$alignRight, flags); - default: - return flags; - } - }( - A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$xAlign, has)), - $temp$transform = transform, - $temp$styles = styles, - $temp$attrs = attrs, - $temp$children = children, - $temp$elementAttrs = remaining; - classes = $temp$classes; - node = $temp$node; - has = $temp$has; - transform = $temp$transform; - styles = $temp$styles; - attrs = $temp$attrs; - children = $temp$children; - elementAttrs = $temp$elementAttrs; - continue gatherAttrRecursive; - } - default: - var y = attribute.a; - if (A2($mdgriffith$elm_ui$Internal$Flag$present, $mdgriffith$elm_ui$Internal$Flag$yAlign, has)) { - var $temp$classes = classes, - $temp$node = node, - $temp$has = has, - $temp$transform = transform, - $temp$styles = styles, - $temp$attrs = attrs, - $temp$children = children, - $temp$elementAttrs = remaining; - classes = $temp$classes; - node = $temp$node; - has = $temp$has; - transform = $temp$transform; - styles = $temp$styles; - attrs = $temp$attrs; - children = $temp$children; - elementAttrs = $temp$elementAttrs; - continue gatherAttrRecursive; - } else { - var $temp$classes = $mdgriffith$elm_ui$Internal$Model$alignYName(y) + (' ' + classes), - $temp$node = node, - $temp$has = function (flags) { - switch (y) { - case 1: - return A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$centerY, flags); - case 2: - return A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$alignBottom, flags); - default: - return flags; - } - }( - A2($mdgriffith$elm_ui$Internal$Flag$add, $mdgriffith$elm_ui$Internal$Flag$yAlign, has)), - $temp$transform = transform, - $temp$styles = styles, - $temp$attrs = attrs, - $temp$children = children, - $temp$elementAttrs = remaining; - classes = $temp$classes; - node = $temp$node; - has = $temp$has; - transform = $temp$transform; - styles = $temp$styles; - attrs = $temp$attrs; - children = $temp$children; - elementAttrs = $temp$elementAttrs; - continue gatherAttrRecursive; - } - } - } - } - }); -var $mdgriffith$elm_ui$Internal$Model$Untransformed = {$: 0}; -var $mdgriffith$elm_ui$Internal$Model$untransformed = $mdgriffith$elm_ui$Internal$Model$Untransformed; -var $mdgriffith$elm_ui$Internal$Model$element = F4( - function (context, node, attributes, children) { - return A3( - $mdgriffith$elm_ui$Internal$Model$createElement, - context, - children, - A8( - $mdgriffith$elm_ui$Internal$Model$gatherAttrRecursive, - $mdgriffith$elm_ui$Internal$Model$contextClasses(context), - node, - $mdgriffith$elm_ui$Internal$Flag$none, - $mdgriffith$elm_ui$Internal$Model$untransformed, - _List_Nil, - _List_Nil, - $mdgriffith$elm_ui$Internal$Model$NoNearbyChildren, - $elm$core$List$reverse(attributes))); - }); -var $mdgriffith$elm_ui$Internal$Model$Height = function (a) { - return {$: 8, a: a}; -}; -var $mdgriffith$elm_ui$Element$height = $mdgriffith$elm_ui$Internal$Model$Height; -var $mdgriffith$elm_ui$Internal$Model$Attr = function (a) { - return {$: 1, a: a}; -}; -var $mdgriffith$elm_ui$Internal$Model$htmlClass = function (cls) { - return $mdgriffith$elm_ui$Internal$Model$Attr( - $elm$html$Html$Attributes$class(cls)); -}; -var $mdgriffith$elm_ui$Internal$Model$Content = {$: 1}; -var $mdgriffith$elm_ui$Element$shrink = $mdgriffith$elm_ui$Internal$Model$Content; -var $mdgriffith$elm_ui$Internal$Model$Width = function (a) { - return {$: 7, a: a}; -}; -var $mdgriffith$elm_ui$Element$width = $mdgriffith$elm_ui$Internal$Model$Width; -var $mdgriffith$elm_ui$Element$column = F2( - function (attrs, children) { - return A4( - $mdgriffith$elm_ui$Internal$Model$element, - $mdgriffith$elm_ui$Internal$Model$asColumn, - $mdgriffith$elm_ui$Internal$Model$div, - A2( - $elm$core$List$cons, - $mdgriffith$elm_ui$Internal$Model$htmlClass($mdgriffith$elm_ui$Internal$Style$classes.cu + (' ' + $mdgriffith$elm_ui$Internal$Style$classes._)), - A2( - $elm$core$List$cons, - $mdgriffith$elm_ui$Element$height($mdgriffith$elm_ui$Element$shrink), - A2( - $elm$core$List$cons, - $mdgriffith$elm_ui$Element$width($mdgriffith$elm_ui$Element$shrink), - attrs))), - $mdgriffith$elm_ui$Internal$Model$Unkeyed(children)); - }); -var $mdgriffith$elm_ui$Element$el = F2( - function (attrs, child) { - return A4( - $mdgriffith$elm_ui$Internal$Model$element, - $mdgriffith$elm_ui$Internal$Model$asEl, - $mdgriffith$elm_ui$Internal$Model$div, - A2( - $elm$core$List$cons, - $mdgriffith$elm_ui$Element$width($mdgriffith$elm_ui$Element$shrink), - A2( - $elm$core$List$cons, - $mdgriffith$elm_ui$Element$height($mdgriffith$elm_ui$Element$shrink), - attrs)), - $mdgriffith$elm_ui$Internal$Model$Unkeyed( - _List_fromArray( - [child]))); - }); -var $elm$html$Html$Attributes$href = function (url) { - return A2( - $elm$html$Html$Attributes$stringProperty, - 'href', - _VirtualDom_noJavaScriptUri(url)); -}; -var $elm$html$Html$Attributes$rel = _VirtualDom_attribute('rel'); -var $mdgriffith$elm_ui$Element$link = F2( - function (attrs, _v0) { - var url = _v0.bN; - var label = _v0.bn; - return A4( - $mdgriffith$elm_ui$Internal$Model$element, - $mdgriffith$elm_ui$Internal$Model$asEl, - $mdgriffith$elm_ui$Internal$Model$NodeName('a'), - A2( - $elm$core$List$cons, - $mdgriffith$elm_ui$Internal$Model$Attr( - $elm$html$Html$Attributes$href(url)), - A2( - $elm$core$List$cons, - $mdgriffith$elm_ui$Internal$Model$Attr( - $elm$html$Html$Attributes$rel('noopener noreferrer')), - A2( - $elm$core$List$cons, - $mdgriffith$elm_ui$Element$width($mdgriffith$elm_ui$Element$shrink), - A2( - $elm$core$List$cons, - $mdgriffith$elm_ui$Element$height($mdgriffith$elm_ui$Element$shrink), - A2( - $elm$core$List$cons, - $mdgriffith$elm_ui$Internal$Model$htmlClass($mdgriffith$elm_ui$Internal$Style$classes.as + (' ' + ($mdgriffith$elm_ui$Internal$Style$classes.C + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.bo)))), - attrs))))), - $mdgriffith$elm_ui$Internal$Model$Unkeyed( - _List_fromArray( - [label]))); - }); -var $mdgriffith$elm_ui$Internal$Model$Hover = 1; -var $mdgriffith$elm_ui$Internal$Model$PseudoSelector = F2( - function (a, b) { - return {$: 11, a: a, b: b}; - }); -var $mdgriffith$elm_ui$Internal$Flag$hover = $mdgriffith$elm_ui$Internal$Flag$flag(33); -var $mdgriffith$elm_ui$Internal$Model$Class = F2( - function (a, b) { - return {$: 3, a: a, b: b}; - }); -var $mdgriffith$elm_ui$Internal$Model$Describe = function (a) { - return {$: 2, a: a}; -}; -var $mdgriffith$elm_ui$Internal$Model$Nearby = F2( - function (a, b) { - return {$: 9, a: a, b: b}; - }); -var $mdgriffith$elm_ui$Internal$Model$NoAttribute = {$: 0}; -var $mdgriffith$elm_ui$Internal$Model$TransformComponent = F2( - function (a, b) { - return {$: 10, a: a, b: b}; - }); -var $mdgriffith$elm_ui$Internal$Model$Empty = {$: 3}; -var $mdgriffith$elm_ui$Internal$Model$Text = function (a) { - return {$: 2, a: a}; -}; -var $elm$virtual_dom$VirtualDom$map = _VirtualDom_map; -var $mdgriffith$elm_ui$Internal$Model$map = F2( - function (fn, el) { - switch (el.$) { - case 1: - var styled = el.a; - return $mdgriffith$elm_ui$Internal$Model$Styled( - { - cM: F2( - function (add, context) { - return A2( - $elm$virtual_dom$VirtualDom$map, - fn, - A2(styled.cM, add, context)); - }), - dI: styled.dI - }); - case 0: - var html = el.a; - return $mdgriffith$elm_ui$Internal$Model$Unstyled( - A2( - $elm$core$Basics$composeL, - $elm$virtual_dom$VirtualDom$map(fn), - html)); - case 2: - var str = el.a; - return $mdgriffith$elm_ui$Internal$Model$Text(str); - default: - return $mdgriffith$elm_ui$Internal$Model$Empty; - } - }); -var $elm$virtual_dom$VirtualDom$mapAttribute = _VirtualDom_mapAttribute; -var $mdgriffith$elm_ui$Internal$Model$mapAttrFromStyle = F2( - function (fn, attr) { - switch (attr.$) { - case 0: - return $mdgriffith$elm_ui$Internal$Model$NoAttribute; - case 2: - var description = attr.a; - return $mdgriffith$elm_ui$Internal$Model$Describe(description); - case 6: - var x = attr.a; - return $mdgriffith$elm_ui$Internal$Model$AlignX(x); - case 5: - var y = attr.a; - return $mdgriffith$elm_ui$Internal$Model$AlignY(y); - case 7: - var x = attr.a; - return $mdgriffith$elm_ui$Internal$Model$Width(x); - case 8: - var x = attr.a; - return $mdgriffith$elm_ui$Internal$Model$Height(x); - case 3: - var x = attr.a; - var y = attr.b; - return A2($mdgriffith$elm_ui$Internal$Model$Class, x, y); - case 4: - var flag = attr.a; - var style = attr.b; - return A2($mdgriffith$elm_ui$Internal$Model$StyleClass, flag, style); - case 9: - var location = attr.a; - var elem = attr.b; - return A2( - $mdgriffith$elm_ui$Internal$Model$Nearby, - location, - A2($mdgriffith$elm_ui$Internal$Model$map, fn, elem)); - case 1: - var htmlAttr = attr.a; - return $mdgriffith$elm_ui$Internal$Model$Attr( - A2($elm$virtual_dom$VirtualDom$mapAttribute, fn, htmlAttr)); - default: - var fl = attr.a; - var trans = attr.b; - return A2($mdgriffith$elm_ui$Internal$Model$TransformComponent, fl, trans); - } - }); -var $mdgriffith$elm_ui$Internal$Model$removeNever = function (style) { - return A2($mdgriffith$elm_ui$Internal$Model$mapAttrFromStyle, $elm$core$Basics$never, style); -}; -var $mdgriffith$elm_ui$Internal$Model$unwrapDecsHelper = F2( - function (attr, _v0) { - var styles = _v0.a; - var trans = _v0.b; - var _v1 = $mdgriffith$elm_ui$Internal$Model$removeNever(attr); - switch (_v1.$) { - case 4: - var style = _v1.b; - return _Utils_Tuple2( - A2($elm$core$List$cons, style, styles), - trans); - case 10: - var flag = _v1.a; - var component = _v1.b; - return _Utils_Tuple2( - styles, - A2($mdgriffith$elm_ui$Internal$Model$composeTransformation, trans, component)); - default: - return _Utils_Tuple2(styles, trans); - } - }); -var $mdgriffith$elm_ui$Internal$Model$unwrapDecorations = function (attrs) { - var _v0 = A3( - $elm$core$List$foldl, - $mdgriffith$elm_ui$Internal$Model$unwrapDecsHelper, - _Utils_Tuple2(_List_Nil, $mdgriffith$elm_ui$Internal$Model$Untransformed), - attrs); - var styles = _v0.a; - var transform = _v0.b; - return A2( - $elm$core$List$cons, - $mdgriffith$elm_ui$Internal$Model$Transform(transform), - styles); -}; -var $mdgriffith$elm_ui$Element$mouseOver = function (decs) { - return A2( - $mdgriffith$elm_ui$Internal$Model$StyleClass, - $mdgriffith$elm_ui$Internal$Flag$hover, - A2( - $mdgriffith$elm_ui$Internal$Model$PseudoSelector, - 1, - $mdgriffith$elm_ui$Internal$Model$unwrapDecorations(decs))); -}; -var $mdgriffith$elm_ui$Internal$Model$Rgba = F4( - function (a, b, c, d) { - return {$: 0, a: a, b: b, c: c, d: d}; - }); -var $mdgriffith$elm_ui$Element$rgb255 = F3( - function (red, green, blue) { - return A4($mdgriffith$elm_ui$Internal$Model$Rgba, red / 255, green / 255, blue / 255, 1); - }); -var $author$project$Generated$Route$NotFound = function (a) { - return {$: 0, a: a}; -}; -var $author$project$Generated$Route$SignIn = function (a) { - return {$: 1, a: a}; -}; -var $author$project$Generated$Route$Switches = function (a) { - return {$: 2, a: a}; -}; -var $author$project$Generated$Route$Top = function (a) { - return {$: 3, a: a}; -}; -var $author$project$Generated$Routes$routes = { - ac: $author$project$Generated$Route$NotFound( - {}), - ad: $author$project$Generated$Route$SignIn( - {}), - ae: $author$project$Generated$Route$Switches( - {}), - ai: $author$project$Generated$Route$Top( - {}) -}; -var $mdgriffith$elm_ui$Internal$Flag$fontWeight = $mdgriffith$elm_ui$Internal$Flag$flag(13); -var $mdgriffith$elm_ui$Element$Font$semiBold = A2($mdgriffith$elm_ui$Internal$Model$Class, $mdgriffith$elm_ui$Internal$Flag$fontWeight, $mdgriffith$elm_ui$Internal$Style$classes.dW); -var $mdgriffith$elm_ui$Internal$Model$FontSize = function (a) { - return {$: 2, a: a}; -}; -var $mdgriffith$elm_ui$Internal$Flag$fontSize = $mdgriffith$elm_ui$Internal$Flag$flag(4); -var $mdgriffith$elm_ui$Element$Font$size = function (i) { - return A2( - $mdgriffith$elm_ui$Internal$Model$StyleClass, - $mdgriffith$elm_ui$Internal$Flag$fontSize, - $mdgriffith$elm_ui$Internal$Model$FontSize(i)); -}; -var $mdgriffith$elm_ui$Internal$Model$SpacingStyle = F3( - function (a, b, c) { - return {$: 5, a: a, b: b, c: c}; - }); -var $mdgriffith$elm_ui$Internal$Flag$spacing = $mdgriffith$elm_ui$Internal$Flag$flag(3); -var $mdgriffith$elm_ui$Internal$Model$spacingName = F2( - function (x, y) { - return 'spacing-' + ($elm$core$String$fromInt(x) + ('-' + $elm$core$String$fromInt(y))); - }); -var $mdgriffith$elm_ui$Element$spacing = function (x) { - return A2( - $mdgriffith$elm_ui$Internal$Model$StyleClass, - $mdgriffith$elm_ui$Internal$Flag$spacing, - A3( - $mdgriffith$elm_ui$Internal$Model$SpacingStyle, - A2($mdgriffith$elm_ui$Internal$Model$spacingName, x, x), - x, - x)); -}; -var $mdgriffith$elm_ui$Element$text = function (content) { - return $mdgriffith$elm_ui$Internal$Model$Text(content); -}; -var $author$project$Generated$Route$toPath = function (route) { - switch (route.$) { - case 0: - return '/not-found'; - case 1: - return '/sign-in'; - case 2: - return '/switches'; - default: - return '/'; - } -}; -var $author$project$Generated$Routes$toPath = $author$project$Generated$Route$toPath; -var $mdgriffith$elm_ui$Element$Font$underline = $mdgriffith$elm_ui$Internal$Model$htmlClass($mdgriffith$elm_ui$Internal$Style$classes.d6); -var $author$project$Pages$NotFound$view = A2( - $mdgriffith$elm_ui$Element$column, - _List_fromArray( - [ - $mdgriffith$elm_ui$Element$centerX, - $mdgriffith$elm_ui$Element$centerY, - $mdgriffith$elm_ui$Element$spacing(16) - ]), - _List_fromArray( - [ - A2( - $mdgriffith$elm_ui$Element$el, - _List_fromArray( - [ - $mdgriffith$elm_ui$Element$Font$size(32), - $mdgriffith$elm_ui$Element$Font$semiBold - ]), - $mdgriffith$elm_ui$Element$text('404 is life.')), - A2( - $mdgriffith$elm_ui$Element$link, - _List_fromArray( - [ - $mdgriffith$elm_ui$Element$Font$size(16), - $mdgriffith$elm_ui$Element$Font$underline, - $mdgriffith$elm_ui$Element$centerX, - $mdgriffith$elm_ui$Element$Font$color( - A3($mdgriffith$elm_ui$Element$rgb255, 204, 75, 75)), - $mdgriffith$elm_ui$Element$mouseOver( - _List_fromArray( - [ - $mdgriffith$elm_ui$Element$alpha(0.5) - ])) - ]), - { - bn: $mdgriffith$elm_ui$Element$text('back home?'), - bN: $author$project$Generated$Routes$toPath($author$project$Generated$Routes$routes.ai) - }) - ])); -var $author$project$Pages$NotFound$page = $ryannhg$elm_spa$Spa$Page$static( - { - d$: $elm$core$Basics$always('not found | elm-spa'), - d7: $elm$core$Basics$always($author$project$Pages$NotFound$view) - }); -var $ryannhg$elm_spa$Spa$Page$truple = F3( - function (toModel, toMsg, _v0) { - var a = _v0.a; - var b = _v0.b; - var c = _v0.c; - return _Utils_Tuple3( - toModel(a), - A2($elm$core$Platform$Cmd$map, toMsg, b), - c); - }); -var $ryannhg$elm_spa$Spa$Page$component = function (page) { - return function (_v0) { - var toModel = _v0.aB; - var toMsg = _v0.aC; - var map = _v0.c_; - return { - Z: F3( - function (model, _private, context) { - return { - dK: A2( - $elm$core$Platform$Sub$map, - A2($elm$core$Basics$composeR, toMsg, _private.be), - A2(page.dK, context, model)), - d$: page.d$( - {cH: context.cH, w: model}), - d7: A2( - _private.c_, - _private.be, - A2( - map, - toMsg, - A2(page.d7, context, model))) - }; - }), - aa: F2( - function (pageParams, context) { - return A3( - $ryannhg$elm_spa$Spa$Page$truple, - toModel, - toMsg, - A2(page.aa, context, pageParams)); - }), - am: F3( - function (msg, model, context) { - return A3( - $ryannhg$elm_spa$Spa$Page$truple, - toModel, - toMsg, - A3(page.am, context, msg, model)); - }) - }; - }; -}; -var $author$project$Pages$SignIn$init = function (_v0) { - return _Utils_Tuple3( - {av: $elm$core$Maybe$Nothing, aD: '', aE: $elm$core$Maybe$Nothing}, - $elm$core$Platform$Cmd$none, - $elm$core$Platform$Cmd$none); -}; -var $author$project$Pages$SignIn$subscriptions = function (model) { - return $elm$core$Platform$Sub$none; -}; -var $author$project$Global$SignIn = function (a) { - return {$: 0, a: a}; -}; -var $author$project$Global$SignOut = {$: 1}; -var $author$project$Pages$SignIn$ValidateToken = function (a) { - return {$: 2, a: a}; -}; -var $elm$http$Http$BadStatus_ = F2( - function (a, b) { - return {$: 3, a: a, b: b}; - }); -var $elm$http$Http$BadUrl_ = function (a) { - return {$: 0, a: a}; -}; -var $elm$http$Http$GoodStatus_ = F2( - function (a, b) { - return {$: 4, a: a, b: b}; - }); -var $elm$http$Http$NetworkError_ = {$: 2}; -var $elm$http$Http$Receiving = function (a) { - return {$: 1, a: a}; -}; -var $elm$http$Http$Sending = function (a) { - return {$: 0, a: a}; -}; -var $elm$http$Http$Timeout_ = {$: 1}; -var $elm$core$Maybe$isJust = function (maybe) { - if (!maybe.$) { - return true; - } else { - return false; - } -}; -var $elm$core$Platform$sendToSelf = _Platform_sendToSelf; -var $elm$http$Http$emptyBody = _Http_emptyBody; -var $elm$http$Http$BadBody = function (a) { - return {$: 4, a: a}; -}; -var $elm$http$Http$BadStatus = function (a) { - return {$: 3, a: a}; -}; -var $elm$http$Http$BadUrl = function (a) { - return {$: 0, a: a}; -}; -var $elm$http$Http$NetworkError = {$: 2}; -var $elm$http$Http$Timeout = {$: 1}; -var $elm$json$Json$Decode$decodeString = _Json_runOnString; -var $elm$http$Http$expectStringResponse = F2( - function (toMsg, toResult) { - return A3( - _Http_expect, - '', - $elm$core$Basics$identity, - A2($elm$core$Basics$composeR, toResult, toMsg)); - }); -var $author$project$Mi$expectJson = F2( - function (toMsg, decoder) { - return A2( - $elm$http$Http$expectStringResponse, - toMsg, - function (response) { - switch (response.$) { - case 0: - var url = response.a; - return $elm$core$Result$Err( - $elm$http$Http$BadUrl(url)); - case 1: - return $elm$core$Result$Err($elm$http$Http$Timeout); - case 2: - return $elm$core$Result$Err($elm$http$Http$NetworkError); - case 3: - var metadata = response.a; - var body = response.b; - return $elm$core$Result$Err( - $elm$http$Http$BadStatus(metadata.dD)); - default: - var metadata = response.a; - var body = response.b; - var _v1 = A2($elm$json$Json$Decode$decodeString, decoder, body); - if (!_v1.$) { - var value = _v1.a; - return $elm$core$Result$Ok(value); - } else { - var err = _v1.a; - return $elm$core$Result$Err( - $elm$http$Http$BadBody( - $elm$json$Json$Decode$errorToString(err))); - } - } - }); - }); -var $elm$http$Http$Header = F2( - function (a, b) { - return {$: 0, a: a, b: b}; - }); -var $elm$http$Http$header = $elm$http$Http$Header; -var $elm$http$Http$Request = function (a) { - return {$: 1, a: a}; -}; -var $elm$http$Http$State = F2( - function (reqs, subs) { - return {bD: reqs, bJ: subs}; - }); -var $elm$http$Http$init = $elm$core$Task$succeed( - A2($elm$http$Http$State, $elm$core$Dict$empty, _List_Nil)); -var $elm$core$Process$kill = _Scheduler_kill; -var $elm$core$Process$spawn = _Scheduler_spawn; -var $elm$http$Http$updateReqs = F3( - function (router, cmds, reqs) { - updateReqs: - while (true) { - if (!cmds.b) { - return $elm$core$Task$succeed(reqs); - } else { - var cmd = cmds.a; - var otherCmds = cmds.b; - if (!cmd.$) { - var tracker = cmd.a; - var _v2 = A2($elm$core$Dict$get, tracker, reqs); - if (_v2.$ === 1) { - var $temp$router = router, - $temp$cmds = otherCmds, - $temp$reqs = reqs; - router = $temp$router; - cmds = $temp$cmds; - reqs = $temp$reqs; - continue updateReqs; - } else { - var pid = _v2.a; - return A2( - $elm$core$Task$andThen, - function (_v3) { - return A3( - $elm$http$Http$updateReqs, - router, - otherCmds, - A2($elm$core$Dict$remove, tracker, reqs)); - }, - $elm$core$Process$kill(pid)); - } - } else { - var req = cmd.a; - return A2( - $elm$core$Task$andThen, - function (pid) { - var _v4 = req.d3; - if (_v4.$ === 1) { - return A3($elm$http$Http$updateReqs, router, otherCmds, reqs); - } else { - var tracker = _v4.a; - return A3( - $elm$http$Http$updateReqs, - router, - otherCmds, - A3($elm$core$Dict$insert, tracker, pid, reqs)); - } - }, - $elm$core$Process$spawn( - A3( - _Http_toTask, - router, - $elm$core$Platform$sendToApp(router), - req))); - } - } - } - }); -var $elm$http$Http$onEffects = F4( - function (router, cmds, subs, state) { - return A2( - $elm$core$Task$andThen, - function (reqs) { - return $elm$core$Task$succeed( - A2($elm$http$Http$State, reqs, subs)); - }, - A3($elm$http$Http$updateReqs, router, cmds, state.bD)); - }); -var $elm$http$Http$maybeSend = F4( - function (router, desiredTracker, progress, _v0) { - var actualTracker = _v0.a; - var toMsg = _v0.b; - return _Utils_eq(desiredTracker, actualTracker) ? $elm$core$Maybe$Just( - A2( - $elm$core$Platform$sendToApp, - router, - toMsg(progress))) : $elm$core$Maybe$Nothing; - }); -var $elm$http$Http$onSelfMsg = F3( - function (router, _v0, state) { - var tracker = _v0.a; - var progress = _v0.b; - return A2( - $elm$core$Task$andThen, - function (_v1) { - return $elm$core$Task$succeed(state); - }, - $elm$core$Task$sequence( - A2( - $elm$core$List$filterMap, - A3($elm$http$Http$maybeSend, router, tracker, progress), - state.bJ))); - }); -var $elm$http$Http$Cancel = function (a) { - return {$: 0, a: a}; -}; -var $elm$http$Http$cmdMap = F2( - function (func, cmd) { - if (!cmd.$) { - var tracker = cmd.a; - return $elm$http$Http$Cancel(tracker); - } else { - var r = cmd.a; - return $elm$http$Http$Request( - { - b7: r.b7, - cf: r.cf, - cB: A2(_Http_mapExpect, func, r.cB), - cJ: r.cJ, - c$: r.c$, - d_: r.d_, - d3: r.d3, - bN: r.bN - }); - } - }); -var $elm$http$Http$MySub = F2( - function (a, b) { - return {$: 0, a: a, b: b}; - }); -var $elm$http$Http$subMap = F2( - function (func, _v0) { - var tracker = _v0.a; - var toMsg = _v0.b; - return A2( - $elm$http$Http$MySub, - tracker, - A2($elm$core$Basics$composeR, toMsg, func)); - }); -_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); -var $elm$http$Http$command = _Platform_leaf('Http'); -var $elm$http$Http$subscription = _Platform_leaf('Http'); -var $elm$http$Http$request = function (r) { - return $elm$http$Http$command( - $elm$http$Http$Request( - {b7: false, cf: r.cf, cB: r.cB, cJ: r.cJ, c$: r.c$, d_: r.d_, d3: r.d3, bN: r.bN})); -}; -var $author$project$Mi$request = F5( - function (method, token, path, body, expect) { - return $elm$http$Http$request( - { - cf: body, - cB: expect, - cJ: _List_fromArray( - [ - A2($elm$http$Http$header, 'Authorization', token) - ]), - c$: method, - d_: $elm$core$Maybe$Nothing, - d3: $elm$core$Maybe$Nothing, - bN: path - }); - }); -var $ryannhg$elm_spa$Spa$Page$send = $ryannhg$elm_spa$Internals$Utils$send; -var $author$project$Mi$TokenData = F2( - function (sub, jti) { - return {cW: jti, dJ: sub}; - }); -var $elm$json$Json$Decode$field = _Json_decodeField; -var $elm$json$Json$Decode$string = _Json_decodeString; -var $author$project$Mi$tokenDecoder = A3( - $elm$json$Json$Decode$map2, - $author$project$Mi$TokenData, - A2($elm$json$Json$Decode$field, 'sub', $elm$json$Json$Decode$string), - A2($elm$json$Json$Decode$field, 'jti', $elm$json$Json$Decode$string)); -var $author$project$Pages$SignIn$update = F2( - function (msg, model) { - switch (msg.$) { - case 3: - var token = msg.a; - return _Utils_Tuple3( - _Utils_update( - model, - {aD: token}), - $elm$core$Platform$Cmd$none, - $elm$core$Platform$Cmd$none); - case 2: - var result = msg.a; - if (!result.$) { - var data = result.a; - return _Utils_Tuple3( - _Utils_update( - model, - { - aE: $elm$core$Maybe$Just(data) - }), - $elm$core$Platform$Cmd$none, - $ryannhg$elm_spa$Spa$Page$send( - $author$project$Global$SignIn(model.aD))); - } else { - return _Utils_Tuple3( - _Utils_update( - model, - { - av: $elm$core$Maybe$Just('got an error :('), - aD: '' - }), - $elm$core$Platform$Cmd$none, - $elm$core$Platform$Cmd$none); - } - case 0: - return _Utils_Tuple3( - model, - A5( - $author$project$Mi$request, - 'GET', - model.aD, - '/.within/tokeninfo', - $elm$http$Http$emptyBody, - A2($author$project$Mi$expectJson, $author$project$Pages$SignIn$ValidateToken, $author$project$Mi$tokenDecoder)), - $elm$core$Platform$Cmd$none); - default: - return _Utils_Tuple3( - model, - $elm$core$Platform$Cmd$none, - $ryannhg$elm_spa$Spa$Page$send($author$project$Global$SignOut)); - } - }); -var $author$project$Pages$SignIn$SignIn = {$: 0}; -var $author$project$Pages$SignIn$UpdateToken = function (a) { - return {$: 3, a: a}; -}; -var $mdgriffith$elm_ui$Internal$Model$Button = {$: 8}; -var $elm$json$Json$Encode$bool = _Json_wrap; -var $elm$html$Html$Attributes$boolProperty = F2( - function (key, bool) { - return A2( - _VirtualDom_property, - key, - $elm$json$Json$Encode$bool(bool)); - }); -var $elm$html$Html$Attributes$disabled = $elm$html$Html$Attributes$boolProperty('disabled'); -var $mdgriffith$elm_ui$Element$Input$hasFocusStyle = function (attr) { - if (((attr.$ === 4) && (attr.b.$ === 11)) && (!attr.b.a)) { - var _v1 = attr.b; - var _v2 = _v1.a; - return true; - } else { - return false; - } -}; -var $mdgriffith$elm_ui$Element$Input$focusDefault = function (attrs) { - return A2($elm$core$List$any, $mdgriffith$elm_ui$Element$Input$hasFocusStyle, attrs) ? $mdgriffith$elm_ui$Internal$Model$NoAttribute : $mdgriffith$elm_ui$Internal$Model$htmlClass('focusable'); -}; -var $elm$virtual_dom$VirtualDom$Normal = function (a) { - return {$: 0, a: a}; -}; -var $elm$virtual_dom$VirtualDom$on = _VirtualDom_on; -var $elm$html$Html$Events$on = F2( - function (event, decoder) { - return A2( - $elm$virtual_dom$VirtualDom$on, - event, - $elm$virtual_dom$VirtualDom$Normal(decoder)); - }); -var $elm$html$Html$Events$onClick = function (msg) { - return A2( - $elm$html$Html$Events$on, - 'click', - $elm$json$Json$Decode$succeed(msg)); -}; -var $mdgriffith$elm_ui$Element$Events$onClick = A2($elm$core$Basics$composeL, $mdgriffith$elm_ui$Internal$Model$Attr, $elm$html$Html$Events$onClick); -var $mdgriffith$elm_ui$Element$Input$enter = 'Enter'; -var $elm$json$Json$Decode$andThen = _Json_andThen; -var $elm$json$Json$Decode$fail = _Json_fail; -var $elm$virtual_dom$VirtualDom$MayPreventDefault = function (a) { - return {$: 2, a: a}; -}; -var $elm$html$Html$Events$preventDefaultOn = F2( - function (event, decoder) { - return A2( - $elm$virtual_dom$VirtualDom$on, - event, - $elm$virtual_dom$VirtualDom$MayPreventDefault(decoder)); - }); -var $mdgriffith$elm_ui$Element$Input$onKey = F2( - function (desiredCode, msg) { - var decode = function (code) { - return _Utils_eq(code, desiredCode) ? $elm$json$Json$Decode$succeed(msg) : $elm$json$Json$Decode$fail('Not the enter key'); - }; - var isKey = A2( - $elm$json$Json$Decode$andThen, - decode, - A2($elm$json$Json$Decode$field, 'key', $elm$json$Json$Decode$string)); - return $mdgriffith$elm_ui$Internal$Model$Attr( - A2( - $elm$html$Html$Events$preventDefaultOn, - 'keyup', - A2( - $elm$json$Json$Decode$map, - function (fired) { - return _Utils_Tuple2(fired, true); - }, - isKey))); - }); -var $mdgriffith$elm_ui$Element$Input$onEnter = function (msg) { - return A2($mdgriffith$elm_ui$Element$Input$onKey, $mdgriffith$elm_ui$Element$Input$enter, msg); -}; -var $mdgriffith$elm_ui$Internal$Flag$cursor = $mdgriffith$elm_ui$Internal$Flag$flag(21); -var $mdgriffith$elm_ui$Element$pointer = A2($mdgriffith$elm_ui$Internal$Model$Class, $mdgriffith$elm_ui$Internal$Flag$cursor, $mdgriffith$elm_ui$Internal$Style$classes.cv); -var $elm$html$Html$Attributes$tabindex = function (n) { - return A2( - _VirtualDom_attribute, - 'tabIndex', - $elm$core$String$fromInt(n)); -}; -var $mdgriffith$elm_ui$Element$Input$button = F2( - function (attrs, _v0) { - var onPress = _v0.c7; - var label = _v0.bn; - return A4( - $mdgriffith$elm_ui$Internal$Model$element, - $mdgriffith$elm_ui$Internal$Model$asEl, - $mdgriffith$elm_ui$Internal$Model$div, - A2( - $elm$core$List$cons, - $mdgriffith$elm_ui$Element$width($mdgriffith$elm_ui$Element$shrink), - A2( - $elm$core$List$cons, - $mdgriffith$elm_ui$Element$height($mdgriffith$elm_ui$Element$shrink), - A2( - $elm$core$List$cons, - $mdgriffith$elm_ui$Internal$Model$htmlClass($mdgriffith$elm_ui$Internal$Style$classes.as + (' ' + ($mdgriffith$elm_ui$Internal$Style$classes.C + (' ' + ($mdgriffith$elm_ui$Internal$Style$classes.du + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.br)))))), - A2( - $elm$core$List$cons, - $mdgriffith$elm_ui$Element$pointer, - A2( - $elm$core$List$cons, - $mdgriffith$elm_ui$Element$Input$focusDefault(attrs), - A2( - $elm$core$List$cons, - $mdgriffith$elm_ui$Internal$Model$Describe($mdgriffith$elm_ui$Internal$Model$Button), - A2( - $elm$core$List$cons, - $mdgriffith$elm_ui$Internal$Model$Attr( - $elm$html$Html$Attributes$tabindex(0)), - function () { - if (onPress.$ === 1) { - return A2( - $elm$core$List$cons, - $mdgriffith$elm_ui$Internal$Model$Attr( - $elm$html$Html$Attributes$disabled(true)), - attrs); - } else { - var msg = onPress.a; - return A2( - $elm$core$List$cons, - $mdgriffith$elm_ui$Element$Events$onClick(msg), - A2( - $elm$core$List$cons, - $mdgriffith$elm_ui$Element$Input$onEnter(msg), - attrs)); - } - }()))))))), - $mdgriffith$elm_ui$Internal$Model$Unkeyed( - _List_fromArray( - [label]))); - }); -var $mdgriffith$elm_ui$Element$Input$Above = 2; -var $mdgriffith$elm_ui$Element$Input$Label = F3( - function (a, b, c) { - return {$: 0, a: a, b: b, c: c}; - }); -var $mdgriffith$elm_ui$Element$Input$labelAbove = $mdgriffith$elm_ui$Element$Input$Label(2); -var $mdgriffith$elm_ui$Internal$Model$Paragraph = {$: 9}; -var $mdgriffith$elm_ui$Internal$Model$Fill = function (a) { - return {$: 2, a: a}; -}; -var $mdgriffith$elm_ui$Element$fill = $mdgriffith$elm_ui$Internal$Model$Fill(1); -var $mdgriffith$elm_ui$Element$paragraph = F2( - function (attrs, children) { - return A4( - $mdgriffith$elm_ui$Internal$Model$element, - $mdgriffith$elm_ui$Internal$Model$asParagraph, - $mdgriffith$elm_ui$Internal$Model$div, - A2( - $elm$core$List$cons, - $mdgriffith$elm_ui$Internal$Model$Describe($mdgriffith$elm_ui$Internal$Model$Paragraph), - A2( - $elm$core$List$cons, - $mdgriffith$elm_ui$Element$width($mdgriffith$elm_ui$Element$fill), - A2( - $elm$core$List$cons, - $mdgriffith$elm_ui$Element$spacing(5), - attrs))), - $mdgriffith$elm_ui$Internal$Model$Unkeyed(children)); - }); -var $mdgriffith$elm_ui$Element$Input$Placeholder = F2( - function (a, b) { - return {$: 0, a: a, b: b}; - }); -var $mdgriffith$elm_ui$Element$Input$placeholder = $mdgriffith$elm_ui$Element$Input$Placeholder; -var $mdgriffith$elm_ui$Element$Input$TextInputNode = function (a) { - return {$: 0, a: a}; -}; -var $mdgriffith$elm_ui$Element$Input$TextArea = {$: 1}; -var $mdgriffith$elm_ui$Internal$Model$LivePolite = {$: 6}; -var $mdgriffith$elm_ui$Element$Region$announce = $mdgriffith$elm_ui$Internal$Model$Describe($mdgriffith$elm_ui$Internal$Model$LivePolite); -var $mdgriffith$elm_ui$Internal$Model$AsRow = 0; -var $mdgriffith$elm_ui$Internal$Model$asRow = 0; -var $mdgriffith$elm_ui$Element$Input$applyLabel = F3( - function (attrs, label, input) { - if (label.$ === 1) { - var labelText = label.a; - return A4( - $mdgriffith$elm_ui$Internal$Model$element, - $mdgriffith$elm_ui$Internal$Model$asColumn, - $mdgriffith$elm_ui$Internal$Model$NodeName('label'), - attrs, - $mdgriffith$elm_ui$Internal$Model$Unkeyed( - _List_fromArray( - [input]))); - } else { - var position = label.a; - var labelAttrs = label.b; - var labelChild = label.c; - var labelElement = A4( - $mdgriffith$elm_ui$Internal$Model$element, - $mdgriffith$elm_ui$Internal$Model$asEl, - $mdgriffith$elm_ui$Internal$Model$div, - labelAttrs, - $mdgriffith$elm_ui$Internal$Model$Unkeyed( - _List_fromArray( - [labelChild]))); - switch (position) { - case 2: - return A4( - $mdgriffith$elm_ui$Internal$Model$element, - $mdgriffith$elm_ui$Internal$Model$asColumn, - $mdgriffith$elm_ui$Internal$Model$NodeName('label'), - attrs, - $mdgriffith$elm_ui$Internal$Model$Unkeyed( - _List_fromArray( - [labelElement, input]))); - case 3: - return A4( - $mdgriffith$elm_ui$Internal$Model$element, - $mdgriffith$elm_ui$Internal$Model$asColumn, - $mdgriffith$elm_ui$Internal$Model$NodeName('label'), - attrs, - $mdgriffith$elm_ui$Internal$Model$Unkeyed( - _List_fromArray( - [input, labelElement]))); - case 0: - return A4( - $mdgriffith$elm_ui$Internal$Model$element, - $mdgriffith$elm_ui$Internal$Model$asRow, - $mdgriffith$elm_ui$Internal$Model$NodeName('label'), - attrs, - $mdgriffith$elm_ui$Internal$Model$Unkeyed( - _List_fromArray( - [input, labelElement]))); - default: - return A4( - $mdgriffith$elm_ui$Internal$Model$element, - $mdgriffith$elm_ui$Internal$Model$asRow, - $mdgriffith$elm_ui$Internal$Model$NodeName('label'), - attrs, - $mdgriffith$elm_ui$Internal$Model$Unkeyed( - _List_fromArray( - [labelElement, input]))); - } - } - }); -var $elm$html$Html$Attributes$attribute = $elm$virtual_dom$VirtualDom$attribute; -var $mdgriffith$elm_ui$Element$Input$autofill = A2( - $elm$core$Basics$composeL, - $mdgriffith$elm_ui$Internal$Model$Attr, - $elm$html$Html$Attributes$attribute('autocomplete')); -var $mdgriffith$elm_ui$Internal$Model$Behind = 5; -var $mdgriffith$elm_ui$Element$createNearby = F2( - function (loc, element) { - if (element.$ === 3) { - return $mdgriffith$elm_ui$Internal$Model$NoAttribute; - } else { - return A2($mdgriffith$elm_ui$Internal$Model$Nearby, loc, element); - } - }); -var $mdgriffith$elm_ui$Element$behindContent = function (element) { - return A2($mdgriffith$elm_ui$Element$createNearby, 5, element); -}; -var $mdgriffith$elm_ui$Internal$Model$MoveY = function (a) { - return {$: 1, a: a}; -}; -var $mdgriffith$elm_ui$Internal$Flag$moveY = $mdgriffith$elm_ui$Internal$Flag$flag(26); -var $mdgriffith$elm_ui$Element$moveUp = function (y) { - return A2( - $mdgriffith$elm_ui$Internal$Model$TransformComponent, - $mdgriffith$elm_ui$Internal$Flag$moveY, - $mdgriffith$elm_ui$Internal$Model$MoveY(-y)); -}; -var $mdgriffith$elm_ui$Element$Input$calcMoveToCompensateForPadding = function (attrs) { - var gatherSpacing = F2( - function (attr, found) { - if ((attr.$ === 4) && (attr.b.$ === 5)) { - var _v2 = attr.b; - var x = _v2.b; - var y = _v2.c; - if (found.$ === 1) { - return $elm$core$Maybe$Just(y); - } else { - return found; - } - } else { - return found; - } - }); - var _v0 = A3($elm$core$List$foldr, gatherSpacing, $elm$core$Maybe$Nothing, attrs); - if (_v0.$ === 1) { - return $mdgriffith$elm_ui$Internal$Model$NoAttribute; - } else { - var vSpace = _v0.a; - return $mdgriffith$elm_ui$Element$moveUp( - $elm$core$Basics$floor(vSpace / 2)); - } -}; -var $mdgriffith$elm_ui$Internal$Flag$overflow = $mdgriffith$elm_ui$Internal$Flag$flag(20); -var $mdgriffith$elm_ui$Element$clip = A2($mdgriffith$elm_ui$Internal$Model$Class, $mdgriffith$elm_ui$Internal$Flag$overflow, $mdgriffith$elm_ui$Internal$Style$classes.cq); -var $mdgriffith$elm_ui$Internal$Flag$bgColor = $mdgriffith$elm_ui$Internal$Flag$flag(8); -var $mdgriffith$elm_ui$Element$Background$color = function (clr) { - return A2( - $mdgriffith$elm_ui$Internal$Model$StyleClass, - $mdgriffith$elm_ui$Internal$Flag$bgColor, - A3( - $mdgriffith$elm_ui$Internal$Model$Colored, - 'bg-' + $mdgriffith$elm_ui$Internal$Model$formatColorClass(clr), - 'background-color', - clr)); -}; -var $mdgriffith$elm_ui$Internal$Flag$borderColor = $mdgriffith$elm_ui$Internal$Flag$flag(28); -var $mdgriffith$elm_ui$Element$Border$color = function (clr) { - return A2( - $mdgriffith$elm_ui$Internal$Model$StyleClass, - $mdgriffith$elm_ui$Internal$Flag$borderColor, - A3( - $mdgriffith$elm_ui$Internal$Model$Colored, - 'bc-' + $mdgriffith$elm_ui$Internal$Model$formatColorClass(clr), - 'border-color', - clr)); -}; -var $mdgriffith$elm_ui$Element$rgb = F3( - function (r, g, b) { - return A4($mdgriffith$elm_ui$Internal$Model$Rgba, r, g, b, 1); - }); -var $mdgriffith$elm_ui$Element$Input$darkGrey = A3($mdgriffith$elm_ui$Element$rgb, 186 / 255, 189 / 255, 182 / 255); -var $mdgriffith$elm_ui$Internal$Model$PaddingStyle = F5( - function (a, b, c, d, e) { - return {$: 7, a: a, b: b, c: c, d: d, e: e}; - }); -var $mdgriffith$elm_ui$Internal$Flag$padding = $mdgriffith$elm_ui$Internal$Flag$flag(2); -var $mdgriffith$elm_ui$Element$paddingXY = F2( - function (x, y) { - return _Utils_eq(x, y) ? A2( - $mdgriffith$elm_ui$Internal$Model$StyleClass, - $mdgriffith$elm_ui$Internal$Flag$padding, - A5( - $mdgriffith$elm_ui$Internal$Model$PaddingStyle, - 'p-' + $elm$core$String$fromInt(x), - x, - x, - x, - x)) : A2( - $mdgriffith$elm_ui$Internal$Model$StyleClass, - $mdgriffith$elm_ui$Internal$Flag$padding, - A5( - $mdgriffith$elm_ui$Internal$Model$PaddingStyle, - 'p-' + ($elm$core$String$fromInt(x) + ('-' + $elm$core$String$fromInt(y))), - y, - x, - y, - x)); - }); -var $mdgriffith$elm_ui$Element$Input$defaultTextPadding = A2($mdgriffith$elm_ui$Element$paddingXY, 12, 12); -var $mdgriffith$elm_ui$Internal$Flag$borderRound = $mdgriffith$elm_ui$Internal$Flag$flag(17); -var $mdgriffith$elm_ui$Element$Border$rounded = function (radius) { - return A2( - $mdgriffith$elm_ui$Internal$Model$StyleClass, - $mdgriffith$elm_ui$Internal$Flag$borderRound, - A3( - $mdgriffith$elm_ui$Internal$Model$Single, - 'br-' + $elm$core$String$fromInt(radius), - 'border-radius', - $elm$core$String$fromInt(radius) + 'px')); -}; -var $mdgriffith$elm_ui$Element$Input$white = A3($mdgriffith$elm_ui$Element$rgb, 1, 1, 1); -var $mdgriffith$elm_ui$Internal$Model$BorderWidth = F5( - function (a, b, c, d, e) { - return {$: 6, a: a, b: b, c: c, d: d, e: e}; - }); -var $mdgriffith$elm_ui$Element$Border$width = function (v) { - return A2( - $mdgriffith$elm_ui$Internal$Model$StyleClass, - $mdgriffith$elm_ui$Internal$Flag$borderWidth, - A5( - $mdgriffith$elm_ui$Internal$Model$BorderWidth, - 'b-' + $elm$core$String$fromInt(v), - v, - v, - v, - v)); -}; -var $mdgriffith$elm_ui$Element$Input$defaultTextBoxStyle = _List_fromArray( - [ - $mdgriffith$elm_ui$Element$Input$defaultTextPadding, - $mdgriffith$elm_ui$Element$Border$rounded(3), - $mdgriffith$elm_ui$Element$Border$color($mdgriffith$elm_ui$Element$Input$darkGrey), - $mdgriffith$elm_ui$Element$Background$color($mdgriffith$elm_ui$Element$Input$white), - $mdgriffith$elm_ui$Element$Border$width(1), - $mdgriffith$elm_ui$Element$spacing(5), - $mdgriffith$elm_ui$Element$width($mdgriffith$elm_ui$Element$fill), - $mdgriffith$elm_ui$Element$height($mdgriffith$elm_ui$Element$shrink) - ]); -var $mdgriffith$elm_ui$Element$Input$getHeight = function (attr) { - if (attr.$ === 8) { - var h = attr.a; - return $elm$core$Maybe$Just(h); - } else { - return $elm$core$Maybe$Nothing; - } -}; -var $mdgriffith$elm_ui$Internal$Model$Label = function (a) { - return {$: 5, a: a}; -}; -var $mdgriffith$elm_ui$Element$Input$hiddenLabelAttribute = function (label) { - if (label.$ === 1) { - var textLabel = label.a; - return $mdgriffith$elm_ui$Internal$Model$Describe( - $mdgriffith$elm_ui$Internal$Model$Label(textLabel)); - } else { - return $mdgriffith$elm_ui$Internal$Model$NoAttribute; - } -}; -var $mdgriffith$elm_ui$Internal$Model$InFront = 4; -var $mdgriffith$elm_ui$Element$inFront = function (element) { - return A2($mdgriffith$elm_ui$Element$createNearby, 4, element); -}; -var $mdgriffith$elm_ui$Element$Input$isConstrained = function (len) { - isConstrained: - while (true) { - switch (len.$) { - case 1: - return false; - case 0: - return true; - case 2: - return true; - case 3: - var l = len.b; - var $temp$len = l; - len = $temp$len; - continue isConstrained; - default: - var l = len.b; - return true; - } - } -}; -var $mdgriffith$elm_ui$Element$Input$isHiddenLabel = function (label) { - if (label.$ === 1) { - return true; - } else { - return false; - } -}; -var $mdgriffith$elm_ui$Element$Input$isStacked = function (label) { - if (!label.$) { - var loc = label.a; - switch (loc) { - case 0: - return false; - case 1: - return false; - case 2: - return true; - default: - return true; - } - } else { - return true; - } -}; -var $mdgriffith$elm_ui$Element$Input$negateBox = function (box) { - return {cl: -box.cl, cY: -box.cY, dl: -box.dl, ai: -box.ai}; -}; -var $elm$html$Html$Events$alwaysStop = function (x) { - return _Utils_Tuple2(x, true); -}; -var $elm$virtual_dom$VirtualDom$MayStopPropagation = function (a) { - return {$: 1, a: a}; -}; -var $elm$html$Html$Events$stopPropagationOn = F2( - function (event, decoder) { - return A2( - $elm$virtual_dom$VirtualDom$on, - event, - $elm$virtual_dom$VirtualDom$MayStopPropagation(decoder)); - }); -var $elm$json$Json$Decode$at = F2( - function (fields, decoder) { - return A3($elm$core$List$foldr, $elm$json$Json$Decode$field, decoder, fields); - }); -var $elm$html$Html$Events$targetValue = A2( - $elm$json$Json$Decode$at, - _List_fromArray( - ['target', 'value']), - $elm$json$Json$Decode$string); -var $elm$html$Html$Events$onInput = function (tagger) { - return A2( - $elm$html$Html$Events$stopPropagationOn, - 'input', - A2( - $elm$json$Json$Decode$map, - $elm$html$Html$Events$alwaysStop, - A2($elm$json$Json$Decode$map, tagger, $elm$html$Html$Events$targetValue))); -}; -var $mdgriffith$elm_ui$Internal$Model$paddingName = F4( - function (top, right, bottom, left) { - return 'pad-' + ($elm$core$String$fromInt(top) + ('-' + ($elm$core$String$fromInt(right) + ('-' + ($elm$core$String$fromInt(bottom) + ('-' + $elm$core$String$fromInt(left))))))); - }); -var $mdgriffith$elm_ui$Element$paddingEach = function (_v0) { - var top = _v0.ai; - var right = _v0.dl; - var bottom = _v0.cl; - var left = _v0.cY; - return (_Utils_eq(top, right) && (_Utils_eq(top, bottom) && _Utils_eq(top, left))) ? A2( - $mdgriffith$elm_ui$Internal$Model$StyleClass, - $mdgriffith$elm_ui$Internal$Flag$padding, - A5( - $mdgriffith$elm_ui$Internal$Model$PaddingStyle, - 'p-' + $elm$core$String$fromInt(top), - top, - top, - top, - top)) : A2( - $mdgriffith$elm_ui$Internal$Model$StyleClass, - $mdgriffith$elm_ui$Internal$Flag$padding, - A5( - $mdgriffith$elm_ui$Internal$Model$PaddingStyle, - A4($mdgriffith$elm_ui$Internal$Model$paddingName, top, right, bottom, left), - top, - right, - bottom, - left)); -}; -var $mdgriffith$elm_ui$Element$htmlAttribute = $mdgriffith$elm_ui$Internal$Model$Attr; -var $mdgriffith$elm_ui$Element$Input$isFill = function (len) { - isFill: - while (true) { - switch (len.$) { - case 2: - return true; - case 1: - return false; - case 0: - return false; - case 3: - var l = len.b; - var $temp$len = l; - len = $temp$len; - continue isFill; - default: - var l = len.b; - var $temp$len = l; - len = $temp$len; - continue isFill; - } - } -}; -var $mdgriffith$elm_ui$Element$Input$isPixel = function (len) { - isPixel: - while (true) { - switch (len.$) { - case 1: - return false; - case 0: - return true; - case 2: - return false; - case 3: - var l = len.b; - var $temp$len = l; - len = $temp$len; - continue isPixel; - default: - var l = len.b; - var $temp$len = l; - len = $temp$len; - continue isPixel; - } - } -}; -var $elm$virtual_dom$VirtualDom$style = _VirtualDom_style; -var $elm$html$Html$Attributes$style = $elm$virtual_dom$VirtualDom$style; -var $mdgriffith$elm_ui$Element$Input$redistributeOver = F4( - function (isMultiline, stacked, attr, els) { - switch (attr.$) { - case 9: - return _Utils_update( - els, - { - a: A2($elm$core$List$cons, attr, els.a) - }); - case 7: - var width = attr.a; - return $mdgriffith$elm_ui$Element$Input$isFill(width) ? _Utils_update( - els, - { - b: A2($elm$core$List$cons, attr, els.b), - g: A2($elm$core$List$cons, attr, els.g), - a: A2($elm$core$List$cons, attr, els.a) - }) : (stacked ? _Utils_update( - els, - { - b: A2($elm$core$List$cons, attr, els.b) - }) : _Utils_update( - els, - { - a: A2($elm$core$List$cons, attr, els.a) - })); - case 8: - var height = attr.a; - return (!stacked) ? _Utils_update( - els, - { - b: A2($elm$core$List$cons, attr, els.b), - a: A2($elm$core$List$cons, attr, els.a) - }) : ($mdgriffith$elm_ui$Element$Input$isFill(height) ? _Utils_update( - els, - { - b: A2($elm$core$List$cons, attr, els.b), - a: A2($elm$core$List$cons, attr, els.a) - }) : ($mdgriffith$elm_ui$Element$Input$isPixel(height) ? _Utils_update( - els, - { - a: A2($elm$core$List$cons, attr, els.a) - }) : _Utils_update( - els, - { - a: A2($elm$core$List$cons, attr, els.a) - }))); - case 6: - return _Utils_update( - els, - { - b: A2($elm$core$List$cons, attr, els.b) - }); - case 5: - return _Utils_update( - els, - { - b: A2($elm$core$List$cons, attr, els.b) - }); - case 4: - switch (attr.b.$) { - case 5: - var _v1 = attr.b; - return _Utils_update( - els, - { - b: A2($elm$core$List$cons, attr, els.b), - g: A2($elm$core$List$cons, attr, els.g), - a: A2($elm$core$List$cons, attr, els.a), - X: A2($elm$core$List$cons, attr, els.X) - }); - case 7: - var cls = attr.a; - var _v2 = attr.b; - var pad = _v2.a; - var t = _v2.b; - var r = _v2.c; - var b = _v2.d; - var l = _v2.e; - if (isMultiline) { - return _Utils_update( - els, - { - k: A2($elm$core$List$cons, attr, els.k), - a: A2($elm$core$List$cons, attr, els.a) - }); - } else { - var reducedVerticalPadding = $mdgriffith$elm_ui$Element$paddingEach( - { - cl: b - A2($elm$core$Basics$min, t, b), - cY: l, - dl: r, - ai: t - A2($elm$core$Basics$min, t, b) - }); - var newLineHeight = $mdgriffith$elm_ui$Element$htmlAttribute( - A2( - $elm$html$Html$Attributes$style, - 'line-height', - 'calc(1.0em + ' + ($elm$core$String$fromInt( - 2 * A2($elm$core$Basics$min, t, b)) + 'px)'))); - var newHeight = $mdgriffith$elm_ui$Element$htmlAttribute( - A2( - $elm$html$Html$Attributes$style, - 'height', - 'calc(1.0em + ' + ($elm$core$String$fromInt( - 2 * A2($elm$core$Basics$min, t, b)) + 'px)'))); - return _Utils_update( - els, - { - k: A2($elm$core$List$cons, attr, els.k), - g: A2( - $elm$core$List$cons, - newHeight, - A2($elm$core$List$cons, newLineHeight, els.g)), - a: A2($elm$core$List$cons, reducedVerticalPadding, els.a) - }); - } - case 6: - var _v3 = attr.b; - return _Utils_update( - els, - { - k: A2($elm$core$List$cons, attr, els.k), - a: A2($elm$core$List$cons, attr, els.a) - }); - case 10: - return _Utils_update( - els, - { - k: A2($elm$core$List$cons, attr, els.k), - a: A2($elm$core$List$cons, attr, els.a) - }); - case 2: - return _Utils_update( - els, - { - b: A2($elm$core$List$cons, attr, els.b) - }); - case 1: - var _v4 = attr.b; - return _Utils_update( - els, - { - b: A2($elm$core$List$cons, attr, els.b) - }); - default: - var flag = attr.a; - var cls = attr.b; - return _Utils_update( - els, - { - a: A2($elm$core$List$cons, attr, els.a) - }); - } - case 0: - return els; - case 1: - var a = attr.a; - return _Utils_update( - els, - { - g: A2($elm$core$List$cons, attr, els.g) - }); - case 2: - return _Utils_update( - els, - { - g: A2($elm$core$List$cons, attr, els.g) - }); - case 3: - return _Utils_update( - els, - { - a: A2($elm$core$List$cons, attr, els.a) - }); - default: - return _Utils_update( - els, - { - g: A2($elm$core$List$cons, attr, els.g) - }); - } - }); -var $mdgriffith$elm_ui$Element$Input$redistribute = F3( - function (isMultiline, stacked, attrs) { - return function (redist) { - return { - k: $elm$core$List$reverse(redist.k), - b: $elm$core$List$reverse(redist.b), - g: $elm$core$List$reverse(redist.g), - a: $elm$core$List$reverse(redist.a), - X: $elm$core$List$reverse(redist.X) - }; - }( - A3( - $elm$core$List$foldl, - A2($mdgriffith$elm_ui$Element$Input$redistributeOver, isMultiline, stacked), - {k: _List_Nil, b: _List_Nil, g: _List_Nil, a: _List_Nil, X: _List_Nil}, - attrs)); - }); -var $mdgriffith$elm_ui$Element$Input$renderBox = function (_v0) { - var top = _v0.ai; - var right = _v0.dl; - var bottom = _v0.cl; - var left = _v0.cY; - return $elm$core$String$fromInt(top) + ('px ' + ($elm$core$String$fromInt(right) + ('px ' + ($elm$core$String$fromInt(bottom) + ('px ' + ($elm$core$String$fromInt(left) + 'px')))))); -}; -var $mdgriffith$elm_ui$Element$Input$charcoal = A3($mdgriffith$elm_ui$Element$rgb, 136 / 255, 138 / 255, 133 / 255); -var $mdgriffith$elm_ui$Element$rgba = $mdgriffith$elm_ui$Internal$Model$Rgba; -var $mdgriffith$elm_ui$Element$Input$renderPlaceholder = F3( - function (_v0, forPlaceholder, on) { - var placeholderAttrs = _v0.a; - var placeholderEl = _v0.b; - return A2( - $mdgriffith$elm_ui$Element$el, - _Utils_ap( - forPlaceholder, - _Utils_ap( - _List_fromArray( - [ - $mdgriffith$elm_ui$Element$Font$color($mdgriffith$elm_ui$Element$Input$charcoal), - $mdgriffith$elm_ui$Internal$Model$htmlClass($mdgriffith$elm_ui$Internal$Style$classes.br + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.de)), - $mdgriffith$elm_ui$Element$clip, - $mdgriffith$elm_ui$Element$Border$color( - A4($mdgriffith$elm_ui$Element$rgba, 0, 0, 0, 0)), - $mdgriffith$elm_ui$Element$Background$color( - A4($mdgriffith$elm_ui$Element$rgba, 0, 0, 0, 0)), - $mdgriffith$elm_ui$Element$height($mdgriffith$elm_ui$Element$fill), - $mdgriffith$elm_ui$Element$width($mdgriffith$elm_ui$Element$fill), - $mdgriffith$elm_ui$Element$alpha( - on ? 1 : 0) - ]), - placeholderAttrs)), - placeholderEl); - }); -var $mdgriffith$elm_ui$Element$scrollbarY = A2($mdgriffith$elm_ui$Internal$Model$Class, $mdgriffith$elm_ui$Internal$Flag$overflow, $mdgriffith$elm_ui$Internal$Style$classes.dt); -var $elm$html$Html$span = _VirtualDom_node('span'); -var $elm$html$Html$Attributes$spellcheck = $elm$html$Html$Attributes$boolProperty('spellcheck'); -var $mdgriffith$elm_ui$Element$Input$spellcheck = A2($elm$core$Basics$composeL, $mdgriffith$elm_ui$Internal$Model$Attr, $elm$html$Html$Attributes$spellcheck); -var $elm$html$Html$Attributes$type_ = $elm$html$Html$Attributes$stringProperty('type'); -var $mdgriffith$elm_ui$Internal$Model$unstyled = A2($elm$core$Basics$composeL, $mdgriffith$elm_ui$Internal$Model$Unstyled, $elm$core$Basics$always); -var $elm$html$Html$Attributes$value = $elm$html$Html$Attributes$stringProperty('value'); -var $mdgriffith$elm_ui$Element$Input$value = A2($elm$core$Basics$composeL, $mdgriffith$elm_ui$Internal$Model$Attr, $elm$html$Html$Attributes$value); -var $mdgriffith$elm_ui$Element$Input$textHelper = F3( - function (textInput, attrs, textOptions) { - var withDefaults = _Utils_ap($mdgriffith$elm_ui$Element$Input$defaultTextBoxStyle, attrs); - var redistributed = A3( - $mdgriffith$elm_ui$Element$Input$redistribute, - _Utils_eq(textInput.i, $mdgriffith$elm_ui$Element$Input$TextArea), - $mdgriffith$elm_ui$Element$Input$isStacked(textOptions.bn), - withDefaults); - var onlySpacing = function (attr) { - if ((attr.$ === 4) && (attr.b.$ === 5)) { - var _v9 = attr.b; - return true; - } else { - return false; - } - }; - var heightConstrained = function () { - var _v7 = textInput.i; - if (!_v7.$) { - var inputType = _v7.a; - return false; - } else { - return A2( - $elm$core$Maybe$withDefault, - false, - A2( - $elm$core$Maybe$map, - $mdgriffith$elm_ui$Element$Input$isConstrained, - $elm$core$List$head( - $elm$core$List$reverse( - A2($elm$core$List$filterMap, $mdgriffith$elm_ui$Element$Input$getHeight, withDefaults))))); - } - }(); - var getPadding = function (attr) { - if ((attr.$ === 4) && (attr.b.$ === 7)) { - var cls = attr.a; - var _v6 = attr.b; - var pad = _v6.a; - var t = _v6.b; - var r = _v6.c; - var b = _v6.d; - var l = _v6.e; - return $elm$core$Maybe$Just( - { - cl: A2( - $elm$core$Basics$max, - 0, - $elm$core$Basics$floor(b - 3)), - cY: A2( - $elm$core$Basics$max, - 0, - $elm$core$Basics$floor(l - 3)), - dl: A2( - $elm$core$Basics$max, - 0, - $elm$core$Basics$floor(r - 3)), - ai: A2( - $elm$core$Basics$max, - 0, - $elm$core$Basics$floor(t - 3)) - }); - } else { - return $elm$core$Maybe$Nothing; - } - }; - var parentPadding = A2( - $elm$core$Maybe$withDefault, - {cl: 0, cY: 0, dl: 0, ai: 0}, - $elm$core$List$head( - $elm$core$List$reverse( - A2($elm$core$List$filterMap, getPadding, withDefaults)))); - var inputElement = A4( - $mdgriffith$elm_ui$Internal$Model$element, - $mdgriffith$elm_ui$Internal$Model$asEl, - function () { - var _v3 = textInput.i; - if (!_v3.$) { - var inputType = _v3.a; - return $mdgriffith$elm_ui$Internal$Model$NodeName('input'); - } else { - return $mdgriffith$elm_ui$Internal$Model$NodeName('textarea'); - } - }(), - _Utils_ap( - function () { - var _v4 = textInput.i; - if (!_v4.$) { - var inputType = _v4.a; - return _List_fromArray( - [ - $mdgriffith$elm_ui$Internal$Model$Attr( - $elm$html$Html$Attributes$type_(inputType)), - $mdgriffith$elm_ui$Internal$Model$htmlClass($mdgriffith$elm_ui$Internal$Style$classes.cU) - ]); - } else { - return _List_fromArray( - [ - $mdgriffith$elm_ui$Element$clip, - $mdgriffith$elm_ui$Element$height($mdgriffith$elm_ui$Element$fill), - $mdgriffith$elm_ui$Internal$Model$htmlClass($mdgriffith$elm_ui$Internal$Style$classes.cQ), - $mdgriffith$elm_ui$Element$Input$calcMoveToCompensateForPadding(withDefaults), - $mdgriffith$elm_ui$Element$paddingEach(parentPadding), - $mdgriffith$elm_ui$Internal$Model$Attr( - A2( - $elm$html$Html$Attributes$style, - 'margin', - $mdgriffith$elm_ui$Element$Input$renderBox( - $mdgriffith$elm_ui$Element$Input$negateBox(parentPadding)))), - $mdgriffith$elm_ui$Internal$Model$Attr( - A2($elm$html$Html$Attributes$style, 'box-sizing', 'content-box')) - ]); - } - }(), - _Utils_ap( - _List_fromArray( - [ - $mdgriffith$elm_ui$Element$Input$value(textOptions.dL), - $mdgriffith$elm_ui$Internal$Model$Attr( - $elm$html$Html$Events$onInput(textOptions.c5)), - $mdgriffith$elm_ui$Element$Input$hiddenLabelAttribute(textOptions.bn), - $mdgriffith$elm_ui$Element$Input$spellcheck(textInput.t), - A2( - $elm$core$Maybe$withDefault, - $mdgriffith$elm_ui$Internal$Model$NoAttribute, - A2($elm$core$Maybe$map, $mdgriffith$elm_ui$Element$Input$autofill, textInput.p)) - ]), - redistributed.g)), - $mdgriffith$elm_ui$Internal$Model$Unkeyed(_List_Nil)); - var wrappedInput = function () { - var _v0 = textInput.i; - if (_v0.$ === 1) { - return A4( - $mdgriffith$elm_ui$Internal$Model$element, - $mdgriffith$elm_ui$Internal$Model$asEl, - $mdgriffith$elm_ui$Internal$Model$div, - _Utils_ap( - (heightConstrained ? $elm$core$List$cons($mdgriffith$elm_ui$Element$scrollbarY) : $elm$core$Basics$identity)( - _List_fromArray( - [ - $mdgriffith$elm_ui$Element$width($mdgriffith$elm_ui$Element$fill), - A2($elm$core$List$any, $mdgriffith$elm_ui$Element$Input$hasFocusStyle, withDefaults) ? $mdgriffith$elm_ui$Internal$Model$NoAttribute : $mdgriffith$elm_ui$Internal$Model$htmlClass($mdgriffith$elm_ui$Internal$Style$classes.bb), - $mdgriffith$elm_ui$Internal$Model$htmlClass($mdgriffith$elm_ui$Internal$Style$classes.cT) - ])), - redistributed.a), - $mdgriffith$elm_ui$Internal$Model$Unkeyed( - _List_fromArray( - [ - A4( - $mdgriffith$elm_ui$Internal$Model$element, - $mdgriffith$elm_ui$Internal$Model$asParagraph, - $mdgriffith$elm_ui$Internal$Model$div, - A2( - $elm$core$List$cons, - $mdgriffith$elm_ui$Element$width($mdgriffith$elm_ui$Element$fill), - A2( - $elm$core$List$cons, - $mdgriffith$elm_ui$Element$height($mdgriffith$elm_ui$Element$fill), - A2( - $elm$core$List$cons, - $mdgriffith$elm_ui$Element$inFront(inputElement), - A2( - $elm$core$List$cons, - $mdgriffith$elm_ui$Internal$Model$htmlClass($mdgriffith$elm_ui$Internal$Style$classes.cS), - redistributed.X)))), - $mdgriffith$elm_ui$Internal$Model$Unkeyed( - function () { - if (textOptions.dL === '') { - var _v1 = textOptions.dg; - if (_v1.$ === 1) { - return _List_fromArray( - [ - $mdgriffith$elm_ui$Element$text('\u00A0') - ]); - } else { - var place = _v1.a; - return _List_fromArray( - [ - A3($mdgriffith$elm_ui$Element$Input$renderPlaceholder, place, _List_Nil, textOptions.dL === '') - ]); - } - } else { - return _List_fromArray( - [ - $mdgriffith$elm_ui$Internal$Model$unstyled( - A2( - $elm$html$Html$span, - _List_fromArray( - [ - $elm$html$Html$Attributes$class($mdgriffith$elm_ui$Internal$Style$classes.cR) - ]), - _List_fromArray( - [ - $elm$html$Html$text(textOptions.dL + '\u00A0') - ]))) - ]); - } - }())) - ]))); - } else { - var inputType = _v0.a; - return A4( - $mdgriffith$elm_ui$Internal$Model$element, - $mdgriffith$elm_ui$Internal$Model$asEl, - $mdgriffith$elm_ui$Internal$Model$div, - A2( - $elm$core$List$cons, - $mdgriffith$elm_ui$Element$width($mdgriffith$elm_ui$Element$fill), - A2( - $elm$core$List$cons, - A2($elm$core$List$any, $mdgriffith$elm_ui$Element$Input$hasFocusStyle, withDefaults) ? $mdgriffith$elm_ui$Internal$Model$NoAttribute : $mdgriffith$elm_ui$Internal$Model$htmlClass($mdgriffith$elm_ui$Internal$Style$classes.bb), - $elm$core$List$concat( - _List_fromArray( - [ - redistributed.a, - function () { - var _v2 = textOptions.dg; - if (_v2.$ === 1) { - return _List_Nil; - } else { - var place = _v2.a; - return _List_fromArray( - [ - $mdgriffith$elm_ui$Element$behindContent( - A3($mdgriffith$elm_ui$Element$Input$renderPlaceholder, place, redistributed.k, textOptions.dL === '')) - ]); - } - }() - ])))), - $mdgriffith$elm_ui$Internal$Model$Unkeyed( - _List_fromArray( - [inputElement]))); - } - }(); - return A3( - $mdgriffith$elm_ui$Element$Input$applyLabel, - A2( - $elm$core$List$cons, - A2($mdgriffith$elm_ui$Internal$Model$Class, $mdgriffith$elm_ui$Internal$Flag$cursor, $mdgriffith$elm_ui$Internal$Style$classes.cw), - A2( - $elm$core$List$cons, - $mdgriffith$elm_ui$Element$Input$isHiddenLabel(textOptions.bn) ? $mdgriffith$elm_ui$Internal$Model$NoAttribute : $mdgriffith$elm_ui$Element$spacing(5), - A2($elm$core$List$cons, $mdgriffith$elm_ui$Element$Region$announce, redistributed.b))), - textOptions.bn, - wrappedInput); - }); -var $mdgriffith$elm_ui$Element$Input$text = $mdgriffith$elm_ui$Element$Input$textHelper( - { - p: $elm$core$Maybe$Nothing, - t: false, - i: $mdgriffith$elm_ui$Element$Input$TextInputNode('text') - }); -var $author$project$Pages$SignIn$view = function (model) { - var tData = function () { - var _v1 = model.aE; - if (!_v1.$) { - var data = _v1.a; - return A2( - $mdgriffith$elm_ui$Element$paragraph, - _List_Nil, - _List_fromArray( - [ - $mdgriffith$elm_ui$Element$text('ID: ' + data.cW), - A2( - $mdgriffith$elm_ui$Element$paragraph, - _List_Nil, - _List_fromArray( - [ - $mdgriffith$elm_ui$Element$text('Sub: ' + data.dJ) - ])) - ])); - } else { - return A2( - $mdgriffith$elm_ui$Element$column, - _List_Nil, - _List_fromArray( - [ - A2( - $mdgriffith$elm_ui$Element$Input$text, - _List_Nil, - { - bn: A2( - $mdgriffith$elm_ui$Element$Input$labelAbove, - _List_Nil, - $mdgriffith$elm_ui$Element$text('API Token')), - c5: $author$project$Pages$SignIn$UpdateToken, - dg: $elm$core$Maybe$Just( - A2( - $mdgriffith$elm_ui$Element$Input$placeholder, - _List_Nil, - $mdgriffith$elm_ui$Element$text(''))), - dL: model.aD - }), - A2( - $mdgriffith$elm_ui$Element$Input$button, - _List_Nil, - { - bn: $mdgriffith$elm_ui$Element$text('Login'), - c7: $elm$core$Maybe$Just($author$project$Pages$SignIn$SignIn) - }) - ])); - } - }(); - var errMsg = function () { - var _v0 = model.av; - if (!_v0.$) { - var msg = _v0.a; - return msg; - } else { - return ''; - } - }(); - return A2( - $mdgriffith$elm_ui$Element$column, - _List_fromArray( - [ - $mdgriffith$elm_ui$Element$spacing(16) - ]), - _List_fromArray( - [ - tData, - $mdgriffith$elm_ui$Element$text(errMsg) - ])); -}; -var $author$project$Pages$SignIn$page = $ryannhg$elm_spa$Spa$Page$component( - { - aa: $elm$core$Basics$always($author$project$Pages$SignIn$init), - dK: $elm$core$Basics$always($author$project$Pages$SignIn$subscriptions), - d$: $elm$core$Basics$always('Login'), - am: $elm$core$Basics$always($author$project$Pages$SignIn$update), - d7: $elm$core$Basics$always($author$project$Pages$SignIn$view) - }); -var $author$project$Pages$Switches$init = function (_v0) { - return _Utils_Tuple3( - {}, - $elm$core$Platform$Cmd$none, - $elm$core$Platform$Cmd$none); -}; -var $author$project$Pages$Switches$subscriptions = function (model) { - return $elm$core$Platform$Sub$none; -}; -var $author$project$Pages$Switches$update = F2( - function (msg, model) { - return _Utils_Tuple3(model, $elm$core$Platform$Cmd$none, $elm$core$Platform$Cmd$none); - }); -var $author$project$Pages$Switches$view = function (model) { - return $mdgriffith$elm_ui$Element$text('Switches'); -}; -var $author$project$Pages$Switches$page = $ryannhg$elm_spa$Spa$Page$component( - { - aa: $elm$core$Basics$always($author$project$Pages$Switches$init), - dK: $elm$core$Basics$always($author$project$Pages$Switches$subscriptions), - d$: $elm$core$Basics$always('Switches'), - am: $elm$core$Basics$always($author$project$Pages$Switches$update), - d7: $elm$core$Basics$always($author$project$Pages$Switches$view) - }); -var $mdgriffith$elm_ui$Element$row = F2( - function (attrs, children) { - return A4( - $mdgriffith$elm_ui$Internal$Model$element, - $mdgriffith$elm_ui$Internal$Model$asRow, - $mdgriffith$elm_ui$Internal$Model$div, - A2( - $elm$core$List$cons, - $mdgriffith$elm_ui$Internal$Model$htmlClass($mdgriffith$elm_ui$Internal$Style$classes._ + (' ' + $mdgriffith$elm_ui$Internal$Style$classes.C)), - A2( - $elm$core$List$cons, - $mdgriffith$elm_ui$Element$width($mdgriffith$elm_ui$Element$shrink), - A2( - $elm$core$List$cons, - $mdgriffith$elm_ui$Element$height($mdgriffith$elm_ui$Element$shrink), - attrs))), - $mdgriffith$elm_ui$Internal$Model$Unkeyed(children)); - }); -var $author$project$Pages$Top$view = function (_v0) { - var global = _v0.cH; - var _v1 = global.aD; - if (!_v1.$) { - return A2( - $mdgriffith$elm_ui$Element$column, - _List_fromArray( - [ - $mdgriffith$elm_ui$Element$spacing(12) - ]), - _List_fromArray( - [ - A2( - $mdgriffith$elm_ui$Element$row, - _List_fromArray( - [ - $mdgriffith$elm_ui$Element$spacing(14) - ]), - _List_fromArray( - [ - A2( - $mdgriffith$elm_ui$Element$el, - _List_fromArray( - [ - $mdgriffith$elm_ui$Element$Font$size(48), - $mdgriffith$elm_ui$Element$Font$semiBold - ]), - $mdgriffith$elm_ui$Element$text('Mi')), - A2( - $mdgriffith$elm_ui$Element$el, - _List_fromArray( - [ - $mdgriffith$elm_ui$Element$alpha(0.5) - ]), - $mdgriffith$elm_ui$Element$text('POSSE and stuff')) - ])), - $mdgriffith$elm_ui$Element$text('TODO:'), - $mdgriffith$elm_ui$Element$text('* POSSE'), - $mdgriffith$elm_ui$Element$text('* Switch Data') - ])); - } else { - return A2( - $mdgriffith$elm_ui$Element$el, - _List_fromArray( - [ - $mdgriffith$elm_ui$Element$Font$size(48), - $mdgriffith$elm_ui$Element$centerX, - $mdgriffith$elm_ui$Element$centerY - ]), - A2( - $mdgriffith$elm_ui$Element$link, - _List_fromArray( - [ - $mdgriffith$elm_ui$Element$Font$underline, - $mdgriffith$elm_ui$Element$Font$color( - A3($mdgriffith$elm_ui$Element$rgb255, 204, 75, 75)), - $mdgriffith$elm_ui$Element$Font$size(48), - $mdgriffith$elm_ui$Element$mouseOver( - _List_fromArray( - [ - $mdgriffith$elm_ui$Element$alpha(0.5) - ])) - ]), - { - bn: $mdgriffith$elm_ui$Element$text('Login'), - bN: $author$project$Generated$Routes$toPath($author$project$Generated$Routes$routes.ad) - })); - } -}; -var $author$project$Pages$Top$page = $ryannhg$elm_spa$Spa$Page$static( - { - d$: $elm$core$Basics$always('/'), - d7: $author$project$Pages$Top$view - }); -var $mdgriffith$elm_ui$Element$map = $mdgriffith$elm_ui$Internal$Model$map; -var $ryannhg$elm_spa$Spa$Page$recipe = $ryannhg$elm_spa$Internals$Page$upgrade; -var $author$project$Utils$Spa$recipe = $ryannhg$elm_spa$Spa$Page$recipe($mdgriffith$elm_ui$Element$map); -var $author$project$Generated$Pages$recipes = { - ac: $author$project$Utils$Spa$recipe( - {ay: $author$project$Pages$NotFound$page, aB: $author$project$Generated$Pages$NotFoundModel, aC: $author$project$Generated$Pages$NotFoundMsg}), - ad: $author$project$Utils$Spa$recipe( - {ay: $author$project$Pages$SignIn$page, aB: $author$project$Generated$Pages$SignInModel, aC: $author$project$Generated$Pages$SignInMsg}), - ae: $author$project$Utils$Spa$recipe( - {ay: $author$project$Pages$Switches$page, aB: $author$project$Generated$Pages$SwitchesModel, aC: $author$project$Generated$Pages$SwitchesMsg}), - ai: $author$project$Utils$Spa$recipe( - {ay: $author$project$Pages$Top$page, aB: $author$project$Generated$Pages$TopModel, aC: $author$project$Generated$Pages$TopMsg}) -}; -var $author$project$Generated$Pages$bundle = function (bigModel) { - switch (bigModel.$) { - case 0: - var model = bigModel.a; - return $author$project$Generated$Pages$recipes.ac.Z(model); - case 1: - var model = bigModel.a; - return $author$project$Generated$Pages$recipes.ad.Z(model); - case 2: - var model = bigModel.a; - return $author$project$Generated$Pages$recipes.ae.Z(model); - default: - var model = bigModel.a; - return $author$project$Generated$Pages$recipes.ai.Z(model); - } -}; -var $author$project$Generated$Pages$init = function (route_) { - switch (route_.$) { - case 0: - var params = route_.a; - return $author$project$Generated$Pages$recipes.ac.aa(params); - case 1: - var params = route_.a; - return $author$project$Generated$Pages$recipes.ad.aa(params); - case 2: - var params = route_.a; - return $author$project$Generated$Pages$recipes.ae.aa(params); - default: - var params = route_.a; - return $author$project$Generated$Pages$recipes.ai.aa(params); - } -}; -var $ryannhg$elm_spa$Spa$Page$layout = F2( - function (map, options) { - return function (_v0) { - var toModel = _v0.aB; - var toMsg = _v0.aC; - return { - Z: F3( - function (model, _private, context) { - var viewLayout = function (page) { - return options.d7( - {cF: _private.cF, cH: context.cH, ay: page, dn: context.dn}); - }; - var myLayoutsVisibility = _Utils_eq(_private.df, options.df) ? _private.bR : $ryannhg$elm_spa$Internals$Transition$visible; - var lookupTransitionFrom = F2( - function (path, list) { - return A2( - $elm$core$Maybe$withDefault, - $ryannhg$elm_spa$Internals$Transition$optOut, - $elm$core$List$head( - A2( - $elm$core$List$map, - function ($) { - return $.bM; - }, - A2( - $elm$core$List$filter, - A2( - $elm$core$Basics$composeR, - function ($) { - return $.df; - }, - $elm$core$Basics$eq(path)), - list)))); - }); - var bundle = A3( - options.dj.Z, - model, - { - cF: _private.cF, - be: A2($elm$core$Basics$composeR, toMsg, _private.be), - c_: map, - df: _private.df, - d4: _private.d4, - bR: _private.bR - }, - context); - return { - dK: bundle.dK, - d$: bundle.d$, - d7: viewLayout( - A3( - $ryannhg$elm_spa$Internals$Transition$view, - A2(lookupTransitionFrom, options.df, _private.d4), - myLayoutsVisibility, - bundle.d7)) - }; - }), - aa: F2( - function (pageParams, global) { - return A3( - $ryannhg$elm_spa$Spa$Page$truple, - toModel, - toMsg, - A2(options.dj.aa, pageParams, global)); - }), - am: F3( - function (msg, model, global) { - return A3( - $ryannhg$elm_spa$Spa$Page$truple, - toModel, - toMsg, - A3(options.dj.am, msg, model, global)); - }) - }; - }; - }); -var $author$project$Utils$Spa$layout = $ryannhg$elm_spa$Spa$Page$layout($mdgriffith$elm_ui$Element$map); -var $author$project$Generated$Pages$path = _List_Nil; -var $ryannhg$elm_spa$Spa$Page$keep = function (model) { - return $elm$core$Basics$always( - _Utils_Tuple3(model, $elm$core$Platform$Cmd$none, $elm$core$Platform$Cmd$none)); -}; -var $author$project$Generated$Pages$update = F2( - function (bigMsg, bigModel) { - var _v0 = _Utils_Tuple2(bigMsg, bigModel); - _v0$4: - while (true) { - switch (_v0.a.$) { - case 0: - if (!_v0.b.$) { - var msg = _v0.a.a; - var model = _v0.b.a; - return A2($author$project$Generated$Pages$recipes.ac.am, msg, model); - } else { - break _v0$4; - } - case 1: - if (_v0.b.$ === 1) { - var msg = _v0.a.a; - var model = _v0.b.a; - return A2($author$project$Generated$Pages$recipes.ad.am, msg, model); - } else { - break _v0$4; - } - case 2: - if (_v0.b.$ === 2) { - var msg = _v0.a.a; - var model = _v0.b.a; - return A2($author$project$Generated$Pages$recipes.ae.am, msg, model); - } else { - break _v0$4; - } - default: - if (_v0.b.$ === 3) { - var msg = _v0.a.a; - var model = _v0.b.a; - return A2($author$project$Generated$Pages$recipes.ai.am, msg, model); - } else { - break _v0$4; - } - } - } - return $ryannhg$elm_spa$Spa$Page$keep(bigModel); - }); -var $mdgriffith$elm_ui$Internal$Model$Max = F2( - function (a, b) { - return {$: 4, a: a, b: b}; - }); -var $mdgriffith$elm_ui$Element$maximum = F2( - function (i, l) { - return A2($mdgriffith$elm_ui$Internal$Model$Max, i, l); - }); -var $mdgriffith$elm_ui$Element$padding = function (x) { - return A2( - $mdgriffith$elm_ui$Internal$Model$StyleClass, - $mdgriffith$elm_ui$Internal$Flag$padding, - A5( - $mdgriffith$elm_ui$Internal$Model$PaddingStyle, - 'p-' + $elm$core$String$fromInt(x), - x, - x, - x, - x)); -}; -var $author$project$Layout$viewLink = F2( - function (currentRoute, _v0) { - var label = _v0.a; - var route = _v0.b; - return _Utils_eq(currentRoute, route) ? A2( - $mdgriffith$elm_ui$Element$el, - _List_fromArray( - [ - $mdgriffith$elm_ui$Element$Font$underline, - $mdgriffith$elm_ui$Element$Font$color( - A3($mdgriffith$elm_ui$Element$rgb255, 204, 75, 75)), - $mdgriffith$elm_ui$Element$alpha(0.5), - $mdgriffith$elm_ui$Element$Font$size(16) - ]), - $mdgriffith$elm_ui$Element$text(label)) : A2( - $mdgriffith$elm_ui$Element$link, - _List_fromArray( - [ - $mdgriffith$elm_ui$Element$Font$underline, - $mdgriffith$elm_ui$Element$Font$color( - A3($mdgriffith$elm_ui$Element$rgb255, 204, 75, 75)), - $mdgriffith$elm_ui$Element$Font$size(16), - $mdgriffith$elm_ui$Element$mouseOver( - _List_fromArray( - [ - $mdgriffith$elm_ui$Element$alpha(0.5) - ])) - ]), - { - bn: $mdgriffith$elm_ui$Element$text(label), - bN: $author$project$Generated$Routes$toPath(route) - }); - }); -var $author$project$Layout$viewHeader = function (currentRoute) { - return A2( - $mdgriffith$elm_ui$Element$row, - _List_fromArray( - [ - $mdgriffith$elm_ui$Element$spacing(24), - $mdgriffith$elm_ui$Element$paddingEach( - {cl: 0, cY: 16, dl: 16, ai: 32}), - $mdgriffith$elm_ui$Element$centerX, - $mdgriffith$elm_ui$Element$width( - A2($mdgriffith$elm_ui$Element$maximum, 750, $mdgriffith$elm_ui$Element$fill)) - ]), - _List_fromArray( - [ - A2( - $author$project$Layout$viewLink, - currentRoute, - _Utils_Tuple2('Mi', $author$project$Generated$Routes$routes.ai)), - A2( - $author$project$Layout$viewLink, - currentRoute, - _Utils_Tuple2('Switch Data', $author$project$Generated$Routes$routes.ae)) - ])); -}; -var $author$project$Layout$view = function (_v0) { - var page = _v0.ay; - var route = _v0.dn; - var global = _v0.cH; - var _v1 = global.aD; - if (!_v1.$) { - return A2( - $mdgriffith$elm_ui$Element$column, - _List_fromArray( - [ - $mdgriffith$elm_ui$Element$height($mdgriffith$elm_ui$Element$fill), - $mdgriffith$elm_ui$Element$width( - A2($mdgriffith$elm_ui$Element$maximum, 750, $mdgriffith$elm_ui$Element$fill)), - $mdgriffith$elm_ui$Element$centerX - ]), - _List_fromArray( - [ - A2( - $mdgriffith$elm_ui$Element$el, - _List_fromArray( - [ - $mdgriffith$elm_ui$Element$padding(15) - ]), - $author$project$Layout$viewHeader(route)), - page - ])); - } else { - return (!_Utils_eq(route, $author$project$Generated$Routes$routes.ad)) ? A2( - $mdgriffith$elm_ui$Element$el, - _List_fromArray( - [$mdgriffith$elm_ui$Element$centerX, $mdgriffith$elm_ui$Element$centerY]), - A2( - $mdgriffith$elm_ui$Element$link, - _List_fromArray( - [ - $mdgriffith$elm_ui$Element$Font$underline, - $mdgriffith$elm_ui$Element$Font$color( - A3($mdgriffith$elm_ui$Element$rgb255, 204, 75, 75)), - $mdgriffith$elm_ui$Element$Font$size(48) - ]), - { - bn: $mdgriffith$elm_ui$Element$text('Login'), - bN: $author$project$Generated$Routes$toPath($author$project$Generated$Routes$routes.ad) - })) : A2( - $mdgriffith$elm_ui$Element$el, - _List_fromArray( - [$mdgriffith$elm_ui$Element$centerX, $mdgriffith$elm_ui$Element$centerY]), - page); - } -}; -var $author$project$Generated$Pages$page = $author$project$Utils$Spa$layout( - { - df: $author$project$Generated$Pages$path, - dj: {Z: $author$project$Generated$Pages$bundle, aa: $author$project$Generated$Pages$init, am: $author$project$Generated$Pages$update}, - d7: $author$project$Layout$view - }); -var $elm$url$Url$Parser$mapState = F2( - function (func, _v0) { - var visited = _v0.Q; - var unvisited = _v0.G; - var params = _v0.N; - var frag = _v0.J; - var value = _v0.y; - return A5( - $elm$url$Url$Parser$State, - visited, - unvisited, - params, - frag, - func(value)); - }); -var $elm$url$Url$Parser$map = F2( - function (subValue, _v0) { - var parseArg = _v0; - return function (_v1) { - var visited = _v1.Q; - var unvisited = _v1.G; - var params = _v1.N; - var frag = _v1.J; - var value = _v1.y; - return A2( - $elm$core$List$map, - $elm$url$Url$Parser$mapState(value), - parseArg( - A5($elm$url$Url$Parser$State, visited, unvisited, params, frag, subValue))); - }; - }); -var $elm$url$Url$Parser$s = function (str) { - return function (_v0) { - var visited = _v0.Q; - var unvisited = _v0.G; - var params = _v0.N; - var frag = _v0.J; - var value = _v0.y; - if (!unvisited.b) { - return _List_Nil; - } else { - var next = unvisited.a; - var rest = unvisited.b; - return _Utils_eq(next, str) ? _List_fromArray( - [ - A5( - $elm$url$Url$Parser$State, - A2($elm$core$List$cons, next, visited), - rest, - params, - frag, - value) - ]) : _List_Nil; - } - }; -}; -var $elm$url$Url$Parser$top = function (state) { - return _List_fromArray( - [state]); -}; -var $author$project$Generated$Routes$parsers = _List_fromArray( - [ - A2( - $elm$url$Url$Parser$map, - $author$project$Generated$Routes$routes.ac, - $elm$url$Url$Parser$s('not-found')), - A2( - $elm$url$Url$Parser$map, - $author$project$Generated$Routes$routes.ad, - $elm$url$Url$Parser$s('sign-in')), - A2( - $elm$url$Url$Parser$map, - $author$project$Generated$Routes$routes.ae, - $elm$url$Url$Parser$s('switches')), - A2($elm$url$Url$Parser$map, $author$project$Generated$Routes$routes.ai, $elm$url$Url$Parser$top) - ]); -var $author$project$Global$subscriptions = function (_v0) { - return $elm$core$Platform$Sub$none; -}; -var $ryannhg$elm_spa$Internals$Transition$Transition = function (a) { - return {$: 2, a: a}; -}; -var $ryannhg$elm_spa$Internals$Transition$fadeElmUi = function (duration_) { - var withOpacity = F2( - function (opacity, page) { - return A2( - $mdgriffith$elm_ui$Element$el, - _List_fromArray( - [ - $mdgriffith$elm_ui$Element$width($mdgriffith$elm_ui$Element$fill), - $mdgriffith$elm_ui$Element$height($mdgriffith$elm_ui$Element$fill), - $mdgriffith$elm_ui$Element$alpha(opacity), - $mdgriffith$elm_ui$Element$htmlAttribute( - A2( - $elm$html$Html$Attributes$style, - 'transition', - $elm$core$String$concat( - _List_fromArray( - [ - 'opacity ', - $elm$core$String$fromInt(duration_), - 'ms ease-in-out' - ])))) - ]), - page); - }); - return $ryannhg$elm_spa$Internals$Transition$Transition( - { - au: duration_, - ax: withOpacity(0), - aF: withOpacity(1) - }); -}; -var $ryannhg$elm_spa$Spa$Transition$fadeElmUi = $ryannhg$elm_spa$Internals$Transition$fadeElmUi; -var $author$project$Transitions$transitions = { - cX: $ryannhg$elm_spa$Spa$Transition$fadeElmUi(500), - ay: $ryannhg$elm_spa$Spa$Transition$fadeElmUi(300), - dd: _List_Nil -}; -var $author$project$Global$update = F3( - function (_v0, msg, model) { - if (!msg.$) { - var token = msg.a; - return _Utils_Tuple3( - _Utils_update( - model, - { - aD: $elm$core$Maybe$Just(token) - }), - $elm$core$Platform$Cmd$none, - $elm$core$Platform$Cmd$none); - } else { - return _Utils_Tuple3( - _Utils_update( - model, - {aD: $elm$core$Maybe$Nothing}), - $elm$core$Platform$Cmd$none, - $elm$core$Platform$Cmd$none); - } - }); -var $mdgriffith$elm_ui$Internal$Model$OnlyDynamic = F2( - function (a, b) { - return {$: 2, a: a, b: b}; - }); -var $mdgriffith$elm_ui$Internal$Model$StaticRootAndDynamic = F2( - function (a, b) { - return {$: 1, a: a, b: b}; - }); -var $mdgriffith$elm_ui$Internal$Model$AllowHover = 1; -var $mdgriffith$elm_ui$Internal$Model$Layout = 0; -var $mdgriffith$elm_ui$Internal$Model$focusDefaultStyle = { - cb: $elm$core$Maybe$Nothing, - ch: $elm$core$Maybe$Nothing, - dw: $elm$core$Maybe$Just( - { - R: 0, - S: A4($mdgriffith$elm_ui$Internal$Model$Rgba, 155 / 255, 203 / 255, 1, 1), - bs: _Utils_Tuple2(0, 0), - bI: 3 - }) -}; -var $mdgriffith$elm_ui$Internal$Model$optionsToRecord = function (options) { - var combine = F2( - function (opt, record) { - switch (opt.$) { - case 0: - var hoverable = opt.a; - var _v4 = record.cL; - if (_v4.$ === 1) { - return _Utils_update( - record, - { - cL: $elm$core$Maybe$Just(hoverable) - }); - } else { - return record; - } - case 1: - var focusStyle = opt.a; - var _v5 = record.cE; - if (_v5.$ === 1) { - return _Utils_update( - record, - { - cE: $elm$core$Maybe$Just(focusStyle) - }); - } else { - return record; - } - default: - var renderMode = opt.a; - var _v6 = record.c0; - if (_v6.$ === 1) { - return _Utils_update( - record, - { - c0: $elm$core$Maybe$Just(renderMode) - }); - } else { - return record; - } - } - }); - var andFinally = function (record) { - return { - cE: function () { - var _v0 = record.cE; - if (_v0.$ === 1) { - return $mdgriffith$elm_ui$Internal$Model$focusDefaultStyle; - } else { - var focusable = _v0.a; - return focusable; - } - }(), - cL: function () { - var _v1 = record.cL; - if (_v1.$ === 1) { - return 1; - } else { - var hoverable = _v1.a; - return hoverable; - } - }(), - c0: function () { - var _v2 = record.c0; - if (_v2.$ === 1) { - return 0; - } else { - var actualMode = _v2.a; - return actualMode; - } - }() - }; - }; - return andFinally( - A3( - $elm$core$List$foldr, - combine, - {cE: $elm$core$Maybe$Nothing, cL: $elm$core$Maybe$Nothing, c0: $elm$core$Maybe$Nothing}, - options)); -}; -var $mdgriffith$elm_ui$Internal$Model$toHtml = F2( - function (mode, el) { - switch (el.$) { - case 0: - var html = el.a; - return html($mdgriffith$elm_ui$Internal$Model$asEl); - case 1: - var styles = el.a.dI; - var html = el.a.cM; - return A2( - html, - mode(styles), - $mdgriffith$elm_ui$Internal$Model$asEl); - case 2: - var text = el.a; - return $mdgriffith$elm_ui$Internal$Model$textElement(text); - default: - return $mdgriffith$elm_ui$Internal$Model$textElement(''); - } - }); -var $mdgriffith$elm_ui$Internal$Model$renderRoot = F3( - function (optionList, attributes, child) { - var options = $mdgriffith$elm_ui$Internal$Model$optionsToRecord(optionList); - var embedStyle = function () { - var _v0 = options.c0; - if (_v0 === 1) { - return $mdgriffith$elm_ui$Internal$Model$OnlyDynamic(options); - } else { - return $mdgriffith$elm_ui$Internal$Model$StaticRootAndDynamic(options); - } - }(); - return A2( - $mdgriffith$elm_ui$Internal$Model$toHtml, - embedStyle, - A4( - $mdgriffith$elm_ui$Internal$Model$element, - $mdgriffith$elm_ui$Internal$Model$asEl, - $mdgriffith$elm_ui$Internal$Model$div, - attributes, - $mdgriffith$elm_ui$Internal$Model$Unkeyed( - _List_fromArray( - [child])))); - }); -var $mdgriffith$elm_ui$Internal$Model$FontFamily = F2( - function (a, b) { - return {$: 1, a: a, b: b}; - }); -var $mdgriffith$elm_ui$Internal$Model$SansSerif = {$: 1}; -var $mdgriffith$elm_ui$Internal$Model$Typeface = function (a) { - return {$: 3, a: a}; -}; -var $mdgriffith$elm_ui$Internal$Flag$fontFamily = $mdgriffith$elm_ui$Internal$Flag$flag(5); -var $elm$core$String$toLower = _String_toLower; -var $elm$core$String$words = _String_words; -var $mdgriffith$elm_ui$Internal$Model$renderFontClassName = F2( - function (font, current) { - return _Utils_ap( - current, - function () { - switch (font.$) { - case 0: - return 'serif'; - case 1: - return 'sans-serif'; - case 2: - return 'monospace'; - case 3: - var name = font.a; - return A2( - $elm$core$String$join, - '-', - $elm$core$String$words( - $elm$core$String$toLower(name))); - case 4: - var name = font.a; - var url = font.b; - return A2( - $elm$core$String$join, - '-', - $elm$core$String$words( - $elm$core$String$toLower(name))); - default: - var name = font.a.c1; - return A2( - $elm$core$String$join, - '-', - $elm$core$String$words( - $elm$core$String$toLower(name))); - } - }()); - }); -var $mdgriffith$elm_ui$Internal$Model$rootStyle = function () { - var families = _List_fromArray( - [ - $mdgriffith$elm_ui$Internal$Model$Typeface('Open Sans'), - $mdgriffith$elm_ui$Internal$Model$Typeface('Helvetica'), - $mdgriffith$elm_ui$Internal$Model$Typeface('Verdana'), - $mdgriffith$elm_ui$Internal$Model$SansSerif - ]); - return _List_fromArray( - [ - A2( - $mdgriffith$elm_ui$Internal$Model$StyleClass, - $mdgriffith$elm_ui$Internal$Flag$bgColor, - A3( - $mdgriffith$elm_ui$Internal$Model$Colored, - 'bg-' + $mdgriffith$elm_ui$Internal$Model$formatColorClass( - A4($mdgriffith$elm_ui$Internal$Model$Rgba, 1, 1, 1, 0)), - 'background-color', - A4($mdgriffith$elm_ui$Internal$Model$Rgba, 1, 1, 1, 0))), - A2( - $mdgriffith$elm_ui$Internal$Model$StyleClass, - $mdgriffith$elm_ui$Internal$Flag$fontColor, - A3( - $mdgriffith$elm_ui$Internal$Model$Colored, - 'fc-' + $mdgriffith$elm_ui$Internal$Model$formatColorClass( - A4($mdgriffith$elm_ui$Internal$Model$Rgba, 0, 0, 0, 1)), - 'color', - A4($mdgriffith$elm_ui$Internal$Model$Rgba, 0, 0, 0, 1))), - A2( - $mdgriffith$elm_ui$Internal$Model$StyleClass, - $mdgriffith$elm_ui$Internal$Flag$fontSize, - $mdgriffith$elm_ui$Internal$Model$FontSize(20)), - A2( - $mdgriffith$elm_ui$Internal$Model$StyleClass, - $mdgriffith$elm_ui$Internal$Flag$fontFamily, - A2( - $mdgriffith$elm_ui$Internal$Model$FontFamily, - A3($elm$core$List$foldl, $mdgriffith$elm_ui$Internal$Model$renderFontClassName, 'font-', families), - families)) - ]); -}(); -var $mdgriffith$elm_ui$Element$layoutWith = F3( - function (_v0, attrs, child) { - var options = _v0.bt; - return A3( - $mdgriffith$elm_ui$Internal$Model$renderRoot, - options, - A2( - $elm$core$List$cons, - $mdgriffith$elm_ui$Internal$Model$htmlClass( - A2( - $elm$core$String$join, - ' ', - _List_fromArray( - [$mdgriffith$elm_ui$Internal$Style$classes.dm, $mdgriffith$elm_ui$Internal$Style$classes.b9, $mdgriffith$elm_ui$Internal$Style$classes.dx]))), - _Utils_ap($mdgriffith$elm_ui$Internal$Model$rootStyle, attrs)), - child); - }); -var $mdgriffith$elm_ui$Element$layout = $mdgriffith$elm_ui$Element$layoutWith( - {bt: _List_Nil}); -var $ryannhg$elm_spa$Spa$usingElmUi = { - c_: $mdgriffith$elm_ui$Element$map, - ah: $mdgriffith$elm_ui$Element$layout(_List_Nil) -}; -var $author$project$Main$main = $ryannhg$elm_spa$Spa$create( - { - cH: {aa: $author$project$Global$init, dK: $author$project$Global$subscriptions, am: $author$project$Global$update}, - ay: $author$project$Generated$Pages$page, - dp: {b_: $elm$core$Maybe$Nothing, ac: $author$project$Generated$Routes$routes.ac, $7: $author$project$Generated$Routes$parsers, d0: $author$project$Generated$Routes$toPath}, - d4: $author$project$Transitions$transitions, - d5: $ryannhg$elm_spa$Spa$usingElmUi - }); -_Platform_export({'Main':{'init':$author$project$Main$main( - $elm$json$Json$Decode$succeed(0))(0)}});}(this)); \ No newline at end of file diff --git a/frontend/src/Mi/SwitchData.elm b/frontend/src/Mi/SwitchData.elm new file mode 100644 index 0000000..66d99de --- /dev/null +++ b/frontend/src/Mi/SwitchData.elm @@ -0,0 +1,64 @@ +module Mi.SwitchData exposing + ( Switch + , decoder + , frontURL + , idURL + , listURL + , switchURL + ) + +import Html exposing (..) +import Html.Attributes exposing (..) +import Iso8601 +import Json.Decode exposing (Decoder, field, int, map5, nullable, string) +import Time exposing (Posix) +import Url.Builder as UB + + +type alias Switch = + { id : String + , who : String + , started_at : Posix + , ended_at : Maybe Posix + , duration : Int + } + + +decoder : Decoder Switch +decoder = + map5 Switch + (field "id" string) + (field "who" string) + (field "started_at" Iso8601.decoder) + (field "ended_at" (nullable Iso8601.decoder)) + (field "duration" int) + + +switchURL : String +switchURL = + UB.absolute + [ "switches", "switch" ] + [] + + +idURL : String -> String +idURL id = + UB.absolute + [ "switches", "id", id ] + [] + + +frontURL : String +frontURL = + UB.absolute + [ "switches", "current" ] + [] + + +listURL : Int -> Int -> String +listURL limit page = + UB.absolute + [ "switches", "" ] + [ UB.int "limit" limit + , UB.int "page" page + ] diff --git a/frontend/src/Pages/Switches.elm b/frontend/src/Pages/Switches.elm index 288d01f..f47096e 100644 --- a/frontend/src/Pages/Switches.elm +++ b/frontend/src/Pages/Switches.elm @@ -1,9 +1,11 @@ module Pages.Switches exposing (Model, Msg, page) -import Spa.Page import Element exposing (..) import Generated.Params as Params import Global +import Mi +import Mi.SwitchData +import Spa.Page import Utils.Spa exposing (Page) @@ -65,4 +67,4 @@ subscriptions model = view : Model -> Element Msg view model = - text "Switches" \ No newline at end of file + text "Switches" -- 2.44.0