├── .DS_Store ├── .gitignore ├── backend ├── package.json ├── server.ts └── yarn.lock ├── frontend ├── .DS_Store ├── .eslintignore ├── .eslintrc.cjs ├── .prettierignore ├── README.md ├── adaptors │ └── express │ │ └── vite.config.ts ├── package-lock.json ├── package.json ├── postcss.config.js ├── public │ ├── favicon.svg │ ├── img │ │ └── icon.png │ ├── manifest.json │ └── robots.txt ├── server │ ├── @qwik-city-not-found-paths.js │ ├── @qwik-city-plan.mjs │ ├── @qwik-city-static-paths.js │ ├── assets │ │ └── root-7ec1d247.mjs │ ├── entry.express.js │ ├── entry.express.mjs │ ├── entry.ssr.js │ ├── entry.ssr.mjs │ └── package.json ├── src │ ├── .DS_Store │ ├── components │ │ ├── router-head │ │ │ └── router-head.tsx │ │ ├── site │ │ │ ├── footer │ │ │ │ └── footer.tsx │ │ │ ├── hero │ │ │ │ └── hero.tsx │ │ │ ├── logo │ │ │ │ ├── logo.css │ │ │ │ └── logo.tsx │ │ │ └── navigation │ │ │ │ └── navigation.tsx │ │ ├── svgs │ │ │ └── grid.tsx │ │ └── ui │ │ │ ├── button-action.tsx │ │ │ ├── button-std.tsx │ │ │ └── message.tsx │ ├── entry.dev.tsx │ ├── entry.express.tsx │ ├── entry.preview.tsx │ ├── entry.ssr.tsx │ ├── global.css │ ├── root.tsx │ ├── routes │ │ ├── .DS_Store │ │ ├── about │ │ │ └── index@site.tsx │ │ ├── contact │ │ │ └── index.tsx │ │ ├── disclaimer │ │ │ └── index.tsx │ │ ├── index@site.tsx │ │ ├── layout-site.tsx │ │ ├── login │ │ │ ├── .DS_Store │ │ │ ├── index.tsx │ │ │ └── staging │ │ │ │ └── index.tsx │ │ ├── members │ │ │ └── dashboard │ │ │ │ └── index.tsx │ │ ├── privacy │ │ │ └── index.tsx │ │ ├── service-worker.ts │ │ ├── services │ │ │ └── index@site.tsx │ │ ├── shop │ │ │ └── index@site.tsx │ │ ├── signup │ │ │ └── index.tsx │ │ └── terms │ │ │ └── index.tsx │ └── utils │ │ ├── helpers.ts │ │ └── supabase.ts ├── tailwind.config.js ├── tsconfig.json └── vite.config.ts └── proxy ├── Dockerfile └── nginx.conf /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coderaidershaun/qwik-supabase-nginx-project/10085b6e9cb3815109e7e7b495f03f241ef90d84/.DS_Store -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /frontend/node_modules 2 | /backend/node_modules 3 | /frontend/dist 4 | *.env -------------------------------------------------------------------------------- /backend/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "backend", 3 | "version": "1.0.0", 4 | "main": "index.js", 5 | "license": "MIT", 6 | "scripts": { 7 | "start": "ts-node server.ts" 8 | }, 9 | "dependencies": { 10 | "@supabase/supabase-js": "^2.4.0", 11 | "@types/cookie-parser": "^1.4.3", 12 | "@types/cors": "^2.8.13", 13 | "axios": "^1.2.2", 14 | "body-parser": "^1.20.1", 15 | "cookie-parser": "^1.4.6", 16 | "cors": "^2.8.5", 17 | "dotenv": "^16.0.3", 18 | "express": "^4.18.2", 19 | "stripe": "^11.6.0", 20 | "ts-node": "^10.9.1", 21 | "typescript": "^4.9.4" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /backend/server.ts: -------------------------------------------------------------------------------- 1 | import express, { Express } from "express"; 2 | import type { Request, Response } from "express"; 3 | import bodyParser from "body-parser"; 4 | import cors from "cors"; 5 | import cookieParser from "cookie-parser"; 6 | import dotenv from "dotenv"; 7 | dotenv.config(); 8 | 9 | // Determine root domain 10 | let rootDomain = 11 | process.env.NODE_ENV == "development" 12 | ? process.env.ROOT_DOMAIN_DEV 13 | : process.env.ROOT_DOMAIN_PROD; 14 | 15 | const app: Express = express(); 16 | const port = 3005; 17 | const route = "/api_v1"; 18 | 19 | app.use(cookieParser()); 20 | app.use(cors({ origin: rootDomain, credentials: true })); 21 | app.use(bodyParser.json()); 22 | 23 | // Health 24 | app.get(route + "/health", async (req: Request, res: Response) => { 25 | return res.status(200).json({ message: "Healthy" }); 26 | }); 27 | 28 | // Logout 29 | app.get(route + "/logout", async (req: Request, res: Response) => { 30 | res.cookie("server-access-token", { expires: Date.now() }); 31 | res.cookie("server-refresh-token", { expires: Date.now() }); 32 | return res.status(200).json({ message: "Cookies expired" }); 33 | }); 34 | 35 | // Store Auth Cookies 36 | app.post(route + "/store-auth", async (req: Request, res: Response) => { 37 | // Guard: Ensure tokens 38 | if (!req?.body?.accessToken || !req?.body?.refreshToken) { 39 | return res.status(401).json({ message: "Missing token(s)" }); 40 | } 41 | 42 | // Get tokens 43 | const accessToken = req.body.accessToken; 44 | const refreshToken = req.body.refreshToken; 45 | 46 | // Determine expiration 47 | const dateAccess = new Date(); 48 | const dateRefresh = new Date(); 49 | dateAccess.setHours(dateAccess.getHours() + 1); 50 | dateRefresh.setDate(dateRefresh.getDate() + 1); 51 | 52 | // Set Cookies - access token 53 | res.cookie("server-access-token", accessToken, { 54 | secure: process.env.NODE_ENV != "development", 55 | httpOnly: true, 56 | expires: dateAccess, 57 | sameSite: "lax", 58 | }); 59 | 60 | // Set Cookies - refresh token 61 | res.cookie("server-refresh-token", refreshToken, { 62 | secure: process.env.NODE_ENV != "development", 63 | httpOnly: true, 64 | expires: dateRefresh, 65 | sameSite: "lax", 66 | }); 67 | 68 | // Return response 69 | return res.status(200).json({ message: "Tokens stored" }); 70 | }); 71 | 72 | app.listen(port, () => { 73 | console.log("Backend server listening on port " + port); 74 | }); 75 | -------------------------------------------------------------------------------- /backend/yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@cspotcode/source-map-support@^0.8.0": 6 | version "0.8.1" 7 | resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" 8 | integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== 9 | dependencies: 10 | "@jridgewell/trace-mapping" "0.3.9" 11 | 12 | "@jridgewell/resolve-uri@^3.0.3": 13 | version "3.1.0" 14 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" 15 | integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== 16 | 17 | "@jridgewell/sourcemap-codec@^1.4.10": 18 | version "1.4.14" 19 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" 20 | integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== 21 | 22 | "@jridgewell/trace-mapping@0.3.9": 23 | version "0.3.9" 24 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" 25 | integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== 26 | dependencies: 27 | "@jridgewell/resolve-uri" "^3.0.3" 28 | "@jridgewell/sourcemap-codec" "^1.4.10" 29 | 30 | "@supabase/functions-js@^2.0.0": 31 | version "2.0.0" 32 | resolved "https://registry.yarnpkg.com/@supabase/functions-js/-/functions-js-2.0.0.tgz#4ba0c9e6dff031e17666bef6779c48eff290a8a0" 33 | integrity sha512-ozb7bds2yvf5k7NM2ZzUkxvsx4S4i2eRKFSJetdTADV91T65g4gCzEs9L3LUXSrghcGIkUaon03VPzOrFredqg== 34 | dependencies: 35 | cross-fetch "^3.1.5" 36 | 37 | "@supabase/gotrue-js@^2.6.1": 38 | version "2.6.2" 39 | resolved "https://registry.yarnpkg.com/@supabase/gotrue-js/-/gotrue-js-2.6.2.tgz#7c0822c84ec80e4f1c54ed65660a01a9fab18ff0" 40 | integrity sha512-ZUSbTe2SPPztOxFA4BjLncYVpAvTATgIdxQj8y1FDd43aqOh30bDzigIM0f1jMRMrGtcVFFOzRpp9TV7HUSitQ== 41 | dependencies: 42 | cross-fetch "^3.1.5" 43 | 44 | "@supabase/postgrest-js@^1.1.1": 45 | version "1.1.1" 46 | resolved "https://registry.yarnpkg.com/@supabase/postgrest-js/-/postgrest-js-1.1.1.tgz#2fa8d2bd14d443c82c5e20947f98d23b73f62ddc" 47 | integrity sha512-jhdBah1JIxkZUp+5QH5JS7Uq9teGwh0Bs3FzbhnVlH619FSUFquTpHuNDxLsJmqEe8r3Wcnw19Dz0t3wEpkfug== 48 | dependencies: 49 | cross-fetch "^3.1.5" 50 | 51 | "@supabase/realtime-js@^2.3.1": 52 | version "2.3.1" 53 | resolved "https://registry.yarnpkg.com/@supabase/realtime-js/-/realtime-js-2.3.1.tgz#b567441073e0b86c9be59bf8eccdc03df3e810fd" 54 | integrity sha512-AX4pzZozVPvHAWfPcKl0UWj19pqwogD9TnCEHq1x/6oQjVoqA3n6H+1Ea2of9MheSroajHguaQMen3xLEoWrug== 55 | dependencies: 56 | "@types/phoenix" "^1.5.4" 57 | websocket "^1.0.34" 58 | 59 | "@supabase/storage-js@^2.1.0": 60 | version "2.1.0" 61 | resolved "https://registry.yarnpkg.com/@supabase/storage-js/-/storage-js-2.1.0.tgz#b855558ff5c2eaa5633b89193c8ec61aff53d59b" 62 | integrity sha512-bRMLWCbkkx84WDAtHAAMN7FAWuayrGZtTHj/WMUK6PsAWuonovvEa5s34a5iux61qJSn+ls3tFkyQgqxunl5ww== 63 | dependencies: 64 | cross-fetch "^3.1.5" 65 | 66 | "@supabase/supabase-js@^2.4.0": 67 | version "2.4.0" 68 | resolved "https://registry.yarnpkg.com/@supabase/supabase-js/-/supabase-js-2.4.0.tgz#fa925c6bde521ceed0b6be668202db02425aaef9" 69 | integrity sha512-fouVDoTcxM4/xEsh2iaR0wr0liwER7Pth8pvmbqqm7JVDLd2Z3+ie+k9fesg0OAd8VR1plOi80gdjxYm/ZIYMA== 70 | dependencies: 71 | "@supabase/functions-js" "^2.0.0" 72 | "@supabase/gotrue-js" "^2.6.1" 73 | "@supabase/postgrest-js" "^1.1.1" 74 | "@supabase/realtime-js" "^2.3.1" 75 | "@supabase/storage-js" "^2.1.0" 76 | cross-fetch "^3.1.5" 77 | 78 | "@tsconfig/node10@^1.0.7": 79 | version "1.0.9" 80 | resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" 81 | integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== 82 | 83 | "@tsconfig/node12@^1.0.7": 84 | version "1.0.11" 85 | resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" 86 | integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== 87 | 88 | "@tsconfig/node14@^1.0.0": 89 | version "1.0.3" 90 | resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" 91 | integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== 92 | 93 | "@tsconfig/node16@^1.0.2": 94 | version "1.0.3" 95 | resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.3.tgz#472eaab5f15c1ffdd7f8628bd4c4f753995ec79e" 96 | integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ== 97 | 98 | "@types/body-parser@*": 99 | version "1.19.2" 100 | resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0" 101 | integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== 102 | dependencies: 103 | "@types/connect" "*" 104 | "@types/node" "*" 105 | 106 | "@types/connect@*": 107 | version "3.4.35" 108 | resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" 109 | integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== 110 | dependencies: 111 | "@types/node" "*" 112 | 113 | "@types/cookie-parser@^1.4.3": 114 | version "1.4.3" 115 | resolved "https://registry.yarnpkg.com/@types/cookie-parser/-/cookie-parser-1.4.3.tgz#3a01df117c5705cf89a84c876b50c5a1fd427a21" 116 | integrity sha512-CqSKwFwefj4PzZ5n/iwad/bow2hTCh0FlNAeWLtQM3JA/NX/iYagIpWG2cf1bQKQ2c9gU2log5VUCrn7LDOs0w== 117 | dependencies: 118 | "@types/express" "*" 119 | 120 | "@types/cors@^2.8.13": 121 | version "2.8.13" 122 | resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.13.tgz#b8ade22ba455a1b8cb3b5d3f35910fd204f84f94" 123 | integrity sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA== 124 | dependencies: 125 | "@types/node" "*" 126 | 127 | "@types/express-serve-static-core@^4.17.31": 128 | version "4.17.32" 129 | resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.32.tgz#93dda387f5516af616d8d3f05f2c4c79d81e1b82" 130 | integrity sha512-aI5h/VOkxOF2Z1saPy0Zsxs5avets/iaiAJYznQFm5By/pamU31xWKL//epiF4OfUA2qTOc9PV6tCUjhO8wlZA== 131 | dependencies: 132 | "@types/node" "*" 133 | "@types/qs" "*" 134 | "@types/range-parser" "*" 135 | 136 | "@types/express@*": 137 | version "4.17.15" 138 | resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.15.tgz#9290e983ec8b054b65a5abccb610411953d417ff" 139 | integrity sha512-Yv0k4bXGOH+8a+7bELd2PqHQsuiANB+A8a4gnQrkRWzrkKlb6KHaVvyXhqs04sVW/OWlbPyYxRgYlIXLfrufMQ== 140 | dependencies: 141 | "@types/body-parser" "*" 142 | "@types/express-serve-static-core" "^4.17.31" 143 | "@types/qs" "*" 144 | "@types/serve-static" "*" 145 | 146 | "@types/mime@*": 147 | version "3.0.1" 148 | resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.1.tgz#5f8f2bca0a5863cb69bc0b0acd88c96cb1d4ae10" 149 | integrity sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA== 150 | 151 | "@types/node@*", "@types/node@>=8.1.0": 152 | version "18.11.18" 153 | resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.18.tgz#8dfb97f0da23c2293e554c5a50d61ef134d7697f" 154 | integrity sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA== 155 | 156 | "@types/phoenix@^1.5.4": 157 | version "1.5.4" 158 | resolved "https://registry.yarnpkg.com/@types/phoenix/-/phoenix-1.5.4.tgz#c08a1da6d7b4e365f6a1fe1ff9aada55f5356d24" 159 | integrity sha512-L5eZmzw89eXBKkiqVBcJfU1QGx9y+wurRIEgt0cuLH0hwNtVUxtx+6cu0R2STwWj468sjXyBYPYDtGclUd1kjQ== 160 | 161 | "@types/qs@*": 162 | version "6.9.7" 163 | resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" 164 | integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== 165 | 166 | "@types/range-parser@*": 167 | version "1.2.4" 168 | resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" 169 | integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== 170 | 171 | "@types/serve-static@*": 172 | version "1.15.0" 173 | resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.0.tgz#c7930ff61afb334e121a9da780aac0d9b8f34155" 174 | integrity sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg== 175 | dependencies: 176 | "@types/mime" "*" 177 | "@types/node" "*" 178 | 179 | accepts@~1.3.8: 180 | version "1.3.8" 181 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" 182 | integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== 183 | dependencies: 184 | mime-types "~2.1.34" 185 | negotiator "0.6.3" 186 | 187 | acorn-walk@^8.1.1: 188 | version "8.2.0" 189 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" 190 | integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== 191 | 192 | acorn@^8.4.1: 193 | version "8.8.1" 194 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.1.tgz#0a3f9cbecc4ec3bea6f0a80b66ae8dd2da250b73" 195 | integrity sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA== 196 | 197 | arg@^4.1.0: 198 | version "4.1.3" 199 | resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" 200 | integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== 201 | 202 | array-flatten@1.1.1: 203 | version "1.1.1" 204 | resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" 205 | integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== 206 | 207 | asynckit@^0.4.0: 208 | version "0.4.0" 209 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 210 | integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== 211 | 212 | axios@^1.2.2: 213 | version "1.2.2" 214 | resolved "https://registry.yarnpkg.com/axios/-/axios-1.2.2.tgz#72681724c6e6a43a9fea860fc558127dbe32f9f1" 215 | integrity sha512-bz/J4gS2S3I7mpN/YZfGFTqhXTYzRho8Ay38w2otuuDR322KzFIWm/4W2K6gIwvWaws5n+mnb7D1lN9uD+QH6Q== 216 | dependencies: 217 | follow-redirects "^1.15.0" 218 | form-data "^4.0.0" 219 | proxy-from-env "^1.1.0" 220 | 221 | body-parser@1.20.1, body-parser@^1.20.1: 222 | version "1.20.1" 223 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" 224 | integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== 225 | dependencies: 226 | bytes "3.1.2" 227 | content-type "~1.0.4" 228 | debug "2.6.9" 229 | depd "2.0.0" 230 | destroy "1.2.0" 231 | http-errors "2.0.0" 232 | iconv-lite "0.4.24" 233 | on-finished "2.4.1" 234 | qs "6.11.0" 235 | raw-body "2.5.1" 236 | type-is "~1.6.18" 237 | unpipe "1.0.0" 238 | 239 | bufferutil@^4.0.1: 240 | version "4.0.7" 241 | resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.7.tgz#60c0d19ba2c992dd8273d3f73772ffc894c153ad" 242 | integrity sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw== 243 | dependencies: 244 | node-gyp-build "^4.3.0" 245 | 246 | bytes@3.1.2: 247 | version "3.1.2" 248 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" 249 | integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== 250 | 251 | call-bind@^1.0.0: 252 | version "1.0.2" 253 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" 254 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== 255 | dependencies: 256 | function-bind "^1.1.1" 257 | get-intrinsic "^1.0.2" 258 | 259 | combined-stream@^1.0.8: 260 | version "1.0.8" 261 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" 262 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== 263 | dependencies: 264 | delayed-stream "~1.0.0" 265 | 266 | content-disposition@0.5.4: 267 | version "0.5.4" 268 | resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" 269 | integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== 270 | dependencies: 271 | safe-buffer "5.2.1" 272 | 273 | content-type@~1.0.4: 274 | version "1.0.4" 275 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" 276 | integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== 277 | 278 | cookie-parser@^1.4.6: 279 | version "1.4.6" 280 | resolved "https://registry.yarnpkg.com/cookie-parser/-/cookie-parser-1.4.6.tgz#3ac3a7d35a7a03bbc7e365073a26074824214594" 281 | integrity sha512-z3IzaNjdwUC2olLIB5/ITd0/setiaFMLYiZJle7xg5Fe9KWAceil7xszYfHHBtDFYLSgJduS2Ty0P1uJdPDJeA== 282 | dependencies: 283 | cookie "0.4.1" 284 | cookie-signature "1.0.6" 285 | 286 | cookie-signature@1.0.6: 287 | version "1.0.6" 288 | resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" 289 | integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== 290 | 291 | cookie@0.4.1: 292 | version "0.4.1" 293 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1" 294 | integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== 295 | 296 | cookie@0.5.0: 297 | version "0.5.0" 298 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" 299 | integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== 300 | 301 | cors@^2.8.5: 302 | version "2.8.5" 303 | resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" 304 | integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== 305 | dependencies: 306 | object-assign "^4" 307 | vary "^1" 308 | 309 | create-require@^1.1.0: 310 | version "1.1.1" 311 | resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" 312 | integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== 313 | 314 | cross-fetch@^3.1.5: 315 | version "3.1.5" 316 | resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" 317 | integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== 318 | dependencies: 319 | node-fetch "2.6.7" 320 | 321 | d@1, d@^1.0.1: 322 | version "1.0.1" 323 | resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" 324 | integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== 325 | dependencies: 326 | es5-ext "^0.10.50" 327 | type "^1.0.1" 328 | 329 | debug@2.6.9, debug@^2.2.0: 330 | version "2.6.9" 331 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 332 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 333 | dependencies: 334 | ms "2.0.0" 335 | 336 | delayed-stream@~1.0.0: 337 | version "1.0.0" 338 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 339 | integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== 340 | 341 | depd@2.0.0: 342 | version "2.0.0" 343 | resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" 344 | integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== 345 | 346 | destroy@1.2.0: 347 | version "1.2.0" 348 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" 349 | integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== 350 | 351 | diff@^4.0.1: 352 | version "4.0.2" 353 | resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" 354 | integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== 355 | 356 | dotenv@^16.0.3: 357 | version "16.0.3" 358 | resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.3.tgz#115aec42bac5053db3c456db30cc243a5a836a07" 359 | integrity sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ== 360 | 361 | ee-first@1.1.1: 362 | version "1.1.1" 363 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" 364 | integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== 365 | 366 | encodeurl@~1.0.2: 367 | version "1.0.2" 368 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" 369 | integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== 370 | 371 | es5-ext@^0.10.35, es5-ext@^0.10.50: 372 | version "0.10.62" 373 | resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.62.tgz#5e6adc19a6da524bf3d1e02bbc8960e5eb49a9a5" 374 | integrity sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA== 375 | dependencies: 376 | es6-iterator "^2.0.3" 377 | es6-symbol "^3.1.3" 378 | next-tick "^1.1.0" 379 | 380 | es6-iterator@^2.0.3: 381 | version "2.0.3" 382 | resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" 383 | integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g== 384 | dependencies: 385 | d "1" 386 | es5-ext "^0.10.35" 387 | es6-symbol "^3.1.1" 388 | 389 | es6-symbol@^3.1.1, es6-symbol@^3.1.3: 390 | version "3.1.3" 391 | resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" 392 | integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== 393 | dependencies: 394 | d "^1.0.1" 395 | ext "^1.1.2" 396 | 397 | escape-html@~1.0.3: 398 | version "1.0.3" 399 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" 400 | integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== 401 | 402 | etag@~1.8.1: 403 | version "1.8.1" 404 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" 405 | integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== 406 | 407 | express@^4.18.2: 408 | version "4.18.2" 409 | resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" 410 | integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== 411 | dependencies: 412 | accepts "~1.3.8" 413 | array-flatten "1.1.1" 414 | body-parser "1.20.1" 415 | content-disposition "0.5.4" 416 | content-type "~1.0.4" 417 | cookie "0.5.0" 418 | cookie-signature "1.0.6" 419 | debug "2.6.9" 420 | depd "2.0.0" 421 | encodeurl "~1.0.2" 422 | escape-html "~1.0.3" 423 | etag "~1.8.1" 424 | finalhandler "1.2.0" 425 | fresh "0.5.2" 426 | http-errors "2.0.0" 427 | merge-descriptors "1.0.1" 428 | methods "~1.1.2" 429 | on-finished "2.4.1" 430 | parseurl "~1.3.3" 431 | path-to-regexp "0.1.7" 432 | proxy-addr "~2.0.7" 433 | qs "6.11.0" 434 | range-parser "~1.2.1" 435 | safe-buffer "5.2.1" 436 | send "0.18.0" 437 | serve-static "1.15.0" 438 | setprototypeof "1.2.0" 439 | statuses "2.0.1" 440 | type-is "~1.6.18" 441 | utils-merge "1.0.1" 442 | vary "~1.1.2" 443 | 444 | ext@^1.1.2: 445 | version "1.7.0" 446 | resolved "https://registry.yarnpkg.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f" 447 | integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw== 448 | dependencies: 449 | type "^2.7.2" 450 | 451 | finalhandler@1.2.0: 452 | version "1.2.0" 453 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" 454 | integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== 455 | dependencies: 456 | debug "2.6.9" 457 | encodeurl "~1.0.2" 458 | escape-html "~1.0.3" 459 | on-finished "2.4.1" 460 | parseurl "~1.3.3" 461 | statuses "2.0.1" 462 | unpipe "~1.0.0" 463 | 464 | follow-redirects@^1.15.0: 465 | version "1.15.2" 466 | resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" 467 | integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== 468 | 469 | form-data@^4.0.0: 470 | version "4.0.0" 471 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" 472 | integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== 473 | dependencies: 474 | asynckit "^0.4.0" 475 | combined-stream "^1.0.8" 476 | mime-types "^2.1.12" 477 | 478 | forwarded@0.2.0: 479 | version "0.2.0" 480 | resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" 481 | integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== 482 | 483 | fresh@0.5.2: 484 | version "0.5.2" 485 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" 486 | integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== 487 | 488 | function-bind@^1.1.1: 489 | version "1.1.1" 490 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 491 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 492 | 493 | get-intrinsic@^1.0.2: 494 | version "1.1.3" 495 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz#063c84329ad93e83893c7f4f243ef63ffa351385" 496 | integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== 497 | dependencies: 498 | function-bind "^1.1.1" 499 | has "^1.0.3" 500 | has-symbols "^1.0.3" 501 | 502 | has-symbols@^1.0.3: 503 | version "1.0.3" 504 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" 505 | integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== 506 | 507 | has@^1.0.3: 508 | version "1.0.3" 509 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 510 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 511 | dependencies: 512 | function-bind "^1.1.1" 513 | 514 | http-errors@2.0.0: 515 | version "2.0.0" 516 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" 517 | integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== 518 | dependencies: 519 | depd "2.0.0" 520 | inherits "2.0.4" 521 | setprototypeof "1.2.0" 522 | statuses "2.0.1" 523 | toidentifier "1.0.1" 524 | 525 | iconv-lite@0.4.24: 526 | version "0.4.24" 527 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 528 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== 529 | dependencies: 530 | safer-buffer ">= 2.1.2 < 3" 531 | 532 | inherits@2.0.4: 533 | version "2.0.4" 534 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 535 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 536 | 537 | ipaddr.js@1.9.1: 538 | version "1.9.1" 539 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" 540 | integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== 541 | 542 | is-typedarray@^1.0.0: 543 | version "1.0.0" 544 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 545 | integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== 546 | 547 | make-error@^1.1.1: 548 | version "1.3.6" 549 | resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" 550 | integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== 551 | 552 | media-typer@0.3.0: 553 | version "0.3.0" 554 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" 555 | integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== 556 | 557 | merge-descriptors@1.0.1: 558 | version "1.0.1" 559 | resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" 560 | integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== 561 | 562 | methods@~1.1.2: 563 | version "1.1.2" 564 | resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" 565 | integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== 566 | 567 | mime-db@1.52.0: 568 | version "1.52.0" 569 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" 570 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== 571 | 572 | mime-types@^2.1.12, mime-types@~2.1.24, mime-types@~2.1.34: 573 | version "2.1.35" 574 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" 575 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== 576 | dependencies: 577 | mime-db "1.52.0" 578 | 579 | mime@1.6.0: 580 | version "1.6.0" 581 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" 582 | integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== 583 | 584 | ms@2.0.0: 585 | version "2.0.0" 586 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 587 | integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== 588 | 589 | ms@2.1.3: 590 | version "2.1.3" 591 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" 592 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 593 | 594 | negotiator@0.6.3: 595 | version "0.6.3" 596 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" 597 | integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== 598 | 599 | next-tick@^1.1.0: 600 | version "1.1.0" 601 | resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" 602 | integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== 603 | 604 | node-fetch@2.6.7: 605 | version "2.6.7" 606 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" 607 | integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== 608 | dependencies: 609 | whatwg-url "^5.0.0" 610 | 611 | node-gyp-build@^4.3.0: 612 | version "4.6.0" 613 | resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.6.0.tgz#0c52e4cbf54bbd28b709820ef7b6a3c2d6209055" 614 | integrity sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ== 615 | 616 | object-assign@^4: 617 | version "4.1.1" 618 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 619 | integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== 620 | 621 | object-inspect@^1.9.0: 622 | version "1.12.3" 623 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" 624 | integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== 625 | 626 | on-finished@2.4.1: 627 | version "2.4.1" 628 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" 629 | integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== 630 | dependencies: 631 | ee-first "1.1.1" 632 | 633 | parseurl@~1.3.3: 634 | version "1.3.3" 635 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" 636 | integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== 637 | 638 | path-to-regexp@0.1.7: 639 | version "0.1.7" 640 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" 641 | integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== 642 | 643 | proxy-addr@~2.0.7: 644 | version "2.0.7" 645 | resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" 646 | integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== 647 | dependencies: 648 | forwarded "0.2.0" 649 | ipaddr.js "1.9.1" 650 | 651 | proxy-from-env@^1.1.0: 652 | version "1.1.0" 653 | resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" 654 | integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== 655 | 656 | qs@6.11.0, qs@^6.11.0: 657 | version "6.11.0" 658 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" 659 | integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== 660 | dependencies: 661 | side-channel "^1.0.4" 662 | 663 | range-parser@~1.2.1: 664 | version "1.2.1" 665 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" 666 | integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== 667 | 668 | raw-body@2.5.1: 669 | version "2.5.1" 670 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" 671 | integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== 672 | dependencies: 673 | bytes "3.1.2" 674 | http-errors "2.0.0" 675 | iconv-lite "0.4.24" 676 | unpipe "1.0.0" 677 | 678 | safe-buffer@5.2.1: 679 | version "5.2.1" 680 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 681 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 682 | 683 | "safer-buffer@>= 2.1.2 < 3": 684 | version "2.1.2" 685 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 686 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 687 | 688 | send@0.18.0: 689 | version "0.18.0" 690 | resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" 691 | integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== 692 | dependencies: 693 | debug "2.6.9" 694 | depd "2.0.0" 695 | destroy "1.2.0" 696 | encodeurl "~1.0.2" 697 | escape-html "~1.0.3" 698 | etag "~1.8.1" 699 | fresh "0.5.2" 700 | http-errors "2.0.0" 701 | mime "1.6.0" 702 | ms "2.1.3" 703 | on-finished "2.4.1" 704 | range-parser "~1.2.1" 705 | statuses "2.0.1" 706 | 707 | serve-static@1.15.0: 708 | version "1.15.0" 709 | resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" 710 | integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== 711 | dependencies: 712 | encodeurl "~1.0.2" 713 | escape-html "~1.0.3" 714 | parseurl "~1.3.3" 715 | send "0.18.0" 716 | 717 | setprototypeof@1.2.0: 718 | version "1.2.0" 719 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" 720 | integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== 721 | 722 | side-channel@^1.0.4: 723 | version "1.0.4" 724 | resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" 725 | integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== 726 | dependencies: 727 | call-bind "^1.0.0" 728 | get-intrinsic "^1.0.2" 729 | object-inspect "^1.9.0" 730 | 731 | statuses@2.0.1: 732 | version "2.0.1" 733 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" 734 | integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== 735 | 736 | stripe@^11.6.0: 737 | version "11.6.0" 738 | resolved "https://registry.yarnpkg.com/stripe/-/stripe-11.6.0.tgz#4f1f79e5c43695f161b9073b0aab78a2c1bf7e9d" 739 | integrity sha512-ht8S1l8CJJE3jtv2NM1mEQzZBkITYvb9uDpSeXYeNz9iJkFFgDU169htwOW00OdIESvFaIsGgWQatAE5dfOERQ== 740 | dependencies: 741 | "@types/node" ">=8.1.0" 742 | qs "^6.11.0" 743 | 744 | toidentifier@1.0.1: 745 | version "1.0.1" 746 | resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" 747 | integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== 748 | 749 | tr46@~0.0.3: 750 | version "0.0.3" 751 | resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" 752 | integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== 753 | 754 | ts-node@^10.9.1: 755 | version "10.9.1" 756 | resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" 757 | integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== 758 | dependencies: 759 | "@cspotcode/source-map-support" "^0.8.0" 760 | "@tsconfig/node10" "^1.0.7" 761 | "@tsconfig/node12" "^1.0.7" 762 | "@tsconfig/node14" "^1.0.0" 763 | "@tsconfig/node16" "^1.0.2" 764 | acorn "^8.4.1" 765 | acorn-walk "^8.1.1" 766 | arg "^4.1.0" 767 | create-require "^1.1.0" 768 | diff "^4.0.1" 769 | make-error "^1.1.1" 770 | v8-compile-cache-lib "^3.0.1" 771 | yn "3.1.1" 772 | 773 | type-is@~1.6.18: 774 | version "1.6.18" 775 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" 776 | integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== 777 | dependencies: 778 | media-typer "0.3.0" 779 | mime-types "~2.1.24" 780 | 781 | type@^1.0.1: 782 | version "1.2.0" 783 | resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" 784 | integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== 785 | 786 | type@^2.7.2: 787 | version "2.7.2" 788 | resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0" 789 | integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw== 790 | 791 | typedarray-to-buffer@^3.1.5: 792 | version "3.1.5" 793 | resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" 794 | integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== 795 | dependencies: 796 | is-typedarray "^1.0.0" 797 | 798 | typescript@^4.9.4: 799 | version "4.9.4" 800 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.4.tgz#a2a3d2756c079abda241d75f149df9d561091e78" 801 | integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg== 802 | 803 | unpipe@1.0.0, unpipe@~1.0.0: 804 | version "1.0.0" 805 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" 806 | integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== 807 | 808 | utf-8-validate@^5.0.2: 809 | version "5.0.10" 810 | resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.10.tgz#d7d10ea39318171ca982718b6b96a8d2442571a2" 811 | integrity sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ== 812 | dependencies: 813 | node-gyp-build "^4.3.0" 814 | 815 | utils-merge@1.0.1: 816 | version "1.0.1" 817 | resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" 818 | integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== 819 | 820 | v8-compile-cache-lib@^3.0.1: 821 | version "3.0.1" 822 | resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" 823 | integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== 824 | 825 | vary@^1, vary@~1.1.2: 826 | version "1.1.2" 827 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" 828 | integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== 829 | 830 | webidl-conversions@^3.0.0: 831 | version "3.0.1" 832 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" 833 | integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== 834 | 835 | websocket@^1.0.34: 836 | version "1.0.34" 837 | resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.34.tgz#2bdc2602c08bf2c82253b730655c0ef7dcab3111" 838 | integrity sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ== 839 | dependencies: 840 | bufferutil "^4.0.1" 841 | debug "^2.2.0" 842 | es5-ext "^0.10.50" 843 | typedarray-to-buffer "^3.1.5" 844 | utf-8-validate "^5.0.2" 845 | yaeti "^0.0.6" 846 | 847 | whatwg-url@^5.0.0: 848 | version "5.0.0" 849 | resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" 850 | integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== 851 | dependencies: 852 | tr46 "~0.0.3" 853 | webidl-conversions "^3.0.0" 854 | 855 | yaeti@^0.0.6: 856 | version "0.0.6" 857 | resolved "https://registry.yarnpkg.com/yaeti/-/yaeti-0.0.6.tgz#f26f484d72684cf42bedfb76970aa1608fbf9577" 858 | integrity sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug== 859 | 860 | yn@3.1.1: 861 | version "3.1.1" 862 | resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" 863 | integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== 864 | -------------------------------------------------------------------------------- /frontend/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coderaidershaun/qwik-supabase-nginx-project/10085b6e9cb3815109e7e7b495f03f241ef90d84/frontend/.DS_Store -------------------------------------------------------------------------------- /frontend/.eslintignore: -------------------------------------------------------------------------------- 1 | **/*.log 2 | **/.DS_Store 3 | *. 4 | .vscode/settings.json 5 | .history 6 | .yarn 7 | bazel-* 8 | bazel-bin 9 | bazel-out 10 | bazel-qwik 11 | bazel-testlogs 12 | dist 13 | dist-dev 14 | lib 15 | lib-types 16 | etc 17 | external 18 | node_modules 19 | temp 20 | tsc-out 21 | tsdoc-metadata.json 22 | target 23 | output 24 | rollup.config.js 25 | build 26 | .cache 27 | .vscode 28 | .rollup.cache 29 | dist 30 | tsconfig.tsbuildinfo 31 | vite.config.ts 32 | *.spec.tsx 33 | *.spec.ts 34 | -------------------------------------------------------------------------------- /frontend/.eslintrc.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | env: { 4 | browser: true, 5 | es2021: true, 6 | node: true, 7 | }, 8 | extends: [ 9 | 'eslint:recommended', 10 | 'plugin:@typescript-eslint/recommended', 11 | 'plugin:qwik/recommended', 12 | ], 13 | parser: '@typescript-eslint/parser', 14 | parserOptions: { 15 | tsconfigRootDir: __dirname, 16 | project: ['./tsconfig.json'], 17 | ecmaVersion: 2021, 18 | sourceType: 'module', 19 | ecmaFeatures: { 20 | jsx: true, 21 | }, 22 | }, 23 | plugins: ['@typescript-eslint'], 24 | rules: { 25 | '@typescript-eslint/no-explicit-any': 'off', 26 | '@typescript-eslint/explicit-module-boundary-types': 'off', 27 | '@typescript-eslint/no-inferrable-types': 'off', 28 | '@typescript-eslint/no-non-null-assertion': 'off', 29 | '@typescript-eslint/no-empty-interface': 'off', 30 | '@typescript-eslint/no-namespace': 'off', 31 | '@typescript-eslint/no-empty-function': 'off', 32 | '@typescript-eslint/no-this-alias': 'off', 33 | '@typescript-eslint/ban-types': 'off', 34 | '@typescript-eslint/ban-ts-comment': 'off', 35 | 'prefer-spread': 'off', 36 | 'no-case-declarations': 'off', 37 | 'no-console': 'off', 38 | '@typescript-eslint/no-unused-vars': ['error'], 39 | }, 40 | }; 41 | -------------------------------------------------------------------------------- /frontend/.prettierignore: -------------------------------------------------------------------------------- 1 | # Files Prettier should not format 2 | **/*.log 3 | **/.DS_Store 4 | *. 5 | dist 6 | node_modules 7 | -------------------------------------------------------------------------------- /frontend/README.md: -------------------------------------------------------------------------------- 1 | # Qwik Intro Useful Links 2 | 3 | - [YouTube Series](https://youtu.be/zLHYDY9dAbs) 4 | - [Code Raiders](https://coderaiders.com) 5 | 6 | --- 7 | 8 | ## Step 1 9 | 10 | Add your SUPABASE credentials to frontend/src/utils/supabase.ts 11 | 12 | ## Step 2 13 | 14 | ```shell 15 | cd frontend 16 | ``` 17 | 18 | ## Step 3 19 | 20 | ```shell 21 | npm ci 22 | ``` 23 | 24 | ## Step 4 25 | 26 | ```shell 27 | npm run build 28 | ``` 29 | 30 | ## Step 5 31 | 32 | ```shell 33 | npm run dev 34 | ``` 35 | 36 | ## Express Server 37 | 38 | This app has a minimal [Express server](https://expressjs.com/) implementation. After running a full build, you can preview the build using the command: 39 | 40 | ``` 41 | npm run serve 42 | ``` 43 | 44 | Then visit [http://localhost:8080/](http://localhost:8080/) 45 | 46 | ## Express Server 47 | 48 | This app has a minimal [Express server](https://expressjs.com/) implementation. After running a full build, you can preview the build using the command: 49 | 50 | ``` 51 | npm run serve 52 | ``` 53 | 54 | Then visit [http://localhost:8080/](http://localhost:8080/) 55 | -------------------------------------------------------------------------------- /frontend/adaptors/express/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { expressAdaptor } from '@builder.io/qwik-city/adaptors/express/vite'; 2 | import { extendConfig } from '@builder.io/qwik-city/vite'; 3 | import baseConfig from '../../vite.config'; 4 | 5 | export default extendConfig(baseConfig, () => { 6 | return { 7 | build: { 8 | ssr: true, 9 | rollupOptions: { 10 | input: ['src/entry.express.tsx', '@qwik-city-plan'], 11 | }, 12 | }, 13 | plugins: [ 14 | expressAdaptor({ 15 | staticGenerate: true, 16 | }), 17 | ], 18 | }; 19 | }); 20 | -------------------------------------------------------------------------------- /frontend/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "my-qwik-basic-starter", 3 | "description": "App with Routing built-in (recommended)", 4 | "engines": { 5 | "node": ">=15.0.0" 6 | }, 7 | "private": true, 8 | "scripts": { 9 | "build": "qwik build", 10 | "build.client": "vite build", 11 | "build.preview": "vite build --ssr src/entry.preview.tsx", 12 | "build.server": "vite build -c adaptors/express/vite.config.ts", 13 | "build.types": "tsc --incremental --noEmit", 14 | "deploy": "node server/entry.express", 15 | "dev": "vite --mode ssr", 16 | "dev.debug": "node --inspect-brk ./node_modules/vite/bin/vite.js --mode ssr --force", 17 | "fmt": "prettier --write .", 18 | "fmt.check": "prettier --check .", 19 | "lint": "eslint \"src/**/*.ts*\"", 20 | "preview": "qwik build preview && vite preview --open", 21 | "start": "vite --open --mode ssr", 22 | "qwik": "qwik" 23 | }, 24 | "devDependencies": { 25 | "@builder.io/qwik": "0.16.1", 26 | "@builder.io/qwik-city": "0.0.128", 27 | "@types/compression": "^1.7.2", 28 | "@types/eslint": "8.4.10", 29 | "@types/express": "4.17.13", 30 | "@types/node": "^18.11.16", 31 | "@types/node-fetch": "latest", 32 | "@typescript-eslint/eslint-plugin": "5.46.1", 33 | "@typescript-eslint/parser": "5.46.1", 34 | "autoprefixer": "10.4.11", 35 | "compression": "^1.7.4", 36 | "eslint": "8.30.0", 37 | "eslint-plugin-qwik": "0.16.1", 38 | "express": "4.17.3", 39 | "node-fetch": "3.3.0", 40 | "postcss": "^8.4.16", 41 | "prettier": "2.8.1", 42 | "tailwindcss": "^3.1.8", 43 | "typescript": "4.9.4", 44 | "undici": "5.14.0", 45 | "vite": "4.0.1", 46 | "vite-tsconfig-paths": "3.5.0" 47 | }, 48 | "dependencies": { 49 | "@supabase/supabase-js": "^2.2.2", 50 | "axios": "^1.2.3", 51 | "dotenv": "^16.0.3" 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /frontend/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /frontend/public/favicon.svg: -------------------------------------------------------------------------------- 1 | 19 | 40 | 41 | 42 | 47 | 52 | 53 | 54 | 59 | 64 | 65 | 76 | 87 | 98 | 109 | 120 | 131 | 142 | 153 | 164 | 175 | 176 | 177 | 182 | 190 | 197 | 202 | 207 | 212 | 217 | 222 | 227 | 232 | 237 | 242 | 243 | 244 | 245 | -------------------------------------------------------------------------------- /frontend/public/img/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coderaidershaun/qwik-supabase-nginx-project/10085b6e9cb3815109e7e7b495f03f241ef90d84/frontend/public/img/icon.png -------------------------------------------------------------------------------- /frontend/public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json.schemastore.org/web-manifest-combined.json", 3 | "name": "qwik-project-name", 4 | "short_name": "Welcome to Qwik", 5 | "start_url": ".", 6 | "display": "standalone", 7 | "background_color": "#fff", 8 | "description": "A Qwik project app." 9 | } 10 | -------------------------------------------------------------------------------- /frontend/public/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coderaidershaun/qwik-supabase-nginx-project/10085b6e9cb3815109e7e7b495f03f241ef90d84/frontend/public/robots.txt -------------------------------------------------------------------------------- /frontend/server/@qwik-city-not-found-paths.js: -------------------------------------------------------------------------------- 1 | const notFounds = [ 2 | [ 3 | "/", 4 | "\n\n\n \n \n 404 Resource Not Found\n \n \n\n\n

404 Resource Not Found

\n\n" 5 | ] 6 | ]; 7 | function getNotFound(p) { 8 | for (const r of notFounds) { 9 | if (p.startsWith(r[0])) { 10 | return r[1]; 11 | } 12 | } 13 | return "Resource Not Found"; 14 | } 15 | export { getNotFound }; -------------------------------------------------------------------------------- /frontend/server/@qwik-city-plan.mjs: -------------------------------------------------------------------------------- 1 | import{componentQrl as a,inlinedQrl as n,useStylesScopedQrl as E,_wrapSignal as b,useContext as $,useSignal as v,useLexicalScope as O,useClientEffectQrl as C,_noopQrl as P,_IMMUTABLE as t,Slot as D,useStore as I}from"@builder.io/qwik";import{jsxs as s,jsx as e,Fragment as x}from"@builder.io/qwik/jsx-runtime";import{U as L,u as T,L as l,a as B}from"./assets/root-7ec1d247.mjs";import{createClient as A}from"@supabase/supabase-js";import G from"dotenv";const U=`.logo-title{font-weight:350;font-stretch:125%}.logo-subtitle{font-weight:400;font-stretch:95%} 2 | `,H=a(n(()=>(E(n(U,"s_Nha0bvvmMwE")),s("div",{class:"flex justify-start items-center",children:[e("div",{class:"w-12 h-12 mr-2",children:e("img",{src:"/img/icon.png",alt:"Code Raiders Logo"})}),s("div",{children:[e("div",{class:"text-lg logo-title text-gray-800",children:"Code Raiders"}),e("div",{class:"-mt-2 text-[10pt] logo-subtitle text-gray-500 italic",children:"Shut up and code"})]})]})),"s_Pr2nqhxZcRI")),w=a(n(r=>e("button",{onClick$:r.handleFunction,class:r.classText+" transition-all duration-300 px-4 py-2 rounded-sm ",children:e("div",{children:b(r,"title")})}),"s_htFOus9HPNo")),N="https://somgwzxrlvjonciazklm.supabase.co",Q="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InNvbWd3enhybHZqb25jaWF6a2xtIiwicm9sZSI6ImFub24iLCJpYXQiOjE2NzMxNzQzMDMsImV4cCI6MTk4ODc1MDMwM30.FV5Gh4bG09RtPImVBdZgcVD3MtDC-taSoo4hOyVTePo",y=A(N,Q),V=a(n(()=>{const r=$(L),i=v(!1),o=T(),h=n(async()=>{const[u]=O();await y.auth.signOut(),u.path="/"},"s_4lI93x0px88",[o]);return C(P("s_3LSBotgjcd4",[i,r])),e("nav",{class:"bg-white py-4 px-7 sticky",children:s("div",{class:"flex justify-between items-center",children:[e(l,{href:"/",children:e(H,{},"uO_0"),[t]:{href:t}},"uO_1"),s("div",{class:"flex items-center text-sm",children:[s("ul",{class:"flex space-x-10",children:[e("li",{children:e(l,{href:"/about",children:"About",[t]:{href:t}},"uO_2")}),e("li",{children:e(l,{href:"/shop",children:"Shop",[t]:{href:t}},"uO_3")}),e("li",{children:e(l,{href:"/services",children:"Services",[t]:{href:t}},"uO_4")})]}),e("div",{class:"border-r border-gray-300 h-10 ml-10"}),i.value&&s(x,{children:[e("button",{onClick$:h,class:"ml-10",children:"Logout"}),e(l,{href:"/members/dashboard",children:e(w,{title:"Dashboard",classText:"mr-5 ml-10 bg-sky-500 border border-sky-500 hover:bg-sky-400 text-white",[t]:{title:t,classText:t}},"uO_5"),[t]:{href:t}},"uO_6")]},"uO_7"),!i.value&&s(x,{children:[e(l,{href:"/login",children:e(w,{title:"Log In",classText:"mr-2 ml-10 border border-sky-500 text-sky-500 hover:text-sky-400 hover:border-sky-400",noBackground:!0,[t]:{title:t,classText:t,noBackground:t}},"uO_8"),[t]:{href:t}},"uO_9"),e(l,{href:"/signup",children:e(w,{title:"Sign Up",classText:"mr-5 ml-5 bg-green-500 border border-green-500 hover:bg-green-400 text-white",[t]:{title:t,classText:t}},"uO_10"),[t]:{href:t}},"uO_11")]},"uO_12")],[t]:{children:!1}})]})})},"s_D6gnpqBvIxc")),Y=[{label:"About",link:"/about"},{label:"Shop",link:"/shop"},{label:"Services",link:"/services"},{label:"Privacy",link:"/privacy"},{label:"Terms",link:"/terms"},{label:"Disclaimer",link:"/disclaimer"},{label:"Contact",link:"/contact"}],J=a(n(()=>e("footer",{class:"bg-gray-900",children:s("div",{class:"mx-auto max-w-7xl overflow-hidden py-12 px-4 sm:px-6 lg:px-8",children:[e("nav",{class:"-mx-5 -my-2 flex flex-wrap justify-center","aria-label":"Footer",children:Y.map(r=>e("div",{class:"px-5 py-2",children:e(l,{get href(){return r.link},class:"text-base text-gray-500 hover:text-sky-500",children:b(r,"label"),[t]:{href:b(r,"link"),class:t}},"py_0")},r.label))}),e("p",{class:"mt-8 text-center text-base text-gray-400",children:"© 2023 CodeRaiders.com - XCHAIN ANALYTICS LTD"})]})}),"s_GG4uQ3LbNIU")),F=a(n(()=>e(x,{children:s("main",{children:[e(V,{},"p0_0"),e("section",{children:e(D,{},"p0_1")}),e(J,{},"p0_2")]})},"p0_3"),"s_AFVtdLQxhqM")),Z=Object.freeze(Object.defineProperty({__proto__:null,default:F},Symbol.toStringTag,{value:"Module"})),W=a(n(()=>e("section",{class:"py-24 w-full bg-gradient-to-br from-gray-900 to-sky-900 shadow-xl",children:s("div",{class:"flex flex-col h-full items-center justify-center w-full",children:[e("div",{class:"text-white text-4xl md:text-5xl lg:text-7xl tracking-tighter font-extrabold font-sans",children:"Good People Borrow"}),e("div",{class:"relative flex justify-center text-white text-5xl md:text-6xl lg:text-8xl tracking-tight font-extrabold font-sans",children:e("div",{class:"text-green-500 ",children:"Great People Steal"})}),e("div",{class:"text-slate-300 mt-24 italic text-xl font-light",children:"~ Picasso ~"}),e("div",{class:"text-white mt-24 itali text-xl italic",children:"Get the Developer Resources Your Need"}),e(l,{href:"/signup",children:e(w,{title:"Become a Code Raider",classText:"bg-sky-500 hover:bg-sky-400 mt-5 shadow-xl hover:shadow-none",[t]:{title:t,classText:t}},"hU_0"),[t]:{href:t}},"hU_1")]})}),"s_iM00hJibi0U")),K=a(n(()=>s(x,{children:[e(W,{},"Ro_0"),e("div",{class:"flex justify-center py-12 w-full",children:e("a",{href:"/members/dashboard",children:"DASHBOARD"})})]},"Ro_1"),"s_4uBaEu4a7Ac")),X={title:"Code Raiders",meta:[{name:"description",content:"Code, training and applications for making development exciting"}]},ee=Object.freeze(Object.defineProperty({__proto__:null,default:K,head:X},Symbol.toStringTag,{value:"Module"})),te=a(n(()=>{const r=$(L),i=v(!1),o=T();return C(P("s_j0ikt72I750",[i,o,r])),e(x,{children:s("div",{children:[i&&s(x,{children:[e("span",{children:"Redirecting to "}),e(l,{href:"/members/dashboard",children:e("button",{class:"text-sky-500 hover:text-sky-600",children:"Dashboard"}),[t]:{href:t}},"Cv_0")]},"Cv_1"),!i&&e(x,{children:"Please log in"},"Cv_2")],[t]:{children:!1}})},"Cv_3")},"s_DWH5H0sHpx8")),se={title:"Staging",meta:[{name:"description",content:"Authorization check for Code Raiders"}]},re=Object.freeze(Object.defineProperty({__proto__:null,default:te,head:se},Symbol.toStringTag,{value:"Module"})),z=r=>!!new RegExp(/^\w+([.-]?\w+)*@\w+([.-]?\w+)*(.\w{2,3})+$/).test(r),ie=async r=>{var u,c;G.config();const i={isSession:!1,user:{},role:""},o=process.env.SUPABASE_URL,h=process.env.SUPABASE_SECRET_KEY;if(o&&h){const d=A(o,h),m=(u=r.get("server-access-token"))==null?void 0:u.value,{data:g}=await d.auth.getUser(m);if((c=g==null?void 0:g.user)!=null&&c.id){i.isSession=!0,i.user=g.user;const{data:f}=await d.from("profiles").select("id, role").eq("id",g.user.id).limit(1);f&&(f!=null&&f[0].role)&&(i.role=f[0].role)}}return i},ne=async({response:r,cookie:i})=>{const o=await ie(i);if((o==null?void 0:o.role)!=="free")throw r.redirect("/login",300);return o},le=a(n(()=>{const r=B(),i=v(!1),o=T();return C(P("s_04qKAmMDQjI",[i,o,r])),e("main",{children:i.value&&s("div",{class:"text-gray-900",children:[e("div",{class:"text-2xl",children:"Welcome to the Dashboard Page"}),e(l,{href:"/",children:e("button",{class:"text-sm text-sky-500 hover:text-sky-400",children:"Home page"}),[t]:{href:t}},"pD_0")]}),[t]:{children:!1}})},"s_7w7YYyGS1d0")),ae={title:"Dashboard",meta:[{name:"description",content:"Members dashboard for Code Raiders"}]},oe=Object.freeze(Object.defineProperty({__proto__:null,onGet:ne,default:le,head:ae},Symbol.toStringTag,{value:"Module"})),ce=a(n(()=>e("h1",{class:"h-screen",children:"About Page"}),"s_ReBlX6NH9R0")),de={title:"About",meta:[{name:"description",content:"Learn all about the Code Raiders initialive"}]},ue=Object.freeze(Object.defineProperty({__proto__:null,default:ce,head:de},Symbol.toStringTag,{value:"Module"})),he=a(n(()=>e("div",{children:"Contact"}),"s_M0MhZOWBKK8")),me={title:"Contact us",meta:[{name:"description",content:"Contact admin team at Code Raiders"}]},ge=Object.freeze(Object.defineProperty({__proto__:null,default:he,head:me},Symbol.toStringTag,{value:"Module"})),fe=a(n(()=>e("div",{children:"Disclaimer"}),"s_1s5dhyML68g")),xe={title:"Disclaimer",meta:[{name:"description",content:"Disclaimer"}]},pe=Object.freeze(Object.defineProperty({__proto__:null,default:fe,head:xe},Symbol.toStringTag,{value:"Module"})),R=a(n(({message:r,classText:i})=>e(x,{children:r.message&&e("div",{class:i+" transition-all duration-500 text-sm border py-2 px-4 w-full fade-in "+(r.status==="error"&&" text-red-600 bg-red-50 border-red-600 ")+(r.status==="warning"&&" text-yellow-600 bg-yellow-50 border-yellow-600 ")+(r.status==="notice"&&" text-sky-600 bg-sky-50 border-sky-600 ")+(r.status==="success"&&" text-green-600 bg-green-50 border-green-600 "),children:b(r,"message")}),[t]:{children:!1}},"Js_0"),"s_qVqzm1QnNRM")),S="http://localhost:80/login/staging",be=a(n(()=>{const r=I({message:void 0,status:"error"}),i=v(!1),o=n(async()=>{const{data:u,error:c}=await y.auth.signInWithOAuth({provider:"github",options:{redirectTo:S}});console.log(u),console.log("Error: ",c)},"s_RZswcvlb56s"),h=n(async u=>{const[c,d]=O();d.message=void 0,d.status="error",c.value=!0;const m=u.target.email.value;if(!z(m)){d.message="You must have a valid email",c.value=!1;return}const{data:f,error:p}=await y.auth.signInWithOtp({email:m,options:{emailRedirectTo:S}});if(f&&!p){d.message="Success. Please check your email/spam folder",d.status="success",c.value=!1;return}else{d.message="There was a problem creating a user. "+(p==null?void 0:p.message),c.value=!1;return}},"s_eKGt4z6xr5M",[i,r]);return s("div",{class:"flex min-h-full flex-col justify-center py-12 sm:px-6 lg:px-8",children:[s("div",{class:"sm:mx-auto sm:w-full sm:max-w-md",children:[e(l,{href:"/",children:e("img",{class:"w-24 h-24 mx-auto",src:"/img/icon.png"}),[t]:{href:t}},"iS_0"),e("h2",{class:"mt-6 text-center text-3xl font-bold tracking-tight text-gray-900",children:"Log in"}),s("p",{class:"mt-2 text-center text-sm text-gray-600",children:["Or"," ",e(l,{href:"/signup",class:"font-medium text-sky-600 hover:text-sky-500",children:"create an account",[t]:{href:t,class:t}},"iS_1")]})]}),e("div",{class:"mt-8 sm:mx-auto sm:w-full sm:max-w-md",children:s("div",{class:"bg-white py-8 px-4 shadow sm:rounded-sm sm:px-10",children:[s("div",{class:"",children:[s("div",{class:"grid grid-cols-2 gap-3",children:[e("div",{children:s("a",{href:"#",class:"inline-flex w-full justify-center rounded-md border border-gray-300 bg-white py-2 px-4 text-sm font-medium text-gray-500 shadow-sm hover:bg-gray-50",children:[e("span",{class:"sr-only",children:"Log in with Google"}),s("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",class:"h-5 w-5",viewBox:"0 0 16 16",children:[" ",e("path",{d:"M15.545 6.558a9.42 9.42 0 0 1 .139 1.626c0 2.434-.87 4.492-2.384 5.885h.002C11.978 15.292 10.158 16 8 16A8 8 0 1 1 8 0a7.689 7.689 0 0 1 5.352 2.082l-2.284 2.284A4.347 4.347 0 0 0 8 3.166c-2.087 0-3.86 1.408-4.492 3.304a4.792 4.792 0 0 0 0 3.063h.003c.635 1.893 2.405 3.301 4.492 3.301 1.078 0 2.004-.276 2.722-.764h-.003a3.702 3.702 0 0 0 1.599-2.431H8v-3.08h7.545z"})," "]})]})}),e("div",{children:s("button",{onClick$:o,class:"inline-flex w-full justify-center rounded-md border border-gray-300 bg-white py-2 px-4 text-sm font-medium text-gray-500 shadow-sm hover:bg-gray-50",children:[e("span",{class:"sr-only",children:"Log in with GitHub"}),e("svg",{class:"h-5 w-5","aria-hidden":"true",fill:"currentColor",viewBox:"0 0 20 20",children:e("path",{fillRule:"evenodd",d:"M10 0C4.477 0 0 4.484 0 10.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0110 4.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.203 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.942.359.31.678.921.678 1.856 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0020 10.017C20 4.484 15.522 0 10 0z",clipRule:"evenodd"})})]})})]}),s("div",{class:"relative py-5",children:[e("div",{class:"absolute inset-0 flex items-center",children:e("div",{class:"w-full border-t border-gray-300"})}),e("div",{class:"relative flex justify-center text-sm",children:e("span",{class:"bg-white px-2 text-gray-500",children:"Or log in with email"})})]})]}),s("form",{"preventdefault:submit":!0,onSubmit$:h,class:"space-y-6",action:"#",method:"POST",children:[s("div",{children:[e("label",{class:"block text-sm font-medium text-gray-700",children:"Email address"}),e("div",{class:"mt-1",children:e("input",{id:"email",name:"email",type:"email",autoComplete:"email",required:!0,class:"block w-full appearance-none rounded-sm border border-gray-300 px-3 py-2 placeholder-gray-400 shadow-sm focus:border-sky-500 focus:outline-none focus:ring-sky-500 sm:text-sm"})})]}),e("div",{class:"flex items-center justify-between",children:e("div",{class:"text-sm",children:e(l,{href:"/contact",class:"font-medium text-sky-600 hover:text-sky-500",children:"Problems signing in?",[t]:{href:t,class:t}},"iS_2")})}),s("div",{children:[e("button",{type:"submit",class:"transition-all duration-300 flex w-full justify-center rounded-sm border border-transparent bg-sky-500 py-2 px-4 text-sm font-medium text-white shadow-sm hover:bg-sky-600 focus:outline-none focus:ring-2 focus:ring-sky-500 disabled:bg-gray-500 disabled:hover:bg-gray-500 focus:ring-offset-2",children:"Log in"}),e("p",{class:"text-xs text-center text-gray-500 mt-1",children:"No password required. Authorize via email."})]})]}),e(R,{message:r,classText:"mt-3",[t]:{message:t,classText:t}},"iS_3")]})})]})},"s_2gZ5kKqe2wY")),ye=Object.freeze(Object.defineProperty({__proto__:null,REDIRECT_URL:S,default:be},Symbol.toStringTag,{value:"Module"})),ve=a(n(()=>e("div",{children:"Privacy"}),"s_mmJHJQmfzpQ")),_e={title:"Privacy Policy",meta:[{name:"description",content:"Privacy Policy"}]},we=Object.freeze(Object.defineProperty({__proto__:null,default:ve,head:_e},Symbol.toStringTag,{value:"Module"})),Se=a(n(()=>e("h1",{class:"h-screen",children:"Services Page"}),"s_xz0IpC0v0Fc")),ke={title:"Services",meta:[{name:"description",content:"Code downloads, consulting, apps and more"}]},je=Object.freeze(Object.defineProperty({__proto__:null,default:Se,head:ke},Symbol.toStringTag,{value:"Module"})),Oe=a(n(()=>e("h1",{class:"h-screen",children:"Shop Page"}),"s_GE1BvJV0HFk")),Ce={title:"Shop",meta:[{name:"description",content:"Purchase one off code downloads to make your life easier"}]},Pe=Object.freeze(Object.defineProperty({__proto__:null,default:Oe,head:Ce},Symbol.toStringTag,{value:"Module"})),Te=a(n(()=>{const r=I({message:void 0,status:"error"}),i=v(!1),o=n(async()=>{const{data:u,error:c}=await y.auth.signInWithOAuth({provider:"github",options:{redirectTo:S}});console.log(u),console.log("Error: ",c)},"s_BA88xGcEQY8"),h=n(async u=>{var M;const[c,d]=O();d.message=void 0,d.status="error",c.value=!0;const m=u.target.email.value,g=u.target.terms.checked;if(!z(m)){d.message="You must have a valid email",c.value=!1;return}if(!g){d.message="You must agree to our terms, privacy and disclaimer before signing up",c.value=!1;return}const p=Date.now(),q=Math.floor(Math.random()*1e6)+m+p,{data:k,error:j}=await y.auth.signUp({email:m,password:q});if((M=k==null?void 0:k.user)!=null&&M.id){d.message="Success. Please check your email/spam folder",d.status="success",c.value=!1;return}else{d.message="There was a problem creating a user. "+(j==null?void 0:j.message),c.value=!1;return}},"s_rJ6GlGrY00o",[i,r]);return s("div",{class:"flex min-h-full flex-col justify-center py-12 sm:px-6 lg:px-8",children:[s("div",{class:"sm:mx-auto sm:w-full sm:max-w-md",children:[e(l,{href:"/",children:e("img",{class:"w-24 h-24 mx-auto",src:"/img/icon.png"}),[t]:{href:t}},"ft_0"),e("h2",{class:"mt-6 text-center text-3xl font-bold tracking-tight text-gray-900",children:"Sign up"}),s("p",{class:"mt-2 text-center text-sm text-gray-600",children:["Or"," ",e(l,{href:"/login",class:"font-medium text-green-600 hover:text-green-500",children:"log in to my account",[t]:{href:t,class:t}},"ft_1")]})]}),e("div",{class:"mt-8 sm:mx-auto sm:w-full sm:max-w-md",children:s("div",{class:"bg-white py-8 px-4 shadow sm:rounded-sm sm:px-10",children:[s("div",{class:"",children:[s("div",{class:"grid grid-cols-2 gap-3",children:[e("div",{children:s("a",{href:"#",class:"inline-flex w-full justify-center rounded-md border border-gray-300 bg-white py-2 px-4 text-sm font-medium text-gray-500 shadow-sm hover:bg-gray-50",children:[e("span",{class:"sr-only",children:"Log in with Google"}),s("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",class:"h-5 w-5",viewBox:"0 0 16 16",children:[" ",e("path",{d:"M15.545 6.558a9.42 9.42 0 0 1 .139 1.626c0 2.434-.87 4.492-2.384 5.885h.002C11.978 15.292 10.158 16 8 16A8 8 0 1 1 8 0a7.689 7.689 0 0 1 5.352 2.082l-2.284 2.284A4.347 4.347 0 0 0 8 3.166c-2.087 0-3.86 1.408-4.492 3.304a4.792 4.792 0 0 0 0 3.063h.003c.635 1.893 2.405 3.301 4.492 3.301 1.078 0 2.004-.276 2.722-.764h-.003a3.702 3.702 0 0 0 1.599-2.431H8v-3.08h7.545z"})," "]})]})}),e("div",{children:s("button",{onClick$:o,class:"inline-flex w-full justify-center rounded-md border border-gray-300 bg-white py-2 px-4 text-sm font-medium text-gray-500 shadow-sm hover:bg-gray-50",children:[e("span",{class:"sr-only",children:"Log in with GitHub"}),e("svg",{class:"h-5 w-5","aria-hidden":"true",fill:"currentColor",viewBox:"0 0 20 20",children:e("path",{fillRule:"evenodd",d:"M10 0C4.477 0 0 4.484 0 10.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0110 4.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.203 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.942.359.31.678.921.678 1.856 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0020 10.017C20 4.484 15.522 0 10 0z",clipRule:"evenodd"})})]})})]}),s("div",{class:"relative py-5",children:[e("div",{class:"absolute inset-0 flex items-center",children:e("div",{class:"w-full border-t border-gray-300"})}),e("div",{class:"relative flex justify-center text-sm",children:e("span",{class:"bg-white px-2 text-gray-500",children:"Or sign up with email"})})]})]}),s("form",{onSubmit$:h,"preventdefault:submit":!0,class:"space-y-6",children:[s("div",{children:[e("label",{class:"block text-sm font-medium text-gray-700",children:"Email address"}),e("div",{class:"mt-1",children:e("input",{id:"email",name:"email",type:"email",autoComplete:"email",required:!0,class:"block w-full appearance-none rounded-sm border border-gray-300 px-3 py-2 placeholder-gray-400 shadow-sm focus:border-sky-500 focus:outline-none focus:ring-sky-500 sm:text-sm"})})]}),e("div",{class:"flex flex-col items-start justify-between space-y-4",children:s("div",{class:"flex items-center",children:[e("input",{id:"terms",name:"terms",type:"checkbox",class:"h-4 w-4 rounded border-gray-300 text-sky-600 focus:ring-sky-500"}),e("label",{class:"ml-2 block text-sm text-gray-900",children:s("span",{children:["Agree to"," ",e(l,{href:"/terms",children:e("span",{class:"text-sky-500 hover:text-sky-400",children:"terms"}),[t]:{href:t}},"ft_2"),","," ",e(l,{href:"/privacy",children:e("span",{class:"text-sky-500 hover:text-sky-400",children:"privacy"}),[t]:{href:t}},"ft_3")," ","and"," ",e(l,{href:"/disclaimer",children:e("span",{class:"text-sky-500 hover:text-sky-400",children:"disclaimer"}),[t]:{href:t}},"ft_4")]})})]})}),s("div",{children:[e("button",{type:"submit",get disabled(){return i.value},class:"transition-all duration-300 flex w-full justify-center rounded-sm border border-transparent bg-sky-500 py-2 px-4 text-sm font-medium text-white shadow-sm hover:bg-sky-600 focus:outline-none focus:ring-2 focus:ring-sky-500 disabled:bg-gray-500 disabled:hover:bg-gray-500 focus:ring-offset-2",children:"Sign up",[t]:{disabled:b(i,"value")}}),e("p",{class:"text-xs text-center text-gray-500 mt-1",children:"No password required. Authorize via email."})]}),e(R,{message:r,[t]:{message:t}},"ft_5")]})]})})]})},"s_5aZSva0X07s")),Me=Object.freeze(Object.defineProperty({__proto__:null,default:Te},Symbol.toStringTag,{value:"Module"})),$e=a(n(()=>e("div",{children:"Terms"}),"s_cTGLZV12wIY")),Ie={title:"Terms",meta:[{name:"description",content:"Terms of use"}]},Le=Object.freeze(Object.defineProperty({__proto__:null,default:$e,head:Ie},Symbol.toStringTag,{value:"Module"})),_=()=>Z,Ae=[[/^\/$/,[_,()=>ee],void 0,"/",["q-da8a015d.js","q-b4a1d39e.js"]],[/^\/login\/staging\/?$/,[()=>re],void 0,"/login/staging/",["q-8766c9f1.js"]],[/^\/members\/dashboard\/?$/,[()=>oe],void 0,"/members/dashboard/",["q-f8953492.js"]],[/^\/about\/?$/,[_,()=>ue],void 0,"/about/",["q-da8a015d.js","q-7c0f50e7.js"]],[/^\/contact\/?$/,[()=>ge],void 0,"/contact/",["q-933655d4.js"]],[/^\/disclaimer\/?$/,[()=>pe],void 0,"/disclaimer/",["q-fb8e0cd7.js"]],[/^\/login\/?$/,[()=>ye],void 0,"/login/",["q-e6d839bc.js"]],[/^\/privacy\/?$/,[()=>we],void 0,"/privacy/",["q-ffa06541.js"]],[/^\/services\/?$/,[_,()=>je],void 0,"/services/",["q-da8a015d.js","q-4ad21a03.js"]],[/^\/shop\/?$/,[_,()=>Pe],void 0,"/shop/",["q-da8a015d.js","q-1d1ea278.js"]],[/^\/signup\/?$/,[()=>Me],void 0,"/signup/",["q-462a0958.js"]],[/^\/terms\/?$/,[()=>Le],void 0,"/terms/",["q-d9b32b7d.js"]]],ze=[],Re=!0,qe="/",Ee=!0,Ne={routes:Ae,menus:ze,trailingSlash:Re,basePathname:qe,cacheModules:Ee};export{qe as basePathname,Ee as cacheModules,Ne as default,ze as menus,Ae as routes,Re as trailingSlash}; 3 | -------------------------------------------------------------------------------- /frontend/server/@qwik-city-static-paths.js: -------------------------------------------------------------------------------- 1 | const staticPaths = new Set(["/favicon.svg","/img/icon.png","/manifest.json","/q-manifest.json","/robots.txt","/service-worker.js","/sitemap.xml"]); 2 | function isStaticPath(p) { 3 | if (p.startsWith("/build/")) { 4 | return true; 5 | } 6 | if (p.startsWith("/assets/")) { 7 | return true; 8 | } 9 | if (staticPaths.has(p)) { 10 | return true; 11 | } 12 | return false; 13 | } 14 | export { isStaticPath }; -------------------------------------------------------------------------------- /frontend/server/assets/root-7ec1d247.mjs: -------------------------------------------------------------------------------- 1 | import{componentQrl as v,inlinedQrl as l,useContext as j,jsx as nt,SkipRender as It,useEnvData as it,useStore as g,useContextProvider as w,useWatchQrl as Et,useLexicalScope as M,getLocale as zt,noSerialize as st,Slot as U,useOnDocument as Ct,createContext as k,withLocale as Z,useResourceQrl as Lt,_wrapSignal as R,_IMMUTABLE as V,useStylesQrl as St,useClientEffectQrl as $,_noopQrl as K}from"@builder.io/qwik";import{jsx as c,jsxs as L,Fragment as jt}from"@builder.io/qwik/jsx-runtime";const Pt=!0,Rt=!1,qt='((s,a,i,r)=>{i=(e,t)=>{t=document.querySelector("[q\\\\:base]"),t&&a.active&&a.active.postMessage({type:"qprefetch",base:t.getAttribute("q:base"),...e})},document.addEventListener("qprefetch",e=>{const t=e.detail;a?i(t):t.bundles&&s.push(...t.bundles)}),navigator.serviceWorker.register("/service-worker.js").then(e=>{r=()=>{a=e,i({bundles:s})},e.installing?e.installing.addEventListener("statechange",t=>{t.target.state=="activated"&&r()}):e.active&&r()}).catch(e=>console.error(e))})([])',ct=k("qc-c"),N=k("qc-ic"),O=k("qc-h"),Q=k("qc-l"),H=k("qc-n"),At=v(l(()=>{const{contents:t}=j(N);if(t&&t.length>0){const e=t.length;let o=null;for(let r=e-1;r>=0;r--)o=nt(t[r].default,{children:o});return o}return It},"RouterOutlet_component_AKetNByE5TM")),X=new WeakMap,S=Symbol(),T=Symbol(),I=new Map,Dt=async(t,e,o,r)=>{if(Array.isArray(t))for(const a of t){const n=a[0].exec(r);if(n){const i=a[1],s=Mt(a[2],n),d=a[4],m=new Array(i.length),y=[],b=Tt(e,r);let E;return i.forEach((p,u)=>{G(p,y,P=>m[u]=P,o)}),G(b,y,p=>E=p==null?void 0:p.default,o),y.length>0&&await Promise.all(y),[s,m,E,d]}}return null},G=(t,e,o,r)=>{if(typeof t=="function"){const a=X.get(t);if(a)o(a);else{const n=t();typeof n.then=="function"?e.push(n.then(i=>{r!==!1&&X.set(t,i),o(i)})):n&&o(n)}}},Tt=(t,e)=>{if(t){e=e.endsWith("/")?e:e+"/";const o=t.find(r=>r[0]===e||e.startsWith(r[0]+(e.endsWith("/")?"":"/")));if(o)return o[1]}},Mt=(t,e)=>{const o={};if(t)for(let r=0;r{const a=W(),n={data:t?t.body:null,head:a,withLocale:i=>Z(r,i),...e};for(let i=o.length-1;i>=0;i--){const s=o[i]&&o[i].head;s&&(typeof s=="function"?J(a,Z(r,()=>s(n))):typeof s=="object"&&J(a,s))}return n.head},J=(t,e)=>{typeof e.title=="string"&&(t.title=e.title),q(t.meta,e.meta),q(t.links,e.links),q(t.styles,e.styles),Object.assign(t.frontmatter,e.frontmatter)},q=(t,e)=>{if(Array.isArray(e))for(const o of e){if(typeof o.key=="string"){const r=t.findIndex(a=>a.key===o.key);if(r>-1){t[r]=o;continue}}t.push(o)}},W=()=>({title:"",meta:[],links:[],styles:[],frontmatter:{}}),Nt=()=>j(O),B=()=>j(Q),Ot=()=>j(H),lt=()=>st(it("qwikcity")),f=t=>t.pathname+t.search+t.hash,x=(t,e)=>new URL(t,e.href),dt=(t,e)=>t.origin===e.origin,pt=(t,e)=>t.pathname+t.search===e.pathname+e.search,Qt=(t,e)=>t.pathname===e.pathname,tt=(t,e)=>dt(t,e)&&!pt(t,e),Ht=(t,e)=>t+(t.endsWith("/")?"":"/")+"q-data.json"+(e??""),Wt=(t,e)=>{const o=t.href;if(typeof o=="string"&&o.trim()!==""&&typeof t.target!="string")try{const r=x(o,e),a=x("",e);if(dt(r,a))return f(r)}catch(r){console.error(r)}return null},Bt=(t,e,o)=>{if(t.prefetch!==!1&&e){const r=x(e,o);if(!Qt(r,x("",o)))return""}return null},Yt=(t,e)=>{const o=t.location,r=x(e.path,o);tt(o,r)&&(et(t,o,r),t.history.pushState("","",f(r))),t[T]||(t[T]=1,t.addEventListener("popstate",()=>{const a=t.location,n=x(e.path,a);tt(a,n)&&(et(t,n,a),e.path=f(a))}),t.removeEventListener("popstate",t[S]))},et=async(t,e,o)=>{const r=t.document,a=o.hash;if(pt(e,o))e.hash!==a&&(await A(),a?ot(r,a):t.scrollTo(0,0));else if(a)for(let n=0;n<24&&(await A(),!ot(r,a));n++);else await A(),t.scrollTo(0,0)},A=()=>new Promise(t=>setTimeout(t,12)),ot=(t,e)=>{const o=e.slice(1),r=t.getElementById(o);return r&&r.scrollIntoView(),r},rt=t=>{typeof document<"u"&&document.dispatchEvent(new CustomEvent("qprefetch",{detail:t}))},Jt=()=>{const t=B(),e=lt();return Lt(l(async({track:o})=>{const[r,a]=M();o(()=>a.href);{if(!r)throw new Error("Endpoint response body is missing");return r.response.body}},"useEndpoint_useResource_00bFc4tHmxA",[e,t]))},gt=async(t,e)=>{const o=new URL(t),r=o.pathname,a=o.search,n=Ht(r,a);let i=I.get(n);return rt({links:[r]}),i||(i=fetch(n).then(s=>{if(s.ok&&(s.headers.get("content-type")||"").includes("json"))return s.json().then(d=>(rt({bundles:d.prefetch}),e&&I.delete(n),d));I.delete(n)}),I.set(n,i)),i},Ft=v(l(()=>{const t=lt();if(!(t!=null&&t.params))throw new Error("Missing Qwik City Env Data");const e=it("url");if(!e)throw new Error("Missing Qwik URL Env Data");const o=new URL(e),r=g({href:o.href,pathname:o.pathname,query:Object.fromEntries(o.searchParams.entries()),params:t.params}),a=g({path:f(o)}),n=g(W),i=g({headings:void 0,menu:void 0}),s=g({contents:void 0});return w(ct,i),w(N,s),w(O,n),w(Q,r),w(H,a),Et(l(async({track:d})=>{const[m,y,b,E,p,u]=M(),P=zt(""),{routes:wt,menus:ht,cacheModules:mt,trailingSlash:Y}=await import("../@qwik-city-plan.mjs"),bt=d(()=>u.path),h=new URL(bt,p.href),z=h.pathname,ft=Dt(wt,ht,mt,z),yt=Pt?E.response:gt(h.href,!0),F=await ft;if(F){const[ut,xt,vt]=F,C=xt,kt=C[C.length-1];if(z.endsWith("/")){if(!Y){h.pathname=z.slice(0,-1),u.path=f(h);return}}else if(Y){h.pathname+="/",u.path=f(h);return}p.href=h.href,p.pathname=z,p.params={...ut},p.query=Object.fromEntries(h.searchParams.entries()),m.headings=kt.headings,m.menu=vt,y.contents=st(C);const _t=await yt,_=Ut(_t,p,C,P);I.clear(),b.links=_.links,b.meta=_.meta,b.styles=_.styles,b.title=_.title,b.frontmatter=_.frontmatter,Rt&&Yt(window,u)}},"QwikCityProvider_component_useWatch_2Eo7WCpaqI8",[i,s,n,t,r,a])),c(U,{},"qY_0")},"QwikCityProvider_component_TxCFOy819ag"));l(t=>{const e=t.url??"http://localhost/",o=new URL(e),r=g({href:o.href,pathname:o.pathname,query:Object.fromEntries(o.searchParams.entries()),params:t.params??{}}),a=g({path:f(o)}),n=g(W),i=g({headings:void 0,menu:void 0}),s=g({contents:void 0});return w(ct,i),w(N,s),w(O,n),w(Q,r),w(H,a),c(U,{},"qY_1")},"QwikCityMockProvider_component_WmYC5H00wtI");const te=v(l(t=>{const e=Ot(),o=B(),r=t.href,a={...t},n=Wt(a,o),i=Bt(t,n,o);return a["preventdefault:click"]=!!n,a.href=n||r,Ct("qinit",l(()=>{window[S]||(window[S]=()=>{window[T]||location.reload()},setTimeout(()=>{addEventListener("popstate",window[S])},0))},"Link_component_useOnDocument_u0YVoxt2aTY")),c("a",{...a,onClick$:l(()=>{const[s,d,m]=M();s&&(m.path=d.href)},"Link_component_a_onClick_kzjavhDI3L0",[n,a,e]),"data-prefetch":i,onMouseOver$:l((s,d)=>at(d),"Link_component_a_onMouseOver_yiXwCC0m3jY"),onQVisible$:l((s,d)=>at(d,!0),"Link_component_a_onQVisible_EpaZ5qQ4Lg4"),children:c(U,{},"AD_0")})},"Link_component_8gdLBszqbaM")),at=(t,e)=>{t&&t.href&&t.hasAttribute("data-prefetch")&&(D||(D=innerWidth),(!e||e&&D<520)&>(t.href))};let D=0;const Zt=()=>nt("script",{dangerouslySetInnerHTML:qt}),Vt=v(l(()=>{const t=Nt(),e=B();return L(jt,{children:[c("title",{children:R(t,"title")}),c("link",{rel:"canonical",get href(){return e.href},[V]:{href:R(e,"href")}}),c("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),c("link",{rel:"icon",type:"image/svg+xml",href:"/favicon.svg"}),t.meta.map(o=>c("meta",{...o})),t.links.map(o=>c("link",{...o})),t.styles.map(o=>c("style",{...o.props,get dangerouslySetInnerHTML(){return o.style},[V]:{dangerouslySetInnerHTML:R(o,"style")}}))]},"OA_0")},"s_zrbrqoaqXSY")),$t=`*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.static{position:static}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0px;right:0px;bottom:0px;left:0px}.mx-auto{margin-left:auto;margin-right:auto}.-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.mt-6{margin-top:1.5rem}.mt-2{margin-top:.5rem}.mt-8{margin-top:2rem}.mt-1{margin-top:.25rem}.mt-3{margin-top:.75rem}.ml-2{margin-left:.5rem}.mt-24{margin-top:6rem}.mt-5{margin-top:1.25rem}.mr-2{margin-right:.5rem}.-mt-2{margin-top:-.5rem}.ml-10{margin-left:2.5rem}.mr-5{margin-right:1.25rem}.ml-5{margin-left:1.25rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.h-screen{height:100vh}.h-24{height:6rem}.h-5{height:1.25rem}.h-4{height:1rem}.h-full{height:100%}.h-12{height:3rem}.h-10{height:2.5rem}.min-h-screen{min-height:100vh}.min-h-full{min-height:100%}.w-full{width:100%}.w-56{width:14rem}.w-24{width:6rem}.w-5{width:1.25rem}.w-4{width:1rem}.w-12{width:3rem}.max-w-7xl{max-width:80rem}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-3{gap:.75rem}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(2.5rem * var(--tw-space-x-reverse));margin-left:calc(2.5rem * calc(1 - var(--tw-space-x-reverse)))}.overflow-hidden{overflow:hidden}.rounded-sm{border-radius:.125rem}.rounded-md{border-radius:.375rem}.rounded{border-radius:.25rem}.border{border-width:1px}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.border-red-600{--tw-border-opacity: 1;border-color:rgb(220 38 38 / var(--tw-border-opacity))}.border-yellow-600{--tw-border-opacity: 1;border-color:rgb(202 138 4 / var(--tw-border-opacity))}.border-sky-600{--tw-border-opacity: 1;border-color:rgb(2 132 199 / var(--tw-border-opacity))}.border-green-600{--tw-border-opacity: 1;border-color:rgb(22 163 74 / var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-sky-500{--tw-border-opacity: 1;border-color:rgb(14 165 233 / var(--tw-border-opacity))}.border-green-500{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity))}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity))}.bg-sky-500{--tw-bg-opacity: 1;background-color:rgb(14 165 233 / var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity))}.bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity))}.bg-sky-50{--tw-bg-opacity: 1;background-color:rgb(240 249 255 / var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-gray-900{--tw-gradient-from: #111827;--tw-gradient-to: rgb(17 24 39 / 0);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-sky-900{--tw-gradient-to: #0c4a6e}.p-5{padding:1.25rem}.py-12{padding-top:3rem;padding-bottom:3rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.text-center{text-align:center}.font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-sm{font-size:.875rem;line-height:1.25rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-xs{font-size:.75rem;line-height:1rem}.text-base{font-size:1rem;line-height:1.5rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-\\[10pt\\]{font-size:10pt}.text-2xl{font-size:1.5rem;line-height:2rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-extrabold{font-weight:800}.font-light{font-weight:300}.italic{font-style:italic}.tracking-tight{letter-spacing:-.025em}.tracking-tighter{letter-spacing:-.05em}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity))}.text-yellow-600{--tw-text-opacity: 1;color:rgb(202 138 4 / var(--tw-text-opacity))}.text-sky-600{--tw-text-opacity: 1;color:rgb(2 132 199 / var(--tw-text-opacity))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-sky-500{--tw-text-opacity: 1;color:rgb(14 165 233 / var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity))}.placeholder-gray-400::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity))}.placeholder-gray-400::placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity))}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;background-color:#f2f2f2}a{-webkit-appearance:none;-moz-appearance:none;appearance:none}.fade-in{animation:fadeIn .5s;-webkit-animation:fadeIn .5s;-moz-animation:fadeIn .5s;-o-animation:fadeIn .5s;-ms-animation:fadeIn .5s}.hover\\:border-sky-400:hover{--tw-border-opacity: 1;border-color:rgb(56 189 248 / var(--tw-border-opacity))}.hover\\:bg-sky-400:hover{--tw-bg-opacity: 1;background-color:rgb(56 189 248 / var(--tw-bg-opacity))}.hover\\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.hover\\:bg-sky-600:hover{--tw-bg-opacity: 1;background-color:rgb(2 132 199 / var(--tw-bg-opacity))}.hover\\:bg-green-400:hover{--tw-bg-opacity: 1;background-color:rgb(74 222 128 / var(--tw-bg-opacity))}.hover\\:text-sky-500:hover{--tw-text-opacity: 1;color:rgb(14 165 233 / var(--tw-text-opacity))}.hover\\:text-green-500:hover{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity))}.hover\\:text-sky-400:hover{--tw-text-opacity: 1;color:rgb(56 189 248 / var(--tw-text-opacity))}.hover\\:text-sky-600:hover{--tw-text-opacity: 1;color:rgb(2 132 199 / var(--tw-text-opacity))}.hover\\:shadow-none:hover{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\\:border-sky-500:focus{--tw-border-opacity: 1;border-color:rgb(14 165 233 / var(--tw-border-opacity))}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\\:ring-sky-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(14 165 233 / var(--tw-ring-opacity))}.focus\\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.disabled\\:bg-gray-500:disabled{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity))}.disabled\\:hover\\:bg-gray-500:hover:disabled{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity))}@media (min-width: 640px){.sm\\:mx-auto{margin-left:auto;margin-right:auto}.sm\\:w-full{width:100%}.sm\\:max-w-md{max-width:28rem}.sm\\:rounded-sm{border-radius:.125rem}.sm\\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\\:px-10{padding-left:2.5rem;padding-right:2.5rem}.sm\\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width: 768px){.md\\:text-5xl{font-size:3rem;line-height:1}.md\\:text-6xl{font-size:3.75rem;line-height:1}}@media (min-width: 1024px){.lg\\:px-8{padding-left:2rem;padding-right:2rem}.lg\\:text-7xl{font-size:4.5rem;line-height:1}.lg\\:text-8xl{font-size:6rem;line-height:1}} 2 | `,Kt=k("user-session"),ee=v(l(()=>{const t=g({userId:"",isLoggedIn:!1});return St(l($t,"s_hO3b5j0m2ZI")),$(K("s_T9y0TUh8CDA",[t])),$(K("s_1VIjpu9TdEc",[t])),w(Kt,t),L(Ft,{children:[L("head",{children:[c("meta",{charSet:"utf-8"}),c("link",{rel:"manifest",href:"/manifest.json"}),c(Vt,{},"35_0")]}),L("body",{lang:"en",children:[c(At,{},"35_1"),c(Zt,{},"35_2")]})]},"35_3")},"s_3sccYCDd1Z0"));export{te as L,ee as R,Kt as U,Jt as a,Ot as u}; 3 | -------------------------------------------------------------------------------- /frontend/server/entry.express.js: -------------------------------------------------------------------------------- 1 | export * from "./entry.express.mjs"; -------------------------------------------------------------------------------- /frontend/server/entry.express.mjs: -------------------------------------------------------------------------------- 1 | import oe,{Headers as se,Request as re,Response as ie}from"node-fetch";import{getNotFound as ae}from"./@qwik-city-not-found-paths.js";import ce from"./@qwik-city-plan.mjs";import le from"./entry.ssr.mjs";import B from"express";import{fileURLToPath as fe}from"node:url";import{join as z}from"node:path";import de from"compression";import"@builder.io/qwik";import"@builder.io/qwik/jsx-runtime";import"./assets/root-7ec1d247.mjs";import"@supabase/supabase-js";import"dotenv";import"@builder.io/qwik/server";var _={lax:"Lax",none:"None",strict:"Strict"},ue={seconds:1,minutes:1*60,hours:1*60*60,days:1*60*60*24,weeks:1*60*60*24*7},he=(e,t,n)=>{const o=[`${e}=${t}`];return typeof n.domain=="string"&&o.push(`Domain=${n.domain}`),typeof n.maxAge=="number"?o.push(`Max-Age=${n.maxAge}`):Array.isArray(n.maxAge)?o.push(`Max-Age=${n.maxAge[0]*ue[n.maxAge[1]]}`):typeof n.expires=="number"||typeof n.expires=="string"?o.push(`Expires=${n.expires}`):n.expires instanceof Date&&o.push(`Expires=${n.expires.toUTCString()}`),n.httpOnly&&o.push("HttpOnly"),typeof n.path=="string"&&o.push(`Path=${n.path}`),n.sameSite&&_[n.sameSite]&&o.push(`SameSite=${_[n.sameSite]}`),n.secure&&o.push("Secure"),o.join("; ")},pe=e=>{const t={};if(typeof e=="string"&&e!==""){const n=e.split(";");for(const o of n){const s=o.split("=");if(s.length>1){const i=decodeURIComponent(s[0].trim()),r=decodeURIComponent(s[1].trim());t[i]=r}}}return t},C=Symbol("request-cookies"),N=Symbol("response-cookies"),G,T=class{constructor(e){this[G]={},this[C]=pe(e)}get(e){const t=this[C][e];return t?{value:t,json(){return JSON.parse(t)},number(){return Number(t)}}:null}has(e){return!!this[C][e]}set(e,t,n={}){const o=typeof t=="string"?t:encodeURIComponent(JSON.stringify(t));this[N][e]=he(e,o,n)}delete(e,t){this.set(e,"deleted",{...t,maxAge:0})}headers(){return Object.values(this[N])}};G=N;var m=Symbol("headers"),I,ye=class{constructor(){this[I]={}}[(I=m,Symbol.iterator)](){return this.entries()}*keys(){for(const e of Object.keys(this[m]))yield e}*values(){for(const e of Object.values(this[m]))yield e}*entries(){for(const e of Object.keys(this[m]))yield[e,this.get(e)]}get(e){return this[m][E(e)]||null}set(e,t){const n=E(e);this[m][n]=typeof t!="string"?String(t):t}append(e,t){const n=E(e),o=this.has(n)?`${this.get(n)}, ${t}`:t;this.set(e,o)}delete(e){if(!this.has(e))return;const t=E(e);delete this[m][t]}all(){return this[m]}has(e){return this[m].hasOwnProperty(E(e))}forEach(e,t){for(const n in this[m])this[m].hasOwnProperty(n)&&e.call(t,this[m][n],n,this)}},me=/[^a-z0-9\-#$%&'*+.^_`|~]/i;function E(e){if(typeof e!="string"&&(e=String(e)),me.test(e)||e.trim()==="")throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function A(){return new(typeof Headers=="function"?Headers:ye)}var O=class extends Error{constructor(e,t){super(t),this.status=e}};function V(e,t){const o=Q(500,t),s=A();return s.set("Content-Type","text/html; charset=utf-8"),e.response(500,s,new T,async i=>{i.write(o)},t)}function ge(e,t){const n=K(t.status,t.message,t.stack),o=A();return o.set("Content-Type","text/html; charset=utf-8"),e.response(t.status,o,new T,async s=>{s.write(n)},t)}function Q(e,t){let n="Server Error",o;return t!=null&&(typeof t=="object"?(typeof t.message=="string"&&(n=t.message),t.stack!=null&&(o=String(t.stack))):n=String(t)),K(e,n,o)}function K(e,t,n){const o=typeof t=="string"?"600px":"300px",s=e>=500?be:we;return e<500&&(n=""),` 2 | 3 | 4 | 5 | 6 | ${e} ${t} 7 | 8 | 15 | 16 | 17 |

${e} ${t}

${n?` 18 |
${n}
`:""} 19 | 20 | `}var we="#006ce9",be="#713fc2";function ve(e,t){const{pendingBody:n,resolvedBody:o,status:s,headers:i,cookie:r}=t,{response:l}=e;if(n===void 0&&o===void 0)return l(s,i,r,Se);i.has("Content-Type")||i.set("Content-Type","application/json; charset=utf-8");const a=i.get("Content-Type").includes("json");return l(s,i,r,async({write:c})=>{const d=n!==void 0?await n:o;if(d!==void 0)if(a)c(JSON.stringify(d));else{const u=typeof d;c(u==="string"?d:u==="number"||u==="boolean"?String(d):d)}})}var Se=async()=>{},R=class{constructor(e,t,n,o){this.url=e,this.location=e,this.status=X(t)?t:302,this.headers=n??A(),this.headers.set("Location",this.location),this.headers.delete("Cache-Control"),this.cookies=o??new T}};function ke(e,t){return e.response(t.status,t.headers,t.cookies,async()=>{})}function X(e){return typeof e=="number"&&e>=301&&e<=308}function xe(e){if(JSON.stringify(e),!$(e))throw new Error("Unable to serialize value.")}function $(e){if(e==null||typeof e=="string"||typeof e=="boolean"||typeof e=="number")return!0;if(Array.isArray(e)){for(const t of e)if(!$(t))return!1;return!0}if(e.constructor==null||e.constructor===Object){for(const t in e)if(!$(e[t]))return!1;return!0}return!1}async function Ee(e,t,n,o,s="/"){if(n.length===0)throw new O(404,"Not Found");const{request:i,url:r,platform:l}=e,{pathname:a}=r,{method:c,headers:d}=i,u=Oe(n),h=u&&a.endsWith(D),p=!h&&Ae(c,d.get("Accept"),d.get("Content-Type")),w=new T(d.get("cookie")),f={type:h?"pagedata":u&&!p?"pagehtml":"endpoint",url:r,params:t,status:200,headers:A(),resolvedBody:void 0,pendingBody:void 0,cookie:w,aborted:!1};let P=!1;if(u&&!h&&a!==s&&!a.endsWith(".html")){if(o){if(!a.endsWith("/"))throw new R(a+"/"+r.search,302)}else if(a.endsWith("/"))throw new R(a.slice(0,a.length-1)+r.search,302)}let b=-1;const Z=()=>{b=U},j=async()=>{for(b++;b=U,!h&&X(f.status)&&f.headers.has("Location"))throw new R(f.headers.get("Location"),f.status,f.headers,f.cookie);if(P)u&&c==="GET"&&(f.headers.has("Vary")||f.headers.set("Vary","Content-Type, Accept"));else if(p&&!h||!u)throw new O(405,"Method Not Allowed");return f}var S=Symbol("UserResponse"),H=Symbol("RequestContext"),Re=class{constructor(e,t){this[S]=e,this[H]=t}get status(){return this[S].status}set status(e){this[S].status=e}get headers(){return this[S].headers}get locale(){return this[H].locale}set locale(e){this[H].locale=e}redirect(e,t){return new R(e,t,this[S].headers,this[S].cookie)}error(e,t){return new O(e,t)}};function Ae(e,t,n){if(e==="GET"||e==="POST"){if(n&&n.includes("application/json"))return!0;if(t){const o=t.indexOf("text/html");if(o===0)return!1;const s=t.indexOf("application/json");if(s>-1)return o>-1?s{try{const o=e();o!==null&&typeof o=="object"&&typeof o.then=="function"?o.then(t,n):t(o)}catch(o){n(o)}})}function Oe(e){const t=e[e.length-1];return t&&typeof t.default=="function"}function Te(e,t){if(e.endsWith(D)){const n=e.length-Pe+(t?1:0);e=e.slice(0,n),e===""&&(e="/")}return e}var D="/q-data.json",Pe=D.length,U=999999999,q=new WeakMap,Ce=async(e,t,n,o)=>{if(Array.isArray(e))for(const s of e){const i=s[0].exec(o);if(i){const r=s[1],l=Ne(s[2],i),a=s[4],c=new Array(r.length),d=[],u=He(t,o);let h;return r.forEach((p,w)=>{M(p,d,f=>c[w]=f,n)}),M(u,d,p=>h=p==null?void 0:p.default,n),d.length>0&&await Promise.all(d),[l,c,h,a]}}return null},M=(e,t,n,o)=>{if(typeof e=="function"){const s=q.get(e);if(s)n(s);else{const i=e();typeof i.then=="function"?t.push(i.then(r=>{o!==!1&&q.set(e,r),n(r)})):i&&n(i)}}},He=(e,t)=>{if(e){t=t.endsWith("/")?t:t+"/";const n=e.find(o=>o[0]===t||t.startsWith(o[0]+(t.endsWith("/")?"":"/")));if(n)return n[1]}},Ne=(e,t)=>{const n={};if(e)for(let o=0;od[h]=u),c?r.set("Content-Type","application/json; charset=utf-8"):r.has("Content-Type")||r.set("Content-Type","text/html; charset=utf-8"),a(c?200:i,r,l,async u=>{try{const h=await n({stream:c?je:u,envData:De(d,t,e.locale,e.mode),...o});c?u.write(JSON.stringify(await F(t,h,s))):(typeof h).html==="string"&&u.write(h.html),typeof u.clientData=="function"&&u.clientData(await F(t,h,s))}catch(h){const p=Q(500,h);u.write(p)}})}async function F(e,t,n){const o=Be(t,n),s=t.isStatic;return{body:e.pendingBody?await e.pendingBody:e.resolvedBody,status:e.status!==200?e.status:void 0,redirect:e.status>=301&&e.status<=308&&e.headers.get("location")||void 0,isStatic:s,prefetch:o.length>0?o:void 0}}function Be(e,t){const n=[],o=l=>{l&&!n.includes(l)&&n.push(l)},s=l=>{if(Array.isArray(l))for(const a of l){const c=a.url.split("/").pop();c&&!n.includes(c)&&(o(c),s(a.imports))}};s(e.prefetchResources);const i=e.manifest||e._manifest,r=e._symbols;if(i&&r)for(const l of r){const a=i.symbols[l];a&&a.ctxName==="component$"&&o(i.mapping[l])}if(t)for(const l of t)o(l);return n}function De(e,t,n,o){const{url:s,params:i,pendingBody:r,resolvedBody:l,status:a}=t;return{url:s.href,requestHeaders:e,locale:n,qwikcity:{mode:o,params:{...i},response:{body:r||l,status:a}}}}var je={write:()=>{}};async function _e(e,t){try{const{render:n,qwikCityPlan:o}=t,{routes:s,menus:i,cacheModules:r,trailingSlash:l,basePathname:a}=o,c=Te(e.url.pathname,l),d=await Ce(s,i,r,c);if(d){const[u,h,p,w]=d,f=await Ee(e,u,h,l,a);return f.aborted?null:f.type==="endpoint"?await ve(e,f):await $e(e,f,n,t,w)}}catch(n){return n instanceof R?ke(e,n):n instanceof O?ge(e,n):V(e,n)}return null}function J(e){const t=e.socket.encrypted||e.connection.encrypted?"https":"http";return new URL(e.url||"/",`${t}://${e.headers.host}`)}function Ie(e,t,n,o){const s=A(),i=t.headers;for(const a in i){const c=i[a];if(typeof c=="string")s.set(a,c);else if(Array.isArray(c))for(const d of c)s.append(a,d)}const r=async()=>{const a=[];for await(const c of t)a.push(c);return Buffer.concat(a).toString()};return{mode:o,request:{headers:s,formData:async()=>new URLSearchParams(await r()),json:async()=>JSON.parse(await r()),method:t.method||"GET",text:r,url:e.href},response:async(a,c,d,u)=>{n.statusCode=a,c.forEach((p,w)=>n.setHeader(w,p));const h=d.headers();return h.length>0&&n.setHeader("Set-Cookie",h),u({write:p=>{n.write(p)}}).finally(()=>{n.end()}),n},url:e,platform:{ssr:!0,node:process.versions.node},locale:void 0}}function Le(){typeof global<"u"&&typeof globalThis.fetch!="function"&&typeof process<"u"&&process.versions.node&&(globalThis.fetch||(globalThis.fetch=oe,globalThis.Headers=se,globalThis.Request=re,globalThis.Response=ie))}function Ue(e){return Le(),{router:async(o,s,i)=>{try{const r=Ie(J(o),o,s,"server");try{await _e(r,e)||i()}catch(l){await V(r,l)}}catch(r){console.error(r),i(r)}},notFound:async(o,s,i)=>{try{const r=J(o),l=ae(r.pathname);s.writeHead(404,{"Content-Type":"text/html; charset=utf-8","X-Not-Found":r.pathname}),s.end(l)}catch(r){console.error(r),i(r)}}}}const Y=z(fe(import.meta.url),"..","..","dist"),qe=z(Y,"build"),W=process.env.PORT??3e3,{router:Me,notFound:Fe}=Ue({render:le,qwikCityPlan:ce}),k=B();k.use(de());k.use("/build",B.static(qe,{immutable:!0,maxAge:"1y"}));k.use(B.static(Y,{redirect:!1}));k.use(Me);k.use(Fe);k.listen(W,()=>{console.log(`Server starter: http://localhost:${W}/`)}); 21 | -------------------------------------------------------------------------------- /frontend/server/entry.ssr.js: -------------------------------------------------------------------------------- 1 | export * from "./entry.ssr.mjs"; -------------------------------------------------------------------------------- /frontend/server/entry.ssr.mjs: -------------------------------------------------------------------------------- 1 | import{jsx as e}from"@builder.io/qwik/jsx-runtime";import{renderToStream as o}from"@builder.io/qwik/server";import{R as i}from"./assets/root-7ec1d247.mjs";import"@builder.io/qwik";const a={symbols:{s_kzjavhDI3L0:{origin:"../node_modules/@builder.io/qwik-city/index.qwik.mjs",displayName:"Link_component_a_onClick",canonicalFilename:"s_kzjavhdi3l0",hash:"kzjavhDI3L0",ctxKind:"event",ctxName:"onClick$",captures:!0,parent:"s_8gdLBszqbaM"},s_yiXwCC0m3jY:{origin:"../node_modules/@builder.io/qwik-city/index.qwik.mjs",displayName:"Link_component_a_onMouseOver",canonicalFilename:"s_yixwcc0m3jy",hash:"yiXwCC0m3jY",ctxKind:"event",ctxName:"onMouseOver$",captures:!1,parent:"s_8gdLBszqbaM"},s_EpaZ5qQ4Lg4:{origin:"../node_modules/@builder.io/qwik-city/index.qwik.mjs",displayName:"Link_component_a_onQVisible",canonicalFilename:"s_epaz5qq4lg4",hash:"EpaZ5qQ4Lg4",ctxKind:"event",ctxName:"onQVisible$",captures:!1,parent:"s_8gdLBszqbaM"},s_04qKAmMDQjI:{origin:"routes/members/dashboard/index.tsx",displayName:"dashboard_component_useClientEffect",canonicalFilename:"s_04qkammdqji",hash:"04qKAmMDQjI",ctxKind:"function",ctxName:"useClientEffect$",captures:!0,parent:"s_7w7YYyGS1d0"},s_1VIjpu9TdEc:{origin:"root.tsx",displayName:"root_component_useClientEffect_1",canonicalFilename:"s_1vijpu9tdec",hash:"1VIjpu9TdEc",ctxKind:"function",ctxName:"useClientEffect$",captures:!0,parent:"s_3sccYCDd1Z0"},s_3LSBotgjcd4:{origin:"components/site/navigation/navigation.tsx",displayName:"Navigation_component_useClientEffect",canonicalFilename:"s_3lsbotgjcd4",hash:"3LSBotgjcd4",ctxKind:"function",ctxName:"useClientEffect$",captures:!0,parent:"s_D6gnpqBvIxc"},s_T9y0TUh8CDA:{origin:"root.tsx",displayName:"root_component_useClientEffect",canonicalFilename:"s_t9y0tuh8cda",hash:"T9y0TUh8CDA",ctxKind:"function",ctxName:"useClientEffect$",captures:!0,parent:"s_3sccYCDd1Z0"},s_j0ikt72I750:{origin:"routes/login/staging/index.tsx",displayName:"staging_component_useClientEffect",canonicalFilename:"s_j0ikt72i750",hash:"j0ikt72I750",ctxKind:"function",ctxName:"useClientEffect$",captures:!0,parent:"s_DWH5H0sHpx8"},s_1s5dhyML68g:{origin:"routes/disclaimer/index.tsx",displayName:"disclaimer_component",canonicalFilename:"s_1s5dhyml68g",hash:"1s5dhyML68g",ctxKind:"function",ctxName:"component$",captures:!1,parent:null},s_2gZ5kKqe2wY:{origin:"routes/login/index.tsx",displayName:"login_component",canonicalFilename:"s_2gz5kkqe2wy",hash:"2gZ5kKqe2wY",ctxKind:"function",ctxName:"component$",captures:!1,parent:null},s_3sccYCDd1Z0:{origin:"root.tsx",displayName:"root_component",canonicalFilename:"s_3sccycdd1z0",hash:"3sccYCDd1Z0",ctxKind:"function",ctxName:"component$",captures:!1,parent:null},s_4uBaEu4a7Ac:{origin:"routes/index@site.tsx",displayName:"index_site_component",canonicalFilename:"s_4ubaeu4a7ac",hash:"4uBaEu4a7Ac",ctxKind:"function",ctxName:"component$",captures:!1,parent:null},s_5aZSva0X07s:{origin:"routes/signup/index.tsx",displayName:"signup_component",canonicalFilename:"s_5azsva0x07s",hash:"5aZSva0X07s",ctxKind:"function",ctxName:"component$",captures:!1,parent:null},s_7w7YYyGS1d0:{origin:"routes/members/dashboard/index.tsx",displayName:"dashboard_component",canonicalFilename:"s_7w7yyygs1d0",hash:"7w7YYyGS1d0",ctxKind:"function",ctxName:"component$",captures:!1,parent:null},s_8gdLBszqbaM:{origin:"../node_modules/@builder.io/qwik-city/index.qwik.mjs",displayName:"Link_component",canonicalFilename:"s_8gdlbszqbam",hash:"8gdLBszqbaM",ctxKind:"function",ctxName:"component$",captures:!1,parent:null},s_AFVtdLQxhqM:{origin:"routes/layout-site.tsx",displayName:"layout_site_component",canonicalFilename:"s_afvtdlqxhqm",hash:"AFVtdLQxhqM",ctxKind:"function",ctxName:"component$",captures:!1,parent:null},s_AKetNByE5TM:{origin:"../node_modules/@builder.io/qwik-city/index.qwik.mjs",displayName:"RouterOutlet_component",canonicalFilename:"s_aketnbye5tm",hash:"AKetNByE5TM",ctxKind:"function",ctxName:"component$",captures:!1,parent:null},s_D6gnpqBvIxc:{origin:"components/site/navigation/navigation.tsx",displayName:"Navigation_component",canonicalFilename:"s_d6gnpqbvixc",hash:"D6gnpqBvIxc",ctxKind:"function",ctxName:"component$",captures:!1,parent:null},s_DWH5H0sHpx8:{origin:"routes/login/staging/index.tsx",displayName:"staging_component",canonicalFilename:"s_dwh5h0shpx8",hash:"DWH5H0sHpx8",ctxKind:"function",ctxName:"component$",captures:!1,parent:null},s_GE1BvJV0HFk:{origin:"routes/shop/index@site.tsx",displayName:"index_site_component",canonicalFilename:"s_ge1bvjv0hfk",hash:"GE1BvJV0HFk",ctxKind:"function",ctxName:"component$",captures:!1,parent:null},s_GG4uQ3LbNIU:{origin:"components/site/footer/footer.tsx",displayName:"Footer_component",canonicalFilename:"s_gg4uq3lbniu",hash:"GG4uQ3LbNIU",ctxKind:"function",ctxName:"component$",captures:!1,parent:null},s_M0MhZOWBKK8:{origin:"routes/contact/index.tsx",displayName:"contact_component",canonicalFilename:"s_m0mhzowbkk8",hash:"M0MhZOWBKK8",ctxKind:"function",ctxName:"component$",captures:!1,parent:null},s_Pr2nqhxZcRI:{origin:"components/site/logo/logo.tsx",displayName:"Logo_component",canonicalFilename:"s_pr2nqhxzcri",hash:"Pr2nqhxZcRI",ctxKind:"function",ctxName:"component$",captures:!1,parent:null},s_ReBlX6NH9R0:{origin:"routes/about/index@site.tsx",displayName:"index_site_component",canonicalFilename:"s_reblx6nh9r0",hash:"ReBlX6NH9R0",ctxKind:"function",ctxName:"component$",captures:!1,parent:null},s_TxCFOy819ag:{origin:"../node_modules/@builder.io/qwik-city/index.qwik.mjs",displayName:"QwikCityProvider_component",canonicalFilename:"s_txcfoy819ag",hash:"TxCFOy819ag",ctxKind:"function",ctxName:"component$",captures:!1,parent:null},s_WmYC5H00wtI:{origin:"../node_modules/@builder.io/qwik-city/index.qwik.mjs",displayName:"QwikCityMockProvider_component",canonicalFilename:"s_wmyc5h00wti",hash:"WmYC5H00wtI",ctxKind:"function",ctxName:"component$",captures:!1,parent:null},s_cTGLZV12wIY:{origin:"routes/terms/index.tsx",displayName:"terms_component",canonicalFilename:"s_ctglzv12wiy",hash:"cTGLZV12wIY",ctxKind:"function",ctxName:"component$",captures:!1,parent:null},s_htFOus9HPNo:{origin:"components/ui/button-std.tsx",displayName:"ButtonStd_component",canonicalFilename:"s_htfous9hpno",hash:"htFOus9HPNo",ctxKind:"function",ctxName:"component$",captures:!1,parent:null},s_iM00hJibi0U:{origin:"components/site/hero/hero.tsx",displayName:"Hero_component",canonicalFilename:"s_im00hjibi0u",hash:"iM00hJibi0U",ctxKind:"function",ctxName:"component$",captures:!1,parent:null},s_mmJHJQmfzpQ:{origin:"routes/privacy/index.tsx",displayName:"privacy_component",canonicalFilename:"s_mmjhjqmfzpq",hash:"mmJHJQmfzpQ",ctxKind:"function",ctxName:"component$",captures:!1,parent:null},s_qVqzm1QnNRM:{origin:"components/ui/message.tsx",displayName:"Message_component",canonicalFilename:"s_qvqzm1qnnrm",hash:"qVqzm1QnNRM",ctxKind:"function",ctxName:"component$",captures:!1,parent:null},s_xz0IpC0v0Fc:{origin:"routes/services/index@site.tsx",displayName:"index_site_component",canonicalFilename:"s_xz0ipc0v0fc",hash:"xz0IpC0v0Fc",ctxKind:"function",ctxName:"component$",captures:!1,parent:null},s_zrbrqoaqXSY:{origin:"components/router-head/router-head.tsx",displayName:"RouterHead_component",canonicalFilename:"s_zrbrqoaqxsy",hash:"zrbrqoaqXSY",ctxKind:"function",ctxName:"component$",captures:!1,parent:null},s_hO3b5j0m2ZI:{origin:"root.tsx",displayName:"root_component_useStyles",canonicalFilename:"s_ho3b5j0m2zi",hash:"hO3b5j0m2ZI",ctxKind:"function",ctxName:"useStyles$",captures:!1,parent:"s_3sccYCDd1Z0"},s_Nha0bvvmMwE:{origin:"components/site/logo/logo.tsx",displayName:"Logo_component_useStylesScoped",canonicalFilename:"s_nha0bvvmmwe",hash:"Nha0bvvmMwE",ctxKind:"function",ctxName:"useStylesScoped$",captures:!1,parent:"s_Pr2nqhxZcRI"},s_00bFc4tHmxA:{origin:"../node_modules/@builder.io/qwik-city/index.qwik.mjs",displayName:"useEndpoint_useResource",canonicalFilename:"s_00bfc4thmxa",hash:"00bFc4tHmxA",ctxKind:"function",ctxName:"useResource$",captures:!0,parent:null},s_2Eo7WCpaqI8:{origin:"../node_modules/@builder.io/qwik-city/index.qwik.mjs",displayName:"QwikCityProvider_component_useWatch",canonicalFilename:"s_2eo7wcpaqi8",hash:"2Eo7WCpaqI8",ctxKind:"function",ctxName:"useWatch$",captures:!0,parent:"s_TxCFOy819ag"},s_4lI93x0px88:{origin:"components/site/navigation/navigation.tsx",displayName:"Navigation_component_handleLogout",canonicalFilename:"s_4li93x0px88",hash:"4lI93x0px88",ctxKind:"function",ctxName:"$",captures:!0,parent:"s_D6gnpqBvIxc"},s_BA88xGcEQY8:{origin:"routes/signup/index.tsx",displayName:"signup_component_handleGitHubSignUp",canonicalFilename:"s_ba88xgceqy8",hash:"BA88xGcEQY8",ctxKind:"function",ctxName:"$",captures:!1,parent:"s_5aZSva0X07s"},s_RZswcvlb56s:{origin:"routes/login/index.tsx",displayName:"login_component_handleGitHubLogin",canonicalFilename:"s_rzswcvlb56s",hash:"RZswcvlb56s",ctxKind:"function",ctxName:"$",captures:!1,parent:"s_2gZ5kKqe2wY"},s_eKGt4z6xr5M:{origin:"routes/login/index.tsx",displayName:"login_component_handleEmailLogin",canonicalFilename:"s_ekgt4z6xr5m",hash:"eKGt4z6xr5M",ctxKind:"function",ctxName:"$",captures:!0,parent:"s_2gZ5kKqe2wY"},s_rJ6GlGrY00o:{origin:"routes/signup/index.tsx",displayName:"signup_component_handleEmailSignup",canonicalFilename:"s_rj6glgry00o",hash:"rJ6GlGrY00o",ctxKind:"function",ctxName:"$",captures:!0,parent:"s_5aZSva0X07s"},s_u0YVoxt2aTY:{origin:"../node_modules/@builder.io/qwik-city/index.qwik.mjs",displayName:"Link_component_useOnDocument",canonicalFilename:"s_u0yvoxt2aty",hash:"u0YVoxt2aTY",ctxKind:"function",ctxName:"useOnDocument",captures:!1,parent:"s_8gdLBszqbaM"}},mapping:{s_kzjavhDI3L0:"q-68e4676f.js",s_yiXwCC0m3jY:"q-68e4676f.js",s_EpaZ5qQ4Lg4:"q-68e4676f.js",s_04qKAmMDQjI:"q-e530f8a3.js",s_1VIjpu9TdEc:"q-15fc8530.js",s_3LSBotgjcd4:"q-ff658550.js",s_T9y0TUh8CDA:"q-15fc8530.js",s_j0ikt72I750:"q-3c23504d.js",s_1s5dhyML68g:"q-2cfb7f0a.js",s_2gZ5kKqe2wY:"q-2950d8ee.js",s_3sccYCDd1Z0:"q-15fc8530.js",s_4uBaEu4a7Ac:"q-e5be407a.js",s_5aZSva0X07s:"q-fa62a59c.js",s_7w7YYyGS1d0:"q-e530f8a3.js",s_8gdLBszqbaM:"q-68e4676f.js",s_AFVtdLQxhqM:"q-81515f3b.js",s_AKetNByE5TM:"q-578ca8c9.js",s_D6gnpqBvIxc:"q-ff658550.js",s_DWH5H0sHpx8:"q-3c23504d.js",s_GE1BvJV0HFk:"q-e5be407a.js",s_GG4uQ3LbNIU:"q-70aef0a7.js",s_M0MhZOWBKK8:"q-167c00f9.js",s_Pr2nqhxZcRI:"q-4ef2340b.js",s_ReBlX6NH9R0:"q-e5be407a.js",s_TxCFOy819ag:"q-69b15b53.js",s_WmYC5H00wtI:"q-a5b055a8.js",s_cTGLZV12wIY:"q-ab8b19ba.js",s_htFOus9HPNo:"q-4c75cd99.js",s_iM00hJibi0U:"q-e595db96.js",s_mmJHJQmfzpQ:"q-81230502.js",s_qVqzm1QnNRM:"q-a48c23ce.js",s_xz0IpC0v0Fc:"q-e5be407a.js",s_zrbrqoaqXSY:"q-17393e93.js",s_hO3b5j0m2ZI:"q-15fc8530.js",s_Nha0bvvmMwE:"q-4ef2340b.js",s_00bFc4tHmxA:"q-8c2a269b.js",s_2Eo7WCpaqI8:"q-69b15b53.js",s_4lI93x0px88:"q-ff658550.js",s_BA88xGcEQY8:"q-fa62a59c.js",s_RZswcvlb56s:"q-2950d8ee.js",s_eKGt4z6xr5M:"q-2950d8ee.js",s_rJ6GlGrY00o:"q-fa62a59c.js",s_u0YVoxt2aTY:"q-68e4676f.js"},bundles:{"q-0c7da9fc.js":{size:4451,imports:["q-ab9df92b.js"],dynamicImports:["q-578ca8c9.js","q-68e4676f.js","q-69b15b53.js","q-8c2a269b.js","q-a5b055a8.js"],origins:["@qwik-city-sw-register","node_modules/@builder.io/qwik-city/index.qwik.mjs"]},"q-15fc8530.js":{size:17853,imports:["q-0c7da9fc.js","q-1cffbadd.js","q-67252f11.js","q-9e1e3d3a.js","q-ab9df92b.js","q-b86c99a4.js"],dynamicImports:["q-17393e93.js"],origins:["src/components/router-head/router-head.tsx","src/entry_root.js","src/global.css?used&inline","src/s_1vijpu9tdec.js","src/s_3sccycdd1z0.js","src/s_ho3b5j0m2zi.js","src/s_t9y0tuh8cda.js"],symbols:["s_1VIjpu9TdEc","s_3sccYCDd1Z0","s_hO3b5j0m2ZI","s_T9y0TUh8CDA"]},"q-167c00f9.js":{size:106,imports:["q-ab9df92b.js"],origins:["src/entry_contact.js","src/s_m0mhzowbkk8.js"],symbols:["s_M0MhZOWBKK8"]},"q-17393e93.js":{size:639,imports:["q-0c7da9fc.js","q-ab9df92b.js"],origins:["src/entry_RouterHead.js","src/s_zrbrqoaqxsy.js"],symbols:["s_zrbrqoaqXSY"]},"q-1cffbadd.js":{size:77614,imports:["q-ab9df92b.js","q-b86c99a4.js"],dynamicImports:["q-b86c99a4.js","q-b86c99a4.js","q-b86c99a4.js","q-b86c99a4.js"],origins:["node_modules/@supabase/functions-js/dist/module/FunctionsClient.js","node_modules/@supabase/functions-js/dist/module/helper.js","node_modules/@supabase/functions-js/dist/module/types.js","node_modules/@supabase/gotrue-js/dist/module/GoTrueAdminApi.js","node_modules/@supabase/gotrue-js/dist/module/GoTrueClient.js","node_modules/@supabase/gotrue-js/dist/module/lib/constants.js","node_modules/@supabase/gotrue-js/dist/module/lib/errors.js","node_modules/@supabase/gotrue-js/dist/module/lib/fetch.js","node_modules/@supabase/gotrue-js/dist/module/lib/helpers.js","node_modules/@supabase/gotrue-js/dist/module/lib/local-storage.js","node_modules/@supabase/gotrue-js/dist/module/lib/polyfills.js","node_modules/@supabase/gotrue-js/dist/module/lib/version.js","node_modules/@supabase/postgrest-js/dist/module/PostgrestBuilder.js","node_modules/@supabase/postgrest-js/dist/module/PostgrestClient.js","node_modules/@supabase/postgrest-js/dist/module/PostgrestFilterBuilder.js","node_modules/@supabase/postgrest-js/dist/module/PostgrestQueryBuilder.js","node_modules/@supabase/postgrest-js/dist/module/PostgrestTransformBuilder.js","node_modules/@supabase/postgrest-js/dist/module/constants.js","node_modules/@supabase/postgrest-js/dist/module/version.js","node_modules/@supabase/realtime-js/dist/module/RealtimeChannel.js","node_modules/@supabase/realtime-js/dist/module/RealtimeClient.js","node_modules/@supabase/realtime-js/dist/module/RealtimePresence.js","node_modules/@supabase/realtime-js/dist/module/lib/constants.js","node_modules/@supabase/realtime-js/dist/module/lib/push.js","node_modules/@supabase/realtime-js/dist/module/lib/serializer.js","node_modules/@supabase/realtime-js/dist/module/lib/timer.js","node_modules/@supabase/realtime-js/dist/module/lib/transformers.js","node_modules/@supabase/realtime-js/dist/module/lib/version.js","node_modules/@supabase/storage-js/dist/module/StorageClient.js","node_modules/@supabase/storage-js/dist/module/lib/constants.js","node_modules/@supabase/storage-js/dist/module/lib/errors.js","node_modules/@supabase/storage-js/dist/module/lib/fetch.js","node_modules/@supabase/storage-js/dist/module/lib/helpers.js","node_modules/@supabase/storage-js/dist/module/lib/version.js","node_modules/@supabase/storage-js/dist/module/packages/StorageBucketApi.js","node_modules/@supabase/storage-js/dist/module/packages/StorageFileApi.js","node_modules/@supabase/supabase-js/dist/module/SupabaseClient.js","node_modules/@supabase/supabase-js/dist/module/index.js","node_modules/@supabase/supabase-js/dist/module/lib/SupabaseAuthClient.js","node_modules/@supabase/supabase-js/dist/module/lib/constants.js","node_modules/@supabase/supabase-js/dist/module/lib/fetch.js","node_modules/@supabase/supabase-js/dist/module/lib/helpers.js","node_modules/@supabase/supabase-js/dist/module/lib/version.js","node_modules/es5-ext/global.js","node_modules/websocket/lib/browser.js","node_modules/websocket/lib/version.js","node_modules/websocket/package.json","src/utils/supabase.ts"]},"q-1d1ea278.js":{size:307,imports:["q-ab9df92b.js"],dynamicImports:["q-e5be407a.js"],origins:["src/routes/shop/index@site.tsx"]},"q-2950d8ee.js":{size:5615,imports:["q-0c7da9fc.js","q-1cffbadd.js","q-ab9df92b.js","q-b86c99a4.js","q-dfa393e6.js","q-e6d839bc.js"],origins:["src/entry_login.js","src/s_2gz5kkqe2wy.js","src/s_ekgt4z6xr5m.js","src/s_rzswcvlb56s.js"],symbols:["s_2gZ5kKqe2wY","s_eKGt4z6xr5M","s_RZswcvlb56s"]},"q-2cfb7f0a.js":{size:109,imports:["q-ab9df92b.js"],origins:["src/entry_disclaimer.js","src/s_1s5dhyml68g.js"],symbols:["s_1s5dhyML68g"]},"q-337576b2.js":{size:169,imports:["q-ab9df92b.js"],dynamicImports:["q-4c75cd99.js"],origins:["src/components/ui/button-std.tsx"]},"q-3983ace9.js":{size:1664,imports:["q-ab9df92b.js"],dynamicImports:["q-1d1ea278.js","q-462a0958.js","q-4ad21a03.js","q-7c0f50e7.js","q-8766c9f1.js","q-933655d4.js","q-9de791b0.js","q-b4a1d39e.js","q-d9b32b7d.js","q-da8a015d.js","q-e6d839bc.js","q-f8953492.js","q-fb8e0cd7.js","q-ffa06541.js"],origins:["@qwik-city-plan"]},"q-3c23504d.js":{size:1572,imports:["q-0c7da9fc.js","q-1cffbadd.js","q-67252f11.js","q-9e1e3d3a.js","q-ab9df92b.js","q-b86c99a4.js"],origins:["src/entry_staging.js","src/s_dwh5h0shpx8.js","src/s_j0ikt72i750.js"],symbols:["s_DWH5H0sHpx8","s_j0ikt72I750"]},"q-45aab3b6.js":{size:2536,origins:["node_modules/@builder.io/qwik-city/service-worker.mjs","src/routes/service-worker.ts"]},"q-462a0958.js":{size:290,imports:["q-ab9df92b.js"],dynamicImports:["q-fa62a59c.js"],origins:["src/routes/signup/index.tsx"]},"q-4ad21a03.js":{size:296,imports:["q-ab9df92b.js"],dynamicImports:["q-e5be407a.js"],origins:["src/routes/services/index@site.tsx"]},"q-4c75cd99.js":{size:235,imports:["q-ab9df92b.js"],origins:["src/entry_ButtonStd.js","src/s_htfous9hpno.js"],symbols:["s_htFOus9HPNo"]},"q-4ef2340b.js":{size:775,imports:["q-ab9df92b.js"],origins:["src/components/site/logo/logo.css?used&inline","src/entry_Logo.js","src/s_nha0bvvmmwe.js","src/s_pr2nqhxzcri.js"],symbols:["s_Nha0bvvmMwE","s_Pr2nqhxZcRI"]},"q-578ca8c9.js":{size:269,imports:["q-0c7da9fc.js","q-ab9df92b.js"],origins:["src/entry_RouterOutlet.js","src/s_aketnbye5tm.js"],symbols:["s_AKetNByE5TM"]},"q-67252f11.js":{size:28356,origins:["node_modules/axios/lib/adapters/adapters.js","node_modules/axios/lib/adapters/xhr.js","node_modules/axios/lib/axios.js","node_modules/axios/lib/cancel/CancelToken.js","node_modules/axios/lib/cancel/CanceledError.js","node_modules/axios/lib/cancel/isCancel.js","node_modules/axios/lib/core/Axios.js","node_modules/axios/lib/core/AxiosError.js","node_modules/axios/lib/core/AxiosHeaders.js","node_modules/axios/lib/core/InterceptorManager.js","node_modules/axios/lib/core/buildFullPath.js","node_modules/axios/lib/core/dispatchRequest.js","node_modules/axios/lib/core/mergeConfig.js","node_modules/axios/lib/core/settle.js","node_modules/axios/lib/core/transformData.js","node_modules/axios/lib/defaults/index.js","node_modules/axios/lib/defaults/transitional.js","node_modules/axios/lib/env/data.js","node_modules/axios/lib/helpers/AxiosURLSearchParams.js","node_modules/axios/lib/helpers/HttpStatusCode.js","node_modules/axios/lib/helpers/bind.js","node_modules/axios/lib/helpers/buildURL.js","node_modules/axios/lib/helpers/combineURLs.js","node_modules/axios/lib/helpers/cookies.js","node_modules/axios/lib/helpers/formDataToJSON.js","node_modules/axios/lib/helpers/isAbsoluteURL.js","node_modules/axios/lib/helpers/isAxiosError.js","node_modules/axios/lib/helpers/isURLSameOrigin.js","node_modules/axios/lib/helpers/null.js","node_modules/axios/lib/helpers/parseHeaders.js","node_modules/axios/lib/helpers/parseProtocol.js","node_modules/axios/lib/helpers/speedometer.js","node_modules/axios/lib/helpers/spread.js","node_modules/axios/lib/helpers/toFormData.js","node_modules/axios/lib/helpers/toURLEncodedForm.js","node_modules/axios/lib/helpers/validator.js","node_modules/axios/lib/platform/browser/classes/FormData.js","node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","node_modules/axios/lib/platform/browser/index.js","node_modules/axios/lib/utils.js","node_modules/axios/node_modules/form-data/lib/browser.js"]},"q-68e4676f.js":{size:1121,imports:["q-0c7da9fc.js","q-ab9df92b.js"],origins:["src/entry_Link.js","src/s_8gdlbszqbam.js","src/s_epaz5qq4lg4.js","src/s_kzjavhdi3l0.js","src/s_u0yvoxt2aty.js","src/s_yixwcc0m3jy.js"],symbols:["s_8gdLBszqbaM","s_EpaZ5qQ4Lg4","s_kzjavhDI3L0","s_u0YVoxt2aTY","s_yiXwCC0m3jY"]},"q-69b15b53.js":{size:1657,imports:["q-0c7da9fc.js","q-ab9df92b.js"],dynamicImports:["q-3983ace9.js"],origins:["@builder.io/qwik/build","src/entry_QwikCityProvider.js","src/s_2eo7wcpaqi8.js","src/s_txcfoy819ag.js"],symbols:["s_2Eo7WCpaqI8","s_TxCFOy819ag"]},"q-70aef0a7.js":{size:698,imports:["q-0c7da9fc.js","q-81515f3b.js","q-ab9df92b.js"],origins:["src/entry_Footer.js","src/s_gg4uq3lbniu.js"],symbols:["s_GG4uQ3LbNIU"]},"q-7c0f50e7.js":{size:295,imports:["q-ab9df92b.js"],dynamicImports:["q-e5be407a.js"],origins:["src/routes/about/index@site.tsx"]},"q-81230502.js":{size:106,imports:["q-ab9df92b.js"],origins:["src/entry_privacy.js","src/s_mmjhjqmfzpq.js"],symbols:["s_mmJHJQmfzpQ"]},"q-81515f3b.js":{size:912,imports:["q-ab9df92b.js"],dynamicImports:["q-70aef0a7.js","q-ff658550.js"],origins:["src/components/site/footer/footer.tsx","src/components/site/navigation/navigation.tsx","src/entry_layout_site.js","src/s_afvtdlqxhqm.js"],symbols:["s_AFVtdLQxhqM"]},"q-8766c9f1.js":{size:400,imports:["q-ab9df92b.js"],dynamicImports:["q-3c23504d.js"],origins:["src/routes/login/staging/index.tsx"]},"q-8c2a269b.js":{size:200,imports:["q-0c7da9fc.js","q-ab9df92b.js"],origins:["src/entry_useEndpoint.js","src/s_00bfc4thmxa.js"],symbols:["s_00bFc4tHmxA"]},"q-933655d4.js":{size:291,imports:["q-ab9df92b.js"],dynamicImports:["q-167c00f9.js"],origins:["src/routes/contact/index.tsx"]},"q-9de791b0.js":{size:112,imports:["q-ab9df92b.js"],dynamicImports:["q-45aab3b6.js"],origins:["@qwik-city-entries"]},"q-9e1e3d3a.js":{size:319,imports:["q-ab9df92b.js"],dynamicImports:["q-15fc8530.js"],origins:["src/root.tsx"]},"q-a48c23ce.js":{size:563,imports:["q-ab9df92b.js"],origins:["src/entry_Message.js","src/s_qvqzm1qnnrm.js"],symbols:["s_qVqzm1QnNRM"]},"q-a5b055a8.js":{size:468,imports:["q-0c7da9fc.js","q-ab9df92b.js"],origins:["src/entry_QwikCityMockProvider.js","src/s_wmyc5h00wti.js"],symbols:["s_WmYC5H00wtI"]},"q-ab8b19ba.js":{size:104,imports:["q-ab9df92b.js"],origins:["src/entry_terms.js","src/s_ctglzv12wiy.js"],symbols:["s_cTGLZV12wIY"]},"q-ab9df92b.js":{size:43727,origins:["\0vite/preload-helper","node_modules/@builder.io/qwik/core.min.mjs"]},"q-b4a1d39e.js":{size:322,imports:["q-ab9df92b.js"],dynamicImports:["q-e5be407a.js"],origins:["src/routes/index@site.tsx"]},"q-b86c99a4.js":{size:9457,origins:["\0/Users/shaun/Code/TUTORIALS/CODERAIDERS/frontend/node_modules/cross-fetch/dist/browser-ponyfill.js?commonjs-module","\0commonjsHelpers.js","node_modules/cross-fetch/dist/browser-ponyfill.js"]},"q-d9b32b7d.js":{size:264,imports:["q-ab9df92b.js"],dynamicImports:["q-ab8b19ba.js"],origins:["src/routes/terms/index.tsx"]},"q-da8a015d.js":{size:193,imports:["q-ab9df92b.js"],dynamicImports:["q-81515f3b.js"],origins:["src/routes/layout-site.tsx"]},"q-dfa393e6.js":{size:2921,imports:["q-ab9df92b.js","q-b86c99a4.js"],dynamicImports:["q-a48c23ce.js"],origins:["\0/Users/shaun/Code/TUTORIALS/CODERAIDERS/frontend/node_modules/dotenv/lib/main.js?commonjs-module","\0__vite-browser-external?commonjs-proxy","__vite-browser-external","node_modules/dotenv/lib/main.js","node_modules/dotenv/package.json","src/components/ui/message.tsx","src/utils/helpers.ts"]},"q-e530f8a3.js":{size:841,imports:["q-0c7da9fc.js","q-ab9df92b.js"],origins:["src/entry_dashboard.js","src/s_04qkammdqji.js","src/s_7w7yyygs1d0.js"],symbols:["s_04qKAmMDQjI","s_7w7YYyGS1d0"]},"q-e595db96.js":{size:1068,imports:["q-0c7da9fc.js","q-337576b2.js","q-ab9df92b.js"],origins:["src/entry_Hero.js","src/s_im00hjibi0u.js"],symbols:["s_iM00hJibi0U"]},"q-e5be407a.js":{size:636,imports:["q-ab9df92b.js"],dynamicImports:["q-e595db96.js"],origins:["src/components/site/hero/hero.tsx","src/entry_index_site.js","src/s_4ubaeu4a7ac.js","src/s_ge1bvjv0hfk.js","src/s_reblx6nh9r0.js","src/s_xz0ipc0v0fc.js"],symbols:["s_4uBaEu4a7Ac","s_GE1BvJV0HFk","s_ReBlX6NH9R0","s_xz0IpC0v0Fc"]},"q-e6d839bc.js":{size:319,imports:["q-ab9df92b.js"],dynamicImports:["q-2950d8ee.js"],origins:["src/routes/login/index.tsx"]},"q-f8953492.js":{size:410,imports:["q-ab9df92b.js"],dynamicImports:["q-e530f8a3.js"],origins:["src/routes/members/dashboard/index.tsx"]},"q-fa62a59c.js":{size:6346,imports:["q-0c7da9fc.js","q-1cffbadd.js","q-ab9df92b.js","q-b86c99a4.js","q-dfa393e6.js","q-e6d839bc.js"],origins:["src/entry_signup.js","src/s_5azsva0x07s.js","src/s_ba88xgceqy8.js","src/s_rj6glgry00o.js"],symbols:["s_5aZSva0X07s","s_BA88xGcEQY8","s_rJ6GlGrY00o"]},"q-fb8e0cd7.js":{size:267,imports:["q-ab9df92b.js"],dynamicImports:["q-2cfb7f0a.js"],origins:["src/routes/disclaimer/index.tsx"]},"q-ff658550.js":{size:2305,imports:["q-0c7da9fc.js","q-1cffbadd.js","q-337576b2.js","q-9e1e3d3a.js","q-ab9df92b.js","q-b86c99a4.js"],dynamicImports:["q-4ef2340b.js"],origins:["src/components/site/logo/logo.tsx","src/entry_Navigation.js","src/s_3lsbotgjcd4.js","src/s_4li93x0px88.js","src/s_d6gnpqbvixc.js"],symbols:["s_3LSBotgjcd4","s_4lI93x0px88","s_D6gnpqBvIxc"]},"q-ffa06541.js":{size:270,imports:["q-ab9df92b.js"],dynamicImports:["q-81230502.js"],origins:["src/routes/privacy/index.tsx"]}},injections:[],version:"1",options:{target:"client",buildMode:"production",forceFullBuild:!0,entryStrategy:{type:"smart"}},platform:{qwik:"0.16.1",vite:"",rollup:"3.8.1",env:"node",os:"darwin",node:"18.11.0"}};function d(s){return o(e(i,{},"pY_0"),{manifest:a,...s,containerAttributes:{lang:"en-us",...s.containerAttributes}})}export{d as default}; 2 | -------------------------------------------------------------------------------- /frontend/server/package.json: -------------------------------------------------------------------------------- 1 | {"type":"module"} -------------------------------------------------------------------------------- /frontend/src/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coderaidershaun/qwik-supabase-nginx-project/10085b6e9cb3815109e7e7b495f03f241ef90d84/frontend/src/.DS_Store -------------------------------------------------------------------------------- /frontend/src/components/router-head/router-head.tsx: -------------------------------------------------------------------------------- 1 | import { component$ } from '@builder.io/qwik'; 2 | import { useDocumentHead, useLocation } from '@builder.io/qwik-city'; 3 | 4 | /** 5 | * The RouterHead component is placed inside of the document `` element. 6 | */ 7 | export const RouterHead = component$(() => { 8 | const head = useDocumentHead(); 9 | const loc = useLocation(); 10 | 11 | return ( 12 | <> 13 | {head.title} 14 | 15 | 16 | 17 | 18 | 19 | {head.meta.map((m) => ( 20 | 21 | ))} 22 | 23 | {head.links.map((l) => ( 24 | 25 | ))} 26 | 27 | {head.styles.map((s) => ( 28 |