diff --git a/.editorconfig b/.editorconfig index 8f0de65c..0b5d680f 100644 --- a/.editorconfig +++ b/.editorconfig @@ -8,6 +8,9 @@ indent_style = space insert_final_newline = true trim_trailing_whitespace = true +[*.{js,css}] +indent_size = 2 + [*.md] trim_trailing_whitespace = false diff --git a/.eslintrc.yml b/.eslintrc.yml index a16298c1..d3156688 100644 --- a/.eslintrc.yml +++ b/.eslintrc.yml @@ -1,5 +1,6 @@ parserOptions: sourceType: 'module' + ecmaVersion: 8 extends: 'eslint:recommended' env: browser: true @@ -9,7 +10,7 @@ ignorePatterns: rules: indent: - error - - 4 + - 2 linebreak-style: - error - unix diff --git a/.stylelintrc b/.stylelintrc index c4ff038c..a9a9091b 100644 --- a/.stylelintrc +++ b/.stylelintrc @@ -1,7 +1,3 @@ { - "extends": ["stylelint-config-standard"], - "rules": { - "indentation": 4, - "import-notation": "string" - } + "extends": ["stylelint-config-standard"] } diff --git a/public/assets/app.js b/public/assets/app.js index b2c27953..e8471e65 100644 --- a/public/assets/app.js +++ b/public/assets/app.js @@ -16,9 +16,7 @@ \*****************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _css_app_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../css/app.css */ "./resources/css/app.css"); - +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _css_app_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../css/app.css */ \"./resources/css/app.css\");\n\n\n// import { Auth } from './auth.js';\n//\n// let auth = new Auth();\n\n// auth.createCredentials().then((credentials) => {\n// // eslint-disable-next-line no-console\n// console.log(credentials);\n// });//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9yZXNvdXJjZXMvanMvYXBwLmpzIiwibWFwcGluZ3MiOiI7O0FBQXdCOztBQUV4QjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qYnVrLWZyb250ZW5kLy4vcmVzb3VyY2VzL2pzL2FwcC5qcz82ZDQwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnLi4vY3NzL2FwcC5jc3MnO1xuXG4vLyBpbXBvcnQgeyBBdXRoIH0gZnJvbSAnLi9hdXRoLmpzJztcbi8vXG4vLyBsZXQgYXV0aCA9IG5ldyBBdXRoKCk7XG5cbi8vIGF1dGguY3JlYXRlQ3JlZGVudGlhbHMoKS50aGVuKChjcmVkZW50aWFscykgPT4ge1xuLy8gICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuLy8gICBjb25zb2xlLmxvZyhjcmVkZW50aWFscyk7XG4vLyB9KTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./resources/js/app.js\n"); /***/ }), @@ -28,7 +26,7 @@ __webpack_require__.r(__webpack_exports__); \***********************************************************************************************************************************************************************/ /***/ (function(module, __webpack_exports__, __webpack_require__) { -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/sourceMaps.js */ \"./node_modules/css-loader/dist/runtime/sourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":root{--font-family-headings:\\\"Archer SSm A\\\",\\\"Archer SSm B\\\",serif;--font-family-body:\\\"Verlag A\\\",\\\"Verlag B\\\",sans-serif;--font-family-monospace:\\\"Operator Mono SSm A\\\",\\\"Operator Mono SSm B\\\",monospace;--font-size-sm:0.75rem;--font-size-base:1rem;--font-size-md:1.25rem;--font-size-lg:1.5rem;--font-size-xl:1.75rem;--font-size-xxl:2rem;--font-size-xxxl:2.25rem;--color-primary:#334700;--color-secondary:#e3ffb7;--color-link:#00649e;--color-link-visited:#bc7aff;--color-primary-shadow:rgba(16,25,0,.4)}@supports (color:color(display-p3 0 0 0)){:root{--color-primary:color(display-p3 0.21567 0.27838 0.03615);--color-secondary:color(display-p3 0.91016 0.99842 0.74082);--color-link:color(display-p3 0.01045 0.38351 0.63618);--color-link-visited:color(display-p3 0.70467 0.47549 0.99958);--color-primary-shadow:color(display-p3 0.06762 0.09646 0.00441/0.4)}}@supports (color:oklch(0% 0 0)){:root{--color-primary:oklch(36.8% 0.1 125.505);--color-secondary:oklch(96.3% 0.1 125.505);--color-link:oklch(48.09% 0.146 241.41);--color-link-visited:oklch(70.44% 0.21 304.41);--color-primary-shadow:oklch(19.56% 0.054 125.505/40%)}}body{background-color:var(--color-secondary);color:var(--color-primary);font-family:var(--font-family-body);font-size:var(--font-size-md)}code{font-family:var(--font-family-monospace)}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-headings)}.grid{display:grid;grid-template-columns:5vw 1fr 5vw;grid-template-rows:-webkit-min-content 1fr -webkit-min-content;grid-template-rows:min-content 1fr min-content;row-gap:1rem}#site-header{grid-column:2/3;grid-row:1/2}main{grid-row:2/3}footer,main{grid-column:2/3}footer{grid-row:3/4}footer .iwc-logo{max-width:85vw}a{color:var(--color-link)}a:visited{color:var(--color-link-visited)}#site-header a:visited{color:var(--color-link)}.hljs{border-radius:.5rem}.p-bridgy-twitter-content{display:none}.h-card .hovercard{-webkit-box-orient:vertical;-webkit-box-direction:normal;background-color:var(--color-secondary);border-radius:1rem;-webkit-box-shadow:0 .5rem .5rem .5rem var(--color-primary-shadow);box-shadow:0 .5rem .5rem .5rem var(--color-primary-shadow);display:none;-ms-flex-direction:column;flex-direction:column;gap:.5rem;opacity:0;padding:1rem;position:absolute;-webkit-transition:opacity .5s ease-in-out;transition:opacity .5s ease-in-out;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;z-index:100}.h-card .hovercard .u-photo{max-width:6rem}.h-card .hovercard .social-icon{height:1rem;width:1rem}.h-card:hover .hovercard{display:-webkit-box;display:-ms-flexbox;display:flex;opacity:1}.h-entry{-webkit-border-start:1px solid var(--color-primary);-webkit-padding-start:.5rem;border-inline-start:1px solid var(--color-primary);padding-inline-start:.5rem}.h-entry .reply-to{font-style:italic}.h-entry .post-info a{text-decoration:none}.h-entry .note-metadata{-webkit-box-orient:horizontal;-webkit-box-direction:normal;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;gap:1rem}.h-entry .note-metadata .syndication-links{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap}.h-entry .note-metadata .syndication-links a{text-decoration:none}.h-entry .note-metadata .syndication-links a svg{height:1rem;width:1rem}\", \"\",{\"version\":3,\"sources\":[\"webpack://./resources/css/variables.css\",\"webpack://./resources/css/fonts.css\",\"webpack://./resources/css/colours.css\",\"webpack://./resources/css/layout.css\",\"webpack://./resources/css/code.css\",\"webpack://./resources/css/posse.css\",\"webpack://./resources/css/h-card.css\",\"webpack://./resources/css/content.css\"],\"names\":[],\"mappings\":\"AAAA,MAEI,0DAA6D,CAC7D,mDAAsD,CACtD,6EAAgF,CAGhF,sBAAuB,CACvB,qBAAsB,CACtB,sBAAuB,CACvB,qBAAsB,CACtB,sBAAuB,CACvB,oBAAqB,CACrB,wBAAyB,CAGzB,uBAAyC,CACzC,yBAA2C,CAC3C,oBAAwC,CACxC,4BAA+C,CAC/C,uCACJ,CArBA,0CAAA,MAgBI,yDAAyC,CACzC,2DAA2C,CAC3C,sDAAwC,CACxC,8DAA+C,CAC/C,oEACJ,CAAA,CArBA,gCAAA,MAgBI,wCAAyC,CACzC,0CAA2C,CAC3C,uCAAwC,CACxC,8CAA+C,CAC/C,sDACJ,CAAA,CCrBA,KCCI,uCAAwC,CACxC,0BAA2B,CDD3B,mCAAoC,CACpC,6BACJ,CAEA,KACI,wCACJ,CAEA,kBAMI,uCACJ,CEhBA,MACI,YAAa,CACb,iCAAkC,CAClC,8DAA+C,CAA/C,8CAA+C,CAC/C,YACJ,CAEA,aACI,eAAkB,CAClB,YACJ,CAEA,KAEI,YACJ,CAEA,YAJI,eAWJ,CAPA,OAEI,YAKJ,CAHI,iBACI,cACJ,CDlBJ,EACI,uBAKJ,CAHI,UACI,+BACJ,CAIA,uBACI,uBACJ,CEhBJ,MACI,mBACJ,CCFA,0BACI,YACJ,CCDI,mBAWI,2BAAsB,CAAtB,4BAAsB,CAJtB,uCAAwC,CAFxC,kBAAmB,CACnB,kEAA2D,CAA3D,0DAA2D,CAL3D,YAAa,CAUb,yBAAsB,CAAtB,qBAAsB,CACtB,SAAU,CAFV,SAAU,CANV,YAAa,CAFb,iBAAkB,CAOlB,0CAAoC,CAApC,kCAAoC,CADpC,yBAAkB,CAAlB,sBAAkB,CAAlB,iBAAkB,CALlB,WAmBJ,CARI,4BACI,cACJ,CAEA,gCAEI,WAAY,CADZ,UAEJ,CAIA,yBACI,mBAAa,CAAb,mBAAa,CAAb,YAAa,CACb,SACJ,CC1BR,SACI,mDAAmD,CACnD,2BAA2B,CAD3B,kDAAmD,CACnD,0BA8BJ,CA5BI,mBACI,iBACJ,CAGI,sBACI,oBACJ,CAGJ,wBAEI,6BAAmB,CAAnB,4BAAmB,CADnB,mBAAa,CAAb,mBAAa,CAAb,YAAa,CACb,sBAAmB,CAAnB,kBAAmB,CACnB,QAcJ,CAZI,2CACI,6BAAmB,CAAnB,4BAAmB,CAAnB,sBAAmB,CAAnB,kBAUJ,CARI,6CACI,oBAMJ,CAJI,iDAEI,WAAY,CADZ,UAEJ\",\"sourcesContent\":[\":root {\\n /* Font Family */\\n --font-family-headings: \\\"Archer SSm A\\\", \\\"Archer SSm B\\\", serif;\\n --font-family-body: \\\"Verlag A\\\", \\\"Verlag B\\\", sans-serif;\\n --font-family-monospace: \\\"Operator Mono SSm A\\\", \\\"Operator Mono SSm B\\\", monospace;\\n\\n /* Font Size */\\n --font-size-sm: 0.75rem; /* 12px */\\n --font-size-base: 1rem; /* 16px, base */\\n --font-size-md: 1.25rem; /* 20px */\\n --font-size-lg: 1.5rem; /* 24px */\\n --font-size-xl: 1.75rem; /* 28px */\\n --font-size-xxl: 2rem; /* 32px */\\n --font-size-xxxl: 2.25rem; /* 36px */\\n\\n /* Colours */\\n --color-primary: oklch(36.8% 0.1 125.505);\\n --color-secondary: oklch(96.3% 0.1 125.505);\\n --color-link: oklch(48.09% 0.146 241.41);\\n --color-link-visited: oklch(70.44% 0.21 304.41);\\n --color-primary-shadow: oklch(19.56% 0.054 125.505 / 40%);\\n}\\n\",\"body {\\n font-family: var(--font-family-body);\\n font-size: var(--font-size-md);\\n}\\n\\ncode {\\n font-family: var(--font-family-monospace);\\n}\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-family: var(--font-family-headings);\\n}\\n\",\"body {\\n background-color: var(--color-secondary);\\n color: var(--color-primary);\\n}\\n\\na {\\n color: var(--color-link);\\n\\n &:visited {\\n color: var(--color-link-visited);\\n }\\n}\\n\\n#site-header {\\n & a:visited {\\n color: var(--color-link);\\n }\\n}\\n\",\".grid {\\n display: grid;\\n grid-template-columns: 5vw 1fr 5vw;\\n grid-template-rows: min-content 1fr min-content;\\n row-gap: 1rem;\\n}\\n\\n#site-header {\\n grid-column: 2 / 3;\\n grid-row: 1 / 2;\\n}\\n\\nmain {\\n grid-column: 2 / 3;\\n grid-row: 2 / 3;\\n}\\n\\nfooter {\\n grid-column: 2 / 3;\\n grid-row: 3 / 4;\\n\\n & .iwc-logo {\\n max-width: 85vw;\\n }\\n}\\n\",\".hljs {\\n border-radius: .5rem;\\n}\\n\",\".p-bridgy-twitter-content {\\n display: none;\\n}\\n\",\".h-card {\\n & .hovercard {\\n display: none;\\n position: absolute;\\n z-index: 100;\\n padding: 1rem;\\n border-radius: 1rem;\\n box-shadow: 0 .5rem .5rem .5rem var(--color-primary-shadow);\\n background-color: var(--color-secondary);\\n width: fit-content;\\n transition: opacity 0.5s ease-in-out;\\n opacity: 0;\\n flex-direction: column;\\n gap: .5rem;\\n\\n & .u-photo {\\n max-width: 6rem;\\n }\\n\\n & .social-icon {\\n width: 1rem;\\n height: 1rem;\\n }\\n }\\n\\n &:hover {\\n & .hovercard {\\n display: flex;\\n opacity: 1;\\n }\\n }\\n}\\n\",\"@import \\\"posse.css\\\";\\n@import \\\"h-card.css\\\";\\n\\n.h-entry {\\n border-inline-start: 1px solid var(--color-primary);\\n padding-inline-start: .5rem;\\n\\n & .reply-to {\\n font-style: italic;\\n }\\n\\n & .post-info {\\n & a {\\n text-decoration: none;\\n }\\n }\\n\\n & .note-metadata {\\n display: flex;\\n flex-direction: row;\\n gap: 1rem;\\n\\n & .syndication-links {\\n flex-flow: row wrap;\\n\\n & a {\\n text-decoration: none;\\n\\n & svg {\\n width: 1rem;\\n height: 1rem;\\n }\\n }\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS51c2VbMV0hLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvZGlzdC9janMuanM/P3J1bGVTZXRbMV0ucnVsZXNbMV0udXNlWzJdIS4vcmVzb3VyY2VzL2Nzcy9hcHAuY3NzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDNkc7QUFDakI7QUFDNUYsOEJBQThCLG1GQUEyQixDQUFDLDRGQUFxQztBQUMvRjtBQUNBLGdEQUFnRCwrREFBK0Qsd0RBQXdELGtGQUFrRix1QkFBdUIsc0JBQXNCLHVCQUF1QixzQkFBc0IsdUJBQXVCLHFCQUFxQix5QkFBeUIsd0JBQXdCLDBCQUEwQixxQkFBcUIsNkJBQTZCLHdDQUF3QywwQ0FBMEMsTUFBTSwwREFBMEQsNERBQTRELHVEQUF1RCwrREFBK0Qsc0VBQXNFLGdDQUFnQyxNQUFNLHlDQUF5QywyQ0FBMkMsd0NBQXdDLCtDQUErQyx3REFBd0QsS0FBSyx3Q0FBd0MsMkJBQTJCLG9DQUFvQyw4QkFBOEIsS0FBSyx5Q0FBeUMsa0JBQWtCLHdDQUF3QyxNQUFNLGFBQWEsa0NBQWtDLCtEQUErRCwrQ0FBK0MsYUFBYSxhQUFhLGdCQUFnQixhQUFhLEtBQUssYUFBYSxZQUFZLGdCQUFnQixPQUFPLGFBQWEsaUJBQWlCLGVBQWUsRUFBRSx3QkFBd0IsVUFBVSxnQ0FBZ0MsdUJBQXVCLHdCQUF3QixNQUFNLG9CQUFvQiwwQkFBMEIsYUFBYSxtQkFBbUIsNEJBQTRCLDZCQUE2Qix3Q0FBd0MsbUJBQW1CLG1FQUFtRSwyREFBMkQsYUFBYSwwQkFBMEIsc0JBQXNCLFVBQVUsVUFBVSxhQUFhLGtCQUFrQiwyQ0FBMkMsbUNBQW1DLDBCQUEwQix1QkFBdUIsa0JBQWtCLFlBQVksNEJBQTRCLGVBQWUsZ0NBQWdDLFlBQVksV0FBVyx5QkFBeUIsb0JBQW9CLG9CQUFvQixhQUFhLFVBQVUsU0FBUyxvREFBb0QsNEJBQTRCLG1EQUFtRCwyQkFBMkIsbUJBQW1CLGtCQUFrQixzQkFBc0IscUJBQXFCLHdCQUF3Qiw4QkFBOEIsNkJBQTZCLG9CQUFvQixvQkFBb0IsYUFBYSx1QkFBdUIsbUJBQW1CLFNBQVMsMkNBQTJDLDhCQUE4Qiw2QkFBNkIsdUJBQXVCLG1CQUFtQiw2Q0FBNkMscUJBQXFCLGlEQUFpRCxZQUFZLFdBQVcsT0FBTyw0cERBQTRwRCwrRkFBK0YsaUVBQWlFLDJGQUEyRix3REFBd0QsMkNBQTJDLGlEQUFpRCwyQ0FBMkMsMkNBQTJDLDJDQUEyQywyQ0FBMkMsK0VBQStFLGtEQUFrRCwrQ0FBK0Msc0RBQXNELGdFQUFnRSxHQUFHLFdBQVcsMkNBQTJDLHFDQUFxQyxHQUFHLFVBQVUsZ0RBQWdELEdBQUcsaUNBQWlDLCtDQUErQyxHQUFHLFdBQVcsK0NBQStDLGtDQUFrQyxHQUFHLE9BQU8sK0JBQStCLG1CQUFtQiwyQ0FBMkMsT0FBTyxHQUFHLGtCQUFrQixtQkFBbUIsbUNBQW1DLE9BQU8sR0FBRyxZQUFZLG9CQUFvQix5Q0FBeUMsc0RBQXNELG9CQUFvQixHQUFHLGtCQUFrQix5QkFBeUIsc0JBQXNCLEdBQUcsVUFBVSx5QkFBeUIsc0JBQXNCLEdBQUcsWUFBWSx5QkFBeUIsc0JBQXNCLHFCQUFxQiwwQkFBMEIsT0FBTyxHQUFHLFlBQVksMkJBQTJCLEdBQUcsZ0NBQWdDLG9CQUFvQixHQUFHLGNBQWMsb0JBQW9CLHdCQUF3Qiw2QkFBNkIsdUJBQXVCLHdCQUF3Qiw4QkFBOEIsc0VBQXNFLG1EQUFtRCw2QkFBNkIsK0NBQStDLHFCQUFxQixpQ0FBaUMscUJBQXFCLHdCQUF3Qiw4QkFBOEIsV0FBVyw0QkFBNEIsMEJBQTBCLDJCQUEyQixXQUFXLE9BQU8saUJBQWlCLHdCQUF3Qiw0QkFBNEIseUJBQXlCLFdBQVcsT0FBTyxHQUFHLDJCQUEyQix5QkFBeUIsY0FBYywwREFBMEQsa0NBQWtDLHFCQUFxQiw2QkFBNkIsT0FBTyxzQkFBc0IsZUFBZSxvQ0FBb0MsV0FBVyxPQUFPLDBCQUEwQix3QkFBd0IsOEJBQThCLG9CQUFvQixrQ0FBa0Msa0NBQWtDLHFCQUFxQix3Q0FBd0MsMkJBQTJCLGtDQUFrQyxtQ0FBbUMsbUJBQW1CLGVBQWUsV0FBVyxPQUFPLEdBQUcscUJBQXFCO0FBQ3RwUTtBQUNBLCtEQUFlLHVCQUF1QixFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vamJ1ay1mcm9udGVuZC8uL3Jlc291cmNlcy9jc3MvYXBwLmNzcz8wYmExIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEltcG9ydHNcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fIGZyb20gXCIuLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvc291cmNlTWFwcy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiOnJvb3R7LS1mb250LWZhbWlseS1oZWFkaW5nczpcXFwiQXJjaGVyIFNTbSBBXFxcIixcXFwiQXJjaGVyIFNTbSBCXFxcIixzZXJpZjstLWZvbnQtZmFtaWx5LWJvZHk6XFxcIlZlcmxhZyBBXFxcIixcXFwiVmVybGFnIEJcXFwiLHNhbnMtc2VyaWY7LS1mb250LWZhbWlseS1tb25vc3BhY2U6XFxcIk9wZXJhdG9yIE1vbm8gU1NtIEFcXFwiLFxcXCJPcGVyYXRvciBNb25vIFNTbSBCXFxcIixtb25vc3BhY2U7LS1mb250LXNpemUtc206MC43NXJlbTstLWZvbnQtc2l6ZS1iYXNlOjFyZW07LS1mb250LXNpemUtbWQ6MS4yNXJlbTstLWZvbnQtc2l6ZS1sZzoxLjVyZW07LS1mb250LXNpemUteGw6MS43NXJlbTstLWZvbnQtc2l6ZS14eGw6MnJlbTstLWZvbnQtc2l6ZS14eHhsOjIuMjVyZW07LS1jb2xvci1wcmltYXJ5OiMzMzQ3MDA7LS1jb2xvci1zZWNvbmRhcnk6I2UzZmZiNzstLWNvbG9yLWxpbms6IzAwNjQ5ZTstLWNvbG9yLWxpbmstdmlzaXRlZDojYmM3YWZmOy0tY29sb3ItcHJpbWFyeS1zaGFkb3c6cmdiYSgxNiwyNSwwLC40KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yKGRpc3BsYXktcDMgMCAwIDApKXs6cm9vdHstLWNvbG9yLXByaW1hcnk6Y29sb3IoZGlzcGxheS1wMyAwLjIxNTY3IDAuMjc4MzggMC4wMzYxNSk7LS1jb2xvci1zZWNvbmRhcnk6Y29sb3IoZGlzcGxheS1wMyAwLjkxMDE2IDAuOTk4NDIgMC43NDA4Mik7LS1jb2xvci1saW5rOmNvbG9yKGRpc3BsYXktcDMgMC4wMTA0NSAwLjM4MzUxIDAuNjM2MTgpOy0tY29sb3ItbGluay12aXNpdGVkOmNvbG9yKGRpc3BsYXktcDMgMC43MDQ2NyAwLjQ3NTQ5IDAuOTk5NTgpOy0tY29sb3ItcHJpbWFyeS1zaGFkb3c6Y29sb3IoZGlzcGxheS1wMyAwLjA2NzYyIDAuMDk2NDYgMC4wMDQ0MS8wLjQpfX1Ac3VwcG9ydHMgKGNvbG9yOm9rbGNoKDAlIDAgMCkpezpyb290ey0tY29sb3ItcHJpbWFyeTpva2xjaCgzNi44JSAwLjEgMTI1LjUwNSk7LS1jb2xvci1zZWNvbmRhcnk6b2tsY2goOTYuMyUgMC4xIDEyNS41MDUpOy0tY29sb3ItbGluazpva2xjaCg0OC4wOSUgMC4xNDYgMjQxLjQxKTstLWNvbG9yLWxpbmstdmlzaXRlZDpva2xjaCg3MC40NCUgMC4yMSAzMDQuNDEpOy0tY29sb3ItcHJpbWFyeS1zaGFkb3c6b2tsY2goMTkuNTYlIDAuMDU0IDEyNS41MDUvNDAlKX19Ym9keXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXNlY29uZGFyeSk7Y29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeSk7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1mYW1pbHktYm9keSk7Zm9udC1zaXplOnZhcigtLWZvbnQtc2l6ZS1tZCl9Y29kZXtmb250LWZhbWlseTp2YXIoLS1mb250LWZhbWlseS1tb25vc3BhY2UpfWgxLGgyLGgzLGg0LGg1LGg2e2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtZmFtaWx5LWhlYWRpbmdzKX0uZ3JpZHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjV2dyAxZnIgNXZ3O2dyaWQtdGVtcGxhdGUtcm93czotd2Via2l0LW1pbi1jb250ZW50IDFmciAtd2Via2l0LW1pbi1jb250ZW50O2dyaWQtdGVtcGxhdGUtcm93czptaW4tY29udGVudCAxZnIgbWluLWNvbnRlbnQ7cm93LWdhcDoxcmVtfSNzaXRlLWhlYWRlcntncmlkLWNvbHVtbjoyLzM7Z3JpZC1yb3c6MS8yfW1haW57Z3JpZC1yb3c6Mi8zfWZvb3RlcixtYWlue2dyaWQtY29sdW1uOjIvM31mb290ZXJ7Z3JpZC1yb3c6My80fWZvb3RlciAuaXdjLWxvZ297bWF4LXdpZHRoOjg1dnd9YXtjb2xvcjp2YXIoLS1jb2xvci1saW5rKX1hOnZpc2l0ZWR7Y29sb3I6dmFyKC0tY29sb3ItbGluay12aXNpdGVkKX0jc2l0ZS1oZWFkZXIgYTp2aXNpdGVke2NvbG9yOnZhcigtLWNvbG9yLWxpbmspfS5obGpze2JvcmRlci1yYWRpdXM6LjVyZW19LnAtYnJpZGd5LXR3aXR0ZXItY29udGVudHtkaXNwbGF5Om5vbmV9LmgtY2FyZCAuaG92ZXJjYXJkey13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtib3JkZXItcmFkaXVzOjFyZW07LXdlYmtpdC1ib3gtc2hhZG93OjAgLjVyZW0gLjVyZW0gLjVyZW0gdmFyKC0tY29sb3ItcHJpbWFyeS1zaGFkb3cpO2JveC1zaGFkb3c6MCAuNXJlbSAuNXJlbSAuNXJlbSB2YXIoLS1jb2xvci1wcmltYXJ5LXNoYWRvdyk7ZGlzcGxheTpub25lOy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDouNXJlbTtvcGFjaXR5OjA7cGFkZGluZzoxcmVtO3Bvc2l0aW9uOmFic29sdXRlOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC41cyBlYXNlLWluLW91dDt0cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGVhc2UtaW4tb3V0O3dpZHRoOi13ZWJraXQtZml0LWNvbnRlbnQ7d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudDt6LWluZGV4OjEwMH0uaC1jYXJkIC5ob3ZlcmNhcmQgLnUtcGhvdG97bWF4LXdpZHRoOjZyZW19LmgtY2FyZCAuaG92ZXJjYXJkIC5zb2NpYWwtaWNvbntoZWlnaHQ6MXJlbTt3aWR0aDoxcmVtfS5oLWNhcmQ6aG92ZXIgLmhvdmVyY2FyZHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O29wYWNpdHk6MX0uaC1lbnRyeXstd2Via2l0LWJvcmRlci1zdGFydDoxcHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7LXdlYmtpdC1wYWRkaW5nLXN0YXJ0Oi41cmVtO2JvcmRlci1pbmxpbmUtc3RhcnQ6MXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO3BhZGRpbmctaW5saW5lLXN0YXJ0Oi41cmVtfS5oLWVudHJ5IC5yZXBseS10b3tmb250LXN0eWxlOml0YWxpY30uaC1lbnRyeSAucG9zdC1pbmZvIGF7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmgtZW50cnkgLm5vdGUtbWV0YWRhdGF7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy1tcy1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93O2dhcDoxcmVtfS5oLWVudHJ5IC5ub3RlLW1ldGFkYXRhIC5zeW5kaWNhdGlvbi1saW5rc3std2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWZsb3c6cm93IHdyYXA7ZmxleC1mbG93OnJvdyB3cmFwfS5oLWVudHJ5IC5ub3RlLW1ldGFkYXRhIC5zeW5kaWNhdGlvbi1saW5rcyBhe3RleHQtZGVjb3JhdGlvbjpub25lfS5oLWVudHJ5IC5ub3RlLW1ldGFkYXRhIC5zeW5kaWNhdGlvbi1saW5rcyBhIHN2Z3toZWlnaHQ6MXJlbTt3aWR0aDoxcmVtfVwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly8uL3Jlc291cmNlcy9jc3MvdmFyaWFibGVzLmNzc1wiLFwid2VicGFjazovLy4vcmVzb3VyY2VzL2Nzcy9mb250cy5jc3NcIixcIndlYnBhY2s6Ly8uL3Jlc291cmNlcy9jc3MvY29sb3Vycy5jc3NcIixcIndlYnBhY2s6Ly8uL3Jlc291cmNlcy9jc3MvbGF5b3V0LmNzc1wiLFwid2VicGFjazovLy4vcmVzb3VyY2VzL2Nzcy9jb2RlLmNzc1wiLFwid2VicGFjazovLy4vcmVzb3VyY2VzL2Nzcy9wb3NzZS5jc3NcIixcIndlYnBhY2s6Ly8uL3Jlc291cmNlcy9jc3MvaC1jYXJkLmNzc1wiLFwid2VicGFjazovLy4vcmVzb3VyY2VzL2Nzcy9jb250ZW50LmNzc1wiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFBQSxNQUVJLDBEQUE2RCxDQUM3RCxtREFBc0QsQ0FDdEQsNkVBQWdGLENBR2hGLHNCQUF1QixDQUN2QixxQkFBc0IsQ0FDdEIsc0JBQXVCLENBQ3ZCLHFCQUFzQixDQUN0QixzQkFBdUIsQ0FDdkIsb0JBQXFCLENBQ3JCLHdCQUF5QixDQUd6Qix1QkFBeUMsQ0FDekMseUJBQTJDLENBQzNDLG9CQUF3QyxDQUN4Qyw0QkFBK0MsQ0FDL0MsdUNBQ0osQ0FyQkEsMENBQUEsTUFnQkkseURBQXlDLENBQ3pDLDJEQUEyQyxDQUMzQyxzREFBd0MsQ0FDeEMsOERBQStDLENBQy9DLG9FQUNKLENBQUEsQ0FyQkEsZ0NBQUEsTUFnQkksd0NBQXlDLENBQ3pDLDBDQUEyQyxDQUMzQyx1Q0FBd0MsQ0FDeEMsOENBQStDLENBQy9DLHNEQUNKLENBQUEsQ0NyQkEsS0NDSSx1Q0FBd0MsQ0FDeEMsMEJBQTJCLENERDNCLG1DQUFvQyxDQUNwQyw2QkFDSixDQUVBLEtBQ0ksd0NBQ0osQ0FFQSxrQkFNSSx1Q0FDSixDRWhCQSxNQUNJLFlBQWEsQ0FDYixpQ0FBa0MsQ0FDbEMsOERBQStDLENBQS9DLDhDQUErQyxDQUMvQyxZQUNKLENBRUEsYUFDSSxlQUFrQixDQUNsQixZQUNKLENBRUEsS0FFSSxZQUNKLENBRUEsWUFKSSxlQVdKLENBUEEsT0FFSSxZQUtKLENBSEksaUJBQ0ksY0FDSixDRGxCSixFQUNJLHVCQUtKLENBSEksVUFDSSwrQkFDSixDQUlBLHVCQUNJLHVCQUNKLENFaEJKLE1BQ0ksbUJBQ0osQ0NGQSwwQkFDSSxZQUNKLENDREksbUJBV0ksMkJBQXNCLENBQXRCLDRCQUFzQixDQUp0Qix1Q0FBd0MsQ0FGeEMsa0JBQW1CLENBQ25CLGtFQUEyRCxDQUEzRCwwREFBMkQsQ0FMM0QsWUFBYSxDQVViLHlCQUFzQixDQUF0QixxQkFBc0IsQ0FDdEIsU0FBVSxDQUZWLFNBQVUsQ0FOVixZQUFhLENBRmIsaUJBQWtCLENBT2xCLDBDQUFvQyxDQUFwQyxrQ0FBb0MsQ0FEcEMseUJBQWtCLENBQWxCLHNCQUFrQixDQUFsQixpQkFBa0IsQ0FMbEIsV0FtQkosQ0FSSSw0QkFDSSxjQUNKLENBRUEsZ0NBRUksV0FBWSxDQURaLFVBRUosQ0FJQSx5QkFDSSxtQkFBYSxDQUFiLG1CQUFhLENBQWIsWUFBYSxDQUNiLFNBQ0osQ0MxQlIsU0FDSSxtREFBbUQsQ0FDbkQsMkJBQTJCLENBRDNCLGtEQUFtRCxDQUNuRCwwQkE4QkosQ0E1QkksbUJBQ0ksaUJBQ0osQ0FHSSxzQkFDSSxvQkFDSixDQUdKLHdCQUVJLDZCQUFtQixDQUFuQiw0QkFBbUIsQ0FEbkIsbUJBQWEsQ0FBYixtQkFBYSxDQUFiLFlBQWEsQ0FDYixzQkFBbUIsQ0FBbkIsa0JBQW1CLENBQ25CLFFBY0osQ0FaSSwyQ0FDSSw2QkFBbUIsQ0FBbkIsNEJBQW1CLENBQW5CLHNCQUFtQixDQUFuQixrQkFVSixDQVJJLDZDQUNJLG9CQU1KLENBSkksaURBRUksV0FBWSxDQURaLFVBRUpcIixcInNvdXJjZXNDb250ZW50XCI6W1wiOnJvb3Qge1xcbiAgICAvKiBGb250IEZhbWlseSAqL1xcbiAgICAtLWZvbnQtZmFtaWx5LWhlYWRpbmdzOiBcXFwiQXJjaGVyIFNTbSBBXFxcIiwgXFxcIkFyY2hlciBTU20gQlxcXCIsIHNlcmlmO1xcbiAgICAtLWZvbnQtZmFtaWx5LWJvZHk6IFxcXCJWZXJsYWcgQVxcXCIsIFxcXCJWZXJsYWcgQlxcXCIsIHNhbnMtc2VyaWY7XFxuICAgIC0tZm9udC1mYW1pbHktbW9ub3NwYWNlOiBcXFwiT3BlcmF0b3IgTW9ubyBTU20gQVxcXCIsIFxcXCJPcGVyYXRvciBNb25vIFNTbSBCXFxcIiwgbW9ub3NwYWNlO1xcblxcbiAgICAvKiBGb250IFNpemUgKi9cXG4gICAgLS1mb250LXNpemUtc206IDAuNzVyZW07ICAgLyogMTJweCAqL1xcbiAgICAtLWZvbnQtc2l6ZS1iYXNlOiAxcmVtOyAgICAvKiAxNnB4LCBiYXNlICovXFxuICAgIC0tZm9udC1zaXplLW1kOiAxLjI1cmVtOyAgIC8qIDIwcHggKi9cXG4gICAgLS1mb250LXNpemUtbGc6IDEuNXJlbTsgICAgLyogMjRweCAqL1xcbiAgICAtLWZvbnQtc2l6ZS14bDogMS43NXJlbTsgICAvKiAyOHB4ICovXFxuICAgIC0tZm9udC1zaXplLXh4bDogMnJlbTsgICAgIC8qIDMycHggKi9cXG4gICAgLS1mb250LXNpemUteHh4bDogMi4yNXJlbTsgLyogMzZweCAqL1xcblxcbiAgICAvKiBDb2xvdXJzICovXFxuICAgIC0tY29sb3ItcHJpbWFyeTogb2tsY2goMzYuOCUgMC4xIDEyNS41MDUpO1xcbiAgICAtLWNvbG9yLXNlY29uZGFyeTogb2tsY2goOTYuMyUgMC4xIDEyNS41MDUpO1xcbiAgICAtLWNvbG9yLWxpbms6IG9rbGNoKDQ4LjA5JSAwLjE0NiAyNDEuNDEpO1xcbiAgICAtLWNvbG9yLWxpbmstdmlzaXRlZDogb2tsY2goNzAuNDQlIDAuMjEgMzA0LjQxKTtcXG4gICAgLS1jb2xvci1wcmltYXJ5LXNoYWRvdzogb2tsY2goMTkuNTYlIDAuMDU0IDEyNS41MDUgLyA0MCUpO1xcbn1cXG5cIixcImJvZHkge1xcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktYm9keSk7XFxuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1kKTtcXG59XFxuXFxuY29kZSB7XFxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1tb25vc3BhY2UpO1xcbn1cXG5cXG5oMSxcXG5oMixcXG5oMyxcXG5oNCxcXG5oNSxcXG5oNiB7XFxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1oZWFkaW5ncyk7XFxufVxcblwiLFwiYm9keSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XFxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcXG59XFxuXFxuYSB7XFxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcXG5cXG4gICAgJjp2aXNpdGVkIHtcXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLXZpc2l0ZWQpO1xcbiAgICB9XFxufVxcblxcbiNzaXRlLWhlYWRlciB7XFxuICAgICYgYTp2aXNpdGVkIHtcXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcXG4gICAgfVxcbn1cXG5cIixcIi5ncmlkIHtcXG4gICAgZGlzcGxheTogZ3JpZDtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1dncgMWZyIDV2dztcXG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBtaW4tY29udGVudCAxZnIgbWluLWNvbnRlbnQ7XFxuICAgIHJvdy1nYXA6IDFyZW07XFxufVxcblxcbiNzaXRlLWhlYWRlciB7XFxuICAgIGdyaWQtY29sdW1uOiAyIC8gMztcXG4gICAgZ3JpZC1yb3c6IDEgLyAyO1xcbn1cXG5cXG5tYWluIHtcXG4gICAgZ3JpZC1jb2x1bW46IDIgLyAzO1xcbiAgICBncmlkLXJvdzogMiAvIDM7XFxufVxcblxcbmZvb3RlciB7XFxuICAgIGdyaWQtY29sdW1uOiAyIC8gMztcXG4gICAgZ3JpZC1yb3c6IDMgLyA0O1xcblxcbiAgICAmIC5pd2MtbG9nbyB7XFxuICAgICAgICBtYXgtd2lkdGg6IDg1dnc7XFxuICAgIH1cXG59XFxuXCIsXCIuaGxqcyB7XFxuICAgIGJvcmRlci1yYWRpdXM6IC41cmVtO1xcbn1cXG5cIixcIi5wLWJyaWRneS10d2l0dGVyLWNvbnRlbnQge1xcbiAgICBkaXNwbGF5OiBub25lO1xcbn1cXG5cIixcIi5oLWNhcmQge1xcbiAgICAmIC5ob3ZlcmNhcmQge1xcbiAgICAgICAgZGlzcGxheTogbm9uZTtcXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgICAgIHotaW5kZXg6IDEwMDtcXG4gICAgICAgIHBhZGRpbmc6IDFyZW07XFxuICAgICAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xcbiAgICAgICAgYm94LXNoYWRvdzogMCAuNXJlbSAuNXJlbSAuNXJlbSB2YXIoLS1jb2xvci1wcmltYXJ5LXNoYWRvdyk7XFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UtaW4tb3V0O1xcbiAgICAgICAgb3BhY2l0eTogMDtcXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgICAgICBnYXA6IC41cmVtO1xcblxcbiAgICAgICAgJiAudS1waG90byB7XFxuICAgICAgICAgICAgbWF4LXdpZHRoOiA2cmVtO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgJiAuc29jaWFsLWljb24ge1xcbiAgICAgICAgICAgIHdpZHRoOiAxcmVtO1xcbiAgICAgICAgICAgIGhlaWdodDogMXJlbTtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICAmOmhvdmVyIHtcXG4gICAgICAgICYgLmhvdmVyY2FyZCB7XFxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblwiLFwiQGltcG9ydCBcXFwicG9zc2UuY3NzXFxcIjtcXG5AaW1wb3J0IFxcXCJoLWNhcmQuY3NzXFxcIjtcXG5cXG4uaC1lbnRyeSB7XFxuICAgIGJvcmRlci1pbmxpbmUtc3RhcnQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcXG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IC41cmVtO1xcblxcbiAgICAmIC5yZXBseS10byB7XFxuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XFxuICAgIH1cXG5cXG4gICAgJiAucG9zdC1pbmZvIHtcXG4gICAgICAgICYgYSB7XFxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuICAgICYgLm5vdGUtbWV0YWRhdGEge1xcbiAgICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XFxuICAgICAgICBnYXA6IDFyZW07XFxuXFxuICAgICAgICAmIC5zeW5kaWNhdGlvbi1saW5rcyB7XFxuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcXG5cXG4gICAgICAgICAgICAmIGEge1xcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxuXFxuICAgICAgICAgICAgICAgICYgc3ZnIHtcXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxcmVtO1xcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxcmVtO1xcbiAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICB9XFxufVxcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./resources/css/app.css\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/sourceMaps.js */ \"./node_modules/css-loader/dist/runtime/sourceMaps.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":root{--font-family-headings:\\\"Archer SSm A\\\",\\\"Archer SSm B\\\",serif;--font-family-body:\\\"Verlag A\\\",\\\"Verlag B\\\",sans-serif;--font-family-monospace:\\\"Operator Mono SSm A\\\",\\\"Operator Mono SSm B\\\",monospace;--font-size-sm:0.75rem;--font-size-base:1rem;--font-size-md:1.25rem;--font-size-lg:1.5rem;--font-size-xl:1.75rem;--font-size-xxl:2rem;--font-size-xxxl:2.25rem;--color-primary:#334700;--color-secondary:#e3ffb7;--color-link:#00649e;--color-link-visited:#bc7aff;--color-primary-shadow:rgba(16,25,0,.4)}@supports (color:color(display-p3 0 0 0)){:root{--color-primary:color(display-p3 0.21567 0.27838 0.03615);--color-secondary:color(display-p3 0.91016 0.99842 0.74082);--color-link:color(display-p3 0.01045 0.38351 0.63618);--color-link-visited:color(display-p3 0.70467 0.47549 0.99958);--color-primary-shadow:color(display-p3 0.06762 0.09646 0.00441/0.4)}}@supports (color:oklch(0% 0 0)){:root{--color-primary:oklch(36.8% 0.1 125.505deg);--color-secondary:oklch(96.3% 0.1 125.505deg);--color-link:oklch(48.09% 0.146 241.41deg);--color-link-visited:oklch(70.44% 0.21 304.41deg);--color-primary-shadow:oklch(19.56% 0.054 125.505deg/40%)}}body{background-color:var(--color-secondary);color:var(--color-primary);font-family:var(--font-family-body);font-size:var(--font-size-md)}code{font-family:var(--font-family-monospace)}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-headings)}.grid{display:grid;grid-template-columns:5vw 1fr 5vw;grid-template-rows:-webkit-min-content 1fr -webkit-min-content;grid-template-rows:min-content 1fr min-content;row-gap:1rem}#site-header{grid-column:2/3;grid-row:1/2}main{grid-row:2/3}footer,main{grid-column:2/3}footer{grid-row:3/4}footer .iwc-logo{max-width:85vw}a{color:var(--color-link)}a:visited{color:var(--color-link-visited)}#site-header a:visited{color:var(--color-link)}.hljs{border-radius:.5rem}.h-card .hovercard{-webkit-box-orient:vertical;-webkit-box-direction:normal;background-color:var(--color-secondary);border-radius:1rem;-webkit-box-shadow:0 .5rem .5rem .5rem var(--color-primary-shadow);box-shadow:0 .5rem .5rem .5rem var(--color-primary-shadow);display:none;-ms-flex-direction:column;flex-direction:column;gap:.5rem;opacity:0;padding:1rem;position:absolute;-webkit-transition:opacity .5s ease-in-out;transition:opacity .5s ease-in-out;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;z-index:100}.h-card .hovercard .u-photo{max-width:6rem}.h-card .hovercard .social-icon{height:1rem;width:1rem}.h-card:hover .hovercard{display:-webkit-box;display:-ms-flexbox;display:flex;opacity:1}.h-entry{-webkit-border-start:1px solid var(--color-primary);-webkit-padding-start:.5rem;border-inline-start:1px solid var(--color-primary);padding-inline-start:.5rem}.h-entry .reply-to{font-style:italic}.h-entry .post-info a{text-decoration:none}.h-entry .note-metadata{-webkit-box-orient:horizontal;-webkit-box-direction:normal;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;gap:1rem}.h-entry .note-metadata .syndication-links{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap}.h-entry .note-metadata .syndication-links a{text-decoration:none}.h-entry .note-metadata .syndication-links a svg{height:1rem;width:1rem}\", \"\",{\"version\":3,\"sources\":[\"webpack://./resources/css/variables.css\",\"webpack://./resources/css/fonts.css\",\"webpack://./resources/css/colours.css\",\"webpack://./resources/css/layout.css\",\"webpack://./resources/css/code.css\",\"webpack://./resources/css/h-card.css\",\"webpack://./resources/css/content.css\"],\"names\":[],\"mappings\":\"AAAA,MAEE,0DAA6D,CAC7D,mDAAsD,CACtD,6EAAgF,CAGhF,sBAAuB,CACvB,qBAAsB,CACtB,sBAAuB,CACvB,qBAAsB,CACtB,sBAAuB,CACvB,oBAAqB,CACrB,wBAAyB,CAGzB,uBAA4C,CAC5C,yBAA8C,CAC9C,oBAA2C,CAC3C,4BAAkD,CAClD,uCACF,CArBA,0CAAA,MAgBE,yDAA4C,CAC5C,2DAA8C,CAC9C,sDAA2C,CAC3C,8DAAkD,CAClD,oEACF,CAAA,CArBA,gCAAA,MAgBE,2CAA4C,CAC5C,6CAA8C,CAC9C,0CAA2C,CAC3C,iDAAkD,CAClD,yDACF,CAAA,CCrBA,KCCE,uCAAwC,CACxC,0BAA2B,CDD3B,mCAAoC,CACpC,6BACF,CAEA,KACE,wCACF,CAEA,kBAME,uCACF,CEhBA,MACE,YAAa,CACb,iCAAkC,CAClC,8DAA+C,CAA/C,8CAA+C,CAC/C,YACF,CAEA,aACE,eAAkB,CAClB,YACF,CAEA,KAEE,YACF,CAEA,YAJE,eAWF,CAPA,OAEE,YAKF,CAHE,iBACE,cACF,CDlBF,EACE,uBAKF,CAHE,UACE,+BACF,CAIA,uBACE,uBACF,CEhBF,MACE,mBACF,CCDE,mBAWE,2BAAsB,CAAtB,4BAAsB,CAJtB,uCAAwC,CAFxC,kBAAmB,CACnB,kEAA2D,CAA3D,0DAA2D,CAL3D,YAAa,CAUb,yBAAsB,CAAtB,qBAAsB,CACtB,SAAU,CAFV,SAAU,CANV,YAAa,CAFb,iBAAkB,CAOlB,0CAAoC,CAApC,kCAAoC,CADpC,yBAAkB,CAAlB,sBAAkB,CAAlB,iBAAkB,CALlB,WAmBF,CARE,4BACE,cACF,CAEA,gCAEE,WAAY,CADZ,UAEF,CAIA,yBACE,mBAAa,CAAb,mBAAa,CAAb,YAAa,CACb,SACF,CC3BJ,SACE,mDAAmD,CACnD,2BAA2B,CAD3B,kDAAmD,CACnD,0BA8BF,CA5BE,mBACE,iBACF,CAGE,sBACE,oBACF,CAGF,wBAEE,6BAAmB,CAAnB,4BAAmB,CADnB,mBAAa,CAAb,mBAAa,CAAb,YAAa,CACb,sBAAmB,CAAnB,kBAAmB,CACnB,QAcF,CAZE,2CACE,6BAAmB,CAAnB,4BAAmB,CAAnB,sBAAmB,CAAnB,kBAUF,CARE,6CACE,oBAMF,CAJE,iDAEE,WAAY,CADZ,UAEF\",\"sourcesContent\":[\":root {\\n /* Font Family */\\n --font-family-headings: \\\"Archer SSm A\\\", \\\"Archer SSm B\\\", serif;\\n --font-family-body: \\\"Verlag A\\\", \\\"Verlag B\\\", sans-serif;\\n --font-family-monospace: \\\"Operator Mono SSm A\\\", \\\"Operator Mono SSm B\\\", monospace;\\n\\n /* Font Size */\\n --font-size-sm: 0.75rem; /* 12px */\\n --font-size-base: 1rem; /* 16px, base */\\n --font-size-md: 1.25rem; /* 20px */\\n --font-size-lg: 1.5rem; /* 24px */\\n --font-size-xl: 1.75rem; /* 28px */\\n --font-size-xxl: 2rem; /* 32px */\\n --font-size-xxxl: 2.25rem; /* 36px */\\n\\n /* Colours */\\n --color-primary: oklch(36.8% 0.1 125.505deg);\\n --color-secondary: oklch(96.3% 0.1 125.505deg);\\n --color-link: oklch(48.09% 0.146 241.41deg);\\n --color-link-visited: oklch(70.44% 0.21 304.41deg);\\n --color-primary-shadow: oklch(19.56% 0.054 125.505deg / 40%);\\n}\\n\",\"body {\\n font-family: var(--font-family-body);\\n font-size: var(--font-size-md);\\n}\\n\\ncode {\\n font-family: var(--font-family-monospace);\\n}\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-family: var(--font-family-headings);\\n}\\n\",\"body {\\n background-color: var(--color-secondary);\\n color: var(--color-primary);\\n}\\n\\na {\\n color: var(--color-link);\\n\\n &:visited {\\n color: var(--color-link-visited);\\n }\\n}\\n\\n#site-header {\\n & a:visited {\\n color: var(--color-link);\\n }\\n}\\n\",\".grid {\\n display: grid;\\n grid-template-columns: 5vw 1fr 5vw;\\n grid-template-rows: min-content 1fr min-content;\\n row-gap: 1rem;\\n}\\n\\n#site-header {\\n grid-column: 2 / 3;\\n grid-row: 1 / 2;\\n}\\n\\nmain {\\n grid-column: 2 / 3;\\n grid-row: 2 / 3;\\n}\\n\\nfooter {\\n grid-column: 2 / 3;\\n grid-row: 3 / 4;\\n\\n & .iwc-logo {\\n max-width: 85vw;\\n }\\n}\\n\",\".hljs {\\n border-radius: .5rem;\\n}\\n\",\".h-card {\\n & .hovercard {\\n display: none;\\n position: absolute;\\n z-index: 100;\\n padding: 1rem;\\n border-radius: 1rem;\\n box-shadow: 0 .5rem .5rem .5rem var(--color-primary-shadow);\\n background-color: var(--color-secondary);\\n width: fit-content;\\n transition: opacity 0.5s ease-in-out;\\n opacity: 0;\\n flex-direction: column;\\n gap: .5rem;\\n\\n & .u-photo {\\n max-width: 6rem;\\n }\\n\\n & .social-icon {\\n width: 1rem;\\n height: 1rem;\\n }\\n }\\n\\n &:hover {\\n & .hovercard {\\n display: flex;\\n opacity: 1;\\n }\\n }\\n}\\n\",\"@import url('h-card.css');\\n\\n.h-entry {\\n border-inline-start: 1px solid var(--color-primary);\\n padding-inline-start: .5rem;\\n\\n & .reply-to {\\n font-style: italic;\\n }\\n\\n & .post-info {\\n & a {\\n text-decoration: none;\\n }\\n }\\n\\n & .note-metadata {\\n display: flex;\\n flex-direction: row;\\n gap: 1rem;\\n\\n & .syndication-links {\\n flex-flow: row wrap;\\n\\n & a {\\n text-decoration: none;\\n\\n & svg {\\n width: 1rem;\\n height: 1rem;\\n }\\n }\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ __webpack_exports__[\"default\"] = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cnVsZVNldFsxXS5ydWxlc1sxXS51c2VbMV0hLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvZGlzdC9janMuanM/P3J1bGVTZXRbMV0ucnVsZXNbMV0udXNlWzJdIS4vcmVzb3VyY2VzL2Nzcy9hcHAuY3NzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDNkc7QUFDakI7QUFDNUYsOEJBQThCLG1GQUEyQixDQUFDLDRGQUFxQztBQUMvRjtBQUNBLGdEQUFnRCwrREFBK0Qsd0RBQXdELGtGQUFrRix1QkFBdUIsc0JBQXNCLHVCQUF1QixzQkFBc0IsdUJBQXVCLHFCQUFxQix5QkFBeUIsd0JBQXdCLDBCQUEwQixxQkFBcUIsNkJBQTZCLHdDQUF3QywwQ0FBMEMsTUFBTSwwREFBMEQsNERBQTRELHVEQUF1RCwrREFBK0Qsc0VBQXNFLGdDQUFnQyxNQUFNLDRDQUE0Qyw4Q0FBOEMsMkNBQTJDLGtEQUFrRCwyREFBMkQsS0FBSyx3Q0FBd0MsMkJBQTJCLG9DQUFvQyw4QkFBOEIsS0FBSyx5Q0FBeUMsa0JBQWtCLHdDQUF3QyxNQUFNLGFBQWEsa0NBQWtDLCtEQUErRCwrQ0FBK0MsYUFBYSxhQUFhLGdCQUFnQixhQUFhLEtBQUssYUFBYSxZQUFZLGdCQUFnQixPQUFPLGFBQWEsaUJBQWlCLGVBQWUsRUFBRSx3QkFBd0IsVUFBVSxnQ0FBZ0MsdUJBQXVCLHdCQUF3QixNQUFNLG9CQUFvQixtQkFBbUIsNEJBQTRCLDZCQUE2Qix3Q0FBd0MsbUJBQW1CLG1FQUFtRSwyREFBMkQsYUFBYSwwQkFBMEIsc0JBQXNCLFVBQVUsVUFBVSxhQUFhLGtCQUFrQiwyQ0FBMkMsbUNBQW1DLDBCQUEwQix1QkFBdUIsa0JBQWtCLFlBQVksNEJBQTRCLGVBQWUsZ0NBQWdDLFlBQVksV0FBVyx5QkFBeUIsb0JBQW9CLG9CQUFvQixhQUFhLFVBQVUsU0FBUyxvREFBb0QsNEJBQTRCLG1EQUFtRCwyQkFBMkIsbUJBQW1CLGtCQUFrQixzQkFBc0IscUJBQXFCLHdCQUF3Qiw4QkFBOEIsNkJBQTZCLG9CQUFvQixvQkFBb0IsYUFBYSx1QkFBdUIsbUJBQW1CLFNBQVMsMkNBQTJDLDhCQUE4Qiw2QkFBNkIsdUJBQXVCLG1CQUFtQiw2Q0FBNkMscUJBQXFCLGlEQUFpRCxZQUFZLFdBQVcsT0FBTyxzbURBQXNtRCwyRkFBMkYsK0RBQStELHlGQUF5RixvREFBb0QseUNBQXlDLCtDQUErQyx5Q0FBeUMseUNBQXlDLHlDQUF5Qyx5Q0FBeUMsOEVBQThFLG1EQUFtRCxnREFBZ0QsdURBQXVELGlFQUFpRSxHQUFHLFdBQVcseUNBQXlDLG1DQUFtQyxHQUFHLFVBQVUsOENBQThDLEdBQUcsaUNBQWlDLDZDQUE2QyxHQUFHLFdBQVcsNkNBQTZDLGdDQUFnQyxHQUFHLE9BQU8sNkJBQTZCLGlCQUFpQix1Q0FBdUMsS0FBSyxHQUFHLGtCQUFrQixpQkFBaUIsK0JBQStCLEtBQUssR0FBRyxZQUFZLGtCQUFrQix1Q0FBdUMsb0RBQW9ELGtCQUFrQixHQUFHLGtCQUFrQix1QkFBdUIsb0JBQW9CLEdBQUcsVUFBVSx1QkFBdUIsb0JBQW9CLEdBQUcsWUFBWSx1QkFBdUIsb0JBQW9CLG1CQUFtQixzQkFBc0IsS0FBSyxHQUFHLFlBQVkseUJBQXlCLEdBQUcsY0FBYyxrQkFBa0Isb0JBQW9CLHlCQUF5QixtQkFBbUIsb0JBQW9CLDBCQUEwQixrRUFBa0UsK0NBQStDLHlCQUF5QiwyQ0FBMkMsaUJBQWlCLDZCQUE2QixpQkFBaUIsb0JBQW9CLHdCQUF3QixPQUFPLHdCQUF3QixvQkFBb0IscUJBQXFCLE9BQU8sS0FBSyxlQUFlLG9CQUFvQixzQkFBc0IsbUJBQW1CLE9BQU8sS0FBSyxHQUFHLCtCQUErQixjQUFjLHdEQUF3RCxnQ0FBZ0MsbUJBQW1CLHlCQUF5QixLQUFLLG9CQUFvQixXQUFXLDhCQUE4QixPQUFPLEtBQUssd0JBQXdCLG9CQUFvQiwwQkFBMEIsZ0JBQWdCLDhCQUE4Qiw0QkFBNEIsZUFBZSxnQ0FBZ0MsbUJBQW1CLHdCQUF3Qix5QkFBeUIsV0FBVyxTQUFTLE9BQU8sS0FBSyxHQUFHLHFCQUFxQjtBQUN6c1A7QUFDQSwrREFBZSx1QkFBdUIsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL2pidWstZnJvbnRlbmQvLi9yZXNvdXJjZXMvY3NzL2FwcC5jc3M/MGJhMSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL3NvdXJjZU1hcHMuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIjpyb290ey0tZm9udC1mYW1pbHktaGVhZGluZ3M6XFxcIkFyY2hlciBTU20gQVxcXCIsXFxcIkFyY2hlciBTU20gQlxcXCIsc2VyaWY7LS1mb250LWZhbWlseS1ib2R5OlxcXCJWZXJsYWcgQVxcXCIsXFxcIlZlcmxhZyBCXFxcIixzYW5zLXNlcmlmOy0tZm9udC1mYW1pbHktbW9ub3NwYWNlOlxcXCJPcGVyYXRvciBNb25vIFNTbSBBXFxcIixcXFwiT3BlcmF0b3IgTW9ubyBTU20gQlxcXCIsbW9ub3NwYWNlOy0tZm9udC1zaXplLXNtOjAuNzVyZW07LS1mb250LXNpemUtYmFzZToxcmVtOy0tZm9udC1zaXplLW1kOjEuMjVyZW07LS1mb250LXNpemUtbGc6MS41cmVtOy0tZm9udC1zaXplLXhsOjEuNzVyZW07LS1mb250LXNpemUteHhsOjJyZW07LS1mb250LXNpemUteHh4bDoyLjI1cmVtOy0tY29sb3ItcHJpbWFyeTojMzM0NzAwOy0tY29sb3Itc2Vjb25kYXJ5OiNlM2ZmYjc7LS1jb2xvci1saW5rOiMwMDY0OWU7LS1jb2xvci1saW5rLXZpc2l0ZWQ6I2JjN2FmZjstLWNvbG9yLXByaW1hcnktc2hhZG93OnJnYmEoMTYsMjUsMCwuNCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvcihkaXNwbGF5LXAzIDAgMCAwKSl7OnJvb3R7LS1jb2xvci1wcmltYXJ5OmNvbG9yKGRpc3BsYXktcDMgMC4yMTU2NyAwLjI3ODM4IDAuMDM2MTUpOy0tY29sb3Itc2Vjb25kYXJ5OmNvbG9yKGRpc3BsYXktcDMgMC45MTAxNiAwLjk5ODQyIDAuNzQwODIpOy0tY29sb3ItbGluazpjb2xvcihkaXNwbGF5LXAzIDAuMDEwNDUgMC4zODM1MSAwLjYzNjE4KTstLWNvbG9yLWxpbmstdmlzaXRlZDpjb2xvcihkaXNwbGF5LXAzIDAuNzA0NjcgMC40NzU0OSAwLjk5OTU4KTstLWNvbG9yLXByaW1hcnktc2hhZG93OmNvbG9yKGRpc3BsYXktcDMgMC4wNjc2MiAwLjA5NjQ2IDAuMDA0NDEvMC40KX19QHN1cHBvcnRzIChjb2xvcjpva2xjaCgwJSAwIDApKXs6cm9vdHstLWNvbG9yLXByaW1hcnk6b2tsY2goMzYuOCUgMC4xIDEyNS41MDVkZWcpOy0tY29sb3Itc2Vjb25kYXJ5Om9rbGNoKDk2LjMlIDAuMSAxMjUuNTA1ZGVnKTstLWNvbG9yLWxpbms6b2tsY2goNDguMDklIDAuMTQ2IDI0MS40MWRlZyk7LS1jb2xvci1saW5rLXZpc2l0ZWQ6b2tsY2goNzAuNDQlIDAuMjEgMzA0LjQxZGVnKTstLWNvbG9yLXByaW1hcnktc2hhZG93Om9rbGNoKDE5LjU2JSAwLjA1NCAxMjUuNTA1ZGVnLzQwJSl9fWJvZHl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1zZWNvbmRhcnkpO2NvbG9yOnZhcigtLWNvbG9yLXByaW1hcnkpO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtZmFtaWx5LWJvZHkpO2ZvbnQtc2l6ZTp2YXIoLS1mb250LXNpemUtbWQpfWNvZGV7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1mYW1pbHktbW9ub3NwYWNlKX1oMSxoMixoMyxoNCxoNSxoNntmb250LWZhbWlseTp2YXIoLS1mb250LWZhbWlseS1oZWFkaW5ncyl9LmdyaWR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczo1dncgMWZyIDV2dztncmlkLXRlbXBsYXRlLXJvd3M6LXdlYmtpdC1taW4tY29udGVudCAxZnIgLXdlYmtpdC1taW4tY29udGVudDtncmlkLXRlbXBsYXRlLXJvd3M6bWluLWNvbnRlbnQgMWZyIG1pbi1jb250ZW50O3Jvdy1nYXA6MXJlbX0jc2l0ZS1oZWFkZXJ7Z3JpZC1jb2x1bW46Mi8zO2dyaWQtcm93OjEvMn1tYWlue2dyaWQtcm93OjIvM31mb290ZXIsbWFpbntncmlkLWNvbHVtbjoyLzN9Zm9vdGVye2dyaWQtcm93OjMvNH1mb290ZXIgLml3Yy1sb2dve21heC13aWR0aDo4NXZ3fWF7Y29sb3I6dmFyKC0tY29sb3ItbGluayl9YTp2aXNpdGVke2NvbG9yOnZhcigtLWNvbG9yLWxpbmstdmlzaXRlZCl9I3NpdGUtaGVhZGVyIGE6dmlzaXRlZHtjb2xvcjp2YXIoLS1jb2xvci1saW5rKX0uaGxqc3tib3JkZXItcmFkaXVzOi41cmVtfS5oLWNhcmQgLmhvdmVyY2FyZHstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXNlY29uZGFyeSk7Ym9yZGVyLXJhZGl1czoxcmVtOy13ZWJraXQtYm94LXNoYWRvdzowIC41cmVtIC41cmVtIC41cmVtIHZhcigtLWNvbG9yLXByaW1hcnktc2hhZG93KTtib3gtc2hhZG93OjAgLjVyZW0gLjVyZW0gLjVyZW0gdmFyKC0tY29sb3ItcHJpbWFyeS1zaGFkb3cpO2Rpc3BsYXk6bm9uZTstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6LjVyZW07b3BhY2l0eTowO3BhZGRpbmc6MXJlbTtwb3NpdGlvbjphYnNvbHV0ZTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuNXMgZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbjpvcGFjaXR5IC41cyBlYXNlLWluLW91dDt3aWR0aDotd2Via2l0LWZpdC1jb250ZW50O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnQ7ei1pbmRleDoxMDB9LmgtY2FyZCAuaG92ZXJjYXJkIC51LXBob3Rve21heC13aWR0aDo2cmVtfS5oLWNhcmQgLmhvdmVyY2FyZCAuc29jaWFsLWljb257aGVpZ2h0OjFyZW07d2lkdGg6MXJlbX0uaC1jYXJkOmhvdmVyIC5ob3ZlcmNhcmR7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDtvcGFjaXR5OjF9LmgtZW50cnl7LXdlYmtpdC1ib3JkZXItc3RhcnQ6MXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpOy13ZWJraXQtcGFkZGluZy1zdGFydDouNXJlbTtib3JkZXItaW5saW5lLXN0YXJ0OjFweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtwYWRkaW5nLWlubGluZS1zdGFydDouNXJlbX0uaC1lbnRyeSAucmVwbHktdG97Zm9udC1zdHlsZTppdGFsaWN9LmgtZW50cnkgLnBvc3QtaW5mbyBhe3RleHQtZGVjb3JhdGlvbjpub25lfS5oLWVudHJ5IC5ub3RlLW1ldGFkYXRhey13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstbXMtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvdztnYXA6MXJlbX0uaC1lbnRyeSAubm90ZS1tZXRhZGF0YSAuc3luZGljYXRpb24tbGlua3N7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1mbG93OnJvdyB3cmFwO2ZsZXgtZmxvdzpyb3cgd3JhcH0uaC1lbnRyeSAubm90ZS1tZXRhZGF0YSAuc3luZGljYXRpb24tbGlua3MgYXt0ZXh0LWRlY29yYXRpb246bm9uZX0uaC1lbnRyeSAubm90ZS1tZXRhZGF0YSAuc3luZGljYXRpb24tbGlua3MgYSBzdmd7aGVpZ2h0OjFyZW07d2lkdGg6MXJlbX1cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi9yZXNvdXJjZXMvY3NzL3ZhcmlhYmxlcy5jc3NcIixcIndlYnBhY2s6Ly8uL3Jlc291cmNlcy9jc3MvZm9udHMuY3NzXCIsXCJ3ZWJwYWNrOi8vLi9yZXNvdXJjZXMvY3NzL2NvbG91cnMuY3NzXCIsXCJ3ZWJwYWNrOi8vLi9yZXNvdXJjZXMvY3NzL2xheW91dC5jc3NcIixcIndlYnBhY2s6Ly8uL3Jlc291cmNlcy9jc3MvY29kZS5jc3NcIixcIndlYnBhY2s6Ly8uL3Jlc291cmNlcy9jc3MvaC1jYXJkLmNzc1wiLFwid2VicGFjazovLy4vcmVzb3VyY2VzL2Nzcy9jb250ZW50LmNzc1wiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFBQSxNQUVFLDBEQUE2RCxDQUM3RCxtREFBc0QsQ0FDdEQsNkVBQWdGLENBR2hGLHNCQUF1QixDQUN2QixxQkFBc0IsQ0FDdEIsc0JBQXVCLENBQ3ZCLHFCQUFzQixDQUN0QixzQkFBdUIsQ0FDdkIsb0JBQXFCLENBQ3JCLHdCQUF5QixDQUd6Qix1QkFBNEMsQ0FDNUMseUJBQThDLENBQzlDLG9CQUEyQyxDQUMzQyw0QkFBa0QsQ0FDbEQsdUNBQ0YsQ0FyQkEsMENBQUEsTUFnQkUseURBQTRDLENBQzVDLDJEQUE4QyxDQUM5QyxzREFBMkMsQ0FDM0MsOERBQWtELENBQ2xELG9FQUNGLENBQUEsQ0FyQkEsZ0NBQUEsTUFnQkUsMkNBQTRDLENBQzVDLDZDQUE4QyxDQUM5QywwQ0FBMkMsQ0FDM0MsaURBQWtELENBQ2xELHlEQUNGLENBQUEsQ0NyQkEsS0NDRSx1Q0FBd0MsQ0FDeEMsMEJBQTJCLENERDNCLG1DQUFvQyxDQUNwQyw2QkFDRixDQUVBLEtBQ0Usd0NBQ0YsQ0FFQSxrQkFNRSx1Q0FDRixDRWhCQSxNQUNFLFlBQWEsQ0FDYixpQ0FBa0MsQ0FDbEMsOERBQStDLENBQS9DLDhDQUErQyxDQUMvQyxZQUNGLENBRUEsYUFDRSxlQUFrQixDQUNsQixZQUNGLENBRUEsS0FFRSxZQUNGLENBRUEsWUFKRSxlQVdGLENBUEEsT0FFRSxZQUtGLENBSEUsaUJBQ0UsY0FDRixDRGxCRixFQUNFLHVCQUtGLENBSEUsVUFDRSwrQkFDRixDQUlBLHVCQUNFLHVCQUNGLENFaEJGLE1BQ0UsbUJBQ0YsQ0NERSxtQkFXRSwyQkFBc0IsQ0FBdEIsNEJBQXNCLENBSnRCLHVDQUF3QyxDQUZ4QyxrQkFBbUIsQ0FDbkIsa0VBQTJELENBQTNELDBEQUEyRCxDQUwzRCxZQUFhLENBVWIseUJBQXNCLENBQXRCLHFCQUFzQixDQUN0QixTQUFVLENBRlYsU0FBVSxDQU5WLFlBQWEsQ0FGYixpQkFBa0IsQ0FPbEIsMENBQW9DLENBQXBDLGtDQUFvQyxDQURwQyx5QkFBa0IsQ0FBbEIsc0JBQWtCLENBQWxCLGlCQUFrQixDQUxsQixXQW1CRixDQVJFLDRCQUNFLGNBQ0YsQ0FFQSxnQ0FFRSxXQUFZLENBRFosVUFFRixDQUlBLHlCQUNFLG1CQUFhLENBQWIsbUJBQWEsQ0FBYixZQUFhLENBQ2IsU0FDRixDQzNCSixTQUNFLG1EQUFtRCxDQUNuRCwyQkFBMkIsQ0FEM0Isa0RBQW1ELENBQ25ELDBCQThCRixDQTVCRSxtQkFDRSxpQkFDRixDQUdFLHNCQUNFLG9CQUNGLENBR0Ysd0JBRUUsNkJBQW1CLENBQW5CLDRCQUFtQixDQURuQixtQkFBYSxDQUFiLG1CQUFhLENBQWIsWUFBYSxDQUNiLHNCQUFtQixDQUFuQixrQkFBbUIsQ0FDbkIsUUFjRixDQVpFLDJDQUNFLDZCQUFtQixDQUFuQiw0QkFBbUIsQ0FBbkIsc0JBQW1CLENBQW5CLGtCQVVGLENBUkUsNkNBQ0Usb0JBTUYsQ0FKRSxpREFFRSxXQUFZLENBRFosVUFFRlwiLFwic291cmNlc0NvbnRlbnRcIjpbXCI6cm9vdCB7XFxuICAvKiBGb250IEZhbWlseSAqL1xcbiAgLS1mb250LWZhbWlseS1oZWFkaW5nczogXFxcIkFyY2hlciBTU20gQVxcXCIsIFxcXCJBcmNoZXIgU1NtIEJcXFwiLCBzZXJpZjtcXG4gIC0tZm9udC1mYW1pbHktYm9keTogXFxcIlZlcmxhZyBBXFxcIiwgXFxcIlZlcmxhZyBCXFxcIiwgc2Fucy1zZXJpZjtcXG4gIC0tZm9udC1mYW1pbHktbW9ub3NwYWNlOiBcXFwiT3BlcmF0b3IgTW9ubyBTU20gQVxcXCIsIFxcXCJPcGVyYXRvciBNb25vIFNTbSBCXFxcIiwgbW9ub3NwYWNlO1xcblxcbiAgLyogRm9udCBTaXplICovXFxuICAtLWZvbnQtc2l6ZS1zbTogMC43NXJlbTsgICAvKiAxMnB4ICovXFxuICAtLWZvbnQtc2l6ZS1iYXNlOiAxcmVtOyAgICAvKiAxNnB4LCBiYXNlICovXFxuICAtLWZvbnQtc2l6ZS1tZDogMS4yNXJlbTsgICAvKiAyMHB4ICovXFxuICAtLWZvbnQtc2l6ZS1sZzogMS41cmVtOyAgICAvKiAyNHB4ICovXFxuICAtLWZvbnQtc2l6ZS14bDogMS43NXJlbTsgICAvKiAyOHB4ICovXFxuICAtLWZvbnQtc2l6ZS14eGw6IDJyZW07ICAgICAvKiAzMnB4ICovXFxuICAtLWZvbnQtc2l6ZS14eHhsOiAyLjI1cmVtOyAvKiAzNnB4ICovXFxuXFxuICAvKiBDb2xvdXJzICovXFxuICAtLWNvbG9yLXByaW1hcnk6IG9rbGNoKDM2LjglIDAuMSAxMjUuNTA1ZGVnKTtcXG4gIC0tY29sb3Itc2Vjb25kYXJ5OiBva2xjaCg5Ni4zJSAwLjEgMTI1LjUwNWRlZyk7XFxuICAtLWNvbG9yLWxpbms6IG9rbGNoKDQ4LjA5JSAwLjE0NiAyNDEuNDFkZWcpO1xcbiAgLS1jb2xvci1saW5rLXZpc2l0ZWQ6IG9rbGNoKDcwLjQ0JSAwLjIxIDMwNC40MWRlZyk7XFxuICAtLWNvbG9yLXByaW1hcnktc2hhZG93OiBva2xjaCgxOS41NiUgMC4wNTQgMTI1LjUwNWRlZyAvIDQwJSk7XFxufVxcblwiLFwiYm9keSB7XFxuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktYm9keSk7XFxuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tZCk7XFxufVxcblxcbmNvZGUge1xcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LW1vbm9zcGFjZSk7XFxufVxcblxcbmgxLFxcbmgyLFxcbmgzLFxcbmg0LFxcbmg1LFxcbmg2IHtcXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1oZWFkaW5ncyk7XFxufVxcblwiLFwiYm9keSB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xcbn1cXG5cXG5hIHtcXG4gIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcXG5cXG4gICY6dmlzaXRlZCB7XFxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLXZpc2l0ZWQpO1xcbiAgfVxcbn1cXG5cXG4jc2l0ZS1oZWFkZXIge1xcbiAgJiBhOnZpc2l0ZWQge1xcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XFxuICB9XFxufVxcblwiLFwiLmdyaWQge1xcbiAgZGlzcGxheTogZ3JpZDtcXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNXZ3IDFmciA1dnc7XFxuICBncmlkLXRlbXBsYXRlLXJvd3M6IG1pbi1jb250ZW50IDFmciBtaW4tY29udGVudDtcXG4gIHJvdy1nYXA6IDFyZW07XFxufVxcblxcbiNzaXRlLWhlYWRlciB7XFxuICBncmlkLWNvbHVtbjogMiAvIDM7XFxuICBncmlkLXJvdzogMSAvIDI7XFxufVxcblxcbm1haW4ge1xcbiAgZ3JpZC1jb2x1bW46IDIgLyAzO1xcbiAgZ3JpZC1yb3c6IDIgLyAzO1xcbn1cXG5cXG5mb290ZXIge1xcbiAgZ3JpZC1jb2x1bW46IDIgLyAzO1xcbiAgZ3JpZC1yb3c6IDMgLyA0O1xcblxcbiAgJiAuaXdjLWxvZ28ge1xcbiAgICBtYXgtd2lkdGg6IDg1dnc7XFxuICB9XFxufVxcblwiLFwiLmhsanMge1xcbiAgYm9yZGVyLXJhZGl1czogLjVyZW07XFxufVxcblwiLFwiLmgtY2FyZCB7XFxuICAmIC5ob3ZlcmNhcmQge1xcbiAgICBkaXNwbGF5OiBub25lO1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHotaW5kZXg6IDEwMDtcXG4gICAgcGFkZGluZzogMXJlbTtcXG4gICAgYm9yZGVyLXJhZGl1czogMXJlbTtcXG4gICAgYm94LXNoYWRvdzogMCAuNXJlbSAuNXJlbSAuNXJlbSB2YXIoLS1jb2xvci1wcmltYXJ5LXNoYWRvdyk7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XFxuICAgIHdpZHRoOiBmaXQtY29udGVudDtcXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UtaW4tb3V0O1xcbiAgICBvcGFjaXR5OiAwO1xcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICBnYXA6IC41cmVtO1xcblxcbiAgICAmIC51LXBob3RvIHtcXG4gICAgICBtYXgtd2lkdGg6IDZyZW07XFxuICAgIH1cXG5cXG4gICAgJiAuc29jaWFsLWljb24ge1xcbiAgICAgIHdpZHRoOiAxcmVtO1xcbiAgICAgIGhlaWdodDogMXJlbTtcXG4gICAgfVxcbiAgfVxcblxcbiAgJjpob3ZlciB7XFxuICAgICYgLmhvdmVyY2FyZCB7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgICBvcGFjaXR5OiAxO1xcbiAgICB9XFxuICB9XFxufVxcblwiLFwiQGltcG9ydCB1cmwoJ2gtY2FyZC5jc3MnKTtcXG5cXG4uaC1lbnRyeSB7XFxuICBib3JkZXItaW5saW5lLXN0YXJ0OiAxcHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XFxuICBwYWRkaW5nLWlubGluZS1zdGFydDogLjVyZW07XFxuXFxuICAmIC5yZXBseS10byB7XFxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcXG4gIH1cXG5cXG4gICYgLnBvc3QtaW5mbyB7XFxuICAgICYgYSB7XFxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbiAgICB9XFxuICB9XFxuXFxuICAmIC5ub3RlLW1ldGFkYXRhIHtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcXG4gICAgZ2FwOiAxcmVtO1xcblxcbiAgICAmIC5zeW5kaWNhdGlvbi1saW5rcyB7XFxuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcXG5cXG4gICAgICAmIGEge1xcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcblxcbiAgICAgICAgJiBzdmcge1xcbiAgICAgICAgICB3aWR0aDogMXJlbTtcXG4gICAgICAgICAgaGVpZ2h0OiAxcmVtO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./resources/css/app.css\n"); /***/ }), diff --git a/public/assets/app.js.br b/public/assets/app.js.br index eac06b54..dc6eb881 100644 Binary files a/public/assets/app.js.br and b/public/assets/app.js.br differ diff --git a/resources/css/app.css b/resources/css/app.css index d810ef58..ca75b3e5 100644 --- a/resources/css/app.css +++ b/resources/css/app.css @@ -1,6 +1,6 @@ -@import "variables.css"; -@import "fonts.css"; -@import "layout.css"; -@import "colours.css"; -@import "code.css"; -@import "content.css"; +@import url('variables.css'); +@import url('fonts.css'); +@import url('layout.css'); +@import url('colours.css'); +@import url('code.css'); +@import url('content.css'); diff --git a/resources/css/code.css b/resources/css/code.css index 8524dbbd..88b8f5fa 100644 --- a/resources/css/code.css +++ b/resources/css/code.css @@ -1,3 +1,3 @@ .hljs { - border-radius: .5rem; + border-radius: .5rem; } diff --git a/resources/css/colours.css b/resources/css/colours.css index 2eecc8bf..65b95212 100644 --- a/resources/css/colours.css +++ b/resources/css/colours.css @@ -1,18 +1,18 @@ body { - background-color: var(--color-secondary); - color: var(--color-primary); + background-color: var(--color-secondary); + color: var(--color-primary); } a { - color: var(--color-link); + color: var(--color-link); - &:visited { - color: var(--color-link-visited); - } + &:visited { + color: var(--color-link-visited); + } } #site-header { - & a:visited { - color: var(--color-link); - } + & a:visited { + color: var(--color-link); + } } diff --git a/resources/css/content.css b/resources/css/content.css index e89befba..c656acef 100644 --- a/resources/css/content.css +++ b/resources/css/content.css @@ -1,36 +1,35 @@ -@import "posse.css"; -@import "h-card.css"; +@import url('h-card.css'); .h-entry { - border-inline-start: 1px solid var(--color-primary); - padding-inline-start: .5rem; + border-inline-start: 1px solid var(--color-primary); + padding-inline-start: .5rem; - & .reply-to { - font-style: italic; + & .reply-to { + font-style: italic; + } + + & .post-info { + & a { + text-decoration: none; } + } - & .post-info { - & a { - text-decoration: none; - } - } - - & .note-metadata { - display: flex; - flex-direction: row; - gap: 1rem; - - & .syndication-links { - flex-flow: row wrap; - - & a { - text-decoration: none; - - & svg { - width: 1rem; - height: 1rem; - } - } + & .note-metadata { + display: flex; + flex-direction: row; + gap: 1rem; + + & .syndication-links { + flex-flow: row wrap; + + & a { + text-decoration: none; + + & svg { + width: 1rem; + height: 1rem; } + } } + } } diff --git a/resources/css/fonts.css b/resources/css/fonts.css index b11a1128..91b3749b 100644 --- a/resources/css/fonts.css +++ b/resources/css/fonts.css @@ -1,10 +1,10 @@ body { - font-family: var(--font-family-body); - font-size: var(--font-size-md); + font-family: var(--font-family-body); + font-size: var(--font-size-md); } code { - font-family: var(--font-family-monospace); + font-family: var(--font-family-monospace); } h1, @@ -13,5 +13,5 @@ h3, h4, h5, h6 { - font-family: var(--font-family-headings); + font-family: var(--font-family-headings); } diff --git a/resources/css/h-card.css b/resources/css/h-card.css index dea4e7c5..de901e08 100644 --- a/resources/css/h-card.css +++ b/resources/css/h-card.css @@ -1,32 +1,32 @@ .h-card { + & .hovercard { + display: none; + position: absolute; + z-index: 100; + padding: 1rem; + border-radius: 1rem; + box-shadow: 0 .5rem .5rem .5rem var(--color-primary-shadow); + background-color: var(--color-secondary); + width: fit-content; + transition: opacity 0.5s ease-in-out; + opacity: 0; + flex-direction: column; + gap: .5rem; + + & .u-photo { + max-width: 6rem; + } + + & .social-icon { + width: 1rem; + height: 1rem; + } + } + + &:hover { & .hovercard { - display: none; - position: absolute; - z-index: 100; - padding: 1rem; - border-radius: 1rem; - box-shadow: 0 .5rem .5rem .5rem var(--color-primary-shadow); - background-color: var(--color-secondary); - width: fit-content; - transition: opacity 0.5s ease-in-out; - opacity: 0; - flex-direction: column; - gap: .5rem; - - & .u-photo { - max-width: 6rem; - } - - & .social-icon { - width: 1rem; - height: 1rem; - } - } - - &:hover { - & .hovercard { - display: flex; - opacity: 1; - } + display: flex; + opacity: 1; } + } } diff --git a/resources/css/layout.css b/resources/css/layout.css index 0163e7f1..f0a40dd6 100644 --- a/resources/css/layout.css +++ b/resources/css/layout.css @@ -1,25 +1,25 @@ .grid { - display: grid; - grid-template-columns: 5vw 1fr 5vw; - grid-template-rows: min-content 1fr min-content; - row-gap: 1rem; + display: grid; + grid-template-columns: 5vw 1fr 5vw; + grid-template-rows: min-content 1fr min-content; + row-gap: 1rem; } #site-header { - grid-column: 2 / 3; - grid-row: 1 / 2; + grid-column: 2 / 3; + grid-row: 1 / 2; } main { - grid-column: 2 / 3; - grid-row: 2 / 3; + grid-column: 2 / 3; + grid-row: 2 / 3; } footer { - grid-column: 2 / 3; - grid-row: 3 / 4; + grid-column: 2 / 3; + grid-row: 3 / 4; - & .iwc-logo { - max-width: 85vw; - } + & .iwc-logo { + max-width: 85vw; + } } diff --git a/resources/css/posse.css b/resources/css/posse.css deleted file mode 100644 index b131bdfe..00000000 --- a/resources/css/posse.css +++ /dev/null @@ -1,3 +0,0 @@ -.p-bridgy-twitter-content { - display: none; -} diff --git a/resources/css/variables.css b/resources/css/variables.css index 5aedebb8..c5fc61b7 100644 --- a/resources/css/variables.css +++ b/resources/css/variables.css @@ -1,22 +1,22 @@ :root { - /* Font Family */ - --font-family-headings: "Archer SSm A", "Archer SSm B", serif; - --font-family-body: "Verlag A", "Verlag B", sans-serif; - --font-family-monospace: "Operator Mono SSm A", "Operator Mono SSm B", monospace; + /* Font Family */ + --font-family-headings: "Archer SSm A", "Archer SSm B", serif; + --font-family-body: "Verlag A", "Verlag B", sans-serif; + --font-family-monospace: "Operator Mono SSm A", "Operator Mono SSm B", monospace; - /* Font Size */ - --font-size-sm: 0.75rem; /* 12px */ - --font-size-base: 1rem; /* 16px, base */ - --font-size-md: 1.25rem; /* 20px */ - --font-size-lg: 1.5rem; /* 24px */ - --font-size-xl: 1.75rem; /* 28px */ - --font-size-xxl: 2rem; /* 32px */ - --font-size-xxxl: 2.25rem; /* 36px */ + /* Font Size */ + --font-size-sm: 0.75rem; /* 12px */ + --font-size-base: 1rem; /* 16px, base */ + --font-size-md: 1.25rem; /* 20px */ + --font-size-lg: 1.5rem; /* 24px */ + --font-size-xl: 1.75rem; /* 28px */ + --font-size-xxl: 2rem; /* 32px */ + --font-size-xxxl: 2.25rem; /* 36px */ - /* Colours */ - --color-primary: oklch(36.8% 0.1 125.505); - --color-secondary: oklch(96.3% 0.1 125.505); - --color-link: oklch(48.09% 0.146 241.41); - --color-link-visited: oklch(70.44% 0.21 304.41); - --color-primary-shadow: oklch(19.56% 0.054 125.505 / 40%); + /* Colours */ + --color-primary: oklch(36.8% 0.1 125.505deg); + --color-secondary: oklch(96.3% 0.1 125.505deg); + --color-link: oklch(48.09% 0.146 241.41deg); + --color-link-visited: oklch(70.44% 0.21 304.41deg); + --color-primary-shadow: oklch(19.56% 0.054 125.505deg / 40%); } diff --git a/resources/js/app.js b/resources/js/app.js index f65cc9bd..69946e98 100644 --- a/resources/js/app.js +++ b/resources/js/app.js @@ -1 +1,10 @@ import '../css/app.css'; + +// import { Auth } from './auth.js'; +// +// let auth = new Auth(); + +// auth.createCredentials().then((credentials) => { +// // eslint-disable-next-line no-console +// console.log(credentials); +// }); diff --git a/resources/js/auth.js b/resources/js/auth.js new file mode 100644 index 00000000..d181f62d --- /dev/null +++ b/resources/js/auth.js @@ -0,0 +1,36 @@ +class Auth { + constructor() {} + + async createCredentials() { + const publicKeyCredentialCreationOptions = { + challenge: Uint8Array.from( + 'randomStringFromServer', + c => c.charCodeAt(0) + ), + rp: { + id: 'jonnybarnes.localhost', + name: 'JB', + }, + user: { + id: Uint8Array.from( + 'UZSL85T9AFC', + c => c.charCodeAt(0) + ), + name: 'jonny@jonnybarnes.uk', + displayName: 'Jonny', + }, + pubKeyCredParams: [{alg: -7, type: 'public-key'}], + // authenticatorSelection: { + // authenticatorAttachment: 'cross-platform', + // }, + timeout: 60000, + attestation: 'direct' + }; + + return await navigator.credentials.create({ + publicKey: publicKeyCredentialCreationOptions + }); + } +} + +export { Auth }; diff --git a/resources/views/admin/welcome.blade.php b/resources/views/admin/welcome.blade.php index 4ca4c4d0..3cce67d7 100644 --- a/resources/views/admin/welcome.blade.php +++ b/resources/views/admin/welcome.blade.php @@ -51,4 +51,9 @@
Edit your bio.
+ ++ List passkeys here? +
@stop diff --git a/webpack.config.js b/webpack.config.js index 447c6d42..3c7cc93c 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -6,103 +6,103 @@ const EslintPlugin = require('eslint-webpack-plugin'); const MiniCssExtractPlugin = require("mini-css-extract-plugin"); const config = { - entry: ['./resources/js/app.js'], - output: { - path: path.resolve('./public/assets'), - filename: 'app.js', - }, - module: { - rules: [{ - test: /\.js$/, - exclude: /node_modules/, - use: { - loader: 'babel-loader', - options: { - presets: [ - ['@babel/preset-env', { targets: "defaults" }] - ] - } - } - }] - }, - plugins: [ - new StyleLintPlugin({ - configFile: path.resolve(__dirname + '/.stylelintrc'), - context: path.resolve(__dirname + '/resources/css'), - files: '**/*.css', - }), - new EslintPlugin({ - context: path.resolve(__dirname + '/resources/js'), - files: '**/*.js', - }), - new CompressionPlugin({ - filename: "[path][base].br", - algorithm: "brotliCompress", - test: /\.js$|\.css$/, - exclude: /.map$/, - compressionOptions: { - params: { - [zlib.constants.BROTLI_PARAM_QUALITY]: 11, - }, - }, - }), - ] + entry: ['./resources/js/app.js'], + output: { + path: path.resolve('./public/assets'), + filename: 'app.js', + }, + module: { + rules: [{ + test: /\.js$/, + exclude: /node_modules/, + use: { + loader: 'babel-loader', + options: { + presets: [ + ['@babel/preset-env', { targets: "defaults" }] + ] + } + } + }] + }, + plugins: [ + new StyleLintPlugin({ + configFile: path.resolve(__dirname + '/.stylelintrc'), + context: path.resolve(__dirname + '/resources/css'), + files: '**/*.css', + }), + new EslintPlugin({ + context: path.resolve(__dirname + '/resources/js'), + files: '**/*.js', + }), + new CompressionPlugin({ + filename: "[path][base].br", + algorithm: "brotliCompress", + test: /\.js$|\.css$/, + exclude: /.map$/, + compressionOptions: { + params: { + [zlib.constants.BROTLI_PARAM_QUALITY]: 11, + }, + }, + }), + ] }; module.exports = (env, argv) => { - if (argv.mode === 'development') { - config.devtool = 'eval-source-map'; + if (argv.mode === 'development') { + config.devtool = 'eval-source-map'; - config.module.rules.push({ - test: /\.css$/, - exclude: /node_modules/, - use: [ - { - loader: 'style-loader' - }, - { - loader: 'css-loader', - options: { - sourceMap: true - } - }, - { - loader: 'postcss-loader', - options: { - postcssOptions: { - config: path.resolve(__dirname, 'postcss.config.js'), - }, - sourceMap: true - } - } - ] - }); - } + config.module.rules.push({ + test: /\.css$/, + exclude: /node_modules/, + use: [ + { + loader: 'style-loader' + }, + { + loader: 'css-loader', + options: { + sourceMap: true + } + }, + { + loader: 'postcss-loader', + options: { + postcssOptions: { + config: path.resolve(__dirname, 'postcss.config.js'), + }, + sourceMap: true + } + } + ] + }); + } - if (argv.mode === 'production') { - config.module.rules.push({ - test: /\.css$/, - exclude: /node_modules/, - use: [ - { - loader: MiniCssExtractPlugin.loader, - }, - { - loader: 'css-loader', - }, - { - loader: 'postcss-loader', - options: { - postcssOptions: { - config: path.resolve(__dirname, 'postcss.config.js'), - }, - } - } - ] - }); + if (argv.mode === 'production') { + config.module.rules.push({ + test: /\.css$/, + exclude: /node_modules/, + use: [ + { + loader: MiniCssExtractPlugin.loader, + }, + { + loader: 'css-loader', + }, + { + loader: 'postcss-loader', + options: { + postcssOptions: { + config: path.resolve(__dirname, 'postcss.config.js'), + }, + } + } + ] + }); - config.plugins.push(new MiniCssExtractPlugin({filename: 'app.css'})); - } + config.plugins.push(new MiniCssExtractPlugin({filename: 'app.css'})); + } - return config; + return config; };