diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index dd302e0e5..000000000 Binary files a/.DS_Store and /dev/null differ diff --git a/.github/holopin.yml b/.github/holopin.yml deleted file mode 100644 index 5823d3245..000000000 --- a/.github/holopin.yml +++ /dev/null @@ -1,6 +0,0 @@ -organization: 'codingcatdev' -defaultSticker: clhzaw5z9233140fl4804rmv3u -stickers: - - - id: clhzaw5z9233140fl4804rmv3u - alias: AJ-Primary \ No newline at end of file diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 000000000..c937ba600 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,89 @@ +name: Deploy CodingCat.dev + +on: + push: + branches: [dev, main] + +jobs: + deploy-dev: + if: github.ref == 'refs/heads/dev' + runs-on: ubuntu-latest + environment: dev + + steps: + - uses: actions/checkout@v4 + + - uses: pnpm/action-setup@v4 + + - uses: actions/setup-node@v4 + with: + node-version: "22" + cache: "pnpm" + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Install wrangler + run: pnpm add -Dw wrangler + + - name: Build + run: pnpm --filter @codingcatdev/web build + env: + SANITY_PROJECT_ID: ${{ vars.SANITY_STUDIO_PROJECT_ID }} + SANITY_DATASET: ${{ vars.SANITY_STUDIO_DATASET }} + PUBLIC_SANITY_STUDIO_URL: https://${{ vars.SANITY_STUDIO_HOSTNAME }}.sanity.studio + + - name: Deploy to Cloudflare + run: pnpm exec wrangler deploy + working-directory: apps/web + env: + CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} + CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + + - name: Deploy Sanity Studio + run: npx sanity deploy -y + working-directory: apps/sanity + env: + SANITY_AUTH_TOKEN: ${{ secrets.SANITY_AUTH_TOKEN }} + SANITY_STUDIO_HOSTNAME: ${{ vars.SANITY_STUDIO_HOSTNAME }} + + deploy-production: + if: github.ref == 'refs/heads/main' + runs-on: ubuntu-latest + environment: production + + steps: + - uses: actions/checkout@v4 + + - uses: pnpm/action-setup@v4 + + - uses: actions/setup-node@v4 + with: + node-version: "22" + cache: "pnpm" + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Install wrangler + run: pnpm add -Dw wrangler + + - name: Build + run: pnpm --filter @codingcatdev/web build + env: + SANITY_PROJECT_ID: ${{ vars.SANITY_STUDIO_PROJECT_ID }} + SANITY_DATASET: ${{ vars.SANITY_STUDIO_DATASET }} + + - name: Deploy to Cloudflare + run: pnpm exec wrangler deploy --env production + working-directory: apps/web + env: + CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} + CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + + - name: Deploy Sanity Studio + run: npx sanity deploy -y + working-directory: apps/sanity + env: + SANITY_AUTH_TOKEN: ${{ secrets.SANITY_AUTH_TOKEN }} + SANITY_STUDIO_HOSTNAME: ${{ vars.SANITY_STUDIO_HOSTNAME }} diff --git a/.gitignore b/.gitignore index 60ee5c83a..2059b78a4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,39 @@ -.DS_Store -node_modules +# dependencies +node_modules/ + +# build output +dist/ + +# astro +.astro/ + +# cloudflare +.wrangler/ +.dev.vars + +# sanity +.sanity/ + +# env files .env -.env.* -!.env.example \ No newline at end of file +.env.local +.env*.local + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# typescript +*.tsbuildinfo + +# editor +.vscode/* +!.vscode/launch.json +!.vscode/mcp.json +# pnpm workspace — root pnpm-lock.yaml is the lockfile +package-lock.json diff --git a/.vscode/launch.json b/.vscode/launch.json index 85fe56838..2caa73a4d 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -1,28 +1,62 @@ { - "version": "0.2.0", - "configurations": [ - { - "name": "CodingCat server", - "cwd": "${workspaceFolder}/apps/codingcatdev", - "request": "launch", - "runtimeArgs": ["run-script", "dev"], - "runtimeExecutable": "pnpm", - "skipFiles": ["/**"], - "type": "node", - "console": "integratedTerminal" - }, - { - "name": "CodingCat client", - "request": "launch", - "type": "chrome", - "url": "http://localhost:5173", - "webRoot": "${workspaceFolder}/apps/codingcatdev" - } - ], - "compounds": [ - { - "name": "CodingCat Full", - "configurations": ["CodingCat server", "CodingCat client"] - } - ] -} \ No newline at end of file + "version": "0.2.0", + "configurations": [ + { + "name": "Astro: Dev (debug server + sanity.ts)", + "type": "node", + "request": "launch", + "runtimeExecutable": "node", + "runtimeArgs": ["--inspect"], + "program": "${workspaceFolder}/apps/web/node_modules/astro/bin/astro.mjs", + "args": ["dev"], + "cwd": "${workspaceFolder}/apps/web", + "console": "integratedTerminal", + "skipFiles": ["/**", "**/node_modules/**"] + }, + { + "name": "Astro: Attach to running dev server", + "type": "node", + "request": "attach", + "port": 9229, + "skipFiles": ["/**", "**/node_modules/**"], + "sourceMaps": true, + "restart": true + }, + { + "name": "Astro: Chrome (client-side)", + "type": "chrome", + "request": "launch", + "url": "http://localhost:4321", + "webRoot": "${workspaceFolder}/apps/web", + "sourceMapPathOverrides": { + "webpack:///./*": "${webRoot}/*", + "webpack:///src/*": "${webRoot}/src/*", + "webpack:///*": "*" + } + }, + { + "name": "Astro: Dev + Chrome", + "type": "node", + "request": "launch", + "runtimeExecutable": "node", + "runtimeArgs": ["--inspect"], + "program": "${workspaceFolder}/apps/web/node_modules/astro/bin/astro.mjs", + "args": ["dev"], + "cwd": "${workspaceFolder}/apps/web", + "console": "integratedTerminal", + "skipFiles": ["/**", "**/node_modules/**"], + "serverReadyAction": { + "pattern": "Local:.*(https?://[^\\s]+)", + "uriFormat": "%s", + "action": "debugWithChrome" + } + } + ], + "compounds": [ + { + "name": "Astro: Full (server + browser)", + "configurations": ["Astro: Dev (debug server + sanity.ts)", "Astro: Chrome (client-side)"], + "stopAll": true + } + ] +} diff --git a/apps/codingcatdev/.eslintignore b/apps/codingcatdev/.eslintignore deleted file mode 100644 index 38972655f..000000000 --- a/apps/codingcatdev/.eslintignore +++ /dev/null @@ -1,13 +0,0 @@ -.DS_Store -node_modules -/build -/.svelte-kit -/package -.env -.env.* -!.env.example - -# Ignore files for PNPM, NPM and YARN -pnpm-lock.yaml -package-lock.json -yarn.lock diff --git a/apps/codingcatdev/.eslintrc.cjs b/apps/codingcatdev/.eslintrc.cjs deleted file mode 100644 index 3ccf435f0..000000000 --- a/apps/codingcatdev/.eslintrc.cjs +++ /dev/null @@ -1,20 +0,0 @@ -module.exports = { - root: true, - parser: '@typescript-eslint/parser', - extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'prettier'], - plugins: ['svelte3', '@typescript-eslint'], - ignorePatterns: ['*.cjs'], - overrides: [{ files: ['*.svelte'], processor: 'svelte3/svelte3' }], - settings: { - 'svelte3/typescript': () => require('typescript') - }, - parserOptions: { - sourceType: 'module', - ecmaVersion: 2020 - }, - env: { - browser: true, - es2017: true, - node: true - } -}; diff --git a/apps/codingcatdev/.gitignore b/apps/codingcatdev/.gitignore deleted file mode 100644 index c2838ceab..000000000 --- a/apps/codingcatdev/.gitignore +++ /dev/null @@ -1,14 +0,0 @@ -.DS_Store -node_modules -/build -/.svelte-kit -/package -.env -.env.* -!.env.example -vite.config.js.timestamp-* -vite.config.ts.timestamp-* -.vercel - -# Sentry Config File -.sentryclirc diff --git a/apps/codingcatdev/.npmrc b/apps/codingcatdev/.npmrc deleted file mode 100644 index b6f27f135..000000000 --- a/apps/codingcatdev/.npmrc +++ /dev/null @@ -1 +0,0 @@ -engine-strict=true diff --git a/apps/codingcatdev/.prettierignore b/apps/codingcatdev/.prettierignore deleted file mode 100644 index 38972655f..000000000 --- a/apps/codingcatdev/.prettierignore +++ /dev/null @@ -1,13 +0,0 @@ -.DS_Store -node_modules -/build -/.svelte-kit -/package -.env -.env.* -!.env.example - -# Ignore files for PNPM, NPM and YARN -pnpm-lock.yaml -package-lock.json -yarn.lock diff --git a/apps/codingcatdev/.prettierrc b/apps/codingcatdev/.prettierrc deleted file mode 100644 index a77fddea9..000000000 --- a/apps/codingcatdev/.prettierrc +++ /dev/null @@ -1,9 +0,0 @@ -{ - "useTabs": true, - "singleQuote": true, - "trailingComma": "none", - "printWidth": 100, - "plugins": ["prettier-plugin-svelte"], - "pluginSearchDirs": ["."], - "overrides": [{ "files": "*.svelte", "options": { "parser": "svelte" } }] -} diff --git a/apps/codingcatdev/.turbo/turbo-lint.log b/apps/codingcatdev/.turbo/turbo-lint.log deleted file mode 100644 index ffe575b77..000000000 --- a/apps/codingcatdev/.turbo/turbo-lint.log +++ /dev/null @@ -1,6 +0,0 @@ - -> codingcatdev@2.0.0 lint /Users/ccd/web/codingcatdev/v2-codingcat.dev/apps/codingcatdev -> prettier --plugin-search-dir . --check . && eslint . - -Checking formatting... - ELIFECYCLE  Command failed. diff --git a/apps/codingcatdev/README.md b/apps/codingcatdev/README.md deleted file mode 100644 index 5c91169b0..000000000 --- a/apps/codingcatdev/README.md +++ /dev/null @@ -1,38 +0,0 @@ -# create-svelte - -Everything you need to build a Svelte project, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/master/packages/create-svelte). - -## Creating a project - -If you're seeing this, you've probably already done this step. Congrats! - -```bash -# create a new project in the current directory -npm create svelte@latest - -# create a new project in my-app -npm create svelte@latest my-app -``` - -## Developing - -Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server: - -```bash -npm run dev - -# or start the server and open the app in a new browser tab -npm run dev -- --open -``` - -## Building - -To create a production version of your app: - -```bash -npm run build -``` - -You can preview the production build with `npm run preview`. - -> To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment. diff --git a/apps/codingcatdev/convert-content.js b/apps/codingcatdev/convert-content.js deleted file mode 100644 index 8e988f9aa..000000000 --- a/apps/codingcatdev/convert-content.js +++ /dev/null @@ -1,73 +0,0 @@ -import { readFileSync, readdirSync, rmSync, mkdirSync, writeFileSync } from 'fs'; -const CONTENT = './src/content/'; -const NONCOURSEROUTES = './src/routes/(content-single)/(non-course)'; -const COURSEROUTES = './src/routes/(content-single)'; -const types = readdirSync(CONTENT); - -for (const type of types) { - console.log('EXECUTE', type); - - // Clean up directories - if (type === 'course') { - rmSync(`${COURSEROUTES}/${type}`, { recursive: true, force: true }); - mkdirSync(`${COURSEROUTES}/${type}`); - } else { - rmSync(`${NONCOURSEROUTES}/${type}`, { recursive: true, force: true }); - mkdirSync(`${NONCOURSEROUTES}/${type}`); - } - - // Move file from md, to route - if (type === 'course') { - const courses = readdirSync(`${CONTENT}/${type}`); - for (const course of courses) { - // Read File - const md = readFileSync(`${CONTENT}/${type}/${course}/index.md`, 'utf8'); - - // add types - const finalMd = md.replace('---', `---\ntype: ${type}`); - - // Create new directory - const dirName = course.replace('.md', ''); - mkdirSync(`${COURSEROUTES}/${type}/${dirName}`); - - // Write +page as new file - writeFileSync(`${COURSEROUTES}/${type}/${dirName}/+page.md`, finalMd); - - // Lessons - const lessons = readdirSync(`${CONTENT}/${type}/${course}/lesson`); - if (lessons) { - mkdirSync(`${COURSEROUTES}/${type}/${course}/lesson`); - } - for (const lesson of lessons) { - // Read File - const md = readFileSync(`${CONTENT}/${type}/${course}/lesson/${lesson}`, 'utf8'); - - // add types - const finalMd = md.replace('---', `---\ntype: lesson`); - - // Create new directory - const dirName = lesson.replace('.md', ''); - mkdirSync(`${COURSEROUTES}/${type}/${course}/lesson/${dirName}`); - - // Write +page as new file - writeFileSync(`${COURSEROUTES}/${type}/${course}/lesson/${dirName}/+page.md`, finalMd); - } - } - } else { - const files = readdirSync(`${CONTENT}/${type}`); - for (const file of files) { - // Read File - const md = readFileSync(`${CONTENT}/${type}/${file}`, 'utf8'); - - // add types - const finalMd = md.replace('---', `---\ntype: ${type}`); - - // Create new directory - const dirName = file.replace('.md', ''); - mkdirSync(`${NONCOURSEROUTES}/${type}/${dirName}`); - - // Write +page as new file - writeFileSync(`${NONCOURSEROUTES}/${type}/${dirName}/+page.md`, finalMd); - } - } -} diff --git a/apps/codingcatdev/package.json b/apps/codingcatdev/package.json deleted file mode 100644 index 7909ba114..000000000 --- a/apps/codingcatdev/package.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "name": "codingcatdev", - "version": "2.0.0", - "private": true, - "scripts": { - "dev": "vite dev", - "build": "vite build", - "preview": "vite preview", - "check": "svelte-kit sync && svelte-check --tsconfig ./jsconfig.json", - "check:watch": "svelte-kit sync && svelte-check --tsconfig ./jsconfig.json --watch", - "test": "playwright test", - "test:unit": "vitest", - "lint": "prettier --plugin-search-dir . --check . && eslint .", - "format": "prettier --plugin-search-dir . --write ." - }, - "devDependencies": { - "@firebase/app-types": "~0.9.0", - "@fontsource/shadows-into-light": "^5.0.13", - "@playwright/test": "^1.38.1", - "@skeletonlabs/skeleton": "2.5.0", - "@skeletonlabs/tw-plugin": "0.2.2", - "@steeze-ui/heroicons": "^2.2.3", - "@steeze-ui/simple-icons": "^1.5.1", - "@steeze-ui/svelte-icon": "^1.5.0", - "@sveltejs/adapter-auto": "^2.1.0", - "@sveltejs/adapter-vercel": "^3.0.3", - "@sveltejs/kit": "^1.25.1", - "@tailwindcss/forms": "^0.5.6", - "@tailwindcss/typography": "0.5.10", - "@types/node": "^20.8.6", - "@types/prismjs": "^1.26.1", - "@types/video.js": "^7.3.53", - "autoprefixer": "^10.4.16", - "eslint": "^8.50.0", - "eslint-config-prettier": "^9.0.0", - "feed": "^4.2.2", - "firebase-admin": "^11.11.0", - "flexsearch": "^0.7.31", - "marked": "^9.0.3", - "mdsvex": "^0.11.0", - "postcss": "^8.4.31", - "postcss-load-config": "^4.0.1", - "prettier": "^3.0.3", - "prettier-plugin-svelte": "^3.0.3", - "prismjs": "^1.29.0", - "svelte": "^4.2.1", - "svelte-check": "^3.5.2", - "svelte-preprocess": "^5.0.4", - "tailwindcss": "^3.3.3", - "typescript": "^5.2.2", - "vite": "^4.4.9", - "vitest": "^0.34.6" - }, - "type": "module", - "dependencies": { - "@cloudinary/html": "^1.11.2", - "@cloudinary/url-gen": "^1.11.2", - "@floating-ui/dom": "^1.5.3", - "@sentry/sveltekit": "^7.78.0", - "@steeze-ui/material-design-icons": "^1.1.2", - "esm-env": "^1.0.0", - "firebase": "^10.4.0", - "gsap": "^3.12.2", - "prism-svelte": "^0.5.0", - "prism-themes": "^1.9.0", - "rehype-slug": "^6.0.0", - "sveltefire": "^0.4.2" - } -} \ No newline at end of file diff --git a/apps/codingcatdev/playwright.config.js b/apps/codingcatdev/playwright.config.js deleted file mode 100644 index f0ba5d26b..000000000 --- a/apps/codingcatdev/playwright.config.js +++ /dev/null @@ -1,10 +0,0 @@ -/** @type {import('@playwright/test').PlaywrightTestConfig} */ -const config = { - webServer: { - command: 'npm run build && npm run preview', - port: 4173 - }, - testDir: 'tests' -}; - -export default config; diff --git a/apps/codingcatdev/postcss.config.cjs b/apps/codingcatdev/postcss.config.cjs deleted file mode 100644 index 054c147cb..000000000 --- a/apps/codingcatdev/postcss.config.cjs +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - plugins: { - tailwindcss: {}, - autoprefixer: {} - } -}; diff --git a/apps/codingcatdev/src/app.d.ts b/apps/codingcatdev/src/app.d.ts deleted file mode 100644 index 26a9569bc..000000000 --- a/apps/codingcatdev/src/app.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -// See https://kit.svelte.dev/docs/types#app -// for information about these interfaces -// and what to do when importing types -declare namespace App { - // interface Error {} - // interface Locals {} - // interface PageData {} - // interface Platform {} -} diff --git a/apps/codingcatdev/src/app.html b/apps/codingcatdev/src/app.html deleted file mode 100644 index 539ecbfb5..000000000 --- a/apps/codingcatdev/src/app.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - %sveltekit.head% - - -
%sveltekit.body%
- - diff --git a/apps/codingcatdev/src/app.postcss b/apps/codingcatdev/src/app.postcss deleted file mode 100644 index 597e75da5..000000000 --- a/apps/codingcatdev/src/app.postcss +++ /dev/null @@ -1,7 +0,0 @@ -@import './styles/tailwind.css'; -@import './styles/app.css'; -@import './styles/nav-list.css'; -@import './styles/grid-card.css'; -@import './styles/markdown.css'; -@import './styles/typography.css'; -@import '@fontsource/shadows-into-light'; diff --git a/apps/codingcatdev/src/hooks.client.ts b/apps/codingcatdev/src/hooks.client.ts deleted file mode 100644 index 86a9ebbd8..000000000 --- a/apps/codingcatdev/src/hooks.client.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { handleErrorWithSentry, Replay } from '@sentry/sveltekit'; -import * as Sentry from '@sentry/sveltekit'; - -Sentry.init({ - dsn: 'https://518fe25472568a2e47252e6f29583c6b@o1029244.ingest.sentry.io/4506190917206016', - tracesSampleRate: 1.0, - - // This sets the sample rate to be 10%. You may want this to be 100% while - // in development and sample at a lower rate in production - replaysSessionSampleRate: 0.1, - - // If the entire session is not sampled, use the below sample rate to sample - // sessions when an error occurs. - replaysOnErrorSampleRate: 1.0, - - // If you don't want to use Session Replay, just remove the line below: - integrations: [new Replay()], - environment: import.meta.env.VITE_VERCEL_ENV || 'local' -}); - -// If you have a custom error handler, pass it to `handleErrorWithSentry` -export const handleError = handleErrorWithSentry(); diff --git a/apps/codingcatdev/src/hooks.server.ts b/apps/codingcatdev/src/hooks.server.ts deleted file mode 100644 index f6a982dd1..000000000 --- a/apps/codingcatdev/src/hooks.server.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { sequence } from '@sveltejs/kit/hooks'; -import * as Sentry from '@sentry/sveltekit'; -import { redirect, type Handle } from '@sveltejs/kit'; -import { env } from '$env/dynamic/private'; - -Sentry.init({ - dsn: 'https://518fe25472568a2e47252e6f29583c6b@o1029244.ingest.sentry.io/4506190917206016', - tracesSampleRate: 1, - environment: env.VERCEL_ENV || 'local' -}); - -export const handle = sequence(Sentry.sentryHandle(), (async ({ event, resolve }) => { - if (event.url.pathname.startsWith('/tutorials')) { - throw redirect(301, '/posts'); - } - - if (event.url.pathname.startsWith('/tutorial')) { - throw redirect(301, `/post/${event.url.pathname.split('/').at(-1)}`); - } - - const response = await resolve(event); - return response; -}) satisfies Handle); -export const handleError = Sentry.handleErrorWithSentry(); diff --git a/apps/codingcatdev/src/index.test.ts b/apps/codingcatdev/src/index.test.ts deleted file mode 100644 index e07cbbd72..000000000 --- a/apps/codingcatdev/src/index.test.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { describe, it, expect } from 'vitest'; - -describe('sum test', () => { - it('adds 1 + 2 to equal 3', () => { - expect(1 + 2).toBe(3); - }); -}); diff --git a/apps/codingcatdev/src/lib/actions/focus.ts b/apps/codingcatdev/src/lib/actions/focus.ts deleted file mode 100644 index 3be0b1040..000000000 --- a/apps/codingcatdev/src/lib/actions/focus.ts +++ /dev/null @@ -1,67 +0,0 @@ -export function focusable_children(node: HTMLElement) { - const nodes = Array.from( - node.querySelectorAll( - 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])' - ) - ); - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-expect-error - const index = nodes.indexOf(document.activeElement); - - const update = (d: number) => { - let i = index + d; - i += nodes.length; - i %= nodes.length; - - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-expect-error - nodes[i].focus(); - }; - - return { - next: (selector: string) => { - const reordered: any[] = [...nodes.slice(index + 1), ...nodes.slice(0, index + 1)]; - - for (let i = 0; i < reordered.length; i += 1) { - if (!selector || reordered[i].matches(selector)) { - reordered[i].focus(); - return; - } - } - }, - prev: (selector: string) => { - const reordered: any[] = [...nodes.slice(index + 1), ...nodes.slice(0, index + 1)]; - - for (let i = reordered.length - 2; i >= 0; i -= 1) { - if (!selector || reordered[i].matches(selector)) { - reordered[i].focus(); - return; - } - } - }, - update - }; -} - -export function trap(node: HTMLDivElement) { - const handle_keydown = (e: { key: string; preventDefault: () => void; shiftKey: any; }) => { - if (e.key === 'Tab') { - e.preventDefault(); - - const group = focusable_children(node); - // if (e.shiftKey) { - // group.prev(); - // } else { - // group.next(); - // } - } - }; - - node.addEventListener('keydown', handle_keydown); - - return { - destroy: () => { - node.removeEventListener('keydown', handle_keydown); - } - }; -} diff --git a/apps/codingcatdev/src/lib/actions/inView.ts b/apps/codingcatdev/src/lib/actions/inView.ts deleted file mode 100644 index 352b86d35..000000000 --- a/apps/codingcatdev/src/lib/actions/inView.ts +++ /dev/null @@ -1,44 +0,0 @@ -/** - * This action triggers a custom event on node entering/exiting the viewport. - * example: - *

console.log("enter")} - * on:exit={() => console.log("exit")} - * > - * - * optional params { root, top, bottom } - * top and bottom are numbers - * use:inView={ bottom: 100 } // 100 pixels from bottom of viewport - */ -import type { Action } from "svelte/action"; - -export const inView: Action = (node, params) => { - let observer: IntersectionObserver; - - const handleIntersect = (e: IntersectionObserverEntry[]) => { - const v = e[0].isIntersecting ? "enter" : "exit"; - node.dispatchEvent(new CustomEvent(v)); - }; - - const setObserver = (params: { root: Element | Document | null, top: number, bottom: number } | undefined) => { - const marginTop = params?.top ? params?.top * -1 : 0; - const marginBottom = params?.bottom ? params?.bottom * -1 : 0; - const rootMargin = `${marginTop}px 0px ${marginBottom}px 0px`; - const options: IntersectionObserverInit = { root: params?.root, rootMargin }; - if (observer) observer.disconnect(); - observer = new IntersectionObserver(handleIntersect, options);; - observer.observe(node); - } - setObserver(params); - - return { - update(params) { - setObserver(params); - }, - - destroy() { - if (observer) observer.disconnect(); - } - }; -} \ No newline at end of file diff --git a/apps/codingcatdev/src/lib/actions/index.ts b/apps/codingcatdev/src/lib/actions/index.ts deleted file mode 100644 index 97bab44b0..000000000 --- a/apps/codingcatdev/src/lib/actions/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { focusable_children, trap } from './focus'; diff --git a/apps/codingcatdev/src/lib/client/firebase.ts b/apps/codingcatdev/src/lib/client/firebase.ts deleted file mode 100644 index 6a143137d..000000000 --- a/apps/codingcatdev/src/lib/client/firebase.ts +++ /dev/null @@ -1,160 +0,0 @@ -import { browser } from '$app/environment'; - -import { initializeApp, getApps } from 'firebase/app'; -import { - getAuth, - signInWithEmailAndPassword, - signInWithPopup, - type AuthProvider, - type Auth, - createUserWithEmailAndPassword -} from 'firebase/auth'; -import { - getFirestore, - collection, - doc, - addDoc, - onSnapshot, - Firestore, - setDoc, - type DocumentData, - initializeFirestore -} from 'firebase/firestore'; -import { httpsCallable, getFunctions, type Functions } from 'firebase/functions'; -import { - getAnalytics, - type Analytics, - logEvent, - type AnalyticsCallOptions -} from 'firebase/analytics'; - -import { env } from '$env/dynamic/public'; - -export const firebaseConfig = { - apiKey: env.PUBLIC_FB_API_KEY, - authDomain: env.PUBLIC_FB_AUTH_DOMAIN, - projectId: env.PUBLIC_FB_PROJECT_ID, - storageBucket: env.PUBLIC_FB_STORAGE_BUCKET, - messagingSenderId: env.PUBLIC_FB_MESSAGE_SENDER_ID, - appId: env.PUBLIC_FB_APP_ID, - measurementId: env.PUBLIC_FB_MEASUREMENT_ID -}; - -export let app = getApps().at(0); -export let auth: Auth; -export let firestore: Firestore; -export let functions: Functions; -export let analytics: Analytics; - -if ( - !app && - browser && - firebaseConfig.apiKey && - firebaseConfig.authDomain && - firebaseConfig.projectId && - firebaseConfig.storageBucket && - firebaseConfig.messagingSenderId && - firebaseConfig.appId && - firebaseConfig.measurementId -) { - app = initializeApp(firebaseConfig); - auth = getAuth(app); - - // As httpOnly cookies are to be used, do not persist any state client side. - // setPersistence(auth, browserSessionPersistence); - firestore = initializeFirestore(app, { ignoreUndefinedProperties: true }); - functions = getFunctions(app); - analytics = getAnalytics(app); -} else { - if ( - browser && - (!firebaseConfig.apiKey || - !firebaseConfig.authDomain || - !firebaseConfig.projectId || - !firebaseConfig.storageBucket || - !firebaseConfig.messagingSenderId || - !firebaseConfig.appId || - !firebaseConfig.measurementId) - ) - console.debug('Skipping Firebase Initialization, check firebaseconfig.'); -} - -/* AUTH */ - -const setCookie = (idToken: string) => { - document.cookie = '__ccdlogin=' + idToken + ';max-age=3600'; -}; - -export const ccdSignInWithEmailAndPassword = async ({ - email, - password -}: { - email: string; - password: string; -}) => { - const userResponse = await signInWithEmailAndPassword(auth, email, password); - const idToken = await userResponse.user.getIdToken(); - setCookie(idToken); -}; - -export const ccdSignUpWithEmailAndPassword = async ({ - email, - password -}: { - email: string; - password: string; -}) => { - const userCredential = await createUserWithEmailAndPassword(auth, email, password); - const idToken = await userCredential.user.getIdToken(); - setCookie(idToken); -}; - -export const ccdSignInWithPopUp = async (provider: AuthProvider) => { - const result = await signInWithPopup(auth, provider); - const idToken = await result.user.getIdToken(); - - if (!idToken) throw 'Missing id Token'; - setCookie(idToken); -}; - -/* DB */ -export const updateUser = async (docRef: string, data: DocumentData) => { - return setDoc(doc(firestore, docRef), data, { merge: true }); -}; - -/* STRIPE */ -export const addSubscription = async (price: string, uid: string) => { - const userDoc = doc(collection(firestore, 'stripe-customers'), uid); - return await addDoc(collection(userDoc, 'checkout_sessions'), { - price, - success_url: window.location.href, - cancel_url: window.location.href - }); -}; - -/* FUNCTIONS */ -export const openStripePortal = async () => { - const functionRef = httpsCallable(functions, 'ext-firestore-stripe-payments-createPortalLink'); - const { data } = (await functionRef({ - returnUrl: window.location.href - })) as { data: { url: string } }; - window.location.assign(data.url); -}; - -/* Analytics */ -export const analyticsLogPageView = async ( - eventParams?: { - page_title?: string; - page_location?: string; - page_path?: string; - // eslint-disable-next-line @typescript-eslint/no-explicit-any - [key: string]: any; - }, - options?: AnalyticsCallOptions -) => { - if (firebaseConfig.apiKey) { - logEvent(analytics, 'page_view', eventParams, options); - } else { - console.debug('Skipping Firebase Analytics, no key specified.'); - } -}; diff --git a/apps/codingcatdev/src/lib/components/content/Button.svelte b/apps/codingcatdev/src/lib/components/content/Button.svelte deleted file mode 100644 index 01402e356..000000000 --- a/apps/codingcatdev/src/lib/components/content/Button.svelte +++ /dev/null @@ -1,7 +0,0 @@ - - - diff --git a/apps/codingcatdev/src/lib/components/content/CloudinaryImage.svelte b/apps/codingcatdev/src/lib/components/content/CloudinaryImage.svelte deleted file mode 100644 index a08e814a4..000000000 --- a/apps/codingcatdev/src/lib/components/content/CloudinaryImage.svelte +++ /dev/null @@ -1,35 +0,0 @@ - - - diff --git a/apps/codingcatdev/src/lib/components/content/CopyCodeInjector.svelte b/apps/codingcatdev/src/lib/components/content/CopyCodeInjector.svelte deleted file mode 100644 index 4c9641cf3..000000000 --- a/apps/codingcatdev/src/lib/components/content/CopyCodeInjector.svelte +++ /dev/null @@ -1,29 +0,0 @@ - - - diff --git a/apps/codingcatdev/src/lib/components/content/Image.svelte b/apps/codingcatdev/src/lib/components/content/Image.svelte deleted file mode 100644 index aba7c5caf..000000000 --- a/apps/codingcatdev/src/lib/components/content/Image.svelte +++ /dev/null @@ -1,16 +0,0 @@ - - -{#if loader} - {loader()} -{:else if src.match(/(res.cloudinary.com|media.codingcat.dev)/g)?.length} - -{:else} - -{/if} diff --git a/apps/codingcatdev/src/lib/components/content/Shorts.svelte b/apps/codingcatdev/src/lib/components/content/Shorts.svelte deleted file mode 100644 index b20537899..000000000 --- a/apps/codingcatdev/src/lib/components/content/Shorts.svelte +++ /dev/null @@ -1,9 +0,0 @@ -

diff --git a/apps/codingcatdev/src/lib/components/content/Video.svelte b/apps/codingcatdev/src/lib/components/content/Video.svelte deleted file mode 100644 index 442ce2d66..000000000 --- a/apps/codingcatdev/src/lib/components/content/Video.svelte +++ /dev/null @@ -1,41 +0,0 @@ - - -{#if isShort} -
-
- -
-
-{:else} -
- - -When you start using AWS Amplify you will notice that it is geared more towards the entire platform to be supported. Making it very simple for a Web or Mobile developer to get started very easy. The configurations for your backend are done mainly through the CLI and some configurations on your GraphQL (or REST) definitions. - -## Why do they both exist? - -What is similar between AWS CDK and AWS Amplify is that they both create CloudFormation files and deploy using AWS CloudFormation. This is the key when comparing them as Infrastructure as Code tools. However where the difference lies is the focus for each tool. - -### AWS Amplify - -AWS Amplify is all about mobile and web apps and has a very specific setup to get you writing your web or mobile application fast! It does this by using 3 components [libraries](https://aws.amazon.com/amplify/features/#Libraries), [UI components](https://aws.amazon.com/amplify/features/#UI_components), and a [CLI toolchain](https://aws.amazon.com/amplify/features/#CLI_toolchain). What Amplify does is allow for creating the below services very easily. - -User registration & authentication - -Offline synchronization & conflict resolution - -Access data from multiple data sources - -Manage user content - -Collect analytics data for your app - -AI/ML including text translations - -Create conversational chatbots - -Send targeted communications - -Manage messaging & subscriptions - -Much of this is done via the CLI and one comment that I hear a lot is that there is too much hidden "magic" that is happening when using the CLI to create all of these configurations. - -If you know for a fact that your next application is going to need tools outside of the ones listed above I would look to leverage another IaC like AWS CDK. The biggest thing is going to be developer happiness and testability within your application. If you spend all day fighting with customized CloudFormation written in customized JSON resources in AWS Amplify your developers are probably going to start to dislike the maintenance of the entire Amplify solution. - -The wonderful part about both AWS Amplify and AWS CDK is that they are both powered by CloudFormation, so you get all the benefits of CloudFormation, including repeatable deployment, easy rollback, and drift detection. - -Both tools also allow you to develop infrastructure and runtime code together. - -One of the biggest things that I believe AWS CDK has that Amplify does not are the idea of Constructs. Constructs are vetted architecture patterns, available as an open-source extension of the AWS Cloud Development Kit (CDK), that can be easily assembled declaratively to create a production-ready workload. You can find an entire [AWS Solutions Constructs repository](https://aws.amazon.com/solutions/constructs/patterns/). - -So a great example of using the CDK over Amplify would be if you are developing an IoT solution. This isn't a great fit for Amplify but below are all the Constructs that will get you started quickly. - -![https://media.codingcat.dev/image/upload/v1657680609/main-codingcatdev-photo/53ab91f1-4b07-4b32-9176-39105129c4b3.png](https://media.codingcat.dev/image/upload/v1657680609/main-codingcatdev-photo/53ab91f1-4b07-4b32-9176-39105129c4b3.png) - -There is a great list of features still coming on the [AWS CDK roadmap](https://github.com/orgs/aws/projects/7). - -## So is AWS Amplify or AWS CDK the most powerful in 2020? - -I know you read through all of the above and you did your best to already formulate an opinion and that was my goal. Don't let the tools stop you from creating exactly what you need, make sure you list out what you are trying to accomplish and then you can easily determine what IaC will work best for you. I believe as long as you have your Infrastructure in some type of code and it allows you to repeat your work easily, that is going to be the best solution for you. - -WHY NOT BOTH?? - -Better yet if you are looking to start with AWS Amplify and then continue building on top of this base you absolutely can! Checkout Nader Dabit's _Mixing Amplify with CDK - Building an Authenticated GraphQL API with TypeScript on AWS_ - -https://youtu.be/rjiiNpJzOYk - -## Alternative IaC Tools - -Ernesto Garbarino has a great article breaking down [Infrastructure as Code](https://spacelift.io/blog/infrastructure-as-code) over on Spacelift. He breaks down the benefits and disadvantages of IaC. There is also a great list of tools for SCM that they have listed as well. - -If you haven't watched [Purrfect.dev's Pulumi Episode](https://codingcat.dev/podcasts/infrastructure-as-code-with-pulumi/) you should check it out now! - -[https://youtu.be/X0LF2LugNTY](https://youtu.be/X0LF2LugNTY) diff --git a/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/backup-sanity-with-cloud-firestore/+page.md b/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/backup-sanity-with-cloud-firestore/+page.md deleted file mode 100644 index a42251067..000000000 --- a/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/backup-sanity-with-cloud-firestore/+page.md +++ /dev/null @@ -1,133 +0,0 @@ ---- -type: post -authors: - - alex-patterson -cloudinary_convert: false -cover: https://media.codingcat.dev/image/upload/v1616545942/main-codingcatdev-photo/ivyj5svdql79xzaqx5ii.png -excerpt: How to utilize Sanity's Webhooks to trigger a Firebase Cloud Function that can backup your data in Cloud Firestore -hashnode: https://hashnode.codingcat.dev/tutorial-backup-sanity-with-cloud-firestore -preview: https://codingcat.dev/api/preview?secret=7tjQhb1qQlS3FtyV3b0I&selectionType=tutorial&selectionSlug=backup-sanity-with-cloud-firestore&_id=d1b5361f867d43eda8943b56a8ba79c9 -published: published -slug: backup-sanity-with-cloud-firestore -start: May 29, 2022 -title: Backup Sanity with Cloud Firestore -youtube: https://youtu.be/ea1-Dv4z2nI ---- - -## New Firebase Project - -In order to accept webhooks from Sanity you will need to have a firebase project setup, you can search this site for many examples. But most simply run `firebase init` on your command line and select Functions and Firestore, you can keep all other defaults. - -![https://res.cloudinary.com/ajonp/image/upload/f_auto,q_auto/ajonp-ajonp-com/uploads/ocpm7ygcvj8ttwmrvmme.png](https://res.cloudinary.com/ajonp/image/upload/f_auto,q_auto/ajonp-ajonp-com/uploads/ocpm7ygcvj8ttwmrvmme.png) - -After selecting an existing or creating a new project make sure to select TypeScript - -![https://res.cloudinary.com/ajonp/image/upload/f_auto,q_auto/ajonp-ajonp-com/uploads/ghyvspk2skertrbksufv.png](https://res.cloudinary.com/ajonp/image/upload/f_auto,q_auto/ajonp-ajonp-com/uploads/ghyvspk2skertrbksufv.png) - -## Cloud Firestore - -If you run into any issues on the command line, you can open the console and validate your Firestore database has been created. - -The main thing that needs to happen in firestore is to make sure that your rules will allow you to write to the database. Make sure in firestore.rules, you have something similar to this based on the content that you are bringing over. Realisticly we are using the the admin functions so you don't need these rules to write, but it is nice to remember if you are getting blocked in your site for read access. - -```jsx - -rules_version = '2'; -service cloud.firestore { - match /databases/{database}/documents { - match /{document=**} { - allow read, write: if false; - } - match /sanity/{sanityId} { - allow read: if true; - allow write: if false; - - match /courses/{courseId} { - allow read: if true; - allow write: if false; - } - match /sections/{sectionId} { - allow read: if true; - allow write: if false; - } - match /modules/{moduleId} { - allow read: if true; - allow write: if false; - } - } - } -} - -``` - -## Firebase Cloud Function WebHook - -Within the directory `functions->src_index.ts` you can now update this file with the below code. Making sure to replace `'YOURKEY'` with the key from your sanity project id found in settings. - -```tsx -import * as admin from 'firebase-admin'; -admin.initializeApp(); - -import * as functions from 'firebase-functions'; -export const db = admin.firestore(); -const settings = { timestampsInSnapshots: true }; -db.settings(settings); - -const fetch = require('node-fetch'); - -export const sanityWebhookHandler = functions.https.onRequest(async (req, res) => { - if (req.body.projectId !== 'YOURKEY') { - res.status(500).send(); - } - try { - console.log(JSON.stringify(req.body)); - await getSanityData(req.body); - res.status(200).send(); - } catch (err) { - console.log(JSON.stringify(err)); - res.status(400).send(err); - } -} -); - -const getSanityData = async (body) => { - console.log('Setting up client', body.projectId, ); - - for(const id of body.ids.all){ - const url = https://${body.projectId}.api.sanity.io/v1/data/query/${body.dataset}?query=*[_id%20==%20$id]&$id=%22${id}%22; - console.log(url); - const resp = await (await fetch(url)).json(); - const {result} = resp; - - for(const item of result){ - console.log('Updating', ${item._type}/${item._id}); - await db.doc(sanity/docs/${item._type}/${item._id}).set(item, { merge: true }); - } - } -} - -``` - -Once this is complete you can run command `firebase deploy`. - -You can then go to the Firebase Console and copy your url, you will need this later for the sanity webhook url. - -![https://res.cloudinary.com/ajonp/image/upload/f_auto,q_auto/ajonp-ajonp-com/uploads/b7flanuxebtvvqy6fnbd.png](https://res.cloudinary.com/ajonp/image/upload/f_auto,q_auto/ajonp-ajonp-com/uploads/b7flanuxebtvvqy6fnbd.png) - -## Sanity Setup - -In your Sanity Console you can edit webhooks in your settings `https://manage.sanity.io/projects//settings/api` - -You can then add your Firebase Cloud Function URL and select the dataset you would like to get updates from. - -![https://res.cloudinary.com/ajonp/image/upload/f_auto,q_auto/ajonp-ajonp-com/uploads/dbdcaxyft3rby2kttzij.png](https://res.cloudinary.com/ajonp/image/upload/f_auto,q_auto/ajonp-ajonp-com/uploads/dbdcaxyft3rby2kttzij.png) - -Now anytime you make a change in your - -## Sanity Pro Tip - -If you already have data in Sanity and would like to trigger all of your documents to update you can export and then import your entire dataset. Run the below commands inside of a project running sanity. - -```bash -sanity dataset export something.tar.gz``sanity dataset import something.tar.gz --replace -``` diff --git a/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/better-performance-through-analysis/+page.md b/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/better-performance-through-analysis/+page.md deleted file mode 100644 index 51a17408e..000000000 --- a/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/better-performance-through-analysis/+page.md +++ /dev/null @@ -1,80 +0,0 @@ ---- -type: post -authors: - - alex-patterson -cloudinary_convert: false -cover: https://media.codingcat.dev/image/upload/v1633601534/main-codingcatdev-photo/sknntx1srr4tpzvhwr6a.png -devto: https://dev.to/codingcatdev/better-performance-through-analysis-35b8 -excerpt: Example of how to use Web.dev to maintain a timeline of performance, while running firebase performance for constant monitoring. -hashnode: https://hashnode.codingcat.dev/post-better-performance-through-analysis -preview: https://codingcat.dev/api/preview?secret=7tjQhb1qQlS3FtyV3b0I&selectionType=post&selectionSlug=better-performance-through-analysis&_id=df61e63eb5c44d1cab6aab2f6dbf89be -published: published -slug: better-performance-through-analysis -start: August 17, 2019 -title: Better Performance through analysis ---- - -> Please note I wrote this on my phone driving 6 hours, so I hope to update in more detail. Fun fact I now know how to do git remote recursive from Android ???? - -The current web standard for initial page load is 2.0 seconds. This is only part of the performance story. Let's dive in a little deeper and see how else we can improve performance. In terms of data reduction and user experience, sometimes these things are not as noticeable. - -## Web.dev - -[Web.dev learning](https://web.dev/learn) is one of the best sources to increase performance on your site.As you can see in the video, they have several subjects to help improve your sites performance.I actually find myself using the [measure](https://web.dev/measure) feature prior to diving into the learning section. But I never was good at "hitting the books" in school, I am a visual hands on learner ????.It is nice to repeat the lighthouse metrics to see what you have learned and the trends over time. - -![https://media.codingcat.dev/image/upload/v1657680433/main-codingcatdev-photo/f160fed2-94a6-453e-9e22-9d52881c1fa7.jpg](https://media.codingcat.dev/image/upload/v1657680433/main-codingcatdev-photo/f160fed2-94a6-453e-9e22-9d52881c1fa7.jpg) - -## Firebase performance monitoring - -Firebase Performance Monitoring [docs](https://firebase.google.com/docs/perf-mon) have the best information possible. With that said there are three key elements: - -1. Automatically measure app startup time, HTTP/S network requests, and more -2. Gain insight into situations where app performance could be improved -3. Customize Performance Monitoring for your app - -The awesome part of Firebase is that it is a very small amount of code that gives you all of this great info!Here you can see a great overview - -![https://media.codingcat.dev/image/upload/v1657680433/main-codingcatdev-photo/7907f28f-ebe6-4693-906f-4386045efd3e.jpg](https://media.codingcat.dev/image/upload/v1657680433/main-codingcatdev-photo/7907f28f-ebe6-4693-906f-4386045efd3e.jpg) - -You can see all the pages and how many samples determine the average performance. - -![https://media.codingcat.dev/image/upload/v1657680433/main-codingcatdev-photo/415b3ecf-dca1-4436-996c-93af3a334e47.jpg](https://media.codingcat.dev/image/upload/v1657680433/main-codingcatdev-photo/415b3ecf-dca1-4436-996c-93af3a334e47.jpg) - -## Why 2 seconds - -Google ranks search results higher based on many inputs to the algorithm, speed is one of the most important factors! Now if you want to go beyond that checkout [Google's Performance blog](https://developers.google.com/web/fundamentals/performance/why-performance-matters/). - -## User perception matters - -You really need to make all pages feel like less than one second, why? Humans can't perceive things much faster than one second, but past that they start to think things are wrong. Google cares about the user and uses the [RAIL method](https://developers.google.com/web/fundamentals/performance/rail). - -- **Response** - How quickly browser reacts -- **Animation** - effects that make a site look good -- **Idle** - Settling down so browser does not have to process -- **Load** - How quick does this page load - -## Additional tools - -As Google's post points out[Chrome DevTools](https://developers.google.com/web/fundamentals/performance/rail#devtools) The developer tools built into Google Chrome. Provides in-depth analysis on everything that happens while your page loads or runs.[Lighthouse](https://developers.google.com/web/fundamentals/performance/rail#lighthouse) Available in Chrome DevTools, as a Chrome Extension, as a Node.js module, and within WebPageTest. You give it a URL, it simulates a mid-range device with a slow 3G connection, runs a series of audits on the page, and then gives you a report on load performance, as well as suggestions on how to improve. Also provides audits to improve accessibility, make the page easier to maintain, qualify as a Progressive Web App, and more.[WebPageTest](https://developers.google.com/web/fundamentals/performance/rail#webpagetest) Available at webpagetest.org/easy. You give it a URL, it loads the page on a real Moto G4 device with a slow 3G connection, and then gives you a detailed report on the page's load performance. You can also configure it to include a Lighthouse audit. - -## Difference on what you test - -If the majority of your users are on desktop, you probably care more about testing for desktop. However, if you are looking to build a broader user base, especially in developing world's, you better check low end mobile results! - -### Desktop for AJonP - -I try to get an all A rating, but this shows even smaller items that you can fix. - -![https://media.codingcat.dev/image/upload/v1657680432/main-codingcatdev-photo/2c2b496a-36ef-4632-a807-2cda4a650ab3.png](https://media.codingcat.dev/image/upload/v1657680432/main-codingcatdev-photo/2c2b496a-36ef-4632-a807-2cda4a650ab3.png) - -It allows you to really dig down into the details. - -![https://media.codingcat.dev/image/upload/v1657680432/main-codingcatdev-photo/a9e4c553-4948-4633-85f3-8877c3b674da.png](https://media.codingcat.dev/image/upload/v1657680432/main-codingcatdev-photo/a9e4c553-4948-4633-85f3-8877c3b674da.png) - -### Mobile low-end for AJonP - -An example where I can improve performance still on low end devices. - -![https://media.codingcat.dev/image/upload/v1657680434/main-codingcatdev-photo/2b4edb0f-0361-42cf-8a60-fdd55b776421.png](https://media.codingcat.dev/image/upload/v1657680434/main-codingcatdev-photo/2b4edb0f-0361-42cf-8a60-fdd55b776421.png) - -![https://media.codingcat.dev/image/upload/v1657680433/main-codingcatdev-photo/b9cf0f14-53d8-4346-b57d-5a811067c2cd.png](https://media.codingcat.dev/image/upload/v1657680433/main-codingcatdev-photo/b9cf0f14-53d8-4346-b57d-5a811067c2cd.png) diff --git a/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/building-a-fun-app-with-ionic-studio-and-cloudinary/+page.md b/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/building-a-fun-app-with-ionic-studio-and-cloudinary/+page.md deleted file mode 100644 index 4f9d25d68..000000000 --- a/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/building-a-fun-app-with-ionic-studio-and-cloudinary/+page.md +++ /dev/null @@ -1,156 +0,0 @@ ---- -type: post -authors: - - alex-patterson -cloudinary_convert: false -cover: https://media.codingcat.dev/image/upload/v1634645694/main-codingcatdev-photo/az3sscx0cmabt0qerzdq.png -devto: https://dev.to/codingcatdev/building-a-fun-app-with-ionic-studio-and-cloudinary-4fbg -excerpt: This post describes the procedure of uploading images to Cloudinary as a prelude for building a fun app called Face Smash with Ionic Studio. -hashnode: https://hashnode.codingcat.dev/post-building-a-fun-app-with-ionic-studio-and-cloudinary -preview: https://codingcat.dev/api/preview?secret=7tjQhb1qQlS3FtyV3b0I&selectionType=post&selectionSlug=building-a-fun-app-with-ionic-studio-and-cloudinary&_id=5aa56dee922e4b0c9287e5f0d36f9e4e -published: published -slug: building-a-fun-app-with-ionic-studio-and-cloudinary -start: August 12, 2019 -title: Building a Fun App With Ionic Studio and Cloudinary ---- - -In the [JAMstack](https://jamstack.org/) world, [Cloudinary](https://cloudinary.com/) is the market leader as a comprehensive, cloud-based image- and video-management platform that’s in use by hundreds of thousands of users around the world, from startups to enterprises. In fact, it’s widely acclaimed as the best solution for hosting visual media on the web.[Ionic Studio](https://ionicframework.com/studio) is a robust IDE that efficiently and smoothly enables the development of cross-platform apps. In his November 2018 [announcement](https://ionicframework.com/blog/announcing-ionic-studio-a-powerful-new-way-to-build-apps/), CEO [Max Lynch](https://twitter.com/maxlynch) cogently elaborates on Ionic Studio’s many impressive capabilities, complete with a demo video.This post describes the procedure of uploading images to Cloudinary as a prelude for building a fun app called Face Smash with Ionic Studio. You upload a photo to Cloudinary with its [upload API](https://cloudinary.com/documentation/image_upload_api_reference) and then, by leveraging [Cloudinary’s face-detection feature](https://cloudinary.com/blog/face_detection_based_cropping), have Cloudinary display all the uploaded people photos with the one you just uploaded at the top. Click that photo and a water balloon appears and smashes the face in the photo.Read on for the steps. - -## Uploading With Cloudinary APIs - -Upload pictures to Cloudinary with its image upload API, unsigned, and complete the endpoint. - -### API for Image Uploads - -Several SDKs are available for uploading images to Cloudinary through its [upload API](https://cloudinary.com/documentation/image_upload_api_reference). For simplicity, use the endpoint type for unsigned uploads for this app.Upload this picture of me in the much-coveted Ionic hat— - -![https://media.codingcat.dev/image/upload/v1657636761/main-codingcatdev-photo/24e4a986-f562-4f77-b05a-fd7147f7199d.jpg](https://media.codingcat.dev/image/upload/v1657636761/main-codingcatdev-photo/24e4a986-f562-4f77-b05a-fd7147f7199d.jpg) - -by specifying the JPEG image with the file parameter, like below: - -`file=https://res.cloudinary.com/ajonp/image/upload/q_auto/AlexPics/alex_ionic_hat_inside.webp` - -Cloudinary then adds a copy of that image to a location on a Cloudinary server. The URL under `file` above is an example only. Feel free to specify a URL of your choice. Even though this app requires that you take a picture and then reference it with the `file` parameter, Cloudinary ultimately sends the Base64-encoded string to the endpoint. For details on all the upload options, see the [related Cloudinary documentation](https://cloudinary.com/documentation/upload_images#data_upload_options). - -### Unsigned Uploads - -To save time, opt for [unsigned-uploads](https://cloudinary.com/documentation/upload_images#unsigned_upload) to directly upload to Cloudinary from a browser or mobile app with no signature for authentication, bypassing your servers. However, for security reasons, you cannot specify certain upload parameters with unsigned upload calls. One of those parameters is `upload_preset`, a requirement for this app.As a workaround, create an upload preset in this screen in the Cloudinary [Console](https://cloudinary.com/console/settings/upload): - -![https://media.codingcat.dev/image/upload/v1657636762/main-codingcatdev-photo/83ba8a5e-21ab-4950-9c99-cf35be2c82f6.png](https://media.codingcat.dev/image/upload/v1657636762/main-codingcatdev-photo/83ba8a5e-21ab-4950-9c99-cf35be2c82f6.png) - -That preset places all the newly uploaded photos in a folder called `ajonp-ionic-cloudinary-facesmash`, as specified at the bottom of the settings screen:. - -![https://media.codingcat.dev/image/upload/v1657636761/main-codingcatdev-photo/6b136472-a72d-41a6-aef3-ea68dc6dbb00.png](https://media.codingcat.dev/image/upload/v1657636761/main-codingcatdev-photo/6b136472-a72d-41a6-aef3-ea68dc6dbb00.png) - -upload_preset is now all set for incorporation into the code: - -### Endpoint Uploads - -Now complete the upload through the endpoint: - -```html - -``` - -``` -https://api.cloudinary.com/v1_1/ajonp/image/upload?file=https://res.cloudinary.com/ajonp/image/upload/q_auto/AlexPics/alex_ionic_hat_inside.webp&upload_preset=kuqm4xkg - -``` - -Afterwards, a JSON payload returns, as in this example: - -```json -{ - "public_id": "ajonp-ionic-cloudinary-facesmash/raumizdelqrlows7pvzy", - "version": 1565650174, - "signature": "59905774f17ea06629ff90b73dfc9bed6c7fbdfd", - "width": 2448, - "height": 3264, - "format": "jpg", - "resource_type": "image", - "created_at": "2019-08-12T22:49:34Z", - "tags": ["facesmash", "face", "head", "chin", "selfie", "forehead", "photography", "fun"], - "pages": 1, - "bytes": 1882858, - "type": "upload", - "etag": "4ae8ba0edfb90689101fdfbb8b97548d", - "placeholder": false, - "url": "http://res.cloudinary.com/ajonp/image/upload/q_auto/ajonp-ionic-cloudinary-facesmash/raumizdelqrlows7pvzy.webp", - "secure_url": "https://res.cloudinary.com/ajonp/image/upload/q_auto/ajonp-ionic-cloudinary-facesmash/raumizdelqrlows7pvzy.webp", - "access_mode": "public", - "moderation": [ - { - "response": { "moderation_labels": [] }, - "status": "approved", - "kind": "aws_rek", - "updated_at": "2019-08-12T22:49:36Z" - } - ], - "info": { - "categorization": { - "google_tagging": { - "status": "complete", - "data": [ - { "tag": "Face", "confidence": 0.9635 }, - { "tag": "Head", "confidence": 0.9097 }, - { "tag": "Chin", "confidence": 0.8504 }, - { "tag": "Selfie", "confidence": 0.8183 }, - { "tag": "Forehead", "confidence": 0.7823 }, - { "tag": "Photography", "confidence": 0.738 }, - { "tag": "Fun", "confidence": 0.7039 }, - { "tag": "Headgear", "confidence": 0.6748 }, - { "tag": "Cap", "confidence": 0.6577 }, - { "tag": "T-shirt", "confidence": 0.5763 }, - { "tag": "Smile", "confidence": 0.5404 } - ] - } - } - }, - "faces": [[132, 906, 808, 1077]], - "coordinates": { "faces": [[132, 906, 808, 1077]] }, - "original_filename": "alex_ionic_hat_inside" -} -``` - -Note this key line, which depicts that Cloudinary has picked up a face in the coordinates: - -```json -"coordinates": { "faces": [[132, 906, 808, 1077]] } -``` - -However, facial detection sometimes doesn’t work. For example, it did not recognize that this is a picture of me, probably because of the shadows from my hat: - -![https://media.codingcat.dev/image/upload/v1657636764/main-codingcatdev-photo/c3096a31-2ce7-4eaa-ba95-51b70f6dc260.jpg](https://media.codingcat.dev/image/upload/v1657636764/main-codingcatdev-photo/c3096a31-2ce7-4eaa-ba95-51b70f6dc260.jpg) - -Here’s another problematic picture that resulted from erroneous coordinates of face detection, as shown in the second picture: - -![https://media.codingcat.dev/image/upload/v1657636760/main-codingcatdev-photo/7783f194-1f39-4fe8-b568-48bf7b18070e.jpg](https://media.codingcat.dev/image/upload/v1657636760/main-codingcatdev-photo/7783f194-1f39-4fe8-b568-48bf7b18070e.jpg) - -![https://media.codingcat.dev/image/upload/v1657636760/main-codingcatdev-photo/cdad3a11-541a-4111-a856-5945f5647eb2.jpg](https://media.codingcat.dev/image/upload/v1657636760/main-codingcatdev-photo/cdad3a11-541a-4111-a856-5945f5647eb2.jpg) - -I’d be happy to work with the Cloudinary team to improve the success rate for facial detection. - -## Leveraging Facial Detection in Cloudinary - -[Cloudinary’s documentation on face detection](https://cloudinary.com/documentation/face_detection_based_transformations) describes in detail how to transform detected images by adding parameters..As a start, with the `g_face` parameter, you add gravity to the position of the largest face in the image, after which you can manipulate it as you see fit. Al the pictures in this app appear as thumbnails, as defined in this code: - -``` -http://res.cloudinary.com/ajonp/image/upload/w_1000,h_1000,c_crop,g_face,r_max/w_200/v1565650174/ajonp-ionic-cloudinary-facesmash/raumizdelqrlows7pvzy.webp -``` - -An example is this cropped thumbnail: - -![https://media.codingcat.dev/image/upload/v1657636761/main-codingcatdev-photo/59ade389-4019-4cce-8ac5-d9df68ea8e16.jpg](https://media.codingcat.dev/image/upload/v1657636761/main-codingcatdev-photo/59ade389-4019-4cce-8ac5-d9df68ea8e16.jpg) - -## Being careful in naming apps - -I can’t help but think of [Facemash from the Social Network](https://youtu.be/VSKoVsHs_Ko), and don't want their to be confusion, this is a very fun project and we won't be rating anyone ????!! I am hoping that the Amazon Rekognition AI Moderation will catch most the bad stuff. If it gets out of hand I am going to take it down. I don't ever want to degrade anyone and write a [facemash apology](https://www.thecrimson.com/article/2003/11/19/facemash-creator-survives-ad-board-the/) like Zuck? diff --git a/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/building-a-web-application-with-next-js-and-firebase-firebase-summit-2021/+page.md b/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/building-a-web-application-with-next-js-and-firebase-firebase-summit-2021/+page.md deleted file mode 100644 index dd9397340..000000000 --- a/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/building-a-web-application-with-next-js-and-firebase-firebase-summit-2021/+page.md +++ /dev/null @@ -1,64 +0,0 @@ ---- -type: post -authors: - - alex-patterson -cloudinary_convert: false -cover: https://media.codingcat.dev/image/upload/v1636118631/main-codingcatdev-photo/Firebase_Summit_2021_-_Building_a_web_application_with_Next.js_and_Firebase_1.png -excerpt: In this 20 minute demo I quickly show you how to get up and running with Next.js and Firebase. -hashnode: https://hashnode.codingcat.dev/tutorial-building-a-web-application-with-next-js-and-firebase-firebase-summit-2021 -preview: https://codingcat.dev/api/preview?secret=7tjQhb1qQlS3FtyV3b0I&selectionType=tutorial&selectionSlug=building-a-web-application-with-next-js-and-firebase-firebase-summit-2021&_id=10ff9d5474e9422bb7cc4bbc016ee326 -published: published -slug: building-a-web-application-with-next-js-and-firebase-firebase-summit-2021 -start: June 2, 2022 -title: Building a web application with Next.js and Firebase - Firebase Summit 2021 -youtube: https://youtu.be/kHrIyTLVerg ---- - -## GitHub Repo - -In order to clone this application locally run the below command. Please note you will need [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) - -```bash -git clone https://github.com/CodingCatDev/ccd-starter-nextjs-tailwind-firebase.git - -``` - -## Firebase - -Make sure to setup a new project with a Firestore database. - -### Install dependencies - -```bash -cd backend/firebase && npm install - -``` - -> Make sure you are first in the firebase directory - -```bash -firebase deploy - -``` - -The video will cover how the different page types work for firebase. - -## Install dependencies - -To get started make sure to - -```bash -cd frontent/nextjs-tailwind && npm install - -``` - -## Run locally - -Make sure to change the `.env.local.template` to `.env.local` and update the parameters from firebase. - -To run the dev server (staying in the same directory) - -```bash -npm run dev - -``` diff --git a/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/changing-the-channel-for-youtube-engagement/+page.md b/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/changing-the-channel-for-youtube-engagement/+page.md deleted file mode 100644 index 3ed7ca896..000000000 --- a/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/changing-the-channel-for-youtube-engagement/+page.md +++ /dev/null @@ -1,71 +0,0 @@ ---- -type: post -authors: - - alex-patterson -cloudinary_convert: false -cover: https://media.codingcat.dev/image/upload/v1662067105/Not_Changing_the_Channel_asxufz.jpg -devto: https://dev.to/codingcatdev/updated-changing-the-channel-for-youtube-engagement-was-a-bad-idea-42ek -excerpt: How we broke our YouTube channel and what we are doing to fix it. -hashnode: https://hashnode.codingcat.dev/post-changing-the-channel-for-youtube-engagement -preview: https://codingcat.dev/api/preview?secret=7tjQhb1qQlS3FtyV3b0I&selectionType=post&selectionSlug=changing-the-channel-for-youtube-engagement&_id=6204b920280c410ba9bab762ac704089 -published: published -slug: changing-the-channel-for-youtube-engagement -start: March 20, 2022 -title: -Updated- Changing the Channel for YouTube Engagement was a bad idea ---- - -## UPDATE: Moving channel was a bad idea - -I thought it was such a great move moving channels as it increased our CTR for educational videos. In reality what happened was it confused our user base. What I found out the hard way was that we needed to keep all of our content in one place and actually update [Purrfect.dev](http://Purrfect.dev) to become [CodingCat.dev Podcast](https://codingcat.dev/podcasts) as well. Now our branding is all surrounding the CodingCat brand going forward, on a single channel. - -## If you read nothing else in this article - -~~We are moving our podcast to a new channel. https://studio.youtube.com/channel/UCD5oDjUZTYM13irzpRjnVeQ~~ - -I am moving off the company twitter account https://twitter.com/codingcatdev and onto my own account https://twitter.com/codercatdev. - -I know pretty close username right, gotta keep on brand. - -We want you to write and create for us too, so please DM or email to join us. - -## Why I made CodingCat.dev - -Back when I started CodingCat.dev I wanted a place where people could come and learn web development. What I learned was getting people to come to yet another website for another coding tutorials is really hard! - -Feeling still like Kevin Costner in a Field of Dreams, I continue to push. - -[https://www.youtube.com/embed/NOPTByHw5RA](https://www.youtube.com/embed/NOPTByHw5RA) - -## What was broken - -YouTube has this unfortunate feature where it takes into account two things. - -Click Through Retention - -![https://media.codingcat.dev/image/upload/v1657636768/main-codingcatdev-photo/d932e8ba-bf5e-4c87-a938-7682725b3051.png](https://media.codingcat.dev/image/upload/v1657636768/main-codingcatdev-photo/d932e8ba-bf5e-4c87-a938-7682725b3051.png) - -Average View Duration - -![https://media.codingcat.dev/image/upload/v1657636768/main-codingcatdev-photo/30950b06-d39c-4670-89e9-9de0b8bfb83e.png](https://media.codingcat.dev/image/upload/v1657636768/main-codingcatdev-photo/30950b06-d39c-4670-89e9-9de0b8bfb83e.png) - -You will notice that in our top 5 all time vides for CTR they are all programming videos. Even though Brittney and I have spent around 60 hours on screen, recording the podcast each week. The second part of this shows that our average view is around 3 minutes and 42 seconds on average. - -This told us that not only is no one watching the podcast, but they are not finding our other content. We love the podcast and love talking to all the amazing people we get to talk with on it. So we don't want to give it all up and let it go, but we also want people to find all the awesome content that we plan to send out this year too! - -## How Jeff Delaney taught me to fix it - -Jeff has a great video on how he got to 1 million subscribers. It was a great guide for me to understand why we needed to change channels. - -[https://www.youtube.com/embed/j_q0D_jbMk8?start=99](https://www.youtube.com/embed/j_q0D_jbMk8?start=99) - -## Whats next? - -What we are going to do now is switch from a recorded, cleaned up version of the podcast over to a live version where we still are able to run advertisements realtime. - -This will free up all our editing time for content writing time. - -The next step is to move to my new company's platform [Builder.io](https://builder.io/). This will allow us to setup custom roles and ease the capability to produce content that we can view live. While allowing some of our custom components from Firebase authentication. It is honestly so amazing what this product can do and it is evolving every day, the team is growing like crazy! - -Builder.io is not only going to allow us to have a live preview of the page, but it will let us drop in any React component that we won't with that live preview. Instead of using something like [MDX](https://mdxjs.com/blog/v2/) which we still love btw, we can actully drop a full component in while we are creating. There is no reason to have a compile step to run the code and parse on the otherside. We can ship JSON representing all blocks within our page. For now we are still leveraging all the utilities of [TailwindCSS](https://tailwindcss.com/), but I would not be surprised if we don't get even closer to raw css and html in case we decided to pickup the next latest framework that is moving the web to the next level like [Qwik](https://github.com/builderio/qwik). In our beta builds I am already seeing massive performance gains using [Partytown](https://partytown.builder.io/) as well! - -So please come join us and sorry for all the trouble while we change gears! \ No newline at end of file diff --git a/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/cloud-function-github-update/+page.md b/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/cloud-function-github-update/+page.md deleted file mode 100644 index ccf8d1b9d..000000000 --- a/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/cloud-function-github-update/+page.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -type: post -authors: - - alex-patterson -cloudinary_convert: false -cover: https://media.codingcat.dev/image/upload/v1634645175/main-codingcatdev-photo/vnj9aqzpv5rxx3yvwzek.png -devto: https://dev.to/codingcatdev/cloud-function-github-update-1ln4 -excerpt: Changing git libraries -hashnode: https://hashnode.codingcat.dev/post-cloud-function-github-update -preview: https://codingcat.dev/api/preview?secret=7tjQhb1qQlS3FtyV3b0I&selectionType=post&selectionSlug=cloud-function-github-update&_id=6a9a165af78745038719262e50a8a540 -published: published -slug: cloud-function-github-update -start: December 26, 2018 -title: Cloud Function GitHub Update ---- - -## Authentication using Nodegit - -[nodegit](https://github.com/nodegit/nodegit) -Authentication has become the biggest prolem with this entire process! I have added a comment to [Issue 1035](https://github.com/nodegit/nodegit/issues/1035) but I don't know if it will get much traction as it seems there have been several issues out there already. - -### Failed Attempts - -All of these attempts of course work for cloning, because I do not think it really checks - -- **sshKeyNew** - -```jsx -return NodeGit.Cred.sshKeyNew('username', publicKeyContents, privateKeyContents, '').then(function ( - cred -) { - assert.ok(cred instanceof NodeGit.Cred); -}); -``` - -- **userpassPlaintextNew** `sh` return NodeGit.Cred.userpassPlaintextNew(GITHUB_TOKEN, "x-oauth-basic"); - -````jsx -### Successful Attempt - **sshKeyFromAgent** ```sh return nodegit.Cred.sshKeyFromAgent(userName); - -```` - -## Cloud Funcitons - -So the above sshKeyFromAgent works great while I am on my local Dev box (MacOS 10.14) after running the command `ssh-add`. I am currently running Node v10.14.1.I thought that it would be easy enough to do the same on a cloud function, but this took some digging. I then found out that Node 6 [base image](https://cloud.google.com/functions/docs/concepts/nodejs-6-runtime#base_image) is on Debian, I thought it was Alpine.Interestingly they changed this in Node 8 [base image](https://cloud.google.com/functions/docs/concepts/nodejs-8-runtime#base_image) to running Ubuntu 18.04, so I will have to keep an eye on this if Upgrading. - -As many great things in life, sometimes you dribble down a lane that is direct into a double team...so you must pivot to score. (Wow it must be late, basketball analogies are showing up!) - -## simple-git aka git-js - -I ended up switching to [simple-git](https://github.com/steveukx/git-js) as nodegit ssh issues had me 2 days behind on trying to get out lesson 8. It provides a very simple interface to effectively accomplish everything I needed. It also allows me to use a personal token to do Git updates to GitHub which I liked a lot better. diff --git a/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/cloudinary-in-jamstacks-using-webp/+page.md b/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/cloudinary-in-jamstacks-using-webp/+page.md deleted file mode 100644 index e4607d734..000000000 --- a/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/cloudinary-in-jamstacks-using-webp/+page.md +++ /dev/null @@ -1,104 +0,0 @@ ---- -type: post -authors: - - alex-patterson -cloudinary_convert: false -cover: https://media.codingcat.dev/image/upload/v1600704486/ccd-cloudinary/cloudinary_webp.png -devto: https://dev.to/codingcatdev/cloudinary-in-jamstack-using-webp-38p2 -excerpt: Create a single source for all of your posting needs, using the best format for the browser! -hashnode: https://hashnode.codingcat.dev/post-cloudinary-in-jamstacks-using-webp-1 -preview: https://codingcat.dev/api/preview?secret=7tjQhb1qQlS3FtyV3b0I&selectionType=post&selectionSlug=cloudinary-in-jamstacks-using-webp&_id=26860022ff5f4392ae227a2297b04a8a -published: published -slug: cloudinary-in-jamstacks-using-webp -start: July 31, 2019 -title: Cloudinary in Jamstack using Webp ---- -# Cloudinary and Jamstacks - -The awesome part about hosting on Cloudinary is that it provides a very extensive API for developers. However for content creators they often don't care that much about the technical aspects that are required to show images on the Web. We have been told repeatedly that storage is cheap and it doesn't matter if we just throw these images on an unmanaged server, or a CMS like Adobe AEM or Wordpress. However as we start moving more items to the "Cloud" pricing and functionality do start to matter, for both the producer and consumer of this content. - -## What is Webp - -> -> -> -> WebP is a modern image format that provides superior lossless and lossy compression for images on the web. Using WebP, webmasters and web developers can create smaller, richer images that make the web faster. -> - -WebP lossless images are 26% smaller in size compared to PNGs. WebP lossy images are 25-34% smaller than comparable JPEG images at equivalent SSIM quality index. [Webp](https://developers.google.com/speed/webp/) is a format created by Google in 2010, and has been implemented in many of todays browsers. - -### Why do we care about Webp - -In many cloud based systems they will create several different image sizes which starts to add up on your storage costs. Now the consumer doesn't necessarily care about this cost for the producer. The consumer will care about how much data their phone is using and eating up their phone plan. - -### How does Cloudinary make Webp easy? - -HTTP Calls:Original Call 134 KBURL: [https://res.cloudinary.com/ajonp/image/upload/q_auto/ajonp-ajonp-com/blog/Cloudinary_-_Webp.webp](https://res.cloudinary.com/ajonp/image/upload/q_auto/ajonp-ajonp-com/blog/Cloudinary_-_Webp.webp) - -![https://media.codingcat.dev/image/upload/v1657636767/main-codingcatdev-photo/990facc3-4189-47ec-915b-cbb8962fc956.png](https://media.codingcat.dev/image/upload/v1657636767/main-codingcatdev-photo/990facc3-4189-47ec-915b-cbb8962fc956.png) - -Webp Call 49.7 KB - 63% reductionURL: [https://res.cloudinary.com/ajonp/image/upload/q_auto/ajonp-ajonp-com/blog/Cloudinary_-_Webp.webp](https://res.cloudinary.com/ajonp/image/upload/q_auto/ajonp-ajonp-com/blog/Cloudinary_-_Webp.webp) - -![https://media.codingcat.dev/image/upload/v1657636767/main-codingcatdev-photo/7edfd877-9c56-4213-b9f8-ccad3d64b077.png](https://media.codingcat.dev/image/upload/v1657636767/main-codingcatdev-photo/7edfd877-9c56-4213-b9f8-ccad3d64b077.png) - -Webp Call @ width of 800px 49.7 KB - 92.5% reductionURL: [https://res.cloudinary.com/ajonp/image/upload/w_800/v1564600835/ajonp-ajonp-com/blog/Cloudinary_-_Webp.webp](https://res.cloudinary.com/ajonp/image/upload/w_800/v1564600835/ajonp-ajonp-com/blog/Cloudinary_-_Webp.webp) - -![https://media.codingcat.dev/image/upload/v1657636763/main-codingcatdev-photo/d0da1485-f7e8-434c-ac28-9f1bcc205507.png](https://media.codingcat.dev/image/upload/v1657636763/main-codingcatdev-photo/d0da1485-f7e8-434c-ac28-9f1bcc205507.png) - -Without doing anything more than changing png to webp, you can automatically reduce the call by 63%. Now most software can take this a step further and authomatically consider the screen size that your browser should request so an example above would be to request the picture width is 800px ('w_800). - -### Webp Support - -As you can see below Webp format is supported in all major browsers except for Safari (and iOS Safari). - -![https://media.codingcat.dev/image/upload/v1657636766/main-codingcatdev-photo/0492fb46-673b-417b-ac30-40813df7fa1f.png](https://media.codingcat.dev/image/upload/v1657636766/main-codingcatdev-photo/0492fb46-673b-417b-ac30-40813df7fa1f.png) - -[https://caniuse.com/#feat=webp](https://caniuse.com/#feat=webp)As you can see on Android using Chrome there is no issue with looking up the image using Webp. - -![https://media.codingcat.dev/image/upload/v1657636763/main-codingcatdev-photo/978c35b2-c5cc-40d0-901f-86e941b46372.jpg](https://media.codingcat.dev/image/upload/v1657636763/main-codingcatdev-photo/978c35b2-c5cc-40d0-901f-86e941b46372.jpg) - -When we attempt this on Safari the browser treats this as a file and downloads it. - -![https://media.codingcat.dev/image/upload/v1657636768/main-codingcatdev-photo/c2a149c7-36f0-4c8c-bc58-1e757b8c0ca4.png](https://media.codingcat.dev/image/upload/v1657636768/main-codingcatdev-photo/c2a149c7-36f0-4c8c-bc58-1e757b8c0ca4.png) - -### HTML picture to the rescue - -So as a developer I can't honestly say "well just have people use anything except Safari". So how do we solve this 100% of the time? HTML `` element is in for the rescue! When the - -``` - - - Cloudinary Webp - - -``` - -![https://media.codingcat.dev/image/upload/v1657636770/main-codingcatdev-photo/a9d5300d-5d9c-4a23-a3ce-e37e8b621173.png](https://media.codingcat.dev/image/upload/v1657636770/main-codingcatdev-photo/a9d5300d-5d9c-4a23-a3ce-e37e8b621173.png) - -As you can see below Safari will use the `` tag and not refer back to the `` tag, and it will show the image correctly. - -![https://media.codingcat.dev/image/upload/v1657636764/main-codingcatdev-photo/dab3fd4a-a7f0-45f1-be7b-f5e143d74e68.png](https://media.codingcat.dev/image/upload/v1657636764/main-codingcatdev-photo/dab3fd4a-a7f0-45f1-be7b-f5e143d74e68.png) - -![https://media.codingcat.dev/image/upload/v1657636762/main-codingcatdev-photo/20b0aea2-3459-4ee6-bf55-df5d3d6002e6.jpg](https://media.codingcat.dev/image/upload/v1657636762/main-codingcatdev-photo/20b0aea2-3459-4ee6-bf55-df5d3d6002e6.jpg) - -In Chrome the `` tag is used so it will automatically pickup the webp extension and work correctly. - -## Markdown - -### Why Markdown - -I cross post my lessons and blogs over to [DEV](https://dev.to/). Because of this I don't prefer to use shortcodes and instead stick with supported markdown syntax. I also tend to move on the the next "cool" technology platform often.For instance I can easily load all Markdown to: - -### Markdown in Hugo - -I fully admit that it takes me much longer to take my [markdown file images](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#images) and replace them for `` tags (yes I am lazy). Hugo provides amazing things called [shortcodes](https://gohugo.io/content-management/shortcodes/) that will allow you to execute a great deal of code in a short one line example of markdown. [xabeng](https://dev.to/xabeng) created an awesome set of shortcodes [my hugo shortcode for including image from cloudinary](https://dev.to/xabeng/my-hugo-shortcode-for-including-image-from-cloudinary-1l46). - -### VSCode Extension - Paste Image - Cloudinary - -[markdown image paste](https://marketplace.visualstudio.com/items?itemName=njLeonZhang.markdown-image-paste) is a fantastic plugin that allows you to take screenshots easily and loads them directly to cloudinary. By default once the upload completes it will place the new image URL into a markdown image tag.I did open an [issue](https://github.com/njleonzhang/vscode-extension-mardown-image-paste/issues/9) to allow for `html` code instead of the generic markdown syntax. \ No newline at end of file diff --git a/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/codingcatdev-is-joining-the-learn-build-teach-community/+page.md b/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/codingcatdev-is-joining-the-learn-build-teach-community/+page.md deleted file mode 100644 index d18eb7365..000000000 --- a/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/codingcatdev-is-joining-the-learn-build-teach-community/+page.md +++ /dev/null @@ -1,81 +0,0 @@ ---- -type: post -authors: - - alex-patterson -cloudinary_convert: false -cover: https://media.codingcat.dev/image/upload/v1648676439/main-codingcatdev-photo/CodingCat.dev_joins_Learn_Build_Teach.png -devto: https://dev.to/codingcatdev/codingcatdev-is-joining-the-learn-build-teach-community-3l25 -excerpt: Maintaining a Discord community is hard work, so why not work with great people to host one together! -hashnode: https://hashnode.codingcat.dev/post-codingcatdev-is-joining-the-learn-build-teach-community -preview: https://codingcat.dev/api/preview?secret=7tjQhb1qQlS3FtyV3b0I&selectionType=post&selectionSlug=codingcatdev-is-joining-the-learn-build-teach-community&_id=22a87539758346779777a7afbeb64217 -published: published -slug: codingcatdev-is-joining-the-learn-build-teach-community -start: April 10, 2022 -title: CodingCatDev is joining the Learn Build Teach Community ---- - -## A new home for CodingCat.dev's Discord - -After a long chat with Brittney about how hard it is to maintain our Discord and how I don't like breaking up communities, she agreed that we could make a move. I wanted to make sure we stick with our goal of creating great communities and developing in the open, the first thing that came to mind was [Learn Build Teach](https://discord.gg/xSRsCfvVEB) (LBT). Brittney agreed that if that community was up for letting us join it would make the most sense. - -## Brittney's 2 Cents - -Communities are an amazing resource for learning, getting help, and finding people that like the same things as you. However, when you have too many communities it can feel overwhelming to participate and keep up in all of them. We thought the Learn Build Teach philosophy fit well with what we are doing at CodingCat.dev. I think it is a great initiative and we are excited to keep combining more communities in and grow stronger together. - -## The Ask - -So I typed up this over to James Q. Quick - -Hey James, - -Brittney and I have been talking a lot about the problem with breaking up groups on Discord and feeling like overkill. - -I was wondering if you would be up for a conversation around codingcat just utilizing LBT as the central place for community. - -It would allow us to grow together and we can utilize Purrfect to push people there as well so we can all grow together. - -On top of that I can then stop boosting my server and start boosting LBT too. - -In my head I am thinking we could have just a dedicated channel (maybe section) to codingcat, for specific questions about our courses. - -We would just send out a message saying we are joining up with LBT and start pushing people over. - -Let me know your thoughts. - -Thanks, - -James needed to check with the mods in LBT, and luckily that meant Brittney since she was a mod already, lets just say it helps to know people. - -Oh and if you haven't heard of [James Q. Quick](https://www.youtube.com/c/JamesQQuick) you should maybe join the other 138K+ people already learning from him! - -He gets to hang out with Amy Dutton [@selfteachme](https://twitter.com/selfteachme) on [Compressed.fm](https://www.compressed.fm/). - -Some pretty cool peeps to hang with. - -## Learn Build Teach - -So what is learn, build, teach all about? - -The [website](https://www.learnbuildteach.com/) says it all. - -Learn Build Teach is a welcoming and open community of web developers. Whether you are a seasoned expert or just getting started in the field of development, you can be certain our Discord server remains a friendly place to ask questions and engage in discussions. - -How can we keep the space a safe place to learn, build, and teach? - -## More Content - -Our main goal in this Discord server change as well as [splitting up our YouTube channels](https://codingcat.dev/post/changing-the-channel-for-youtube-engagement) is to allow people to find what they come to CodingCat.dev to focus on. - -If you love the podcast and learn a lot from our courses and tutorials awesome you will love the [CodingCat.dev YouTube Channel](https://youtube.com/c/codingcatdev)! - -If you are more interested in the ever evolving tech world and the different companies that support creating the future then the [Purrfect.dev YouTube Channel](https://www.youtube.com/channel/UCD5oDjUZTYM13irzpRjnVeQ) is purrfect for you! - -The move to [Learn Build Teach](https://discord.gg/xSRsCfvVEB) will allow us more time to create this great content and allow us a dedicated place to answer questions and get your feedback. - -## Changing Platforms - -There are a few more coming so please be patient as we might snag our claw on something (cat jokes)! We have been busy re-platforming the site so that we can bring on more authors and content creators. In the past we have always run into limitations with either my time constraint on our custom backend, not enough role restrictions on a headless CMS, or hard to create content due to limitations with editors. - -We have solved a great deal of this with moving over to [Builder.io](https://builder.io/). We have combined the performance that [Next.js](https://nextjs.org/) gives us with the ability to register custom components directly into a Visual editor. - -For example when I want to use either a Cloudinary based image in markdown, a Next/Link, or a YouTube embed. These are all super hard things to accomplish and in the past we would try to use MDX to solve these basic problems. Now we can use our own custom components and see them all visually while creating content. diff --git a/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/content-modeling-in-a-headless-cms-vs-a-traditional-webcms/+page.md b/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/content-modeling-in-a-headless-cms-vs-a-traditional-webcms/+page.md deleted file mode 100644 index 90f17ac1e..000000000 --- a/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/content-modeling-in-a-headless-cms-vs-a-traditional-webcms/+page.md +++ /dev/null @@ -1,236 +0,0 @@ ---- -type: post -authors: - - alex-patterson -cloudinary_convert: false -cover: 'https://media.codingcat.dev/image/upload/v1684343153/main-codingcatdev-photo/content-modeling-in-a-headless-cms-vs-a-traditional-webcms.png' -devto: -excerpt: 'Learn how to model content for Headless CMS' -hashnode: -published: published -slug: content-modeling-in-a-headless-cms-vs-a-traditional-webcms -start: May 17, 2023 -title: Content Modeling in a Headless CMS vs. Traditional Web CMS -youtube: ---- - - - -Before we get into the details of how page modeling differs between a Headless CMS and a Traditional CMS we must first understand what each of those architectures entail. - -Like many of you, my first experience with a content management system (CMS) was with WordPress many years ago. [WordPress](https://wordpress.org/) was a great solution for presenting data on a single platform for the web. It was easy to use and customize, and it had a wide range of features that made it ideal for a variety of purposes. - -[WordPress](https://wordpress.org/) is still used in several applications today, but the landscape has changed as we have moved to a multi-device world-spanning web. Now we must also have solutions for web, mobile, tablets, smartwatches, digital assistants, IoT, voice, VR/AR, the list continues. Along with this demand for multiple devices, users expect a more personalized digital experience across all of these devices. In today's world, efficiency requires flexibility. A headless CMS can help you achieve this. - -## Traditional CMS Architecture - -In a traditional CMS, the front and back ends are like two cats in a trench coat trying to pass as one human. They're both working towards the same goal, but they're constantly tripping over each other and getting in each other's way. The marketers and content editors are in the front end, trying to create a beautiful and engaging website for the users. The developers are in the back end, trying to keep the website running smoothly and securely. But because they're all sharing the same space, it's a constant battle of who can get their work done first. It's a mess, but somehow it worked in the past. - - - -The **Content Management Application** (CMA) is like a cat's brain. It's where all the thinking and decision-making happens. It includes the back-end to administer the site and manage content. - -The **Content Delivery Application** (CDA) is like a cat's body. It's what allows the CMA to interact with the world. This is where a frontend developer will spend most of their time making sure that the content is correctly formatted and looking good for presentation. - -A **Traditional CMS** is like a Siamese cat. It's two cats in one, and they're always getting into trouble. The CMA and CDA are built together, so all programming, content and formatting are in a single system. - -In the below illustration you can see how the different parts come together within a single server. - - - -## Headless CMS Architecture - -A headless CMS is a content management system that does not have a built-in front end. Instead, it provides a back end for storing and managing content, and an API for delivering that content to any front end that you choose. This gives you the flexibility to create websites and apps that look and feel the way you want, without being limited by the capabilities of the CMS's front end. - -As a frontend developer you know the landscape moves very fast and with meta-frameworks like [Astro](https://astro.build/), [Next.js](https://nextjs.org/), [Nuxt](https://nuxtjs.org/), and [SvelteKit](https://kit.svelte.dev/) adding features at a lightning pace, it is hard to keep a Traditional CMS updated with these changes. - - - -A headless CMS is like a cat with two heads. One head is the back end, where all the content is stored and managed. The other head is the front end, where the content is displayed. This allows the content to be separated from the programming and formatting, which makes it easier to manage and update. - -A headless API-first CMS is like a cat that can walk on water. It can deliver content to any device via APIs, which means that you can create websites, apps, and even smartwatch apps all from the same content. This is a great way to reach a wider audience and make your content more accessible. - -A headless CMS frees developers to use any framework they want. This is because the CMS does not have a built-in front end, so developers can create their own front end that looks and feels the way they want. This gives developers more flexibility and control over their projects. - -In the below illustration you can see three important differences from the Traditional CMS, the frontend template is removed, you no longer need to host your own server, and all devices are able to communicate via APIs to the CMS. - - - -## Content Modeling - -There are common requirements when you look at content modeling for pages in your web application between a traditional and headless CMS. You must first breakdown the end user experience of each page into different content types and properties. Amplience has an amazing guide on the process of content modeling. - -This guide consists of the 4 steps below: - -1. Requirements and Wireframes -1. Break it down into modules -1. Design content types -1. Evaluate and iterate - -### Content Modeling in a Traditional CMS - -1. **Identify the different types of content that will be on the page.** This could include text, images, videos, and other multimedia. - -1. **Create a content model for each type of content.** The content model should define the properties of the content, such as the title, description, and format. - -1. **Create a page template that will be used to display the content.** The page template should define the layout of the page, such as the header, footer, and sidebar. - -1. **Assign the content models to the page template.** This will tell the CMS how to display the content on the page. - -One of the biggest differences is the page template step. In a headless CMS you need to model the data and properties and not think about the page. - -### Content Modeling in a Headless CMS - -There are a few different approaches to content modeling in a headless CMS. One approach is to create a single page model that represents all of the pages in your website or app. This approach is simple and easy to implement, but it can be limiting if you need to create a large number of pages or if you need to create pages with different layouts. - -Another approach is to create a separate page model for each page in your website or app. This approach gives you more flexibility, but it can be more complex to implement. - -The best approach for content modeling in a headless CMS will depend on the specific needs of your website or app. However, it is important to choose an approach that will make it easy to create and manage your content. - -One thing that I CANNOT stress enough is that you are modeling content and data not just for the developers on the other side of the API, but also for authors creating that content. So you need to make sure that both sides can easily understand that data that they are dealing with correctly and how it will impact all of the different devices that the data con be created on. - -**Content Types** are an important part of this! Below you can see an example of a Blog object, it not only specifies all the correct properties, but the validation that is required for instance in `maxLength`. - -```json -{ - "type": "object", - "properties": { - "title": { "type": "string", "maxLength": 50 }, - "author": { "type": "string" }, - "description": { "type": "string" } - }, - "required": ["title", "author", "description"] -} -``` - -When you start to think about this type of modeling start to think of these as blocks building up a page for a website, and also think of it as a single small frame on a watch. This should help you start with the content that is needed and allow another frontend developer to create whatever style of application they want with the same schema. - -## Popular Headless CMS Platforms - -
-
- - Amplience - -

- Amplience is a leading commerce experience platform that helps businesses create, launch, and iterate digital experiences faster. It offers a Headless CMS and DAM that is designed to support better collaboration between business and technical teams. Amplience is designed to scale and deliver experiences thanks to a multi-CDN architecture and out-of-the-box media optimization capabilities. -

-

- Amplience provides a very strong set of API's, that make delivering Media a breeze! -

-
-
- - Contentful - -

- Contentful is API-first, which means that it can be integrated with other systems and applications. It is also designed to be scalable, so it can be used by businesses of all sizes. Contentful is a popular choice for businesses that want to create and deliver content quickly and easily. It is also a good choice for businesses that need to integrate content with other systems and applications. -

-
-
- - ContentStack - -

- Contentstack is a composable digital experience platform (DXP) that empowers marketers and developers to deliver digital experiences at the speed of their imagination. It is a cloud-based, API-first platform that offers a wide range of features and capabilities, including content management, delivery, and personalization. -

-
-
- - hygraph - -

- Hygraph is a federated content platform that allows you to build digital experiences the way you envisioned them. Hygraph gives you instant GraphQL Content APIs to create, enrich, unify, and deliver your content across platforms. It is a GraphQL-based federated content management system for digital creators and digital products. -

-
-
- - Kontent.ai - -

- Its authoring experience supports content production, modular content reuse, and real-time collaboration and approvals to drive content that's consistent, optimized, and engaging. -

-
-
- - Sanity - -

- Sanity offers it's GROQ language to make queries simple, yet very powerful. - You can see hear more on two of our podcast episode's Sanity.io and Using Content as Data with Sanity.io. -

-
-
- - Storyblok - -

- Storyblok is a cloud-native, enterprise-grade content management system that is built to scale. Storyblok also has a visual editing experience that makes it easy for anyone to create content, regardless of their technical expertise. Huge thanks goes to Storyblok for being such an amazing sponsor! -

-
-
- - Strapi - -

- Strapi is 100% JavaScript and fully customizable. It is a developer-first CMS that allows you to create and manage content in a flexible and efficient way. Strapi is also self-hosted, so you can choose where to host your project and how to scale it as your needs grow. -

-
-
diff --git a/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/content-modeling-in-a-headless-cms-vs-a-traditional-webcms/Headless.svelte b/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/content-modeling-in-a-headless-cms-vs-a-traditional-webcms/Headless.svelte deleted file mode 100644 index 3c8cd2f96..000000000 --- a/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/content-modeling-in-a-headless-cms-vs-a-traditional-webcms/Headless.svelte +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/content-modeling-in-a-headless-cms-vs-a-traditional-webcms/Traditional.svelte b/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/content-modeling-in-a-headless-cms-vs-a-traditional-webcms/Traditional.svelte deleted file mode 100644 index 34a2420fb..000000000 --- a/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/content-modeling-in-a-headless-cms-vs-a-traditional-webcms/Traditional.svelte +++ /dev/null @@ -1,214 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/cwcc-0-8-amplify-ui/+page.md b/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/cwcc-0-8-amplify-ui/+page.md deleted file mode 100644 index a47e7d14e..000000000 --- a/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/cwcc-0-8-amplify-ui/+page.md +++ /dev/null @@ -1,94 +0,0 @@ ---- -type: post -authors: - - alex-patterson -episode: 8 -recording_date: August 19, 2022 10:45 AM -season: 0 -published: published -podcast: code-with-coding-cat -chapters_done: false -cloudinary_convert: false -cover: https://media.codingcat.dev/image/upload/v1659308888/main-codingcatdev-photo/Amplify-UI.jpg -excerpt: 'Amplify UI is a collection of accessible, themeable, performant React (and more!) components that can connect directly to the cloud.' -preview: https://codingcat.dev/api/preview?secret=7tjQhb1qQlS3FtyV3b0I&selectionType=podcast&selectionSlug=Amplify-UI&_id=fbe488bf6b204daea1e634eb1768b1b9 -slug: cwcc-0-8-amplify-ui -start: August 19, 2022 -title: Live Coding with the Amplify UI team -youtube: https://youtu.be/weT3YwBZt-k ---- - -## AWS Amplify UI: Build UI Fast with Amplify on React - -[AWS Amplify UI](https://ui.docs.amplify.aws/) is a set of React components that make it easy to build beautiful and responsive user interfaces. The components are built on top of the Amplify framework, which provides a unified way to connect your app to backend services. - -Amplify UI is designed to be easy to use, even for beginners. The components are well-documented and there are plenty of examples to help you get started. - -In this blog post, we'll show you how to use Amplify UI to build a simple todo app. - -## Getting Started - -The first step is to install Amplify UI. You can do this with the following command: - -```bash -npm install @aws-amplify/ui -``` - -Once Amplify UI is installed, you can start using the components in your app. - -## Creating a Todo List - -To create a todo list, we'll use the following components: - -- `AmplifyCard`: This component is used to create a card that displays a todo item. -- `AmplifyInput`: This component is used to create a text input field. -- `AmplifyButton`: This component is used to create a button. - -Here's the code for our todo list: - -```js -import React from 'react'; -import { AmplifyCard, AmplifyInput, AmplifyButton } from '@aws-amplify/ui'; - -const TodoList = () => { - const [todos, setTodos] = useState([]); - - const addTodo = () => { - const newTodo = { - text: e.target.value - }; - - setTodos([...todos, newTodo]); - }; - - return ( -
- -

Todo List

-
    - {todos.map((todo, index) => ( -
  • - {todo.text} - setTodos(todos.filter((t) => t.id !== todo.id))}> - Delete - -
  • - ))} -
-
- - addTodo()} /> -
- ); -}; - -export default TodoList; -``` - -This code will create a todo list with a text input field and a button. When you enter a todo item in the text input field and click the button, the item will be added to the list. - -## What is next? - -[AWS Amplify UI](https://ui.docs.amplify.aws/) is a powerful tool that can help you build beautiful and responsive user interfaces. The components are easy to use and well-documented, making them a great choice for beginners and experienced developers alike. - -If you're looking for a way to build user interfaces quickly and easily, then [AWS Amplify UI](https://ui.docs.amplify.aws/) is a great option. diff --git a/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/cwcc-0-9-clerk-with-appwrite/+page.md b/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/cwcc-0-9-clerk-with-appwrite/+page.md deleted file mode 100644 index b60455829..000000000 --- a/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/cwcc-0-9-clerk-with-appwrite/+page.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -type: post -authors: - - alex-patterson -episode: 9 -guests: - - james-r-perkins -recording_date: September 14, 2022 1:45 PM -season: 0 -published: published -podcast: code-with-coding-cat -chapters_done: false -cloudinary_convert: false -cover: https://media.codingcat.dev/image/upload/v1661197926/main-codingcatdev-photo/Clerk.dev.jpg -excerpt: 'James walks Alex through how to use Clerk in Next.js' -title: 'Live Coding Clerk, into Next.js with James Perkins' -start: September 14, 2022 -youtube: https://youtu.be/4P_ax04-T4c ---- - -Clerk React is a React Hooks library that makes it easy to build CRUD applications. The library provides a set of high-level hooks that abstract away the details of managing state, fetching data, and handling errors. - -Clerk React is designed to be easy to use, even for beginners. The hooks are well-documented and there are plenty of examples to help you get started. - -In this blog post, we'll show you how to use Clerk React to build a simple todo app. - -## Getting Started - -The first step is to install Clerk React. You can do this with the following command: - -```bash -npm install clerk-react -``` - -Once Clerk React is installed, you can start using the hooks in your app. - -## Update \_app.tsx - -Include the below to wrap all components in a ClerkProvider. - -```ts -import '../styles/globals.css'; -import type { AppProps } from 'next/app'; -import { ClerkProvider, SignedIn, SignedOut, SignIn, UserButton } from '@clerk/nextjs'; - -function MyApp({ Component, pageProps }: AppProps) { - return ( - - - - ); -} - -export default MyApp; -``` - -## Full Repo Example - -
-

via GIPHY

- -If you are a developer you 100% have run into that analytics package or ad requirement that you must use external scripts. They are typically a performance nightmare and often go unseen until your app is out in the public view. Now you can use the new `next/script` tag and define the appropriate `strategy`. There are three strategies involved and broken down very easily - -- `beforeInteractive`: For critical scripts that need to be fetched and executed before the page is interactive, such as bot detection and consent management. These scripts are injected into the initial HTML from the server and run before self-bundled JavaScript is executed. -- `afterInteractive (default)`: For scripts that can fetch and execute after the page is interactive, such as tag managers and analytics. These scripts are injected on the client-side and will run after hydration. -- `lazyOnload` For scripts that can wait to load during idle time, such as chat support and social media widgets. - -You can read all about it in the Next.js 11 blog post on [Script Optimization](https://nextjs.org/blog/next-11#script-optimization) or in the [Next.js Docs](https://nextjs.org/docs/basic-features/script). - -## Automatic Font Optimization - -Okay technically this one was added in [Next.js 10.2](https://nextjs.org/blog/next-10-2#automatic-webfont-optimization) but it was talked about in the conference and I for sure didn't know about it! There are several methods to include web font loading into your system. You can create them at build time and reference, have TailwindCSS do it for you like we do, or add the link manually. It will now look like the below code. - -```html -// Before - - -// After - -``` - -The great part about this optimization especially in your static sites during build time Next.js optimizes and inlines font CSS at build time which will eliminate an extra round trip to fetch font declarations. This should also give you a better FCP and LCP. Checkout the [Next.js Docs](https://nextjs.org/docs/basic-features/font-optimization) for more information on Font Optimization. diff --git a/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/notion-to-hashnode-and-devto-using-pubsub-cloud-functions/+page.md b/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/notion-to-hashnode-and-devto-using-pubsub-cloud-functions/+page.md deleted file mode 100644 index e2a3e61b1..000000000 --- a/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/notion-to-hashnode-and-devto-using-pubsub-cloud-functions/+page.md +++ /dev/null @@ -1,308 +0,0 @@ ---- -type: post -authors: - - alex-patterson -cloudinary_convert: false -cover: https://media.codingcat.dev/image/upload/v1662067996/main-codingcatdev-photo/Notion_to_Dev.to_and_Hashnode.jpg -devto: https://dev.to/codingcatdev/notion-to-hashnode-and-devto-using-pubsub-cloud-functions-3ka -excerpt: Depending on your goals cross posting with a canonical url can increase your user engagements 10x. I will show you an easy way to take your Notion articles out to Hashnode and Dev.to -hashnode: https://hashnode.codingcat.dev/post-notion-to-hashnode-and-devto-using-pubsub-cloud-functions -preview: https://codingcat.dev/api/preview?secret=7tjQhb1qQlS3FtyV3b0I&selectionType=post&selectionSlug=notion-to-hashnode-and-devto-using-pubsub-cloud-functions&_id=7b2e8e7789b14aac813a0693e88ea1d1 -published: published -slug: notion-to-hashnode-and-devto-using-pubsub-cloud-functions -start: September 1, 2022 -title: Notion to Hashnode and Dev.to using Pub/Sub Cloud Functions ---- -A goal at [CodingCat.dev](http://CodingCat.dev) is to reach the most students possible. In order to do that we use [Dev.to](http://Dev.to) and Hashnode to cross post our articles and leverage canonical urls to point those articles back the the original. For us it allows more eyeballs to get to the content and videos. - -## Searching for the Notion Data - -In order to keep find what data that needs processing in notion the simplest way is to keep a record of the url that the new blog will be held in. For example when finding records that we will need to add to [Dev.to](http://Dev.to) we will add a column called `devto`. We can then search the database for any records fitting a criteria with that field being empty using Notion’s API and filtered fields. - -In the below example, the database from `database_id` is searched for CodingCat.dev’s database. We also add the start_cursor because we want these going out in order we pass 1 to this field so that we can guarantee that our posts go out in order and don’t process out of sequence. We also look for podcasts that have a `slug` , are `Released` , have an `Episode` assigned, include a `start` date on or after today’s date. - -```jsx -export const queryPurrfectStreamDevTo = async ( - page_size?: number, - start_cursor?: string | null -) => { - const raw = await notionClient.databases.query({ - database_id: notionConfig.purrfectStreamsDb, - start_cursor: start_cursor ? start_cursor : undefined, - page_size, - filter: { - and: [ - { - property: 'slug', - url: { - is_not_empty: true, - }, - }, - { - property: 'Status', - select: { - equals: 'Released', - }, - }, - { - property: 'Episode', - number: { - is_not_empty: true, - }, - }, - { - property: 'start', - date: { - on_or_before: new Date().toISOString(), - }, - }, - { - property: 'devto', - url: { - is_empty: true, - }, - }, - { - property: 'youtube', - url: { - is_not_empty: true, - }, - }, - { - property: 'spotify', - url: { - is_not_empty: true, - }, - }, - ], - }, - sorts: [ - { - property: 'Season', - direction: 'ascending', - }, - { - property: 'Episode', - direction: 'ascending', - }, - ], - }); - return await formatPosts(raw, 'podcast'); -}; -``` - -## Scheduled Cloud Functions - -We can now create a Firebase function that creates a Google Cloud - Cloud Scheduler Job that can run at a given interval. This is a [convenience method](https://firebase.google.com/docs/functions/schedule-functions) that uses pubsub functions. Notice below we will have this function run `every 5 minutes` and check to see if there are any new articles that match our criteria. We could probably back this off to every 1 hour, but it is nice to see this trigger relatively quickly if you have the correct criteria. - -```jsx -const topicId = 'devtoCreateFromNotion'; - -export const scheduledNotionToDevto = functions.pubsub - .schedule('every 5 minutes') - .onRun(async () => { - // Check to see if ther are scheduled pods - console.log('Checking for scheduled pods'); - const scheduledRes = await queryPurrfectStreamDevTo(1); - console.log('Scheduled Result:', JSON.stringify(scheduledRes)); - - if (scheduledRes?.results) { - const needCloudinaryPods = scheduledRes?.results; - console.log('Pods to add to pub/sub', JSON.stringify(needCloudinaryPods)); - - for (const pod of needCloudinaryPods) { - await sendTopic(topicId, pod); - } - } - - console.log('Checking for devto missing'); - const posts = await queryByDevto('post', 1); - console.log('Posts:', JSON.stringify(posts)); - - if (posts?.results) { - const needposts = posts?.results; - console.log('Posts to add to pub/sub', JSON.stringify(needposts)); - - for (const p of needposts) { - await sendTopic(topicId, p); - } - } - - return true; - }); -``` - -Now if there is something actually found in `queryPurrfectStreamDevTo` function we can then take the data from that entry and pass this on to another pub/sub function. For [CodingCat.dev](http://CodingCat.dev) we just look for 1 entry so that we can publish things in the order that they are created, as we have found with some of these API’s like [dev.to](http://dev.to) there is not an easy way to set original publish date on the actual platform. - -## Pub/Sub Function to publish post - -This pub/sub function is looking for anything that sends a topic of `devtoCreateFromNotion` to it and then looks up the appropriate post information. This is often the easiest way for massive scaling to happen if you have several items you are trying to publish to the platform. - -For our example we change the `body_markdown` depending on our post type. An important note here is that we are sending `canonical_url` so that search engine bots don’t think this is original content and know where to add 301 if necessary. - -```jsx -export const devtoToNotionPubSub = functions.pubsub - .topic(topicId) - .onPublish(async (message, context) => { - console.log('The function was triggered at ', context.timestamp); - console.log('The unique ID for the event is', context.eventId); - const page = JSON.parse(JSON.stringify(message.json)); - console.log('page', page); - - let data; - if (page._type === 'podcast') { - data = { - article: { - title: page.title, - published: true, - tags: ['podcast', 'webdev', 'javascript', 'beginners'], - series: `codingcatdev_podcast_${page.properties.Season.number}`, - main_image: `https://media.codingcat.dev/image/upload/b_rgb:5e1186,c_pad,w_1000,h_420/${page?.coverPhoto?.public_id}`, - canonical_url: `https://codingcat.dev/${page._type}/${page.slug}`, - description: page.excerpt, - organization_id: '1009', - body_markdown: `Original: https://codingcat.dev/${page._type}/${ - page.slug - } - {% youtube ${page.properties.youtube.url} %} - {% spotify spotify:episode:${page.properties.spotify.url - .split('/') - .at(-1) - .split('?') - .at(0)} %} - - `, - }, - }; - } else { - console.log( - `Getting ${page._type}: ${page.id} markdown, with slug ${page?.properties?.slug?.url}` - ); - const post = await getNotionPageMarkdown({ - _type: page._type, - slug: page?.properties?.slug?.url, - preview: false, - }); - - console.log('Block Result', post); - - if (post && post?.content) { - data = { - article: { - title: page.title, - published: true, - tags: ['podcast', 'webdev', 'javascript', 'beginners'], - main_image: `https://media.codingcat.dev/image/upload/b_rgb:5e1186,c_pad,w_1000,h_420/${page?.coverPhoto?.public_id}`, - canonical_url: `https://codingcat.dev/${page._type}/${page.slug}`, - description: page.excerpt, - organization_id: '1009', - body_markdown: post.content, - }, - }; - } - } - - if (data) { - try { - console.log('addArticle to devto'); - const response = await addArticle(data); - console.log('addArticle result:', response); - - const devto = response?.data?.url; - - if (!devto) { - console.log('devto url missing'); - return; - } - - const update = { - page_id: page.id, - properties: { - devto: { - id: 'remote', - type: 'url', - url: devto, - }, - }, - }; - console.log('Updating page with: ', JSON.stringify(update)); - const purrfectPagePatchRes = await patchPurrfectPage(update); - console.log( - 'Page update result:', - JSON.stringify(purrfectPagePatchRes) - ); - - return purrfectPagePatchRes; - } catch (error) { - console.error(error); - } - } else { - console.error('No Data matched for article'); - } - return; - }); -``` - -## Bonus: To test locally - -I would recommend testing these functions locally before having them run on their own. You can use the firebase emulation suite for this. Then update your code for both the schedule and http version to call the same function like below `scheduleCheck()`. - -```jsx -const scheduleCheck = async () => { - // Check to see if ther are scheduled pods - console.log('Checking for scheduled pods'); - const scheduledRes = await queryPurrfectStreamDevTo(1); - console.log('Scheduled Result:', JSON.stringify(scheduledRes)); - - if (scheduledRes?.results) { - const needCloudinaryPods = scheduledRes?.results; - console.log('Pods to add to pub/sub', JSON.stringify(needCloudinaryPods)); - - for (const pod of needCloudinaryPods) { - await sendTopic(topicId, pod); - } - } - - for (const _type of ['post', 'tutorial']) { - console.log('Checking for devto missing'); - const posts = await queryByDevto(_type, 1); - console.log('Posts:', JSON.stringify(posts)); - - if (posts?.results) { - const needposts = posts?.results; - console.log('Posts to add to pub/sub', JSON.stringify(needposts)); - - for (const p of needposts) { - await sendTopic(topicId, p); - } - } - } -}; - -export const httpNotionToDevto = functions.https.onRequest(async (req, res) => { - await scheduleCheck(); - - res.send({ msg: 'started' }); -}); - -export const scheduledNotionToDevto = functions.pubsub - .schedule('every 5 minutes') - .onRun(async () => { - await scheduleCheck(); - return true; - }); -``` - -## Full Source - -Full [Dev.to](http://Dev.to) example can be found at - -[https://github.com/CodingCatDev/codingcat.dev/blob/dev/backend/firebase/functions/src/devto/scheduledNotionToDevto.ts](https://github.com/CodingCatDev/codingcat.dev/blob/dev/backend/firebase/functions/src/devto/scheduledNotionToDevto.ts) - -Full Hashnode example can be found at - -[https://github.com/CodingCatDev/codingcat.dev/blob/dev/backend/firebase/functions/src/hashnode/scheduledNotionToHashNode.ts](https://github.com/CodingCatDev/codingcat.dev/blob/dev/backend/firebase/functions/src/hashnode/scheduledNotionToHashNode.ts) - -Note that this is TypeScript and all functions need to be exposed in the `index.ts` file to be deployed. - -[https://github.com/CodingCatDev/codingcat.dev/blob/dev/backend/firebase/functions/src/index.ts](https://github.com/CodingCatDev/codingcat.dev/blob/dev/backend/firebase/functions/src/index.ts) \ No newline at end of file diff --git a/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/npm-tips-and-tricks/+page.md b/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/npm-tips-and-tricks/+page.md deleted file mode 100644 index 0a69f34db..000000000 --- a/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/npm-tips-and-tricks/+page.md +++ /dev/null @@ -1,108 +0,0 @@ ---- -type: post -authors: - - alex-patterson -cloudinary_convert: false -cover: https://media.codingcat.dev/image/upload/v1616547566/main-codingcatdev-photo/wsuyn79owuntcukcwtkg.jpg -devto: https://dev.to/codingcatdev/npm-tips-and-tricks-2n18 -excerpt: Adding NPM Globally, setting default values for packages, and stopping the dreaded sudo calls. -hashnode: https://hashnode.codingcat.dev/tutorial-npm-tips-and-tricks -preview: https://codingcat.dev/api/preview?secret=7tjQhb1qQlS3FtyV3b0I&selectionType=tutorial&selectionSlug=npm-tips-and-tricks&_id=06b5369e5b7846a9ab2d0f4180e8d526 -published: published -slug: npm-tips-and-tricks -start: May 17, 2019 -title: NPM Tips and Tricks -youtube: https://youtu.be/eWc0bg9KMQQ ---- - -## NPM Global install fail - -Ever get the dreaded EACCES error after running npm install -g? You're not alone! - -You will notice that npm is trying to install its packages to this path: - -Missing write access to /usr/local/lib/node_modules - -We need to change this to a better path that you have the rights to upate. - -## .npmrc update - -using vim or nano update your local .npmrc file - -`vim ~/.npmrc` - -Update this file with the below, this will tell npm to install packages locally to .npm-packages - -``` -prefix=${HOME}/.npm-packages -``` - -## NPM Global install success - -Once you change the .npmrc file, you will begin to install packages to ~/.npm-packages. No more issues - -![https://media.codingcat.dev/image/upload/v1657636635/main-codingcatdev-photo/85977596-b94f-4bce-b13e-4dda85cdc944.jpg](https://media.codingcat.dev/image/upload/v1657636635/main-codingcatdev-photo/85977596-b94f-4bce-b13e-4dda85cdc944.jpg) - -# NPM init defaults - -If you start projects using npm often enough you will want to default some of the authoring items. The basic syntax is `npm config set init.*` - -> Don't stress out if you are updating using npm config set while in a different directory this will still update in ~/.npmrc - -```bash -npm config set init.author.name "Alex Patterson" -npm config set init.author.email "developer@ajonp.com" -npm config set init.author.url "https://ajonp.com/" -npm config set init.license "MIT" -npm config set init.version "0.0.1" -``` - -Now our full .npmrc will look like: - -``` -prefix=/Users/ajonp/.npm-packages init.author.name=Alex Patterson init.author.email=developer@ajonp.com init.author.url=https://ajonp.com/ init.license=MIT init.version=0.0.1 - -``` - -Executing npm init will produce the following just by hitting enter. - -```json -{ - "name": "npm-sample", - "version": "0.0.1", - "description": "Sample NPM", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "author": "Alex Patterson (https://ajonp.com/)", - "license": "MIT" -} -``` - -# Setting NPM registry - -At work we have a VSTS (aka Visual Studio aka DevOps) private npm registry so it becomes important to use `npm config set registry` - -``` -https://.pkgs.visualstudio.com/_packaging//npm/registry/ - -``` - -Which will result in updating .npmrc with - -``` -registry=https://.pkgs.visualstudio.com/_packaging//npm/registry/ - -``` - -There is a great [medium article](https://medium.com/@shemseddine/private-npm-package-deployment-using-vsts-92e19668f7d3) on setting up VSTS npm. - -# Setting NPM loglevel - -Probably my favorite setting of all is `npm config set loglevel="warn"`, this allows me to see any output and only the warnings. There are several different levels in the [npm docs](https://docs.npmjs.com/misc/config), you execute any of them by running something like below: - -``` -npm i -g ionic -s --silent: --loglevel silent -q, --quiet: --loglevel warn -d: --loglevel info -dd, --verbose: --loglevel verbose -ddd: --loglevel silly - -``` diff --git a/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/pulumi-automation-api/+page.md b/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/pulumi-automation-api/+page.md deleted file mode 100644 index 2d0491e97..000000000 --- a/apps/codingcatdev/src/routes/(content-single)/(non-course)/post/pulumi-automation-api/+page.md +++ /dev/null @@ -1,482 +0,0 @@ ---- -type: post -authors: - - alex-patterson -cloudinary_convert: false -cover: 'https://media.codingcat.dev/image/upload/v1686165962/main-codingcatdev-photo/pulumi-automation-api.png' -devto: -excerpt: Databases that work well with serverless applications in 2023 -hashnode: -published: published -start: June 8, 2023 -title: 'Pulumi Automation API - Static Websites as a RESTful API' -youtube: ---- - -Lets get a little bit meta on this example. I am going to show you how to use a SvelteKit application with the Pulumi Automation API to create other static websites! - -## When to Use Pulumi Automation API - -The Pulumi Automation API is a programmatic interface for running Pulumi programs without the Pulumi CLI. It allows you to embed Pulumi within your application code, making it easy to create custom experiences on top of Pulumi that are tailored to your use-case, domain, and team. - -The Automation API is available in the Node, Python, Go, .NET, and Java SDKs. It provides a number of features that make it a powerful tool for building custom infrastructure automation solutions, including: - -- **Strongly typed:** The Automation API is strongly typed, which means that you can be confident that your code will work as expected. This is in contrast to the Pulumi CLI, which is dynamically typed. -- **Safe:** The Automation API is safe, which means that it is difficult to make mistakes that could lead to infrastructure failures. This is because the Automation API uses a number of safeguards, such as type checking and validation, to prevent errors. -- **Extensible:** The Automation API is extensible, which means that you can customize it to meet your specific needs. This can be done by adding new commands, plugins, and other features. - -The Automation API can be used for a variety of purposes, including: - -- **CI/CD integration:** The Automation API can be used to integrate Pulumi with your CI/CD pipeline. This allows you to automate the deployment of your infrastructure to production. -- **Integration testing:** The Automation API can be used to write integration tests for your Pulumi programs. This helps to ensure that your infrastructure is working as expected. -- **Multi-stage deployments:** The Automation API can be used to support multi-stage deployments, such as blue-green deployments. This allows you to deploy new versions of your infrastructure without disrupting existing users. -- **Deployments involving application code:** The Automation API can be used to deploy infrastructure that is involved in the deployment of your application code. This can include things like database migrations and load balancers. -- **Building higher level tools:** The Automation API can be used to build higher level tools, such as custom CLIs over Pulumi. This can make it easier for developers to use Pulumi to manage their infrastructure. - -If you are looking for a powerful tool for building custom infrastructure automation solutions, the Pulumi Automation API is a great option. It is available in a variety of languages and provides a number of features that make it a safe and extensible solution. - -## Pulumi Over Http - -This example is meant to show how you can use Pulumi's Automation API to create static websites hosted on AWS. The example utilizes SvelteKit API's so that you can expose infrastructure as RESTful resources. All the infrastructure is defined in inline programs that are constructed and altered on the fly based on input parsed from user-specified POST bodies. Be sure to read through the handlers to see how Automation API detect structured error cases such as update conflicts (409), and missing stacks (404). - -You will find all of the code needed inside of `src/routes/api/stacks` and `src/routes/api/stacks/[id]`. - -## SvelteKit Example Steps - -1. First You enter content that is needed for the website you are creating, then click Create Site -1. A Pulumi stack is created with a Pulumi program that adds an `index.html` to a new bucket. -1. The stack has an output for `websiteUrl` that will show the new website. - -### Pre-Requirements needed to run the example - -1. A Pulumi CLI installation ([v3.0.0](https://www.pulumi.com/docs/install/versions/) or later) -1. The AWS CLI, with appropriate credentials. If you are on a Mac I would highly recommend using [Brew's AWS CLI](https://formulae.brew.sh/formula/awscli) if this is a first time setup. The below setup is how you can quickly set your aws access (although this is not best practice). - -```bash - aws configure - AWS Access Key ID [*************xxxx]: - AWS Secret Access Key [**************xxxx]: - Default region name: [us-east-2]: us-east-2 - Default output format [None]: json -``` - -### Run example localhost - -Clone example - -```bash -git clone https://github.com/codercatdev/pulumi-over-http.git -``` - -Install necessary packages - -```bash -pnpm install -``` - -Run Dev Environment - -```bash -pnpm dev -``` - -### List stacks - -If you have used this example in the past you will see a listing page appear, if not you will see a message "No Sites Found". - -![input box with create site](https://media.codingcat.dev/image/upload/v1686238749/main-codingcatdev-photo/b6a8ad6342a85385efed3eb1612022c6700f1e3dfe200e2a7a3efac2812a03be.png) - -![stacks within project](https://media.codingcat.dev/image/upload/v1686238657/main-codingcatdev-photo/9e20606f542ec435da876efb0fda02835885f49965f360ffcefe86cd0fecd289.png) - -In the `src/routes/+page.ts` we are using a load function to get our stacks from an API that we created. - -```ts -import type { PageLoad } from './$types'; - -export const load = (async ({ fetch }) => { - const stacksRes = await fetch('/api/stacks'); - const stacks = await stacksRes.json(); - - return { - stacks - }; -}) satisfies PageLoad; -``` - -This is a `GET` http call that is calling our API found within `src/routes/api/stacks/+server.ts`. - -```ts -import { listHandler } from './pulumi'; - -/** @type {import('./$types').RequestHandler} */ -export const GET = async () => { - return listHandler(); -}; -``` - -This GET method calls our `listHandler` function within `src/routes/api/stacks/pulumi.ts`, which lists stacks within a project called `pulumi_over_http`. - -```ts -const projectName = 'pulumi_over_http'; - -// lists all sites -export const listHandler = (async () => { - try { - // set up a workspace with only enough information for the list stack operations - const ws = await LocalWorkspace.create({ - projectSettings: { name: projectName, runtime: 'nodejs' } - }); - const stacks = await ws.listStacks(); - return new Response(JSON.stringify(stacks)); - } catch (e) { - return new Response(JSON.stringify(e), { status: 500 }); - } -}) satisfies RequestHandler; -``` - -### Create Site - -On the homepage add the below code to the input box replacing "Hello World!" and click the "Create Site" button. - -```html -

Xena

-

A domesticated, black crazy cat.

- -black cat sleeping -``` - -This form can be found in `src/lib/CreateSite.svelte` and includes the `onCreate` function to call our API. - -![image showing creating button](https://media.codingcat.dev/image/upload/v1686238540/main-codingcatdev-photo/e40ad3b49c092ddfb2949a137f95d320a466977ca773f31977d268a960ca46c4.png) - -```svelte - - -
- -
- -
diff --git a/apps/codingcatdev/src/routes/(top-level-pages)/sponsorships/blog/+page.svelte b/apps/codingcatdev/src/routes/(top-level-pages)/sponsorships/blog/+page.svelte deleted file mode 100644 index 111e84a46..000000000 --- a/apps/codingcatdev/src/routes/(top-level-pages)/sponsorships/blog/+page.svelte +++ /dev/null @@ -1,145 +0,0 @@ - - - - Blog Sponsorship - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
-
-

- Sponsorship for - CodingCat.dev Blog - a CodingCat.dev Production -

- -
-
-
-
-

- Why - would you sponsor our blog? -

-
-
-

- On CodingCat.dev your advertisement is permanent! -

-

- You read that right, it is not just while you are sponsoring and it doesn't change by the - flavor of the week like Carbon or Google Ads. -

- -

- Blog sponsorship is a great way to reach a highly engaged audience of potential customers. - By sponsoring a blog post, your company can be featured prominently on a popular blog, - with the opportunity to reach a large number of readers who are already interested in the - topics your post is about. -

-
-
-
- - - -
-
-
    -
  • -

    - Increased Brand Awareness and Visibility: - By sponsoring blog posts on CodingCat.dev, your brand will be prominently featured in front - of a highly engaged audience of tech enthusiasts and programmers. This exposure can significantly - boost brand awareness and make your company more recognizable in the tech industry. -

    -
  • -
  • -

    - Enhanced Brand Credibility and Reputation: - Being associated with a reputable blog like CodingCat.dev can enhance your brand's credibility - and reputation. The blog's audience will associate your company with high-quality content - and expertise, fostering trust and loyalty. -

    -
  • -
  • -

    - Targeted Audience Reach: - CodingCat.dev attracts a dedicated readership of individuals passionate about coding and - programming. Sponsoring blog posts on this platform ensures you're reaching a highly targeted - audience of potential customers genuinely interested in your products or services. -

    -
  • -
  • -

    - Long-Term Impact and Brand Recall: - Unlike traditional advertising that fades quickly, sponsoring long-term blog posts on CodingCat.dev - creates a lasting impression. Your brand will remain visible and associated with valuable - content long after the initial publication date. -

    -
  • -
  • -

    - Cost-Effective Marketing Strategy: - Compared to traditional advertising methods, blog sponsorship offers a cost-effective way - to reach a large audience. The targeted nature of blog readership ensures your marketing - efforts are reaching the right people, maximizing the return on your investment. -

    -
  • -
-
-
- -
diff --git a/apps/codingcatdev/src/routes/(top-level-pages)/sponsorships/code-with-codingcatdev/+page.svelte b/apps/codingcatdev/src/routes/(top-level-pages)/sponsorships/code-with-codingcatdev/+page.svelte deleted file mode 100644 index af2dee61a..000000000 --- a/apps/codingcatdev/src/routes/(top-level-pages)/sponsorships/code-with-codingcatdev/+page.svelte +++ /dev/null @@ -1,134 +0,0 @@ - - - - Code with CodingCat.dev Sponsorship - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
-
-

- Sponsorship for - Code with CodingCat.dev - a CodingCat.dev Production -

- -
-
-
-
-

- On CodingCat.dev your advertisement is permanent! -

-

- You read that right, it is not just while you are sponsoring and it doesn't change by the - flavor of the week like Carbon or Google Ads. -

- -

- Streaming sponsorship is a great way to reach a highly engaged audience of potential - customers. By sponsoring a stream, your company can be featured prominently on the footer - of the stream of - over 16K subscribers, - with the opportunity to reach a large number of viewers who are already interested in the - topics your video is about. -

-
-
-
- -
-
-
-

- Why - would you sponsor live coding? -

-
-
    -
  • - Reach a large audience: - Live streaming on YouTube and Twitch is a great way to reach a large audience. In fact, YouTube - Live is one of the most popular live streaming platforms in the world, with millions of viewers - tuning in each day. -
  • -
  • - Engage with your audience: - Live streaming is also a great way to engage with your audience. You can interact with viewers - in real time, answer questions, and get feedback. This can help you build relationships with - your audience and create a sense of community. -
  • -
  • - Promote your brand: - Live streaming is a great way to promote your brand. You can use live streaming to showcase - your products or services, announce new initiatives, or simply share your company culture. - This can help you raise awareness of your brand and attract new customers. -
  • -
  • - Drive traffic to your website: - Live streaming can also help you drive traffic to your website. You can include a link to your - website in your live stream description, or you can encourage viewers to visit your website - for more information. This can help you increase website traffic and generate leads. -
  • -
-
-
- -

- If you're looking for a way to reach a large audience, engage with your audience, promote your - brand, and drive traffic to your website, then sponsoring live YouTube is a great option. -

- -
diff --git a/apps/codingcatdev/src/routes/(top-level-pages)/sponsorships/podcast/+page.svelte b/apps/codingcatdev/src/routes/(top-level-pages)/sponsorships/podcast/+page.svelte deleted file mode 100644 index f021723b3..000000000 --- a/apps/codingcatdev/src/routes/(top-level-pages)/sponsorships/podcast/+page.svelte +++ /dev/null @@ -1,377 +0,0 @@ - - - - Podcast Sponsorship - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
- -
-
-

- Sponsorship for - CodingCat.dev Podcast - a CodingCat.dev Production -

- -
-
-
-
-

- On CodingCat.dev your advertisement is permanent! -

-

- You read that right, it is not just while you are sponsoring and it doesn't change by - the flavor of the week like Carbon or Google Ads. -

- -

- Podcast sponsorship is a great way to reach a highly engaged audience of potential - customers. By sponsoring a podcast, your company can be featured prominently in the - pre-roll and mid-roll of a channel with - over 16K subscribers, with the opportunity to reach a large number of viewers who are already interested in - the topics your video is about. -

-
-
-
- - - -
-
-

Are you interested in reaching other web designers and developers?

-

We‘d love to help!

-

- CodingCat.dev Podcast is a weekly podcast that focuses on developer‘s backgrounds, - tools and tips. -

-

- We aim to keep listeners up to date on the latest technology and best practices, along - with guiding developers on their journey and helping them use tools in their everyday - workflow. -

-
-
-
-
-

- Why - do we make the podcast? -

-
-
-

- Alex and Brittney both have a passion for teaching and the - - {' '} - CodingCat.dev Podcast{' '} - - podcast is an extension of that passion! -

-
-
-
-

- Alex - created CodingCat.dev so that everyone has access to a great learning platform and a safe - learning community. He has a primary background in web development and architecture. -

-
-
-

- Brittney - joined Alex to complete the design of CodingCat.dev and then joined CodingCat.dev Podcast - to give a designer turned developer‘s perspective to the discussion. -

-
-
-
-
-
-

- Where - - {' '} - do we distribute the podcast? - -

-
-
-

- Our podcast is very visual and interactive, so we first livestream to{' '} - - Twitch - {' '} - then the episodes receive a number for release and are released to all the below syndication - platforms. -

-
-
- -
-
-
-

Audience Breakdown

-
-
-
Age Range
-
25-34
-
Most listeners fall within this range.
-
-
-
Spotify
-
- Spotify Analytics -
-
-
-
YouTube
-
- YouTube Analytics -
-
-
-
-
-

- Sponsoring is Purrfect for: -

-
-
-
-
Web design and development tools, software and services
-
-
Teams looking to hire
-
-
Technical training material and courses
-
-
Technical software
-
-
Hardware products
-
-
-
-
-

Audience Interests:

-
-
-

Hard Skills

-
-
-
JavaScript frameworks (e.g. React, Angular, Vue, and Svelte)
-
-
CSS and CSS libraries like TailwindCSS
-
-
Backend Frameworks (e.g. NodeJs, Rust)
-
-
Cloud Solutions (e.g. AWS, GCP, Azure)
-
-
Lifestyle Products (e.g. keyboards, VSCode themes)
-
-
-
-

Soft Skills

-
-
-
How to get a job in tech
-
-
How to run a freelance business
-
-
How to start a podcast
-
-
How to change careers
-
-
Mental health and awareness
-
-
-
-
-
-
-

- Pricing -

-
-
-
- Single Show {' '} - - $300 USD -
-
- 3+ Shows {' '} - - $250 USD -
-
- 10+ Shows {' '} - - $200 USD -
-

* per show pricing, contact us to arrange for annual terms.

-
-

- We have found that we get the best results for our advertisers when they sponsor at least - three shows, Alex and Brittney are able to test out the product, and your marketing team - approves both pre-roll and mid-roll videos. -

-
-
-
-

- As part of the sponsorship package, you‘ll receive: -

-
- 1 -

- A sponsorship section within the episode show notes, on our website. -

-
-

- These notes will be listed on CodingCat.dev Podcast permanently and within the - user‘s podcatcher of choice (Apple, Spotify...). This is a great opportunity to - include unique targeted links and promo codes! -

-
-
- CodingCat.dev Podcast Sponsorship Image show logo. -
-
-
-
-
- 2 -

A call-out in the pre-roll of the show.

-
-

- The call-out will include the name of the company and slogan. Because we are a video - podcast, there will also be an opportunity for your own branding to be included in the - video. We highly suggest your marketing team creates the video with a voice-over from - Brittney and Alex. -

-
-
-
- 3 -

- A 60-90 second sponsor spot mid-roll during the show. -

-
-

- We can provide a standard ad read provided by your marketing department. We have found - that because we are a video podcast, this is a good time to showcase your product. We can - also provide a personal experience aad that allows Alex and Brittney to demonstrate their - own experience with your product. -

-
-
-
-
-
- 4 -

- An evergreen listing on the CodingCat.dev Podcast sponsors page. -

-
-

- This is a useful resource for listeners wanting to quickly reference a sponsor‘s - offering, but are unable to recall which episode, coupon code, or link was used during the - ad read. -

-
-
-
- 5 -

Access to a password protected dashboard.

-
-

- This will include easy access to all documents, including invoices and contracts. -

-
-
- - - -
-
diff --git a/apps/codingcatdev/src/routes/(top-level-pages)/sponsorships/podcast/Arrow.svelte b/apps/codingcatdev/src/routes/(top-level-pages)/sponsorships/podcast/Arrow.svelte deleted file mode 100644 index 597a395b2..000000000 --- a/apps/codingcatdev/src/routes/(top-level-pages)/sponsorships/podcast/Arrow.svelte +++ /dev/null @@ -1,6 +0,0 @@ - - - diff --git a/apps/codingcatdev/src/routes/(top-level-pages)/sponsorships/podcast/Podcatchers.svelte b/apps/codingcatdev/src/routes/(top-level-pages)/sponsorships/podcast/Podcatchers.svelte deleted file mode 100644 index 0e1744247..000000000 --- a/apps/codingcatdev/src/routes/(top-level-pages)/sponsorships/podcast/Podcatchers.svelte +++ /dev/null @@ -1,115 +0,0 @@ - - -
-
-
- - Image of Apple Podcasts logo - - - - Image of Spotify logo - -
- - -
-
diff --git a/apps/codingcatdev/src/routes/(top-level-pages)/terms-of-use/+page.md b/apps/codingcatdev/src/routes/(top-level-pages)/terms-of-use/+page.md deleted file mode 100644 index cea97ccda..000000000 --- a/apps/codingcatdev/src/routes/(top-level-pages)/terms-of-use/+page.md +++ /dev/null @@ -1,118 +0,0 @@ ---- -type: page -cloudinary_convert: false -published: published -slug: terms-of-use -start: June 20, 2022 -title: Terms of Use ---- -## CodingCatDev, LLC Terms of Use - -## **Last updated January 31, 2022** - -## AGREEMENT TO TERMS - -These Terms of Use constitute a legally binding agreement made between you, whether personally or on behalf of an entity (“you”) and CODINGCATDEV, LLC (”**Company**”, “**we**”, “**us**”, or “**our**”), concerning your access to and use of the [https://codingcat.dev](https://codingcat.dev/) website as well as any other media form, media channel, mobile website or mobile application related, linked, or otherwise connected thereto (collectively, the “Site”). You agree that by accessing the Site, you have read, understood, and agreed to be bound by all of these Terms of Use. IF YOU DO NOT AGREE WITH ALL OF THESE TERMS OF USE, THEN YOU ARE EXPRESSLY PROHIBITED FROM USING THE SITE AND YOU MUST DISCONTINUE USE IMMEDIATELY. - -Supplemental terms and conditions or documents that may be posted on the Site from time to time are hereby expressly incorporated herein by reference. We reserve the right, in our sole discretion, to make changes or modifications to these Terms of Use at any time and for any reason. We will alert you about any changes by updating the “Last updated” date of these Terms of Use, and you waive any right to receive specific notice of each such change. It is your responsibility to periodically review these Terms of Use to stay informed of updates. You will be subject to, and will be deemed to have been made aware of and to have accepted, the changes in any revised Terms of Use by your continued use of the Site after the date such revised Terms of Use are posted. - -The information provided on the Site is not intended for distribution to or use by any person or entity in any jurisdiction or country where such distribution or use would be contrary to law or regulation or which would subject us to any registration requirement within such jurisdiction or country. Accordingly, those persons who choose to access the Site from other locations do so on their own initiative and are solely responsible for compliance with local laws, if and to the extent local laws are applicable. - -## INTELLECTUAL PROPERTY RIGHTS - -Unless otherwise indicated, the Site is our proprietary property and all source code, databases, functionality, software, website designs, audio, video, text, photographs, and graphics on the Site (collectively, the “Content”) and the trademarks, service marks, and logos contained therein (the “Marks”) are owned or controlled by us or licensed to us, and are protected by copyright and trademark laws and various other intellectual property rights and unfair competition laws of the United States, foreign jurisdictions, and international conventions. The Content and the Marks are provided on the Site “AS IS” for your information and personal use only. Except as expressly provided in these Terms of Use, no part of the Site and no Content or Marks may be copied, reproduced, aggregated, republished, uploaded, posted, publicly displayed, encoded, translated, transmitted, distributed, sold, licensed, or otherwise exploited for any commercial purpose whatsoever, without our express prior written permission. - -Provided that you are eligible to use the Site, you are granted a limited license to access and use the Site and to download or print a copy of any portion of the Content to which you have properly gained access solely for your personal, non-commercial use. We reserve all rights not expressly granted to you in and to the Site, the Content and the Marks. - -## USER REPRESENTATIONS - -By using the Site, you represent and warrant that:(1) you have the legal capacity and you agree to comply with these Terms of Use; (2) you are not a minor in the jurisdiction in which you reside; (3) you will not access the Site through automated or non-human means, whether through a bot, script, or otherwise; (4) you will not use the Site for any illegal or unauthorized purpose; and (5) your use of the Site will not violate any applicable law or regulation. - -If you provide any information that is untrue, inaccurate, not current, or incomplete, we have the right to suspend or terminate your account and refuse any and all current or future use of the Site (or any portion thereof). - -## PROHIBITED ACTIVITIES - -You may not access or use the Site for any purpose other than that for which we make the Site available. The Site may not be used in connection with any commercial endeavors except those that are specifically endorsed or approved by us. - -As a user of the Site, you agree not to: - -- Change code using the console. -- Steal any private data. - -## SITE MANAGEMENT - -We reserve the right, but not the obligation, to: (1) monitor the Site for violations of these Terms of Use; (2) take appropriate legal action against anyone who, in our sole discretion, violates the law or these Terms of Use, including without limitation, reporting such user to law enforcement authorities; (3) in our sole discretion and without limitation, refuse, restrict access to, limit the availability of, or disable (to the extent technologically feasible) any of your Contributions or any portion thereof; (4) in our sole discretion and without limitation, notice, or liability, to remove from the Site or otherwise disable all files and content that are excessive in size or are in any way burdensome to our systems; and (5) otherwise manage the Site in a manner designed to protect our rights and property and to facilitate the proper functioning of the Site. - -## TERM AND TERMINATION - -These Terms of Use shall remain in full force and effect while you use the Site. WITHOUT LIMITING ANY OTHER PROVISION OF THESE TERMS OF USE, WE RESERVE THE RIGHT TO, IN OUR SOLE DISCRETION AND WITHOUT NOTICE OR LIABILITY, DENY ACCESS TO AND USE OF THE SITE (INCLUDING BLOCKING CERTAIN IP ADDRESSES), TO ANY PERSON FOR ANY REASON OR FOR NO REASON, INCLUDING WITHOUT LIMITATION FOR BREACH OF ANY REPRESENTATION, WARRANTY, OR COVENANT CONTAINED IN THESE TERMS OF USE OR OF ANY APPLICABLE LAW OR REGULATION. WE MAY TERMINATE YOUR USE OR PARTICIPATION IN THE SITE OR DELETEANY CONTENT OR INFORMATION THAT YOU POSTED AT ANY TIME, WITHOUT WARNING, IN OUR SOLE DISCRETION. - -If we terminate or suspend your account for any reason, you are prohibited from registering and creating a new account under your name, a fake or borrowed name, or the name of any third party, even if you may be acting on behalf of the third party. In addition to terminating or suspending your account, we reserve the right to take appropriate legal action, including without limitation pursuing civil, criminal, and injunctive redress. - -## MODIFICATIONS AND INTERRUPTIONS - -We reserve the right to change, modify, or remove the contents of the Site at any time or for any reason at our sole discretion without notice. However, we have no obligation to update any information on our Site. We also reserve the right to modify or discontinue all or part of the Site without notice at any time. We will not be liable to you or any third party for any modification, price change, suspension, or discontinuance of the Site. - -We cannot guarantee the Site will be available at all times. We may experience hardware, software, or other problems or need to perform maintenance related to the Site, resulting in interruptions, delays, or errors. We reserve the right to change, revise, update, suspend, discontinue, or otherwise modify the Site at any time or for any reason without notice to you. You agree that we have no liability whatsoever for any loss, damage, or inconvenience caused by your inability to access or use the Site during any downtime or discontinuance of the Site. Nothing in these Terms of Use will be construed to obligate us to maintain and support the Site or to supply any corrections, updates, or releases in connection therewith. - -## GOVERNING LAW - -These Terms of Use and your use of the Site are governed by and construed in accordance with the laws ofthe State of Michigan applicable to agreements made and to be entirely performed within the State of Michigan, without regard to its conflict of law principles. - -## DISPUTE RESOLUTION - -## Binding Arbitration - -If the Parties are unable to resolve a Dispute through informal negotiations, the Dispute (except those Disputes expressly excluded below) will be finally and exclusively resolved by binding arbitration. YOU UNDERSTAND THAT WITHOUT THIS PROVISION, YOU WOULD HAVE THE RIGHT TO SUE IN COURT AND HAVE A JURY TRIAL. The arbitration shall be commenced and conducted under the Commercial Arbitration Rules of the American Arbitration Association (“AAA”) and, where appropriate, the AAA’s Supplementary Procedures for Consumer Related Disputes (“AAA Consumer Rules”), both of which are available at the AAA website [www.adr.org.](http://www.adr.org./) Your arbitration fees and your share of arbitrator compensation shall be governed by the AAA Consumer Rules and, where appropriate, limited by the AAA Consumer Rules.The arbitration may be conducted in person, through the submission of documents, by phone, or online. The arbitrator will make a decision in writing, but need not provide a statement of reasons unless requested by either Party. The arbitrator must follow applicable law, and any award may be challenged if the arbitrator fails to do so. Except where otherwise required by the applicable AAA rules or applicable law, the arbitration will take place in Michigan County, Ottawa. Except as otherwise provided herein, the Parties may litigate in court to compel arbitration, stay proceedings pending arbitration, or to confirm, modify, vacate, or enter judgment on the award entered by the arbitrator. - -If for any reason, a Dispute proceeds in court rather than arbitration, the Dispute shall be commenced or prosecuted in the state and federal courts located in Michigan County, Ottawa, and the Parties hereby consent to, and waive all defenses of lack of personal jurisdiction, and forum non conveniens with respect to venue and jurisdiction in such state and federal courts. Application of the United Nations Convention on Contracts for the International Sale of Goods and the the Uniform Computer Information Transaction Act (UCITA) are excluded from these Terms of Use. - -If this provision is found to be illegal or unenforceable, then neither Party will elect to arbitrate any Dispute falling within that portion of this provision found to be illegal or unenforceable and such Dispute shall be decided by a court of competent jurisdiction within the courts listed for jurisdiction above, and the Parties agree to submit to the personal jurisdiction of that court. - -## Restrictions - -The Parties agree that any arbitration shall be limited to the Dispute between the Parties individually. To the full extent permitted by law, (a) no arbitration shall be joined with any other proceeding; (b) there is no right or authority for any Dispute to be arbitrated on a class-action basis or to utilize class action procedures; and © there is no right or authority for any Dispute to be brought in a purported representative capacity on behalf of the general public or any other persons. - -## Exceptions to Arbitration - -The Parties agree that the following Disputes are not subject to the above provisions concerning binding arbitration: (a) any Disputes seeking to enforce or protect, or concerning the validity of, any of the intellectual property rights of a Party; (b) any Dispute related to, or arising from, allegations of theft, piracy, invasion of privacy, or unauthorized use; and © any claim for injunctive relief. If this provision is found to be illegal or unenforceable, then neither Party will elect to arbitrate any Dispute falling within that portion of this provision found to be illegal or unenforceable and such Dispute shall be decided by a court of competent jurisdiction within the courts listed for jurisdiction above, and the Parties agree to submit to the personal jurisdiction of that court. - -## CORRECTIONS - -There may be information on the Site that contains typographical errors, inaccuracies, or omissions, including descriptions, pricing, availability, and various other information. We reserve the right to correct any errors, inaccuracies, or omissions and to change or update the information on the Site at any time, without prior notice. - -## DISCLAIMER - -THE SITE IS PROVIDED ON AN AS-IS AND AS-AVAILABLE BASIS. YOU AGREE THAT YOUR USE OF THE SITE AND OUR SERVICES WILL BE AT YOUR SOLE RISK. TO THE FULLEST EXTENT PERMITTED BY LAW, WE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, IN CONNECTION WITH THE SITE AND YOUR USE THEREOF, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. WE MAKE NO WARRANTIES OR REPRESENTATIONS ABOUT THE ACCURACY OR COMPLETENESS OF THE SITE’S CONTENT OR THE CONTENT OF ANY WEBSITES LINKED TO THE SITE AND WE WILL ASSUME NO LIABILITY OR RESPONSIBILITY FOR ANY (1) ERRORS, MISTAKES, OR INACCURACIES OF CONTENT AND MATERIALS, (2) PERSONAL INJURY OR PROPERTY DAMAGE, OF ANY NATURE WHATSOEVER, RESULTING FROM YOUR ACCESS TO AND USE OF THE SITE, (3) ANY UNAUTHORIZED ACCESS TO OR USE OF OUR SECURE SERVERS AND/OR ANY AND ALL PERSONAL INFORMATION AND/OR FINANCIAL INFORMATION STORED THEREIN, (4) ANY INTERRUPTION OR CESSATION OF TRANSMISSION TO OR FROM THE SITE, (5) ANY BUGS, VIRUSES, TROJAN HORSES, OR THE LIKE WHICH MAY BE TRANSMITTED TO OR THROUGH THE SITE BY ANY THIRD PARTY, AND/OR (6) ANY ERRORS OR OMISSIONS IN ANY CONTENT AND MATERIALS OR FOR ANY LOSS OR DAMAGE OF ANY KIND INCURRED AS A RESULT OF THE USE OF ANY CONTENT POSTED, TRANSMITTED, OR OTHERWISE MADE AVAILABLE VIA THE SITE. WE DO NOT WARRANT, ENDORSE, GUARANTEE, OR ASSUME RESPONSIBILITY FOR ANY PRODUCT OR SERVICE ADVERTISED OR OFFERED BY A THIRD PARTY THROUGH THE SITE, ANY HYPERLINKED WEBSITE, OR ANY WEBSITE OR MOBILE APPLICATION FEATURED IN ANY BANNER OR OTHER ADVERTISING, AND WE WILL NOT BE A PARTY TO OR IN ANY WAY BE RESPONSIBLE FOR MONITORING ANY TRANSACTION BETWEEN YOU AND ANY THIRD-PARTY PROVIDERS OF PRODUCTS OR SERVICES. AS WITH THE PURCHASE OF A PRODUCT OR SERVICE THROUGH ANY MEDIUM OR IN ANY ENVIRONMENT, YOU SHOULD USE YOUR BEST JUDGMENT AND EXERCISE CAUTION WHERE APPROPRIATE. - -## LIMITATIONS OF LIABILITY - -IN NO EVENT WILL WE OR OUR DIRECTORS, EMPLOYEES, OR AGENTS BE LIABLE TO YOU OR ANY THIRD PARTY FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, EXEMPLARY, INCIDENTAL, SPECIAL, OR PUNITIVE DAMAGES, INCLUDING LOST PROFIT, LOST REVENUE, LOSS OF DATA, OR OTHER DAMAGES ARISING FROM YOUR USE OF THE SITE, EVEN IF WE HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.NOTWITHSTANDING ANYTHING TO THE CONTRARY CONTAINED HEREIN, OUR LIABILITY TO YOU FOR ANY CAUSE WHATSOEVER AND REGARDLESS OF THE FORM OF THE ACTION, WILL AT ALL TIMES BE LIMITED TOTHE LESSER OF THE AMOUNT PAID, IF ANY, BY YOU TO USOR$100. CERTAIN STATE LAWS DO NOT ALLOW LIMITATIONS ON IMPLIED WARRANTIES OR THE EXCLUSION OR LIMITATION OF CERTAIN DAMAGES. IF THESE LAWS APPLY TO YOU, SOME OR ALL OF THE ABOVE DISCLAIMERS OR LIMITATIONS MAY NOT APPLY TO YOU, AND YOU MAY HAVE ADDITIONAL RIGHTS. - -## INDEMNIFICATION - -You agree to defend, indemnify, and hold us harmless, including our subsidiaries, affiliates, and all of our respective officers, agents, partners, and employees, from and against any loss, damage, liability, claim, or demand, including reasonable attorneys’ fees and expenses, made by any third party due to or arising out of:(1) use of the Site; (2) breach of these Terms of Use; (3) any breach of your representations and warranties set forth in these Terms of Use; (4) your violation of the rights of a third party, including but not limited to intellectual property rights; or (5) any overt harmful act toward any other user of the Site with whom you connected via the Site. Notwithstanding the foregoing, we reserve the right, at your expense, to assume the exclusive defense and control of any matter for which you are required to indemnify us, and you agree to cooperate, at your expense, with our defense of such claims. We will use reasonable efforts to notify you of any such claim, action, or proceeding which is subject to this indemnification upon becoming aware of it. - -## USER DATA - -We will maintain certain data that you transmit to the Site for the purpose of managing the performance of the Site, as well as data relating to your use of the Site. Although we perform regular routine backups of data, you are solely responsible for all data that you transmit or that relates to any activity you have undertaken using the Site. You agree that we shall have no liability to you for any loss or corruption of any such data, and you hereby waive any right of action against us arising from any such loss or corruption of such data. - -## ELECTRONIC COMMUNICATIONS, TRANSACTIONS, AND SIGNATURES - -Visiting the Site, sending us emails, and completing online forms constitute electronic communications. You consent to receive electronic communications, and you agree that all agreements, notices, disclosures, and other communications we provide to you electronically, via email and on the Site, satisfy any legal requirement that such communication be in writing. YOU HEREBY AGREE TO THE USE OF ELECTRONIC SIGNATURES, CONTRACTS, ORDERS, AND OTHER RECORDS, AND TO ELECTRONIC DELIVERY OF NOTICES, POLICIES, AND RECORDS OF TRANSACTIONS INITIATED OR COMPLETED BY US OR VIA THE SITE. You hereby waive any rights or requirements under any statutes, regulations, rules, ordinances, or other laws in any jurisdiction which require an original signature or delivery or retention of non-electronic records, or to payments or the granting of credits by any means other than electronic means. - -## CALIFORNIA USERS AND RESIDENTS - -If any complaint with us is not satisfactorily resolved, you can contact the Complaint Assistance Unit of the Division of Consumer Services of the California Department of Consumer Affairs in writing at 1625 North Market Blvd., Suite N 112, Sacramento, California 95834 or by telephone at (800) 952-5210 or (916) 445-1254. - -## MISCELLANEOUS - -These Terms of Use and any policies or operating rules posted by us on the Site or in respect to the Site constitute the entire agreement and understanding between you and us. Our failure to exercise or enforce any right or provision of these Terms of Use shall not operate as a waiver of such right or provision. These Terms of Use operate to the fullest extent permissible by law. We may assign any or all of our rights and obligations to others at any time. We shall not be responsible or liable for any loss, damage, delay, or failure to act caused by any cause beyond our reasonable control. If any provision or part of a provision of these Terms of Use is determined to be unlawful, void, or unenforceable, that provision or part of the provision is deemed severable from these Terms of Use and does not affect the validity and enforceability of any remaining provisions. There is no joint venture, partnership, employment or agency relationship created between you and us as a result of these Terms of Use or use of the Site. You agree that these Terms of Use will not be construed against us by virtue of having drafted them. You hereby waive any and all defenses you may have based on the electronic form of these Terms of Use and the lack of signing by the parties hereto to execute these Terms of Use. - -## CONTACT US - -In order to resolve a complaint regarding the Site or to receive further information regarding use of the Site, please contact us at: - -**[support@codingcat.dev](mailto:support@codingcat.dev)** - -CODINGCATDEV, LLC \ No newline at end of file diff --git a/apps/codingcatdev/src/routes/+error.svelte b/apps/codingcatdev/src/routes/+error.svelte deleted file mode 100644 index d5e874cae..000000000 --- a/apps/codingcatdev/src/routes/+error.svelte +++ /dev/null @@ -1,12 +0,0 @@ - - -
- -

Uh oh, that page doesn't seem to exist.

-

- Were you looking for{' '} - Courses -

-
diff --git a/apps/codingcatdev/src/routes/+layout.server.ts b/apps/codingcatdev/src/routes/+layout.server.ts deleted file mode 100644 index 7fb1f212a..000000000 --- a/apps/codingcatdev/src/routes/+layout.server.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { listContent, getContentTypeDirectory, allowLocal } from '$lib/server/content'; -import { ccdValidateSessionCookie, validateStripeRole } from '$lib/server/firebase'; -import { type Content, ContentType } from '$lib/types'; -import type { Cookies } from '@sveltejs/kit'; -import { preview } from '$lib/server/content'; - -//export const prerender = false; -export const load = async ({ cookies }: { cookies: Cookies }) => { - // Get latest podcast - const podcasts = ( - await listContent({ - contentItems: await getContentTypeDirectory(ContentType.podcast), - limit: 5 - }) - ).content; - try { - const ccdsession = cookies.get('session'); - if (!ccdsession) { - return { - podcasts, - preview - }; - } - const user = await ccdValidateSessionCookie(ccdsession); - - // Revalidate needed after stripe subsciption - const stripeRole = await validateStripeRole(user.uid); - - return { - user: { - ...user, - stripeRole - }, - podcasts, - preview - }; - } catch (error) { - cookies.set('session', '', { expires: new Date(0) }); - - console.error(error); - return { - podcasts, - preview - }; - } -}; diff --git a/apps/codingcatdev/src/routes/+layout.svelte b/apps/codingcatdev/src/routes/+layout.svelte deleted file mode 100644 index 13e4ffb20..000000000 --- a/apps/codingcatdev/src/routes/+layout.svelte +++ /dev/null @@ -1,169 +0,0 @@ - - -{#if !topLevelPage} - -{/if} - - - - - - - -{#if data?.preview} -
- PREVIEW MODE -
-{/if} - - - - - - - - {#if $navigationIsDelayed} - -
- -

Fetching...

-
- {:else} - - {/if} - - - -
diff --git a/apps/codingcatdev/src/routes/+page.svelte b/apps/codingcatdev/src/routes/+page.svelte deleted file mode 100644 index 5256f9f5d..000000000 --- a/apps/codingcatdev/src/routes/+page.svelte +++ /dev/null @@ -1,22 +0,0 @@ - - -
- - - - - - -
diff --git a/apps/codingcatdev/src/routes/MetaTags.svelte b/apps/codingcatdev/src/routes/MetaTags.svelte deleted file mode 100644 index f3581a4a8..000000000 --- a/apps/codingcatdev/src/routes/MetaTags.svelte +++ /dev/null @@ -1,45 +0,0 @@ - - - - {meta.title} - - - - - - - - - - - - - - - - - - - - - {#if content} - - - - {/if} - - - - - - - - - diff --git a/apps/codingcatdev/src/routes/api/content.json/+server.ts b/apps/codingcatdev/src/routes/api/content.json/+server.ts deleted file mode 100644 index 07de764c7..000000000 --- a/apps/codingcatdev/src/routes/api/content.json/+server.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { content } from './content.server.js'; -import { json } from '@sveltejs/kit'; - -export const prerender = true; - -/** @type {import('./$types').RequestHandler} */ -export const GET = async () => { - return json({ - blocks: await content() - }); -} diff --git a/apps/codingcatdev/src/routes/api/content.json/content.server.ts b/apps/codingcatdev/src/routes/api/content.json/content.server.ts deleted file mode 100644 index cd4368310..000000000 --- a/apps/codingcatdev/src/routes/api/content.json/content.server.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { getContentTypeDirectory, listContent, preview } from "$lib/server/content"; -import { ContentPublished, type Content, type Author, ContentType, type Course, type Sponsor } from "$lib/types"; - -export const content = async () => { - - const author = (await listContent({ - contentItems: await getContentTypeDirectory(ContentType.author), - limit: 10000 - })).content - - const post = (await listContent({ - contentItems: await getContentTypeDirectory(ContentType.post), - limit: 10000 - })).content - - const course = (await listContent({ - contentItems: await getContentTypeDirectory(ContentType.course), - limit: 10000 - })).content - - const guest = (await listContent({ - contentItems: await getContentTypeDirectory(ContentType.guest), - limit: 10000 - })).content - - const podcast = (await listContent({ - contentItems: await getContentTypeDirectory(ContentType.podcast), - limit: 10000 - })).content - - const sponsor = (await listContent({ - contentItems: await getContentTypeDirectory(ContentType.sponsor), - limit: 10000 - })).content - - const combinedContent = [...author, ...post, ...course, ...guest, ...podcast, ...sponsor]; - - const fullContent = combinedContent - .filter(preview ? () => true : (c) => c.published === ContentPublished.published) - .sort((a, b) => new Date(b.start).valueOf() - new Date(a.start).valueOf()); - - const blocks = []; - - //TODO: use full text instead of excerpt - for (const c of fullContent as Content[] & Author[]) { - blocks.push({ - breadcrumbs: [`${c.type}/${c?.title ? c.title : c?.name}`], href: `/${c.type}/${c.slug}`, content: c.excerpt - }) - } - return blocks; -} diff --git a/apps/codingcatdev/src/routes/api/more-content/+server.ts b/apps/codingcatdev/src/routes/api/more-content/+server.ts deleted file mode 100644 index c4e8a0fb5..000000000 --- a/apps/codingcatdev/src/routes/api/more-content/+server.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { getContentTypeDirectory, listContent } from '$lib/server/content'; -import type { Content } from '$lib/types'; -import type { RequestHandler } from '@sveltejs/kit'; - -export const POST: RequestHandler = async ({ request }) => { - const { contentType, after } = await request.json(); - return new Response(String(JSON.stringify( - await listContent({ - contentItems: await getContentTypeDirectory(contentType), - after - }) - ))); -}; diff --git a/apps/codingcatdev/src/routes/api/user/+server.ts b/apps/codingcatdev/src/routes/api/user/+server.ts deleted file mode 100644 index d8c1f5ba7..000000000 --- a/apps/codingcatdev/src/routes/api/user/+server.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { json } from '@sveltejs/kit'; -import { ccdValidateSessionCookie, isAdmin, validateStripeRole } from '$lib/server/firebase'; -import { error } from 'console'; - -/** @type {import('./$types').RequestHandler} */ -export const GET = async ({ cookies }) => { - const ccdsession = cookies.get('session'); - if (!ccdsession) { - throw error(401, { - message: 'No User' - }); - } - const user = await ccdValidateSessionCookie(ccdsession); - - // Revalidate needed after stripe subsciption - const stripeRole = await validateStripeRole(user.uid); - - return json({ - user: { - ...user, - stripeRole - }, - isAdmin: await isAdmin(user?.uid) - }); -}; diff --git a/apps/codingcatdev/src/routes/api/user/addStripeRole/+server.ts b/apps/codingcatdev/src/routes/api/user/addStripeRole/+server.ts deleted file mode 100644 index 2aeeed70f..000000000 --- a/apps/codingcatdev/src/routes/api/user/addStripeRole/+server.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { json } from '@sveltejs/kit'; -import { - ccdValidateSessionCookie, - isAdmin, - setStripeRole, - validateStripeRole -} from '$lib/server/firebase'; -import { error } from 'console'; - -/** @type {import('./$types').RequestHandler} */ -export const GET = async ({ cookies, url }) => { - const ccdsession = cookies.get('session'); - if (!ccdsession) { - throw error(401, { - message: 'No User' - }); - } - const user = await ccdValidateSessionCookie(ccdsession); - - // Revalidate needed after stripe subsciption - const stripeRole = await validateStripeRole(user.uid); - - // See if you are allowed to upgrade - const admin = await isAdmin(user?.uid); - - if (admin) { - const uid = url?.searchParams?.get('uid') || user?.uid; - const remove = url?.searchParams?.get('remove') ? true : undefined; - await setStripeRole(uid, remove); - } - - return json({ - user: { - ...user, - stripeRole - } - }); -}; diff --git a/apps/codingcatdev/src/routes/login/+page.server.ts b/apps/codingcatdev/src/routes/login/+page.server.ts deleted file mode 100644 index 1a8a82f81..000000000 --- a/apps/codingcatdev/src/routes/login/+page.server.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { ccdCreateSessionCookie } from '$lib/server/firebase'; -import type { Actions, PageServerLoad } from './$types'; -import { fail, redirect } from '@sveltejs/kit'; - -//export const prerender = false; - -export const actions = { - login: async ({ cookies, url }) => { - const ccdLoginIdToken = cookies.get('__ccdlogin'); - - if (!ccdLoginIdToken) { - return fail(400, { missing: true }); - } - - const sessionCookie = await ccdCreateSessionCookie(ccdLoginIdToken); - if (!sessionCookie) { - return fail(400, { incorrect: true }); - } - cookies.set(sessionCookie.name, sessionCookie.sessionCookie, sessionCookie.options); - cookies.set('__ccdlogin', '', { expires: new Date(Date.now() - 3600) }); - - if (url.searchParams.has('redirectTo')) { - throw redirect(303, url.searchParams.get('redirectTo') || '/'); - } - throw redirect(303, '/'); - }, - logout: async ({ cookies }) => { - console.debug('logging out'); - cookies.set('session', '', { expires: new Date(Date.now() - 3600) }); - throw redirect(303, '/'); - } -} satisfies Actions; - -export const load = async ({ parent, url }) => { - const { user } = await parent(); - if (user) - throw redirect( - 303, - `/account${ - url.searchParams.has('redirectTo') - ? '?redirectTo=' + url.searchParams.get('redirectTo') - : '' - }` - ); - - return { - redirectTo: url.searchParams.get('redirectTo') || '' - }; -}; diff --git a/apps/codingcatdev/src/routes/login/+page.svelte b/apps/codingcatdev/src/routes/login/+page.svelte deleted file mode 100644 index 80633ec23..000000000 --- a/apps/codingcatdev/src/routes/login/+page.svelte +++ /dev/null @@ -1,28 +0,0 @@ - - - -
- - Sign Up -
- - - - -
- -
diff --git a/apps/codingcatdev/src/routes/login/EmailAuth.svelte b/apps/codingcatdev/src/routes/login/EmailAuth.svelte deleted file mode 100644 index c2cb823ca..000000000 --- a/apps/codingcatdev/src/routes/login/EmailAuth.svelte +++ /dev/null @@ -1,63 +0,0 @@ - - -
{ - // `form` is the `` element - // `data` is its `FormData` object - // `action` is the URL to which the form is posted - // `cancel()` will prevent the submission - - const email = `${data.get('email')}`; - const password = `${data.get('password')}`; - - if (!email || !password) { - toastStore.trigger({ - message: 'Please Provide Username and Password.' - }); - cancel(); - } else { - try { - await ccdSignInWithEmailAndPassword({ email, password }); - } catch (err) { - if (err instanceof Error) { - toastStore.trigger({ - message: err.message, - background: 'variant-filled-error' - }); - } - } - } - - return async ({ result, update }) => { - // `result` is an `ActionResult` object - // `update` is a function which triggers the logic that would be triggered if this callback wasn't set - - update(); - }; - }} -> -
- - - -
-
diff --git a/apps/codingcatdev/src/routes/login/GitHubAuth.svelte b/apps/codingcatdev/src/routes/login/GitHubAuth.svelte deleted file mode 100644 index 4467f9281..000000000 --- a/apps/codingcatdev/src/routes/login/GitHubAuth.svelte +++ /dev/null @@ -1,45 +0,0 @@ - - -
{ - try { - await ccdSignInWithPopUp(provider); - } catch (err) { - if (err instanceof Error) { - toastStore.trigger({ - message: err.message, - background: 'variant-filled-error' - }); - } - } - return async ({ result, update }) => { - // `result` is an `ActionResult` object - // `update` is a function which triggers the logic that would be triggered if this callback wasn't set - - update(); - }; - }} -> - -
diff --git a/apps/codingcatdev/src/routes/login/GoogleAuth.svelte b/apps/codingcatdev/src/routes/login/GoogleAuth.svelte deleted file mode 100644 index 35aa5db6f..000000000 --- a/apps/codingcatdev/src/routes/login/GoogleAuth.svelte +++ /dev/null @@ -1,55 +0,0 @@ - - -
{ - try { - await ccdSignInWithPopUp(provider); - } catch (err) { - if (err instanceof FirebaseError) { - if (err.code === 'auth/account-exists-with-different-credential') { - toastStore.trigger({ - message: - 'Account Exists with Different Login Method. Please first login and then link within your Account page.', - background: 'variant-filled-warning' - }); - } else { - toastStore.trigger({ - message: err.message, - background: 'variant-filled-error' - }); - } - } else { - console.error(err); - } - } - - return async ({ update }) => { - // `update` is a function which triggers the logic that would be triggered if this callback wasn't set - update(); - }; - }} -> - -
diff --git a/apps/codingcatdev/src/routes/login/LogoutButton.svelte b/apps/codingcatdev/src/routes/login/LogoutButton.svelte deleted file mode 100644 index 118f90715..000000000 --- a/apps/codingcatdev/src/routes/login/LogoutButton.svelte +++ /dev/null @@ -1,3 +0,0 @@ -
- -
diff --git a/apps/codingcatdev/src/routes/login/TwitterAuth.svelte b/apps/codingcatdev/src/routes/login/TwitterAuth.svelte deleted file mode 100644 index e438a4ac0..000000000 --- a/apps/codingcatdev/src/routes/login/TwitterAuth.svelte +++ /dev/null @@ -1,32 +0,0 @@ - - -
{ - await ccdSignInWithPopUp(provider); - return async ({ result, update }) => { - // `result` is an `ActionResult` object - // `update` is a function which triggers the logic that would be triggered if this callback wasn't set - - update(); - }; - }} -> - -
diff --git a/apps/codingcatdev/src/routes/old-page.svelte b/apps/codingcatdev/src/routes/old-page.svelte deleted file mode 100644 index a4ab6b73d..000000000 --- a/apps/codingcatdev/src/routes/old-page.svelte +++ /dev/null @@ -1,31 +0,0 @@ - - -
- - -
-
-
-
- A "Light Bulb Moment" - - can be incredibly inspiring because it represents a sudden burst of insight and understanding. -
-
- It's a reminder that sometimes all it takes is one brilliant idea to spark a chain - reaction of creativity and innovation. So, never give up on the pursuit of knowledge and - discovery, because you never know when your own "light bulb moment" might strike and - change everything. -
-
- -
-
-
diff --git a/apps/codingcatdev/src/routes/search/+page.server.ts b/apps/codingcatdev/src/routes/search/+page.server.ts deleted file mode 100644 index efa0598f5..000000000 --- a/apps/codingcatdev/src/routes/search/+page.server.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { init, inited, search } from '$lib/search'; - -//export const prerender = false; - -export async function load({ url, fetch }) { - if (!inited) { - const res = await fetch('/api/content.json'); - if (!res.ok) throw new Error("Couldn't fetch content"); - - const blocks = (await res.json()).blocks; - init(blocks); - } - - const query = url.searchParams.get('q') || ''; - - const results = query ? search(query) : []; - - return { - query, - results - }; -} diff --git a/apps/codingcatdev/src/routes/search/+page.svelte b/apps/codingcatdev/src/routes/search/+page.svelte deleted file mode 100644 index 35ae90040..000000000 --- a/apps/codingcatdev/src/routes/search/+page.svelte +++ /dev/null @@ -1,46 +0,0 @@ - - - - Search • SvelteKit - - -
-

Search

-
- -
- - -
- - diff --git a/apps/codingcatdev/src/routes/signup/+page.server.ts b/apps/codingcatdev/src/routes/signup/+page.server.ts deleted file mode 100644 index f043d84af..000000000 --- a/apps/codingcatdev/src/routes/signup/+page.server.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { ccdCreateSessionCookie } from '$lib/server/firebase'; -import type { Actions } from './$types'; -import { fail, redirect } from '@sveltejs/kit'; - -//export const prerender = false; - -export const actions = { - signup: async ({ cookies, url }) => { - const ccdLoginIdToken = cookies.get('__ccdlogin'); - - if (!ccdLoginIdToken) { - return fail(400, { missing: true }); - } - - const sessionCookie = await ccdCreateSessionCookie(ccdLoginIdToken); - if (!sessionCookie) { - return fail(400, { incorrect: true }); - } - cookies.set(sessionCookie.name, sessionCookie.sessionCookie, sessionCookie.options); - cookies.set('__ccdlogin', '', { expires: new Date(Date.now() - 3600) }); - - if (url.searchParams.has('redirectTo')) { - throw redirect(303, url.searchParams.get('redirectTo') || '/'); - } - throw redirect(303, '/'); - } -} satisfies Actions; - -export const load = async ({ parent, url }) => { - const { user } = await parent(); - if (user) throw redirect(303, '/account'); - - return { - redirectTo: url.searchParams.get('redirectTo') || '' - }; -}; diff --git a/apps/codingcatdev/src/routes/signup/+page.svelte b/apps/codingcatdev/src/routes/signup/+page.svelte deleted file mode 100644 index 5cf216fe0..000000000 --- a/apps/codingcatdev/src/routes/signup/+page.svelte +++ /dev/null @@ -1,17 +0,0 @@ - - - -
- -
-
diff --git a/apps/codingcatdev/src/routes/signup/SignupAuth.svelte b/apps/codingcatdev/src/routes/signup/SignupAuth.svelte deleted file mode 100644 index ad2099382..000000000 --- a/apps/codingcatdev/src/routes/signup/SignupAuth.svelte +++ /dev/null @@ -1,62 +0,0 @@ - - -
{ - // `form` is the `` element - // `data` is its `FormData` object - // `action` is the URL to which the form is posted - // `cancel()` will prevent the submission - - const email = `${data.get('email')}`; - const password = `${data.get('password')}`; - - if (!email || !password) { - toastStore.trigger({ - message: 'Please Provide Username and Password.' - }); - cancel(); - } else { - try { - await ccdSignUpWithEmailAndPassword({ email, password }); - } catch (err) { - if (err instanceof Error) { - toastStore.trigger({ - message: err.message, - background: 'variant-filled-error' - }); - } - } - } - - return async ({ result, update }) => { - // `result` is an `ActionResult` object - // `update` is a function which triggers the logic that would be triggered if this callback wasn't set - - update(); - }; - }} -> -
- - - -
-
diff --git a/apps/codingcatdev/src/styles/app.css b/apps/codingcatdev/src/styles/app.css deleted file mode 100644 index 4357bfe22..000000000 --- a/apps/codingcatdev/src/styles/app.css +++ /dev/null @@ -1,65 +0,0 @@ -@font-face { - font-family: 'Nunito'; - src: url('/fonts/Nunito-VariableFont_wght.ttf'); - font-display: swap; -} - -::-webkit-scrollbar { - @apply h-2; -} - -html, -body { - @apply h-full overflow-hidden; -} - -/* Page Styles */ -/* Use these to define common page styles. */ -.page-container { - @apply container mx-auto page-padding space-y-10; -} -.page-container-wide { - @apply w-full max-w-7xl mx-auto space-y-10; -} -.page-container-aside { - @apply w-full max-w-4xl mx-auto space-y-10; -} -.page-padding { - @apply p-4 md:p-10; -} -.page-section { - @apply space-y-4; -} - -/* Label Text Override */ -label:not(.unstyled) span:first-of-type:not(.unstyled):is(:not(.input-chip *)) { - @apply text-surface-700-200-token text-sm; -} - -/* Heading Permalinks */ -.permalink { - @apply w-0 invisible inline-block text-base pl-2 -translate-y-1; -} -h1:hover .permalink, -h2:hover .permalink, -h3:hover .permalink, -h4:hover .permalink, -h5:hover .permalink, -h6:hover .permalink { - @apply visible w-auto; -} - -[data-theme='codingcatdev'] h1, -[data-theme='codingcatdev'] h2, -[data-theme='codingcatdev'] h3, -[data-theme='codingcatdev'] h4, -[data-theme='codingcatdev'] h5, -[data-theme='codingcatdev'] h6, -[data-theme='codingcatdev'] a, -[data-theme='codingcatdev'] button { - font-weight: bold; -} - -.grid-cols-fit { - grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); -} diff --git a/apps/codingcatdev/src/styles/grid-card.css b/apps/codingcatdev/src/styles/grid-card.css deleted file mode 100644 index efabc85cb..000000000 --- a/apps/codingcatdev/src/styles/grid-card.css +++ /dev/null @@ -1,9 +0,0 @@ -@layer components { - .ccd-grid-card { - @apply card grid transition-all rounded-md shadow-lg hover:shadow-2xl hover:scale-105 ease-in-out duration-150; - } - .ccd-grid-card a { - /* Override typograpy */ - @apply !no-underline !text-base-token dark:!text-dark-token; - } -} diff --git a/apps/codingcatdev/src/styles/markdown.css b/apps/codingcatdev/src/styles/markdown.css deleted file mode 100644 index af63f5368..000000000 --- a/apps/codingcatdev/src/styles/markdown.css +++ /dev/null @@ -1,31 +0,0 @@ -@layer components { - .markdown p { - @apply !text-lg md:!text-2xl; - } - /* .markdown p img { - @apply max-h-96; - } */ - .markdown pre code { - @apply whitespace-pre-wrap overflow-x-auto break-all; - @apply text-sm sm:text-lg md:text-xl; - } - - .markdown ul { - @apply list-disc pl-4 ml-4; - @apply !text-lg md:!text-2xl; - } - - .markdown ol { - @apply list-decimal pl-4 ml-4; - @apply !text-lg md:!text-2xl; - } - code:is(:not(pre *)) { - @apply !text-lg md:!text-2xl; - } - .markdown - a:not(.unstyled):not(.permalink):is(:not(.prose *)):not(.btn):not(.btn-icon):not( - .app-bar a - ):not(.logo-item):not(a.card) { - @apply hover:brightness-110 underline; - } -} diff --git a/apps/codingcatdev/src/styles/nav-list.css b/apps/codingcatdev/src/styles/nav-list.css deleted file mode 100644 index bcad4975a..000000000 --- a/apps/codingcatdev/src/styles/nav-list.css +++ /dev/null @@ -1,48 +0,0 @@ -@layer components { - /* === Lists (Parents) === */ - - .nav-list, - .nav-list-dl, - .nav-list-nav ul { - /* List Style */ - @apply list-none; - /* Spacing */ - @apply space-y-1; - } - - /* === List Items (Children) === */ - - .nav-list li { - @apply flex items-center space-x-4; - /* Padding */ - @apply p-2; - /* Theme: Rounded */ - @apply rounded-token; - } - - .nav-list-dl div { - @apply flex items-center space-x-4; - /* Padding */ - @apply p-2; - /* Theme: Rounded */ - @apply rounded-token; - } - - .nav-list-nav a, - .nav-list-nav button, - .nav-list-option { - @apply flex items-center space-x-4; - /* Padding */ - @apply px-4 py-2; - /* Hover */ - @apply bg-primary-hover-token; - /* Focus */ - @apply outline-none focus:ring-outline-token; - /* Cursor */ - @apply cursor-pointer; - /* Theme: Rounded */ - @apply rounded-token; - /* Override typograpy */ - @apply !no-underline; - } -} diff --git a/apps/codingcatdev/src/styles/tailwind.css b/apps/codingcatdev/src/styles/tailwind.css deleted file mode 100644 index 510ff1d53..000000000 --- a/apps/codingcatdev/src/styles/tailwind.css +++ /dev/null @@ -1,4 +0,0 @@ -@tailwind base; -@tailwind components; -@tailwind utilities; -@tailwind variants; diff --git a/apps/codingcatdev/src/styles/typography.css b/apps/codingcatdev/src/styles/typography.css deleted file mode 100644 index ca8db24cf..000000000 --- a/apps/codingcatdev/src/styles/typography.css +++ /dev/null @@ -1,95 +0,0 @@ -/* Stylesheet: typography.css */ - -@layer base { - body { - @apply font-token text-token; - } - - /* === Headings === */ - - h1:not(.unstyled):is(:not(.prose *)) { - @apply font-heading-token text-3xl md:text-5xl; - } - h2:not(.unstyled):is(:not(.prose *)) { - @apply font-heading-token text-2xl md:text-4xl; - } - h3:not(.unstyled):is(:not(.prose *)) { - @apply font-heading-token text-xl md:text-2xl; - } - h4:not(.unstyled):is(:not(.prose *)) { - @apply font-heading-token text-lg md:text-xl; - } - h5:not(.unstyled):is(:not(.prose *)) { - @apply font-heading-token text-base md:text-lg; - } - h6:not(.unstyled):is(:not(.prose *)) { - @apply font-heading-token text-sm md:text-base; - } - - /* === Elements === */ - - p:not(.unstyled):is(:not(.prose *)) { - /* NOTE: do not hardcode a text color style here. It makes color overrides difficult. */ - @apply text-base; - } - - blockquote:not(.unstyled):is(:not(.prose *)) { - @apply text-token text-base italic border-l-8 border-l-surface-500 px-4 pl-4; - } - - /* Keyboard */ - kbd:not(.unstyled):is(:not(.prose *)) { - @apply font-sans font-bold text-sm; - @apply bg-surface-300-600-token px-1.5 py-[3px] rounded; - @apply ring-[1px] ring-surface-900 ring-inset; - @apply border-b-2 border-surface-900; - } - - /* === Code Blocks === */ - /* For use outside of BlackCatUI's CodeBlock component */ - - pre:not(.unstyled):not(.code-block pre):is(:not(.prose *)) { - @apply font-mono text-base bg-neutral-900/90 text-white p-4 whitespace-pre-wrap overflow-x-auto rounded-container-token; - } - - code:not(.unstyled):is(:not(.prose *)):is(:not(pre *)) { - @apply font-mono text-xs text-primary-700 dark:text-primary-400 whitespace-nowrap; - @apply bg-primary-500/30 dark:bg-primary-500/20; - @apply py-0.5 px-1 rounded; - } - - /* === Insertions / Deletions ==== */ - /* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ins */ - /* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/del */ - - ins:not(.unstyled):is(:not(.prose *)), - del:not(.unstyled):is(:not(.prose *)) { - @apply block relative p-0.5 pl-5; - text-decoration: none; - } - - ins:not(.unstyled):is(:not(.prose *))::before, - del:not(.unstyled):is(:not(.prose *))::before { - @apply absolute left-1 font-mono; - } - ins:not(.unstyled):is(:not(.prose *))::before { - content: '+'; - } - del:not(.unstyled):is(:not(.prose *))::before { - content: '−'; - } - - ins:not(.unstyled):is(:not(.prose *)) { - @apply font-mono bg-success-500 text-on-success-token; - } - del:not(.unstyled):is(:not(.prose *)) { - @apply font-mono bg-error-500 text-on-error-token; - } - - /* === Date/Time === */ - /* Useful for displaying timestamps */ - - time:not(.unstyled):is(:not(.prose *)) { - @apply text-sm text-surface-500 dark:text-surface-400; - } -} diff --git a/apps/codingcatdev/static/browserconfig.xml b/apps/codingcatdev/static/browserconfig.xml deleted file mode 100644 index c55414822..000000000 --- a/apps/codingcatdev/static/browserconfig.xml +++ /dev/null @@ -1,2 +0,0 @@ - -#ffffff \ No newline at end of file diff --git a/apps/codingcatdev/static/favicon.ico b/apps/codingcatdev/static/favicon.ico deleted file mode 100644 index 54431e4ad..000000000 Binary files a/apps/codingcatdev/static/favicon.ico and /dev/null differ diff --git a/apps/codingcatdev/static/fonts/Nunito-VariableFont_wght.ttf b/apps/codingcatdev/static/fonts/Nunito-VariableFont_wght.ttf deleted file mode 100644 index 0a00f63fe..000000000 Binary files a/apps/codingcatdev/static/fonts/Nunito-VariableFont_wght.ttf and /dev/null differ diff --git a/apps/codingcatdev/static/fonts/Quicksand-VariableFont_wght.ttf b/apps/codingcatdev/static/fonts/Quicksand-VariableFont_wght.ttf deleted file mode 100644 index 0ec221996..000000000 Binary files a/apps/codingcatdev/static/fonts/Quicksand-VariableFont_wght.ttf and /dev/null differ diff --git a/apps/codingcatdev/static/icon-192x192.png b/apps/codingcatdev/static/icon-192x192.png deleted file mode 100644 index cc7ec9076..000000000 Binary files a/apps/codingcatdev/static/icon-192x192.png and /dev/null differ diff --git a/apps/codingcatdev/static/icon-256x256.png b/apps/codingcatdev/static/icon-256x256.png deleted file mode 100644 index 80091a4a8..000000000 Binary files a/apps/codingcatdev/static/icon-256x256.png and /dev/null differ diff --git a/apps/codingcatdev/static/icon-384x384.png b/apps/codingcatdev/static/icon-384x384.png deleted file mode 100644 index abc6592d9..000000000 Binary files a/apps/codingcatdev/static/icon-384x384.png and /dev/null differ diff --git a/apps/codingcatdev/static/icon-512x512.png b/apps/codingcatdev/static/icon-512x512.png deleted file mode 100644 index 4713bf8dc..000000000 Binary files a/apps/codingcatdev/static/icon-512x512.png and /dev/null differ diff --git a/apps/codingcatdev/static/icons/android-icon-144x144.png b/apps/codingcatdev/static/icons/android-icon-144x144.png deleted file mode 100644 index f9481b591..000000000 Binary files a/apps/codingcatdev/static/icons/android-icon-144x144.png and /dev/null differ diff --git a/apps/codingcatdev/static/icons/android-icon-192x192.png b/apps/codingcatdev/static/icons/android-icon-192x192.png deleted file mode 100644 index 24546e16a..000000000 Binary files a/apps/codingcatdev/static/icons/android-icon-192x192.png and /dev/null differ diff --git a/apps/codingcatdev/static/icons/android-icon-36x36.png b/apps/codingcatdev/static/icons/android-icon-36x36.png deleted file mode 100644 index 724be323f..000000000 Binary files a/apps/codingcatdev/static/icons/android-icon-36x36.png and /dev/null differ diff --git a/apps/codingcatdev/static/icons/android-icon-48x48.png b/apps/codingcatdev/static/icons/android-icon-48x48.png deleted file mode 100644 index b87867332..000000000 Binary files a/apps/codingcatdev/static/icons/android-icon-48x48.png and /dev/null differ diff --git a/apps/codingcatdev/static/icons/android-icon-72x72.png b/apps/codingcatdev/static/icons/android-icon-72x72.png deleted file mode 100644 index 32d15230f..000000000 Binary files a/apps/codingcatdev/static/icons/android-icon-72x72.png and /dev/null differ diff --git a/apps/codingcatdev/static/icons/android-icon-96x96.png b/apps/codingcatdev/static/icons/android-icon-96x96.png deleted file mode 100644 index a759f306d..000000000 Binary files a/apps/codingcatdev/static/icons/android-icon-96x96.png and /dev/null differ diff --git a/apps/codingcatdev/static/icons/apple-icon-114x114.png b/apps/codingcatdev/static/icons/apple-icon-114x114.png deleted file mode 100644 index 25d70c4b5..000000000 Binary files a/apps/codingcatdev/static/icons/apple-icon-114x114.png and /dev/null differ diff --git a/apps/codingcatdev/static/icons/apple-icon-120x120.png b/apps/codingcatdev/static/icons/apple-icon-120x120.png deleted file mode 100644 index 2f2473ab6..000000000 Binary files a/apps/codingcatdev/static/icons/apple-icon-120x120.png and /dev/null differ diff --git a/apps/codingcatdev/static/icons/apple-icon-144x144.png b/apps/codingcatdev/static/icons/apple-icon-144x144.png deleted file mode 100644 index f9481b591..000000000 Binary files a/apps/codingcatdev/static/icons/apple-icon-144x144.png and /dev/null differ diff --git a/apps/codingcatdev/static/icons/apple-icon-152x152.png b/apps/codingcatdev/static/icons/apple-icon-152x152.png deleted file mode 100644 index 326eac547..000000000 Binary files a/apps/codingcatdev/static/icons/apple-icon-152x152.png and /dev/null differ diff --git a/apps/codingcatdev/static/icons/apple-icon-180x180.png b/apps/codingcatdev/static/icons/apple-icon-180x180.png deleted file mode 100644 index 486e583f4..000000000 Binary files a/apps/codingcatdev/static/icons/apple-icon-180x180.png and /dev/null differ diff --git a/apps/codingcatdev/static/icons/apple-icon-57x57.png b/apps/codingcatdev/static/icons/apple-icon-57x57.png deleted file mode 100644 index b4a07ceac..000000000 Binary files a/apps/codingcatdev/static/icons/apple-icon-57x57.png and /dev/null differ diff --git a/apps/codingcatdev/static/icons/apple-icon-60x60.png b/apps/codingcatdev/static/icons/apple-icon-60x60.png deleted file mode 100644 index 6baddc549..000000000 Binary files a/apps/codingcatdev/static/icons/apple-icon-60x60.png and /dev/null differ diff --git a/apps/codingcatdev/static/icons/apple-icon-72x72.png b/apps/codingcatdev/static/icons/apple-icon-72x72.png deleted file mode 100644 index 32d15230f..000000000 Binary files a/apps/codingcatdev/static/icons/apple-icon-72x72.png and /dev/null differ diff --git a/apps/codingcatdev/static/icons/apple-icon-76x76.png b/apps/codingcatdev/static/icons/apple-icon-76x76.png deleted file mode 100644 index 60c79fa9f..000000000 Binary files a/apps/codingcatdev/static/icons/apple-icon-76x76.png and /dev/null differ diff --git a/apps/codingcatdev/static/icons/apple-icon-precomposed.png b/apps/codingcatdev/static/icons/apple-icon-precomposed.png deleted file mode 100644 index a86610fd4..000000000 Binary files a/apps/codingcatdev/static/icons/apple-icon-precomposed.png and /dev/null differ diff --git a/apps/codingcatdev/static/icons/apple-icon.png b/apps/codingcatdev/static/icons/apple-icon.png deleted file mode 100644 index a86610fd4..000000000 Binary files a/apps/codingcatdev/static/icons/apple-icon.png and /dev/null differ diff --git a/apps/codingcatdev/static/icons/favicon-16x16.png b/apps/codingcatdev/static/icons/favicon-16x16.png deleted file mode 100644 index df83614b7..000000000 Binary files a/apps/codingcatdev/static/icons/favicon-16x16.png and /dev/null differ diff --git a/apps/codingcatdev/static/icons/favicon-32x32.png b/apps/codingcatdev/static/icons/favicon-32x32.png deleted file mode 100644 index 6bfcdcf62..000000000 Binary files a/apps/codingcatdev/static/icons/favicon-32x32.png and /dev/null differ diff --git a/apps/codingcatdev/static/icons/favicon-96x96.png b/apps/codingcatdev/static/icons/favicon-96x96.png deleted file mode 100644 index 5f07a4aa1..000000000 Binary files a/apps/codingcatdev/static/icons/favicon-96x96.png and /dev/null differ diff --git a/apps/codingcatdev/static/icons/maskable_icon.png b/apps/codingcatdev/static/icons/maskable_icon.png deleted file mode 100644 index 6b637d907..000000000 Binary files a/apps/codingcatdev/static/icons/maskable_icon.png and /dev/null differ diff --git a/apps/codingcatdev/static/icons/ms-icon-144x144.png b/apps/codingcatdev/static/icons/ms-icon-144x144.png deleted file mode 100644 index f9481b591..000000000 Binary files a/apps/codingcatdev/static/icons/ms-icon-144x144.png and /dev/null differ diff --git a/apps/codingcatdev/static/icons/ms-icon-150x150.png b/apps/codingcatdev/static/icons/ms-icon-150x150.png deleted file mode 100644 index f3c214f6c..000000000 Binary files a/apps/codingcatdev/static/icons/ms-icon-150x150.png and /dev/null differ diff --git a/apps/codingcatdev/static/icons/ms-icon-310x310.png b/apps/codingcatdev/static/icons/ms-icon-310x310.png deleted file mode 100644 index 79304ab17..000000000 Binary files a/apps/codingcatdev/static/icons/ms-icon-310x310.png and /dev/null differ diff --git a/apps/codingcatdev/static/icons/ms-icon-70x70.png b/apps/codingcatdev/static/icons/ms-icon-70x70.png deleted file mode 100644 index 3cdd12d82..000000000 Binary files a/apps/codingcatdev/static/icons/ms-icon-70x70.png and /dev/null differ diff --git a/apps/codingcatdev/static/images/avatar.png b/apps/codingcatdev/static/images/avatar.png deleted file mode 100644 index 8fb565ece..000000000 Binary files a/apps/codingcatdev/static/images/avatar.png and /dev/null differ diff --git a/apps/codingcatdev/static/images/chromebook.png b/apps/codingcatdev/static/images/chromebook.png deleted file mode 100644 index c721742e8..000000000 Binary files a/apps/codingcatdev/static/images/chromebook.png and /dev/null differ diff --git a/apps/codingcatdev/static/images/homeBannerArrow.svg b/apps/codingcatdev/static/images/homeBannerArrow.svg deleted file mode 100644 index f6d04a53c..000000000 --- a/apps/codingcatdev/static/images/homeBannerArrow.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/apps/codingcatdev/static/images/menu.svg b/apps/codingcatdev/static/images/menu.svg deleted file mode 100644 index 23066241a..000000000 --- a/apps/codingcatdev/static/images/menu.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - \ No newline at end of file diff --git a/apps/codingcatdev/static/images/podcatchers/applepodcasts-badge.svg b/apps/codingcatdev/static/images/podcatchers/applepodcasts-badge.svg deleted file mode 100644 index 5c452cf3b..000000000 --- a/apps/codingcatdev/static/images/podcatchers/applepodcasts-badge.svg +++ /dev/null @@ -1,53 +0,0 @@ - - - badges/applepodcasts-badge - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/apps/codingcatdev/static/images/podcatchers/breaker-badge.svg b/apps/codingcatdev/static/images/podcatchers/breaker-badge.svg deleted file mode 100644 index 2a98e31ce..000000000 --- a/apps/codingcatdev/static/images/podcatchers/breaker-badge.svg +++ /dev/null @@ -1,35 +0,0 @@ - - - badges/breaker-badge - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/apps/codingcatdev/static/images/podcatchers/castbox-badge.svg b/apps/codingcatdev/static/images/podcatchers/castbox-badge.svg deleted file mode 100644 index d3f72790b..000000000 --- a/apps/codingcatdev/static/images/podcatchers/castbox-badge.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - badges/castbox-badge - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/apps/codingcatdev/static/images/podcatchers/googlepodcasts-badge.svg b/apps/codingcatdev/static/images/podcatchers/googlepodcasts-badge.svg deleted file mode 100644 index b962c5753..000000000 --- a/apps/codingcatdev/static/images/podcatchers/googlepodcasts-badge.svg +++ /dev/null @@ -1,56 +0,0 @@ - - - badges/googlepodcasts-badge - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/apps/codingcatdev/static/images/podcatchers/overcast-badge.svg b/apps/codingcatdev/static/images/podcatchers/overcast-badge.svg deleted file mode 100644 index bf01de36a..000000000 --- a/apps/codingcatdev/static/images/podcatchers/overcast-badge.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - badges/overcast-badge - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/apps/codingcatdev/static/images/podcatchers/pocketcasts-badge.svg b/apps/codingcatdev/static/images/podcatchers/pocketcasts-badge.svg deleted file mode 100644 index c1766f90b..000000000 --- a/apps/codingcatdev/static/images/podcatchers/pocketcasts-badge.svg +++ /dev/null @@ -1,55 +0,0 @@ - - - badges/pocketcasts-badge - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/apps/codingcatdev/static/images/podcatchers/radiopublic-badge.svg b/apps/codingcatdev/static/images/podcatchers/radiopublic-badge.svg deleted file mode 100644 index 4b9c01302..000000000 --- a/apps/codingcatdev/static/images/podcatchers/radiopublic-badge.svg +++ /dev/null @@ -1,33 +0,0 @@ - - - badges/radiopublic-badge - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/apps/codingcatdev/static/images/podcatchers/spotify-badge.svg b/apps/codingcatdev/static/images/podcatchers/spotify-badge.svg deleted file mode 100644 index 601eba20c..000000000 --- a/apps/codingcatdev/static/images/podcatchers/spotify-badge.svg +++ /dev/null @@ -1,27 +0,0 @@ - - - badges/spotify-badge - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/apps/codingcatdev/static/images/podcatchers/stitcher-badge.svg b/apps/codingcatdev/static/images/podcatchers/stitcher-badge.svg deleted file mode 100644 index 30b453fe2..000000000 --- a/apps/codingcatdev/static/images/podcatchers/stitcher-badge.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - badges/stitcher-badge - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/apps/codingcatdev/static/images/podcatchers/youtube-badge.svg b/apps/codingcatdev/static/images/podcatchers/youtube-badge.svg deleted file mode 100644 index 847fd3e68..000000000 --- a/apps/codingcatdev/static/images/podcatchers/youtube-badge.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/apps/codingcatdev/static/manifest.json b/apps/codingcatdev/static/manifest.json deleted file mode 100644 index d59ba7b2e..000000000 --- a/apps/codingcatdev/static/manifest.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "theme_color": "#5e1286", - "background_color": "#5e1286", - "display": "standalone", - "scope": "/", - "start_url": "/", - "name": "CodingCatDev", - "short_name": "CodingCatDev", - "description": "Purrfect Web Tutorials", - "icons": [ - { - "src": "/icon-192x192.png", - "sizes": "192x192", - "type": "image/png" - }, - { - "src": "/icon-256x256.png", - "sizes": "256x256", - "type": "image/png" - }, - { - "src": "/icon-384x384.png", - "sizes": "384x384", - "type": "image/png" - }, - { - "src": "/icon-512x512.png", - "sizes": "512x512", - "type": "image/png" - } - ] -} \ No newline at end of file diff --git a/apps/codingcatdev/static/sounds/menu-open.mp3 b/apps/codingcatdev/static/sounds/menu-open.mp3 deleted file mode 100644 index 25838a6c5..000000000 Binary files a/apps/codingcatdev/static/sounds/menu-open.mp3 and /dev/null differ diff --git a/apps/codingcatdev/static/sounds/switch-off.mp3 b/apps/codingcatdev/static/sounds/switch-off.mp3 deleted file mode 100644 index 1396c96c8..000000000 Binary files a/apps/codingcatdev/static/sounds/switch-off.mp3 and /dev/null differ diff --git a/apps/codingcatdev/static/sounds/switch-on.mp3 b/apps/codingcatdev/static/sounds/switch-on.mp3 deleted file mode 100644 index 7cea4ecd8..000000000 Binary files a/apps/codingcatdev/static/sounds/switch-on.mp3 and /dev/null differ diff --git a/apps/codingcatdev/svelte.config.js b/apps/codingcatdev/svelte.config.js deleted file mode 100644 index 6aa196240..000000000 --- a/apps/codingcatdev/svelte.config.js +++ /dev/null @@ -1,38 +0,0 @@ -import preprocess from 'svelte-preprocess'; -import adapter from '@sveltejs/adapter-auto'; -import { mdsvex } from 'mdsvex'; -import rehypeSlug from 'rehype-slug'; - -// TODO: remove .svx and .md from production builds - -/** @type {import('@sveltejs/kit').Config} */ -console.log(`Using ${process.env.NODE_ENV} config`); -const config = { - kit: { - adapter: adapter(), - prerender: { - handleMissingId: 'warn', - handleHttpError: ({ path, referrer, message }) => { - // if nothing refers to it we don't care - // most likely this is a draft in production - // TODO: can we make this better? - if (referrer === null) { - console.debug('SKIPPING 404 ISSUE', path); - return; - } - - // otherwise fail the build - throw new Error(message); - } - } - }, - extensions: ['.svelte', '.svx', '.md'], - preprocess: [ - mdsvex({ extensions: ['.svx', '.md'], rehypePlugins: [rehypeSlug] }), - preprocess({ - postcss: true - }) - ] -}; - -export default config; diff --git a/apps/codingcatdev/tailwind.config.ts b/apps/codingcatdev/tailwind.config.ts deleted file mode 100644 index d64566c00..000000000 --- a/apps/codingcatdev/tailwind.config.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { join } from 'path'; -import type { Config } from 'tailwindcss'; -import forms from '@tailwindcss/forms'; -import typography from '@tailwindcss/typography'; -import { skeleton } from '@skeletonlabs/tw-plugin'; -import { codingCatDevTheme } from './theme'; - -const config = { - darkMode: 'class', - content: [ - './src/**/*.{html,js,svelte,ts,md}', - join(require.resolve('@skeletonlabs/skeleton'), '../**/*.{html,js,svelte,ts,md}') - ], - theme: { - extend: {} - }, - plugins: [ - forms, - typography, - skeleton({ - themes: { - custom: [codingCatDevTheme] - } - }) - ] -} satisfies Config; - -export default config; diff --git a/apps/codingcatdev/tests/test.ts b/apps/codingcatdev/tests/test.ts deleted file mode 100644 index 4e579377e..000000000 --- a/apps/codingcatdev/tests/test.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { expect, test } from '@playwright/test'; - -test('index page has expected h1', async ({ page }) => { - await page.goto('/'); - expect(await page.textContent('h1')).toBe('Welcome to SvelteKit'); -}); diff --git a/apps/codingcatdev/theme.ts b/apps/codingcatdev/theme.ts deleted file mode 100644 index 312af0a4c..000000000 --- a/apps/codingcatdev/theme.ts +++ /dev/null @@ -1,94 +0,0 @@ -import type { CustomThemeConfig } from '@skeletonlabs/tw-plugin'; - -export const codingCatDevTheme: CustomThemeConfig = { - name: 'codingcatdev', - properties: { - '--theme-font-family-base': "'Nunito', sans-serif", - '--theme-font-family-heading': "'Nunito', sans-serif", - '--theme-font-color-base': 'var(--color-surface-900)', - '--theme-font-color-dark': 'var(--color-tertiary-50)', - '--theme-rounded-base': '12px', - '--theme-rounded-container': '8px', - '--theme-border-base': '3px', - '--on-primary': '255 255 255', - '--on-secondary': '0 0 0', - '--on-tertiary': '0 0 0', - '--on-success': '0 0 0', - '--on-warning': '0 0 0', - '--on-error': '255 255 255', - '--on-surface': '255 255 255', - '--color-primary-50': '252 228 240', - '--color-primary-100': '251 218 235', - '--color-primary-200': '250 209 230', - '--color-primary-300': '247 182 214', - '--color-primary-400': '242 127 184', - '--color-primary-500': '236 72 153', - '--color-primary-600': '212 65 138', - '--color-primary-700': '177 54 115', - '--color-primary-800': '142 43 92', - '--color-primary-900': '116 35 75', - '--color-secondary-50': '218 244 249', - '--color-secondary-100': '205 240 246', - '--color-secondary-200': '193 237 244', - '--color-secondary-300': '155 226 238', - '--color-secondary-400': '81 204 225', - '--color-secondary-500': '6 182 212', - '--color-secondary-600': '5 164 191', - '--color-secondary-700': '5 137 159', - '--color-secondary-800': '4 109 127', - '--color-secondary-900': '3 89 104', - '--color-tertiary-50': '220 244 242', - '--color-tertiary-100': '208 241 237', - '--color-tertiary-200': '196 237 233', - '--color-tertiary-300': '161 227 219', - '--color-tertiary-400': '91 205 193', - '--color-tertiary-500': '20 184 166', - '--color-tertiary-600': '18 166 149', - '--color-tertiary-700': '15 138 125', - '--color-tertiary-800': '12 110 100', - '--color-tertiary-900': '10 90 81', - '--color-success-50': '237 247 220', - '--color-success-100': '230 245 208', - '--color-success-200': '224 242 197', - '--color-success-300': '206 235 162', - '--color-success-400': '169 219 92', - '--color-success-500': '132 204 22', - '--color-success-600': '119 184 20', - '--color-success-700': '99 153 17', - '--color-success-800': '79 122 13', - '--color-success-900': '65 100 11', - '--color-warning-50': '252 244 218', - '--color-warning-100': '251 240 206', - '--color-warning-200': '250 236 193', - '--color-warning-300': '247 225 156', - '--color-warning-400': '240 202 82', - '--color-warning-500': '234 179 8', - '--color-warning-600': '211 161 7', - '--color-warning-700': '176 134 6', - '--color-warning-800': '140 107 5', - '--color-warning-900': '115 88 4', - '--color-error-50': '253 227 227', - '--color-error-100': '252 218 218', - '--color-error-200': '251 208 208', - '--color-error-300': '249 180 180', - '--color-error-400': '244 124 124', - '--color-error-500': '239 68 68', - '--color-error-600': '215 61 61', - '--color-error-700': '179 51 51', - '--color-error-800': '143 41 41', - '--color-error-900': '117 33 33', - '--color-surface-50': '229 224 242', - '--color-surface-100': '220 213 238', - '--color-surface-200': '212 203 233', - '--color-surface-300': '185 171 220', - '--color-surface-400': '133 108 194', - '--color-surface-500': '81 45 168', - '--color-surface-600': '73 41 151', - '--color-surface-700': '61 34 126', - '--color-surface-800': '49 27 101', - '--color-surface-900': '40 22 82' - } - // properties_dark: { - // Optionally provide dark mode overrides for your CSS custom properties here - // } -}; diff --git a/apps/codingcatdev/tsconfig.json b/apps/codingcatdev/tsconfig.json deleted file mode 100644 index ed89d68a8..000000000 --- a/apps/codingcatdev/tsconfig.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "extends": "./.svelte-kit/tsconfig.json", - "compilerOptions": { - "allowJs": true, - "checkJs": true, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "resolveJsonModule": true, - "skipLibCheck": true, - "sourceMap": true, - "strict": true, - "ignoreDeprecations": "5.0" - } - // Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias - // - // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes - // from the referenced tsconfig.json - TypeScript does not merge them in -} diff --git a/apps/codingcatdev/vite.config.js b/apps/codingcatdev/vite.config.js deleted file mode 100644 index 72b17730d..000000000 --- a/apps/codingcatdev/vite.config.js +++ /dev/null @@ -1,22 +0,0 @@ -import { sentrySvelteKit } from "@sentry/sveltekit"; -import { sveltekit } from '@sveltejs/kit/vite'; - -/** @type {import('vite').UserConfig} */ -const config = { - plugins: [sentrySvelteKit({ - sourceMapsUploadOptions: { - org: "codingcatdev", - project: "codingcatdev-main" - } - }), sveltekit()], - - test: { - include: ['src/**/*.{test,spec}.{js,ts}'] - }, - - ssr: { - noExternal: ['gsap', '@gsap/shockingly', '@cloudinary/html'] - } -}; - -export default config; \ No newline at end of file diff --git a/apps/dojo/.eslintignore b/apps/dojo/.eslintignore deleted file mode 100644 index 38972655f..000000000 --- a/apps/dojo/.eslintignore +++ /dev/null @@ -1,13 +0,0 @@ -.DS_Store -node_modules -/build -/.svelte-kit -/package -.env -.env.* -!.env.example - -# Ignore files for PNPM, NPM and YARN -pnpm-lock.yaml -package-lock.json -yarn.lock diff --git a/apps/dojo/.eslintrc.cjs b/apps/dojo/.eslintrc.cjs deleted file mode 100644 index ebc19589f..000000000 --- a/apps/dojo/.eslintrc.cjs +++ /dev/null @@ -1,30 +0,0 @@ -module.exports = { - root: true, - extends: [ - 'eslint:recommended', - 'plugin:@typescript-eslint/recommended', - 'plugin:svelte/recommended', - 'prettier' - ], - parser: '@typescript-eslint/parser', - plugins: ['@typescript-eslint'], - parserOptions: { - sourceType: 'module', - ecmaVersion: 2020, - extraFileExtensions: ['.svelte'] - }, - env: { - browser: true, - es2017: true, - node: true - }, - overrides: [ - { - files: ['*.svelte'], - parser: 'svelte-eslint-parser', - parserOptions: { - parser: '@typescript-eslint/parser' - } - } - ] -}; diff --git a/apps/dojo/.gitignore b/apps/dojo/.gitignore deleted file mode 100644 index 6635cf554..000000000 --- a/apps/dojo/.gitignore +++ /dev/null @@ -1,10 +0,0 @@ -.DS_Store -node_modules -/build -/.svelte-kit -/package -.env -.env.* -!.env.example -vite.config.js.timestamp-* -vite.config.ts.timestamp-* diff --git a/apps/dojo/.npmrc b/apps/dojo/.npmrc deleted file mode 100644 index b6f27f135..000000000 --- a/apps/dojo/.npmrc +++ /dev/null @@ -1 +0,0 @@ -engine-strict=true diff --git a/apps/dojo/.prettierignore b/apps/dojo/.prettierignore deleted file mode 100644 index 38972655f..000000000 --- a/apps/dojo/.prettierignore +++ /dev/null @@ -1,13 +0,0 @@ -.DS_Store -node_modules -/build -/.svelte-kit -/package -.env -.env.* -!.env.example - -# Ignore files for PNPM, NPM and YARN -pnpm-lock.yaml -package-lock.json -yarn.lock diff --git a/apps/dojo/.prettierrc b/apps/dojo/.prettierrc deleted file mode 100644 index 1866e0465..000000000 --- a/apps/dojo/.prettierrc +++ /dev/null @@ -1,10 +0,0 @@ -{ - "useTabs": true, - "singleQuote": true, - "trailingComma": "all", - "semi": true, - "printWidth": 100, - "plugins": ["prettier-plugin-svelte"], - "pluginSearchDirs": ["."], - "overrides": [{ "files": "*.svelte", "options": { "parser": "svelte" } }] -} diff --git a/apps/dojo/.vscode/settings.json b/apps/dojo/.vscode/settings.json deleted file mode 100644 index c35c0ee0c..000000000 --- a/apps/dojo/.vscode/settings.json +++ /dev/null @@ -1,117 +0,0 @@ -{ - "prettier.documentSelectors": [ - "**/*.svelte" - ], - "tailwindCSS.classAttributes": [ - "class", - "accent", - "active", - "aspectRatio", - "background", - "badge", - "bgBackdrop", - "bgDark", - "bgDrawer", - "bgLight", - "blur", - "border", - "button", - "buttonAction", - "buttonBack", - "buttonClasses", - "buttonComplete", - "buttonDismiss", - "buttonNeutral", - "buttonNext", - "buttonPositive", - "buttonTextCancel", - "buttonTextConfirm", - "buttonTextFirst", - "buttonTextLast", - "buttonTextNext", - "buttonTextPrevious", - "buttonTextSubmit", - "caretClosed", - "caretOpen", - "chips", - "color", - "controlSeparator", - "controlVariant", - "cursor", - "display", - "element", - "fill", - "fillDark", - "fillLight", - "flex", - "gap", - "gridColumns", - "height", - "hover", - "inactive", - "indent", - "justify", - "meter", - "padding", - "position", - "regionAnchor", - "regionBackdrop", - "regionBody", - "regionCaption", - "regionCaret", - "regionCell", - "regionChildren", - "regionChipList", - "regionChipWrapper", - "regionCone", - "regionContent", - "regionControl", - "regionDefault", - "regionDrawer", - "regionFoot", - "regionFootCell", - "regionFooter", - "regionHead", - "regionHeadCell", - "regionHeader", - "regionIcon", - "regionInput", - "regionInterface", - "regionInterfaceText", - "regionLabel", - "regionLead", - "regionLegend", - "regionList", - "regionListItem", - "regionNavigation", - "regionPage", - "regionPanel", - "regionRowHeadline", - "regionRowMain", - "regionSummary", - "regionSymbol", - "regionTab", - "regionTrail", - "ring", - "rounded", - "select", - "shadow", - "slotDefault", - "slotFooter", - "slotHeader", - "slotLead", - "slotMessage", - "slotMeta", - "slotPageContent", - "slotPageFooter", - "slotPageHeader", - "slotSidebarLeft", - "slotSidebarRight", - "slotTrail", - "spacing", - "text", - "track", - "width", - "zIndex" - ] -} \ No newline at end of file diff --git a/apps/dojo/README.md b/apps/dojo/README.md deleted file mode 100644 index 5c91169b0..000000000 --- a/apps/dojo/README.md +++ /dev/null @@ -1,38 +0,0 @@ -# create-svelte - -Everything you need to build a Svelte project, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/master/packages/create-svelte). - -## Creating a project - -If you're seeing this, you've probably already done this step. Congrats! - -```bash -# create a new project in the current directory -npm create svelte@latest - -# create a new project in my-app -npm create svelte@latest my-app -``` - -## Developing - -Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server: - -```bash -npm run dev - -# or start the server and open the app in a new browser tab -npm run dev -- --open -``` - -## Building - -To create a production version of your app: - -```bash -npm run build -``` - -You can preview the production build with `npm run preview`. - -> To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment. diff --git a/apps/dojo/package.json b/apps/dojo/package.json deleted file mode 100644 index c61abcdd2..000000000 --- a/apps/dojo/package.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "name": "dojo", - "version": "0.0.1", - "private": true, - "scripts": { - "dev": "vite dev", - "build": "vite build", - "preview": "vite preview", - "test": "npm run test:integration && npm run test:unit", - "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", - "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", - "lint": "prettier --plugin-search-dir . --check . && eslint .", - "format": "prettier --plugin-search-dir . --write .", - "test:integration": "playwright test", - "test:unit": "vitest" - }, - "devDependencies": { - "@playwright/test": "^1.28.1", - "@skeletonlabs/skeleton": "2.3.0", - "@skeletonlabs/tw-plugin": "0.2.2", - "@sveltejs/adapter-auto": "^2.0.0", - "@sveltejs/kit": "^1.20.4", - "@tailwindcss/forms": "0.5.6", - "@tailwindcss/typography": "0.5.10", - "@types/node": "20.8.5", - "@typescript-eslint/eslint-plugin": "^6.0.0", - "@typescript-eslint/parser": "^6.0.0", - "autoprefixer": "10.4.16", - "eslint": "^8.28.0", - "eslint-config-prettier": "^8.5.0", - "eslint-plugin-svelte": "^2.30.0", - "postcss": "8.4.31", - "prettier": "^2.8.0", - "prettier-plugin-svelte": "^2.10.1", - "svelte": "^4.0.5", - "svelte-check": "^3.4.3", - "tailwindcss": "3.3.3", - "tslib": "^2.4.1", - "typescript": "^5.0.0", - "vite": "^4.4.2", - "vite-plugin-tailwind-purgecss": "0.1.3", - "vitest": "^0.32.2" - }, - "type": "module", - "dependencies": { - "@floating-ui/dom": "1.5.3", - "pixi.js": "8.0.0-beta.5" - } -} \ No newline at end of file diff --git a/apps/dojo/playwright.config.ts b/apps/dojo/playwright.config.ts deleted file mode 100644 index 1c5d7a1fd..000000000 --- a/apps/dojo/playwright.config.ts +++ /dev/null @@ -1,12 +0,0 @@ -import type { PlaywrightTestConfig } from '@playwright/test'; - -const config: PlaywrightTestConfig = { - webServer: { - command: 'npm run build && npm run preview', - port: 4173 - }, - testDir: 'tests', - testMatch: /(.+\.)?(test|spec)\.[jt]s/ -}; - -export default config; diff --git a/apps/dojo/postcss.config.cjs b/apps/dojo/postcss.config.cjs deleted file mode 100644 index 16dce0bc5..000000000 --- a/apps/dojo/postcss.config.cjs +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - plugins: { - tailwindcss: {}, - autoprefixer: {}, - }, -} \ No newline at end of file diff --git a/apps/dojo/src/app.d.ts b/apps/dojo/src/app.d.ts deleted file mode 100644 index 8f4d63895..000000000 --- a/apps/dojo/src/app.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -// See https://kit.svelte.dev/docs/types#app -// for information about these interfaces -// and what to do when importing types -declare namespace App { - // interface Locals {} - // interface PageData {} - // interface Error {} - // interface Platform {} -} diff --git a/apps/dojo/src/app.html b/apps/dojo/src/app.html deleted file mode 100644 index 791088442..000000000 --- a/apps/dojo/src/app.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - %sveltekit.head% - - -
%sveltekit.body%
- - diff --git a/apps/dojo/src/app.postcss b/apps/dojo/src/app.postcss deleted file mode 100644 index 9289e65f4..000000000 --- a/apps/dojo/src/app.postcss +++ /dev/null @@ -1,16 +0,0 @@ -@tailwind base; -@tailwind components; -@tailwind utilities; -@tailwind variants; - -html, -body { - @apply h-full overflow-hidden; -} - -/* gold-nouveau theme */ -@font-face { - font-family: 'Quicksand'; - src: url('/fonts/Quicksand.ttf'); - font-display: swap; -} \ No newline at end of file diff --git a/apps/dojo/src/index.test.ts b/apps/dojo/src/index.test.ts deleted file mode 100644 index e07cbbd72..000000000 --- a/apps/dojo/src/index.test.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { describe, it, expect } from 'vitest'; - -describe('sum test', () => { - it('adds 1 + 2 to equal 3', () => { - expect(1 + 2).toBe(3); - }); -}); diff --git a/apps/dojo/src/lib/index.ts b/apps/dojo/src/lib/index.ts deleted file mode 100644 index 856f2b6c3..000000000 --- a/apps/dojo/src/lib/index.ts +++ /dev/null @@ -1 +0,0 @@ -// place files you want to import through the `$lib` alias in this folder. diff --git a/apps/dojo/src/routes/+layout.svelte b/apps/dojo/src/routes/+layout.svelte deleted file mode 100644 index f8ad0d6a0..000000000 --- a/apps/dojo/src/routes/+layout.svelte +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - Sneakers Dojo - - - - Discord - - - Twitter - - - GitHub - - - - - - - diff --git a/apps/dojo/src/routes/+page.server.ts b/apps/dojo/src/routes/+page.server.ts deleted file mode 100644 index a3d15781a..000000000 --- a/apps/dojo/src/routes/+page.server.ts +++ /dev/null @@ -1 +0,0 @@ -export const ssr = false; diff --git a/apps/dojo/src/routes/+page.svelte b/apps/dojo/src/routes/+page.svelte deleted file mode 100644 index 585c3ce69..000000000 --- a/apps/dojo/src/routes/+page.svelte +++ /dev/null @@ -1,5 +0,0 @@ - - - diff --git a/apps/dojo/src/routes/Dojo.svelte b/apps/dojo/src/routes/Dojo.svelte deleted file mode 100644 index 3a1b1adaa..000000000 --- a/apps/dojo/src/routes/Dojo.svelte +++ /dev/null @@ -1,58 +0,0 @@ - - - -
diff --git a/apps/dojo/src/routes/players/MyPlayer.ts b/apps/dojo/src/routes/players/MyPlayer.ts deleted file mode 100644 index 0f4d67903..000000000 --- a/apps/dojo/src/routes/players/MyPlayer.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Rectangle, Assets } from 'pixi.js'; -import { Player } from './Player'; - -export class MyPlayer extends Player { - static bounds = new Rectangle(0, 0, 20, 20); - - static async create() { - return new MyPlayer( - { - down: Object.values( - await Assets.load([ - '/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_atk_d_1.png', - '/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_atk_d_2.png', - ]), - ), - left: Object.values( - await Assets.load([ - '/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_atk_l_1.png', - '/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_atk_l_2.png', - ]), - ), - right: Object.values( - await Assets.load([ - '/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_atk_r_1.png', - '/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_atk_r_2.png', - ]), - ), - up: Object.values( - await Assets.load([ - '/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_atk_u_1.png', - '/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_atk_u_2.png', - ]), - ), - }, - MyPlayer.bounds, - ); - } -} diff --git a/apps/dojo/src/routes/players/Player.ts b/apps/dojo/src/routes/players/Player.ts deleted file mode 100644 index 8e32db4f2..000000000 --- a/apps/dojo/src/routes/players/Player.ts +++ /dev/null @@ -1,66 +0,0 @@ -import { AnimatedSprite } from 'pixi.js'; -import type { Rectangle, Texture } from 'pixi.js'; - -export interface AnimatedTextures { - down: Texture[]; - left: Texture[]; - right: Texture[]; - up: Texture[]; -} - -export class Player { - bounds: Rectangle; - - positionX = 0; - positionY = 0; - view: AnimatedSprite; - constructor(textures: AnimatedTextures, bounds: Rectangle) { - this.bounds = bounds; - this.view = new AnimatedSprite([ - ...textures.down, - ...textures.left, - ...textures.right, - ...textures.up, - ]); - - //TODO: Defaults to right, maybe it shouldn't - this.view.currentFrame = 5; - } - // TODO: should timeout be used? - public down() { - this.view.gotoAndStop(0); - this.view.position.y = this.view.position.y + this.bounds.height / 2; - setTimeout(() => { - this.view.gotoAndStop(1); - this.view.position.y = this.view.position.y + this.bounds.height / 2; - console.debug(this.view.position); - }, 200); - } - public left() { - this.view.gotoAndStop(2); - this.view.position.x = this.view.position.x - this.bounds.width / 2; - setTimeout(() => { - this.view.gotoAndStop(3); - this.view.position.x = this.view.position.x - this.bounds.width / 2; - console.debug(this.view.position); - }, 200); - } - public right() { - this.view.gotoAndStop(4); - this.view.position.x = this.view.position.x + this.bounds.width / 2; - setTimeout(() => { - this.view.gotoAndStop(5); - this.view.position.x = this.view.position.x + this.bounds.width / 2; - console.debug(this.view.position); - }, 200); - } - public up() { - this.view.gotoAndStop(6); - this.view.position.y = this.view.position.y - this.bounds.height / 2; - setTimeout(() => { - this.view.gotoAndStop(7); - this.view.position.y = this.view.position.y - this.bounds.height / 2; - console.debug(this.view.position); - }, 200); - } -} diff --git a/apps/dojo/src/routes/world/World.ts b/apps/dojo/src/routes/world/World.ts deleted file mode 100644 index 1d9fd09f6..000000000 --- a/apps/dojo/src/routes/world/World.ts +++ /dev/null @@ -1,152 +0,0 @@ -import { Assets, TilingSprite, Container, Rectangle } from 'pixi.js'; -import type { Player } from '../players/Player'; -import { MyPlayer } from '../players/MyPlayer'; - -export const resolution = 4; -export const movement = 20; -export const height = 240; -export const width = 240; - -export class World { - view: Container; - paths: TilingSprite[]; - blocked: TilingSprite[]; - - player: Player; - - constructor(paths: TilingSprite[], blocked: TilingSprite[], myPlayer: MyPlayer) { - this.view = new Container(); - this.paths = paths; - this.blocked = blocked; - - // Add world tiles - for (const sprite of [...paths, ...blocked]) { - this.view.addChild(sprite); - } - // Add player - this.player = myPlayer; - this.view.addChild(this.player.view); - } - static async create() { - const textures = Object.values( - await Assets.load([ - '/assets/oryx_wee_dungeon/wee_sliced/forest/wee_forest_grass.png', - '/assets/oryx_wee_dungeon/wee_sliced/forest/wee_forest_cliff.png', - ]), - ); - const paths = [ - new TilingSprite({ - texture: textures.at(0), - height: movement, - width: movement * 7, - y: movement * 0, - }), - new TilingSprite({ - texture: textures.at(0), - height: movement * 8, - width: movement, - x: movement * 7, - y: movement * 0, - }), - new TilingSprite({ - texture: textures.at(0), - height: movement * 2, - width: movement * 4, - x: movement * 8, - y: movement * 6, - }), - ]; - const blocked = [ - new TilingSprite({ - texture: textures.at(1), - height: movement * 6, - width: movement * 5, - x: movement * 8, - y: movement * 0, - }), - new TilingSprite({ - texture: textures.at(1), - height: movement * 11, - width: movement * 7, - x: movement * 0, - y: movement * 1, - }), - - new TilingSprite({ - texture: textures.at(1), - height: movement * 4, - width: movement * 6, - x: movement * 7, - y: movement * 8, - }), - ]; - - // Create a new player - const myPlayer = await MyPlayer.create(); - return new World(paths, blocked, myPlayer); - } - public onKeyDown(e: KeyboardEvent) { - const bounds = this.player.view.getBounds(); - console.debug('player ', bounds); - - switch (e.key) { - case 'ArrowLeft': - console.debug('move left'); - bounds.x = bounds.x - this.player.bounds.width; - if (!this.testPlayerHitBlocked(bounds)) { - this.player?.left(); - } - break; - case 'ArrowRight': - console.debug('move right'); - bounds.x = bounds.x + this.player.bounds.width; - if (!this.testPlayerHitBlocked(bounds)) { - this.player?.right(); - } - break; - case 'ArrowUp': - console.debug('move up'); - bounds.y = bounds.y - this.player.bounds.height; - if (!this.testPlayerHitBlocked(bounds)) { - this.player?.up(); - } - break; - case 'ArrowDown': - console.debug('move down'); - bounds.y = bounds.y + this.player.bounds.height; - if (!this.testPlayerHitBlocked(bounds)) { - this.player?.down(); - } - break; - } - } - // TODO: is this fast enough? - private testPlayerHitBlocked(playerBounds: Rectangle) { - let hit = false; - - // Check for overall size - if ( - !( - playerBounds.x >= 0 && - playerBounds.x <= width && - playerBounds.y >= 0 && - playerBounds.y <= height - ) - ) { - console.log('out of range', playerBounds); - return true; - } - - // Checked for blocked areas - for (const b of this.blocked) { - const bounds1 = b.getBounds(); - hit = - bounds1.x < playerBounds.x + playerBounds.width && - bounds1.x + bounds1.width > playerBounds.x && - bounds1.y < playerBounds.y + playerBounds.height && - bounds1.y + bounds1.height > playerBounds.y; - if (hit) break; - } - return hit; - } -} diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/oryx-simplex.ttf b/apps/dojo/static/assets/oryx_wee_dungeon/oryx-simplex.ttf deleted file mode 100644 index 8f63cbb47..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/oryx-simplex.ttf and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_dungeon.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_dungeon.png deleted file mode 100644 index db8140f4a..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_dungeon.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_fantasy_cover.jpg b/apps/dojo/static/assets/oryx_wee_dungeon/wee_fantasy_cover.jpg deleted file mode 100644 index b772a15a7..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_fantasy_cover.jpg and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_forest.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_forest.png deleted file mode 100644 index ae0aa677f..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_forest.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_fx.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_fx.png deleted file mode 100644 index 4a177d73f..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_fx.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_monsters.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_monsters.png deleted file mode 100644 index 26b76cfd4..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_monsters.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_monsters_key.txt b/apps/dojo/static/assets/oryx_wee_dungeon/wee_monsters_key.txt deleted file mode 100644 index aa1e9867b..000000000 --- a/apps/dojo/static/assets/oryx_wee_dungeon/wee_monsters_key.txt +++ /dev/null @@ -1,51 +0,0 @@ -A idle_r_1 -B idle_d_1 -C idle_u_1 -D idle_l_1 -E idle_r_2 -F idle_d_2 -G idle_u_2 -H idle_l_2 -I atk_r_1 -J atk_r_2 -K atk_d_1 -L atk_d_2 -M atk_u_1 -N atk_u_2 -O atk_l_1 -P atk_l_2 -Q dead - - -fighter -archer -mage -priest -druid -necro -knight -paladin -gobwar -gobmage -orc -skelwar -skelshield -skelmage -dwarf -peasant -reaper -zombie -mino -elffight -elfarcher -elfmage -spider -wolf -slime -bat -snake -rat -chicken -demon -eye -ghost diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_photoshop/wee_dungeon.psd b/apps/dojo/static/assets/oryx_wee_dungeon/wee_photoshop/wee_dungeon.psd deleted file mode 100644 index a2071dccc..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_photoshop/wee_dungeon.psd and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_photoshop/wee_forest.psd b/apps/dojo/static/assets/oryx_wee_dungeon/wee_photoshop/wee_forest.psd deleted file mode 100644 index c15f496d7..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_photoshop/wee_forest.psd and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_photoshop/wee_fx.psd b/apps/dojo/static/assets/oryx_wee_dungeon/wee_photoshop/wee_fx.psd deleted file mode 100644 index 4263cdbf6..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_photoshop/wee_fx.psd and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_photoshop/wee_monsters.psd b/apps/dojo/static/assets/oryx_wee_dungeon/wee_photoshop/wee_monsters.psd deleted file mode 100644 index a5859caad..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_photoshop/wee_monsters.psd and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_photoshop/wee_portraits.psd b/apps/dojo/static/assets/oryx_wee_dungeon/wee_photoshop/wee_portraits.psd deleted file mode 100644 index 5e1dda432..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_photoshop/wee_portraits.psd and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_photoshop/wee_ui.psd b/apps/dojo/static/assets/oryx_wee_dungeon/wee_photoshop/wee_ui.psd deleted file mode 100644 index e3d824dd2..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_photoshop/wee_ui.psd and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_pico8_palette.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_pico8_palette.png deleted file mode 100644 index bb14cdc51..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_pico8_palette.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_portraits.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_portraits.png deleted file mode 100644 index abcfd7c98..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_portraits.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_previews/wee_dungeon_preview.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_previews/wee_dungeon_preview.png deleted file mode 100644 index 1bad99fdb..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_previews/wee_dungeon_preview.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_previews/wee_fantasy_example.gif b/apps/dojo/static/assets/oryx_wee_dungeon/wee_previews/wee_fantasy_example.gif deleted file mode 100644 index d5ce69313..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_previews/wee_fantasy_example.gif and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_previews/wee_fantasy_example.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_previews/wee_fantasy_example.png deleted file mode 100644 index 2d1072c4a..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_previews/wee_fantasy_example.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_previews/wee_forest_example.gif b/apps/dojo/static/assets/oryx_wee_dungeon/wee_previews/wee_forest_example.gif deleted file mode 100644 index 24ee229ca..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_previews/wee_forest_example.gif and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_previews/wee_forest_example.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_previews/wee_forest_example.png deleted file mode 100644 index 174cb083a..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_previews/wee_forest_example.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_previews/wee_fx_preview.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_previews/wee_fx_preview.png deleted file mode 100644 index 7bb19cf46..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_previews/wee_fx_preview.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_previews/wee_monsters_anim.gif b/apps/dojo/static/assets/oryx_wee_dungeon/wee_previews/wee_monsters_anim.gif deleted file mode 100644 index 8182cd896..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_previews/wee_monsters_anim.gif and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_previews/wee_monsters_anim_trans.gif b/apps/dojo/static/assets/oryx_wee_dungeon/wee_previews/wee_monsters_anim_trans.gif deleted file mode 100644 index b026af086..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_previews/wee_monsters_anim_trans.gif and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_previews/wee_portraits.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_previews/wee_portraits.png deleted file mode 100644 index cb672611b..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_previews/wee_portraits.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_previews/wee_portraits_anim.gif b/apps/dojo/static/assets/oryx_wee_dungeon/wee_previews/wee_portraits_anim.gif deleted file mode 100644 index c659abe18..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_previews/wee_portraits_anim.gif and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_previews/wee_portraits_anim_trans.gif b/apps/dojo/static/assets/oryx_wee_dungeon/wee_previews/wee_portraits_anim_trans.gif deleted file mode 100644 index e88315b65..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_previews/wee_portraits_anim_trans.gif and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_previews/wee_ui_preview.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_previews/wee_ui_preview.png deleted file mode 100644 index 56d4cf1b3..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_previews/wee_ui_preview.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_acid.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_acid.png deleted file mode 100644 index 48cfbb0d2..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_acid.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_barrel.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_barrel.png deleted file mode 100644 index 997488d4e..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_barrel.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_blood.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_blood.png deleted file mode 100644 index c4e3b1b54..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_blood.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_book_brown.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_book_brown.png deleted file mode 100644 index 4251e85a3..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_book_brown.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_book_green.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_book_green.png deleted file mode 100644 index 32a4bb4ac..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_book_green.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_boot.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_boot.png deleted file mode 100644 index f977da4aa..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_boot.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_brick_blue.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_brick_blue.png deleted file mode 100644 index 6a175eb9c..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_brick_blue.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_brick_grey.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_brick_grey.png deleted file mode 100644 index eb94644fa..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_brick_grey.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_brick_red.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_brick_red.png deleted file mode 100644 index ef8652de0..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_brick_red.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_chest-45.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_chest-45.png deleted file mode 100644 index bd488e31e..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_chest-45.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_chest.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_chest.png deleted file mode 100644 index 0e9d56562..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_chest.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_chest_empty.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_chest_empty.png deleted file mode 100644 index f3fa7b4e2..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_chest_empty.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_chest_open.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_chest_open.png deleted file mode 100644 index e2656ca02..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_chest_open.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_crate.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_crate.png deleted file mode 100644 index 37a2945a5..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_crate.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_cursor.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_cursor.png deleted file mode 100644 index 718a74afa..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_cursor.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_door_brown.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_door_brown.png deleted file mode 100644 index b5895a49f..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_door_brown.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_door_brown_open.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_door_brown_open.png deleted file mode 100644 index 1810ae6ba..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_door_brown_open.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_door_grey.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_door_grey.png deleted file mode 100644 index ffe5140fa..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_door_grey.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_door_grey_open.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_door_grey_open.png deleted file mode 100644 index 85a058f3a..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_door_grey_open.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_door_open.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_door_open.png deleted file mode 100644 index 0120e834e..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_door_open.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_door_red.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_door_red.png deleted file mode 100644 index fb1f1512a..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_door_red.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_fire_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_fire_1.png deleted file mode 100644 index 68b9be231..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_fire_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_fire_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_fire_2.png deleted file mode 100644 index 9997aa9ec..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_fire_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_floor.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_floor.png deleted file mode 100644 index 102826a5a..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_floor.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_gem_blue.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_gem_blue.png deleted file mode 100644 index 75c57a09e..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_gem_blue.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_gem_green.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_gem_green.png deleted file mode 100644 index 0503902fb..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_gem_green.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_gem_red.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_gem_red.png deleted file mode 100644 index ca01b9428..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_gem_red.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_glove.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_glove.png deleted file mode 100644 index 059c02e37..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_glove.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_gold.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_gold.png deleted file mode 100644 index a28859209..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_gold.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_helm.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_helm.png deleted file mode 100644 index 31b1bb0f9..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_helm.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_key_gold.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_key_gold.png deleted file mode 100644 index dec46132f..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_key_gold.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_key_magic.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_key_magic.png deleted file mode 100644 index d7c901867..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_key_magic.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_lava.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_lava.png deleted file mode 100644 index 900aaf132..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_lava.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_meat.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_meat.png deleted file mode 100644 index 6cd357870..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_meat.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_pit.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_pit.png deleted file mode 100644 index 114fb8236..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_pit.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_potion_blue.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_potion_blue.png deleted file mode 100644 index 96b8ff534..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_potion_blue.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_potion_empty.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_potion_empty.png deleted file mode 100644 index dcc93088b..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_potion_empty.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_potion_red.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_potion_red.png deleted file mode 100644 index 6efb9e1e0..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_potion_red.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_ring_blue.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_ring_blue.png deleted file mode 100644 index edd06c38c..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_ring_blue.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_ring_green.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_ring_green.png deleted file mode 100644 index f9537903c..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_ring_green.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_ring_red.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_ring_red.png deleted file mode 100644 index 0d92cce9c..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_ring_red.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_scroll.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_scroll.png deleted file mode 100644 index 7b2ebf61d..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_scroll.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_shadow_wall.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_shadow_wall.png deleted file mode 100644 index 291ed6696..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_shadow_wall.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_shadow_water.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_shadow_water.png deleted file mode 100644 index 5e75fa9d7..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_shadow_water.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_shield.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_shield.png deleted file mode 100644 index b820f39fd..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_shield.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_skull.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_skull.png deleted file mode 100644 index 15f3c8307..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_skull.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_stair_blue_down.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_stair_blue_down.png deleted file mode 100644 index 04c55dc3c..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_stair_blue_down.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_stair_blue_up.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_stair_blue_up.png deleted file mode 100644 index 939cd8f74..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_stair_blue_up.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_stair_grey_down.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_stair_grey_down.png deleted file mode 100644 index 1d04cd342..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_stair_grey_down.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_stair_grey_up.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_stair_grey_up.png deleted file mode 100644 index f958effc0..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_stair_grey_up.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_stair_red_down.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_stair_red_down.png deleted file mode 100644 index 296a75aaf..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_stair_red_down.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_stair_red_up.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_stair_red_up.png deleted file mode 100644 index 9e3d2893b..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_stair_red_up.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_sword.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_sword.png deleted file mode 100644 index 8c97f2d19..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_sword.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_water_dark.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_water_dark.png deleted file mode 100644 index 972680e41..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_water_dark.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_water_light.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_water_light.png deleted file mode 100644 index 695d5fd1d..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/dungeon/wee_dung_water_light.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/forest/wee_forest_apple.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/forest/wee_forest_apple.png deleted file mode 100644 index 55e324f75..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/forest/wee_forest_apple.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/forest/wee_forest_cliff.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/forest/wee_forest_cliff.png deleted file mode 100644 index fbbce5067..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/forest/wee_forest_cliff.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/forest/wee_forest_flower.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/forest/wee_forest_flower.png deleted file mode 100644 index 07c0acc88..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/forest/wee_forest_flower.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/forest/wee_forest_grass.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/forest/wee_forest_grass.png deleted file mode 100644 index 56d3c75b7..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/forest/wee_forest_grass.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/forest/wee_forest_path.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/forest/wee_forest_path.png deleted file mode 100644 index 5b7bca9ea..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/forest/wee_forest_path.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/forest/wee_forest_rock.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/forest/wee_forest_rock.png deleted file mode 100644 index c5d057225..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/forest/wee_forest_rock.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/forest/wee_forest_tree.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/forest/wee_forest_tree.png deleted file mode 100644 index 9686190fa..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/forest/wee_forest_tree.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/forest/wee_forest_water.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/forest/wee_forest_water.png deleted file mode 100644 index 2a5d79751..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/forest/wee_forest_water.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_alert1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_alert1.png deleted file mode 100644 index d9304a25a..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_alert1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_alert2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_alert2.png deleted file mode 100644 index 15d0fcedf..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_alert2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_arrow_0.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_arrow_0.png deleted file mode 100644 index 4bae199e9..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_arrow_0.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_arrow_22.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_arrow_22.png deleted file mode 100644 index 04bcc13c9..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_arrow_22.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_arrow_45.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_arrow_45.png deleted file mode 100644 index a8bbda829..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_arrow_45.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_arrow_67.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_arrow_67.png deleted file mode 100644 index 23d36463b..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_arrow_67.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_arrow_90.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_arrow_90.png deleted file mode 100644 index 96efb4d44..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_arrow_90.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_ball_curse.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_ball_curse.png deleted file mode 100644 index 9a9994041..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_ball_curse.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_ball_fire.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_ball_fire.png deleted file mode 100644 index 51868eccb..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_ball_fire.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_ball_ice.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_ball_ice.png deleted file mode 100644 index 20e320cef..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_ball_ice.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_ball_poison.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_ball_poison.png deleted file mode 100644 index ee08b54fd..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_ball_poison.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_burn_curse1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_burn_curse1.png deleted file mode 100644 index b4fa535c0..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_burn_curse1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_burn_curse2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_burn_curse2.png deleted file mode 100644 index acba07ea9..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_burn_curse2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_burn_fire1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_burn_fire1.png deleted file mode 100644 index 9ea619fc4..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_burn_fire1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_burn_fire2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_burn_fire2.png deleted file mode 100644 index 4059a8b74..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_burn_fire2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_burn_ice1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_burn_ice1.png deleted file mode 100644 index 6d752770f..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_burn_ice1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_burn_ice2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_burn_ice2.png deleted file mode 100644 index 79ec69dab..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_burn_ice2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_burn_poison1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_burn_poison1.png deleted file mode 100644 index 7370a4d59..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_burn_poison1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_burn_poison2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_burn_poison2.png deleted file mode 100644 index ba572fa1f..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_burn_poison2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_expode_curse1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_expode_curse1.png deleted file mode 100644 index 8cea74d3b..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_expode_curse1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_expode_curse2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_expode_curse2.png deleted file mode 100644 index dfb805103..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_expode_curse2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_expode_curse3.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_expode_curse3.png deleted file mode 100644 index bdd12382d..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_expode_curse3.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_expode_fire1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_expode_fire1.png deleted file mode 100644 index 22000b398..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_expode_fire1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_expode_fire2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_expode_fire2.png deleted file mode 100644 index 682352ae0..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_expode_fire2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_expode_fire3.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_expode_fire3.png deleted file mode 100644 index 549694541..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_expode_fire3.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_expode_ice1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_expode_ice1.png deleted file mode 100644 index 65f102fd7..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_expode_ice1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_expode_ice2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_expode_ice2.png deleted file mode 100644 index 27570513c..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_expode_ice2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_expode_ice3.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_expode_ice3.png deleted file mode 100644 index 8f4d2ac65..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_expode_ice3.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_expode_poison1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_expode_poison1.png deleted file mode 100644 index d63cde6f8..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_expode_poison1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_expode_poison2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_expode_poison2.png deleted file mode 100644 index 0e73d6680..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_expode_poison2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_expode_poison3.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_expode_poison3.png deleted file mode 100644 index 1103c5eef..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_expode_poison3.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_lightning1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_lightning1.png deleted file mode 100644 index aeb3a7a49..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_lightning1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_lightning2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_lightning2.png deleted file mode 100644 index 44b61acc1..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_lightning2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_question1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_question1.png deleted file mode 100644 index 89809305e..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_question1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_question2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_question2.png deleted file mode 100644 index 6a3835dba..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_question2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_sleep1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_sleep1.png deleted file mode 100644 index d4e05346b..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_sleep1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_sleep2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_sleep2.png deleted file mode 100644 index 428cb56d9..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_sleep2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_sparkle1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_sparkle1.png deleted file mode 100644 index 08769ee01..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_sparkle1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_sparkle2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_sparkle2.png deleted file mode 100644 index f862b1ac9..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_sparkle2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_sparkle3.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_sparkle3.png deleted file mode 100644 index d33cbf7bd..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_sparkle3.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_sparkle4.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_sparkle4.png deleted file mode 100644 index 9a1cccc57..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_sparkle4.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_spell_curse.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_spell_curse.png deleted file mode 100644 index 35ddf13a3..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_spell_curse.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_spell_fire.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_spell_fire.png deleted file mode 100644 index 74cb21ee4..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_spell_fire.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_spell_ice.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_spell_ice.png deleted file mode 100644 index 1679db504..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_spell_ice.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_spell_poison.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_spell_poison.png deleted file mode 100644 index cd322cc97..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/fx/wee_fx_spell_poison.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_atk_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_atk_d_1.png deleted file mode 100644 index bb545cfc0..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_atk_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_atk_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_atk_d_2.png deleted file mode 100644 index b10752c91..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_atk_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_atk_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_atk_l_1.png deleted file mode 100644 index 1c75281e4..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_atk_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_atk_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_atk_l_2.png deleted file mode 100644 index f0d21f4aa..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_atk_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_atk_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_atk_r_1.png deleted file mode 100644 index 88b0518a5..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_atk_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_atk_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_atk_r_2.png deleted file mode 100644 index 05276b179..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_atk_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_atk_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_atk_u_1.png deleted file mode 100644 index 027cd3d84..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_atk_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_atk_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_atk_u_2.png deleted file mode 100644 index 393f16a4d..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_atk_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_dead.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_dead.png deleted file mode 100644 index fb3957346..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_dead.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_idle_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_idle_d_1.png deleted file mode 100644 index 1a530b1f6..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_idle_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_idle_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_idle_d_2.png deleted file mode 100644 index 7bb95de7e..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_idle_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_idle_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_idle_l_1.png deleted file mode 100644 index 1f4d6c3b9..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_idle_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_idle_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_idle_l_2.png deleted file mode 100644 index 45c3326ed..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_idle_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_idle_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_idle_r_1.png deleted file mode 100644 index 3a251bf76..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_idle_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_idle_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_idle_r_2.png deleted file mode 100644 index 1fd1cba94..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_idle_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_idle_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_idle_u_1.png deleted file mode 100644 index 540fc0bdd..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_idle_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_idle_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_idle_u_2.png deleted file mode 100644 index d12bc673c..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_archer_idle_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_atk_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_atk_d_1.png deleted file mode 100644 index 636871f9f..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_atk_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_atk_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_atk_d_2.png deleted file mode 100644 index 80c4941e3..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_atk_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_atk_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_atk_l_1.png deleted file mode 100644 index 01de7016a..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_atk_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_atk_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_atk_l_2.png deleted file mode 100644 index 7d10da554..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_atk_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_atk_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_atk_r_1.png deleted file mode 100644 index 9b488e9db..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_atk_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_atk_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_atk_r_2.png deleted file mode 100644 index 13d8a72bd..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_atk_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_atk_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_atk_u_1.png deleted file mode 100644 index 7fc3ffdd3..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_atk_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_atk_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_atk_u_2.png deleted file mode 100644 index a04f5fbf9..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_atk_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_dead.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_dead.png deleted file mode 100644 index 4b47af7d3..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_dead.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_idle_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_idle_d_1.png deleted file mode 100644 index b6dfc8906..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_idle_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_idle_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_idle_d_2.png deleted file mode 100644 index 91e1a4d0f..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_idle_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_idle_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_idle_l_1.png deleted file mode 100644 index 8389dc8e4..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_idle_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_idle_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_idle_l_2.png deleted file mode 100644 index 037aa6c6f..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_idle_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_idle_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_idle_r_1.png deleted file mode 100644 index 3dc80b2bf..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_idle_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_idle_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_idle_r_2.png deleted file mode 100644 index fde06b191..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_idle_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_idle_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_idle_u_1.png deleted file mode 100644 index 6766d5743..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_idle_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_idle_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_idle_u_2.png deleted file mode 100644 index 2b263e4a9..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_bat_idle_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_atk_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_atk_d_1.png deleted file mode 100644 index 056a843ca..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_atk_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_atk_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_atk_d_2.png deleted file mode 100644 index 29e52d6a3..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_atk_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_atk_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_atk_l_1.png deleted file mode 100644 index 26e5186e4..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_atk_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_atk_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_atk_l_2.png deleted file mode 100644 index 6108633ea..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_atk_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_atk_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_atk_r_1.png deleted file mode 100644 index bffbf9160..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_atk_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_atk_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_atk_r_2.png deleted file mode 100644 index 4ede6a57c..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_atk_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_atk_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_atk_u_1.png deleted file mode 100644 index 455f6c929..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_atk_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_atk_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_atk_u_2.png deleted file mode 100644 index 76b3d857b..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_atk_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_dead.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_dead.png deleted file mode 100644 index c8f3368a0..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_dead.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_idle_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_idle_d_1.png deleted file mode 100644 index 95535926b..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_idle_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_idle_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_idle_d_2.png deleted file mode 100644 index ce0f8db45..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_idle_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_idle_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_idle_l_1.png deleted file mode 100644 index 2edc7b8c7..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_idle_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_idle_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_idle_l_2.png deleted file mode 100644 index 14d2bd7ee..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_idle_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_idle_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_idle_r_1.png deleted file mode 100644 index 323d6c36f..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_idle_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_idle_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_idle_r_2.png deleted file mode 100644 index f3a5753fd..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_idle_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_idle_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_idle_u_1.png deleted file mode 100644 index eff5c8050..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_idle_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_idle_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_idle_u_2.png deleted file mode 100644 index 741112c11..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_chicken_idle_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_atk_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_atk_d_1.png deleted file mode 100644 index 617e3709f..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_atk_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_atk_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_atk_d_2.png deleted file mode 100644 index 24ef39666..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_atk_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_atk_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_atk_l_1.png deleted file mode 100644 index 9ec29405f..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_atk_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_atk_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_atk_l_2.png deleted file mode 100644 index 367b47a86..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_atk_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_atk_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_atk_r_1.png deleted file mode 100644 index fca8c646d..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_atk_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_atk_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_atk_r_2.png deleted file mode 100644 index 0bb17b0f0..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_atk_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_atk_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_atk_u_1.png deleted file mode 100644 index 205003d14..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_atk_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_atk_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_atk_u_2.png deleted file mode 100644 index f840f895a..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_atk_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_dead.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_dead.png deleted file mode 100644 index 0d12b0d24..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_dead.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_idle_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_idle_d_1.png deleted file mode 100644 index c228429bb..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_idle_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_idle_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_idle_d_2.png deleted file mode 100644 index 69bf33ce2..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_idle_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_idle_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_idle_l_1.png deleted file mode 100644 index 8cb503005..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_idle_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_idle_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_idle_l_2.png deleted file mode 100644 index e875b49a9..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_idle_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_idle_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_idle_r_1.png deleted file mode 100644 index c26058c1a..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_idle_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_idle_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_idle_r_2.png deleted file mode 100644 index 9387338a3..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_idle_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_idle_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_idle_u_1.png deleted file mode 100644 index f8bad7d4f..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_idle_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_idle_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_idle_u_2.png deleted file mode 100644 index f76ebb175..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_demon_idle_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_atk_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_atk_d_1.png deleted file mode 100644 index 8985f9923..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_atk_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_atk_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_atk_d_2.png deleted file mode 100644 index 59f47f5f6..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_atk_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_atk_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_atk_l_1.png deleted file mode 100644 index d62a78795..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_atk_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_atk_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_atk_l_2.png deleted file mode 100644 index 2c0e1af4d..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_atk_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_atk_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_atk_r_1.png deleted file mode 100644 index bbd2f1abd..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_atk_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_atk_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_atk_r_2.png deleted file mode 100644 index 16bd790aa..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_atk_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_atk_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_atk_u_1.png deleted file mode 100644 index 8c0e62242..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_atk_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_atk_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_atk_u_2.png deleted file mode 100644 index c0603e6bc..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_atk_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_dead.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_dead.png deleted file mode 100644 index 910765736..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_dead.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_idle_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_idle_d_1.png deleted file mode 100644 index d95febdb3..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_idle_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_idle_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_idle_d_2.png deleted file mode 100644 index 8627bc3b1..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_idle_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_idle_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_idle_l_1.png deleted file mode 100644 index 269ea9e5e..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_idle_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_idle_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_idle_l_2.png deleted file mode 100644 index 18ef9f43b..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_idle_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_idle_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_idle_r_1.png deleted file mode 100644 index 83febcb56..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_idle_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_idle_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_idle_r_2.png deleted file mode 100644 index 0e47fbbf4..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_idle_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_idle_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_idle_u_1.png deleted file mode 100644 index 85cf124f7..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_idle_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_idle_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_idle_u_2.png deleted file mode 100644 index d7a11b2a1..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_druid_idle_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_atk_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_atk_d_1.png deleted file mode 100644 index e51bdeb83..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_atk_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_atk_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_atk_d_2.png deleted file mode 100644 index 1c6133322..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_atk_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_atk_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_atk_l_1.png deleted file mode 100644 index c1508ab1d..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_atk_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_atk_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_atk_l_2.png deleted file mode 100644 index 5fe796e64..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_atk_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_atk_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_atk_r_1.png deleted file mode 100644 index 0cad33016..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_atk_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_atk_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_atk_r_2.png deleted file mode 100644 index 148fd67fb..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_atk_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_atk_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_atk_u_1.png deleted file mode 100644 index df0fc7a08..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_atk_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_atk_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_atk_u_2.png deleted file mode 100644 index cc2c68fe7..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_atk_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_dead.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_dead.png deleted file mode 100644 index 482319efd..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_dead.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_idle_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_idle_d_1.png deleted file mode 100644 index ff188da72..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_idle_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_idle_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_idle_d_2.png deleted file mode 100644 index ba99dae16..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_idle_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_idle_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_idle_l_1.png deleted file mode 100644 index e3899f9b2..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_idle_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_idle_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_idle_l_2.png deleted file mode 100644 index ffc5e96f2..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_idle_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_idle_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_idle_r_1.png deleted file mode 100644 index bba074b92..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_idle_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_idle_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_idle_r_2.png deleted file mode 100644 index 8d2381e23..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_idle_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_idle_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_idle_u_1.png deleted file mode 100644 index 46a77c5a0..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_idle_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_idle_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_idle_u_2.png deleted file mode 100644 index 84d84061c..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_dwarf_idle_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_atk_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_atk_d_1.png deleted file mode 100644 index 54650ae60..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_atk_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_atk_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_atk_d_2.png deleted file mode 100644 index c78fc89c3..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_atk_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_atk_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_atk_l_1.png deleted file mode 100644 index 6482d9099..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_atk_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_atk_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_atk_l_2.png deleted file mode 100644 index c59809b73..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_atk_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_atk_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_atk_r_1.png deleted file mode 100644 index 81bcd10ea..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_atk_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_atk_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_atk_r_2.png deleted file mode 100644 index 918a2bb38..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_atk_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_atk_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_atk_u_1.png deleted file mode 100644 index 62700d5f3..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_atk_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_atk_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_atk_u_2.png deleted file mode 100644 index f02f05169..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_atk_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_dead.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_dead.png deleted file mode 100644 index 9fa1d84f1..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_dead.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_idle_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_idle_d_1.png deleted file mode 100644 index fac498b92..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_idle_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_idle_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_idle_d_2.png deleted file mode 100644 index bbc81edd5..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_idle_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_idle_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_idle_l_1.png deleted file mode 100644 index 3b927211e..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_idle_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_idle_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_idle_l_2.png deleted file mode 100644 index 08bab05cf..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_idle_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_idle_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_idle_r_1.png deleted file mode 100644 index f38055ef8..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_idle_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_idle_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_idle_r_2.png deleted file mode 100644 index d02fc6e6c..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_idle_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_idle_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_idle_u_1.png deleted file mode 100644 index 6424a06a3..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_idle_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_idle_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_idle_u_2.png deleted file mode 100644 index fcfd5bcd4..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfarcher_idle_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_atk_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_atk_d_1.png deleted file mode 100644 index 84756e4a9..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_atk_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_atk_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_atk_d_2.png deleted file mode 100644 index 4bc75e54d..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_atk_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_atk_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_atk_l_1.png deleted file mode 100644 index bd589865c..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_atk_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_atk_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_atk_l_2.png deleted file mode 100644 index 4210a0fd1..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_atk_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_atk_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_atk_r_1.png deleted file mode 100644 index 330af32b7..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_atk_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_atk_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_atk_r_2.png deleted file mode 100644 index eaf7f2cc3..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_atk_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_atk_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_atk_u_1.png deleted file mode 100644 index 0ec034ad5..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_atk_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_atk_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_atk_u_2.png deleted file mode 100644 index dbfd79e73..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_atk_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_dead.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_dead.png deleted file mode 100644 index 7bdb788ba..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_dead.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_idle_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_idle_d_1.png deleted file mode 100644 index d00bc05df..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_idle_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_idle_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_idle_d_2.png deleted file mode 100644 index c715f16de..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_idle_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_idle_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_idle_l_1.png deleted file mode 100644 index 7a9c3a9eb..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_idle_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_idle_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_idle_l_2.png deleted file mode 100644 index 42a9937de..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_idle_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_idle_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_idle_r_1.png deleted file mode 100644 index 4aa5ef122..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_idle_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_idle_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_idle_r_2.png deleted file mode 100644 index 493b216fb..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_idle_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_idle_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_idle_u_1.png deleted file mode 100644 index 4b6d72169..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_idle_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_idle_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_idle_u_2.png deleted file mode 100644 index 9da288470..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elffight_idle_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_atk_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_atk_d_1.png deleted file mode 100644 index 4e78f2d85..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_atk_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_atk_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_atk_d_2.png deleted file mode 100644 index 656ab2558..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_atk_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_atk_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_atk_l_1.png deleted file mode 100644 index a1b3b3f05..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_atk_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_atk_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_atk_l_2.png deleted file mode 100644 index b7ec59865..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_atk_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_atk_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_atk_r_1.png deleted file mode 100644 index f2edc4b7a..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_atk_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_atk_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_atk_r_2.png deleted file mode 100644 index c6c07ca9c..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_atk_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_atk_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_atk_u_1.png deleted file mode 100644 index 7940f848d..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_atk_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_atk_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_atk_u_2.png deleted file mode 100644 index 323a57647..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_atk_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_dead.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_dead.png deleted file mode 100644 index 1a52b6824..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_dead.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_idle_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_idle_d_1.png deleted file mode 100644 index 400f6e35a..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_idle_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_idle_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_idle_d_2.png deleted file mode 100644 index 64362a442..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_idle_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_idle_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_idle_l_1.png deleted file mode 100644 index f5304dd74..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_idle_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_idle_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_idle_l_2.png deleted file mode 100644 index a30b13a38..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_idle_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_idle_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_idle_r_1.png deleted file mode 100644 index 7e1f26e7d..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_idle_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_idle_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_idle_r_2.png deleted file mode 100644 index 940e1a3b2..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_idle_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_idle_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_idle_u_1.png deleted file mode 100644 index 036264f8b..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_idle_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_idle_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_idle_u_2.png deleted file mode 100644 index a43070752..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_elfmage_idle_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_atk_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_atk_d_1.png deleted file mode 100644 index 67fc0c90e..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_atk_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_atk_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_atk_d_2.png deleted file mode 100644 index f9734a12e..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_atk_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_atk_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_atk_l_1.png deleted file mode 100644 index 2c7414c99..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_atk_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_atk_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_atk_l_2.png deleted file mode 100644 index 34296fa72..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_atk_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_atk_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_atk_r_1.png deleted file mode 100644 index 2e2a98efb..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_atk_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_atk_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_atk_r_2.png deleted file mode 100644 index 6c03ee323..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_atk_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_atk_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_atk_u_1.png deleted file mode 100644 index 9bc50a31a..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_atk_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_atk_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_atk_u_2.png deleted file mode 100644 index 13e1fc843..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_atk_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_dead.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_dead.png deleted file mode 100644 index ad6a16c98..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_dead.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_idle_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_idle_d_1.png deleted file mode 100644 index ea64f9009..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_idle_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_idle_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_idle_d_2.png deleted file mode 100644 index 5ab3fd2cf..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_idle_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_idle_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_idle_l_1.png deleted file mode 100644 index 156b67b81..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_idle_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_idle_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_idle_l_2.png deleted file mode 100644 index 8922ea316..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_idle_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_idle_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_idle_r_1.png deleted file mode 100644 index 8cb063688..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_idle_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_idle_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_idle_r_2.png deleted file mode 100644 index 396563346..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_idle_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_idle_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_idle_u_1.png deleted file mode 100644 index 2fb39c9a0..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_idle_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_idle_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_idle_u_2.png deleted file mode 100644 index 9bc50a31a..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_eye_idle_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_atk_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_atk_d_1.png deleted file mode 100644 index 7fa032ac7..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_atk_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_atk_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_atk_d_2.png deleted file mode 100644 index 1780e98ff..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_atk_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_atk_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_atk_l_1.png deleted file mode 100644 index 2d83c1a8a..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_atk_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_atk_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_atk_l_2.png deleted file mode 100644 index ef18d9865..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_atk_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_atk_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_atk_r_1.png deleted file mode 100644 index 201a5b34d..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_atk_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_atk_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_atk_r_2.png deleted file mode 100644 index ce1f2bf35..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_atk_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_atk_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_atk_u_1.png deleted file mode 100644 index eb6e3c036..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_atk_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_atk_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_atk_u_2.png deleted file mode 100644 index e68adfc16..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_atk_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_dead.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_dead.png deleted file mode 100644 index b159c259b..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_dead.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_idle_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_idle_d_1.png deleted file mode 100644 index 9e120434f..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_idle_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_idle_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_idle_d_2.png deleted file mode 100644 index b50a791d0..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_idle_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_idle_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_idle_l_1.png deleted file mode 100644 index 6d60f4ef5..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_idle_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_idle_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_idle_l_2.png deleted file mode 100644 index e36f4dcf9..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_idle_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_idle_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_idle_r_1.png deleted file mode 100644 index 5671158b3..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_idle_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_idle_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_idle_r_2.png deleted file mode 100644 index e9ee41c5a..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_idle_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_idle_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_idle_u_1.png deleted file mode 100644 index a96194b29..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_idle_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_idle_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_idle_u_2.png deleted file mode 100644 index 630a84afc..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_fighter_idle_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_atk_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_atk_d_1.png deleted file mode 100644 index aa9aa891f..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_atk_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_atk_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_atk_d_2.png deleted file mode 100644 index 333c320cb..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_atk_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_atk_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_atk_l_1.png deleted file mode 100644 index 5fa3c0bfb..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_atk_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_atk_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_atk_l_2.png deleted file mode 100644 index 77145fd8b..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_atk_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_atk_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_atk_r_1.png deleted file mode 100644 index 69724f80f..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_atk_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_atk_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_atk_r_2.png deleted file mode 100644 index 369a703b5..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_atk_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_atk_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_atk_u_1.png deleted file mode 100644 index 0cb1c08c7..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_atk_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_atk_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_atk_u_2.png deleted file mode 100644 index d1c275eec..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_atk_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_dead.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_dead.png deleted file mode 100644 index 5c40ab43d..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_dead.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_idle_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_idle_d_1.png deleted file mode 100644 index af34b6d19..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_idle_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_idle_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_idle_d_2.png deleted file mode 100644 index 2a4c6c0a3..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_idle_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_idle_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_idle_l_1.png deleted file mode 100644 index ca083c969..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_idle_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_idle_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_idle_l_2.png deleted file mode 100644 index b69adace6..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_idle_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_idle_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_idle_r_1.png deleted file mode 100644 index 858b42003..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_idle_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_idle_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_idle_r_2.png deleted file mode 100644 index bd5a9ebe3..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_idle_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_idle_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_idle_u_1.png deleted file mode 100644 index 998af6d63..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_idle_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_idle_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_idle_u_2.png deleted file mode 100644 index 0badd9139..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_ghost_idle_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_atk_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_atk_d_1.png deleted file mode 100644 index 8c98f560e..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_atk_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_atk_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_atk_d_2.png deleted file mode 100644 index 522e84644..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_atk_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_atk_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_atk_l_1.png deleted file mode 100644 index b4b22ec13..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_atk_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_atk_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_atk_l_2.png deleted file mode 100644 index 0d13be267..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_atk_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_atk_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_atk_r_1.png deleted file mode 100644 index c80e89370..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_atk_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_atk_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_atk_r_2.png deleted file mode 100644 index 8b899fe36..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_atk_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_atk_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_atk_u_1.png deleted file mode 100644 index 3525bf965..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_atk_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_atk_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_atk_u_2.png deleted file mode 100644 index 65aed6629..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_atk_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_dead.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_dead.png deleted file mode 100644 index 75211f1e7..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_dead.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_idle_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_idle_d_1.png deleted file mode 100644 index b4043778a..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_idle_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_idle_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_idle_d_2.png deleted file mode 100644 index d3a94ba32..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_idle_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_idle_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_idle_l_1.png deleted file mode 100644 index 0d407a9fd..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_idle_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_idle_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_idle_l_2.png deleted file mode 100644 index 1f52611cb..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_idle_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_idle_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_idle_r_1.png deleted file mode 100644 index aef0e7ca6..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_idle_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_idle_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_idle_r_2.png deleted file mode 100644 index 66c1dd209..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_idle_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_idle_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_idle_u_1.png deleted file mode 100644 index c4786a008..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_idle_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_idle_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_idle_u_2.png deleted file mode 100644 index ffee6797f..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobmage_idle_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_atk_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_atk_d_1.png deleted file mode 100644 index 700e564f2..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_atk_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_atk_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_atk_d_2.png deleted file mode 100644 index 702129dd6..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_atk_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_atk_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_atk_l_1.png deleted file mode 100644 index 59eb056b0..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_atk_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_atk_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_atk_l_2.png deleted file mode 100644 index a511608e2..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_atk_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_atk_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_atk_r_1.png deleted file mode 100644 index 109621fde..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_atk_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_atk_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_atk_r_2.png deleted file mode 100644 index 3a9cf3daa..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_atk_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_atk_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_atk_u_1.png deleted file mode 100644 index 7ac552b06..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_atk_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_atk_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_atk_u_2.png deleted file mode 100644 index 80a7de06d..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_atk_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_dead.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_dead.png deleted file mode 100644 index b6b0b9bf5..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_dead.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_idle_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_idle_d_1.png deleted file mode 100644 index 8f2f80369..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_idle_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_idle_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_idle_d_2.png deleted file mode 100644 index ea9ab2c6f..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_idle_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_idle_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_idle_l_1.png deleted file mode 100644 index b7512ec0c..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_idle_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_idle_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_idle_l_2.png deleted file mode 100644 index c66943e9a..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_idle_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_idle_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_idle_r_1.png deleted file mode 100644 index 544e3a104..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_idle_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_idle_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_idle_r_2.png deleted file mode 100644 index d63e5002b..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_idle_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_idle_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_idle_u_1.png deleted file mode 100644 index 5bc06e7eb..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_idle_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_idle_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_idle_u_2.png deleted file mode 100644 index 15ed821d8..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_gobwar_idle_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_atk_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_atk_d_1.png deleted file mode 100644 index 727476f25..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_atk_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_atk_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_atk_d_2.png deleted file mode 100644 index 7fe565853..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_atk_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_atk_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_atk_l_1.png deleted file mode 100644 index 10a3a8954..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_atk_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_atk_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_atk_l_2.png deleted file mode 100644 index a1948d3e5..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_atk_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_atk_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_atk_r_1.png deleted file mode 100644 index 26cb0573c..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_atk_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_atk_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_atk_r_2.png deleted file mode 100644 index 260ba9821..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_atk_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_atk_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_atk_u_1.png deleted file mode 100644 index 241da30fc..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_atk_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_atk_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_atk_u_2.png deleted file mode 100644 index 550e48fc3..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_atk_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_dead.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_dead.png deleted file mode 100644 index 0e05f2cef..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_dead.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_idle_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_idle_d_1.png deleted file mode 100644 index 1d0e4c296..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_idle_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_idle_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_idle_d_2.png deleted file mode 100644 index 814aaff1a..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_idle_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_idle_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_idle_l_1.png deleted file mode 100644 index b36c692fb..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_idle_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_idle_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_idle_l_2.png deleted file mode 100644 index 23861e536..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_idle_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_idle_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_idle_r_1.png deleted file mode 100644 index f5b7c3163..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_idle_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_idle_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_idle_r_2.png deleted file mode 100644 index 8a3cfad74..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_idle_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_idle_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_idle_u_1.png deleted file mode 100644 index 2557045ab..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_idle_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_idle_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_idle_u_2.png deleted file mode 100644 index 58dc83081..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_knight_idle_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_atk_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_atk_d_1.png deleted file mode 100644 index 68aa203c5..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_atk_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_atk_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_atk_d_2.png deleted file mode 100644 index e395820d5..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_atk_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_atk_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_atk_l_1.png deleted file mode 100644 index 1de7721eb..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_atk_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_atk_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_atk_l_2.png deleted file mode 100644 index 66d534483..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_atk_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_atk_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_atk_r_1.png deleted file mode 100644 index 0c20d1448..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_atk_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_atk_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_atk_r_2.png deleted file mode 100644 index 417c5b8b5..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_atk_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_atk_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_atk_u_1.png deleted file mode 100644 index 69db09e46..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_atk_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_atk_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_atk_u_2.png deleted file mode 100644 index 4766edc40..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_atk_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_dead.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_dead.png deleted file mode 100644 index b91ec9492..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_dead.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_idle_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_idle_d_1.png deleted file mode 100644 index fc0edba0e..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_idle_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_idle_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_idle_d_2.png deleted file mode 100644 index c3d47b29c..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_idle_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_idle_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_idle_l_1.png deleted file mode 100644 index 6930443fe..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_idle_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_idle_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_idle_l_2.png deleted file mode 100644 index c2fd87ad5..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_idle_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_idle_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_idle_r_1.png deleted file mode 100644 index 58cce6eb9..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_idle_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_idle_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_idle_r_2.png deleted file mode 100644 index ad6d38e66..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_idle_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_idle_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_idle_u_1.png deleted file mode 100644 index 1e6bd63b8..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_idle_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_idle_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_idle_u_2.png deleted file mode 100644 index 33bfa7b94..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mage_idle_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_atk_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_atk_d_1.png deleted file mode 100644 index 45ad9dcd6..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_atk_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_atk_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_atk_d_2.png deleted file mode 100644 index 5ed3fb187..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_atk_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_atk_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_atk_l_1.png deleted file mode 100644 index 444a33f1b..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_atk_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_atk_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_atk_l_2.png deleted file mode 100644 index 7d55d7484..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_atk_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_atk_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_atk_r_1.png deleted file mode 100644 index 0ed1f1c82..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_atk_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_atk_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_atk_r_2.png deleted file mode 100644 index 70c5f4bd1..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_atk_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_atk_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_atk_u_1.png deleted file mode 100644 index bb91d2277..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_atk_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_atk_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_atk_u_2.png deleted file mode 100644 index be4bd9908..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_atk_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_dead.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_dead.png deleted file mode 100644 index 295f09933..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_dead.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_idle_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_idle_d_1.png deleted file mode 100644 index 86bb9b11e..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_idle_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_idle_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_idle_d_2.png deleted file mode 100644 index e7b4cfb85..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_idle_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_idle_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_idle_l_1.png deleted file mode 100644 index 668fbe367..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_idle_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_idle_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_idle_l_2.png deleted file mode 100644 index bb4bda0f5..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_idle_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_idle_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_idle_r_1.png deleted file mode 100644 index 3c670a072..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_idle_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_idle_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_idle_r_2.png deleted file mode 100644 index 0422c392c..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_idle_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_idle_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_idle_u_1.png deleted file mode 100644 index 45b23e705..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_idle_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_idle_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_idle_u_2.png deleted file mode 100644 index 74f6a9629..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_mino_idle_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_atk_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_atk_d_1.png deleted file mode 100644 index 4e62fb5a8..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_atk_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_atk_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_atk_d_2.png deleted file mode 100644 index 2dbea9dba..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_atk_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_atk_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_atk_l_1.png deleted file mode 100644 index 3e0b600b0..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_atk_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_atk_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_atk_l_2.png deleted file mode 100644 index d7da98d1e..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_atk_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_atk_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_atk_r_1.png deleted file mode 100644 index a01ff7da0..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_atk_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_atk_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_atk_r_2.png deleted file mode 100644 index e719fd314..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_atk_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_atk_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_atk_u_1.png deleted file mode 100644 index ad45cb989..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_atk_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_atk_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_atk_u_2.png deleted file mode 100644 index 6027ba433..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_atk_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_dead.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_dead.png deleted file mode 100644 index b1eee2d70..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_dead.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_idle_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_idle_d_1.png deleted file mode 100644 index e3122a4a8..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_idle_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_idle_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_idle_d_2.png deleted file mode 100644 index 1f2cf6e0d..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_idle_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_idle_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_idle_l_1.png deleted file mode 100644 index 5aebc9692..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_idle_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_idle_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_idle_l_2.png deleted file mode 100644 index be500b66b..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_idle_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_idle_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_idle_r_1.png deleted file mode 100644 index aa31be94f..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_idle_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_idle_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_idle_r_2.png deleted file mode 100644 index 5c87bb0b2..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_idle_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_idle_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_idle_u_1.png deleted file mode 100644 index e6b015511..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_idle_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_idle_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_idle_u_2.png deleted file mode 100644 index 055afe94a..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_necro_idle_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_atk_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_atk_d_1.png deleted file mode 100644 index c066bc32d..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_atk_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_atk_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_atk_d_2.png deleted file mode 100644 index 9cd19462f..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_atk_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_atk_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_atk_l_1.png deleted file mode 100644 index 84d69e762..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_atk_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_atk_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_atk_l_2.png deleted file mode 100644 index 6952f9965..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_atk_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_atk_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_atk_r_1.png deleted file mode 100644 index 94b12e812..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_atk_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_atk_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_atk_r_2.png deleted file mode 100644 index ae27e7ee3..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_atk_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_atk_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_atk_u_1.png deleted file mode 100644 index 34dc41e3c..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_atk_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_atk_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_atk_u_2.png deleted file mode 100644 index 39262d898..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_atk_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_dead.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_dead.png deleted file mode 100644 index 86df7db53..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_dead.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_idle_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_idle_d_1.png deleted file mode 100644 index 0c144f4fb..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_idle_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_idle_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_idle_d_2.png deleted file mode 100644 index 24f398289..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_idle_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_idle_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_idle_l_1.png deleted file mode 100644 index 59226abe2..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_idle_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_idle_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_idle_l_2.png deleted file mode 100644 index 73e81b226..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_idle_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_idle_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_idle_r_1.png deleted file mode 100644 index 16f784cd2..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_idle_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_idle_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_idle_r_2.png deleted file mode 100644 index 2752705ec..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_idle_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_idle_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_idle_u_1.png deleted file mode 100644 index f81f2c33d..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_idle_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_idle_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_idle_u_2.png deleted file mode 100644 index 35d353bd8..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_orc_idle_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_atk_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_atk_d_1.png deleted file mode 100644 index b2eb3a768..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_atk_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_atk_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_atk_d_2.png deleted file mode 100644 index 6e713b55d..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_atk_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_atk_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_atk_l_1.png deleted file mode 100644 index 841946060..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_atk_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_atk_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_atk_l_2.png deleted file mode 100644 index 3e1cfa1cb..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_atk_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_atk_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_atk_r_1.png deleted file mode 100644 index 9c8a2676c..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_atk_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_atk_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_atk_r_2.png deleted file mode 100644 index d52f5c16d..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_atk_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_atk_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_atk_u_1.png deleted file mode 100644 index 83f8ca8ff..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_atk_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_atk_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_atk_u_2.png deleted file mode 100644 index 4d280e71b..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_atk_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_dead.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_dead.png deleted file mode 100644 index bdfcb3717..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_dead.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_idle_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_idle_d_1.png deleted file mode 100644 index 562e91727..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_idle_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_idle_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_idle_d_2.png deleted file mode 100644 index 1383b9f38..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_idle_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_idle_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_idle_l_1.png deleted file mode 100644 index 1331f23af..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_idle_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_idle_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_idle_l_2.png deleted file mode 100644 index e1e21325c..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_idle_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_idle_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_idle_r_1.png deleted file mode 100644 index fb99e3c16..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_idle_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_idle_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_idle_r_2.png deleted file mode 100644 index 7a0c6351b..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_idle_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_idle_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_idle_u_1.png deleted file mode 100644 index 1487b0f36..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_idle_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_idle_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_idle_u_2.png deleted file mode 100644 index b8e74a4dd..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_paladin_idle_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_atk_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_atk_d_1.png deleted file mode 100644 index 41481abc7..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_atk_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_atk_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_atk_d_2.png deleted file mode 100644 index a069de0ad..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_atk_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_atk_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_atk_l_1.png deleted file mode 100644 index 3addbbfca..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_atk_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_atk_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_atk_l_2.png deleted file mode 100644 index 25c229a8b..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_atk_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_atk_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_atk_r_1.png deleted file mode 100644 index 427a153e0..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_atk_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_atk_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_atk_r_2.png deleted file mode 100644 index 4b3a9c46b..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_atk_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_atk_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_atk_u_1.png deleted file mode 100644 index 033a5eba3..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_atk_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_atk_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_atk_u_2.png deleted file mode 100644 index eccb8fb54..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_atk_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_dead.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_dead.png deleted file mode 100644 index cc7d2b995..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_dead.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_idle_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_idle_d_1.png deleted file mode 100644 index 42656449b..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_idle_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_idle_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_idle_d_2.png deleted file mode 100644 index fbe082a55..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_idle_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_idle_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_idle_l_1.png deleted file mode 100644 index fcdd1644a..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_idle_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_idle_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_idle_l_2.png deleted file mode 100644 index 40ecf282c..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_idle_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_idle_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_idle_r_1.png deleted file mode 100644 index ce93e58ad..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_idle_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_idle_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_idle_r_2.png deleted file mode 100644 index 30de2621d..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_idle_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_idle_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_idle_u_1.png deleted file mode 100644 index 3de29521a..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_idle_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_idle_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_idle_u_2.png deleted file mode 100644 index 9adbcd8fb..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_peasant_idle_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_atk_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_atk_d_1.png deleted file mode 100644 index d8a8f6b82..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_atk_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_atk_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_atk_d_2.png deleted file mode 100644 index 66926e906..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_atk_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_atk_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_atk_l_1.png deleted file mode 100644 index d5fe38984..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_atk_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_atk_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_atk_l_2.png deleted file mode 100644 index af16ef2bb..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_atk_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_atk_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_atk_r_1.png deleted file mode 100644 index b2d1ae0f7..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_atk_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_atk_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_atk_r_2.png deleted file mode 100644 index 66e680f06..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_atk_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_atk_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_atk_u_1.png deleted file mode 100644 index c110e1dd1..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_atk_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_atk_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_atk_u_2.png deleted file mode 100644 index 262bb7016..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_atk_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_dead.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_dead.png deleted file mode 100644 index 434278b60..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_dead.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_idle_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_idle_d_1.png deleted file mode 100644 index 99eff89f6..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_idle_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_idle_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_idle_d_2.png deleted file mode 100644 index b81a4f7e8..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_idle_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_idle_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_idle_l_1.png deleted file mode 100644 index 8f2b64c48..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_idle_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_idle_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_idle_l_2.png deleted file mode 100644 index ed9fc5ab0..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_idle_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_idle_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_idle_r_1.png deleted file mode 100644 index 2c4875954..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_idle_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_idle_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_idle_r_2.png deleted file mode 100644 index 84579f2b5..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_idle_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_idle_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_idle_u_1.png deleted file mode 100644 index 73df85a86..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_idle_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_idle_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_idle_u_2.png deleted file mode 100644 index 3527abd1c..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_priest_idle_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_atk_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_atk_d_1.png deleted file mode 100644 index f12a6e671..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_atk_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_atk_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_atk_d_2.png deleted file mode 100644 index 34d8c9184..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_atk_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_atk_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_atk_l_1.png deleted file mode 100644 index 99e1ea425..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_atk_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_atk_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_atk_l_2.png deleted file mode 100644 index 0550cec97..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_atk_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_atk_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_atk_r_1.png deleted file mode 100644 index a515e239c..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_atk_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_atk_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_atk_r_2.png deleted file mode 100644 index 29e95312d..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_atk_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_atk_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_atk_u_1.png deleted file mode 100644 index 4612f4a04..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_atk_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_atk_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_atk_u_2.png deleted file mode 100644 index 95cee6910..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_atk_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_dead.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_dead.png deleted file mode 100644 index 2c37585fc..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_dead.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_idle_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_idle_d_1.png deleted file mode 100644 index 095a4ea49..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_idle_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_idle_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_idle_d_2.png deleted file mode 100644 index 66df9016e..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_idle_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_idle_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_idle_l_1.png deleted file mode 100644 index 0729b0bc3..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_idle_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_idle_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_idle_l_2.png deleted file mode 100644 index ce3928a6b..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_idle_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_idle_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_idle_r_1.png deleted file mode 100644 index ee86fb6f8..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_idle_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_idle_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_idle_r_2.png deleted file mode 100644 index fd8bedee7..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_idle_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_idle_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_idle_u_1.png deleted file mode 100644 index 965dc1298..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_idle_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_idle_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_idle_u_2.png deleted file mode 100644 index e5c887a3c..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_rat_idle_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_atk_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_atk_d_1.png deleted file mode 100644 index c953fd72a..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_atk_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_atk_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_atk_d_2.png deleted file mode 100644 index b9295969f..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_atk_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_atk_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_atk_l_1.png deleted file mode 100644 index 87aeec44b..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_atk_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_atk_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_atk_l_2.png deleted file mode 100644 index c84159f26..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_atk_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_atk_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_atk_r_1.png deleted file mode 100644 index 996069f86..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_atk_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_atk_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_atk_r_2.png deleted file mode 100644 index c68a4bfa2..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_atk_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_atk_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_atk_u_1.png deleted file mode 100644 index a2f9dfe94..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_atk_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_atk_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_atk_u_2.png deleted file mode 100644 index 623217ca1..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_atk_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_dead.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_dead.png deleted file mode 100644 index 0432e0c23..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_dead.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_idle_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_idle_d_1.png deleted file mode 100644 index 371afc4f2..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_idle_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_idle_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_idle_d_2.png deleted file mode 100644 index 7d12aa6a1..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_idle_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_idle_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_idle_l_1.png deleted file mode 100644 index f9764d76a..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_idle_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_idle_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_idle_l_2.png deleted file mode 100644 index bc75fdae7..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_idle_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_idle_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_idle_r_1.png deleted file mode 100644 index 565b6184a..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_idle_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_idle_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_idle_r_2.png deleted file mode 100644 index cf3ee6b57..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_idle_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_idle_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_idle_u_1.png deleted file mode 100644 index ef77327d4..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_idle_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_idle_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_idle_u_2.png deleted file mode 100644 index c2f20ccdd..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_reaper_idle_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_atk_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_atk_d_1.png deleted file mode 100644 index b9eb2d142..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_atk_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_atk_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_atk_d_2.png deleted file mode 100644 index 74b8ec100..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_atk_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_atk_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_atk_l_1.png deleted file mode 100644 index d12edeaba..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_atk_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_atk_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_atk_l_2.png deleted file mode 100644 index cb98fce76..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_atk_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_atk_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_atk_r_1.png deleted file mode 100644 index 2e3b901d5..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_atk_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_atk_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_atk_r_2.png deleted file mode 100644 index ed4a4f622..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_atk_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_atk_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_atk_u_1.png deleted file mode 100644 index 1a88b8330..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_atk_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_atk_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_atk_u_2.png deleted file mode 100644 index a5214fa03..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_atk_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_dead.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_dead.png deleted file mode 100644 index c7541d547..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_dead.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_idle_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_idle_d_1.png deleted file mode 100644 index df6857c6b..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_idle_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_idle_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_idle_d_2.png deleted file mode 100644 index 85e61aef9..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_idle_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_idle_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_idle_l_1.png deleted file mode 100644 index 4fd0b56a3..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_idle_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_idle_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_idle_l_2.png deleted file mode 100644 index c3cf2552c..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_idle_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_idle_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_idle_r_1.png deleted file mode 100644 index 7e84b4543..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_idle_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_idle_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_idle_r_2.png deleted file mode 100644 index c6b0fb029..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_idle_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_idle_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_idle_u_1.png deleted file mode 100644 index 763c88f09..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_idle_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_idle_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_idle_u_2.png deleted file mode 100644 index 479e81b4e..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelmage_idle_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_atk_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_atk_d_1.png deleted file mode 100644 index 91c2c7faa..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_atk_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_atk_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_atk_d_2.png deleted file mode 100644 index 07cdae721..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_atk_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_atk_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_atk_l_1.png deleted file mode 100644 index 18ad58bc1..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_atk_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_atk_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_atk_l_2.png deleted file mode 100644 index 7df26334c..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_atk_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_atk_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_atk_r_1.png deleted file mode 100644 index 235ed9ae0..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_atk_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_atk_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_atk_r_2.png deleted file mode 100644 index c00afc3ed..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_atk_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_atk_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_atk_u_1.png deleted file mode 100644 index 0e122add2..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_atk_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_atk_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_atk_u_2.png deleted file mode 100644 index 0cf91a161..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_atk_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_dead.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_dead.png deleted file mode 100644 index 939ba7ad3..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_dead.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_idle_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_idle_d_1.png deleted file mode 100644 index 5b63bb654..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_idle_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_idle_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_idle_d_2.png deleted file mode 100644 index e2b0e807d..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_idle_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_idle_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_idle_l_1.png deleted file mode 100644 index f2a7771f8..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_idle_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_idle_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_idle_l_2.png deleted file mode 100644 index 2e91eba49..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_idle_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_idle_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_idle_r_1.png deleted file mode 100644 index 1e575231e..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_idle_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_idle_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_idle_r_2.png deleted file mode 100644 index d43f4de20..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_idle_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_idle_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_idle_u_1.png deleted file mode 100644 index 5bfdaa3b9..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_idle_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_idle_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_idle_u_2.png deleted file mode 100644 index 14f2792da..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelshield_idle_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_atk_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_atk_d_1.png deleted file mode 100644 index 10dcb671d..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_atk_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_atk_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_atk_d_2.png deleted file mode 100644 index b086c0eb9..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_atk_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_atk_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_atk_l_1.png deleted file mode 100644 index 7b1604b57..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_atk_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_atk_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_atk_l_2.png deleted file mode 100644 index f49b440bc..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_atk_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_atk_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_atk_r_1.png deleted file mode 100644 index 67d22a447..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_atk_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_atk_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_atk_r_2.png deleted file mode 100644 index 9586d4ff6..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_atk_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_atk_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_atk_u_1.png deleted file mode 100644 index 9baf3fc4f..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_atk_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_atk_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_atk_u_2.png deleted file mode 100644 index 350543e8d..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_atk_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_dead.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_dead.png deleted file mode 100644 index 18c4320a0..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_dead.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_idle_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_idle_d_1.png deleted file mode 100644 index 4d81c83f3..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_idle_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_idle_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_idle_d_2.png deleted file mode 100644 index ddafac9c4..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_idle_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_idle_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_idle_l_1.png deleted file mode 100644 index 706b46f94..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_idle_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_idle_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_idle_l_2.png deleted file mode 100644 index 2abffa139..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_idle_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_idle_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_idle_r_1.png deleted file mode 100644 index 61a89bd83..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_idle_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_idle_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_idle_r_2.png deleted file mode 100644 index 7797d4691..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_idle_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_idle_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_idle_u_1.png deleted file mode 100644 index 1007c2ce4..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_idle_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_idle_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_idle_u_2.png deleted file mode 100644 index cecade680..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_skelwar_idle_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_atk_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_atk_d_1.png deleted file mode 100644 index ae02b0bb1..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_atk_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_atk_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_atk_d_2.png deleted file mode 100644 index 094bf01b0..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_atk_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_atk_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_atk_l_1.png deleted file mode 100644 index a5e026b4e..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_atk_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_atk_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_atk_l_2.png deleted file mode 100644 index faeae0ed2..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_atk_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_atk_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_atk_r_1.png deleted file mode 100644 index 67f783a6d..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_atk_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_atk_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_atk_r_2.png deleted file mode 100644 index 74477a35a..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_atk_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_atk_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_atk_u_1.png deleted file mode 100644 index ccd53a056..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_atk_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_atk_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_atk_u_2.png deleted file mode 100644 index c8e84283d..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_atk_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_dead.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_dead.png deleted file mode 100644 index bb236f225..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_dead.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_idle_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_idle_d_1.png deleted file mode 100644 index abe268e26..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_idle_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_idle_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_idle_d_2.png deleted file mode 100644 index 7dceff96f..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_idle_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_idle_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_idle_l_1.png deleted file mode 100644 index 1de33399c..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_idle_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_idle_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_idle_l_2.png deleted file mode 100644 index 646ef4386..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_idle_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_idle_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_idle_r_1.png deleted file mode 100644 index dcfd79f0b..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_idle_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_idle_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_idle_r_2.png deleted file mode 100644 index ab10546a3..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_idle_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_idle_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_idle_u_1.png deleted file mode 100644 index f2e026b7b..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_idle_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_idle_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_idle_u_2.png deleted file mode 100644 index ccd53a056..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_slime_idle_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_atk_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_atk_d_1.png deleted file mode 100644 index 987840317..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_atk_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_atk_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_atk_d_2.png deleted file mode 100644 index e116bcd39..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_atk_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_atk_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_atk_l_1.png deleted file mode 100644 index 92b83f08d..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_atk_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_atk_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_atk_l_2.png deleted file mode 100644 index 583d66ed8..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_atk_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_atk_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_atk_r_1.png deleted file mode 100644 index f8ee77e25..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_atk_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_atk_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_atk_r_2.png deleted file mode 100644 index 73d897f88..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_atk_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_atk_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_atk_u_1.png deleted file mode 100644 index b389c27b1..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_atk_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_atk_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_atk_u_2.png deleted file mode 100644 index 5cd6e87d4..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_atk_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_dead.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_dead.png deleted file mode 100644 index b25b02df2..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_dead.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_idle_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_idle_d_1.png deleted file mode 100644 index 639c0710d..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_idle_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_idle_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_idle_d_2.png deleted file mode 100644 index e4f4e53b9..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_idle_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_idle_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_idle_l_1.png deleted file mode 100644 index 616e870eb..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_idle_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_idle_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_idle_l_2.png deleted file mode 100644 index df8756573..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_idle_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_idle_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_idle_r_1.png deleted file mode 100644 index f449c0d23..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_idle_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_idle_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_idle_r_2.png deleted file mode 100644 index b73daea94..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_idle_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_idle_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_idle_u_1.png deleted file mode 100644 index 973f9817d..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_idle_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_idle_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_idle_u_2.png deleted file mode 100644 index bb47ed210..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_snake_idle_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_atk_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_atk_d_1.png deleted file mode 100644 index 5de5415d2..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_atk_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_atk_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_atk_d_2.png deleted file mode 100644 index c4bd92704..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_atk_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_atk_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_atk_l_1.png deleted file mode 100644 index be37500d3..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_atk_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_atk_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_atk_l_2.png deleted file mode 100644 index d981d10df..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_atk_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_atk_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_atk_r_1.png deleted file mode 100644 index 114e88492..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_atk_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_atk_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_atk_r_2.png deleted file mode 100644 index edb9772ab..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_atk_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_atk_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_atk_u_1.png deleted file mode 100644 index f2f9e0af3..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_atk_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_atk_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_atk_u_2.png deleted file mode 100644 index f80132561..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_atk_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_dead.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_dead.png deleted file mode 100644 index dc0f91c5b..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_dead.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_idle_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_idle_d_1.png deleted file mode 100644 index ff08378d6..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_idle_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_idle_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_idle_d_2.png deleted file mode 100644 index 6edf011c8..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_idle_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_idle_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_idle_l_1.png deleted file mode 100644 index 1cc48ce05..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_idle_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_idle_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_idle_l_2.png deleted file mode 100644 index 7e0287dc7..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_idle_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_idle_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_idle_r_1.png deleted file mode 100644 index 3e33c9716..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_idle_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_idle_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_idle_r_2.png deleted file mode 100644 index b577aa630..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_idle_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_idle_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_idle_u_1.png deleted file mode 100644 index 98f04b81c..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_idle_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_idle_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_idle_u_2.png deleted file mode 100644 index abef5d8d4..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_spider_idle_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_atk_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_atk_d_1.png deleted file mode 100644 index f409e929e..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_atk_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_atk_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_atk_d_2.png deleted file mode 100644 index 9e56bb6c8..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_atk_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_atk_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_atk_l_1.png deleted file mode 100644 index 94723c3b6..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_atk_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_atk_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_atk_l_2.png deleted file mode 100644 index 371cf4da5..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_atk_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_atk_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_atk_r_1.png deleted file mode 100644 index 6cc8988ed..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_atk_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_atk_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_atk_r_2.png deleted file mode 100644 index f1149ab2e..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_atk_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_atk_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_atk_u_1.png deleted file mode 100644 index 800e2a106..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_atk_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_atk_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_atk_u_2.png deleted file mode 100644 index 733a73c0a..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_atk_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_dead.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_dead.png deleted file mode 100644 index 86f002426..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_dead.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_idle_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_idle_d_1.png deleted file mode 100644 index 730f2edef..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_idle_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_idle_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_idle_d_2.png deleted file mode 100644 index b4614586c..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_idle_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_idle_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_idle_l_1.png deleted file mode 100644 index 12ab1b648..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_idle_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_idle_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_idle_l_2.png deleted file mode 100644 index 46a73a644..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_idle_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_idle_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_idle_r_1.png deleted file mode 100644 index 816e2bff7..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_idle_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_idle_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_idle_r_2.png deleted file mode 100644 index f3e0e4ddc..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_idle_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_idle_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_idle_u_1.png deleted file mode 100644 index bfb02486b..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_idle_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_idle_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_idle_u_2.png deleted file mode 100644 index 1a027a6c1..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_wolf_idle_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_atk_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_atk_d_1.png deleted file mode 100644 index 92d24d9a7..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_atk_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_atk_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_atk_d_2.png deleted file mode 100644 index f36e68084..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_atk_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_atk_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_atk_l_1.png deleted file mode 100644 index 9f1831c52..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_atk_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_atk_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_atk_l_2.png deleted file mode 100644 index 1f238fe04..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_atk_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_atk_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_atk_r_1.png deleted file mode 100644 index 951990f73..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_atk_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_atk_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_atk_r_2.png deleted file mode 100644 index 94478a1c5..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_atk_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_atk_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_atk_u_1.png deleted file mode 100644 index f96c793f7..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_atk_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_atk_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_atk_u_2.png deleted file mode 100644 index a198c651f..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_atk_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_dead.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_dead.png deleted file mode 100644 index cfc9c1745..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_dead.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_idle_d_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_idle_d_1.png deleted file mode 100644 index 9ff0c4813..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_idle_d_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_idle_d_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_idle_d_2.png deleted file mode 100644 index ee8d250ba..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_idle_d_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_idle_l_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_idle_l_1.png deleted file mode 100644 index f9a94b439..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_idle_l_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_idle_l_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_idle_l_2.png deleted file mode 100644 index 09c4a410e..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_idle_l_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_idle_r_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_idle_r_1.png deleted file mode 100644 index 731b71fdf..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_idle_r_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_idle_r_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_idle_r_2.png deleted file mode 100644 index b9fb05be2..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_idle_r_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_idle_u_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_idle_u_1.png deleted file mode 100644 index 7b72f72f2..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_idle_u_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_idle_u_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_idle_u_2.png deleted file mode 100644 index 4cd78d09c..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/monsters/wee_mons_zombie_idle_u_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_archer.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_archer.png deleted file mode 100644 index 8ad714750..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_archer.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_archer_blink.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_archer_blink.png deleted file mode 100644 index b1c07aac7..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_archer_blink.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_bat.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_bat.png deleted file mode 100644 index a0f206d79..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_bat.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_bat_blink.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_bat_blink.png deleted file mode 100644 index b868d008b..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_bat_blink.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_chicken.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_chicken.png deleted file mode 100644 index d54614f04..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_chicken.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_chicken_blink.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_chicken_blink.png deleted file mode 100644 index c6f141539..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_chicken_blink.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_demon.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_demon.png deleted file mode 100644 index 95111cf66..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_demon.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_demon_blink.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_demon_blink.png deleted file mode 100644 index 3e0dfd300..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_demon_blink.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_druid.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_druid.png deleted file mode 100644 index adc4497ad..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_druid.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_druid_blink.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_druid_blink.png deleted file mode 100644 index 6bfb4aec8..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_druid_blink.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_dwarf.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_dwarf.png deleted file mode 100644 index 06e5b7243..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_dwarf.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_dwarf_blink.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_dwarf_blink.png deleted file mode 100644 index 24ca71566..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_dwarf_blink.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_elfarcher.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_elfarcher.png deleted file mode 100644 index f2ef82466..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_elfarcher.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_elfarcher_blink.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_elfarcher_blink.png deleted file mode 100644 index d77c1f161..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_elfarcher_blink.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_elffight.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_elffight.png deleted file mode 100644 index 0f6b794b7..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_elffight.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_elffight_blink.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_elffight_blink.png deleted file mode 100644 index 9cbe15456..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_elffight_blink.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_elfmage.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_elfmage.png deleted file mode 100644 index 59ce3df66..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_elfmage.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_elfmage_blink.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_elfmage_blink.png deleted file mode 100644 index f7afd4663..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_elfmage_blink.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_eye.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_eye.png deleted file mode 100644 index d2173e1c8..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_eye.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_eye_blink.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_eye_blink.png deleted file mode 100644 index 0f6c04660..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_eye_blink.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_fighter.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_fighter.png deleted file mode 100644 index b581deec1..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_fighter.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_fighter_blink.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_fighter_blink.png deleted file mode 100644 index a466210f5..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_fighter_blink.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_ghost.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_ghost.png deleted file mode 100644 index 6c4b7c817..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_ghost.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_ghost_blink.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_ghost_blink.png deleted file mode 100644 index 3f33b994b..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_ghost_blink.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_gobmage.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_gobmage.png deleted file mode 100644 index a1f1ffd9e..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_gobmage.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_gobmage_blink.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_gobmage_blink.png deleted file mode 100644 index 284de4562..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_gobmage_blink.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_gobwar.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_gobwar.png deleted file mode 100644 index 45a145e83..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_gobwar.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_gobwar_blink.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_gobwar_blink.png deleted file mode 100644 index c95aef37f..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_gobwar_blink.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_knight.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_knight.png deleted file mode 100644 index fab554cdd..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_knight.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_knight_blink.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_knight_blink.png deleted file mode 100644 index 4df8068fe..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_knight_blink.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_mage.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_mage.png deleted file mode 100644 index 684037b45..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_mage.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_mage_blink.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_mage_blink.png deleted file mode 100644 index a997243e4..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_mage_blink.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_mino.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_mino.png deleted file mode 100644 index cbbf165bb..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_mino.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_mino_blink.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_mino_blink.png deleted file mode 100644 index a3c96f4b4..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_mino_blink.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_necro.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_necro.png deleted file mode 100644 index 7c19ecfc3..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_necro.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_necro_blink.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_necro_blink.png deleted file mode 100644 index 199e38465..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_necro_blink.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_orc.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_orc.png deleted file mode 100644 index 7d48e178d..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_orc.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_orc_blink.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_orc_blink.png deleted file mode 100644 index 2ed69addd..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_orc_blink.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_paladin.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_paladin.png deleted file mode 100644 index 7aac30ef9..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_paladin.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_paladin_blink.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_paladin_blink.png deleted file mode 100644 index 23e817a82..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_paladin_blink.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_peasant.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_peasant.png deleted file mode 100644 index 0aa49922c..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_peasant.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_peasant_blink.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_peasant_blink.png deleted file mode 100644 index 2ab97bed3..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_peasant_blink.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_priest.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_priest.png deleted file mode 100644 index b938d5e1e..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_priest.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_priest_blink.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_priest_blink.png deleted file mode 100644 index 3fbda2d95..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_priest_blink.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_rat.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_rat.png deleted file mode 100644 index 439a9ffa5..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_rat.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_rat_blink.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_rat_blink.png deleted file mode 100644 index a5654e2eb..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_rat_blink.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_reaper.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_reaper.png deleted file mode 100644 index 91d791d4e..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_reaper.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_reaper_blink.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_reaper_blink.png deleted file mode 100644 index 882fc8180..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_reaper_blink.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_skelmage.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_skelmage.png deleted file mode 100644 index b865a8231..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_skelmage.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_skelmage_blink.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_skelmage_blink.png deleted file mode 100644 index c66efd95e..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_skelmage_blink.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_skelshield.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_skelshield.png deleted file mode 100644 index cdfec11f0..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_skelshield.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_skelshield_blink.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_skelshield_blink.png deleted file mode 100644 index 448939d5a..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_skelshield_blink.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_skelwar.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_skelwar.png deleted file mode 100644 index 3595e8873..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_skelwar.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_skelwar_blink.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_skelwar_blink.png deleted file mode 100644 index e361eeb59..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_skelwar_blink.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_slime.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_slime.png deleted file mode 100644 index 46092c89f..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_slime.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_slime_blink.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_slime_blink.png deleted file mode 100644 index 14cad1a25..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_slime_blink.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_snake.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_snake.png deleted file mode 100644 index f6b83b5c3..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_snake.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_snake_blink.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_snake_blink.png deleted file mode 100644 index de0feecb1..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_snake_blink.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_spider.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_spider.png deleted file mode 100644 index c1cc83a2e..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_spider.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_spider_blink.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_spider_blink.png deleted file mode 100644 index 7060f75f8..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_spider_blink.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_wolf.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_wolf.png deleted file mode 100644 index c13a31627..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_wolf.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_wolf_blink.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_wolf_blink.png deleted file mode 100644 index 3b010a0ea..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_wolf_blink.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_zombie.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_zombie.png deleted file mode 100644 index 128c5c50d..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_zombie.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_zombie_blink.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_zombie_blink.png deleted file mode 100644 index 2149ca680..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/portraits/wee_portrait_zombie_blink.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bar_empty_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bar_empty_1.png deleted file mode 100644 index 44ea998a4..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bar_empty_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bar_empty_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bar_empty_2.png deleted file mode 100644 index 55f806e49..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bar_empty_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bar_empty_3.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bar_empty_3.png deleted file mode 100644 index b0d36c3ab..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bar_empty_3.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bar_full_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bar_full_1.png deleted file mode 100644 index 6782e5761..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bar_full_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bar_full_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bar_full_2.png deleted file mode 100644 index 7fe33b892..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bar_full_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bar_full_3.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bar_full_3.png deleted file mode 100644 index 774dc550c..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bar_full_3.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bubble_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bubble_1.png deleted file mode 100644 index f8aab2444..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bubble_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bubble_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bubble_2.png deleted file mode 100644 index fcbd32ff9..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bubble_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bubble_3.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bubble_3.png deleted file mode 100644 index 4f7cc4632..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bubble_3.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bubble_4.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bubble_4.png deleted file mode 100644 index 2bd81a34a..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bubble_4.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bubble_5.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bubble_5.png deleted file mode 100644 index d841a352a..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bubble_5.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bubble_6.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bubble_6.png deleted file mode 100644 index a895fbe27..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bubble_6.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bubble_7.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bubble_7.png deleted file mode 100644 index 935c6b9d3..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bubble_7.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bubble_8.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bubble_8.png deleted file mode 100644 index a26c50b5c..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bubble_8.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bubble_9.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bubble_9.png deleted file mode 100644 index 0eb4c9500..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bubble_9.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bubble_left.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bubble_left.png deleted file mode 100644 index 8a2eed6b2..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bubble_left.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bubble_right.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bubble_right.png deleted file mode 100644 index ded9fa378..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_bubble_right.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_button_b_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_button_b_1.png deleted file mode 100644 index 3ae50e18c..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_button_b_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_button_b_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_button_b_2.png deleted file mode 100644 index 26d4d0b2f..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_button_b_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_button_c_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_button_c_1.png deleted file mode 100644 index 03201712f..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_button_c_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_button_c_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_button_c_2.png deleted file mode 100644 index 127762702..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_button_c_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_button_down_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_button_down_1.png deleted file mode 100644 index 29f28e714..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_button_down_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_button_down_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_button_down_2.png deleted file mode 100644 index 583594a2d..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_button_down_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_button_up_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_button_up_1.png deleted file mode 100644 index 61a61a7e7..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_button_up_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_button_up_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_button_up_2.png deleted file mode 100644 index 03b5586ed..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_button_up_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_checkbox_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_checkbox_1.png deleted file mode 100644 index 8954a4566..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_checkbox_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_checkbox_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_checkbox_2.png deleted file mode 100644 index 9a1412afb..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_checkbox_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_dialog_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_dialog_1.png deleted file mode 100644 index 6e4f1a3de..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_dialog_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_dialog_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_dialog_2.png deleted file mode 100644 index cdfa736d8..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_dialog_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_dialog_3.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_dialog_3.png deleted file mode 100644 index e16847c40..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_dialog_3.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_dialog_4.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_dialog_4.png deleted file mode 100644 index 642b40949..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_dialog_4.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_dialog_5.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_dialog_5.png deleted file mode 100644 index 8c86ce6af..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_dialog_5.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_dialog_6.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_dialog_6.png deleted file mode 100644 index fc25a524f..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_dialog_6.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_dialog_7.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_dialog_7.png deleted file mode 100644 index 265fecddd..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_dialog_7.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_dialog_8.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_dialog_8.png deleted file mode 100644 index cd65c78f8..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_dialog_8.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_dialog_9.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_dialog_9.png deleted file mode 100644 index f7b6a543b..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_dialog_9.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_heart.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_heart.png deleted file mode 100644 index 3a7342e5c..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_heart.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_orb.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_orb.png deleted file mode 100644 index 1861d8a53..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_orb.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_oryx.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_oryx.png deleted file mode 100644 index 548bcfe03..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_oryx.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_pointer_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_pointer_1.png deleted file mode 100644 index 624d4821b..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_pointer_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_pointer_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_pointer_2.png deleted file mode 100644 index bb222de30..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_pointer_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_scroll_h_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_scroll_h_1.png deleted file mode 100644 index 6e1669988..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_scroll_h_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_scroll_h_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_scroll_h_2.png deleted file mode 100644 index eca945475..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_scroll_h_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_scroll_h_3.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_scroll_h_3.png deleted file mode 100644 index 1f26a355f..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_scroll_h_3.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_scroll_handle.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_scroll_handle.png deleted file mode 100644 index 00e51bb75..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_scroll_handle.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_scroll_v_1.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_scroll_v_1.png deleted file mode 100644 index fb2c112b6..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_scroll_v_1.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_scroll_v_2.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_scroll_v_2.png deleted file mode 100644 index d516fc263..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_scroll_v_2.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_scroll_v_3.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_scroll_v_3.png deleted file mode 100644 index 2132dedc6..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_sliced/ui/wee_ui_scroll_v_3.png and /dev/null differ diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_tiled/readme.txt b/apps/dojo/static/assets/oryx_wee_dungeon/wee_tiled/readme.txt deleted file mode 100644 index d35121041..000000000 --- a/apps/dojo/static/assets/oryx_wee_dungeon/wee_tiled/readme.txt +++ /dev/null @@ -1,2 +0,0 @@ -Tiled is a free level editor available at: -https://www.mapeditor.org/ \ No newline at end of file diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_tiled/wee_fantasy.tmx b/apps/dojo/static/assets/oryx_wee_dungeon/wee_tiled/wee_fantasy.tmx deleted file mode 100644 index 6d4466033..000000000 --- a/apps/dojo/static/assets/oryx_wee_dungeon/wee_tiled/wee_fantasy.tmx +++ /dev/null @@ -1,275 +0,0 @@ - - - - - - -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,81,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,13,101,101,101,101,101,101,101,13,101,101,101,101,101,101,101,13,81,35,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,35,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,13,101,21,101,101,101,101,101,13,101,101,101,101,101,101,101,13,81,35,101,35,35,35,35,35,35,35,35,35,35,35,35,35,101,35,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,13,101,101,101,13,13,13,13,13,13,13,13,13,101,101,101,13,81,35,101,35,101,101,101,101,101,101,101,101,101,101,101,35,101,35,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,13,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,13,81,35,101,35,101,35,35,101,35,101,35,101,35,35,101,35,101,35,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,13,101,101,101,83,83,83,83,83,83,83,83,83,101,101,101,13,81,35,101,35,101,35,101,101,101,101,101,101,101,35,101,35,101,35,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,13,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,13,81,35,101,35,101,35,101,87,87,87,87,87,101,35,101,35,101,35,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,13,13,13,13,13,13,13,13,13,13,13,13,15,13,13,13,13,81,35,101,35,101,35,101,87,101,101,101,87,101,35,101,35,101,35,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,13,101,101,101,101,13,101,101,101,101,101,101,101,101,101,101,13,81,35,101,35,101,35,101,87,101,43,101,87,101,35,101,35,101,35,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,13,101,101,101,101,13,101,101,101,101,101,101,101,101,101,101,13,81,35,101,35,101,35,101,87,101,101,101,87,101,35,101,35,101,35,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,13,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,13,81,35,101,35,101,35,101,87,87,87,87,87,101,35,101,35,101,35,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,13,101,101,101,101,13,101,101,101,101,101,101,101,101,101,101,13,81,35,101,35,101,35,101,101,101,101,101,101,101,35,101,35,101,35,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,13,101,101,101,101,13,101,101,101,101,101,101,101,101,101,101,13,81,35,101,35,101,35,35,101,35,101,35,101,35,35,35,35,101,35,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,13,101,101,101,101,13,101,101,101,101,101,101,101,101,101,101,13,81,35,101,35,101,101,101,101,101,101,101,101,101,101,101,101,101,35,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,81,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,81,101,101,101,101,101,101,101,101,101,101,101,101,101,13,101,101,101,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,57,101,101,101,101,101,101,101,57,101,101,101,101,101,101,101,57,81,101,101,13,101,101,101,101,101,101,101,13,13,13,13,13,13,101,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,57,57,57,101,101,101,101,101,59,101,101,101,101,101,101,101,57,81,101,101,101,13,13,101,101,101,101,101,101,101,13,13,101,101,101,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,57,101,101,101,101,101,101,101,57,101,101,81,81,81,101,101,57,81,101,101,101,13,13,101,101,101,101,101,101,101,101,13,101,101,101,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,57,101,101,101,101,101,57,57,57,101,101,81,81,81,101,101,57,81,101,101,101,101,101,13,101,101,101,101,101,101,13,101,101,101,101,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,57,101,101,101,101,101,101,101,57,101,101,101,101,101,101,101,57,81,101,101,101,101,101,101,101,101,101,13,101,101,101,101,101,101,101,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,57,57,57,101,101,101,101,101,57,101,101,101,101,101,101,101,57,81,101,101,101,101,101,101,101,101,101,101,13,101,101,101,101,13,13,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,57,101,101,101,101,101,101,101,57,57,57,57,57,57,59,57,57,81,13,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,57,101,101,101,101,101,57,57,57,101,101,101,57,101,101,101,57,81,13,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,57,101,101,101,101,101,101,101,57,101,101,101,101,101,101,101,57,81,101,13,13,13,13,13,101,13,101,13,101,101,101,101,101,101,101,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,57,57,57,101,101,101,101,101,57,101,101,101,101,101,101,101,57,81,13,13,101,101,101,101,13,101,101,101,101,101,101,101,101,13,101,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,57,101,101,101,101,101,101,101,57,101,101,101,101,101,101,101,57,81,13,101,101,101,101,101,101,101,101,101,101,13,13,13,101,101,13,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,57,101,101,101,101,101,101,57,57,101,101,101,101,101,101,101,57,81,101,101,101,101,101,101,101,101,101,101,101,13,101,101,101,101,101,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,57,101,101,101,101,101,101,101,57,101,101,101,57,101,101,101,57,81,101,101,101,101,101,101,101,101,101,101,13,13,101,101,101,101,101,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,81,101,101,101,101,101,101,101,101,101,101,101,13,101,101,101,101,101,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81 - - - - -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2147483757,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - - - - -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,103,103,103,103,103,103,103,0,103,103,103,103,103,103,103,0,0,0,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,103,103,103,103,103,103,103,103,103,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,103,103,103,103,103,103,103,103,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,105,105,105,105,105,105,105,105,105,0,0,0,0,0,0,0,0,0,0,103,94,94,94,94,94,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,105,105,105,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,103,103,103,103,0,103,103,103,103,103,103,0,103,103,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,127,0,0,0,0,0,0,127,0,0,0,0,0,0,0,0,0,0,94,94,94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,105,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,127,0,0,0,0,0,0,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,103,0,103,0,103,0,103,103,103,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,0,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,103,103,103,103,103,103,103,0,103,103,103,103,103,103,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,0,0,0,0,0,0,0,103,103,0,0,103,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,103,103,0,0,0,0,0,0,0,0,103,103,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,103,0,0,0,0,0,0,0,0,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,103,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,0,0,0,0,0,0,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,103,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,0,0,0,0,103,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,103,103,103,0,103,0,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,103,103,0,0,0,0,103,0,0,0,0,0,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,103,103,103,0,103,0,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,103,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,0,0,0,0,103,0,0,0,0,0,0,0,0,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,0,0,0,0,0,0,0,0,0,0,0,103,103,0,0,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - - - - -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,123,123,0,0,0,123,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,151,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,0,0,0,0,0,241,241,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,39,0,39,0,0,241,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,241,0,0,0,125,0,125,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,241,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,125,0,125,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,39,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,241,241,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,65,0,0,0,0,0,0,0,0,0,169,175,175,0,0,0,0,0,0,0,0,0,0,235,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,125,0,0,0,0,0,0,0,0,0,0,0,83,0,0,0,0,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,0,0,83,83,0,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,125,0,0,0,0,0,0,0,0,0,0,0,0,63,0,0,83,83,0,0,0,0,0,0,0,0,0,0,0,0,0,233,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,125,0,0,173,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,125,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2147483757,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,125,0,0,0,127,0,127,0,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,127,0,127,0,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,125,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,237,0,0,0,0,0,0,0,0,0,0,101,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,101,101,0,0,0,0,101,83,83,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,101,101,101,101,0,0,83,83,83,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - - - - -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,716,0,716,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,716,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,476,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,782,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,305,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,781,782,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,546,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,509,0,648,0,646,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,646,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,373,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,646,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - - - diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_tiled/wee_forest.tmx b/apps/dojo/static/assets/oryx_wee_dungeon/wee_tiled/wee_forest.tmx deleted file mode 100644 index 7f4d20ae1..000000000 --- a/apps/dojo/static/assets/oryx_wee_dungeon/wee_tiled/wee_forest.tmx +++ /dev/null @@ -1,276 +0,0 @@ - - - - - - - -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,825,825,825,825,825,825,825,825,825,825,825,829,829,829,825,825,825,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,825,825,825,825,825,825,825,825,825,825,829,829,829,829,829,825,825,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,825,825,825,825,825,825,825,825,825,825,829,829,829,829,829,825,825,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,825,825,825,825,825,825,825,825,825,825,829,829,829,829,829,825,825,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,825,825,825,825,825,825,825,825,825,825,825,829,829,829,825,825,825,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,825,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81, -81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81 - - - - -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,831,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,831,831,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,831,831,831,831,831,831,831,831,831,831,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,831,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,831,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,831,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - - - - -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,103,103,0,0,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,103,0,103,103,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,103,103,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - - - - -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,843,843,843,843,0,827,827,827,827,827,827,827,0,0,827,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,843,843,0,0,0,827,827,827,827,827,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,843,0,0,2147484495,0,0,827,0,0,0,0,0,0,0,0,0,843,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,847,0,0,0,843,0,0,0,0,0,843,843,843,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,843,843,0,0,843,843,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,843,843,843,0,0,0,843,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,2147484495,0,0,847,0,827,0,0,0,0,0,0,0,849,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,2147484495,2147484495,0,0,0,827,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,845,0,827,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,843,843,0,0,0,827,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,843,843,0,0,827,827,827,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,843,843,0,0,827,0,0,0,0,0,0,0,0,0,0,0,843,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,843,843,843,0,0,0,847,0,845,0,0,0,0,0,0,0,843,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,843,843,843,843,0,0,0,0,0,0,843,0,0,0,843,843,843,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,843,843,843,0,843,0,0,0,0,0,0,843,843,843,843,843,843,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - - - - -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,750,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,750,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2147484398,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,2147484398,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - - - diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_tiled/wee_forest.tsx b/apps/dojo/static/assets/oryx_wee_dungeon/wee_tiled/wee_forest.tsx deleted file mode 100644 index d899de893..000000000 --- a/apps/dojo/static/assets/oryx_wee_dungeon/wee_tiled/wee_forest.tsx +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_tiled/wee_monsters.tmx b/apps/dojo/static/assets/oryx_wee_dungeon/wee_tiled/wee_monsters.tmx deleted file mode 100644 index 4bbe14587..000000000 --- a/apps/dojo/static/assets/oryx_wee_dungeon/wee_tiled/wee_monsters.tmx +++ /dev/null @@ -1,18 +0,0 @@ - - - - - -0,0,0,0,0,0,0,0,0,0, -0,26,43,60,77,94,111,128,145,0, -0,162,179,196,213,230,247,264,281,0, -0,298,315,332,349,366,383,400,417,0, -0,434,451,468,485,502,519,536,553,0, -0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0 - - - diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_tiled/wee_monsters.tsx b/apps/dojo/static/assets/oryx_wee_dungeon/wee_tiled/wee_monsters.tsx deleted file mode 100644 index 581966e96..000000000 --- a/apps/dojo/static/assets/oryx_wee_dungeon/wee_tiled/wee_monsters.tsx +++ /dev/null @@ -1,308 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_tiled/wee_world.tsx b/apps/dojo/static/assets/oryx_wee_dungeon/wee_tiled/wee_world.tsx deleted file mode 100644 index 4a24e53be..000000000 --- a/apps/dojo/static/assets/oryx_wee_dungeon/wee_tiled/wee_world.tsx +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/apps/dojo/static/assets/oryx_wee_dungeon/wee_ui.png b/apps/dojo/static/assets/oryx_wee_dungeon/wee_ui.png deleted file mode 100644 index 3b6bd7ce2..000000000 Binary files a/apps/dojo/static/assets/oryx_wee_dungeon/wee_ui.png and /dev/null differ diff --git a/apps/dojo/static/browserconfig.xml b/apps/dojo/static/browserconfig.xml deleted file mode 100644 index c55414822..000000000 --- a/apps/dojo/static/browserconfig.xml +++ /dev/null @@ -1,2 +0,0 @@ - -#ffffff \ No newline at end of file diff --git a/apps/dojo/static/favicon.ico b/apps/dojo/static/favicon.ico deleted file mode 100644 index 54431e4ad..000000000 Binary files a/apps/dojo/static/favicon.ico and /dev/null differ diff --git a/apps/dojo/static/fonts/Quicksand.ttf b/apps/dojo/static/fonts/Quicksand.ttf deleted file mode 100644 index 0ec221996..000000000 Binary files a/apps/dojo/static/fonts/Quicksand.ttf and /dev/null differ diff --git a/apps/dojo/static/icon-192x192.png b/apps/dojo/static/icon-192x192.png deleted file mode 100644 index cc7ec9076..000000000 Binary files a/apps/dojo/static/icon-192x192.png and /dev/null differ diff --git a/apps/dojo/static/icon-256x256.png b/apps/dojo/static/icon-256x256.png deleted file mode 100644 index 80091a4a8..000000000 Binary files a/apps/dojo/static/icon-256x256.png and /dev/null differ diff --git a/apps/dojo/static/icon-384x384.png b/apps/dojo/static/icon-384x384.png deleted file mode 100644 index abc6592d9..000000000 Binary files a/apps/dojo/static/icon-384x384.png and /dev/null differ diff --git a/apps/dojo/static/icon-512x512.png b/apps/dojo/static/icon-512x512.png deleted file mode 100644 index 4713bf8dc..000000000 Binary files a/apps/dojo/static/icon-512x512.png and /dev/null differ diff --git a/apps/dojo/static/icons/android-icon-144x144.png b/apps/dojo/static/icons/android-icon-144x144.png deleted file mode 100644 index f9481b591..000000000 Binary files a/apps/dojo/static/icons/android-icon-144x144.png and /dev/null differ diff --git a/apps/dojo/static/icons/android-icon-192x192.png b/apps/dojo/static/icons/android-icon-192x192.png deleted file mode 100644 index 24546e16a..000000000 Binary files a/apps/dojo/static/icons/android-icon-192x192.png and /dev/null differ diff --git a/apps/dojo/static/icons/android-icon-36x36.png b/apps/dojo/static/icons/android-icon-36x36.png deleted file mode 100644 index 724be323f..000000000 Binary files a/apps/dojo/static/icons/android-icon-36x36.png and /dev/null differ diff --git a/apps/dojo/static/icons/android-icon-48x48.png b/apps/dojo/static/icons/android-icon-48x48.png deleted file mode 100644 index b87867332..000000000 Binary files a/apps/dojo/static/icons/android-icon-48x48.png and /dev/null differ diff --git a/apps/dojo/static/icons/android-icon-72x72.png b/apps/dojo/static/icons/android-icon-72x72.png deleted file mode 100644 index 32d15230f..000000000 Binary files a/apps/dojo/static/icons/android-icon-72x72.png and /dev/null differ diff --git a/apps/dojo/static/icons/android-icon-96x96.png b/apps/dojo/static/icons/android-icon-96x96.png deleted file mode 100644 index a759f306d..000000000 Binary files a/apps/dojo/static/icons/android-icon-96x96.png and /dev/null differ diff --git a/apps/dojo/static/icons/apple-icon-114x114.png b/apps/dojo/static/icons/apple-icon-114x114.png deleted file mode 100644 index 25d70c4b5..000000000 Binary files a/apps/dojo/static/icons/apple-icon-114x114.png and /dev/null differ diff --git a/apps/dojo/static/icons/apple-icon-120x120.png b/apps/dojo/static/icons/apple-icon-120x120.png deleted file mode 100644 index 2f2473ab6..000000000 Binary files a/apps/dojo/static/icons/apple-icon-120x120.png and /dev/null differ diff --git a/apps/dojo/static/icons/apple-icon-144x144.png b/apps/dojo/static/icons/apple-icon-144x144.png deleted file mode 100644 index f9481b591..000000000 Binary files a/apps/dojo/static/icons/apple-icon-144x144.png and /dev/null differ diff --git a/apps/dojo/static/icons/apple-icon-152x152.png b/apps/dojo/static/icons/apple-icon-152x152.png deleted file mode 100644 index 326eac547..000000000 Binary files a/apps/dojo/static/icons/apple-icon-152x152.png and /dev/null differ diff --git a/apps/dojo/static/icons/apple-icon-180x180.png b/apps/dojo/static/icons/apple-icon-180x180.png deleted file mode 100644 index 486e583f4..000000000 Binary files a/apps/dojo/static/icons/apple-icon-180x180.png and /dev/null differ diff --git a/apps/dojo/static/icons/apple-icon-57x57.png b/apps/dojo/static/icons/apple-icon-57x57.png deleted file mode 100644 index b4a07ceac..000000000 Binary files a/apps/dojo/static/icons/apple-icon-57x57.png and /dev/null differ diff --git a/apps/dojo/static/icons/apple-icon-60x60.png b/apps/dojo/static/icons/apple-icon-60x60.png deleted file mode 100644 index 6baddc549..000000000 Binary files a/apps/dojo/static/icons/apple-icon-60x60.png and /dev/null differ diff --git a/apps/dojo/static/icons/apple-icon-72x72.png b/apps/dojo/static/icons/apple-icon-72x72.png deleted file mode 100644 index 32d15230f..000000000 Binary files a/apps/dojo/static/icons/apple-icon-72x72.png and /dev/null differ diff --git a/apps/dojo/static/icons/apple-icon-76x76.png b/apps/dojo/static/icons/apple-icon-76x76.png deleted file mode 100644 index 60c79fa9f..000000000 Binary files a/apps/dojo/static/icons/apple-icon-76x76.png and /dev/null differ diff --git a/apps/dojo/static/icons/apple-icon-precomposed.png b/apps/dojo/static/icons/apple-icon-precomposed.png deleted file mode 100644 index a86610fd4..000000000 Binary files a/apps/dojo/static/icons/apple-icon-precomposed.png and /dev/null differ diff --git a/apps/dojo/static/icons/apple-icon.png b/apps/dojo/static/icons/apple-icon.png deleted file mode 100644 index a86610fd4..000000000 Binary files a/apps/dojo/static/icons/apple-icon.png and /dev/null differ diff --git a/apps/dojo/static/icons/favicon-16x16.png b/apps/dojo/static/icons/favicon-16x16.png deleted file mode 100644 index df83614b7..000000000 Binary files a/apps/dojo/static/icons/favicon-16x16.png and /dev/null differ diff --git a/apps/dojo/static/icons/favicon-32x32.png b/apps/dojo/static/icons/favicon-32x32.png deleted file mode 100644 index 6bfcdcf62..000000000 Binary files a/apps/dojo/static/icons/favicon-32x32.png and /dev/null differ diff --git a/apps/dojo/static/icons/favicon-96x96.png b/apps/dojo/static/icons/favicon-96x96.png deleted file mode 100644 index 5f07a4aa1..000000000 Binary files a/apps/dojo/static/icons/favicon-96x96.png and /dev/null differ diff --git a/apps/dojo/static/icons/maskable_icon.png b/apps/dojo/static/icons/maskable_icon.png deleted file mode 100644 index 6b637d907..000000000 Binary files a/apps/dojo/static/icons/maskable_icon.png and /dev/null differ diff --git a/apps/dojo/static/icons/ms-icon-144x144.png b/apps/dojo/static/icons/ms-icon-144x144.png deleted file mode 100644 index f9481b591..000000000 Binary files a/apps/dojo/static/icons/ms-icon-144x144.png and /dev/null differ diff --git a/apps/dojo/static/icons/ms-icon-150x150.png b/apps/dojo/static/icons/ms-icon-150x150.png deleted file mode 100644 index f3c214f6c..000000000 Binary files a/apps/dojo/static/icons/ms-icon-150x150.png and /dev/null differ diff --git a/apps/dojo/static/icons/ms-icon-310x310.png b/apps/dojo/static/icons/ms-icon-310x310.png deleted file mode 100644 index 79304ab17..000000000 Binary files a/apps/dojo/static/icons/ms-icon-310x310.png and /dev/null differ diff --git a/apps/dojo/static/icons/ms-icon-70x70.png b/apps/dojo/static/icons/ms-icon-70x70.png deleted file mode 100644 index 3cdd12d82..000000000 Binary files a/apps/dojo/static/icons/ms-icon-70x70.png and /dev/null differ diff --git a/apps/dojo/static/manifest.json b/apps/dojo/static/manifest.json deleted file mode 100644 index d59ba7b2e..000000000 --- a/apps/dojo/static/manifest.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "theme_color": "#5e1286", - "background_color": "#5e1286", - "display": "standalone", - "scope": "/", - "start_url": "/", - "name": "CodingCatDev", - "short_name": "CodingCatDev", - "description": "Purrfect Web Tutorials", - "icons": [ - { - "src": "/icon-192x192.png", - "sizes": "192x192", - "type": "image/png" - }, - { - "src": "/icon-256x256.png", - "sizes": "256x256", - "type": "image/png" - }, - { - "src": "/icon-384x384.png", - "sizes": "384x384", - "type": "image/png" - }, - { - "src": "/icon-512x512.png", - "sizes": "512x512", - "type": "image/png" - } - ] -} \ No newline at end of file diff --git a/apps/dojo/svelte.config.js b/apps/dojo/svelte.config.js deleted file mode 100644 index f41d6e9ca..000000000 --- a/apps/dojo/svelte.config.js +++ /dev/null @@ -1,22 +0,0 @@ -import adapter from '@sveltejs/adapter-auto'; -import { vitePreprocess } from '@sveltejs/kit/vite'; - - -/** @type {import('@sveltejs/kit').Config} */ -const config = { - extensions: ['.svelte'], - // Consult https://kit.svelte.dev/docs/integrations#preprocessors - // for more information about preprocessors - preprocess: [ vitePreprocess()], - - vitePlugin: { - inspector: true, - }, - kit: { - // adapter-auto only supports some environments, see https://kit.svelte.dev/docs/adapter-auto for a list. - // If your environment is not supported or you settled on a specific environment, switch out the adapter. - // See https://kit.svelte.dev/docs/adapters for more information about adapters. - adapter: adapter() - } -}; -export default config; \ No newline at end of file diff --git a/apps/dojo/tailwind.config.ts b/apps/dojo/tailwind.config.ts deleted file mode 100644 index 65457a782..000000000 --- a/apps/dojo/tailwind.config.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { join } from 'path'; -import type { Config } from 'tailwindcss'; -import forms from '@tailwindcss/forms'; -import typography from '@tailwindcss/typography'; -import { skeleton } from '@skeletonlabs/tw-plugin'; - -export default { - darkMode: 'class', - content: [ - './src/**/*.{html,js,svelte,ts}', - join(require.resolve('@skeletonlabs/skeleton'), '../**/*.{html,js,svelte,ts}'), - ], - theme: { - extend: {}, - }, - plugins: [ - forms, - typography, - skeleton({ - themes: { - preset: [ - { - name: 'gold-nouveau', - enhancements: true, - }, - ], - }, - }), - ], -} satisfies Config; diff --git a/apps/dojo/tests/test.ts b/apps/dojo/tests/test.ts deleted file mode 100644 index 5816be413..000000000 --- a/apps/dojo/tests/test.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { expect, test } from '@playwright/test'; - -test('index page has expected h1', async ({ page }) => { - await page.goto('/'); - await expect(page.getByRole('heading', { name: 'Welcome to SvelteKit' })).toBeVisible(); -}); diff --git a/apps/dojo/tsconfig.json b/apps/dojo/tsconfig.json deleted file mode 100644 index 6ae0c8c44..000000000 --- a/apps/dojo/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "extends": "./.svelte-kit/tsconfig.json", - "compilerOptions": { - "allowJs": true, - "checkJs": true, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "resolveJsonModule": true, - "skipLibCheck": true, - "sourceMap": true, - "strict": true - } - // Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias - // - // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes - // from the referenced tsconfig.json - TypeScript does not merge them in -} diff --git a/apps/dojo/vite.config.ts b/apps/dojo/vite.config.ts deleted file mode 100644 index eefe408fe..000000000 --- a/apps/dojo/vite.config.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { purgeCss } from 'vite-plugin-tailwind-purgecss'; -import { sveltekit } from '@sveltejs/kit/vite'; -import { defineConfig } from 'vite'; - -export default defineConfig({ - plugins: [sveltekit(), purgeCss()] -}); diff --git a/apps/firebase/.gitignore b/apps/firebase/.gitignore deleted file mode 100644 index 0d31dcabe..000000000 --- a/apps/firebase/.gitignore +++ /dev/null @@ -1,68 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -firebase-debug.log* -firebase-debug.*.log* - -# Firebase cache -.firebase/ - -# Firebase config - -# Uncomment this if you'd like others to create their own Firebase project. -# For a team working on the same Firebase project(s), it is recommended to leave -# it commented so all members can deploy to the same project(s) in .firebaserc. -.firebaserc - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (http://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variables file -.env - -serviceAccountKey*.json \ No newline at end of file diff --git a/apps/firebase/.prettierrc b/apps/firebase/.prettierrc deleted file mode 100644 index 937375d24..000000000 --- a/apps/firebase/.prettierrc +++ /dev/null @@ -1,4 +0,0 @@ -{ - "semi": true, - "singleQuote": true -} diff --git a/apps/firebase/backup/.gitignore b/apps/firebase/backup/.gitignore deleted file mode 100644 index 373339107..000000000 --- a/apps/firebase/backup/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -data/* -!data/.gitkeep \ No newline at end of file diff --git a/apps/firebase/backup/data/.gitkeep b/apps/firebase/backup/data/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/apps/firebase/backup/package.json b/apps/firebase/backup/package.json deleted file mode 100644 index 49f09f4be..000000000 --- a/apps/firebase/backup/package.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "ccd-backup", - "version": "0.0.1", - "description": "Firestore Local Backup and Import", - "main": "firestore-backup.js", - "scripts": { - "export:firestore": "ts-node src/firestore-export.ts", - "import:firestore": "ts-node src/firestore-import.ts" - }, - "keywords": [], - "author": "Alex Patterson", - "license": "SEE LICENSE IN LICENSE", - "dependencies": { - "firestore-export-import": "^0.9.0" - }, - "devDependencies": { - "ts-node": "^9.1.1", - "typescript": "^4.1.3" - } -} diff --git a/apps/firebase/backup/src/firestore-change-thumbnail.ts b/apps/firebase/backup/src/firestore-change-thumbnail.ts deleted file mode 100644 index 66b98945e..000000000 --- a/apps/firebase/backup/src/firestore-change-thumbnail.ts +++ /dev/null @@ -1,39 +0,0 @@ -import backup from '../data/firestore-backup.json'; -import fs from 'fs'; -import path from 'path'; -const dirPath = path.join(__dirname, '../data/firestore-backup-new.json'); - -for (const [key, value] of Object.entries(backup.posts)) { - const post: any = value; - if (post?.thumbnail) { - console.log(post.thumbnail); - let thumbnail: string = post.thumbnail; - const split = thumbnail.split('/'); - const version = split[1]; - const folder = split[2]; - const id = split[3]; - const fileType = `${thumbnail.substr(thumbnail.length - 4, 4)}`; - - const path = `${version}/${folder}/${id}${fileType}`; - const public_id = `${folder}/${id}`; - const source = 'cloudinary'; - const thumbnail_url = `https://media.codingcat.dev/image/upload/c_limit,h_60,w_90/${path}`; - const type = 'photo'; - const url = `https://media.codingcat.dev/image/upload/${path}`; - - post.coverPhoto = { - path, - public_id, - source, - thumbnail_url, - type, - url, - }; - console.log(post.coverPhoto); - } - delete post.thumbnail; - // @ts-ignore - backup.posts[key] = post; -} - -fs.writeFileSync(dirPath, JSON.stringify(backup)); diff --git a/apps/firebase/backup/src/firestore-export.ts b/apps/firebase/backup/src/firestore-export.ts deleted file mode 100644 index 870a47b5d..000000000 --- a/apps/firebase/backup/src/firestore-export.ts +++ /dev/null @@ -1,13 +0,0 @@ -import serviceAccountKey from '../../serviceAccountKey.json'; -import { backups, initializeApp } from 'firestore-export-import'; -import fs from 'fs'; -import path from 'path'; -const dirPath = path.join(__dirname, '../data/firestore-backup.json'); - -initializeApp(serviceAccountKey); - -console.log('Fetching Collections'); -backups(['customers', 'subscriptions']) // ['posts', 'profiles', 'users'] Array of collection's name is OPTIONAL - .then((collections) => { - fs.writeFileSync(dirPath, JSON.stringify(collections)); - }); diff --git a/apps/firebase/backup/src/firestore-import.ts b/apps/firebase/backup/src/firestore-import.ts deleted file mode 100644 index c077ca20b..000000000 --- a/apps/firebase/backup/src/firestore-import.ts +++ /dev/null @@ -1,12 +0,0 @@ -import serviceAccountKey from '../../serviceAccountKey.json'; -import { initializeApp, restore } from 'firestore-export-import'; -import fs from 'fs'; -import path from 'path'; -const dirPath = path.join(__dirname, '../data/firestore-backup.json'); - -initializeApp(serviceAccountKey); - -console.log('Importing Collections'); -restore(dirPath, { autoParseDates: true }).then((collections) => { - fs.writeFileSync(dirPath, JSON.stringify(collections)); -}); diff --git a/apps/firebase/backup/tsconfig.json b/apps/firebase/backup/tsconfig.json deleted file mode 100644 index a64b9d96a..000000000 --- a/apps/firebase/backup/tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "noImplicitReturns": true, - "noUnusedLocals": true, - "outDir": "lib", - "sourceMap": true, - "strict": true, - "target": "es2017", - "resolveJsonModule": true, - "esModuleInterop": true - }, - "compileOnSave": true, - "include": ["src"] -} diff --git a/apps/firebase/database.rules.json b/apps/firebase/database.rules.json deleted file mode 100644 index f13660294..000000000 --- a/apps/firebase/database.rules.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "rules": { - ".read": false, - ".write": false - } -} diff --git a/apps/firebase/firebase.json b/apps/firebase/firebase.json deleted file mode 100644 index 1ca891d44..000000000 --- a/apps/firebase/firebase.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "database": { - "rules": "database.rules.json" - }, - "firestore": { - "rules": "firestore.rules", - "indexes": "firestore.indexes.json" - }, - "functions": { - "predeploy": [ - "npm --prefix \"$RESOURCE_DIR\" run lint", - "npm --prefix \"$RESOURCE_DIR\" run build" - ], - "source": "functions", - "engines": { - "node": "16" - } - }, - "storage": { - "rules": "storage.rules" - }, - "emulators": { - "auth": { - "port": 9099 - }, - "functions": { - "port": 5001 - }, - "firestore": { - "port": 8080 - }, - "database": { - "port": 9000 - }, - "pubsub": { - "port": 8085 - }, - "ui": { - "enabled": true - }, - "storage": { - "port": 9199 - } - }, - "remoteconfig": { - "template": "remoteconfig.template.json" - } -} diff --git a/apps/firebase/firestore.indexes.json b/apps/firebase/firestore.indexes.json deleted file mode 100644 index c8a2f4b0b..000000000 --- a/apps/firebase/firestore.indexes.json +++ /dev/null @@ -1,111 +0,0 @@ -{ - "indexes": [ - { - "collectionGroup": "posts", - "queryScope": "COLLECTION", - "fields": [ - { - "fieldPath": "type", - "order": "ASCENDING" - }, - { - "fieldPath": "publishedAt", - "order": "DESCENDING" - } - ] - }, - { - "collectionGroup": "posts", - "queryScope": "COLLECTION", - "fields": [ - { - "fieldPath": "authorIds", - "arrayConfig": "CONTAINS" - }, - { - "fieldPath": "type", - "order": "ASCENDING" - }, - { - "fieldPath": "publishedAt", - "order": "DESCENDING" - } - ] - }, - { - "collectionGroup": "posts", - "queryScope": "COLLECTION", - "fields": [ - { - "fieldPath": "tag", - "arrayConfig": "CONTAINS" - }, - { - "fieldPath": "type", - "order": "ASCENDING" - }, - { - "fieldPath": "publishedAt", - "order": "DESCENDING" - } - ] - }, - { - "collectionGroup": "posts", - "queryScope": "COLLECTION", - "fields": [ - { - "fieldPath": "type", - "order": "ASCENDING" - }, - { - "fieldPath": "updatedAt", - "order": "DESCENDING" - } - ] - }, - { - "collectionGroup": "posts", - "queryScope": "COLLECTION", - "fields": [ - { - "fieldPath": "type", - "order": "ASCENDING" - }, - { - "fieldPath": "updatedAt", - "order": "ASCENDING" - } - ] - }, - { - "collectionGroup": "posts", - "queryScope": "COLLECTION", - "fields": [ - { - "fieldPath": "type", - "order": "ASCENDING" - }, - { - "fieldPath": "titleSearch", - "order": "ASCENDING" - } - ] - }, - { - "collectionGroup": "posts", - "queryScope": "COLLECTION", - "fields": [ - { - "fieldPath": "slug", - "order": "ASCENDING" - }, - { - "fieldPath": "id", - "order": "ASCENDING" - } - ] - } - ], - "fieldOverrides": [] -} diff --git a/apps/firebase/firestore.rules b/apps/firebase/firestore.rules deleted file mode 100644 index 7155f30bb..000000000 --- a/apps/firebase/firestore.rules +++ /dev/null @@ -1,47 +0,0 @@ -rules_version = '2'; -service cloud.firestore { - match /databases/{database}/documents { - match /users/{userId} { - allow read, write: if belongsTo(userId); - - match /bookmarked/{bookmarkedId} { - allow read, write: if belongsTo(userId); - } - - match /completed/{completedId} { - allow read, write: if belongsTo(userId); - } - } - - //Stripe - match /stripe-customers/{uid} { - allow read: if request.auth.uid == uid; - - match /checkout_sessions/{id} { - allow read, write: if request.auth.uid == uid; - } - match /subscriptions/{id} { - allow read: if request.auth.uid == uid; - } - match /payments/{id} { - allow read: if request.auth.uid == uid; - } - } - - match /stripe-products/{id} { - allow read: if true; - - match /prices/{id} { - allow read: if true; - } - - match /tax_rates/{id} { - allow read: if true; - } - } - - function belongsTo(userId) { - return request.auth.uid == userId; - } - } -} \ No newline at end of file diff --git a/apps/firebase/functions/.eslintrc.js b/apps/firebase/functions/.eslintrc.js deleted file mode 100644 index c626e179c..000000000 --- a/apps/firebase/functions/.eslintrc.js +++ /dev/null @@ -1,69 +0,0 @@ -module.exports = { - env: { - browser: true, - es6: true, - node: true, - }, - extends: [ - 'plugin:import/errors', - 'plugin:import/warnings', - 'plugin:import/typescript', - ], - parser: '@typescript-eslint/parser', - parserOptions: { - project: ['tsconfig.json', 'tsconfig.dev.json'], - tsconfigRootDir: __dirname, - sourceType: 'module', - }, - plugins: ['@typescript-eslint', 'import'], - rules: { - '@typescript-eslint/adjacent-overload-signatures': 'error', - '@typescript-eslint/no-empty-function': 'error', - '@typescript-eslint/no-empty-interface': 'warn', - '@typescript-eslint/no-floating-promises': 'error', - '@typescript-eslint/no-namespace': 'error', - '@typescript-eslint/no-unnecessary-type-assertion': 'error', - '@typescript-eslint/prefer-for-of': 'warn', - '@typescript-eslint/triple-slash-reference': 'error', - '@typescript-eslint/unified-signatures': 'warn', - 'comma-dangle': ['error', 'always-multiline'], - 'constructor-super': 'error', - eqeqeq: ['warn', 'always'], - 'import/no-deprecated': 'warn', - 'import/no-extraneous-dependencies': 'error', - 'import/no-unassigned-import': 'warn', - 'no-cond-assign': 'error', - 'no-duplicate-case': 'error', - 'no-duplicate-imports': 'error', - 'no-empty': [ - 'error', - { - allowEmptyCatch: true, - }, - ], - 'no-invalid-this': 'error', - 'no-new-wrappers': 'error', - 'no-param-reassign': 'error', - 'no-redeclare': 'error', - 'no-sequences': 'error', - 'no-shadow': [ - 'error', - { - hoist: 'all', - }, - ], - 'no-throw-literal': 'error', - 'no-unsafe-finally': 'error', - 'no-unused-labels': 'error', - 'no-var': 'warn', - 'no-void': 'error', - 'prefer-const': 'warn', - }, - settings: { - jsdoc: { - tagNamePreference: { - returns: 'return', - }, - }, - }, -}; diff --git a/apps/firebase/functions/.gitignore b/apps/firebase/functions/.gitignore deleted file mode 100644 index 0e3aa42d0..000000000 --- a/apps/firebase/functions/.gitignore +++ /dev/null @@ -1,13 +0,0 @@ -# Compiled JavaScript files -**/*.js -**/*.js.map - -# Except the ESLint config file -!.eslintrc.js - -# TypeScript v1 declaration files -typings/ - -# Node.js dependency directory -node_modules/ -.runtimeconfig.json diff --git a/apps/firebase/functions/package.json b/apps/firebase/functions/package.json deleted file mode 100644 index e637e6992..000000000 --- a/apps/firebase/functions/package.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "functions", - "scripts": { - "lint": "eslint \"src/**/*\"", - "build": "tsc", - "serve": "npm run build && firebase emulators:start --only functions", - "shell": "npm run build && firebase functions:shell", - "deploy": "firebase deploy --only functions", - "logs": "firebase functions:log" - }, - "engines": { - "node": "18" - }, - "main": "lib/index.js", - "dependencies": { - "@apollo/client": "^3.6.9", - "@firebase/app-compat": "^0.2.3", - "@firebase/app-types": "^0.9.0", - "@google-cloud/firestore": "^4.8.0", - "@google-cloud/pubsub": "^2.18.1", - "@notionhq/client": "^1.0.4", - "@types/algoliasearch": "^3.34.11", - "algoliasearch": "^4.8.3", - "axios": "^0.27.2", - "cloudinary": "^1.23.0", - "cross-fetch": "^3.1.5", - "firebase-admin": "^9.2.0", - "firebase-functions": "^3.21.2", - "googleapis": "^89.0.0", - "graphql": "^16.6.0", - "gray-matter": "^4.0.3", - "node-fetch": "^2.6.7", - "notion-to-md": "^2.3.4", - "octokit": "^2.0.14", - "slugify": "^1.5.0", - "twitter-api-v2": "^1.6.5", - "uuid": "^8.3.2" - }, - "devDependencies": { - "@types/uuid": "^8.3.0", - "@types/node": "^14.18.36", - "@typescript-eslint/eslint-plugin": "^5.28.0", - "@typescript-eslint/parser": "^5.28.0", - "eslint": "^8.9.0", - "eslint-config-google": "^0.14.0", - "eslint-plugin-import": "^2.25.4", - "firebase-functions-test": "^0.2.0", - "typescript": "^4.5.4" - }, - "private": true -} diff --git a/apps/firebase/functions/src/backups/firestore.ts b/apps/firebase/functions/src/backups/firestore.ts deleted file mode 100644 index aeaedaa6c..000000000 --- a/apps/firebase/functions/src/backups/firestore.ts +++ /dev/null @@ -1,46 +0,0 @@ -import * as functions from 'firebase-functions'; -import * as firestore from '@google-cloud/firestore'; -import { firestoreBackupBucket } from '../config/config'; - -const client = new firestore.v1.FirestoreAdminClient(); - -/* -MAKE SURE TO ADD Security Policies - -gcloud projects add-iam-policy-binding PROJECT_ID \ - --member serviceAccount:PROJECT_ID@appspot.gserviceaccount.com \ - --role roles/datastore.importExportAdmin - - gsutil iam ch serviceAccount:PROJECT_ID@appspot.gserviceaccount.com:admin \ - gs://BUCKET_NAME -*/ - -export const scheduledFirestoreExport = functions.pubsub - .schedule('every 24 hours') - .onRun(() => { - const projectId = process.env.GCP_PROJECT || process.env.GCLOUD_PROJECT; - - if (!projectId) { - return false; - } - - const databaseName = client.databasePath(projectId, '(default)'); - - return client - .exportDocuments({ - name: databaseName, - outputUriPrefix: firestoreBackupBucket, - // Leave collectionIds empty to export all collections - // or set to a list of collection IDs to export, - // collectionIds: ['users', 'posts'] - collectionIds: [], - }) - .then((responses: any[]) => { - const response = responses[0]; - console.log(`Operation Name: ${response['name']}`); - }) - .catch((err: any) => { - console.error(err); - throw new Error('Export operation failed'); - }); - }); diff --git a/apps/firebase/functions/src/config/config.ts b/apps/firebase/functions/src/config/config.ts deleted file mode 100644 index 37bf0e4b7..000000000 --- a/apps/firebase/functions/src/config/config.ts +++ /dev/null @@ -1,31 +0,0 @@ -import * as functions from 'firebase-functions'; -import * as admin from 'firebase-admin'; -admin.initializeApp(); - -export const firestore = admin.firestore(); - -export const firestoreBackupBucket = functions.config().firestore_backup.bucket; - -//Project -export const projectId = process.env.GCP_PROJECT || process.env.GCLOUD_PROJECT; - -const config = functions.config(); -const checkMain = (objectName: string, paramName: string) => { - return config?.[objectName]?.[paramName] - ? config?.[objectName]?.[paramName] - : ''; -}; - -// Google -export const calendarChannelId = checkMain('calendar', 'channel_id'); -export const calendarRefreshToken = checkMain('calendar', 'refresh_token'); -export const clientId = checkMain('google', 'client_id'); -export const clientSecret = checkMain('google', 'client_secret'); -export const redirectUri = checkMain('google', 'redirect_uri'); - -// Dev.to -export const devto = checkMain('devto', 'key'); - -// Hashnode -export const hashnodeKey = checkMain('hashnode', 'key'); -export const hashnodePublicationId = checkMain('hashnode', 'publication_id'); diff --git a/apps/firebase/functions/src/devto/scheduledNotionToDevto.ts b/apps/firebase/functions/src/devto/scheduledNotionToDevto.ts deleted file mode 100644 index 4844679b1..000000000 --- a/apps/firebase/functions/src/devto/scheduledNotionToDevto.ts +++ /dev/null @@ -1,151 +0,0 @@ -// import * as functions from 'firebase-functions'; -// import { sendTopic } from '../utilities/googleapis'; -// import { addArticle } from '../utilities/devto'; - -// const topicId = 'devtoCreateFromNotion'; - -// const scheduleCheck = async () => { -// // Check to see if ther are scheduled pods -// console.log('Checking for scheduled pods'); -// const scheduledRes = await queryPurrfectStreamDevTo(1); -// console.log('Scheduled Result:', JSON.stringify(scheduledRes)); - -// if (scheduledRes?.results) { -// const needCloudinaryPods = scheduledRes?.results; -// console.log('Pods to add to pub/sub', JSON.stringify(needCloudinaryPods)); - -// for (const pod of needCloudinaryPods) { -// await sendTopic(topicId, pod); -// } -// } - -// for (const _type of ['post', 'tutorial']) { -// console.log('Checking for devto missing'); -// const posts = await queryByDevto(_type, 1); -// console.log('Posts:', JSON.stringify(posts)); - -// if (posts?.results) { -// const needposts = posts?.results; -// console.log('Posts to add to pub/sub', JSON.stringify(needposts)); - -// for (const p of needposts) { -// await sendTopic(topicId, p); -// } -// } -// } -// }; - -// export const scheduledNotionToDevto = functions.pubsub -// .schedule('every 5 minutes') -// .onRun(async () => { -// await scheduleCheck(); -// return true; -// }); - -// export const devtoToNotionPubSub = functions.pubsub -// .topic(topicId) -// .onPublish(async (message, context) => { -// console.log('The function was triggered at ', context.timestamp); -// console.log('The unique ID for the event is', context.eventId); -// const page = JSON.parse(JSON.stringify(message.json)); -// console.log('page', page); - -// let data; -// if (page._type === 'podcast') { -// data = { -// article: { -// title: page.title, -// published: true, -// tags: ['podcast', 'webdev', 'javascript', 'beginners'], -// series: `codingcatdev_podcast_${page.properties.Season.number}`, -// main_image: `https://media.codingcat.dev/image/upload/b_rgb:5e1186,c_pad,w_1000,h_420/${page?.coverPhoto?.public_id}`, -// canonical_url: `https://codingcat.dev/${page._type}/${page.slug}`, -// description: page.excerpt, -// organization_id: '1009', -// body_markdown: `Original: https://codingcat.dev/${page._type}/${ -// page.slug -// } -// {% youtube ${page.properties.youtube.url} %} -// {% spotify spotify:episode:${page.properties.spotify.url -// .split('/') -// .at(-1) -// .split('?') -// .at(0)} %} - -// `, -// }, -// }; -// } else { -// console.log( -// `Getting ${page._type}: ${page.id} markdown, with slug ${page?.properties?.slug?.url}` -// ); -// const post = await getNotionPageMarkdown({ -// _type: page._type, -// slug: page?.properties?.slug?.url, -// preview: false, -// }); - -// console.log('Block Result', post); - -// if (post && post?.content) { -// data = { -// article: { -// title: page.title, -// published: true, -// tags: ['podcast', 'webdev', 'javascript', 'beginners'], -// main_image: `https://media.codingcat.dev/image/upload/b_rgb:5e1186,c_pad,w_1000,h_420/${page?.coverPhoto?.public_id}`, -// canonical_url: `https://codingcat.dev/${page._type}/${page.slug}`, -// description: page.excerpt, -// organization_id: '1009', -// body_markdown: post.content, -// }, -// }; -// } -// } - -// if (data) { -// try { -// console.log('addArticle to devto'); -// const response = await addArticle(data); -// console.log('addArticle result:', response); - -// const devto = response?.data?.url; - -// if (!devto) { -// console.log('devto url missing'); -// return; -// } - -// const update = { -// page_id: page.id, -// properties: { -// devto: { -// id: 'remote', -// type: 'url', -// url: devto, -// }, -// }, -// }; -// console.log('Updating page with: ', JSON.stringify(update)); -// const purrfectPagePatchRes = await patchPurrfectPage(update); -// console.log( -// 'Page update result:', -// JSON.stringify(purrfectPagePatchRes) -// ); - -// return purrfectPagePatchRes; -// } catch (error) { -// console.error(error); -// } -// } else { -// console.error('No Data matched for article'); -// } -// return; -// }); - -// // Used for testing don't forget to remove for production -// export const httpNotionToDevto = functions.https.onRequest(async (req, res) => { -// await scheduleCheck(); - -// res.send({ msg: 'started' }); -// }); diff --git a/apps/firebase/functions/src/google/auth.ts b/apps/firebase/functions/src/google/auth.ts deleted file mode 100644 index e6a390cf0..000000000 --- a/apps/firebase/functions/src/google/auth.ts +++ /dev/null @@ -1,28 +0,0 @@ -import * as functions from 'firebase-functions'; -import { oauth2Client } from '../utilities/googleapis'; - -export const getCode = functions.https.onRequest(async (req, res) => { - const scopes = [ - 'https://www.googleapis.com/auth/calendar.events.readonly', - 'https://www.googleapis.com/auth/youtube', - 'https://www.googleapis.com/auth/youtube.channel-memberships.creator', - 'https://www.googleapis.com/auth/youtube.force-ssl', - 'https://www.googleapis.com/auth/youtube.readonly', - 'https://www.googleapis.com/auth/youtube.upload', - 'https://www.googleapis.com/auth/youtubepartner', - 'https://www.googleapis.com/auth/youtubepartner-channel-audit', - ]; - - const url = oauth2Client.generateAuthUrl({ - access_type: 'offline', - scope: scopes, - }); - - res.send(url); -}); - -export const getToken = functions.https.onRequest(async (req, res) => { - const { tokens } = await oauth2Client.getToken(req.query.code as string); - const { refresh_token } = tokens; - res.send(refresh_token); -}); diff --git a/apps/firebase/functions/src/hashnode/scheduledNotionToHashNode.ts b/apps/firebase/functions/src/hashnode/scheduledNotionToHashNode.ts deleted file mode 100644 index e5fde022b..000000000 --- a/apps/firebase/functions/src/hashnode/scheduledNotionToHashNode.ts +++ /dev/null @@ -1,194 +0,0 @@ -// import * as functions from 'firebase-functions'; -// import { sendTopic } from '../utilities/googleapis'; -// import { createPublicationStory } from '../utilities/hashnode'; - -// const topicId = 'hashnodeCreateFromNotion'; - -// const scheduleCheck = async () => { -// // Check to see if ther are scheduled pods -// console.log('Checking for scheduled pods'); -// const scheduledRes = await queryPurrfectStreamHashnode(1); -// console.log('Scheduled Result:', JSON.stringify(scheduledRes)); - -// if (scheduledRes?.results) { -// const needCloudinaryPods = scheduledRes?.results; -// console.log('Pods to add to pub/sub', JSON.stringify(needCloudinaryPods)); - -// for (const pod of needCloudinaryPods) { -// await sendTopic(topicId, pod); -// } -// } - -// for (const _type of ['post', 'tutorial']) { -// console.log('Checking for hashnode missing'); -// const posts = await queryByHashnode(_type, 1); -// console.log('Posts:', JSON.stringify(posts)); - -// if (posts?.results) { -// const needposts = posts?.results; -// console.log('Posts to add to pub/sub', JSON.stringify(needposts)); - -// for (const p of needposts) { -// await sendTopic(topicId, p); -// } -// } -// } -// }; - -// export const scheduledNotionToHashnode = functions.pubsub -// .schedule('every 5 minutes') -// .onRun(async () => { -// await scheduleCheck(); -// return true; -// }); - -// export const hashnodeToNotionPubSub = functions.pubsub -// .topic(topicId) -// .onPublish(async (message, context) => { -// console.log('The function was triggered at ', context.timestamp); -// console.log('The unique ID for the event is', context.eventId); -// const page = JSON.parse(JSON.stringify(message.json)); -// console.log('page', page); - -// let input; -// if (page._type === 'podcast') { -// input = { -// title: page.title, -// subtitle: page.excerpt, -// slug: `${page._type}-${page.slug}`, -// contentMarkdown: `Original: https://codingcat.dev/${page._type}/${page.slug} - -// %[${page.properties.youtube.url}] - -// %[${page.properties.spotify.url}] -// `, -// coverImageURL: `https://media.codingcat.dev/image/upload/f_auto,c_limit,w_1920,q_auto/${page?.coverPhoto?.public_id}`, -// isRepublished: { -// originalArticleURL: `https://codingcat.dev/${page._type}/${page.slug}`, -// }, -// tags: [ -// { -// _id: '56744722958ef13879b950d3', -// name: 'podcast', -// slug: 'podcast', -// }, -// { -// _id: '56744721958ef13879b94cad', -// name: 'JavaScript', -// slug: 'javascript', -// }, -// { -// _id: '56744722958ef13879b94f1b', -// name: 'Web Development', -// slug: 'web-development', -// }, -// { -// _id: '56744723958ef13879b955a9', -// name: 'Beginner Developers', -// slug: 'beginners', -// }, -// ], -// }; -// } else { -// console.log( -// `Getting ${page._type}: ${page.id} markdown, with slug ${page?.properties?.slug?.url}` -// ); -// const post = await getNotionPageMarkdown({ -// _type: page._type, -// slug: page?.properties?.slug?.url, -// preview: false, -// }); - -// console.log('Block Result', post); -// if (post && post?.content) { -// if (page?.properties?.spotify?.url) { -// post.content = ` -// %[${page.properties.spotify.url}] - -// ${post.content}`; -// } -// if (page?.properties?.youtube?.url) { -// post.content = ` -// %[${page.properties.youtube.url}] - -// ${post.content}`; -// } -// post.content = ` -// Original: https://codingcat.dev/${page._type}/${page.slug} - -// ${post.content} -// `; -// input = { -// title: page.title, -// subtitle: page.excerpt, -// slug: `${page._type}-${page.slug}`, -// contentMarkdown: post.content, -// coverImageURL: `https://media.codingcat.dev/image/upload/f_auto,c_limit,w_1920,q_auto/${page?.coverPhoto?.public_id}`, -// isRepublished: { -// originalArticleURL: `https://codingcat.dev/${page._type}/${page.slug}`, -// }, -// tags: [ -// { -// _id: '56744721958ef13879b94cad', -// name: 'JavaScript', -// slug: 'javascript', -// }, -// { -// _id: '56744722958ef13879b94f1b', -// name: 'Web Development', -// slug: 'web-development', -// }, -// { -// _id: '56744723958ef13879b955a9', -// name: 'Beginner Developers', -// slug: 'beginners', -// }, -// ], -// }; -// } -// } - -// if (input) { -// const response = await createPublicationStory(input); -// console.log( -// 'createPublicationStory result:', -// JSON.stringify(response) -// ); - -// const hashnodeSlug = -// response?.data?.data?.createPublicationStory?.post?.slug; - -// if (!hashnodeSlug) { -// console.log('hasnode url missing'); -// return; -// } - -// const update = { -// page_id: page.id, -// properties: { -// hashnode: { -// id: 'remote', -// type: 'url', -// url: `https://hashnode.codingcat.dev/${hashnodeSlug}`, -// }, -// }, -// }; -// console.log('Updating page with: ', JSON.stringify(update)); -// const purrfectPagePatchRes = await patchPurrfectPage(update); -// console.log('Page update result:', JSON.stringify(purrfectPagePatchRes)); - -// return purrfectPagePatchRes; -// } else { -// console.log('No Data matched for article'); -// } -// return; -// }); - -// // Used for testing don't forget to remove for production -// export const httpNotionToHashnode = functions.https.onRequest( -// async (req, res) => { -// await scheduleCheck(); - -// res.send({ msg: 'started' }); -// } -// ); diff --git a/apps/firebase/functions/src/index.ts b/apps/firebase/functions/src/index.ts deleted file mode 100644 index 819dface4..000000000 --- a/apps/firebase/functions/src/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export const projectId = process.env.GCP_PROJECT || process.env.GCLOUD_PROJECT; - -export { scheduledFirestoreExport } from './backups/firestore'; -export { newUserSetup } from './user/user'; diff --git a/apps/firebase/functions/src/user/user.ts b/apps/firebase/functions/src/user/user.ts deleted file mode 100644 index c27b04012..000000000 --- a/apps/firebase/functions/src/user/user.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { firestore } from './../config/config'; -import * as functions from 'firebase-functions'; - -export const newUserSetup = functions.auth - .user() - .onCreate(async (user, context) => { - if (!user.email) { - return null; - } - - const ref = firestore.collection('users').doc(user.uid); - const { uid, displayName, photoURL, email } = user; - return ref - .set( - { - uid, - displayName, - photoURL, - email, - joined: Date.now(), - }, - { merge: true } - ) - .then(() => { - const profileRef = firestore.collection('profiles').doc(user.uid); - return profileRef.set( - { - uid, - displayName, - photoURL, - email, - joined: Date.now(), - }, - { merge: true } - ); - }); - }); - -// export const onProfileWrite = functions.firestore -// .document('profiles/{profileId}') -// .onWrite(async (snap, context) => { -// const profile = snap.before.data(); - -// if (!profile) { -// console.log('profile missing data'); -// return; -// } - -// //Update All Authors in Posts -// return firestore.collection(`posts`).where; -// }); diff --git a/apps/firebase/functions/src/utilities/devto.ts b/apps/firebase/functions/src/utilities/devto.ts deleted file mode 100644 index 922a5e699..000000000 --- a/apps/firebase/functions/src/utilities/devto.ts +++ /dev/null @@ -1,14 +0,0 @@ -import axios, { AxiosRequestConfig } from 'axios'; - -export const addArticle = async (data: any) => { - const URL = 'https://dev.to/api/articles/'; - - const options: AxiosRequestConfig = { - headers: { - 'api-key': 'none', - 'Content-Type': 'application/json', - }, - }; - - return await axios.post(URL, data, options); -}; diff --git a/apps/firebase/functions/src/utilities/googleapis.ts b/apps/firebase/functions/src/utilities/googleapis.ts deleted file mode 100644 index 1cd035f84..000000000 --- a/apps/firebase/functions/src/utilities/googleapis.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { google } from 'googleapis'; -import { PubSub } from '@google-cloud/pubsub'; - -import { - clientId, - clientSecret, - redirectUri, - calendarRefreshToken, -} from './../config/config'; -const projectId = process.env.GCP_PROJECT || process.env.GCLOUD_PROJECT; - -// Clients -export const oauth2Client = new google.auth.OAuth2( - clientId, - clientSecret, - redirectUri -); -export const pubSubClient = new PubSub({ projectId }); - -oauth2Client.setCredentials({ refresh_token: calendarRefreshToken }); -const calendar = google.calendar({ version: 'v3', auth: oauth2Client }); - -// Gets my calendar events for the past 12 hours. -export const getCalendarEvent = async () => { - if (!calendarRefreshToken) { - console.error('Missing Refresh Token'); - return []; - } - const result = await calendar.events.list({ - q: 'calendly', - calendarId: 'alex@codingcat.dev', - orderBy: 'updated', - updatedMin: new Date(Date.now() - 43200000).toISOString(), // About 12 hours worth - }); - return result?.data?.items || []; -}; - -export const sendTopic = async (topicId: string, msg: object) => { - console.log('publishing to ', topicId); - console.log('message: ', msg); - const dataBuffer = Buffer.from(JSON.stringify(msg)); - const messageId = await pubSubClient.topic(topicId).publish(dataBuffer); - console.log(`Message ${messageId} published.`); -}; diff --git a/apps/firebase/functions/src/utilities/hashnode.ts b/apps/firebase/functions/src/utilities/hashnode.ts deleted file mode 100644 index 5de91739c..000000000 --- a/apps/firebase/functions/src/utilities/hashnode.ts +++ /dev/null @@ -1,46 +0,0 @@ -import axios, { AxiosRequestConfig } from 'axios'; -import { hashnodeKey, hashnodePublicationId } from '../config/config'; - -export const createPublicationStory = async (input: any) => { - const URL = 'https://api.hashnode.com/'; - - const options: AxiosRequestConfig = { - headers: { - authorization: hashnodeKey, - 'Content-Type': 'application/json', - }, - }; - - const data = { - operationName: 'createPublication', - query: `mutation createPublication($input: CreateStoryInput!) { - createPublicationStory( - publicationId: "${hashnodePublicationId}" - input: $input - ) { - message - post { - _id - title - slug - } - } - } - `, - variables: { - input: { - isPartOfPublication: { - "publicationId": hashnodePublicationId, - }, - ...input, - }, - }, - }; - console.log('calling mutation with: ', data); - try { - return await axios.post(URL, data, options); - } catch (error) { - console.error(error); - return; - } -}; diff --git a/apps/firebase/functions/src/utilities/logging.ts b/apps/firebase/functions/src/utilities/logging.ts deleted file mode 100644 index b1cb82fcd..000000000 --- a/apps/firebase/functions/src/utilities/logging.ts +++ /dev/null @@ -1,57 +0,0 @@ -import * as functions from 'firebase-functions'; - -// eslint-disable-next-line no-shadow -export enum LogSeverity { - 'DEBUG', - 'INFO', - 'NOTICE', - 'WARNING', - 'ERROR', - 'CRITICAL', - 'ALERT', - 'EMERGENCY', -} - -export const good = (res: functions.Response, ...message: any[]) => { - log(LogSeverity.DEBUG, message); - res.status(200).json(JSON.stringify(message)).send(); -}; -export const bad = (res: functions.Response, ...message: any[]) => { - log(LogSeverity.ERROR, message); - res.status(500).json(JSON.stringify(message)).send(); -}; -export const unauth = (res: functions.Response, ...message: any[]) => { - log(LogSeverity.WARNING, message); - res.status(401).json(JSON.stringify(message)).send(); -}; -export const log = (severity?: LogSeverity, ...message: any[]) => { - switch (severity) { - case LogSeverity.DEBUG: - functions.logger.debug(message); - break; - case LogSeverity.INFO: - functions.logger.info(message); - break; - case LogSeverity.NOTICE: - functions.logger.info(message); - break; - case LogSeverity.WARNING: - functions.logger.warn(message); - break; - case LogSeverity.ERROR: - functions.logger.error(message); - break; - case LogSeverity.CRITICAL: - functions.logger.error(message); - break; - case LogSeverity.ALERT: - functions.logger.log(message); - break; - case LogSeverity.EMERGENCY: - functions.logger.error(message); - break; - default: - functions.logger.log(message); - break; - } -}; diff --git a/apps/firebase/functions/src/utilities/pubsub.ts b/apps/firebase/functions/src/utilities/pubsub.ts deleted file mode 100644 index 11ec658e1..000000000 --- a/apps/firebase/functions/src/utilities/pubsub.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { PubSub } from '@google-cloud/pubsub'; - -const projectId = - process.env.GCP_PROJECT || process.env.GCLOUD_PROJECT || 'v2-codingcatdev'; -const pubSubClient = new PubSub({ projectId }); - -export const sendTopic = async (topicId: string, msg: object) => { - console.log('publishing to ', topicId); - console.log('message: ', msg); - const dataBuffer = Buffer.from(JSON.stringify(msg)); - const messageId = await pubSubClient.topic(topicId).publish(dataBuffer); - console.log(`Message ${messageId} published.`); -}; diff --git a/apps/firebase/functions/src/utilities/stringUtils.ts b/apps/firebase/functions/src/utilities/stringUtils.ts deleted file mode 100644 index 8c99ca9e9..000000000 --- a/apps/firebase/functions/src/utilities/stringUtils.ts +++ /dev/null @@ -1,15 +0,0 @@ -export const wrapTitleWords = (title: string, maxLettersPerLine: number) => { - let breakPoint = 0; - for (let i = 0; i < title.length; i++) { - const letter = title[i]; - if (letter === ' ') { - breakPoint = i; - } - if (i >= maxLettersPerLine) { - break; - } - } - const firstLine = title.substring(0, breakPoint); - const secondLine = title.substring(breakPoint); - return [firstLine, secondLine]; -}; diff --git a/apps/firebase/functions/src/utilities/timestamps.ts b/apps/firebase/functions/src/utilities/timestamps.ts deleted file mode 100644 index 1733dc2a6..000000000 --- a/apps/firebase/functions/src/utilities/timestamps.ts +++ /dev/null @@ -1,18 +0,0 @@ -import * as admin from 'firebase-admin'; - -/* Utilities */ -export function cleanTimestamp(data: FirebaseFirestore.DocumentData) { - const docData = { ...data }; - Object.keys(docData).map((key) => { - if ( - typeof docData[key] === 'object' && - Object.keys(docData[key]).includes('_nanoseconds') - ) { - const timestamp: admin.firestore.Timestamp = docData[key]; - docData[key] = timestamp.toMillis(); - } else { - docData[key] = docData[key]; - } - }); - return docData; -} diff --git a/apps/firebase/functions/tsconfig.dev.json b/apps/firebase/functions/tsconfig.dev.json deleted file mode 100644 index 7560eed4c..000000000 --- a/apps/firebase/functions/tsconfig.dev.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "include": [ - ".eslintrc.js" - ] -} diff --git a/apps/firebase/functions/tsconfig.json b/apps/firebase/functions/tsconfig.json deleted file mode 100644 index baf51cf20..000000000 --- a/apps/firebase/functions/tsconfig.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "noImplicitReturns": true, - "noUnusedLocals": true, - "outDir": "lib", - "sourceMap": true, - "strict": true, - "target": "es2022" - }, - "compileOnSave": true, - "include": ["src"] -} diff --git a/apps/firebase/package.json b/apps/firebase/package.json deleted file mode 100644 index 3c7515174..000000000 --- a/apps/firebase/package.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "ccd-firebase", - "version": "0.0.1", - "description": "Firebase for codingcat.cev", - "devDependencies": { - "ts-jest": "^26.4.4", - "typescript": "^4.1.2", - "prettier": "^2.2.1" - }, - "scripts": { - "emulated-debug": "npm run --prefix ./functions build && firebase emulators:start --inspect-functions --export-on-exit=./backup/data/emulator --import=./backup/data/emulator", - "emulated": "firebase emulators:start --export-on-exit=./backup/data/emulator --import=./backup/data/emulator", - "ci:emulator": "firebase emulators:exec 'npm run --prefix ./tests test'", - "lint": "npm run --prefix ./functions lint" - }, - "author": "Alex Patterson", - "license": "SEE LICENSE IN LICENSE", - "bugs": { - "url": "https://github.com/ajonp/ccd-nextjs/issues" - }, - "homepage": "https://github.com/ajonp/ccd-nextjs#readme" -} diff --git a/apps/firebase/remoteconfig.template.json b/apps/firebase/remoteconfig.template.json deleted file mode 100644 index 73d5c5916..000000000 --- a/apps/firebase/remoteconfig.template.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "conditions": [ - { - "name": "ios", - "expression": "device.os == 'ios'" - } - ], - "parameters": { - "welcome_message": { - "defaultValue": { - "value": "Welcome to this sample app" - }, - "conditionalValues": { - "ios": { - "value": "Welcome to this sample iOS app" - } - } - }, - "welcome_message_caps": { - "defaultValue": { - "value": "false" - } - }, - "header_text": { - "defaultValue": { - "useInAppDefault": true - } - } - }, - "version": { - "versionNumber": "28", - "updateTime": "2020-05-14T18:39:38.994Z", - "updateUser": { - "email": "user@google.com" - }, - "updateOrigin": "CONSOLE", - "updateType": "INCREMENTAL_UPDATE" - } -} diff --git a/apps/firebase/serviceAccountKey.json.template b/apps/firebase/serviceAccountKey.json.template deleted file mode 100644 index 8d366e674..000000000 --- a/apps/firebase/serviceAccountKey.json.template +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": - "project_id": - "private_key_id": - "private_key": - "client_email": - "client_id": - "auth_uri": - "token_uri": - "auth_provider_x509_cert_url": - "client_x509_cert_url": -} diff --git a/apps/firebase/storage.rules b/apps/firebase/storage.rules deleted file mode 100644 index 4eda34fdf..000000000 --- a/apps/firebase/storage.rules +++ /dev/null @@ -1,8 +0,0 @@ -rules_version = '2'; -service firebase.storage { - match /b/{bucket}/o { - match /{allPaths=**} { - allow read, write: if request.auth!=null; - } - } -} diff --git a/apps/sanity/components/BlockEditor.tsx b/apps/sanity/components/BlockEditor.tsx new file mode 100644 index 000000000..d86239b8e --- /dev/null +++ b/apps/sanity/components/BlockEditor.tsx @@ -0,0 +1,40 @@ +import { toPlainText } from "@portabletext/react"; +import { BlockEditor as DefaultBlockEditor } from "sanity"; +import { handlePaste } from "./pastehandler"; + +const wordsPerMinute = 200; + +import React from "react"; + +const BlockEditor = React.forwardRef(function BlockEditor( + props: any, + ref: any, +) { + const value = props.value ?? []; + const plainText = toPlainText(value); + const characterCount = plainText.length; + const wordCount = plainText.split(/\s+/g).filter(Boolean).length; + const readingTime = Math.ceil(wordCount / wordsPerMinute); + + return ( +
+ +
+
+ 🔠 + {characterCount} +
+
+ 🚾 + {wordCount} +
+
+ ⏱️ + {readingTime} min +
+
+
+ ); +}); +const input = (props: any) => ; +export default input; diff --git a/apps/sanity/components/CodePenPreview.tsx b/apps/sanity/components/CodePenPreview.tsx new file mode 100644 index 000000000..013e2e992 --- /dev/null +++ b/apps/sanity/components/CodePenPreview.tsx @@ -0,0 +1,23 @@ +import React from "react"; +// TODO: Add stronger typing +const CodePenPreview = (props: any) => { + const { url } = props; + if (!url) { + return
Add a CodePen URL
; + } + const splitURL = url.split("/"); + const [, , , user, , hash] = splitURL; + const embedUrl = `https://codepen.io/${user}/embed/${hash}?height=370&theme-id=dark&default-tab=result`; + return ( +