Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
1f930fb
fix: Add `isUserLoading` to ChatInput effect dependencies to ensure c…
yamcodes Jan 17, 2026
61f1708
feat: Initialize new documentation site with MDX support, AI integrat…
yamcodes Jan 17, 2026
87d52b7
refactor: Reformat code and reorder imports across various files.
yamcodes Jan 17, 2026
26c0158
fix: Add explicit type="button" to page action button.
yamcodes Jan 17, 2026
7bd34b2
chore: Rename `www` package from `.` to `www`, update `@types/node`, …
yamcodes Jan 17, 2026
5c3125e
feat: Configure Turbopack root directory in Next.js config.
yamcodes Jan 17, 2026
dd9ab78
feat: Add new utility scripts for cleaning, type checking, formatting…
yamcodes Jan 17, 2026
ff4f337
chore: Remove trailing comma from `check:errors` script in `package.j…
yamcodes Jan 17, 2026
161c0f2
feat: Add branding assets and initial Bedstack documentation.
yamcodes Jan 17, 2026
d474e10
feat: Implement a new marketing homepage, update global navigation wi…
yamcodes Jan 17, 2026
a336ce4
feat: Redesign the homepage with a new hero section and footer, updat…
yamcodes Jan 17, 2026
ad8a18e
feat: Add an animated logo to the homepage and remove all Discord ref…
yamcodes Jan 17, 2026
744026d
Remove all Discord references and consolidate community support to Gi…
yamcodes Jan 17, 2026
e4f9300
feat: Implement theme management with `next-themes` and update docs l…
yamcodes Jan 17, 2026
679854b
refactor: Update `fumadocs-ui` component import paths and reorder imp…
yamcodes Jan 17, 2026
a230ccd
feat: Enhance docs layout with direct page tree access, disabled coll…
yamcodes Jan 17, 2026
81a4822
refactor: explicitly configure home layout navigation and standardize…
yamcodes Jan 17, 2026
db2e341
feat: Enable system theme in RootProvider; refactor: simplify HomeLay…
yamcodes Jan 17, 2026
5386b5d
fix: Correct copyright year and add transition duration to link hover…
yamcodes Jan 17, 2026
cf07419
chore: Remove PostHog analytics tracking from the chat component.
yamcodes Jan 17, 2026
c3ee214
chore: Update Turbopack root path to use `process.cwd()` instead of `…
yamcodes Jan 17, 2026
d03f0a6
refactor: simplify turbopack root path resolution in Next.js config b…
yamcodes Jan 17, 2026
8c05970
feat: Replace text-based technology names with image logos for Bun, E…
yamcodes Jan 17, 2026
dd3d0c8
feat: Redesign homepage with a two-column layout for desktop, introdu…
yamcodes Jan 17, 2026
1170c10
style: Add `cursor-pointer` to enabled buttons and `fill-none` to the…
yamcodes Jan 17, 2026
02497bc
feat: Update navigation title layout, switch to Geist and JetBrains M…
yamcodes Jan 17, 2026
5c5f91b
feat: Add a desktop separator to the homepage, refine navigation styl…
yamcodes Jan 17, 2026
2ca2267
refactor: Adjust Hero component layout by moving padding to columns a…
yamcodes Jan 17, 2026
ef144d0
feat: Add new CSS variable, extend navigation height selector to incl…
yamcodes Jan 17, 2026
50774c6
style: Add docs header height variable and refine navigation and sub-…
yamcodes Jan 17, 2026
b3b924b
style: Apply blurred backgrounds to navigation inner divs, change sid…
yamcodes Jan 17, 2026
87b6339
style: Standardize header height variables, update layout borders, an…
yamcodes Jan 17, 2026
ded90c9
style: Change border style from dotted to solid for `#nd-home-layout`…
yamcodes Jan 17, 2026
770a1d5
style: Replace dotted borders with solid borders for the desktop sepa…
yamcodes Jan 17, 2026
96141aa
refactor: reorder imports and adjust CSS formatting.
yamcodes Jan 17, 2026
431fcc8
chore: Update "Drizzle" mention to "Drizzle ORM" for clarity.
yamcodes Jan 17, 2026
819e5d4
chore: Add `docs` and `public` folders from `apps/www` to the workspa…
yamcodes Jan 17, 2026
3d4b6fd
refactor: Relocate and resize the animated logo with 'zzz' effect fro…
yamcodes Jan 17, 2026
1e67c55
refactor: update hero section styling, including the 'New' badge, ima…
yamcodes Jan 17, 2026
97d5506
feat: Adjust global border radius, apply minimal radius to search and…
yamcodes Jan 17, 2026
f974323
style: Add right margin to search elements.
yamcodes Jan 17, 2026
4bc46fe
style: Reduce heading text size for large screens on the home page.
yamcodes Jan 17, 2026
ff34c99
feat: create a reusable Button component and refactor home page navig…
yamcodes Jan 17, 2026
c24b110
feat: Apply minimal border-radius to search-related buttons.
yamcodes Jan 17, 2026
752a4f9
refactor: relocate HomeLayout links configuration from `layout.shared…
yamcodes Jan 17, 2026
0b34eff
fix: correct `HomeLayout` links prop syntax.
yamcodes Jan 17, 2026
8df115f
style: Reduce margin-right for search elements.
yamcodes Jan 17, 2026
33db04a
feat: update home layout navigation link to 'Starter Template' and re…
yamcodes Jan 18, 2026
2a67dd2
feat: make base layout options configurable for title suffix and href…
yamcodes Jan 18, 2026
01a92e7
docs: Restructure documentation navigation, update introductory conte…
yamcodes Jan 18, 2026
ffc8950
docs: Update documentation links and text, including renaming 'Gettin…
yamcodes Jan 18, 2026
0ccf2cc
docs: Refine documentation card descriptions and update the 'Getting …
yamcodes Jan 18, 2026
fad46fd
style: standardize code formatting, import ordering, and workspace in…
yamcodes Jan 18, 2026
e9dc2d6
refactor: update deployment workflow to target `apps/www-legacy` inst…
yamcodes Jan 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ body:
or are unsure if this is really a bug, make sure to:

- Read the `README.md`
- Ask on [Discord](https://discord.gg/8UcP9QB5AV)
- Ask on [GitHub Discussions](https://github.com/yamcodes/bedstack/discussions)
- type: textarea
id: bug-description
Expand Down
3 changes: 0 additions & 3 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Discord
url: https://discord.gg/8UcP9QB5AV
about: Use Discord for instantly connecting with other developers on this project.
- name: Discussions
url: https://github.com/yamcodes/bedstack/discussions
about: Use GitHub discussions for a message board-style forum for the project, discussing ideas, questions, etc.
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/deploy-www.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
push:
branches: [main]
paths:
- "apps/www/**"
- "apps/www-legacy/**"
- "package.json"
- "bun.lock"

Expand Down Expand Up @@ -51,11 +51,11 @@ jobs:
- name: Build with VitePress
run: |
bun run docs:build
touch apps/www/.vitepress/dist/.nojekyll
touch apps/www-legacy/.vitepress/dist/.nojekyll
- name: Upload artifact
uses: actions/upload-pages-artifact@v4
with:
path: apps/www/.vitepress/dist
path: apps/www-legacy/.vitepress/dist
Comment on lines 51 to +58
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

# Check package.json for docs:build script
cat package.json | grep -A5 "docs:build" || echo "Not found in root package.json"

Repository: yamcodes/bedstack

Length of output: 332


🏁 Script executed:

# Search for docs:build in all package.json files
fd package.json | xargs grep -l "docs:build" || echo "No matches found"

Repository: yamcodes/bedstack

Length of output: 73


🏁 Script executed:

# Search for turbo configuration files
fd -e json -e jsonc | grep -i turbo

Repository: yamcodes/bedstack

Length of output: 71


🏁 Script executed:

# Search for vitepress build configuration and output directories
rg "vitepress build|\.vitepress/dist" --type json --type yaml -A2 -B2

Repository: yamcodes/bedstack

Length of output: 529


🏁 Script executed:

# Check the apps directory structure
fd -type d -name "www*" apps/ 2>/dev/null || echo "Checking alternative structure"

Repository: yamcodes/bedstack

Length of output: 91


🏁 Script executed:

# Check if www package exists and its build output
fd -type d -path "*/www/package.json" | head -5

Repository: yamcodes/bedstack

Length of output: 231


🏁 Script executed:

# Check apps/www structure if it exists
ls -la apps/ 2>/dev/null | grep -E "www|vitepress"

Repository: yamcodes/bedstack

Length of output: 171


🏁 Script executed:

# Check what www package.json contains
cat apps/www/package.json 2>/dev/null | grep -A10 "scripts" || echo "www package not found or no scripts"

Repository: yamcodes/bedstack

Length of output: 458


🏁 Script executed:

# Verify the build outputs mentioned in turbo.json context
# Check if www outputs to dist/ or .vitepress/dist/
rg "output|dist" apps/www/turbo.json 2>/dev/null || rg "build.*output" apps/www/ 2>/dev/null || echo "Checking vitepress config..."

Repository: yamcodes/bedstack

Length of output: 89


Fix mismatch: docs:build targets www (Next.js), but workflow uploads from www-legacy (VitePress).

The docs:build script runs turbo run build --filter=www, which builds the apps/www package using Next.js. However, the workflow artifact path apps/www-legacy/.vitepress/dist expects output from apps/www-legacy (VitePress). Since Next.js outputs to .next/ not .vitepress/dist/, the artifact directory will be empty and Pages deployment will fail.

Change the workflow to either:

  • Build the correct package: turbo run build --filter=www-legacy, or
  • Upload from the correct path: apps/www/.next/ (if that's the intended output)
🤖 Prompt for AI Agents
In @.github/workflows/deploy-www.yml around lines 51 - 58, The workflow's
docs:build step runs the npm script that executes "turbo run build --filter=www"
(building Next.js under the www package) but the Upload artifact step points to
"apps/www-legacy/.vitepress/dist" (VitePress) causing an empty artifact; either
change the build invocation to target the legacy site (run turbo run build
--filter=www-legacy / update docs:build to build www-legacy) or change the
upload path to the Next.js output (apps/www/.next) so the artifact matches the
built package; update the .github/workflows/deploy-www.yml steps accordingly,
keeping the names "Build with VitePress"/"Upload artifact" consistent with the
chosen target.


deploy:
name: Deploy Docs
Expand Down
13 changes: 13 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"version": "2.0.0",
"tasks": [
{
"type": "bun",
"script": "turbo run dev --filter=www",
"problemMatcher": ["$tsc-watch"],
"label": "bun: www",
"detail": "bun run turbo run dev --filter=www - package.json",
"isBackground": true
}
]
}
2 changes: 1 addition & 1 deletion SUPPORT.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Please read through the following guidelines.

## Asking quality questions

Questions can go to the [Discord server](https://discord.gg/8UcP9QB5AV) or [GitHub discussions](https://github.com/yamcodes/bedstack/discussions).
Questions can go to [GitHub discussions](https://github.com/yamcodes/bedstack/discussions).

Clear questions are easier to answer.
Spend time framing questions and add links and resources.
Expand Down
2 changes: 1 addition & 1 deletion apps/conduit/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<img src="../www/public/logo-mini.png" alt="Logo for Bedstack RealWorld example" width=200>
<h1>Conduit - Bedstack real world example</h1>

[![Tests Status](https://github.com/yamcodes/bedstack/actions/workflows/tests.yml/badge.svg?event=push&branch=main&)](https://github.com/yamcodes/bedstack/actions/workflows/tests.yml?query=branch%3Amain+event%3Apush) [![Discord](https://img.shields.io/discord/1164270344115335320?label=Chat&color=5865f4&logo=discord&labelColor=121214)](https://discord.gg/8UcP9QB5AV) [![License](https://custom-icon-badges.demolab.com/github/license/yamcodes/bedstack?label=License&color=blue&logo=law&labelColor=0d1117)](https://github.com/yamcodes/bedstack/blob/main/LICENSE) [![Bun](https://img.shields.io/badge/Bun-14151a?logo=bun&logoColor=fbf0df)](https://bun.com/) [![ElysiaJS](https://custom-icon-badges.demolab.com/badge/ElysiaJS-0f172b.svg?logo=elysia)](https://elysiajs.com/) [![Drizzle](https://img.shields.io/badge/Drizzle-C5F74F?logo=drizzle&logoColor=000)](https://orm.drizzle.team/) [![Biome](https://img.shields.io/badge/Biome-24272f?logo=biome&logoColor=f6f6f9)](https://biomejs.dev/) [![Scalar](https://img.shields.io/badge/Scalar-080808?logo=scalar&logoColor=e7e7e7)](https://scalar.com/) [![Star](https://custom-icon-badges.demolab.com/github/stars/yamcodes/bedstack?logo=star&logoColor=373737&label=Star)](https://github.com/yamcodes/bedstack/stargazers/)
[![Tests Status](https://github.com/yamcodes/bedstack/actions/workflows/tests.yml/badge.svg?event=push&branch=main&)](https://github.com/yamcodes/bedstack/actions/workflows/tests.yml?query=branch%3Amain+event%3Apush) [![License](https://custom-icon-badges.demolab.com/github/license/yamcodes/bedstack?label=License&color=blue&logo=law&labelColor=0d1117)](https://github.com/yamcodes/bedstack/blob/main/LICENSE) [![Bun](https://img.shields.io/badge/Bun-14151a?logo=bun&logoColor=fbf0df)](https://bun.com/) [![ElysiaJS](https://custom-icon-badges.demolab.com/badge/ElysiaJS-0f172b.svg?logo=elysia)](https://elysiajs.com/) [![Drizzle](https://img.shields.io/badge/Drizzle-C5F74F?logo=drizzle&logoColor=000)](https://orm.drizzle.team/) [![Biome](https://img.shields.io/badge/Biome-24272f?logo=biome&logoColor=f6f6f9)](https://biomejs.dev/) [![Scalar](https://img.shields.io/badge/Scalar-080808?logo=scalar&logoColor=e7e7e7)](https://scalar.com/) [![Star](https://custom-icon-badges.demolab.com/github/stars/yamcodes/bedstack?logo=star&logoColor=373737&label=Star)](https://github.com/yamcodes/bedstack/stargazers/)

[RealWorld](https://realworld-docs.netlify.app/) example app for [Bedstack](https://bedstack.js.org/)
</div>
Expand Down
3 changes: 3 additions & 0 deletions apps/www-legacy/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# VitePress cache
.vitepress/cache/
.vitepress/dist/
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ export default defineConfig({
text: 'What is Bedstack?',
link: '/what-is-bedstack',
},
{ text: 'Getting Started', link: '/getting-started' },
{ text: 'Getting Started', link: '/realworld' },
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check if realworld.md exists in the legacy www directory and explore structure
echo "=== Searching for realworld.md ==="
fd -t f "realworld.md" apps/www-legacy/ 2>/dev/null || echo "File not found"

echo -e "\n=== Listing markdown files in apps/www-legacy ===" 
fd -t f "\.md$" apps/www-legacy/ | head -20

echo -e "\n=== Checking config.ts content around line 37 ==="
if [ -f "apps/www-legacy/.vitepress/config.ts" ]; then
  sed -n '30,45p' "apps/www-legacy/.vitepress/config.ts"
fi

echo -e "\n=== Directory structure of apps/www-legacy ==="
ls -la apps/www-legacy/ 2>/dev/null | head -20

Repository: yamcodes/bedstack

Length of output: 1430


Navigation link is broken — realworld.md does not exist.

The link /realworld points to a non-existent page. The markdown files in apps/www-legacy/ are:

  • getting-started.md
  • what-is-bedstack.md
  • index.md
  • README.md

The "Getting Started" navigation item should link to /getting-started (the existing file) or realworld.md must be created.

🤖 Prompt for AI Agents
In `@apps/www-legacy/.vitepress/config.ts` at line 37, The navigation entry with
text 'Getting Started' currently uses the link '/realworld' which points to a
non-existent page; update that navigation object (the { text: 'Getting Started',
link: '/realworld' } entry) to use the existing page path '/getting-started' or
alternatively add a new realworld.md page to the site so the '/realworld' link
resolves.

],
collapsed: false,
},
Expand All @@ -54,10 +54,6 @@ export default defineConfig({
icon: 'github',
link: 'https://github.com/yamcodes/bedstack',
},
{
icon: 'discord',
link: 'https://discord.gg/8UcP9QB5AV',
},
],
search: {
provider: 'local',
Expand Down
7 changes: 7 additions & 0 deletions apps/www-legacy/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# bedstack.js.org

The Bedstack documentation site.

## We're live!

The documentation site is now live at [bedstack.js.org](https://bedstack.js.org).
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Getting Started

Getting started with this RealWorld project is as easy as installing a few prerequisites, running a few commands, and opening your favorite text editor. [Contributions](https://github.com/yamcodes/bedstack/blob/main/CONTRIBUTING.md) are welcome. If you have any questions, please reach out on [Discord](https://discord.gg/8UcP9QB5AV) or [GitHub Discussions](
Getting started with this RealWorld project is as easy as installing a few prerequisites, running a few commands, and opening your favorite text editor. [Contributions](https://github.com/yamcodes/bedstack/blob/main/CONTRIBUTING.md) are welcome. If you have any questions, please reach out on [GitHub Discussions](
https://github.com/yamcodes/bedstack/discussions
)!

Expand All @@ -18,32 +18,32 @@ Getting started with this RealWorld project is as easy as installing a few prere
1. **Clone and install dependencies**

```sh
$ gh repo clone yamcodes/bedstack
$ cd bedstack
$ bun i
gh repo clone yamcodes/bedstack
cd bedstack
bun i
```

2. **Ensure Docker daemon is running and spin up the Postgres+Bun container**

```sh
$ bun db
bun db
```

3. **Migrate the schema to the database**

```sh
$ bun db:migrate
bun db:migrate
```

4. **Run the app**

```sh
$ bun dev
bun dev
```

## What's Next?

* To contribute, see the [contributing guide](https://github.com/yamcodes/bedstack/blob/main/CONTRIBUTING.md).
* For a place to start, see the [good first issues](https://github.com/yamcodes/bedstack/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22).
* For support, visit the [support page](https://github.com/yamcodes/bedstack/blob/main/SUPPORT.md).
* To ask questions or chat, join the [Discord server](https://discord.gg/8UcP9QB5AV) or [GitHub Discussions](https://github.com/yamcodes/bedstack/discussions).
* To ask questions or chat, join the [GitHub Discussions](https://github.com/yamcodes/bedstack/discussions).
2 changes: 1 addition & 1 deletion apps/www/index.md → apps/www-legacy/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ hero:
link: /what-is-bedstack
- theme: alt
text: Quickstart
link: /getting-started
link: /realworld
- theme: alt
text: View on GitHub ↗
link: https://github.com/yamcodes/bedstack
Expand Down
19 changes: 19 additions & 0 deletions apps/www-legacy/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"name": "www-legacy",
"version": "0.0.0",
"type": "module",
"private": true,
"scripts": {
"dev": "vitepress dev",
"build": "vitepress build",
"clean": "rimraf node_modules",
"typecheck": "tsc --noEmit"
Comment on lines +6 to +10
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check rimraf in all package.json files and lock files
echo "=== Checking rimraf in package.json files ==="
find . -name "package.json" -type f | head -20 | xargs rg -l "rimraf" 2>/dev/null

echo -e "\n=== Rimraf in root package.json ==="
cat package.json 2>/dev/null | grep -A 5 -B 5 "rimraf" || echo "Not found in root"

echo -e "\n=== Rimraf in www-legacy package.json ==="
cat apps/www-legacy/package.json 2>/dev/null | grep -A 5 -B 5 "rimraf" || echo "Not found"

echo -e "\n=== Checking lock files for rimraf ==="
if [ -f "bun.lock" ]; then
  rg -c "rimraf" bun.lock || echo "Not in bun.lock"
fi
if [ -f "pnpm-lock.yaml" ]; then
  rg -c "rimraf" pnpm-lock.yaml || echo "Not in pnpm-lock.yaml"
fi
if [ -f "yarn.lock" ]; then
  rg -c "rimraf" yarn.lock || echo "Not in yarn.lock"
fi
if [ -f "package-lock.json" ]; then
  rg -c "rimraf" package-lock.json || echo "Not in package-lock.json"
fi

echo -e "\n=== Check www-legacy package.json complete content ==="
cat apps/www-legacy/package.json

Repository: yamcodes/bedstack

Length of output: 1783


Add rimraf to www-legacy's devDependencies.

The clean script uses rimraf, but it's not declared in this package's dependencies. While rimraf is available at the root workspace level and will be hoisted, the package should explicitly declare its own dependency for clarity and maintainability. Add "rimraf": "^6.1.2" to devDependencies.

🤖 Prompt for AI Agents
In `@apps/www-legacy/package.json` around lines 6 - 10, The package.json declares
a "clean" script that calls rimraf but rimraf is not listed in this package's
devDependencies; add a devDependencies entry for "rimraf" with version "^6.1.2"
in apps/www-legacy's package.json (alongside existing devDependencies) so the
"clean" script's dependency is explicit and versioned.

},
"dependencies": {
"vitepress": "^1.6.4"
},
"devDependencies": {
"@types/node": "^25.0.9",
"typescript": "catalog:"
}
}
Binary file added apps/www-legacy/public/bun-press-kit/favicon.ico
Binary file not shown.
1 change: 1 addition & 0 deletions apps/www-legacy/public/bun-press-kit/icon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 16 additions & 0 deletions apps/www-legacy/public/bun-press-kit/logo-centered.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added apps/www-legacy/public/bun-press-kit/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading