aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>2023-06-10 21:42:45 +0000
committergithub-actions[bot] <github-actions[bot]@users.noreply.github.com>2023-06-10 21:42:45 +0000
commitb2c4aa1e250a77615443771e166c9e392a29ad24 (patch)
tree06cdce127f1bf6abb0704bc123b7f5f094dc736d
parente943c483706d730424e851cc5db28a7f16bd89fe (diff)
downloadsubmelon.dev-b2c4aa1e250a77615443771e166c9e392a29ad24.tar.gz
submelon.dev-b2c4aa1e250a77615443771e166c9e392a29ad24.tar.bz2
submelon.dev-b2c4aa1e250a77615443771e166c9e392a29ad24.zip
chore: autopublish 2023-06-10T21:42:45Z
-rw-r--r--public/404.html2
-rw-r--r--public/404/index.html2
-rw-r--r--public/_gatsby/slices/_gatsby-scripts-1.html2
-rw-r--r--public/component---src-pages-404-tsx-87731b18d61c4e913caf.js.map2
-rw-r--r--public/component---src-pages-index-tsx-5d85d69d3d1b5bbb1e8f.js.map2
-rw-r--r--public/index.html2
-rw-r--r--public/offline-plugin-app-shell-fallback/index.html2
-rw-r--r--public/page-data/app-data.json2
-rw-r--r--public/sw.js4
-rw-r--r--public/webpack-runtime-4f29874bd7b1a7752c28.js (renamed from public/webpack-runtime-c256ae552c0ea2a39ac8.js)4
-rw-r--r--public/webpack-runtime-4f29874bd7b1a7752c28.js.map (renamed from public/webpack-runtime-c256ae552c0ea2a39ac8.js.map)2
-rw-r--r--public/webpack.stats.json2
12 files changed, 14 insertions, 14 deletions
diff --git a/public/404.html b/public/404.html
index a023af6..8a796e8 100644
--- a/public/404.html
+++ b/public/404.html
@@ -23,4 +23,4 @@ data-styled.g5[id="Footer-sc-1as233t-0"]{content:"hgjbyt,"}/*!sc*/
>
window.___chunkMapping="{\"app\":[\"/app-25a4415cb264cacf65c0.js\"],\"component---cache-caches-gatsby-plugin-offline-app-shell-js\":[\"/component---cache-caches-gatsby-plugin-offline-app-shell-js-56599e2012c5599fcb23.js\"],\"component---src-pages-404-tsx\":[\"/component---src-pages-404-tsx-87731b18d61c4e913caf.js\"],\"component---src-pages-index-tsx\":[\"/component---src-pages-index-tsx-5d85d69d3d1b5bbb1e8f.js\"]}";
</script>
- <script>window.___webpackCompilationHash="ca5d15f3b94a7f81715e";</script><script src="/webpack-runtime-c256ae552c0ea2a39ac8.js" async></script><script src="/framework-d428d0ddc925cd3f37ed.js" async></script><script src="/app-25a4415cb264cacf65c0.js" async></script><!-- slice-end id="_gatsby-scripts-1" --></body></html> \ No newline at end of file
+ <script>window.___webpackCompilationHash="b20d46f9b72520f3ab16";</script><script src="/webpack-runtime-4f29874bd7b1a7752c28.js" async></script><script src="/framework-d428d0ddc925cd3f37ed.js" async></script><script src="/app-25a4415cb264cacf65c0.js" async></script><!-- slice-end id="_gatsby-scripts-1" --></body></html> \ No newline at end of file
diff --git a/public/404/index.html b/public/404/index.html
index 130937f..446958b 100644
--- a/public/404/index.html
+++ b/public/404/index.html
@@ -23,4 +23,4 @@ data-styled.g5[id="Footer-sc-1as233t-0"]{content:"hgjbyt,"}/*!sc*/
>
window.___chunkMapping="{\"app\":[\"/app-25a4415cb264cacf65c0.js\"],\"component---cache-caches-gatsby-plugin-offline-app-shell-js\":[\"/component---cache-caches-gatsby-plugin-offline-app-shell-js-56599e2012c5599fcb23.js\"],\"component---src-pages-404-tsx\":[\"/component---src-pages-404-tsx-87731b18d61c4e913caf.js\"],\"component---src-pages-index-tsx\":[\"/component---src-pages-index-tsx-5d85d69d3d1b5bbb1e8f.js\"]}";
</script>
- <script>window.___webpackCompilationHash="ca5d15f3b94a7f81715e";</script><script src="/webpack-runtime-c256ae552c0ea2a39ac8.js" async></script><script src="/framework-d428d0ddc925cd3f37ed.js" async></script><script src="/app-25a4415cb264cacf65c0.js" async></script><!-- slice-end id="_gatsby-scripts-1" --></body></html> \ No newline at end of file
+ <script>window.___webpackCompilationHash="b20d46f9b72520f3ab16";</script><script src="/webpack-runtime-4f29874bd7b1a7752c28.js" async></script><script src="/framework-d428d0ddc925cd3f37ed.js" async></script><script src="/app-25a4415cb264cacf65c0.js" async></script><!-- slice-end id="_gatsby-scripts-1" --></body></html> \ No newline at end of file
diff --git a/public/_gatsby/slices/_gatsby-scripts-1.html b/public/_gatsby/slices/_gatsby-scripts-1.html
index d3c92c3..69bb879 100644
--- a/public/_gatsby/slices/_gatsby-scripts-1.html
+++ b/public/_gatsby/slices/_gatsby-scripts-1.html
@@ -4,4 +4,4 @@
>
window.___chunkMapping="{\"app\":[\"/app-25a4415cb264cacf65c0.js\"],\"component---cache-caches-gatsby-plugin-offline-app-shell-js\":[\"/component---cache-caches-gatsby-plugin-offline-app-shell-js-56599e2012c5599fcb23.js\"],\"component---src-pages-404-tsx\":[\"/component---src-pages-404-tsx-87731b18d61c4e913caf.js\"],\"component---src-pages-index-tsx\":[\"/component---src-pages-index-tsx-5d85d69d3d1b5bbb1e8f.js\"]}";
</script>
- <script>window.___webpackCompilationHash="ca5d15f3b94a7f81715e";</script><script src="/webpack-runtime-c256ae552c0ea2a39ac8.js" async></script><script src="/framework-d428d0ddc925cd3f37ed.js" async></script><script src="/app-25a4415cb264cacf65c0.js" async></script> \ No newline at end of file
+ <script>window.___webpackCompilationHash="b20d46f9b72520f3ab16";</script><script src="/webpack-runtime-4f29874bd7b1a7752c28.js" async></script><script src="/framework-d428d0ddc925cd3f37ed.js" async></script><script src="/app-25a4415cb264cacf65c0.js" async></script> \ No newline at end of file
diff --git a/public/component---src-pages-404-tsx-87731b18d61c4e913caf.js.map b/public/component---src-pages-404-tsx-87731b18d61c4e913caf.js.map
index 6bb5302..edb427f 100644
--- a/public/component---src-pages-404-tsx-87731b18d61c4e913caf.js.map
+++ b/public/component---src-pages-404-tsx-87731b18d61c4e913caf.js.map
@@ -1 +1 @@
-{"version":3,"file":"component---src-pages-404-tsx-87731b18d61c4e913caf.js","mappings":"yKAGO,SAASA,IACd,MAAM,OAAEC,EAAM,YAAEC,EAAW,MAAEC,IAAUC,EAAAA,EAAAA,KAEvC,OACEC,EAAAA,cAAAA,EAAAA,SAAAA,KACEA,EAAAA,cAAAA,OAAAA,CAAMC,KAAK,sBAAsBC,QAASL,QAAAA,EAAe,KACzDG,EAAAA,cAAAA,OAAAA,CAAMC,KAAK,gBAAgBC,QAASJ,QAAAA,EAAS,KAC7CE,EAAAA,cAAAA,OAAAA,CAAMC,KAAK,kBAAkBC,QAASN,QAAAA,EAAU,KAChDI,EAAAA,cAAAA,OAAAA,CAAMC,KAAK,eAAeC,QAAQ,YAClCF,EAAAA,cAAAA,OAAAA,CAAMC,KAAK,cAAcC,QAASL,QAAAA,EAAe,KACjDG,EAAAA,cAAAA,QAAAA,KAAQF,GAGd,C,qGCAA,MARkBK,IAAkD,IAAjD,SAAEC,KAAaC,GAA4B,EAC5D,OACEL,EAAAA,cAACM,EAAAA,GAAS,CAACC,MAAO,CAAEC,MAAM,IACxBR,EAAAA,cAACS,EAAAA,GAAgBJ,EAAaD,GACpB,E,oBCZhB,MAAMM,EACJ,iEAAiEC,MAAM,IAoClE,SAASC,EAAaC,GAC3B,IAAIC,EAAM,GAGV,KAAOD,EAAO,GACZC,EAAMJ,EAAYG,EAHR,IAGsBC,EAChCD,EAAOE,KAAKC,MAAMH,EAJR,IAOZ,OAAOC,CACT,CCbA,MAtBeX,IAAgC,IAA/B,SAAEC,GAAuB,EACvC,MAAMa,GAAUC,EAAAA,EAAAA,KAChB,OACElB,EAAAA,cAACA,EAAAA,WAAgB,KACfA,EAAAA,cAAAA,OAAAA,KACEA,EAAAA,cAACmB,EAAAA,GAAAA,SAAoB,CACnBC,MAAO,CAAEC,KAAM,KAAMC,MAAO,CAAEC,aAAc,UAE5CvB,EAAAA,cAACwB,EAAAA,GAAO,KAAEpB,GAEVJ,EAAAA,cAACyB,EAAAA,GAAM,KACLzB,EAAAA,cAAAA,OAAAA,KAAM,uCD8BX,SAAsB0B,GAC3B,MAAMC,EAAO,IAAIC,KAAe,IAAVF,GAStB,MARgB,CACdC,EAAKE,iBACLF,EAAKG,cACLH,EAAKI,aACLJ,EAAKK,cACLL,EAAKM,iBAGQC,IAAItB,GAAcuB,KAAK,KAAO,IAC/C,CCvCeC,CAAaC,OAAOpB,QAKZ,C,4FCxBhB,MAAMlB,EAAkBA,KAAqB,IAAD,EACjD,MAAM,KAAEuC,IAASC,EAAAA,EAAAA,gBAAc,cAY/B,OAAyB,QAAzB,EAAOD,aAAI,EAAJA,EAAME,oBAAY,QAAK,CAAC,CAAC,ECbrBtB,EAAiBA,KAAoB,IAAD,IAC/C,MAAM,KAAEoB,IAASC,EAAAA,EAAAA,gBAAc,cAU/B,OAAkC,QAAlC,EAAOD,SAAkB,QAAd,EAAJA,EAAME,oBAAY,WAAd,EAAJC,EAAoBxB,eAAO,QAAI,GAAG,C,8GCK3C,UAlBqByB,IAEjB1C,EAAAA,cAAC2C,EAAAA,EAAM,KACL3C,EAAAA,cAAC4C,EAAAA,GAAW,KAAC,aACb5C,EAAAA,cAACM,EAAAA,GAAS,KAAC,QACH,IACNN,EAAAA,cAAAA,OAAAA,CAAM6C,KAAK,MAAM,aAAW,iBAAgB,MAEpC,IAAI,+CAGd7C,EAAAA,cAAC8C,EAAAA,EAAS,CAACC,KAAK,IAAI,aAAW,4BAA2B,Q,sKCbhE,EAAeC,EAAAA,QAAAA,EAAAA,WAAQ,sDAAvB,CAAuB,oQCCvB,EAAeA,EAAAA,QAAAA,IAAAA,WAAU,qDAAzB,CAAyB,8RAUXC,GAAWA,EAAM1C,MAAMC,KAAO,IAAM,WAE1CC,EAOWA,GCpBnB,EAAeuC,EAAAA,QAAAA,IAAAA,WAAU,uDAAzB,CAAyB,mICAzB,EAAeA,EAAAA,QAAAA,IAAAA,WAAU,mDAAzB,CAAyB,wECAzB,EAAeA,EAAAA,QAAAA,IAAAA,WAAU,kDAAzB,CAAyB,mH,gFCFlB,I,UCCIE,EAAiB,CAC1BC,WAAOC,EACP/B,UAAM+B,EACNC,eAAWD,EACX9B,WAAO8B,EACPE,UAAMF,GAEGjC,EAAc,iBAAuB,gBAAoB+B,GCRhEK,EAAoC,WAQtC,OAPAA,EAAWC,OAAOC,QAAU,SAAUC,GACpC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE9C,IAAK,IAAII,KADTL,EAAIG,UAAUF,GACOJ,OAAOS,UAAUC,eAAeC,KAAKR,EAAGK,KAAIN,EAAEM,GAAKL,EAAEK,IAE5E,OAAON,CACT,EACOH,EAASa,MAAMC,KAAMP,UAC9B,EACIQ,EAAgC,SAAUX,EAAGY,GAC/C,IAAIb,EAAI,CAAC,EACT,IAAK,IAAIM,KAAKL,EAAOH,OAAOS,UAAUC,eAAeC,KAAKR,EAAGK,IAAMO,EAAEC,QAAQR,GAAK,IAAGN,EAAEM,GAAKL,EAAEK,IAC9F,GAAS,MAALL,GAAqD,mBAAjCH,OAAOiB,sBAA2C,KAAIb,EAAI,EAAb,IAAgBI,EAAIR,OAAOiB,sBAAsBd,GAAIC,EAAII,EAAED,OAAQH,IAClIW,EAAEC,QAAQR,EAAEJ,IAAM,GAAKJ,OAAOS,UAAUS,qBAAqBP,KAAKR,EAAGK,EAAEJ,MAAKF,EAAEM,EAAEJ,IAAMD,EAAEK,EAAEJ,IADuB,CAGvH,OAAOF,CACT,EAGA,SAASiB,EAAaC,GACpB,OAAOA,GAAQA,EAAK1C,KAAI,SAAU2C,EAAMjB,GACtC,OAAO,gBAAoBiB,EAAKC,IAAKvB,EAAS,CAC5CwB,IAAKnB,GACJiB,EAAKvB,MAAOqB,EAAaE,EAAKG,OACnC,GACF,CACO,SAASC,EAAQC,GAEtB,OAAO,SAAUjC,GACf,OAAO,gBAAoBkC,EAAU5B,EAAS,CAC5CD,KAAMC,EAAS,CAAC,EAAG2B,EAAK5B,OACvBL,GAAQ0B,EAAaO,EAAKF,OAC/B,CACF,CACO,SAASG,EAASlC,GACvB,IAAImC,EAAO,SAAUC,GACnB,IAKIhC,EALAC,EAAOL,EAAMK,KACfjC,EAAO4B,EAAM5B,KACbvB,EAAQmD,EAAMnD,MACdwF,EAAWhB,EAAOrB,EAAO,CAAC,OAAQ,OAAQ,UACxCsC,EAAelE,GAAQgE,EAAKhE,MAAQ,MAIxC,OAFIgE,EAAKhC,YAAWA,EAAYgC,EAAKhC,WACjCJ,EAAMI,YAAWA,GAAaA,EAAYA,EAAY,IAAM,IAAMJ,EAAMI,WACrE,gBAAoB,MAAOE,EAAS,CACzCiC,OAAQ,eACRC,KAAM,eACNC,YAAa,KACZL,EAAK/B,KAAMA,EAAMgC,EAAU,CAC5BjC,UAAWA,EACX/B,MAAOiC,EAASA,EAAS,CACvBJ,MAAOF,EAAME,OAASkC,EAAKlC,OAC1BkC,EAAK/D,OAAQ2B,EAAM3B,OACtBqE,OAAQJ,EACRK,MAAOL,EACPM,MAAO,+BACL/F,GAAS,gBAAoB,QAAS,KAAMA,GAAQmD,EAAM7C,SAChE,EACA,YAAuBgD,IAAhBjC,EAA4B,gBAAoBA,EAAY2E,SAAU,MAAM,SAAUT,GAC3F,OAAOD,EAAKC,EACd,IAAKD,EAAKlC,EACZ,C","sources":["webpack://submelon.dev/./src/components/SEO.tsx","webpack://submelon.dev/./src/components/BlockLink.tsx","webpack://submelon.dev/./src/util/timestamp.ts","webpack://submelon.dev/./src/components/Layout.tsx","webpack://submelon.dev/./src/hooks/SiteMetadata.ts","webpack://submelon.dev/./src/hooks/SiteVersion.ts","webpack://submelon.dev/./src/pages/404.tsx","webpack://submelon.dev/./src/styles/BlockAnchor.ts","webpack://submelon.dev/./src/styles/BlockBody.ts","webpack://submelon.dev/./src/styles/BlockHeader.ts","webpack://submelon.dev/./src/styles/Content.ts","webpack://submelon.dev/./src/styles/Footer.ts","webpack://submelon.dev/./node_modules/react-icons/lib/esm/iconsManifest.js","webpack://submelon.dev/./node_modules/react-icons/lib/esm/iconContext.js","webpack://submelon.dev/./node_modules/react-icons/lib/esm/iconBase.js"],"sourcesContent":["import React from \"react\";\nimport { useSiteMetadata } from \"../hooks\";\n\nexport function Head(): React.ReactElement {\n const { author, description, title } = useSiteMetadata();\n\n return (\n <>\n <meta name=\"twitter:description\" content={description ?? \"\"} />\n <meta name=\"twitter:title\" content={title ?? \"\"} />\n <meta name=\"twitter:creator\" content={author ?? \"\"} />\n <meta name=\"twitter:card\" content=\"summary\" />\n <meta name=\"description\" content={description ?? \"\"} />\n <title>{title}</title>\n </>\n );\n}\n","import React from \"react\";\nimport { BlockAnchor, BlockBody } from \"../styles\";\n\ntype BlockLinkProps = {\n children?: React.ReactNode;\n as?: undefined;\n} & React.LinkHTMLAttributes<HTMLAnchorElement>;\n\nconst BlockLink = ({ children, ...attributes }: BlockLinkProps) => {\n return (\n <BlockBody theme={{ link: true }}>\n <BlockAnchor {...attributes}>{children}</BlockAnchor>\n </BlockBody>\n );\n};\n\nexport default BlockLink;\n","const SHORT_CHARS =\n \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\".split(\"\");\n\n/**\n * Transforms a number into a custom 62 char expression of that number,\n * effectively making a \"short\" version of that number (0-9a-zA-Z). This does\n * NOT convert to a base-62 number.\n *\n * There are vast gaps in the effective translation of numbers, which is why\n * this function is mostly for concisely translating dates prior to the year\n * 2063. Since all other values associated with dates (month, day, hours,\n * minutes, seconds) effectively fall within the range of a single character,\n * this is an accepted shortcoming.\n *\n * Examples:\n *\n * 0 = 0\n *\n * 48 = M\n *\n * 2022 = km (in base-62 this would be wC)\n *\n * @deprecated {@link encodeBase62} is now used to generate the timestamp instead\n */\nexport function toShort(valu: number): string {\n return (\n valu\n .toString()\n .match(/.{1,2}/g)\n ?.map((s) => SHORT_CHARS[parseInt(s)])\n .join(\"\") ?? \"\"\n );\n}\n\n/**\n * Encodes a number as a base-62 value string.\n */\nexport function encodeBase62(valu: number): string {\n let res = \"\";\n const mod = 62;\n\n while (valu > 0) {\n res = SHORT_CHARS[valu % mod] + res;\n valu = Math.floor(valu / mod);\n }\n\n return res;\n}\n\n/**\n * Translates a Unix EPOCH timestamp to a 62-char expression of the date. See\n * the `toShort()` method for more details on the meaning of the final output.\n */\nexport function getTimestamp(seconds: number): string {\n const date = new Date(seconds * 1000);\n const dateArr = [\n date.getUTCFullYear(),\n date.getUTCMonth(),\n date.getUTCDate(),\n date.getUTCHours(),\n date.getUTCMinutes(),\n ];\n\n return dateArr.map(encodeBase62).join(\".\") + \"-0\";\n}\n","import React from \"react\";\nimport { IconContext } from \"react-icons/lib\";\nimport { Content, Footer } from \"../styles\";\nimport { useSiteVersion } from \"../hooks\";\nimport { getTimestamp } from \"../util/timestamp\";\n\nimport \"../styles/main.css\";\n\ninterface LayoutProps {\n children: React.ReactNode;\n}\n\nconst Layout = ({ children }: LayoutProps) => {\n const version = useSiteVersion();\n return (\n <React.StrictMode>\n <main>\n <IconContext.Provider\n value={{ size: \"20\", style: { marginBottom: \"-4px\" } }}\n >\n <Content>{children}</Content>\n\n <Footer>\n <span>\n &copy;2023 kjhoerr@https://submelon.dev/:\n {getTimestamp(Number(version))}\n </span>\n </Footer>\n </IconContext.Provider>\n </main>\n </React.StrictMode>\n );\n};\n\nexport default Layout;\n","import { useStaticQuery, graphql } from \"gatsby\";\n\ntype SiteMetadata = NonNullable<\n NonNullable<Queries.getSiteMetadataQuery[\"site\"]>[\"siteMetadata\"]\n>;\n\nexport const useSiteMetadata = (): SiteMetadata => {\n const { site } = useStaticQuery<Queries.getSiteMetadataQuery>(graphql`\n query getSiteMetadata {\n site {\n siteMetadata {\n author\n description\n title\n }\n }\n }\n `);\n\n return site?.siteMetadata ?? ({} as SiteMetadata);\n};\n","import { useStaticQuery, graphql } from \"gatsby\";\n\ntype SiteVersion = NonNullable<\n NonNullable<Queries.getSiteVersionQuery[\"site\"]>[\"siteMetadata\"]\n>[\"version\"];\n\nexport const useSiteVersion = (): SiteVersion => {\n const { site } = useStaticQuery<Queries.getSiteVersionQuery>(graphql`\n query getSiteVersion {\n site {\n siteMetadata {\n version\n }\n }\n }\n `);\n\n return site?.siteMetadata?.version ?? \"0\";\n};\n","import React from \"react\";\nimport { BlockLink, Layout } from \"../components\";\nimport { BlockBody, BlockHeader } from \"../styles\";\n\nconst NotFoundPage = (): React.ReactElement => {\n return (\n <Layout>\n <BlockHeader>Not found</BlockHeader>\n <BlockBody>\n Sorry{\" \"}\n <span role=\"img\" aria-label=\"Pensive emoji\">\n 😔\n </span>{\" \"}\n we couldn&apos;t find what you were looking for.\n </BlockBody>\n <BlockLink href=\"/\" aria-label=\"Return to the front page\">\n Home\n </BlockLink>\n </Layout>\n );\n};\n\nexport default NotFoundPage;\nexport { Head } from \"../components/SEO\";\n","import styled from \"styled-components\";\n\nexport default styled.a`\n padding: 8px;\n width: 328px;\n display: block;\n text-align: center;\n -webkit-text-decoration: none;\n text-decoration: none;\n color: #666;\n &:visited,\n &:active {\n padding: 8px;\n width: 328px;\n display: block;\n text-align: center;\n -webkit-text-decoration: none;\n text-decoration: none;\n color: #666;\n }\n`;\n","import styled from \"styled-components\";\nimport BlockAnchor from \"./BlockAnchor\";\n\nexport default styled.div`\n & + & {\n margin-top: 3px;\n }\n\n background-color: #fff;\n border: 1px #000 solid;\n border-left: 3px #000 solid;\n border-right: 3px #000 solid;\n\n padding: ${(props) => (props.theme.link ? \"0\" : \"4px 8px\")};\n\n & > ${BlockAnchor} {\n &:hover {\n background-color: #ddd;\n color: #222;\n }\n }\n &:last-child,\n &:last-child > ${BlockAnchor} {\n border-bottom-left-radius: 18px;\n border-bottom-right-radius: 18px;\n }\n`;\n","import styled from \"styled-components\";\n\nexport default styled.div`\n background-color: #000;\n width: 100%;\n text-align: center;\n color: #fff;\n font-size: 36px;\n font-weight: bold;\n margin-top: 3px;\n padding-top: 4px;\n`;\n","import styled from \"styled-components\";\n\nexport default styled.div`\n width: 350px;\n margin: 0px auto;\n margin-bottom: 120px;\n padding-top: 136px;\n`;\n","import styled from \"styled-components\";\n\nexport default styled.div`\n width: 100%;\n position: fixed;\n left: 0px;\n bottom: 0px;\n text-align: center;\n font-size: 12px;\n span {\n background-color: #e1e1e1;\n }\n`;\n","export var IconsManifest = [\n {\n \"id\": \"ci\",\n \"name\": \"Circum Icons\",\n \"projectUrl\": \"https://circumicons.com/\",\n \"license\": \"MPL-2.0 license\",\n \"licenseUrl\": \"https://github.com/Klarr-Agency/Circum-Icons/blob/main/LICENSE\"\n },\n {\n \"id\": \"fa\",\n \"name\": \"Font Awesome 5\",\n \"projectUrl\": \"https://fontawesome.com/\",\n \"license\": \"CC BY 4.0 License\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n },\n {\n \"id\": \"io\",\n \"name\": \"Ionicons 4\",\n \"projectUrl\": \"https://ionicons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/ionic-team/ionicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"io5\",\n \"name\": \"Ionicons 5\",\n \"projectUrl\": \"https://ionicons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/ionic-team/ionicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"md\",\n \"name\": \"Material Design icons\",\n \"projectUrl\": \"http://google.github.io/material-design-icons/\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"https://github.com/google/material-design-icons/blob/master/LICENSE\"\n },\n {\n \"id\": \"ti\",\n \"name\": \"Typicons\",\n \"projectUrl\": \"http://s-ings.com/typicons/\",\n \"license\": \"CC BY-SA 3.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by-sa/3.0/\"\n },\n {\n \"id\": \"go\",\n \"name\": \"Github Octicons icons\",\n \"projectUrl\": \"https://octicons.github.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/primer/octicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"fi\",\n \"name\": \"Feather\",\n \"projectUrl\": \"https://feathericons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/feathericons/feather/blob/master/LICENSE\"\n },\n {\n \"id\": \"gi\",\n \"name\": \"Game Icons\",\n \"projectUrl\": \"https://game-icons.net/\",\n \"license\": \"CC BY 3.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/3.0/\"\n },\n {\n \"id\": \"wi\",\n \"name\": \"Weather Icons\",\n \"projectUrl\": \"https://erikflowers.github.io/weather-icons/\",\n \"license\": \"SIL OFL 1.1\",\n \"licenseUrl\": \"http://scripts.sil.org/OFL\"\n },\n {\n \"id\": \"di\",\n \"name\": \"Devicons\",\n \"projectUrl\": \"https://vorillaz.github.io/devicons/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"ai\",\n \"name\": \"Ant Design Icons\",\n \"projectUrl\": \"https://github.com/ant-design/ant-design-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"bs\",\n \"name\": \"Bootstrap Icons\",\n \"projectUrl\": \"https://github.com/twbs/icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"ri\",\n \"name\": \"Remix Icon\",\n \"projectUrl\": \"https://github.com/Remix-Design/RemixIcon\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"http://www.apache.org/licenses/\"\n },\n {\n \"id\": \"fc\",\n \"name\": \"Flat Color Icons\",\n \"projectUrl\": \"https://github.com/icons8/flat-color-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"gr\",\n \"name\": \"Grommet-Icons\",\n \"projectUrl\": \"https://github.com/grommet/grommet-icons\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"http://www.apache.org/licenses/\"\n },\n {\n \"id\": \"hi\",\n \"name\": \"Heroicons\",\n \"projectUrl\": \"https://github.com/tailwindlabs/heroicons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"hi2\",\n \"name\": \"Heroicons 2\",\n \"projectUrl\": \"https://github.com/tailwindlabs/heroicons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"si\",\n \"name\": \"Simple Icons\",\n \"projectUrl\": \"https://simpleicons.org/\",\n \"license\": \"CC0 1.0 Universal\",\n \"licenseUrl\": \"https://creativecommons.org/publicdomain/zero/1.0/\"\n },\n {\n \"id\": \"sl\",\n \"name\": \"Simple Line Icons\",\n \"projectUrl\": \"https://thesabbir.github.io/simple-line-icons/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"im\",\n \"name\": \"IcoMoon Free\",\n \"projectUrl\": \"https://github.com/Keyamoon/IcoMoon-Free\",\n \"license\": \"CC BY 4.0 License\",\n \"licenseUrl\": \"https://github.com/Keyamoon/IcoMoon-Free/blob/master/License.txt\"\n },\n {\n \"id\": \"bi\",\n \"name\": \"BoxIcons\",\n \"projectUrl\": \"https://github.com/atisawd/boxicons\",\n \"license\": \"CC BY 4.0 License\",\n \"licenseUrl\": \"https://github.com/atisawd/boxicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"cg\",\n \"name\": \"css.gg\",\n \"projectUrl\": \"https://github.com/astrit/css.gg\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"vsc\",\n \"name\": \"VS Code Icons\",\n \"projectUrl\": \"https://github.com/microsoft/vscode-codicons\",\n \"license\": \"CC BY 4.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n },\n {\n \"id\": \"tb\",\n \"name\": \"Tabler Icons\",\n \"projectUrl\": \"https://github.com/tabler/tabler-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"tfi\",\n \"name\": \"Themify Icons\",\n \"projectUrl\": \"https://github.com/lykmapipo/themify-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/thecreation/standard-icons/blob/master/modules/themify-icons/LICENSE\"\n },\n {\n \"id\": \"rx\",\n \"name\": \"Radix Icons\",\n \"projectUrl\": \"https://icons.radix-ui.com\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/radix-ui/icons/blob/master/LICENSE\"\n }\n]","import React from \"react\";\nexport var DefaultContext = {\n color: undefined,\n size: undefined,\n className: undefined,\n style: undefined,\n attr: undefined\n};\nexport var IconContext = React.createContext && React.createContext(DefaultContext);","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React from \"react\";\nimport { IconContext, DefaultContext } from \"./iconContext\";\nfunction Tree2Element(tree) {\n return tree && tree.map(function (node, i) {\n return React.createElement(node.tag, __assign({\n key: i\n }, node.attr), Tree2Element(node.child));\n });\n}\nexport function GenIcon(data) {\n // eslint-disable-next-line react/display-name\n return function (props) {\n return React.createElement(IconBase, __assign({\n attr: __assign({}, data.attr)\n }, props), Tree2Element(data.child));\n };\n}\nexport function IconBase(props) {\n var elem = function (conf) {\n var attr = props.attr,\n size = props.size,\n title = props.title,\n svgProps = __rest(props, [\"attr\", \"size\", \"title\"]);\n var computedSize = size || conf.size || \"1em\";\n var className;\n if (conf.className) className = conf.className;\n if (props.className) className = (className ? className + \" \" : \"\") + props.className;\n return React.createElement(\"svg\", __assign({\n stroke: \"currentColor\",\n fill: \"currentColor\",\n strokeWidth: \"0\"\n }, conf.attr, attr, svgProps, {\n className: className,\n style: __assign(__assign({\n color: props.color || conf.color\n }, conf.style), props.style),\n height: computedSize,\n width: computedSize,\n xmlns: \"http://www.w3.org/2000/svg\"\n }), title && React.createElement(\"title\", null, title), props.children);\n };\n return IconContext !== undefined ? React.createElement(IconContext.Consumer, null, function (conf) {\n return elem(conf);\n }) : elem(DefaultContext);\n}"],"names":["Head","author","description","title","useSiteMetadata","React","name","content","_ref","children","attributes","BlockBody","theme","link","BlockAnchor","SHORT_CHARS","split","encodeBase62","valu","res","Math","floor","version","useSiteVersion","IconContext","value","size","style","marginBottom","Content","Footer","seconds","date","Date","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","map","join","getTimestamp","Number","site","useStaticQuery","siteMetadata","_site$siteMetadata","NotFoundPage","Layout","BlockHeader","role","BlockLink","href","styled","props","DefaultContext","color","undefined","className","attr","__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","Tree2Element","tree","node","tag","key","child","GenIcon","data","IconBase","elem","conf","svgProps","computedSize","stroke","fill","strokeWidth","height","width","xmlns","Consumer"],"sourceRoot":""} \ No newline at end of file
+{"version":3,"file":"component---src-pages-404-tsx-87731b18d61c4e913caf.js","mappings":"yKAGO,SAASA,IACd,MAAM,OAAEC,EAAM,YAAEC,EAAW,MAAEC,IAAUC,EAAAA,EAAAA,KAEvC,OACEC,EAAAA,cAAAA,EAAAA,SAAAA,KACEA,EAAAA,cAAAA,OAAAA,CAAMC,KAAK,sBAAsBC,QAASL,QAAAA,EAAe,KACzDG,EAAAA,cAAAA,OAAAA,CAAMC,KAAK,gBAAgBC,QAASJ,QAAAA,EAAS,KAC7CE,EAAAA,cAAAA,OAAAA,CAAMC,KAAK,kBAAkBC,QAASN,QAAAA,EAAU,KAChDI,EAAAA,cAAAA,OAAAA,CAAMC,KAAK,eAAeC,QAAQ,YAClCF,EAAAA,cAAAA,OAAAA,CAAMC,KAAK,cAAcC,QAASL,QAAAA,EAAe,KACjDG,EAAAA,cAAAA,QAAAA,KAAQF,GAGd,C,qGCAA,MARkBK,IAAkD,IAAjD,SAAEC,KAAaC,GAA4B,EAC5D,OACEL,EAAAA,cAACM,EAAAA,GAAS,CAACC,MAAO,CAAEC,MAAM,IACxBR,EAAAA,cAACS,EAAAA,GAAgBJ,EAAaD,GACpB,E,oBCZhB,MAAMM,EACJ,iEAAiEC,MAAM,IAoClE,SAASC,EAAaC,GAC3B,IAAIC,EAAM,GAGV,KAAOD,EAAO,GACZC,EAAMJ,EAAYG,EAHR,IAGsBC,EAChCD,EAAOE,KAAKC,MAAMH,EAJR,IAOZ,OAAOC,CACT,CCbA,MAtBeX,IAAgC,IAA/B,SAAEC,GAAuB,EACvC,MAAMa,GAAUC,EAAAA,EAAAA,KAChB,OACElB,EAAAA,cAACA,EAAAA,WAAgB,KACfA,EAAAA,cAAAA,OAAAA,KACEA,EAAAA,cAACmB,EAAAA,GAAAA,SAAoB,CACnBC,MAAO,CAAEC,KAAM,KAAMC,MAAO,CAAEC,aAAc,UAE5CvB,EAAAA,cAACwB,EAAAA,GAAO,KAAEpB,GAEVJ,EAAAA,cAACyB,EAAAA,GAAM,KACLzB,EAAAA,cAAAA,OAAAA,KAAM,uCD8BX,SAAsB0B,GAC3B,MAAMC,EAAO,IAAIC,KAAe,IAAVF,GAStB,MARgB,CACdC,EAAKE,iBACLF,EAAKG,cACLH,EAAKI,aACLJ,EAAKK,cACLL,EAAKM,iBAGQC,IAAItB,GAAcuB,KAAK,KAAO,IAC/C,CCvCeC,CAAaC,OAAOpB,QAKZ,C,4FCxBhB,MAAMlB,EAAkBA,KAAqB,IAAD,EACjD,MAAM,KAAEuC,IAASC,EAAAA,EAAAA,gBAAc,cAY/B,OAAyB,QAAzB,EAAOD,aAAI,EAAJA,EAAME,oBAAY,QAAK,CAAC,CAAC,ECbrBtB,EAAiBA,KAAoB,IAAD,IAC/C,MAAM,KAAEoB,IAASC,EAAAA,EAAAA,gBAAc,cAU/B,OAAkC,QAAlC,EAAOD,SAAkB,QAAd,EAAJA,EAAME,oBAAY,WAAd,EAAJC,EAAoBxB,eAAO,QAAI,GAAG,C,8GCK3C,UAlBqByB,IAEjB1C,EAAAA,cAAC2C,EAAAA,EAAM,KACL3C,EAAAA,cAAC4C,EAAAA,GAAW,KAAC,aACb5C,EAAAA,cAACM,EAAAA,GAAS,KAAC,QACH,IACNN,EAAAA,cAAAA,OAAAA,CAAM6C,KAAK,MAAM,aAAW,iBAAgB,MAEpC,IAAI,+CAGd7C,EAAAA,cAAC8C,EAAAA,EAAS,CAACC,KAAK,IAAI,aAAW,4BAA2B,Q,sKCbhE,EAAeC,EAAAA,QAAAA,EAAAA,WAAQ,sDAAvB,CAAuB,oQCCvB,EAAeA,EAAAA,QAAAA,IAAAA,WAAU,qDAAzB,CAAyB,8RAUXC,GAAWA,EAAM1C,MAAMC,KAAO,IAAM,WAE1CC,EAOWA,GCpBnB,EAAeuC,EAAAA,QAAAA,IAAAA,WAAU,uDAAzB,CAAyB,mICAzB,EAAeA,EAAAA,QAAAA,IAAAA,WAAU,mDAAzB,CAAyB,wECAzB,EAAeA,EAAAA,QAAAA,IAAAA,WAAU,kDAAzB,CAAyB,mH,gFCFlB,I,UCCIE,EAAiB,CAC1BC,WAAOC,EACP/B,UAAM+B,EACNC,eAAWD,EACX9B,WAAO8B,EACPE,UAAMF,GAEGjC,EAAc,iBAAuB,gBAAoB+B,GCRhEK,EAAoC,WAQtC,OAPAA,EAAWC,OAAOC,QAAU,SAAUC,GACpC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE9C,IAAK,IAAII,KADTL,EAAIG,UAAUF,GACOJ,OAAOS,UAAUC,eAAeC,KAAKR,EAAGK,KAAIN,EAAEM,GAAKL,EAAEK,IAE5E,OAAON,CACT,EACOH,EAASa,MAAMC,KAAMP,UAC9B,EACIQ,EAAgC,SAAUX,EAAGY,GAC/C,IAAIb,EAAI,CAAC,EACT,IAAK,IAAIM,KAAKL,EAAOH,OAAOS,UAAUC,eAAeC,KAAKR,EAAGK,IAAMO,EAAEC,QAAQR,GAAK,IAAGN,EAAEM,GAAKL,EAAEK,IAC9F,GAAS,MAALL,GAAqD,mBAAjCH,OAAOiB,sBAA2C,KAAIb,EAAI,EAAb,IAAgBI,EAAIR,OAAOiB,sBAAsBd,GAAIC,EAAII,EAAED,OAAQH,IAClIW,EAAEC,QAAQR,EAAEJ,IAAM,GAAKJ,OAAOS,UAAUS,qBAAqBP,KAAKR,EAAGK,EAAEJ,MAAKF,EAAEM,EAAEJ,IAAMD,EAAEK,EAAEJ,IADuB,CAGvH,OAAOF,CACT,EAGA,SAASiB,EAAaC,GACpB,OAAOA,GAAQA,EAAK1C,KAAI,SAAU2C,EAAMjB,GACtC,OAAO,gBAAoBiB,EAAKC,IAAKvB,EAAS,CAC5CwB,IAAKnB,GACJiB,EAAKvB,MAAOqB,EAAaE,EAAKG,OACnC,GACF,CACO,SAASC,EAAQC,GAEtB,OAAO,SAAUjC,GACf,OAAO,gBAAoBkC,EAAU5B,EAAS,CAC5CD,KAAMC,EAAS,CAAC,EAAG2B,EAAK5B,OACvBL,GAAQ0B,EAAaO,EAAKF,OAC/B,CACF,CACO,SAASG,EAASlC,GACvB,IAAImC,EAAO,SAAUC,GACnB,IAKIhC,EALAC,EAAOL,EAAMK,KACfjC,EAAO4B,EAAM5B,KACbvB,EAAQmD,EAAMnD,MACdwF,EAAWhB,EAAOrB,EAAO,CAAC,OAAQ,OAAQ,UACxCsC,EAAelE,GAAQgE,EAAKhE,MAAQ,MAIxC,OAFIgE,EAAKhC,YAAWA,EAAYgC,EAAKhC,WACjCJ,EAAMI,YAAWA,GAAaA,EAAYA,EAAY,IAAM,IAAMJ,EAAMI,WACrE,gBAAoB,MAAOE,EAAS,CACzCiC,OAAQ,eACRC,KAAM,eACNC,YAAa,KACZL,EAAK/B,KAAMA,EAAMgC,EAAU,CAC5BjC,UAAWA,EACX/B,MAAOiC,EAASA,EAAS,CACvBJ,MAAOF,EAAME,OAASkC,EAAKlC,OAC1BkC,EAAK/D,OAAQ2B,EAAM3B,OACtBqE,OAAQJ,EACRK,MAAOL,EACPM,MAAO,+BACL/F,GAAS,gBAAoB,QAAS,KAAMA,GAAQmD,EAAM7C,SAChE,EACA,YAAuBgD,IAAhBjC,EAA4B,gBAAoBA,EAAY2E,SAAU,MAAM,SAAUT,GAC3F,OAAOD,EAAKC,EACd,IAAKD,EAAKlC,EACZ,C","sources":["webpack://submelon.dev/./src/components/SEO.tsx","webpack://submelon.dev/./src/components/BlockLink.tsx","webpack://submelon.dev/./src/util/timestamp.ts","webpack://submelon.dev/./src/components/Layout.tsx","webpack://submelon.dev/./src/hooks/SiteMetadata.ts","webpack://submelon.dev/./src/hooks/SiteVersion.ts","webpack://submelon.dev/./src/pages/404.tsx","webpack://submelon.dev/./src/styles/BlockAnchor.ts","webpack://submelon.dev/./src/styles/BlockBody.ts","webpack://submelon.dev/./src/styles/BlockHeader.ts","webpack://submelon.dev/./src/styles/Content.ts","webpack://submelon.dev/./src/styles/Footer.ts","webpack://submelon.dev/./node_modules/react-icons/lib/esm/iconsManifest.js","webpack://submelon.dev/./node_modules/react-icons/lib/esm/iconContext.js","webpack://submelon.dev/./node_modules/react-icons/lib/esm/iconBase.js"],"sourcesContent":["import React from \"react\";\nimport { useSiteMetadata } from \"../hooks\";\n\nexport function Head(): React.ReactElement {\n const { author, description, title } = useSiteMetadata();\n\n return (\n <>\n <meta name=\"twitter:description\" content={description ?? \"\"} />\n <meta name=\"twitter:title\" content={title ?? \"\"} />\n <meta name=\"twitter:creator\" content={author ?? \"\"} />\n <meta name=\"twitter:card\" content=\"summary\" />\n <meta name=\"description\" content={description ?? \"\"} />\n <title>{title}</title>\n </>\n );\n}\n","import React from \"react\";\nimport { BlockAnchor, BlockBody } from \"../styles\";\n\ntype BlockLinkProps = {\n children?: React.ReactNode;\n as?: undefined;\n} & React.LinkHTMLAttributes<HTMLAnchorElement>;\n\nconst BlockLink = ({ children, ...attributes }: BlockLinkProps) => {\n return (\n <BlockBody theme={{ link: true }}>\n <BlockAnchor {...attributes}>{children}</BlockAnchor>\n </BlockBody>\n );\n};\n\nexport default BlockLink;\n","const SHORT_CHARS =\n \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\".split(\"\");\n\n/**\n * Transforms a number into a custom 62 char expression of that number,\n * effectively making a \"short\" version of that number (0-9a-zA-Z). This does\n * NOT convert to a base-62 number.\n *\n * There are vast gaps in the effective translation of numbers, which is why\n * this function is mostly for concisely translating dates prior to the year\n * 2063. Since all other values associated with dates (month, day, hours,\n * minutes, seconds) effectively fall within the range of a single character,\n * this is an accepted shortcoming.\n *\n * Examples:\n *\n * 0 = 0\n *\n * 48 = M\n *\n * 2022 = km (in base-62 this would be wC)\n *\n * @deprecated {@link encodeBase62} is now used to generate the timestamp instead\n */\nexport function toShort(valu: number): string {\n return (\n valu\n .toString()\n .match(/.{1,2}/g)\n ?.map((s) => SHORT_CHARS[parseInt(s)])\n .join(\"\") ?? \"\"\n );\n}\n\n/**\n * Encodes a number as a base-62 value string.\n */\nexport function encodeBase62(valu: number): string {\n let res = \"\";\n const mod = 62;\n\n while (valu > 0) {\n res = SHORT_CHARS[valu % mod] + res;\n valu = Math.floor(valu / mod);\n }\n\n return res;\n}\n\n/**\n * Translates a Unix EPOCH timestamp to a 62-char expression of the date. See\n * the `toShort()` method for more details on the meaning of the final output.\n */\nexport function getTimestamp(seconds: number): string {\n const date = new Date(seconds * 1000);\n const dateArr = [\n date.getUTCFullYear(),\n date.getUTCMonth(),\n date.getUTCDate(),\n date.getUTCHours(),\n date.getUTCMinutes(),\n ];\n\n return dateArr.map(encodeBase62).join(\".\") + \"-0\";\n}\n","import React from \"react\";\nimport { IconContext } from \"react-icons/lib\";\nimport { Content, Footer } from \"../styles\";\nimport { useSiteVersion } from \"../hooks\";\nimport { getTimestamp } from \"../util/timestamp\";\n\nimport \"../styles/main.css\";\n\ninterface LayoutProps {\n children: React.ReactNode;\n}\n\nconst Layout = ({ children }: LayoutProps) => {\n const version = useSiteVersion();\n return (\n <React.StrictMode>\n <main>\n <IconContext.Provider\n value={{ size: \"20\", style: { marginBottom: \"-4px\" } }}\n >\n <Content>{children}</Content>\n\n <Footer>\n <span>\n &copy;2023 kjhoerr@https://submelon.dev/:\n {getTimestamp(Number(version))}\n </span>\n </Footer>\n </IconContext.Provider>\n </main>\n </React.StrictMode>\n );\n};\n\nexport default Layout;\n","import { useStaticQuery, graphql } from \"gatsby\";\n\ntype SiteMetadata = NonNullable<\n NonNullable<Queries.getSiteMetadataQuery[\"site\"]>[\"siteMetadata\"]\n>;\n\nexport const useSiteMetadata = (): SiteMetadata => {\n const { site } = useStaticQuery<Queries.getSiteMetadataQuery>(graphql`\n query getSiteMetadata {\n site {\n siteMetadata {\n author\n description\n title\n }\n }\n }\n `);\n\n return site?.siteMetadata ?? ({} as SiteMetadata);\n};\n","import { useStaticQuery, graphql } from \"gatsby\";\n\ntype SiteVersion = NonNullable<\n NonNullable<Queries.getSiteVersionQuery[\"site\"]>[\"siteMetadata\"]\n>[\"version\"];\n\nexport const useSiteVersion = (): SiteVersion => {\n const { site } = useStaticQuery<Queries.getSiteVersionQuery>(graphql`\n query getSiteVersion {\n site {\n siteMetadata {\n version\n }\n }\n }\n `);\n\n return site?.siteMetadata?.version ?? \"0\";\n};\n","import React from \"react\";\nimport { BlockLink, Layout } from \"../components\";\nimport { BlockBody, BlockHeader } from \"../styles\";\n\nconst NotFoundPage = (): React.ReactElement => {\n return (\n <Layout>\n <BlockHeader>Not found</BlockHeader>\n <BlockBody>\n Sorry{\" \"}\n <span role=\"img\" aria-label=\"Pensive emoji\">\n 😔\n </span>{\" \"}\n we couldn&apos;t find what you were looking for.\n </BlockBody>\n <BlockLink href=\"/\" aria-label=\"Return to the front page\">\n Home\n </BlockLink>\n </Layout>\n );\n};\n\nexport default NotFoundPage;\nexport { Head } from \"../components/SEO\";\n","import styled from \"styled-components\";\n\nexport default styled.a`\n padding: 8px;\n width: 328px;\n display: block;\n text-align: center;\n -webkit-text-decoration: none;\n text-decoration: none;\n color: #666;\n &:visited,\n &:active {\n padding: 8px;\n width: 328px;\n display: block;\n text-align: center;\n -webkit-text-decoration: none;\n text-decoration: none;\n color: #666;\n }\n`;\n","import styled from \"styled-components\";\nimport BlockAnchor from \"./BlockAnchor\";\n\nexport default styled.div`\n & + & {\n margin-top: 3px;\n }\n\n background-color: #fff;\n border: 1px #000 solid;\n border-left: 3px #000 solid;\n border-right: 3px #000 solid;\n\n padding: ${(props) => (props.theme.link ? \"0\" : \"4px 8px\")};\n\n & > ${BlockAnchor} {\n &:hover {\n background-color: #ddd;\n color: #222;\n }\n }\n &:last-child,\n &:last-child > ${BlockAnchor} {\n border-bottom-left-radius: 18px;\n border-bottom-right-radius: 18px;\n }\n`;\n","import styled from \"styled-components\";\n\nexport default styled.div`\n background-color: #000;\n width: 100%;\n text-align: center;\n color: #fff;\n font-size: 36px;\n font-weight: bold;\n margin-top: 3px;\n padding-top: 4px;\n`;\n","import styled from \"styled-components\";\n\nexport default styled.div`\n width: 350px;\n margin: 0px auto;\n margin-bottom: 120px;\n padding-top: 136px;\n`;\n","import styled from \"styled-components\";\n\nexport default styled.div`\n width: 100%;\n position: fixed;\n left: 0px;\n bottom: 0px;\n text-align: center;\n font-size: 12px;\n span {\n background-color: #e1e1e1;\n }\n`;\n","export var IconsManifest = [\n {\n \"id\": \"ci\",\n \"name\": \"Circum Icons\",\n \"projectUrl\": \"https://circumicons.com/\",\n \"license\": \"MPL-2.0 license\",\n \"licenseUrl\": \"https://github.com/Klarr-Agency/Circum-Icons/blob/main/LICENSE\"\n },\n {\n \"id\": \"fa\",\n \"name\": \"Font Awesome 5\",\n \"projectUrl\": \"https://fontawesome.com/\",\n \"license\": \"CC BY 4.0 License\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n },\n {\n \"id\": \"io\",\n \"name\": \"Ionicons 4\",\n \"projectUrl\": \"https://ionicons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/ionic-team/ionicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"io5\",\n \"name\": \"Ionicons 5\",\n \"projectUrl\": \"https://ionicons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/ionic-team/ionicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"md\",\n \"name\": \"Material Design icons\",\n \"projectUrl\": \"http://google.github.io/material-design-icons/\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"https://github.com/google/material-design-icons/blob/master/LICENSE\"\n },\n {\n \"id\": \"ti\",\n \"name\": \"Typicons\",\n \"projectUrl\": \"http://s-ings.com/typicons/\",\n \"license\": \"CC BY-SA 3.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by-sa/3.0/\"\n },\n {\n \"id\": \"go\",\n \"name\": \"Github Octicons icons\",\n \"projectUrl\": \"https://octicons.github.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/primer/octicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"fi\",\n \"name\": \"Feather\",\n \"projectUrl\": \"https://feathericons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/feathericons/feather/blob/master/LICENSE\"\n },\n {\n \"id\": \"lu\",\n \"name\": \"Lucide\",\n \"projectUrl\": \"https://lucide.dev/\",\n \"license\": \"ISC\",\n \"licenseUrl\": \"https://github.com/lucide-icons/lucide/blob/main/LICENSE\"\n },\n {\n \"id\": \"gi\",\n \"name\": \"Game Icons\",\n \"projectUrl\": \"https://game-icons.net/\",\n \"license\": \"CC BY 3.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/3.0/\"\n },\n {\n \"id\": \"wi\",\n \"name\": \"Weather Icons\",\n \"projectUrl\": \"https://erikflowers.github.io/weather-icons/\",\n \"license\": \"SIL OFL 1.1\",\n \"licenseUrl\": \"http://scripts.sil.org/OFL\"\n },\n {\n \"id\": \"di\",\n \"name\": \"Devicons\",\n \"projectUrl\": \"https://vorillaz.github.io/devicons/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"ai\",\n \"name\": \"Ant Design Icons\",\n \"projectUrl\": \"https://github.com/ant-design/ant-design-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"bs\",\n \"name\": \"Bootstrap Icons\",\n \"projectUrl\": \"https://github.com/twbs/icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"ri\",\n \"name\": \"Remix Icon\",\n \"projectUrl\": \"https://github.com/Remix-Design/RemixIcon\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"http://www.apache.org/licenses/\"\n },\n {\n \"id\": \"fc\",\n \"name\": \"Flat Color Icons\",\n \"projectUrl\": \"https://github.com/icons8/flat-color-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"gr\",\n \"name\": \"Grommet-Icons\",\n \"projectUrl\": \"https://github.com/grommet/grommet-icons\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"http://www.apache.org/licenses/\"\n },\n {\n \"id\": \"hi\",\n \"name\": \"Heroicons\",\n \"projectUrl\": \"https://github.com/tailwindlabs/heroicons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"hi2\",\n \"name\": \"Heroicons 2\",\n \"projectUrl\": \"https://github.com/tailwindlabs/heroicons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"si\",\n \"name\": \"Simple Icons\",\n \"projectUrl\": \"https://simpleicons.org/\",\n \"license\": \"CC0 1.0 Universal\",\n \"licenseUrl\": \"https://creativecommons.org/publicdomain/zero/1.0/\"\n },\n {\n \"id\": \"sl\",\n \"name\": \"Simple Line Icons\",\n \"projectUrl\": \"https://thesabbir.github.io/simple-line-icons/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"im\",\n \"name\": \"IcoMoon Free\",\n \"projectUrl\": \"https://github.com/Keyamoon/IcoMoon-Free\",\n \"license\": \"CC BY 4.0 License\",\n \"licenseUrl\": \"https://github.com/Keyamoon/IcoMoon-Free/blob/master/License.txt\"\n },\n {\n \"id\": \"bi\",\n \"name\": \"BoxIcons\",\n \"projectUrl\": \"https://github.com/atisawd/boxicons\",\n \"license\": \"CC BY 4.0 License\",\n \"licenseUrl\": \"https://github.com/atisawd/boxicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"cg\",\n \"name\": \"css.gg\",\n \"projectUrl\": \"https://github.com/astrit/css.gg\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"vsc\",\n \"name\": \"VS Code Icons\",\n \"projectUrl\": \"https://github.com/microsoft/vscode-codicons\",\n \"license\": \"CC BY 4.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n },\n {\n \"id\": \"tb\",\n \"name\": \"Tabler Icons\",\n \"projectUrl\": \"https://github.com/tabler/tabler-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"tfi\",\n \"name\": \"Themify Icons\",\n \"projectUrl\": \"https://github.com/lykmapipo/themify-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/thecreation/standard-icons/blob/master/modules/themify-icons/LICENSE\"\n },\n {\n \"id\": \"rx\",\n \"name\": \"Radix Icons\",\n \"projectUrl\": \"https://icons.radix-ui.com\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/radix-ui/icons/blob/master/LICENSE\"\n }\n]","import React from \"react\";\nexport var DefaultContext = {\n color: undefined,\n size: undefined,\n className: undefined,\n style: undefined,\n attr: undefined\n};\nexport var IconContext = React.createContext && React.createContext(DefaultContext);","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React from \"react\";\nimport { IconContext, DefaultContext } from \"./iconContext\";\nfunction Tree2Element(tree) {\n return tree && tree.map(function (node, i) {\n return React.createElement(node.tag, __assign({\n key: i\n }, node.attr), Tree2Element(node.child));\n });\n}\nexport function GenIcon(data) {\n // eslint-disable-next-line react/display-name\n return function (props) {\n return React.createElement(IconBase, __assign({\n attr: __assign({}, data.attr)\n }, props), Tree2Element(data.child));\n };\n}\nexport function IconBase(props) {\n var elem = function (conf) {\n var attr = props.attr,\n size = props.size,\n title = props.title,\n svgProps = __rest(props, [\"attr\", \"size\", \"title\"]);\n var computedSize = size || conf.size || \"1em\";\n var className;\n if (conf.className) className = conf.className;\n if (props.className) className = (className ? className + \" \" : \"\") + props.className;\n return React.createElement(\"svg\", __assign({\n stroke: \"currentColor\",\n fill: \"currentColor\",\n strokeWidth: \"0\"\n }, conf.attr, attr, svgProps, {\n className: className,\n style: __assign(__assign({\n color: props.color || conf.color\n }, conf.style), props.style),\n height: computedSize,\n width: computedSize,\n xmlns: \"http://www.w3.org/2000/svg\"\n }), title && React.createElement(\"title\", null, title), props.children);\n };\n return IconContext !== undefined ? React.createElement(IconContext.Consumer, null, function (conf) {\n return elem(conf);\n }) : elem(DefaultContext);\n}"],"names":["Head","author","description","title","useSiteMetadata","React","name","content","_ref","children","attributes","BlockBody","theme","link","BlockAnchor","SHORT_CHARS","split","encodeBase62","valu","res","Math","floor","version","useSiteVersion","IconContext","value","size","style","marginBottom","Content","Footer","seconds","date","Date","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","map","join","getTimestamp","Number","site","useStaticQuery","siteMetadata","_site$siteMetadata","NotFoundPage","Layout","BlockHeader","role","BlockLink","href","styled","props","DefaultContext","color","undefined","className","attr","__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","Tree2Element","tree","node","tag","key","child","GenIcon","data","IconBase","elem","conf","svgProps","computedSize","stroke","fill","strokeWidth","height","width","xmlns","Consumer"],"sourceRoot":""} \ No newline at end of file
diff --git a/public/component---src-pages-index-tsx-5d85d69d3d1b5bbb1e8f.js.map b/public/component---src-pages-index-tsx-5d85d69d3d1b5bbb1e8f.js.map
index 61be203..de79877 100644
--- a/public/component---src-pages-index-tsx-5d85d69d3d1b5bbb1e8f.js.map
+++ b/public/component---src-pages-index-tsx-5d85d69d3d1b5bbb1e8f.js.map
@@ -1 +1 @@
-{"version":3,"file":"component---src-pages-index-tsx-5d85d69d3d1b5bbb1e8f.js","mappings":"6GAEA,MAAMA,EAAY,YACZC,EAAY,YACZC,EAAkB,0BAClBC,EAAa,yBACbC,EAAa,WAEbC,EAAqB,IAAIC,OAAO,IAAMF,EAAWG,QACjDC,EAA4B,IAAIF,OAAOF,EAAWG,OAASJ,EAAWI,OAAQ,MAC9EE,EAAyB,IAAIH,OAAO,OAASH,EAAWI,OAAQ,MA6ChEG,EAAY,CAACC,EAAOC,KACzB,GAAuB,iBAAVD,IAAsBE,MAAMC,QAAQH,GAChD,MAAM,IAAII,UAAU,gDAiBrB,GAdAH,EAAU,CACTI,YAAY,EACZC,8BAA8B,KAC3BL,GAWiB,KAPpBD,EADGE,MAAMC,QAAQH,GACTA,EAAMO,KAAIC,GAAKA,EAAEC,SACvBC,QAAOF,GAAKA,EAAEG,SACdC,KAAK,KAECZ,EAAMS,QAGLE,OACT,MAAO,GAGR,MAAME,GAAiC,IAAnBZ,EAAQa,OAC3BC,GAAUA,EAAOF,cACjBE,GAAUA,EAAOC,kBAAkBf,EAAQa,QACtCG,GAAiC,IAAnBhB,EAAQa,OAC3BC,GAAUA,EAAOE,cACjBF,GAAUA,EAAOG,kBAAkBjB,EAAQa,QAE5C,GAAqB,IAAjBd,EAAMW,OACT,OAAOV,EAAQI,WAAaY,EAAYjB,GAASa,EAAYb,GAqB9D,OAlBqBA,IAAUa,EAAYb,KAG1CA,EAhFwB,EAACe,EAAQF,EAAaI,KAC/C,IAAIE,GAAkB,EAClBC,GAAkB,EAClBC,GAAsB,EAE1B,IAAK,IAAIC,EAAI,EAAGA,EAAIP,EAAOJ,OAAQW,IAAK,CACvC,MAAMC,EAAYR,EAAOO,GAErBH,GAAmB9B,EAAUmC,KAAKD,IACrCR,EAASA,EAAOU,MAAM,EAAGH,GAAK,IAAMP,EAAOU,MAAMH,GACjDH,GAAkB,EAClBE,EAAsBD,EACtBA,GAAkB,EAClBE,KACUF,GAAmBC,GAAuB/B,EAAUkC,KAAKD,IACnER,EAASA,EAAOU,MAAM,EAAGH,EAAI,GAAK,IAAMP,EAAOU,MAAMH,EAAI,GACzDD,EAAsBD,EACtBA,GAAkB,EAClBD,GAAkB,IAElBA,EAAkBN,EAAYU,KAAeA,GAAaN,EAAYM,KAAeA,EACrFF,EAAsBD,EACtBA,EAAkBH,EAAYM,KAAeA,GAAaV,EAAYU,KAAeA,EAEvF,CAEA,OAAOR,CAAM,EAsDJW,CAAkB1B,EAAOa,EAAaI,IAG/CjB,EAAQA,EAAM2B,QAAQjC,EAAoB,IAGzCM,EADGC,EAAQK,6BAxDwB,EAACN,EAAOa,KAC5CtB,EAAgBqC,UAAY,EAErB5B,EAAM2B,QAAQpC,GAAiBsC,GAAMhB,EAAYgB,MAsD/CvB,CAA6BN,EAAOa,GAEpCA,EAAYb,GAGjBC,EAAQI,aACXL,EAAQiB,EAAYjB,EAAM8B,OAAO,IAAM9B,EAAMyB,MAAM,IAzDjC,EAACzB,EAAOiB,KAC3BpB,EAA0B+B,UAAY,EACtC9B,EAAuB8B,UAAY,EAE5B5B,EAAM2B,QAAQ9B,GAA2B,CAACkC,EAAGC,IAAef,EAAYe,KAC7EL,QAAQ7B,GAAwBmC,GAAKhB,EAAYgB,MAuD5CC,CAAYlC,EAAOiB,EAAY,EAGvCkB,EAAOC,QAAUrC,EAEjBoC,EAAOC,QAAP,QAAyBrC,C,koBCggBzB,MCjmBasC,EAA2BC,IACC,oBAAhCC,kBACP,YAA6BA,iBAACC,UA6DIC,SAAAA,EAGlCC,EACAC,EACAC,G